23 #ifndef TINSEL_POLYGONS_H // prevent multiple includes 24 #define TINSEL_POLYGONS_H 26 #include "tinsel/dw.h" 27 #include "tinsel/scene.h" 36 BLOCK, EFFECT, PATH, REFER, TAG,
37 EX_BLOCK, EX_EFFECT, EX_PATH, EX_REFER, EX_TAG,
41 SCALE, EX_SCALE, SHAPE
64 PS_NO_POINT, PS_NOT_POINTING, PS_POINTING
79 bool IsInPolygon(
int xt,
int yt,
HPOLYGON p);
80 HPOLYGON InPolygon(
int xt,
int yt, PTYPE type);
81 void BlockingCorner(
HPOLYGON poly,
int *x,
int *y,
int tarx,
int tary);
82 void FindBestPoint(
HPOLYGON path,
int *x,
int *y,
int *line);
85 int NearestEndNode(
HPOLYGON path,
int x,
int y);
87 int NearestNodeWithin(
HPOLYGON npath,
int x,
int y);
89 bool IsPolyCorner(
HPOLYGON hPath,
int x,
int y);
91 int GetBrightness(
HPOLYGON hPath,
int y);
92 void getNpathNode(
HPOLYGON npath,
int node,
int *px,
int *py);
94 void GetPolyNode(
HPOLYGON hp,
int *pNodeX,
int *pNodeY);
99 void RebootDeadTags();
100 void DisableBlock(
int block);
101 void EnableBlock(
int block);
102 void DisableEffect(
int effect);
103 void EnableEffect(
int effect);
104 void DisablePath(
int path);
105 void EnablePath(
int path);
106 void DisableRefer(
int refer);
107 void EnableRefer(
int refer);
111 void DisableExit(
int exitno);
112 void EnableExit(
int exitno);
115 void InitPolygons(
SCNHANDLE ph,
int numPoly,
bool bRestart);
119 void SaveDeadPolys(
bool *sdp);
120 void RestoreDeadPolys(
bool *sdp);
130 int PolyCornerX(
HPOLYGON hp,
int n);
131 int PolyCornerY(
HPOLYGON hp,
int n);
135 void SetPolyPointState(
HPOLYGON hp, PSTATE ps);
136 void SetPolyTagState(
HPOLYGON hp, TSTATE ts);
139 void MaxPolygons(
int maxPolys);
143 void SetPolyPointedTo(
HPOLYGON hp,
bool bPointedTo);
145 void SetPolyTagWanted(
HPOLYGON hp,
bool bTagWanted,
bool bCursor,
SCNHANDLE hOverrideTag);
147 bool PolyTagFollowsCursor(
HPOLYGON hp);
149 bool IsTagPolygon(
int tagno);
150 void GetPolyMidBottom(
HPOLYGON hp,
int *pX,
int *pY);
152 void MovePolygon(PTYPE ptype,
int id,
int x,
int y);
153 void MovePolygonTo(PTYPE ptype,
int id,
int x,
int y);
161 void UpdateGroundPlane();
163 enum class NoteBookPoly {
184 virtual NoteBookPoly mostSpecificHit(
const Common::Point &point)
const = 0;
186 virtual bool isInsideNotebook(
const Common::Point &point)
const = 0;
REEL
Definition: scene.h:70
uint32 SCNHANDLE
Definition: dw.h:31
#define CORO_PARAM
Definition: coroutines.h:107
Definition: polygons.h:178
SCALE
Definition: scene.h:62
Definition: polygons.h:72
int HPOLYGON
Definition: dw.h:34