Windows Messages (WM_*)

All custom Windows messages are defined as WM_USER+N offsets in include/def.h.


WM_UPDATE

Constant Value Description
WM_UPDATE WM_USER+1 Force redraw of the game window

WM_DECOR* — Decoration Messages

Constant Value Description
WM_DECOR1 WM_USER+20 Decoration event 1
WM_DECOR2 WM_USER+21 Decoration event 2
WM_DECOR3 WM_USER+22 Decoration event 3
WM_DECOR4 WM_USER+23 Decoration event 4
WM_DECOR5 WM_USER+24 Decoration event 5

WM_ACTION_* — Character Action Messages

These are sent by CEvent to CDecor to trigger specific goal sequences. Each maps to a named table in decgoal.cpp via GetTableGoal().

Constant Value Description
WM_ACTION_GO WM_USER+30 Move to target cell
WM_ACTION_ABAT1ABAT6 +31–+36 Chop tree (6 variants)
WM_ACTION_BUILD1BUILD6 +37–+42 Build construction types 1–6
WM_ACTION_STOP +43 Stop character
WM_ACTION_CARRY +44 Pick up object
WM_ACTION_DEPOSE +45 Put down object
WM_ACTION_ROC1ROC7 +46–+52 Mine rock (7 variants)
WM_ACTION_MUR +53 Build wall
WM_ACTION_CULTIVE +54 Cultivate
WM_ACTION_CULTIVE2 +55 Cultivate variant 2
WM_ACTION_MANGE +56 Eat food
WM_ACTION_MAKE +57 Generic make
WM_ACTION_BUILD +58 Generic build
WM_ACTION_PALIS +59 Build palisade
WM_ACTION_NEWBLUPI +60 Hatch new Blupi
WM_ACTION_PONTE +61 Build bridge (east)
WM_ACTION_PONTS +62 Build bridge (south)
WM_ACTION_PONTO +63 Build bridge (west)
WM_ACTION_PONTN +64 Build bridge (north)
WM_ACTION_PONTEL +65 Build bridge (east, long)
WM_ACTION_PONTSL +66 Build bridge (south, long)
WM_ACTION_PONTOL +67 Build bridge (west, long)
WM_ACTION_PONTNL +68 Build bridge (north, long)
WM_ACTION_TOUR +69 Build watchtower
WM_ACTION_CARRY2 +70 Pick up object (variant 2)
WM_ACTION_DEPOSE2 +71 Put down object (variant 2)
WM_ACTION_MANGE2 +72 Eat (variant 2)
WM_ACTION_BOIT +73 Drink potion
WM_ACTION_BOIT2 +74 Drink (variant 2)
WM_ACTION_LABO +75 Use laboratory
WM_ACTION_FLEUR1 +76 Pick flowers (1)
WM_ACTION_FLEUR2 +77 Pick flowers (2)
WM_ACTION_DYNAMITE +78 Place / detonate dynamite
WM_ACTION_DYNAMITE2 +79 Dynamite (variant 2)
WM_ACTION_T_DYNAMITE +80 Tracks dynamite
WM_ACTION_FLEUR3 +81 Pick flowers (3)
WM_ACTION_R_BUILD1R_BUILD6 +82,+84,+86,+88,+90,+114 Robot build 1–6
WM_ACTION_R_MAKE1R_MAKE6 +83,+85,+87,+89,+91,+115 Robot make 1–6
WM_ACTION_BATEAUE +92 Boat move east
WM_ACTION_BATEAUS +93 Boat move south
WM_ACTION_BATEAUO +94 Boat move west
WM_ACTION_BATEAUN +95 Boat move north
WM_ACTION_BATEAUDE +96 Boat disembark east
WM_ACTION_BATEAUDS +97 Boat disembark south
WM_ACTION_BATEAUDO +98 Boat disembark west
WM_ACTION_BATEAUDN +99 Boat disembark north
WM_ACTION_BATEAUAE +100 Boat embark east
WM_ACTION_BATEAUAS +101 Boat embark south
WM_ACTION_BATEAUAO +102 Boat embark west
WM_ACTION_BATEAUAN +103 Boat embark north
WM_ACTION_MJEEP +104 Board jeep
WM_ACTION_DJEEP +105 Disembark jeep
WM_ACTION_DRAPEAU +106 Place flag (1)
WM_ACTION_DRAPEAU2 +107 Place flag (2)
WM_ACTION_DRAPEAU3 +108 Place flag (3)
WM_ACTION_EXTRAIT +109 Extract iron ore
WM_ACTION_FABJEEP +110 Manufacture jeep
WM_ACTION_FABMINE +111 Manufacture mine
WM_ACTION_MINE +112 Trigger mine
WM_ACTION_MINE2 +113 Mine variant 2
WM_ACTION_E_RAYON +116 Electro tower fire ray
WM_ACTION_ELECTRO +117 Blupi electrocuted
WM_ACTION_ELECTROm +118 Electro mine
WM_ACTION_GRILLE +119 Electro grill effect
WM_ACTION_MAISON +120 Go home
WM_ACTION_FABDISC +121 Create disciple
WM_ACTION_A_MORT +122 Spider death
WM_ACTION_REPEAT +123 Repeat last action
WM_ACTION_TELEPORTE00 +124 Teleport (variant 00)
WM_ACTION_TELEPORTE10 +125 Teleport (variant 10)
WM_ACTION_TELEPORTE01 +126 Teleport (variant 01)
WM_ACTION_TELEPORTE11 +127 Teleport (variant 11)
WM_ACTION_FABARMURE +128 Manufacture armour
WM_ACTION_MARMURE +129 Enter armour
WM_ACTION_DARMURE +130 Exit armour

WM_BUTTON* — Toolbar Button Messages

Range Values Description
WM_BUTTON0WM_BUTTON39 WM_USER+200 – WM_USER+239 Toolbar button 0–39 clicked

WM_READ / WM_WRITE — Save/Load Slot Messages

Range Values Description
WM_READ0WM_READ9 WM_USER+300 – WM_USER+309 Load game slot 0–9
WM_WRITE0WM_WRITE9 WM_USER+310 – WM_USER+319 Save game slot 0–9

WM_PHASE_* — Phase Transition Messages

See Game Phases for the complete list. Range: WM_USER+500 through WM_USER+537.


WM_PREV / WM_NEXT / WM_MOVIE

Constant Value Description
WM_PREV WM_USER+600 Navigate previous
WM_NEXT WM_USER+601 Navigate next
WM_MOVIE WM_USER+602 Start movie