Spellforce-Spell-framework
Loading...
Searching...
No Matches
sf_figure_structures.h
Go to the documentation of this file.
1#pragma once
2#include <stdint.h>
3#include <stdbool.h>
5
6typedef struct __attribute__((packed))
7{
8 uint16_t figure_index;
9 uint16_t agro_value;
10 uint16_t hate_value;
12
16typedef struct __attribute__((packed))
17{
18 uint16_t type;
19 uint16_t subtype;
23
24
25typedef struct __attribute__((packed))
26{
27 uint16_t min_dmg;
28 uint16_t max_dmg;
29 uint16_t min_rng;
30 uint16_t max_rng;
31 uint16_t wpn_spd;
32 uint16_t wpn_type;
33 uint16_t wpn_mat;
35
36typedef struct __attribute__((packed))
37{
38 uint16_t base_val;
39 int16_t bonus_val;
41 uint8_t statistic_type; // NOT CONFIRMED
43
44typedef struct __attribute__((packed))
45{
46 uint16_t base_val;
47 int16_t bonus_val;
49 uint8_t statistic_type; // NOT CONFIRMED?
50 uint16_t missing_val; // No idea what this is
52
53typedef struct __attribute__((packed))
54{
55 uint16_t GdJobId;
56 uint8_t task;
57 uint8_t padding;
58 uint16_t flags;
59 uint8_t pathing_mode;
60 SF_CGdTargetData target; // it is stored WEIRDLY
62 uint16_t xdata_key;
63 uint8_t walking_mode;
64 uint8_t padding2;
66 uint8_t unknown[14];
69
70typedef struct __attribute__((packed))
71{
74 uint16_t to_do_count;
76 uint16_t anim_length;
78 uint8_t activity;
80 uint16_t building;
81 uint32_t flags; // packed with GdFigureFlags
82 uint8_t race;
83 uint8_t level;
84 uint16_t owner;
87 uint16_t master_figure;
88 uint16_t group_leader;
89 uint32_t npc_id;
90 uint16_t unit_data_id;
108 uint16_t equipment[16]; // No idea how this works, may need a class (undefined2[16] in ghidra, but is 20 bytes FigureStatistic is 6 bytes)
109 uint16_t head; // Not sure what this does
114 uint8_t good; // good that worker is carrying -- wood, stone, etc
115 uint8_t direction;
117 uint8_t path_dir;
119 uint32_t path_bits;
124 uint8_t debug_flags;
125 uint8_t rune_id;
126 uint16_t formation;
127 uint8_t faction;
130 uint16_t scaling;
132 uint16_t creo;
133 uint8_t anim_type;
134 FigureJobData current_job; // Current Active Job Data
135 uint8_t padding[3];
136 FigureJobData next_job; // Feign Death, Acting in Buildings? Seems to be about the Next Target Job Data?
137 uint8_t padding2[3];
139 uint8_t padding3[3];
140 uint32_t incoming_spells_vector[3]; // Skipping some variable sections, contains differences Also Check what FigureJobData is, it's used multiple times in this section
141 uint8_t dwarf_rank;
142 uint8_t set_type;
143} GdFigure;
144
148struct __attribute__((packed)) SF_CGdFigure
149{
150 uint16_t max_used;
152};
153
192
193typedef struct __attribute__((packed))
194{
195 uint16_t creo; //offset 0
196 uint8_t level; //offset 2
197
198 uint8_t unknwn; //offset 3
199
200 uint8_t race; //offset 4
201
202 uint16_t agility; //offset 5
203 uint16_t dexterity; //offset 7
204 uint16_t charisma; //offset 9
205 uint16_t intelligence; //offset 11
206 uint16_t stamina; //offset 13
207 uint16_t strength; //offset 15
208 uint16_t wisdom; //offset 17
209
210 uint16_t unknwn2; //offset 19
211
212 uint16_t fres; //offset 21
213 uint16_t ires; //offset 23
214 uint16_t bres; //offset 25
215 uint16_t mres; //offset 27
216
217 uint16_t wspeed; //offset 29
218 uint16_t fspeed; //offset 31
219 uint16_t cspeed; //offset 33
220 uint16_t scaling; //offset 35
221
222 uint16_t unknwn3;
223 uint32_t unknwn4;
224
225 uint8_t unit_flags; //offset 43
226 uint16_t head; //offset 44
227
228 uint8_t unknwn5; //offset 46
229
230 GdFigureAbility abilities[10]; //offset 47
Group of Structures and Enums used throught SFSF.
uint16_t figure_index
uint16_t hate_value
uint16_t agro_value
GdFigureAbility abilities[10]
SF_SGtFigureAction action
SF_CGdTargetData target
FigureStatisticExt stamina
uint16_t to_do_count
uint32_t incoming_spells_vector[3]
uint16_t equipment[16]
uint8_t check_battle_sleeping
uint16_t to_do_count_remainder
uint32_t clan_relations
uint32_t path_data_related_ptrs[3]
FigureStatistic strength
uint16_t master_figure
SF_CGdFigureWeaponStats weapon_stats[2]
FigureStatistic dexterity
uint16_t anim_length_remainder
FigureStatistic resistance_mental
CGdFigureHateEntry hate_entry[10]
uint8_t min_attack_range
uint16_t spell_job_start_node
FigureStatistic charisma
uint8_t max_attack_range
uint8_t padding[3]
uint8_t formation_walkspeed_mod
FigureStatistic resistance_fire
FigureStatistic cast_speed
FigureJobData current_job
SF_Coord destination
FigureStatisticExt health
FigureStatistic wisdom
uint16_t unit_data_id
FigureStatisticExt mana
FigureStatistic fight_speed
FigureJobData prev_job
uint16_t group_leader
FigureStatistic resistance_ice
FigureJobData next_job
FigureStatistic agility
SF_SGtFigureAction actions[15]
FigureStatistic resistance_black
GdFigureAbility abilties[10]
uint8_t padding2[3]
FigureStatistic walk_speed
uint16_t anim_length
uint8_t path_wait_counter
FigureStatistic armor
FigureStatistic intelligence
uint8_t padding3[3]
uint8_t retreat_related
A structure for the global list of figures and related statistics for them.
GdFigure figures[2000]
SF_CGdBuilding * CGdBuilding
SF_CGdWorldToolBox * CGdWorldToolBox
SF_CGdFigureToolbox * CGdFigureToolBox
SF_CGdBuildingToolbox * CGdBuildingToolBox