forked from Ares-Developers/YRpp
-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathAStarClass.h
More file actions
67 lines (60 loc) · 1.6 KB
/
AStarClass.h
File metadata and controls
67 lines (60 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#pragma once
#include <ArrayClasses.h>
#include <GeneralStructures.h>
class TechnoClass;
struct AStarClass_PathNodeBuffer;
struct AStarClass_PathQueueBuffer;
struct AStarClass_HierarchicalBuffer;
struct PriorityQueueClass_PathQueueNode;
struct PriorityQueueClass_HierarchicalNode;
struct AStarClass_PassabilityData
{
unsigned short Indices[500];
};
static_assert(sizeof(AStarClass_PassabilityData) == 0x3E8);
class AStarClass
{
public:
//Static
DEFINE_REFERENCE(AStarClass, Instance, 0x87E8B8u)
int AttemptPath(
CellStruct* pFromMapCrd,
CellStruct* pToMapCrd,
TechnoClass* pTechno,
bool bFromAlt,
bool bToAlt,
MovementZone nMovementZone = MovementZone::None)
{ JMP_THIS(0x42D170); }
char unknown_byte_0;
bool FindBridgeDir;
char unknown_byte_2;
bool CanFindPath;
float PathCostFactor;
bool IsAlt;
PROTECTED_PROPERTY(BYTE, padding_9_B[3]);
AStarClass_PathNodeBuffer* PathNodeBuffer;
AStarClass_PathQueueBuffer* PathQueueBuffer;
PriorityQueueClass_PathQueueNode* PathQueue;
int* VisitCounts;
int* AltVisitCounts;
float* AltDistances;
float* Distances;
int SearchID;
SpeedType FinderSpeedType;
int StartLevel;
int EndLevel;
bool IsSearching;
PROTECTED_PROPERTY(BYTE, padding_39_3B[3]);
int FindMode;
int* LevelVisitedMarkers[3];
int* OpenSetMarkers[3];
float* GCostArray[3];
AStarClass_HierarchicalBuffer* HierarchyBuffer;
PriorityQueueClass_HierarchicalNode* HierarchyQueue;
int PathLength;
CellStruct CellStructBuffer;
DynamicVectorClass<unsigned int> ZoneIndices[3];
AStarClass_PassabilityData PassabilityData[3];
int PassabilityCounts[3];
};
static_assert(sizeof(AStarClass) == 0xC80);