diff options
Diffstat (limited to 'engines/hopkins/lines.h')
-rw-r--r-- | engines/hopkins/lines.h | 69 |
1 files changed, 49 insertions, 20 deletions
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h index 3806a98f41..fa4e2efe7c 100644 --- a/engines/hopkins/lines.h +++ b/engines/hopkins/lines.h @@ -50,6 +50,23 @@ struct SmoothItem { int _posY; }; +struct SegmentItem { + int field0; // Useless variable + int field2; + int field4; +}; + +struct CarreZoneItem { + int _enabledFl; + int _left; + int _right; + int _top; + int _bottom; + int _minZoneLineIdx; + int _maxZoneLineIdx; + bool _squareZoneFl; +}; + class LinesManager { private: HopkinsEngine *_vm; @@ -64,42 +81,54 @@ private: int _smoothMoveDirection; int16 super_parcours[32002]; + int CALC_PROPRE(int idx); + int checkInventoryHotspotsRow(int posX, int minZoneNum, bool lastRow); + void removeZoneLine(int idx); + void removeLine(int idx); + bool checkCollisionLine(int xp, int yp, int *foundDataIdx, int *foundLineIdx, int startLineIdx, int endLineIdx); + int CONTOURNE1(int a1, int a2, int a3, int a4, int a5, int16 *route, int a7, int a8, int a9); + int CONTOURNE(int a1, int a2, int a3, int a4, int a5, int16 *route, int a7); + bool MIRACLE(int a1, int a2, int a3, int a4, int a5); + int GENIAL(int lineIdx, int dataIdx, int a3, int a4, int a5, int a6, int a7, int16 *route, int a9); + int PARC_PERS(int fromX, int fromY, int destX, int destY, int a5, int a6, int a7); + bool checkSmoothMove(int fromX, int fromY, int destX, int destY); + bool makeSmoothMove(int fromX, int fromY, int destX, int destY); + bool PLAN_TEST(int paramX, int paramY, int a3, int a4, int a5); + int TEST_LIGNE(int paramX, int paramY, int *a3, int *foundLineIdx, int *foundDataIdx); + public: + int _lastLine; + int _linesNumb; LigneZoneItem _zoneLine[401]; LigneItem Ligne[400]; + int _maxLineIdx; + SegmentItem Segment[101]; + CarreZoneItem CarreZone[101]; + int SegmentEnCours; + +public: int16 *essai0; int16 *essai1; int16 *essai2; - int _maxLineIdx; - int _linesNumb; - int _lastLine; int16 *BufLig; + int16 *_route; LinesManager(); void setParent(HopkinsEngine *vm); - void loadLines(const Common::String &file); - void clearAllZones(); int checkInventoryHotspots(int posX, int posY); - int checkInventoryHotspotsRow(int posX, int minZoneNum, bool lastRow); - void removeZoneLine(int idx); + void loadLines(const Common::String &file); void addZoneLine(int idx, int a2, int a3, int a4, int a5, int bobZoneIdx); + int16 *PARCOURS2(int fromX, int fromY, int destX, int destY); + void PACOURS_PROPRE(int16 *route); + int16 *cityMapCarRoute(int x1, int y1, int x2, int y2); + void clearAllZones(); void resetLines(); - void removeLine(int idx); void addLine(int idx, int a2, int a3, int a4, int a5, int a6, int a7); - bool checkCollisionLine(int xp, int yp, int *foundDataIdx, int *foundLineIdx, int startLineIdx, int endLineIdx); void initRoute(); - int CONTOURNE1(int a1, int a2, int a3, int a4, int a5, int16 *route, int a7, int a8, int a9); - int CONTOURNE(int a1, int a2, int a3, int a4, int a5, int16 *route, int a7); - bool MIRACLE(int a1, int a2, int a3, int a4, int a5); - int GENIAL(int lineIdx, int dataIdx, int a3, int a4, int a5, int a6, int a7, int16 *route, int a9); - int16 *PARCOURS2(int fromX, int fromY, int destX, int destY); - int PARC_PERS(int fromX, int fromY, int destX, int destY, int a5, int a6, int a7); - int16 *cityMapCarRoute(int x1, int y1, int x2, int y2); - bool checkSmoothMove(int fromX, int fromY, int destX, int destY); - bool makeSmoothMove(int fromX, int fromY, int destX, int destY); - bool PLAN_TEST(int paramX, int paramY, int a3, int a4, int a5); - int TEST_LIGNE(int paramX, int paramY, int *a3, int *foundLineIdx, int *foundDataIdx); + int colision(int xp, int yp); + int MZONE(); + void CARRE_ZONE(); }; } // End of namespace Hopkins |