Spellforce-Spell-framework
Toggle main menu visibility
Loading...
Searching...
No Matches
sf_building_structures.h
Go to the documentation of this file.
1
#pragma once
2
#include <stdint.h>
3
#include <stdbool.h>
4
#include "
../sf_general_structures.h
"
5
6
/* |-============= Buildings Structures ==========- |*/
7
8
typedef
struct
BuildingAuxEntry
BuildingAuxEntry
;
9
10
struct
__attribute__((packed))
BuildingAuxEntry
11
{
12
BuildingAuxEntry
*
first
;
13
BuildingAuxEntry
*
data
;
14
BuildingAuxEntry
*
postlast
;
15
uint8_t
unknown
[2];
16
uint8_t
id
;
17
uint32_t
centerX
;
18
uint32_t
centerY
;
19
uint8_t
shadows
[5];
20
uint_list_node
collisions
[5];
21
uint8_t
poly_count
;
22
uint8_t
resource_req_type
[5];
23
uint16_t
resource_req_amount
[5];
24
uint8_t
resource_req_num
;
25
uint8_t
padding
[3];
26
};
27
28
typedef
struct
__attribute__((packed))
29
{
30
BuildingAuxEntry
*
data
;
31
uint8_t
flag
;
32
33
}
BuildingAuxEntry_related
;
34
35
typedef
struct
__attribute__((packed))
36
{
37
SF_Coord
position
;
38
uint16_t
owner
;
39
uint8_t
type
;
40
uint8_t
race
;
41
uint8_t
flags
;
42
uint16_t
build_up
;
43
uint16_t
build_max
;
44
uint16_t
health_current
;
45
uint16_t
life_current_max
;
46
uint16_t
health_max
;
47
uint16_t
DLLNode
;
48
uint16_t
xdata_key
;
49
uint16_t
angle
;
50
uint32_t
unknown
[5];
51
uint8_t
worker_count
;
52
uint8_t
worker_count_max
;
53
uint8_t
level
;
54
SF_Coord
entry_point
;
55
}
GdBuilding
;
56
57
struct
__attribute__((packed))
SF_CGdBuilding
58
{
59
AutoClass14
*
autoClass14
;
60
GdBuilding
buildings
[1000];
61
uint16_t
max_used
;
62
void
*
astruct_31
;
63
uint32_t
unknown1
;
64
void
*
astruct_39
;
65
uint32_t
unknown2
;
66
};
67
68
typedef
struct
astruct32
astruct32
;
69
typedef
struct
BuildingResource
BuildingResource
;
70
struct
__attribute__((packed))
BuildingResource
71
{
72
uint16_t
id
;
73
uint8_t
race
;
74
uint8_t
can_enter
;
75
uint8_t
slot_count
;
76
uint16_t
health
;
77
uint16_t
name_id
;
78
uint16_t
worker_cycle
;
79
uint16_t
building_required
;
80
uint16_t
initial_angle
;
81
uint16_t
ext_description_id
;
82
uint8_t
flags
;
83
};
84
85
struct
__attribute__((packed))
astruct32
86
{
87
astruct32
*
ref1
;
88
astruct32
*
ref2
;
89
astruct32
*
ref3
;
90
uint16_t
padding_1
;
91
uint8_t
id
;
92
BuildingResource
building
;
93
uint8_t
padding_2
[3];
94
};
95
96
struct
__attribute__((packed))
SF_CGdBuildingToolbox
97
{
98
void
*
Decals
;
99
void
*
CGdAStar
;
100
AutoClass14
*
OpaqueClass
;
101
SF_CGdBuilding
*
CGdBuilding
;
102
void
*
CGdDoubleLinkList
;
103
SF_CGdEffect
*
CGdEffect
;
104
void
*
AutoClass30
;
105
SF_CGdFigure
*
CGdFigure
;
106
SF_CGdFigureJobs
*
CGdFigureJobs
;
107
SF_CGdFigureToolbox
*
CGdFigureToolbox
;
108
void
*
AutoClass34
;
109
void
*
CGdObject
;
110
SF_CGdPlayer
*
CGdPlayer
;
111
void
*
AutoClass47
;
112
void
*
CGdResource
;
113
void
*
AutoClass22
;
114
SF_CGdWorld
*
CGdWorld
;
115
SF_CGdWorldToolBox
*
CGdWorldToolbox
;
116
void
*
CGdXDataList
;
117
uint32_t
unknown1
[3];
118
uint8_t
unknown2
[800];
119
uint8_t
unknown3
[800];
120
uint8_t
unknown4
[14884];
121
uint8_t
unknown5
[14884];
122
uint8_t
unknown6
[3721];
123
};
124
125
struct
__attribute__((packed))
SF_CGdResource
126
{
127
astruct32
*
building_map
;
128
void
*
unknown1
;
129
BuildingAuxEntry
*
building_aux_map
;
130
uint32_t
not_annotated
[46];
131
};
132
133
typedef
void (__thiscall *
addBuilding_ptr
)(
void
*_this,
void
*struct1,
void
*struct2);
134
typedef
void (__thiscall *
addBuildingAuxData_ptr
)(
void
*_this,
BuildingAuxEntry_related
*entry, uint8_t *building_id);
135
typedef
void (__thiscall *
setCollisionListSize_ptr
)(
uint_list_node
*_this, uint8_t list_size);
addBuildingAuxData_ptr
void(__thiscall * addBuildingAuxData_ptr)(void *_this, BuildingAuxEntry_related *entry, uint8_t *building_id)
Definition
sf_building_structures.h:134
addBuilding_ptr
void(__thiscall * addBuilding_ptr)(void *_this, void *struct1, void *struct2)
Definition
sf_building_structures.h:133
setCollisionListSize_ptr
void(__thiscall * setCollisionListSize_ptr)(uint_list_node *_this, uint8_t list_size)
Definition
sf_building_structures.h:135
sf_general_structures.h
Group of Structures and Enums used throught SFSF.
AutoClass14
Definition
sf_general_structures.h:1003
BuildingAuxEntry_related
Definition
sf_building_structures.h:29
BuildingAuxEntry_related::data
BuildingAuxEntry * data
Definition
sf_building_structures.h:30
BuildingAuxEntry_related::flag
uint8_t flag
Definition
sf_building_structures.h:31
BuildingAuxEntry
Definition
sf_building_structures.h:11
BuildingAuxEntry::centerY
uint32_t centerY
Definition
sf_building_structures.h:18
BuildingAuxEntry::data
BuildingAuxEntry * data
Definition
sf_building_structures.h:13
BuildingAuxEntry::postlast
BuildingAuxEntry * postlast
Definition
sf_building_structures.h:14
BuildingAuxEntry::first
BuildingAuxEntry * first
Definition
sf_building_structures.h:12
BuildingAuxEntry::id
uint8_t id
Definition
sf_building_structures.h:16
BuildingAuxEntry::shadows
uint8_t shadows[5]
Definition
sf_building_structures.h:19
BuildingAuxEntry::poly_count
uint8_t poly_count
Definition
sf_building_structures.h:21
BuildingAuxEntry::unknown
uint8_t unknown[2]
Definition
sf_building_structures.h:15
BuildingAuxEntry::resource_req_type
uint8_t resource_req_type[5]
Definition
sf_building_structures.h:22
BuildingAuxEntry::resource_req_amount
uint16_t resource_req_amount[5]
Definition
sf_building_structures.h:23
BuildingAuxEntry::padding
uint8_t padding[3]
Definition
sf_building_structures.h:25
BuildingAuxEntry::resource_req_num
uint8_t resource_req_num
Definition
sf_building_structures.h:24
BuildingAuxEntry::centerX
uint32_t centerX
Definition
sf_building_structures.h:17
BuildingAuxEntry::collisions
uint_list_node collisions[5]
Definition
sf_building_structures.h:20
BuildingResource
Definition
sf_building_structures.h:71
BuildingResource::can_enter
uint8_t can_enter
Definition
sf_building_structures.h:74
BuildingResource::building_required
uint16_t building_required
Definition
sf_building_structures.h:79
BuildingResource::race
uint8_t race
Definition
sf_building_structures.h:73
BuildingResource::flags
uint8_t flags
Definition
sf_building_structures.h:82
BuildingResource::name_id
uint16_t name_id
Definition
sf_building_structures.h:77
BuildingResource::worker_cycle
uint16_t worker_cycle
Definition
sf_building_structures.h:78
BuildingResource::health
uint16_t health
Definition
sf_building_structures.h:76
BuildingResource::ext_description_id
uint16_t ext_description_id
Definition
sf_building_structures.h:81
BuildingResource::slot_count
uint8_t slot_count
Definition
sf_building_structures.h:75
BuildingResource::initial_angle
uint16_t initial_angle
Definition
sf_building_structures.h:80
BuildingResource::id
uint16_t id
Definition
sf_building_structures.h:72
GdBuilding
Definition
sf_building_structures.h:36
GdBuilding::worker_count
uint8_t worker_count
Definition
sf_building_structures.h:51
GdBuilding::unknown
uint32_t unknown[5]
Definition
sf_building_structures.h:50
GdBuilding::xdata_key
uint16_t xdata_key
Definition
sf_building_structures.h:48
GdBuilding::level
uint8_t level
Definition
sf_building_structures.h:53
GdBuilding::health_current
uint16_t health_current
Definition
sf_building_structures.h:44
GdBuilding::DLLNode
uint16_t DLLNode
Definition
sf_building_structures.h:47
GdBuilding::entry_point
SF_Coord entry_point
Definition
sf_building_structures.h:54
GdBuilding::health_max
uint16_t health_max
Definition
sf_building_structures.h:46
GdBuilding::race
uint8_t race
Definition
sf_building_structures.h:40
GdBuilding::type
uint8_t type
Definition
sf_building_structures.h:39
GdBuilding::owner
uint16_t owner
Definition
sf_building_structures.h:38
GdBuilding::life_current_max
uint16_t life_current_max
Definition
sf_building_structures.h:45
GdBuilding::angle
uint16_t angle
Definition
sf_building_structures.h:49
GdBuilding::build_max
uint16_t build_max
Definition
sf_building_structures.h:43
GdBuilding::flags
uint8_t flags
Definition
sf_building_structures.h:41
GdBuilding::build_up
uint16_t build_up
Definition
sf_building_structures.h:42
GdBuilding::worker_count_max
uint8_t worker_count_max
Definition
sf_building_structures.h:52
GdBuilding::position
SF_Coord position
Definition
sf_building_structures.h:37
SF_CGdBuilding
Definition
sf_building_structures.h:58
SF_CGdBuilding::unknown2
uint32_t unknown2
Definition
sf_building_structures.h:65
SF_CGdBuilding::autoClass14
AutoClass14 * autoClass14
Definition
sf_building_structures.h:59
SF_CGdBuilding::astruct_39
void * astruct_39
Definition
sf_building_structures.h:64
SF_CGdBuilding::buildings
GdBuilding buildings[1000]
Definition
sf_building_structures.h:60
SF_CGdBuilding::astruct_31
void * astruct_31
Definition
sf_building_structures.h:62
SF_CGdBuilding::max_used
uint16_t max_used
Definition
sf_building_structures.h:61
SF_CGdBuilding::unknown1
uint32_t unknown1
Definition
sf_building_structures.h:63
SF_CGdBuildingToolbox
Definition
sf_building_structures.h:97
SF_CGdBuildingToolbox::unknown1
uint32_t unknown1[3]
Definition
sf_building_structures.h:117
SF_CGdBuildingToolbox::unknown5
uint8_t unknown5[14884]
Definition
sf_building_structures.h:121
SF_CGdBuildingToolbox::CGdObject
void * CGdObject
Definition
sf_building_structures.h:109
SF_CGdBuildingToolbox::CGdPlayer
SF_CGdPlayer * CGdPlayer
Definition
sf_building_structures.h:110
SF_CGdBuildingToolbox::AutoClass22
void * AutoClass22
Definition
sf_building_structures.h:113
SF_CGdBuildingToolbox::unknown6
uint8_t unknown6[3721]
Definition
sf_building_structures.h:122
SF_CGdBuildingToolbox::CGdEffect
SF_CGdEffect * CGdEffect
Definition
sf_building_structures.h:103
SF_CGdBuildingToolbox::CGdDoubleLinkList
void * CGdDoubleLinkList
Definition
sf_building_structures.h:102
SF_CGdBuildingToolbox::unknown4
uint8_t unknown4[14884]
Definition
sf_building_structures.h:120
SF_CGdBuildingToolbox::CGdFigureJobs
SF_CGdFigureJobs * CGdFigureJobs
Definition
sf_building_structures.h:106
SF_CGdBuildingToolbox::CGdAStar
void * CGdAStar
Definition
sf_building_structures.h:99
SF_CGdBuildingToolbox::AutoClass47
void * AutoClass47
Definition
sf_building_structures.h:111
SF_CGdBuildingToolbox::CGdFigureToolbox
SF_CGdFigureToolbox * CGdFigureToolbox
Definition
sf_building_structures.h:107
SF_CGdBuildingToolbox::unknown2
uint8_t unknown2[800]
Definition
sf_building_structures.h:118
SF_CGdBuildingToolbox::CGdResource
void * CGdResource
Definition
sf_building_structures.h:112
SF_CGdBuildingToolbox::AutoClass34
void * AutoClass34
Definition
sf_building_structures.h:108
SF_CGdBuildingToolbox::unknown3
uint8_t unknown3[800]
Definition
sf_building_structures.h:119
SF_CGdBuildingToolbox::CGdBuilding
SF_CGdBuilding * CGdBuilding
Definition
sf_building_structures.h:101
SF_CGdBuildingToolbox::OpaqueClass
AutoClass14 * OpaqueClass
Definition
sf_building_structures.h:100
SF_CGdBuildingToolbox::CGdWorldToolbox
SF_CGdWorldToolBox * CGdWorldToolbox
Definition
sf_building_structures.h:115
SF_CGdBuildingToolbox::Decals
void * Decals
Definition
sf_building_structures.h:98
SF_CGdBuildingToolbox::CGdWorld
SF_CGdWorld * CGdWorld
Definition
sf_building_structures.h:114
SF_CGdBuildingToolbox::CGdFigure
SF_CGdFigure * CGdFigure
Definition
sf_building_structures.h:105
SF_CGdBuildingToolbox::CGdXDataList
void * CGdXDataList
Definition
sf_building_structures.h:116
SF_CGdBuildingToolbox::AutoClass30
void * AutoClass30
Definition
sf_building_structures.h:104
SF_CGdEffect
Definition
sf_effect_structures.h:22
SF_CGdFigure
A structure for the global list of figures and related statistics for them.
Definition
sf_figure_structures.h:149
SF_CGdFigureJobs
Definition
sf_figure_structures.h:155
SF_CGdFigureToolbox
Definition
sf_toolbox_structures.h:7
SF_CGdPlayer
Definition
sf_general_structures.h:1071
SF_CGdResource
Definition
sf_building_structures.h:126
SF_CGdResource::building_aux_map
BuildingAuxEntry * building_aux_map
Definition
sf_building_structures.h:129
SF_CGdResource::not_annotated
uint32_t not_annotated[46]
Definition
sf_building_structures.h:130
SF_CGdResource::unknown1
void * unknown1
Definition
sf_building_structures.h:128
SF_CGdResource::building_map
astruct32 * building_map
Definition
sf_building_structures.h:127
SF_CGdWorld
Definition
sf_general_structures.h:1108
SF_CGdWorldToolBox
Definition
sf_toolbox_structures.h:41
SF_Coord
Definition
sf_general_structures.h:936
astruct32
Definition
sf_building_structures.h:86
astruct32::id
uint8_t id
Definition
sf_building_structures.h:91
astruct32::building
BuildingResource building
Definition
sf_building_structures.h:92
astruct32::padding_1
uint16_t padding_1
Definition
sf_building_structures.h:90
astruct32::ref3
astruct32 * ref3
Definition
sf_building_structures.h:89
astruct32::ref2
astruct32 * ref2
Definition
sf_building_structures.h:88
astruct32::padding_2
uint8_t padding_2[3]
Definition
sf_building_structures.h:93
astruct32::ref1
astruct32 * ref1
Definition
sf_building_structures.h:87
uint_list_node
Definition
sf_general_structures.h:929
src
api
structures
sf_building_structures.h
Generated by
1.17.0