22 #ifndef ACCESS_MARTIAN_MARTIAN_DUCT_H 23 #define ACCESS_MARTIAN_MARTIAN_DUCT_H 25 #include "common/scummsys.h" 26 #include "common/array.h" 27 #include "common/rect.h" 28 #include "common/events.h" 30 #include "access/martian/martian_resources.h" 48 kMoveAngleEast = 0x40,
49 kMoveAngleSouth = 0x80,
50 kMoveAngleWest = 0xC0,
51 kMoveAngleInvalid = 0xffff,
56 kDuctFlagZLessThanX = 1,
57 kDuctFlagXLessThanNegZ = 2,
58 kDuctFlagYLessThanNegZ = 4,
59 kDuctFlagZLessThanY = 8,
60 kDuctFlagZLessThan2 = 16,
80 void drawArrowSprites();
81 void drawArrowSprites2();
82 void clearWorkScreenArea();
83 void copyBufBlockToScreen();
84 void waitForMoveUpdate();
85 void storeLastValsToPrimArray(
const Point3 &pt1,
const Point3 &pt2);
86 void updatePlayerPos();
88 void applyMatrixToMapData();
89 void updatePrimsAndDraw();
90 bool updateMapLocation();
92 void doMatrixMulAndAddPoint(int16 x, int16 y, int16 z);
93 bool doPrimArrayUpdates(
int &tempIdx);
94 void doDraw(
int counter);
96 void getPointValuesFromArray(
int offset,
Point3 &pt1,
Point3 &pt2)
const;
99 bool checkAndUpdatePrimArray1(
int &offset);
100 bool checkAndUpdatePrimArray2(
int &offset);
101 bool checkAndUpdatePrimArray3(
int &offset);
102 bool checkAndUpdatePrimArray4(
int &offset);
103 bool checkAndUpdatePrimArray5(
int &offset);
104 bool checkAndUpdatePrimArrayForFlag(
int &offset, DuctFlags flag,
int divmulNum);
125 bool checkMove13_14();
127 void getXYandRBFlags(DuctFlags &xyflags, DuctFlags &rbflags,
const Point3 &pt1,
const Point3 &pt2);
128 int addPointsToMainPrimArray(
int tempCount);
129 static DuctFlags getComparisonFlags(int16 x, int16 y, int16 z);
143 MoveAngle _moveAngle;
149 MoveIntent _moveIntent;
172 #endif // ACCESS_MARTIAN_MARTIAN_DUCT_H Definition: martian_resources.h:66
Definition: martian_game.h:31
Definition: martian_duct.h:70
Definition: martian_duct.h:63