22 #ifndef NEVERHOOD_KLAYMEN_H 23 #define NEVERHOOD_KLAYMEN_H 25 #include "neverhood/neverhood.h" 26 #include "neverhood/sprite.h" 27 #include "neverhood/graphics.h" 28 #include "neverhood/resource.h" 37 const uint32 kKlaymenSpeedUpHash = 0x004A2148;
39 #include "common/pack-start.h" 46 #include "common/pack-end.h" 55 kIdleTeleporterHands2,
65 void startIdleAnimation(uint32 fileHash, AnimationCb callback);
66 void upIdleAnimation();
70 void evIdlePickEarDone();
71 void stIdleSpinHead();
73 void evIdleArmsDone();
76 void stIdleWonderAbout();
77 void stIdleTeleporterHands();
78 void stIdleTeleporterHands2();
87 void stTryStandIdle();
92 bool stStartAction(AnimationCb callback3);
93 bool stStartActionFromIdle(AnimationCb callback);
99 void evSneakingDone();
101 void stStartWalking();
102 void stStartWalkingExt();
103 void stWalkingOpenDoor();
104 void suWalkingOpenDoor();
107 void evStartWalkingDone();
109 void stWalkingFirst();
110 void stWalkingFirstExt();
111 void stStartWalkingResume();
112 void stUpdateWalkingFirst();
114 void suWalkingFirst();
116 void stWalkToFrontNoStep();
117 void stWalkToFront();
118 void stTurnToFront();
122 void stTurnToBackToUse();
125 void stPickUpGeneric();
126 void stPickUpNeedle();
133 void stTurnToUseHalf();
134 void stTurnAwayFromUse();
135 void stReturnFromUse();
136 void stTurnToUseExt();
142 void evLargeStepDone();
150 void stPeekWallReturn();
153 void stPeekWallBlink();
154 void upPeekWallBlink();
162 void stDrinkPotion();
166 void stReleaseCord();
173 void stUseLeverRelease();
174 void stReleaseLever();
175 void stInteractLever();
178 void stLetGoOfLever();
179 void evLeverReleasedEvent();
181 void stPressButton();
182 void stPressFloorButton();
183 void stPressButtonSide();
186 void stWonderAbout();
187 void stWonderAboutHalf();
188 void stWonderAboutAfter();
190 void stStandWonderAbout();
192 void stStartClimbLadderUp();
193 void stStartClimbLadderDown();
194 uint32 hmClimbLadderUpDown(
int messageNum,
const MessageParam ¶m,
Entity *sender);
196 void stContinueClimbLadderUp();
198 void stClimbLadderHalf();
201 void stReleaseRing();
206 void stPullLeverDown();
207 void stHoldLeverDown();
212 void stMoveObjectSkipTurnFaceObject();
213 void stMoveObjectSkipTurn();
214 void stMoveObjectFaceObject();
216 void evMoveObjectTurnDone();
219 void stJumpToGrabFall();
223 void stJumpToGrabRelease();
224 uint32 hmJumpToGrabRelease(
int messageNum,
const MessageParam ¶m,
Entity *sender);
226 void stSitInTeleporter();
229 void stSitIdleTeleporter();
230 void upSitIdleTeleporter();
231 void stSitIdleTeleporterBlink();
232 void stSitIdleTeleporterBlinkSecond();
234 void stTurnToUseInTeleporter();
235 void stReturnFromUseInTeleporter();
236 void stGetUpFromTeleporter();
238 void teleporterAppear(uint32 fileHash);
239 void teleporterDisappear(uint32 fileHash);
240 uint32 hmTeleporterAppearDisappear(
int messageNum,
const MessageParam ¶m,
Entity *sender);
242 void stFallSkipJump();
243 void suFallSkipJump();
246 void stContinueMoveObject();
250 void stStandIdleSmall();
251 void stWonderAboutSmall();
252 void stWonderAboutHalfSmall();
253 void stWonderAboutAfterSmall();
255 void stWalkToFrontNoStepSmall();
256 void stWalkToFrontSmall();
257 void stWalkToFront2Small();
258 void stTurnToBackHalfSmall();
259 void stTurnToBackWalkSmall();
260 void stTurnToBackSmall();
261 uint32 hmWalkFrontBackSmall(
int messageNum,
const MessageParam ¶m,
Entity *sender);
266 void stStandIdleSpecial();
269 void stSpitOutFall0();
270 void stSpitOutFall2();
272 void upSpitOutFall();
275 void stFallTouchdown();
278 void stPeekInsideReturn();
279 void stPeekInsideBlink();
280 void upPeekInsideBlink();
287 void suUpdateDestX();
288 void suWalkingTestExit();
291 uint32 hmLowLevelAnimation(
int messageNum,
const MessageParam ¶m,
Entity *sender);
294 void setKlaymenIdleTable1();
295 void setKlaymenIdleTable2();
296 void setKlaymenIdleTable3();
298 void setSoundFlag(
bool value) { _soundFlag = value; }
300 void stRidePlatform();
301 void suRidePlatform();
303 void stLookLeverDown();
304 void stWaitLeverDown();
313 bool _isMoveObjectRequested;
315 int16 _destX, _destY;
316 int16 _idleCounter, _idleCounterMax;
317 int16 _blinkCounter, _blinkCounterMax;
318 int16 _tapesToInsert, _keysToInsert;
321 bool _isWalkingOpenDoorNotified;
323 bool _actionStatusChanged;
327 uint _idleTableCount;
328 int _idleTableTotalWeight;
334 int16 _spitOutCountdown;
336 bool _isSittingInTeleporter;
341 int16 _platformDeltaY;
345 int16 _walkResumeFrameIncr;
347 int _moveObjectCountdown;
349 virtual void xUpdate();
350 virtual uint32 xHandleMessage(
int messageNum,
const MessageParam ¶m);
352 void startWalkToX(int16 x,
bool walkExt);
353 void startWalkToXExt(int16 x);
354 void startWalkToXSmall(int16 x);
355 void startSpecialWalkLeft(int16 x);
356 void startSpecialWalkRight(int16 x);
357 void startWalkToXDistance(int16 destX, int16 distance);
358 void startWalkToAttachedSpriteXDistance(int16 distance);
360 void gotoNextStateExt();
364 void stStartWalkingSmall();
367 void enterIdleAnimation(uint idleAnimation);
368 void walkAlongPathPoints();
Definition: background.h:30
Definition: neverhood.h:60