aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/lines.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins/lines.h')
-rw-r--r--engines/hopkins/lines.h69
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