Spellforce-Spell-framework
Toggle main menu visibility
Loading...
Searching...
No Matches
sf_building_loader.h
Go to the documentation of this file.
1
#ifndef BUILDING_LOADER_H
2
#define BUILDING_LOADER_H
3
4
#include <stdio.h>
5
#include <string.h>
6
#include <stdint.h>
7
#include <stdlib.h>
8
#include <stdbool.h>
9
#include "
../../api/structures/sf_building_structures.h
"
10
11
#define MAX_POINTS 255
12
#define MAX_COLLISIONS 5
13
#define MAX_RESOURCES 5
14
15
typedef
struct
16
{
17
int32_t
X
;
18
int32_t
Y
;
19
}
WorldCoord
;
20
21
typedef
struct
22
{
23
WorldCoord
points
[
MAX_POINTS
];
24
int
point_count
;
25
bool
shadow
;
26
}
Collision
;
27
28
typedef
struct
29
{
30
int
amount
;
31
char
type
[32];
32
}
Resource
;
33
34
typedef
struct
35
{
36
int
id
;
37
int
building_required
;
38
bool
can_enter
;
39
int
center_x
;
40
int
center_y
;
41
int
collision_count
;
42
Collision
collisions
[
MAX_COLLISIONS
];
43
int
description_id
;
44
int
flags
;
45
int
health
;
46
int
name_id
;
47
int
race
;
48
Resource
resources
[
MAX_RESOURCES
];
49
int
resource_count
;
50
int
slot_count
;
51
52
bool
found_id
;
53
bool
found_building_required
;
54
bool
found_can_enter
;
55
bool
found_center_x
;
56
bool
found_center_y
;
57
bool
found_collision_count
;
58
bool
found_description_id
;
59
bool
found_flags
;
60
bool
found_health
;
61
bool
found_name_id
;
62
bool
found_race
;
63
bool
found_slot_count
;
64
}
Building
;
65
66
typedef
enum
67
{
68
FIELD_UNKNOWN
,
69
FIELD_ID
,
70
FIELD_BUILDING_REQUIRED
,
71
FIELD_CAN_ENTER
,
72
FIELD_CENTER_X
,
73
FIELD_CENTER_Y
,
74
FIELD_X
,
75
FIELD_Y
,
76
FIELD_COLLISION_COUNT
,
77
FIELD_DESCRIPTION_ID
,
78
FIELD_FLAGS
,
79
FIELD_HEALTH
,
80
FIELD_NAME_ID
,
81
FIELD_RACE
,
82
FIELD_SLOT_COUNT
,
83
FIELD_COLLISIONS
,
84
FIELD_RESOURCES
,
85
FIELD_SHADOW
,
86
FIELD_POINTS
,
87
FIELD_AMOUNT
,
88
FIELD_TYPE
,
89
FIELD_LIST
,
90
FIELD_NUMBER
,
91
}
FieldKey
;
92
93
extern
"C"
char
*
readfile
(
const
char
*path);
94
bool
parse_building_json_entrypoint
(
const
char
*building_json_name,
const
char
*mod_id,
Building
*out_building);
95
96
#endif
MAX_RESOURCES
#define MAX_RESOURCES
Definition
sf_building_loader.h:13
MAX_COLLISIONS
#define MAX_COLLISIONS
Definition
sf_building_loader.h:12
MAX_POINTS
#define MAX_POINTS
Definition
sf_building_loader.h:11
FieldKey
FieldKey
Definition
sf_building_loader.h:67
FIELD_SHADOW
@ FIELD_SHADOW
Definition
sf_building_loader.h:85
FIELD_RESOURCES
@ FIELD_RESOURCES
Definition
sf_building_loader.h:84
FIELD_CENTER_X
@ FIELD_CENTER_X
Definition
sf_building_loader.h:72
FIELD_UNKNOWN
@ FIELD_UNKNOWN
Definition
sf_building_loader.h:68
FIELD_NUMBER
@ FIELD_NUMBER
Definition
sf_building_loader.h:90
FIELD_LIST
@ FIELD_LIST
Definition
sf_building_loader.h:89
FIELD_DESCRIPTION_ID
@ FIELD_DESCRIPTION_ID
Definition
sf_building_loader.h:77
FIELD_RACE
@ FIELD_RACE
Definition
sf_building_loader.h:81
FIELD_X
@ FIELD_X
Definition
sf_building_loader.h:74
FIELD_ID
@ FIELD_ID
Definition
sf_building_loader.h:69
FIELD_CENTER_Y
@ FIELD_CENTER_Y
Definition
sf_building_loader.h:73
FIELD_HEALTH
@ FIELD_HEALTH
Definition
sf_building_loader.h:79
FIELD_TYPE
@ FIELD_TYPE
Definition
sf_building_loader.h:88
FIELD_CAN_ENTER
@ FIELD_CAN_ENTER
Definition
sf_building_loader.h:71
FIELD_NAME_ID
@ FIELD_NAME_ID
Definition
sf_building_loader.h:80
FIELD_Y
@ FIELD_Y
Definition
sf_building_loader.h:75
FIELD_SLOT_COUNT
@ FIELD_SLOT_COUNT
Definition
sf_building_loader.h:82
FIELD_BUILDING_REQUIRED
@ FIELD_BUILDING_REQUIRED
Definition
sf_building_loader.h:70
FIELD_POINTS
@ FIELD_POINTS
Definition
sf_building_loader.h:86
FIELD_FLAGS
@ FIELD_FLAGS
Definition
sf_building_loader.h:78
FIELD_COLLISIONS
@ FIELD_COLLISIONS
Definition
sf_building_loader.h:83
FIELD_COLLISION_COUNT
@ FIELD_COLLISION_COUNT
Definition
sf_building_loader.h:76
FIELD_AMOUNT
@ FIELD_AMOUNT
Definition
sf_building_loader.h:87
readfile
char * readfile(const char *path)
Definition
sf_building_loader.c:496
parse_building_json_entrypoint
bool parse_building_json_entrypoint(const char *building_json_name, const char *mod_id, Building *out_building)
Definition
sf_building_loader.c:552
sf_building_structures.h
Building
Definition
sf_building_loader.h:35
Building::found_race
bool found_race
Definition
sf_building_loader.h:62
Building::center_x
int center_x
Definition
sf_building_loader.h:39
Building::race
int race
Definition
sf_building_loader.h:47
Building::resource_count
int resource_count
Definition
sf_building_loader.h:49
Building::slot_count
int slot_count
Definition
sf_building_loader.h:50
Building::found_slot_count
bool found_slot_count
Definition
sf_building_loader.h:63
Building::resources
Resource resources[5]
Definition
sf_building_loader.h:48
Building::found_id
bool found_id
Definition
sf_building_loader.h:52
Building::name_id
int name_id
Definition
sf_building_loader.h:46
Building::health
int health
Definition
sf_building_loader.h:45
Building::found_collision_count
bool found_collision_count
Definition
sf_building_loader.h:57
Building::found_name_id
bool found_name_id
Definition
sf_building_loader.h:61
Building::found_center_y
bool found_center_y
Definition
sf_building_loader.h:56
Building::can_enter
bool can_enter
Definition
sf_building_loader.h:38
Building::flags
int flags
Definition
sf_building_loader.h:44
Building::found_description_id
bool found_description_id
Definition
sf_building_loader.h:58
Building::found_health
bool found_health
Definition
sf_building_loader.h:60
Building::collision_count
int collision_count
Definition
sf_building_loader.h:41
Building::building_required
int building_required
Definition
sf_building_loader.h:37
Building::found_can_enter
bool found_can_enter
Definition
sf_building_loader.h:54
Building::found_center_x
bool found_center_x
Definition
sf_building_loader.h:55
Building::collisions
Collision collisions[5]
Definition
sf_building_loader.h:42
Building::found_building_required
bool found_building_required
Definition
sf_building_loader.h:53
Building::center_y
int center_y
Definition
sf_building_loader.h:40
Building::found_flags
bool found_flags
Definition
sf_building_loader.h:59
Building::id
int id
Definition
sf_building_loader.h:36
Building::description_id
int description_id
Definition
sf_building_loader.h:43
Collision
Definition
sf_building_loader.h:22
Collision::points
WorldCoord points[255]
Definition
sf_building_loader.h:23
Collision::shadow
bool shadow
Definition
sf_building_loader.h:25
Collision::point_count
int point_count
Definition
sf_building_loader.h:24
Resource
Definition
sf_building_loader.h:29
Resource::amount
int amount
Definition
sf_building_loader.h:30
Resource::type
char type[32]
Definition
sf_building_loader.h:31
WorldCoord
Definition
sf_building_loader.h:16
WorldCoord::X
int32_t X
Definition
sf_building_loader.h:17
WorldCoord::Y
int32_t Y
Definition
sf_building_loader.h:18
src
internal
core
sf_building_loader.h
Generated by
1.17.0