Spellforce-Spell-framework
Loading...
Searching...
No Matches
sf_registration_functions.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include "sf_general_structures.h"
#include "sf_effect_functions.h"
#include "sf_ai_functions.h"
Include dependency graph for sf_registration_functions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SFSpell
 
struct  RegistrationFunctions
 A structure dedicated to the registration of spells This structure holds functions that are used to create a representation of a spell within the framework. We then translate this representation into a viable Spellforce Spell. More...
 

Typedefs

typedef 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)
 
typedef void(__thiscall * handler_ptr) (SF_CGdSpell *, uint16_t)
 
typedef uint32_t(__thiscall * ai_aoe_handler_ptr) (SF_CGdBattleDevelopment *_this, SF_Coord *position, uint16_t spell_line, SF_CGdResourceSpell *spell_data)
 
typedef uint32_t(__thiscall * ai_single_handler_ptr) (SF_CGdBattleDevelopment *_this, uint16_t target_index, uint16_t spell_line, SF_CGdResourceSpell *spell_data)
 
typedef uint32_t(__thiscall * ai_avoidance_handler_ptr) (CGdAIBattleData *_this, uint16_t figure_index, uint16_t spell_line)
 
typedef uint16_t(__thiscall * onhit_handler_ptr) (SF_CGdFigureJobs *, uint16_t source, uint16_t target, uint16_t damage)
 
typedef int(__thiscall * refresh_handler_ptr) (SF_CGdSpell *, uint16_t)
 
typedef SFSpell *(__thiscall * registerSpell_ptr) (uint16_t spell_id)
 
typedef void(__thiscall * linkTypeHandler_ptr) (SFSpell *spell, handler_ptr typeHandler)
 
typedef void(__thiscall * linkEffectHandler_ptr) (SFSpell *spell, uint16_t spell_effect_id, handler_ptr effectHandler)
 
typedef void(__thiscall * linkEndHandler_ptr) (SFSpell *spell, handler_ptr endHandler)
 
typedef void(__thiscall * linkOnHitHandler_ptr) (SFSpell *spell, onhit_handler_ptr onhitHandler, OnHitPhase phase)
 
typedef void(__thiscall * applySpellTag_ptr) (SFSpell *spell, SpellTag tag)
 
typedef void(__thiscall * linkSubEffectHandler_ptr) (SFSpell *spell, sub_effect_handler_ptr handler)
 
typedef void(__thiscall * linkRefreshHandler_ptr) (SFSpell *spell, refresh_handler_ptr handler)
 
typedef void(__thiscall * linkDealDamageHandler_ptr) (SFSpell *spell, damage_handler_ptr handler, SpellDamagePhase phase)
 
typedef void(__thiscall * linkSingleTargetAIHandler_ptr) (SFSpell *spell, ai_single_handler_ptr handler)
 
typedef void(__thiscall * linkAOEAIHandler_ptr) (SFSpell *spell, ai_aoe_handler_ptr handler)
 
typedef void(__thiscall * linkAvoidanceAIHandler_ptr) (SFSpell *spell, ai_avoidance_handler_ptr handler)
 

Typedef Documentation

◆ ai_aoe_handler_ptr

typedef uint32_t(__thiscall * ai_aoe_handler_ptr) (SF_CGdBattleDevelopment *_this, SF_Coord *position, uint16_t spell_line, SF_CGdResourceSpell *spell_data)

Definition at line 16 of file sf_registration_functions.h.

◆ ai_avoidance_handler_ptr

typedef uint32_t(__thiscall * ai_avoidance_handler_ptr) (CGdAIBattleData *_this, uint16_t figure_index, uint16_t spell_line)

Definition at line 22 of file sf_registration_functions.h.

◆ ai_single_handler_ptr

typedef uint32_t(__thiscall * ai_single_handler_ptr) (SF_CGdBattleDevelopment *_this, uint16_t target_index, uint16_t spell_line, SF_CGdResourceSpell *spell_data)

Definition at line 19 of file sf_registration_functions.h.

◆ applySpellTag_ptr

typedef void(__thiscall * applySpellTag_ptr) (SFSpell *spell, SpellTag tag)

Definition at line 60 of file sf_registration_functions.h.

◆ damage_handler_ptr

typedef 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)

Definition at line 7 of file sf_registration_functions.h.

◆ handler_ptr

typedef void(__thiscall * handler_ptr) (SF_CGdSpell *, uint16_t)

Definition at line 15 of file sf_registration_functions.h.

◆ linkAOEAIHandler_ptr

typedef void(__thiscall * linkAOEAIHandler_ptr) (SFSpell *spell, ai_aoe_handler_ptr handler)

Definition at line 71 of file sf_registration_functions.h.

◆ linkAvoidanceAIHandler_ptr

typedef void(__thiscall * linkAvoidanceAIHandler_ptr) (SFSpell *spell, ai_avoidance_handler_ptr handler)

Definition at line 73 of file sf_registration_functions.h.

◆ linkDealDamageHandler_ptr

typedef void(__thiscall * linkDealDamageHandler_ptr) (SFSpell *spell, damage_handler_ptr handler, SpellDamagePhase phase)

Definition at line 66 of file sf_registration_functions.h.

◆ linkEffectHandler_ptr

typedef void(__thiscall * linkEffectHandler_ptr) (SFSpell *spell, uint16_t spell_effect_id, handler_ptr effectHandler)

Definition at line 56 of file sf_registration_functions.h.

◆ linkEndHandler_ptr

typedef void(__thiscall * linkEndHandler_ptr) (SFSpell *spell, handler_ptr endHandler)

Definition at line 57 of file sf_registration_functions.h.

◆ linkOnHitHandler_ptr

typedef void(__thiscall * linkOnHitHandler_ptr) (SFSpell *spell, onhit_handler_ptr onhitHandler, OnHitPhase phase)

Definition at line 59 of file sf_registration_functions.h.

◆ linkRefreshHandler_ptr

typedef void(__thiscall * linkRefreshHandler_ptr) (SFSpell *spell, refresh_handler_ptr handler)

Definition at line 64 of file sf_registration_functions.h.

◆ linkSingleTargetAIHandler_ptr

typedef void(__thiscall * linkSingleTargetAIHandler_ptr) (SFSpell *spell, ai_single_handler_ptr handler)

Definition at line 69 of file sf_registration_functions.h.

◆ linkSubEffectHandler_ptr

typedef void(__thiscall * linkSubEffectHandler_ptr) (SFSpell *spell, sub_effect_handler_ptr handler)

Definition at line 62 of file sf_registration_functions.h.

◆ linkTypeHandler_ptr

typedef void(__thiscall * linkTypeHandler_ptr) (SFSpell *spell, handler_ptr typeHandler)

Definition at line 54 of file sf_registration_functions.h.

◆ onhit_handler_ptr

typedef uint16_t(__thiscall * onhit_handler_ptr) (SF_CGdFigureJobs *, uint16_t source, uint16_t target, uint16_t damage)

Definition at line 25 of file sf_registration_functions.h.

◆ refresh_handler_ptr

typedef int(__thiscall * refresh_handler_ptr) (SF_CGdSpell *, uint16_t)

Definition at line 29 of file sf_registration_functions.h.

◆ registerSpell_ptr

typedef SFSpell *(__thiscall * registerSpell_ptr) (uint16_t spell_id)

Definition at line 52 of file sf_registration_functions.h.