37
37
// #include "GameLogic/Locomotor.h" // no, do not include this, unless you like long recompiles
38
38
#include " GameLogic/LocomotorSet.h"
39
39
#include " GameLogic/GameLogic.h"
40
+ #include " Common/GameDefines.h"
40
41
41
42
class Bridge ;
42
43
class Object ;
@@ -50,6 +51,10 @@ class PathfindZoneManager;
50
51
51
52
#define INFANTRY_MOVES_THROUGH_INFANTRY
52
53
54
+ // TheSuperHackers @info This is here to easily toggle the retail compatible hacks for the pathfinding
55
+ #if RETAIL_COMPATIBLE_CRC
56
+ #define RETAIL_COMPATIBLE_PATHFINDING (1 )
57
+ #endif
53
58
54
59
typedef UnsignedShort zoneStorageType;
55
60
@@ -208,6 +213,9 @@ class PathfindCellInfo
208
213
{
209
214
friend class PathfindCell ;
210
215
public:
216
+ #if RETAIL_COMPATIBLE_PATHFINDING
217
+ static void forceCleanPathFindInfoCells (void );
218
+ #endif
211
219
static void allocateCellInfos (void );
212
220
static void releaseCellInfos (void );
213
221
@@ -699,6 +707,9 @@ class Pathfinder : PathfindServicesInterface, public Snapshot
699
707
Path *getDebugPath ( void );
700
708
void setDebugPath ( Path *debugpath );
701
709
710
+ #if RETAIL_COMPATIBLE_PATHFINDING
711
+ void forceCleanCells (void );
712
+ #endif
702
713
void cleanOpenAndClosedLists (void );
703
714
704
715
// Adjusts the destination to a spot near dest that is not occupied by other units.
0 commit comments