You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All action codes are defined in include/def.h.
They control the sprite frame sequence played by Action() in action.cpp.
A character's current animation is stored in Blupi.action.
The current direction is Blupi.aDirect (a DIRECT_* value).
Blupi (perso=0) Actions
Constant
Code
Description
ACTION_STOP
0
Standing still
ACTION_STOPf
1
Standing still (tired variant)
ACTION_MARCHE
2
Walking
ACTION_MARCHEf
3
Walking (tired variant)
ACTION_BUILD
4
Building / constructing
ACTION_PIOCHE
5
Mining / digging (pickaxe)
ACTION_ENERGY
6
Collecting energy (eating/drinking)
ACTION_TAKE
8
Picking up object and putting it on head
ACTION_DEPOSE
9
Putting down the carried object
ACTION_SCIE
10
Sawing wood
ACTION_BRULE
11
On fire (burning to death)
ACTION_TCHAO
12
Vanishing / dying (disappear animation)
ACTION_MANGE
13
Eating
ACTION_NAISSANCE
14
Being born (hatching from egg)
ACTION_SAUTE2
15
Jumping over obstacle (phase 2 of 4)
ACTION_SAUTE3
16
Jumping over obstacle (phase 3)
ACTION_SAUTE4
17
Jumping over obstacle (phase 4)
ACTION_SAUTE5
18
Jumping over obstacle (phase 5)
ACTION_PONT
19
Pushing a bridge segment
ACTION_MISC1
20
Idle animation: shrugging
ACTION_MISC2
21
Idle animation: scratching
ACTION_MISC3
22
Idle animation: yo-yo
ACTION_MISC1f
23
Idle (tired): bof-bof
ACTION_GLISSE
24
Sliding on ice
ACTION_BOIT
25
Drinking a potion
ACTION_LABO
26
Working in the laboratory
ACTION_DYNAMITE
27
Setting off dynamite
ACTION_DELAY
28
Waiting one frame
ACTION_CUEILLE1
29
Picking flowers (phase 1)
ACTION_CUEILLE2
30
Picking flowers (phase 2)
ACTION_MECHE
31
Covering ears (waiting for explosion)
ACTION_STOPb
32
Standing still in a boat
ACTION_MARCHEb
33
Moving in a boat
ACTION_STOPj
34
Standing still in a jeep
ACTION_MARCHEj
35
Moving in a jeep
ACTION_ELECTRO
36
Being electrocuted
ACTION_GRILLE1
37
Being electro-grilled (phase 1)
ACTION_GRILLE2
38
Being electro-grilled (phase 2)
ACTION_GRILLE3
39
Being electro-grilled (phase 3)
ACTION_MISC4
40
Idle: closing eyes
ACTION_CONTENT
41
Happy dance (mission success)
ACTION_ARROSE
42
Watering plants
ACTION_BECHE
43
Digging with a spade
ACTION_CUEILLE3
44
Picking flowers (phase 3)
ACTION_BUILDBREF
45
Building (brief variant)
ACTION_BUILDSEC
46
Building (dry/stone variant)
ACTION_BUILDSOURD
47
Building (muffled variant)
ACTION_BUILDPIERRE
48
Building (rock variant)
ACTION_PIOCHEPIERRE
49
Mining (stone/rock variant)
ACTION_PIOCHESOURD
50
Mining (muffled variant)
ACTION_MISC5
51
Idle: waving / calling
ACTION_TELEPORTE1
52
Teleporter animation (phase 1)
ACTION_TELEPORTE2
53
Teleporter animation (phase 2)
ACTION_TELEPORTE3
54
Teleporter animation (phase 3)
ACTION_STOPa
55
Standing still in armour
ACTION_MARCHEa
56
Walking in armour
ACTION_ARMUREOPEN
57
Armour opening (entering)
ACTION_ARMURECLOSE
58
Armour closing (exiting)
ACTION_SAUTE1
59
Jumping into a jeep (phase 1)
ACTION_MISC6
60
Idle: diabolo trick
Spider (perso=1) Actions — ACTION_A_*
Constant
Code
Description
ACTION_A_STOP
100
Standing still
ACTION_A_MARCHE
101
Walking
ACTION_A_SAUT
102
Jumping over an obstacle
ACTION_A_GRILLE
103
Being hit by an electro ray
ACTION_A_POISON
105
Being poisoned (hit by dynamite)
ACTION_A_MORT1
106
Death animation (phase 1)
ACTION_A_MORT2
107
Death animation (phase 2)
ACTION_A_MORT3
108
Death animation (phase 3)
Virus (perso=2) Actions — ACTION_V_*
Constant
Code
Description
ACTION_V_STOP
200
Standing still
ACTION_V_MARCHE
201
Walking / spreading
ACTION_V_GRILLE
202
Being hit by an electro ray
Tracks / Tank (perso=3) Actions — ACTION_T_*
Constant
Code
Description
ACTION_T_STOP
300
Standing still
ACTION_T_MARCHE
301
Moving (tracks rolling)
ACTION_T_ECRASE
302
Crushing an object
Robot (perso=4) Actions — ACTION_R_*
Constant
Code
Description
ACTION_R_STOP
400
Standing still
ACTION_R_MARCHE
401
Walking
ACTION_R_APLAT
402
Flattening / squashing
ACTION_R_BUILD
403
Building / working
ACTION_R_DELAY
404
Waiting (build delay)
ACTION_R_CHARGE
405
Recharging
ACTION_R_ECRASE
406
Crushing an object
Bomb (perso=5) Actions — ACTION_B_*
Constant
Code
Description
ACTION_B_STOP
500
Standing still
ACTION_B_MARCHE
501
Hopping / bouncing
Mine Detonator (perso=6) Actions — ACTION_D_DELAY
Constant
Code
Description
ACTION_D_DELAY
600
Waiting (invisible, passive)
Electro Tower (perso=7) Actions — ACTION_E_*
Constant
Code
Description
ACTION_E_STOP
700
Idle (not firing)
ACTION_E_MARCHE
701
Rotating / tracking target
ACTION_E_DEBUT
702
Starting up / powering on
ACTION_E_RAYON
703
Firing electric ray
Disciple / Robot2 (perso=8) Actions — ACTION_D_*
Constant
Code
Description
ACTION_D_STOP
800
Standing still
ACTION_D_MARCHE
801
Walking
ACTION_D_BUILD
802
Building / constructing
ACTION_D_PIOCHE
803
Mining
ACTION_D_SCIE
804
Sawing wood
ACTION_D_TCHAO
805
Disappearing / dying
ACTION_D_CUEILLE1
806
Picking flowers (phase 1)
ACTION_D_CUEILLE2
807
Picking flowers (phase 2)
ACTION_D_MECHE
808
Covering ears (dynamite)
ACTION_D_ARROSE
809
Watering plants
ACTION_D_BECHE
810
Digging with spade
How Action() Works (action.cpp)
CDecor::Action() is called each tick for each character.
For each action + aDirect combination, it looks up:
A table of sprite icons (from CHBLUPI channel) for each animation frame
The animation phase duration (how many ticks per frame)
Which sounds to play and when
It advances Blupi.phase and updates Blupi.icon to the next frame.
When the animation completes, BlupiNextAction() is called to transition
to the next state (typically idle ACTION_STOP or next GOAL step).