Spellforce-Spell-framework
Loading...
Searching...
No Matches
sf_registration_structures.h
Go to the documentation of this file.
1#pragma once
2#include <stdint.h>
3#include <stdbool.h>
5
6typedef uint16_t (__thiscall *damage_handler_ptr)(SF_CGdFigureToolbox *_toolbox, uint16_t source, uint16_t target,
7 uint16_t current_damage, uint16_t is_spell_damage,
8 uint32_t is_ranged_damage, uint16_t spell_id);
9
10typedef void (__thiscall *handler_ptr)(SF_CGdSpell *, uint16_t);
11typedef uint32_t (__thiscall *ai_aoe_handler_ptr)(SF_CGdBattleDevelopment *_this, SF_Coord *position,
12 uint16_t spell_line, SF_CGdResourceSpell *spell_data);
13typedef uint32_t (__thiscall *ai_single_handler_ptr)(SF_CGdBattleDevelopment *_this, uint16_t target_index,
14 uint16_t spell_line, SF_CGdResourceSpell *spell_data);
15typedef uint32_t (__thiscall *ai_avoidance_handler_ptr)(CGdAIBattleData *_this, uint16_t figure_index,
16 uint16_t spell_line);
17typedef uint16_t (__thiscall *onhit_handler_ptr)(SF_CGdFigureJobs *, uint16_t source, uint16_t target, uint16_t damage);
18typedef int (__thiscall *refresh_handler_ptr)(SF_CGdSpell *, uint16_t);
19
20typedef uint16_t (__thiscall *phys_effect_handler_ptr)(SF_CGdEffect *_this, uint16_t source, uint16_t target,
21 bool *isSpellDamage, uint16_t damage);
22
23typedef uint16_t (__thiscall *enchant_handler_ptr)(SF_CGdFigure *_this, uint16_t figure_id);
24
25typedef void (__thiscall *building_done_handler_ptr)(SF_CGdBuildingToolbox *_this,uint16_t building_index);
26typedef void (__thiscall *building_entry_handler_ptr)(SF_CGdFigureJobs *_this,uint16_t figure_id, uint16_t building_id);
27
28
51
52typedef struct __attribute__((packed))
53{
55 uint8_t building_id;
56 uint8_t race;
58 uint8_t slot_count;
60 uint8_t worker_cycle;
61 uint16_t name_id;
62 uint16_t health;
64 uint16_t initial_angle;
65 uint32_t flags;
66
67 int32_t centerX;
68 int32_t centerY;
69 uint8_t shadows[5];
70
71 uint8_t poly_count;
75
77
80 uint32_t building_tags;
81
void(__thiscall * sub_effect_handler_ptr)(SF_CGdEffect *, uint16_t effect_index)
Group of Structures and Enums used throught SFSF.
void(__thiscall * building_done_handler_ptr)(SF_CGdBuildingToolbox *_this, uint16_t building_index)
uint16_t(__thiscall * phys_effect_handler_ptr)(SF_CGdEffect *_this, uint16_t source, uint16_t target, bool *isSpellDamage, uint16_t damage)
uint16_t(__thiscall * damage_handler_ptr)(SF_CGdFigureToolbox *_toolbox, uint16_t source, uint16_t target, uint16_t current_damage, uint16_t is_spell_damage, uint32_t is_ranged_damage, uint16_t spell_id)
int(__thiscall * refresh_handler_ptr)(SF_CGdSpell *, uint16_t)
uint32_t(__thiscall * ai_single_handler_ptr)(SF_CGdBattleDevelopment *_this, uint16_t target_index, uint16_t spell_line, SF_CGdResourceSpell *spell_data)
uint32_t(__thiscall * ai_aoe_handler_ptr)(SF_CGdBattleDevelopment *_this, SF_Coord *position, uint16_t spell_line, SF_CGdResourceSpell *spell_data)
void(__thiscall * building_entry_handler_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t building_id)
uint16_t(__thiscall * enchant_handler_ptr)(SF_CGdFigure *_this, uint16_t figure_id)
void(__thiscall * handler_ptr)(SF_CGdSpell *, uint16_t)
uint32_t(__thiscall * ai_avoidance_handler_ptr)(CGdAIBattleData *_this, uint16_t figure_index, uint16_t spell_line)
uint16_t(__thiscall * onhit_handler_ptr)(SF_CGdFigureJobs *, uint16_t source, uint16_t target, uint16_t damage)
int(__thiscall * refresh_handler_ptr)(SF_CGdSpell *, uint16_t)
Definition sfsf.h:31
void(__thiscall * handler_ptr)(SF_CGdSpell *, uint16_t)
Definition sfsf.h:30
The main structure for handling AI battle data.
High-level structure managing AI battle development.
A structure for the global list of figures and related statistics for them.
building_done_handler_ptr done_handler
building_entry_handler_ptr entry_handler
uint16_t resource_req_amount[5]
enchant_handler_ptr spell_enchtant_handler
handler_ptr spell_effect_handler
ai_avoidance_handler_ptr ai_avoidance_handler
damage_handler_ptr deal_damage_handler
sub_effect_handler_ptr phys_rain_handler
ai_single_handler_ptr ai_single_handler
SpellDamagePhase damage_phase
refresh_handler_ptr spell_refresh_handler
handler_ptr spell_end_handler
sub_effect_handler_ptr sub_effect_handler
onhit_handler_ptr spell_onhit_handler
ai_aoe_handler_ptr ai_aoe_handler
handler_ptr spell_type_handler
phys_effect_handler_ptr phys_effect_handler