22 #ifndef TWINE_SCENE_EXTRA_H 23 #define TWINE_SCENE_EXTRA_H 25 #include "common/scummsys.h" 26 #include "common/rect.h" 27 #include "twine/scene/actor.h" 31 #define EXTRA_MAX_ENTRIES 50 33 #define EXTRA_SPECIAL_MASK 0x8000 55 MAGIC_BALL_KEY = 1 << 9,
59 WAIT_NO_COL = 1 << 13,
60 WAIT_SOME_TIME = 1 << 14,
61 COMPUTE_TRAJ = 1 << 15
81 int16 strengthOfHit = 0;
91 void initFly(
ExtraListStruct *extra, int32 xAngle, int32 yAngle, int32 x, int32 extraAngle);
93 int32 searchBonusKey()
const;
94 int32 extraSearchKey(int32 actorIdx, int32 x, int32 y, int32 z, int32 spriteIdx, int32 extraIdx);
95 void aff2DShape(
const ExtraShape &shapeTable, int32 x, int32 y, int32 color, int32 angle, int32 zoom,
Common::Rect &renderRect);
101 int32 extraSearch(int32 actorIdx, int32 x, int32 y, int32 z, int32 spriteIdx, int32 targetActor, int32 maxSpeed, int32 strengthOfHit);
109 int32 addExtraExplode(int32 x, int32 y, int32 z);
111 inline int32 extraExplo(
const IVec3 &pos) {
112 return addExtraExplode(pos.x, pos.y, pos.z);
118 int32 initSpecial(int32 x, int32 y, int32 z, ExtraSpecialType type);
119 int32 addExtraBonus(int32 x, int32 y, int32 z, int32 xAngle, int32 yAngle, int32 type, int32 bonusAmount);
121 inline int32 addExtraBonus(
const IVec3 &pos, int32 xAngle, int32 yAngle, int32 type, int32 bonusAmount) {
122 return addExtraBonus(pos.x, pos.y, pos.z, xAngle, yAngle, type, bonusAmount);
125 int32 throwExtra(int32 actorIdx, int32 x, int32 y, int32 z, int32 spriteIdx, int32 xAngle, int32 yAngle, int32 xRotPoint, int32 extraAngle, int32 strengthOfHit);
126 int32 addExtraAiming(int32 actorIdx, int32 x, int32 y, int32 z, int32 spriteIdx, int32 targetActorIdx, int32 finalAngle, int32 strengthOfHit);
127 void addExtraThrowMagicball(int32 x, int32 y, int32 z, int32 xAngle, int32 yAngle, int32 xRotPoint, int32 extraAngle);
129 void affSpecial(int32 extraIdx, int32 x, int32 y,
Common::Rect &renderRect);
Definition: achievements_tables.h:27