22 #ifndef LASTEXPRESS_ACTION_H 23 #define LASTEXPRESS_ACTION_H 25 #include "lastexpress/shared.h" 27 #include "common/array.h" 28 #include "common/func.h" 29 #include "common/system.h" 33 #define DECLARE_ACTION(name) \ 34 SceneIndex action_##name(const SceneHotspot &hotspot) const 36 #define ADD_ACTION(name) \ 37 _actions.push_back(new Functor1MemConst<const SceneHotspot &, SceneIndex, Action>(this, &Action::action_##name)); 39 #define IMPLEMENT_ACTION(name) \ 40 SceneIndex Action::action_##name(const SceneHotspot &hotspot) const { \ 41 debugC(6, kLastExpressDebugLogic, "Hotspot action: " #name "%s", hotspot.toString().c_str()); 43 class LastExpressEngine;
55 CursorStyle getCursor(
const SceneHotspot &hotspot)
const;
58 void playAnimation(EventIndex index,
bool debugMode =
false)
const;
61 bool handleOtherCompartment(ObjectIndex
object,
bool doPlaySound,
bool doLoadScene)
const;
75 DECLARE_ACTION(inventory);
76 DECLARE_ACTION(savePoint);
77 DECLARE_ACTION(playSound);
78 DECLARE_ACTION(playMusic);
79 DECLARE_ACTION(knock);
80 DECLARE_ACTION(compartment);
81 DECLARE_ACTION(playSounds);
82 DECLARE_ACTION(playAnimation);
83 DECLARE_ACTION(openCloseObject);
84 DECLARE_ACTION(setModel);
85 DECLARE_ACTION(setItem);
86 DECLARE_ACTION(knockInside);
87 DECLARE_ACTION(pickItem);
88 DECLARE_ACTION(dropItem);
89 DECLARE_ACTION(enterCompartment);
90 DECLARE_ACTION(leanOutWindow);
91 DECLARE_ACTION(almostFall);
92 DECLARE_ACTION(climbInWindow);
93 DECLARE_ACTION(climbLadder);
94 DECLARE_ACTION(climbDownTrain);
95 DECLARE_ACTION(kronosSanctum);
96 DECLARE_ACTION(escapeBaggage);
97 DECLARE_ACTION(enterBaggage);
98 DECLARE_ACTION(bombPuzzle);
100 DECLARE_ACTION(kronosConcert);
102 DECLARE_ACTION(catchBeetle);
103 DECLARE_ACTION(exitCompartment);
104 DECLARE_ACTION(outsideTrain);
105 DECLARE_ACTION(firebirdPuzzle);
106 DECLARE_ACTION(openMatchBox);
107 DECLARE_ACTION(openBed);
108 DECLARE_ACTION(dialog);
109 DECLARE_ACTION(eggBox);
112 DECLARE_ACTION(playMusicChapter);
113 DECLARE_ACTION(playMusicChapterSetupTrain);
114 DECLARE_ACTION(switchChapter);
118 DECLARE_ACTION(dummy);
121 void pickGreenJacket(
bool process)
const;
122 void pickScarf(
bool process)
const;
123 void pickCorpse(ObjectLocation bedPosition,
bool process)
const;
124 void dropCorpse(
bool process)
const;
126 void playCompartmentSoundEvents(ObjectIndex
object)
const;
131 #endif // LASTEXPRESS_ACTION_H Definition: lastexpress.h:69
Definition: animation.h:45