23#ifndef TINSEL_MOVERS_H
24#define TINSEL_MOVERS_H
26#include "tinsel/anim.h"
27#include "tinsel/scene.h"
28#include "tinsel/tinsel.h"
34enum NPS {NOT_IN, GOING_UP, GOING_DOWN, LEAVING, ENTERING};
36enum IND {NO_PROB, TRY_CENTER, TRY_CORNER, TRY_NEXTCORNER};
38enum DIRECTION { LEFTREEL, RIGHTREEL, FORWARD, AWAY };
40#define NUM_MAINSCALES ((TinselVersion >= 2) ? 10 : 5)
41#define NUM_AUXSCALES 5
42#define TOTAL_SCALES (NUM_MAINSCALES + NUM_AUXSCALES)
43#define REQ_MAIN_SCALES 10
44#define REQ_TOTAL_SCALES 15
46#define BOGUS_BRIGHTNESS -1
48enum MOVER_TYPE { MOVER_2D, MOVER_3D };
54 int ItargetX, ItargetY;
55 int UtargetX, UtargetY;
82 int walkedFromX, walkedFromY;
100 SCNHANDLE standReels[REQ_TOTAL_SCALES][4];
101 SCNHANDLE talkReels[REQ_TOTAL_SCALES][4];
127 int posX, posY, posZ;
141void MoverProcessCreate(
int X,
int Y,
int id,
MOVER *pMover);
144enum AR_FUNCTION { AR_NORMAL, AR_PUSHREEL, AR_POPREEL, AR_WALKREEL };
146void StoreMoverPalette(MOVER *pMover,
int startColor,
int length);
148void MoverBrightness(MOVER *pMover,
int brightness);
150MOVER *GetMover(
int ano);
151MOVER *RegisterMover(
int ano);
152void KillMover(MOVER *pMover);
153MOVER *GetLiveMover(
int index);
155bool getMActorState(MOVER *psActor);
156int GetMoverId(MOVER *pMover);
157void SetMoverZ(MOVER *pMover,
int y, uint32 zFactor);
158void SetMoverZoverride(MOVER *pMover, uint32 zFactor);
160void HideMover(MOVER *pMover,
int sf = 0);
161bool MoverHidden(MOVER *pMover);
162bool MoverIs(MOVER *pMover);
163bool MoverIsSWalking(MOVER *pMover);
164bool MoverMoving(MOVER *pMover);
165int GetWalkNumber(MOVER *pMover);
166void UnHideMover(MOVER *pMover);
168void PositionMover(MOVER *pMover,
int x,
int y);
170void GetMoverPosition(MOVER *pMover,
int *aniX,
int *aniY);
171void GetMoverMidTop(MOVER *pMover,
int *aniX,
int *aniY);
172int GetMoverLeft(MOVER *pMover);
173int GetMoverRight(MOVER *pMover);
174int GetMoverTop(MOVER *pMover);
175int GetMoverBottom(MOVER *pMover);
177bool MoverIsInPolygon(MOVER *pMover,
HPOLYGON hPoly);
178void AlterMover(MOVER *pMover,
SCNHANDLE film, AR_FUNCTION fn);
179DIRECTION GetMoverDirection(MOVER *pMover);
180int GetMoverScale(MOVER *pMover);
181void SetMoverDirection(MOVER *pMover, DIRECTION dirn);
182void SetMoverStanding(MOVER *pMover);
183void SetMoverWalkReel(MOVER *pMover, DIRECTION reel,
int scale,
bool force);
185MOVER *InMoverBlock(MOVER *pMover,
int x,
int y);
189bool IsMAinEffectPoly(
int index);
190void SetMoverInEffect(
int index,
bool tf);
192void StopMover(MOVER *pMover);
203 SCNHANDLE walkReels[REQ_TOTAL_SCALES][4];
204 SCNHANDLE standReels[REQ_TOTAL_SCALES][4];
205 SCNHANDLE talkReels[REQ_TOTAL_SCALES][4];
uint32 SCNHANDLE
Definition: dw.h:31
int HPOLYGON
Definition: dw.h:34
Definition: coroutines.h:300