Update to latest Arbutils, use new integer defines
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export uint8_t CreatureLib_Battle_Construct(Battle*& out, const BattleLibrary* library, BattleParty* partyArr[],
|
||||
size_t numberOfParties, bool canFlee, uint8_t numberOfSides,
|
||||
uint8_t creaturesPerSide, uint_fast32_t randomSeed) {
|
||||
export u8 CreatureLib_Battle_Construct(Battle*& out, const BattleLibrary* library, BattleParty* partyArr[],
|
||||
size_t numberOfParties, bool canFlee, u8 numberOfSides, u8 creaturesPerSide,
|
||||
uint_fast32_t randomSeed) {
|
||||
Try(ArbUt::List<BattleParty*> parties(partyArr, partyArr + numberOfParties);
|
||||
out = new Battle(library, parties, canFlee, numberOfSides, creaturesPerSide, randomSeed);)
|
||||
}
|
||||
@@ -12,38 +12,36 @@ export uint8_t CreatureLib_Battle_Construct(Battle*& out, const BattleLibrary* l
|
||||
export void CreatureLib_Battle_Destruct(const Battle* p) { delete p; }
|
||||
|
||||
export const BattleLibrary* CreatureLib_Battle_GetLibrary(const Battle* p) { return p->GetLibrary().GetRaw(); }
|
||||
export uint8_t CreatureLib_Battle_CanUse(bool& out, Battle* p, BaseTurnChoice* turnChoice) {
|
||||
export u8 CreatureLib_Battle_CanUse(bool& out, Battle* p, BaseTurnChoice* turnChoice) {
|
||||
Try(out = p->CanUse(turnChoice);)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_TrySetChoice(bool& out, Battle* p, BaseTurnChoice* turnChoice) {
|
||||
export u8 CreatureLib_Battle_TrySetChoice(bool& out, Battle* p, BaseTurnChoice* turnChoice) {
|
||||
Try(out = p->TrySetChoice(turnChoice);)
|
||||
}
|
||||
export bool CreatureLib_Battle_CanFlee(const Battle* p) { return p->CanFlee(); }
|
||||
export uint8_t CreatureLib_Battle_CheckChoicesSetAndRun(Battle* p) { Try(p->CheckChoicesSetAndRun();) }
|
||||
export uint32_t CreatureLib_Battle_GetCurrentTurn(Battle* p) { return p->GetCurrentTurn(); }
|
||||
export uint32_t CreatureLib_Battle_GetCreaturesPerSide(Battle* p) { return p->GetCreaturesPerSide(); }
|
||||
export u8 CreatureLib_Battle_CheckChoicesSetAndRun(Battle* p) { Try(p->CheckChoicesSetAndRun();) }
|
||||
export u32 CreatureLib_Battle_GetCurrentTurn(Battle* p) { return p->GetCurrentTurn(); }
|
||||
export u32 CreatureLib_Battle_GetCreaturesPerSide(Battle* p) { return p->GetCreaturesPerSide(); }
|
||||
|
||||
export ChoiceQueue* CreatureLib_Battle_GetCurrentTurnQueue(const Battle* p) {
|
||||
return p->GetCurrentTurnQueue().GetRaw();
|
||||
}
|
||||
export BattleRandom* CreatureLib_Battle_GetRandom(Battle* p) { return p->GetRandom(); }
|
||||
export uint8_t CreatureLib_Battle_CreatureInField(bool& out, const Battle* p, Creature* c) {
|
||||
export u8 CreatureLib_Battle_CreatureInField(bool& out, const Battle* p, Creature* c) {
|
||||
Try(out = p->CreatureInField(c);)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_GetCreature(Creature*& out, const Battle* p, uint8_t side, uint8_t target) {
|
||||
export u8 CreatureLib_Battle_GetCreature(Creature*& out, const Battle* p, u8 side, u8 target) {
|
||||
Try(out = p->GetCreature(side, target).GetValue();)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Battle_ForceRecall(Battle* p, uint8_t side, uint8_t target) {
|
||||
Try(p->ForceRecall(side, target);)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_SwitchCreature(Battle* p, uint8_t side, uint8_t target, Creature* c) {
|
||||
export u8 CreatureLib_Battle_ForceRecall(Battle* p, u8 side, u8 target) { Try(p->ForceRecall(side, target);) }
|
||||
export u8 CreatureLib_Battle_SwitchCreature(Battle* p, u8 side, u8 target, Creature* c) {
|
||||
Try(p->SwitchCreature(side, target, c);)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_CanSlotBeFilled(bool& out, const Battle* p, uint8_t side, uint8_t target) {
|
||||
export u8 CreatureLib_Battle_CanSlotBeFilled(bool& out, const Battle* p, u8 side, u8 target) {
|
||||
Try(out = p->CanSlotBeFilled(side, target);)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_ValidateBattleState(Battle* p) { Try(p->ValidateBattleState();) }
|
||||
export u8 CreatureLib_Battle_ValidateBattleState(Battle* p) { Try(p->ValidateBattleState();) }
|
||||
export bool CreatureLib_Battle_HasEnded(const Battle* p) { return p->HasEnded(); }
|
||||
|
||||
export bool CreatureLib_Battle_HasConclusiveResult(const Battle* p) { return p->GetResult().IsConclusiveResult(); }
|
||||
@@ -64,29 +62,27 @@ export BattleScript* CreatureLib_Battle_GetVolatileScript(Battle* p, const char*
|
||||
}
|
||||
return v.GetValue();
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_AddVolatileScriptByName(Battle* p, const char* key) {
|
||||
export u8 CreatureLib_Battle_AddVolatileScriptByName(Battle* p, const char* key) {
|
||||
Try(p->AddVolatileScript(ArbUt::StringView(key));)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_AddVolatileScript(Battle* p, BattleScript* script) {
|
||||
Try(p->AddVolatileScript(script);)
|
||||
}
|
||||
export u8 CreatureLib_Battle_AddVolatileScript(Battle* p, BattleScript* script) { Try(p->AddVolatileScript(script);) }
|
||||
|
||||
export uint8_t CreatureLib_Battle_RemoveVolatileScript(Battle* p, const char* key) {
|
||||
export u8 CreatureLib_Battle_RemoveVolatileScript(Battle* p, const char* key) {
|
||||
Try(p->RemoveVolatileScript(ArbUt::StringView::CalculateHash(key));)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_RemoveVolatileScriptWithScript(Battle* p, BattleScript* script) {
|
||||
export u8 CreatureLib_Battle_RemoveVolatileScriptWithScript(Battle* p, BattleScript* script) {
|
||||
Try(p->RemoveVolatileScript(script);)
|
||||
}
|
||||
export bool CreatureLib_Battle_HasVolatileScript(Battle* p, const char* key) {
|
||||
return p->HasVolatileScript(ArbUt::StringView::CalculateHash(key));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Battle_RegisterEventListener(Battle* p, void (*func)(const EventData*)) {
|
||||
export u8 CreatureLib_Battle_RegisterEventListener(Battle* p, void (*func)(const EventData*)) {
|
||||
Try(p->RegisterEventListener(func);)
|
||||
}
|
||||
export const HistoryHolder* CreatureLib_Battle_GetHistory(Battle* p) { return p->GetHistory(); }
|
||||
|
||||
export uint8_t CreatureLib_Battle_EndBattle(Battle* p) { Try(p->EndBattle()) }
|
||||
export uint8_t CreatureLib_Battle_ClearBattle(Battle* p) { Try(p->ClearBattle()) }
|
||||
export u8 CreatureLib_Battle_EndBattle(Battle* p) { Try(p->EndBattle()) }
|
||||
export u8 CreatureLib_Battle_ClearBattle(Battle* p) { Try(p->ClearBattle()) }
|
||||
|
||||
SIMPLE_GET_FUNC(Battle, GetLastTurnTimeMicroseconds, long);
|
||||
@@ -2,11 +2,11 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export uint8_t CreatureLib_BattleLibrary_Construct(const BattleLibrary*& out,
|
||||
const CreatureLib::Library::DataLibrary* staticLib,
|
||||
BattleStatCalculator* statCalculator, DamageLibrary* damageLibrary,
|
||||
ExperienceLibrary* experienceLibrary, ScriptResolver* scriptResolver,
|
||||
MiscLibrary* miscLibrary) {
|
||||
export u8 CreatureLib_BattleLibrary_Construct(const BattleLibrary*& out,
|
||||
const CreatureLib::Library::DataLibrary* staticLib,
|
||||
BattleStatCalculator* statCalculator, DamageLibrary* damageLibrary,
|
||||
ExperienceLibrary* experienceLibrary, ScriptResolver* scriptResolver,
|
||||
MiscLibrary* miscLibrary) {
|
||||
Try(out = new BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary, scriptResolver,
|
||||
miscLibrary);)
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ using namespace CreatureLib::Battling;
|
||||
|
||||
// Note that creatureIndices should be twice the size of numberOfIndices, and have index of side, index of creature on
|
||||
// side, one after the other.
|
||||
export uint8_t CreatureLib_BattleParty_Construct(BattleParty*& out, CreatureParty* p, uint8_t creatureIndices[],
|
||||
size_t numberOfIndices) {
|
||||
export u8 CreatureLib_BattleParty_Construct(BattleParty*& out, CreatureParty* p, u8 creatureIndices[],
|
||||
size_t numberOfIndices) {
|
||||
Try(ArbUt::List<CreatureIndex> indices(numberOfIndices); for (size_t i = 0; i < numberOfIndices; i++) {
|
||||
indices.Append(CreatureIndex(creatureIndices[i * 2], creatureIndices[i * 2 + 1]));
|
||||
} out = new BattleParty(p, indices);)
|
||||
@@ -14,8 +14,7 @@ export uint8_t CreatureLib_BattleParty_Construct(BattleParty*& out, CreaturePart
|
||||
export void CreatureLib_BattleParty_Destruct(const BattleParty* p) { delete p; }
|
||||
|
||||
BORROWED_GET_FUNC(BattleParty, GetParty, CreatureParty*);
|
||||
export uint8_t CreatureLib_BattleParty_IsResponsibleForIndex(bool& out, const BattleParty* p, uint8_t side,
|
||||
uint8_t creature) {
|
||||
export u8 CreatureLib_BattleParty_IsResponsibleForIndex(bool& out, const BattleParty* p, u8 side, u8 creature) {
|
||||
Try(out = p->IsResponsibleForIndex(side, creature);)
|
||||
}
|
||||
export bool CreatureLib_BattleParty_HasCreaturesNotInField(const BattleParty* p) { return p->HasCreaturesNotInField(); }
|
||||
|
||||
@@ -4,92 +4,92 @@ using namespace CreatureLib::Battling;
|
||||
|
||||
export void CreatureLib_Script_Destruct(BattleScript* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_Script_Stack(BattleScript* p) { Try(p->Stack()); }
|
||||
export uint8_t CreatureLib_Script_OnRemove(BattleScript* p) { Try(p->OnRemove()); }
|
||||
export u8 CreatureLib_Script_Stack(BattleScript* p) { Try(p->Stack()); }
|
||||
export u8 CreatureLib_Script_OnRemove(BattleScript* p) { Try(p->OnRemove()); }
|
||||
export const char* CreatureLib_Script_GetName(BattleScript* p) { return p->GetName().c_str(); }
|
||||
|
||||
export uint8_t CreatureLib_Script_OnBeforeTurn(BattleScript* p, const BaseTurnChoice* choice) {
|
||||
export u8 CreatureLib_Script_OnBeforeTurn(BattleScript* p, const BaseTurnChoice* choice) {
|
||||
Try(p->OnBeforeTurn(choice));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeAttack(BattleScript* p, AttackTurnChoice* choice, const char*& outAttack) {
|
||||
export u8 CreatureLib_Script_ChangeAttack(BattleScript* p, AttackTurnChoice* choice, const char*& outAttack) {
|
||||
Try(auto sv = ArbUt::StringView(outAttack); p->ChangeAttack(choice, &sv); outAttack = sv.c_str(););
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
export u8 CreatureLib_Script_PreventAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->PreventAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_FailAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
export u8 CreatureLib_Script_FailAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->FailAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_StopBeforeAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
export u8 CreatureLib_Script_StopBeforeAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->StopBeforeAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnBeforeAttack(BattleScript* p, ExecutingAttack* attack) {
|
||||
export u8 CreatureLib_Script_OnBeforeAttack(BattleScript* p, ExecutingAttack* attack) {
|
||||
Try(p->OnBeforeAttack(attack));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Script_FailIncomingAttack(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
export u8 CreatureLib_Script_FailIncomingAttack(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
Try(p->FailIncomingAttack(attack, target, outResult));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Script_IsInvulnerable(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
export u8 CreatureLib_Script_IsInvulnerable(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
Try(p->IsInvulnerable(attack, target, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnAttackMiss(BattleScript* p, ExecutingAttack* attack, Creature* target) {
|
||||
export u8 CreatureLib_Script_OnAttackMiss(BattleScript* p, ExecutingAttack* attack, Creature* target) {
|
||||
Try(p->OnAttackMiss(attack, target));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeAttackType(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint8_t* outType) {
|
||||
export u8 CreatureLib_Script_ChangeAttackType(BattleScript* p, ExecutingAttack* attack, Creature* target, u8 hitNumber,
|
||||
u8* outType) {
|
||||
Try(p->ChangeAttackType(attack, target, hitNumber, outType))
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OverrideBasePower(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint8_t* basePower) {
|
||||
export u8 CreatureLib_Script_OverrideBasePower(BattleScript* p, ExecutingAttack* attack, Creature* target, u8 hitNumber,
|
||||
u8* basePower) {
|
||||
Try(p->OverrideBasePower(attack, target, hitNumber, basePower));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeDamageStatsUser(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, Creature** statsUser) {
|
||||
export u8 CreatureLib_Script_ChangeDamageStatsUser(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber, Creature** statsUser) {
|
||||
Try(p->ChangeDamageStatsUser(attack, target, hitNumber, statsUser));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_BypassDefensiveStat(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* bypass) {
|
||||
export u8 CreatureLib_Script_BypassDefensiveStat(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber, bool* bypass) {
|
||||
Try(p->BypassDefensiveStat(attack, target, hitNumber, bypass));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_BypassOffensiveStat(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* bypass) {
|
||||
export u8 CreatureLib_Script_BypassOffensiveStat(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber, bool* bypass) {
|
||||
Try(p->BypassOffensiveStat(attack, target, hitNumber, bypass));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyStatModifier(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, float* modifier) {
|
||||
export u8 CreatureLib_Script_ModifyStatModifier(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber, float* modifier) {
|
||||
Try(p->ModifyStatModifier(attack, target, hitNumber, modifier));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyDamageModifier(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, float* modifier) {
|
||||
export u8 CreatureLib_Script_ModifyDamageModifier(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber, float* modifier) {
|
||||
Try(p->ModifyDamageModifier(attack, target, hitNumber, modifier));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OverrideDamage(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint32_t* damage) {
|
||||
export u8 CreatureLib_Script_OverrideDamage(BattleScript* p, ExecutingAttack* attack, Creature* target, u8 hitNumber,
|
||||
u32* damage) {
|
||||
Try(p->OverrideDamage(attack, target, hitNumber, damage));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventSecondaryEffects(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* outResult) {
|
||||
export u8 CreatureLib_Script_PreventSecondaryEffects(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber, bool* outResult) {
|
||||
Try(p->PreventSecondaryEffects(attack, target, hitNumber, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnSecondaryEffect(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber) {
|
||||
export u8 CreatureLib_Script_OnSecondaryEffect(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hitNumber) {
|
||||
Try(p->OnSecondaryEffect(attack, target, hitNumber));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnAfterHits(BattleScript* p, ExecutingAttack* attack, Creature* target) {
|
||||
export u8 CreatureLib_Script_OnAfterHits(BattleScript* p, ExecutingAttack* attack, Creature* target) {
|
||||
Try(p->OnAfterHits(attack, target));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventSelfSwitch(BattleScript* p, const SwitchTurnChoice* choice, bool* outResult) {
|
||||
export u8 CreatureLib_Script_PreventSelfSwitch(BattleScript* p, const SwitchTurnChoice* choice, bool* outResult) {
|
||||
Try(p->PreventSelfSwitch(choice, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyEffectChance(BattleScript* p, const ExecutingAttack* attack, Creature* target,
|
||||
float* chance) {
|
||||
export u8 CreatureLib_Script_ModifyEffectChance(BattleScript* p, const ExecutingAttack* attack, Creature* target,
|
||||
float* chance) {
|
||||
Try(p->ModifyEffectChance(attack, target, chance));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyIncomingEffectChance(BattleScript* p, const ExecutingAttack* attack,
|
||||
Creature* target, float* chance) {
|
||||
export u8 CreatureLib_Script_ModifyIncomingEffectChance(BattleScript* p, const ExecutingAttack* attack,
|
||||
Creature* target, float* chance) {
|
||||
Try(p->ModifyIncomingEffectChance(attack, target, chance));
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export BattleSide* CreatureLib_BattleSide_Construct(uint8_t index, Battle* battle, uint8_t creaturesPerSide) {
|
||||
export BattleSide* CreatureLib_BattleSide_Construct(u8 index, Battle* battle, u8 creaturesPerSide) {
|
||||
return new BattleSide(index, battle, creaturesPerSide);
|
||||
}
|
||||
|
||||
@@ -11,30 +11,28 @@ export void CreatureLib_BattleSide_Destruct(BattleSide* p) { delete p; }
|
||||
export Battle* CreatureLib_BattleSide_GetBattle(BattleSide* p) { return p->GetBattle(); }
|
||||
export bool CreatureLib_BattleSide_AllChoicesSet(BattleSide* p) { return p->AllChoicesSet(); }
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_AllPossibleSlotsFilled(bool& out, BattleSide* p) {
|
||||
export u8 CreatureLib_BattleSide_AllPossibleSlotsFilled(bool& out, BattleSide* p) {
|
||||
Try(out = p->AllPossibleSlotsFilled());
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_SetChoice(BattleSide* p, BaseTurnChoice* choice) { Try(p->SetChoice(choice);) }
|
||||
export u8 CreatureLib_BattleSide_SetChoice(BattleSide* p, BaseTurnChoice* choice) { Try(p->SetChoice(choice);) }
|
||||
|
||||
export void CreatureLib_BattleSide_ResetChoices(BattleSide* p) { p->ResetChoices(); }
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_SetCreature(BattleSide* p, Creature* creature, uint8_t index) {
|
||||
export u8 CreatureLib_BattleSide_SetCreature(BattleSide* p, Creature* creature, u8 index) {
|
||||
Try(p->SetCreature(creature, index));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_GetCreature(Creature*& out, BattleSide* p, uint8_t index) {
|
||||
export u8 CreatureLib_BattleSide_GetCreature(Creature*& out, BattleSide* p, u8 index) {
|
||||
Try(out = p->GetCreature(index).GetValue());
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_GetSideIndex(BattleSide* p) { return p->GetSideIndex(); }
|
||||
export uint8_t CreatureLib_BattleSide_GetCreatureIndex(uint8_t& out, BattleSide* p, Creature* c) {
|
||||
export u8 CreatureLib_BattleSide_GetSideIndex(BattleSide* p) { return p->GetSideIndex(); }
|
||||
export u8 CreatureLib_BattleSide_GetCreatureIndex(u8& out, BattleSide* p, Creature* c) {
|
||||
Try(out = p->GetCreatureIndex(c));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_MarkSlotAsUnfillable(BattleSide* p, Creature* c) {
|
||||
Try(p->MarkSlotAsUnfillable(c));
|
||||
}
|
||||
export u8 CreatureLib_BattleSide_MarkSlotAsUnfillable(BattleSide* p, Creature* c) { Try(p->MarkSlotAsUnfillable(c)); }
|
||||
|
||||
export bool CreatureLib_BattleSide_IsDefeated(BattleSide* p) { return p->IsDefeated(); }
|
||||
export bool CreatureLib_BattleSide_HasFled(BattleSide* p) { return p->HasFled(); }
|
||||
@@ -51,17 +49,17 @@ export BattleScript* CreatureLib_BattleSide_GetVolatileScript(BattleSide* p, con
|
||||
}
|
||||
return v.GetValue();
|
||||
}
|
||||
export uint8_t CreatureLib_BattleSide_AddVolatileScriptByName(BattleSide* p, const char* key) {
|
||||
export u8 CreatureLib_BattleSide_AddVolatileScriptByName(BattleSide* p, const char* key) {
|
||||
Try(p->AddVolatileScript(ArbUt::StringView(key));)
|
||||
}
|
||||
export uint8_t CreatureLib_BattleSide_AddVolatileScript(BattleSide* p, BattleScript* script) {
|
||||
export u8 CreatureLib_BattleSide_AddVolatileScript(BattleSide* p, BattleScript* script) {
|
||||
Try(p->AddVolatileScript(script);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_BattleSide_RemoveVolatileScript(BattleSide* p, const char* key) {
|
||||
export u8 CreatureLib_BattleSide_RemoveVolatileScript(BattleSide* p, const char* key) {
|
||||
Try(p->RemoveVolatileScript(ArbUt::StringView::CalculateHash(key));)
|
||||
}
|
||||
export uint8_t CreatureLib_BattleSide_RemoveVolatileScriptWithScript(BattleSide* p, BattleScript* script) {
|
||||
export u8 CreatureLib_BattleSide_RemoveVolatileScriptWithScript(BattleSide* p, BattleScript* script) {
|
||||
Try(p->RemoveVolatileScript(script);)
|
||||
}
|
||||
export bool CreatureLib_BattleSide_HasVolatileScript(BattleSide* p, const char* key) {
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export uint8_t CreatureLib_Creature_Construct(Creature*& out, const BattleLibrary* library,
|
||||
const CreatureLib::Library::CreatureSpecies* species,
|
||||
const CreatureLib::Library::SpeciesVariant* variant, level_int_t level,
|
||||
uint32_t experience, uint32_t uid, CreatureLib::Library::Gender gender,
|
||||
uint8_t coloring, const CreatureLib::Library::Item* heldItem,
|
||||
const char* nickname, bool secretTalent, uint8_t talent,
|
||||
LearnedAttack* attacks[], size_t attacksNum, bool allowedExperienceGain) {
|
||||
export u8 CreatureLib_Creature_Construct(Creature*& out, const BattleLibrary* library,
|
||||
const CreatureLib::Library::CreatureSpecies* species,
|
||||
const CreatureLib::Library::SpeciesVariant* variant, level_int_t level,
|
||||
u32 experience, u32 uid, CreatureLib::Library::Gender gender, u8 coloring,
|
||||
const CreatureLib::Library::Item* heldItem, const char* nickname,
|
||||
bool secretTalent, u8 talent, LearnedAttack* attacks[], size_t attacksNum,
|
||||
bool allowedExperienceGain) {
|
||||
Try(auto attacksVec = std::vector<LearnedAttack*>(attacks, attacks + (attacksNum * sizeof(LearnedAttack*)));
|
||||
out =
|
||||
new Creature(library, ArbUt::BorrowedPtr<const CreatureLib::Library::CreatureSpecies>(species), variant,
|
||||
@@ -19,39 +19,39 @@ export uint8_t CreatureLib_Creature_Construct(Creature*& out, const BattleLibrar
|
||||
|
||||
export void CreatureLib_Creature_Destruct(const Creature* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_Creature_Initialize(Creature* p) { Try(p->Initialize();) }
|
||||
export u8 CreatureLib_Creature_Initialize(Creature* p) { Try(p->Initialize();) }
|
||||
|
||||
BORROWED_GET_FUNC(Creature, GetLibrary, const CreatureLib::Battling::BattleLibrary*);
|
||||
BORROWED_GET_FUNC(Creature, GetSpecies, const CreatureLib::Library::CreatureSpecies*);
|
||||
BORROWED_GET_FUNC(Creature, GetVariant, const CreatureLib::Library::SpeciesVariant*);
|
||||
|
||||
export uint8_t CreatureLib_Creature_ChangeSpecies(Creature* p, const CreatureLib::Library::CreatureSpecies* species,
|
||||
const CreatureLib::Library::SpeciesVariant* variant) {
|
||||
export u8 CreatureLib_Creature_ChangeSpecies(Creature* p, const CreatureLib::Library::CreatureSpecies* species,
|
||||
const CreatureLib::Library::SpeciesVariant* variant) {
|
||||
Try(p->ChangeSpecies(species, variant);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_ChangeVariant(Creature* p, const CreatureLib::Library::SpeciesVariant* variant) {
|
||||
export u8 CreatureLib_Creature_ChangeVariant(Creature* p, const CreatureLib::Library::SpeciesVariant* variant) {
|
||||
Try(p->ChangeVariant(variant);)
|
||||
}
|
||||
|
||||
SIMPLE_GET_FUNC(Creature, GetLevel, level_int_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetExperience, uint32_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetUniqueIdentifier, uint32_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetExperience, u32);
|
||||
SIMPLE_GET_FUNC(Creature, GetUniqueIdentifier, u32);
|
||||
SIMPLE_GET_FUNC(Creature, GetGender, CreatureLib::Library::Gender);
|
||||
SIMPLE_GET_FUNC(Creature, GetColoring, uint8_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetColoring, u8);
|
||||
|
||||
export bool CreatureLib_Creature_HasHeldItem(const Creature* p, const char* name) {
|
||||
return p->HasHeldItem(ArbUt::StringView(name));
|
||||
}
|
||||
export bool CreatureLib_Creature_HasHeldItemWithHash(const Creature* p, uint32_t hash) { return p->HasHeldItem(hash); }
|
||||
export bool CreatureLib_Creature_HasHeldItemWithHash(const Creature* p, u32 hash) { return p->HasHeldItem(hash); }
|
||||
OPTIONAL_GET_FUNC(Creature, GetHeldItem, const CreatureLib::Library::Item*);
|
||||
export uint8_t CreatureLib_Creature_SetHeldItem(Creature* p, const char* name) {
|
||||
export u8 CreatureLib_Creature_SetHeldItem(Creature* p, const char* name) {
|
||||
Try(p->SetHeldItem(ArbUt::StringView(name));)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_SetHeldItemWithHash(Creature* p, uint32_t hash) { Try(p->SetHeldItem(hash);) }
|
||||
export u8 CreatureLib_Creature_SetHeldItemWithHash(Creature* p, u32 hash) { Try(p->SetHeldItem(hash);) }
|
||||
export void CreatureLib_Creature_SetHeldItemFromItem(Creature* p, const CreatureLib::Library::Item* item) {
|
||||
return p->SetHeldItem(ArbUt::BorrowedPtr<const CreatureLib::Library::Item>(item));
|
||||
}
|
||||
SIMPLE_GET_FUNC(Creature, GetCurrentHealth, uint32_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetCurrentHealth, u32);
|
||||
OPTIONAL_GET_FUNC(Creature, GetBattle, Battle*);
|
||||
OPTIONAL_GET_FUNC(Creature, GetBattleSide, BattleSide*);
|
||||
SIMPLE_GET_FUNC(Creature, IsOnBattleField, bool);
|
||||
@@ -63,42 +63,36 @@ export const char* CreatureLib_Creature_GetNickname(Creature* p) {
|
||||
return "";
|
||||
}
|
||||
export void CreatureLib_Creature_SetNickname(Creature* p, const char* nickname) { p->SetNickname(nickname); }
|
||||
export bool CreatureLib_Creature_HasType(Creature* p, uint8_t type) { return p->HasType(type); }
|
||||
export bool CreatureLib_Creature_HasType(Creature* p, u8 type) { return p->HasType(type); }
|
||||
export size_t CreatureLib_Creature_GetTypeCount(Creature* p) { return p->GetTypes().size(); }
|
||||
export const uint8_t* CreatureLib_Creature_GetTypes(Creature* p) { return p->GetTypes().data(); }
|
||||
SIMPLE_GET_FUNC(Creature, GetMaxHealth, uint32_t);
|
||||
export uint8_t CreatureLib_Creature_ChangeLevelBy(Creature* p, int8_t level) { Try(p->ChangeLevelBy(level);) }
|
||||
export uint8_t CreatureLib_Creature_Damage(Creature* p, uint32_t damage, DamageSource source) {
|
||||
Try(p->Damage(damage, source);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_Heal(Creature* p, uint32_t health, bool canRevive) {
|
||||
Try(p->Heal(health, canRevive);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_RestoreAllAttackUses(Creature* p) { Try(p->RestoreAllAttackUses();) }
|
||||
export const u8* CreatureLib_Creature_GetTypes(Creature* p) { return p->GetTypes().data(); }
|
||||
SIMPLE_GET_FUNC(Creature, GetMaxHealth, u32);
|
||||
export u8 CreatureLib_Creature_ChangeLevelBy(Creature* p, i8 level) { Try(p->ChangeLevelBy(level);) }
|
||||
export u8 CreatureLib_Creature_Damage(Creature* p, u32 damage, DamageSource source) { Try(p->Damage(damage, source);) }
|
||||
export u8 CreatureLib_Creature_Heal(Creature* p, u32 health, bool canRevive) { Try(p->Heal(health, canRevive);) }
|
||||
export u8 CreatureLib_Creature_RestoreAllAttackUses(Creature* p) { Try(p->RestoreAllAttackUses();) }
|
||||
|
||||
export bool CreatureLib_Creature_GetRealTalentIsSecret(const Creature* p) { return p->GetRealTalent().IsSecret(); }
|
||||
export bool CreatureLib_Creature_GetRealTalentIndex(const Creature* p) { return p->GetRealTalent().GetIndex(); }
|
||||
|
||||
export uint8_t CreatureLib_Creature_GetActiveTalent(const Creature* p, const CreatureLib::Library::Talent*& out) {
|
||||
export u8 CreatureLib_Creature_GetActiveTalent(const Creature* p, const CreatureLib::Library::Talent*& out) {
|
||||
Try(out = p->GetActiveTalent().GetRaw();)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_OverrideActiveTalent(Creature* p, const char* talent) {
|
||||
export u8 CreatureLib_Creature_OverrideActiveTalent(Creature* p, const char* talent) {
|
||||
Try(p->OverrideActiveTalent(ArbUt::StringView(talent));)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_AddExperience(Creature* p, uint32_t experience) {
|
||||
Try(p->AddExperience(experience);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_ClearVolatileScripts(Creature* p) { Try(p->ClearVolatileScripts();) }
|
||||
export uint8_t CreatureLib_Creature_AddVolatileScriptByName(Creature* p, const char* scriptName) {
|
||||
export u8 CreatureLib_Creature_AddExperience(Creature* p, u32 experience) { Try(p->AddExperience(experience);) }
|
||||
export u8 CreatureLib_Creature_ClearVolatileScripts(Creature* p) { Try(p->ClearVolatileScripts();) }
|
||||
export u8 CreatureLib_Creature_AddVolatileScriptByName(Creature* p, const char* scriptName) {
|
||||
Try(p->AddVolatileScript(ArbUt::StringView(scriptName));)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_AddVolatileScript(Creature* p, BattleScript* script) {
|
||||
export u8 CreatureLib_Creature_AddVolatileScript(Creature* p, BattleScript* script) {
|
||||
Try(p->AddVolatileScript(script);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_RemoveVolatileScriptByName(Creature* p, const char* scriptName) {
|
||||
export u8 CreatureLib_Creature_RemoveVolatileScriptByName(Creature* p, const char* scriptName) {
|
||||
Try(p->RemoveVolatileScript(ArbUt::StringView(scriptName));)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_RemoveVolatileScript(Creature* p, BattleScript* script) {
|
||||
export u8 CreatureLib_Creature_RemoveVolatileScript(Creature* p, BattleScript* script) {
|
||||
Try(p->RemoveVolatileScript(script);)
|
||||
}
|
||||
export bool CreatureLib_Creature_HasVolatileScript(Creature* p, const char* scriptName) {
|
||||
@@ -120,28 +114,28 @@ export void CreatureLib_Creature_SetDisplayVariant(Creature* p, const CreatureLi
|
||||
export bool CreatureLib_Creature_AllowedExperienceGain(Creature* p) { return p->AllowedExperienceGain(); }
|
||||
export void CreatureLib_Creature_SetAllowedExperienceGain(Creature* p, bool b) { p->SetAllowedExperienceGain(b); }
|
||||
|
||||
export void CreatureLib_Creature_ChangeStatBoost(Creature* p, CreatureLib::Library::Statistic stat, int8_t diffAmount) {
|
||||
export void CreatureLib_Creature_ChangeStatBoost(Creature* p, CreatureLib::Library::Statistic stat, i8 diffAmount) {
|
||||
p->ChangeStatBoost(stat, diffAmount);
|
||||
}
|
||||
export uint32_t CreatureLib_Creature_GetFlatStat(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
export u32 CreatureLib_Creature_GetFlatStat(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
return p->GetFlatStat(stat);
|
||||
}
|
||||
export uint32_t CreatureLib_Creature_GetBoostedStat(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
export u32 CreatureLib_Creature_GetBoostedStat(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
return p->GetBoostedStat(stat);
|
||||
}
|
||||
export uint32_t CreatureLib_Creature_GetBaseStat(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
export u32 CreatureLib_Creature_GetBaseStat(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
return p->GetBaseStat(stat);
|
||||
}
|
||||
export int8_t CreatureLib_Creature_GetStatBoost(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
export i8 CreatureLib_Creature_GetStatBoost(Creature* p, CreatureLib::Library::Statistic stat) {
|
||||
return p->GetStatBoost(stat);
|
||||
}
|
||||
|
||||
SIMPLE_GET_FUNC(Creature, GetAvailableAttackSlot, uint8_t);
|
||||
export uint8_t CreatureLib_Creature_AddAttack(Creature* p, LearnedAttack* attack) { Try(p->AddAttack(attack);) }
|
||||
export uint8_t CreatureLib_Creature_ReplaceAttack(Creature* p, size_t index, LearnedAttack* attack) {
|
||||
SIMPLE_GET_FUNC(Creature, GetAvailableAttackSlot, u8);
|
||||
export u8 CreatureLib_Creature_AddAttack(Creature* p, LearnedAttack* attack) { Try(p->AddAttack(attack);) }
|
||||
export u8 CreatureLib_Creature_ReplaceAttack(Creature* p, size_t index, LearnedAttack* attack) {
|
||||
Try(p->ReplaceAttack(index, attack);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_SwapAttack(Creature* p, size_t a, size_t b) { Try(p->SwapAttacks(a, b);) }
|
||||
export u8 CreatureLib_Creature_SwapAttack(Creature* p, size_t a, size_t b) { Try(p->SwapAttacks(a, b);) }
|
||||
|
||||
export u8 CreatureLib_Creature_SetStatus(Creature* p, const char* name) { Try(p->SetStatus(ArbUt::StringView(name))); };
|
||||
export u8 CreatureLib_Creature_ClearStatus(Creature* p) { Try(p->ClearStatus()); };
|
||||
|
||||
@@ -9,14 +9,14 @@ export CreatureParty* CreatureLib_CreatureParty_ConstructFromArray(Creature* cre
|
||||
|
||||
export void CreatureLib_CreatureParty_Destruct(const CreatureParty* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_CreatureParty_GetAtIndex(Creature*& out, const CreatureParty* p, size_t index) {
|
||||
export u8 CreatureLib_CreatureParty_GetAtIndex(Creature*& out, const CreatureParty* p, size_t index) {
|
||||
Try(out = p->GetAtIndex(index).GetValue();)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_CreatureParty_Switch(CreatureParty* p, size_t a, size_t b) { Try(p->Switch(a, b);) }
|
||||
export uint8_t CreatureLib_CreatureParty_PackParty(CreatureParty* p) { Try(p->PackParty();) }
|
||||
export u8 CreatureLib_CreatureParty_Switch(CreatureParty* p, size_t a, size_t b) { Try(p->Switch(a, b);) }
|
||||
export u8 CreatureLib_CreatureParty_PackParty(CreatureParty* p) { Try(p->PackParty();) }
|
||||
|
||||
export uint8_t CreatureLib_CreatureParty_SwapInto(Creature*& out, CreatureParty* p, size_t index, Creature* creature) {
|
||||
export u8 CreatureLib_CreatureParty_SwapInto(Creature*& out, CreatureParty* p, size_t index, Creature* creature) {
|
||||
Try(out = p->SwapInto(index, creature);)
|
||||
}
|
||||
|
||||
|
||||
@@ -6,24 +6,21 @@ export const DamageLibrary* CreatureLib_DamageLibrary_Construct() { return new D
|
||||
|
||||
export void CreatureLib_DamageLibrary_Destruct(const DamageLibrary* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_DamageLibrary_GetDamage(uint32_t& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, uint8_t hitIndex,
|
||||
ExecutingAttack::HitData* hitData) {
|
||||
export u8 CreatureLib_DamageLibrary_GetDamage(u32& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, u8 hitIndex, ExecutingAttack::HitData* hitData) {
|
||||
Try(out = p->GetDamage(attack, target, hitIndex, *hitData);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_DamageLibrary_GetBasePower(uint8_t& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, uint8_t hitIndex,
|
||||
ExecutingAttack::HitData* hitData) {
|
||||
export u8 CreatureLib_DamageLibrary_GetBasePower(u8& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, u8 hitIndex, ExecutingAttack::HitData* hitData) {
|
||||
Try(out = p->GetBasePower(attack, target, hitIndex, *hitData);)
|
||||
}
|
||||
export uint8_t CreatureLib_DamageLibrary_GetStatModifier(float& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, uint8_t hitIndex,
|
||||
ExecutingAttack::HitData* hitData) {
|
||||
export u8 CreatureLib_DamageLibrary_GetStatModifier(float& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, u8 hitIndex, ExecutingAttack::HitData* hitData) {
|
||||
Try(out = p->GetStatModifier(attack, target, hitIndex, *hitData);)
|
||||
}
|
||||
export uint8_t CreatureLib_DamageLibrary_GetDamageModifier(float& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, uint8_t hitIndex,
|
||||
ExecutingAttack::HitData* hitData) {
|
||||
export u8 CreatureLib_DamageLibrary_GetDamageModifier(float& out, const DamageLibrary* p, ExecutingAttack* attack,
|
||||
Creature* target, u8 hitIndex,
|
||||
ExecutingAttack::HitData* hitData) {
|
||||
Try(out = p->GetDamageModifier(attack, target, hitIndex, *hitData);)
|
||||
}
|
||||
|
||||
@@ -8,21 +8,21 @@ SIMPLE_GET_FUNC(EventData, GetKind, EventDataKind);
|
||||
|
||||
BORROWED_GET_FUNC(DamageEvent, GetCreature, Creature*);
|
||||
SIMPLE_GET_FUNC(DamageEvent, GetDamageSource, DamageSource);
|
||||
SIMPLE_GET_FUNC(DamageEvent, GetOriginalHealth, uint32_t);
|
||||
SIMPLE_GET_FUNC(DamageEvent, GetNewHealth, uint32_t);
|
||||
SIMPLE_GET_FUNC(DamageEvent, GetOriginalHealth, u32);
|
||||
SIMPLE_GET_FUNC(DamageEvent, GetNewHealth, u32);
|
||||
DESTRUCTOR(DamageEvent);
|
||||
|
||||
BORROWED_GET_FUNC(HealEvent, GetCreature, Creature*);
|
||||
SIMPLE_GET_FUNC(HealEvent, GetOriginalHealth, uint32_t);
|
||||
SIMPLE_GET_FUNC(HealEvent, GetNewHealth, uint32_t);
|
||||
SIMPLE_GET_FUNC(HealEvent, GetOriginalHealth, u32);
|
||||
SIMPLE_GET_FUNC(HealEvent, GetNewHealth, u32);
|
||||
DESTRUCTOR(HealEvent);
|
||||
|
||||
BORROWED_GET_FUNC(FaintEvent, GetCreature, Creature*);
|
||||
DESTRUCTOR(FaintEvent);
|
||||
|
||||
BORROWED_GET_FUNC(SwitchEvent, GetNewCreature, Creature*);
|
||||
export uint8_t CreatureLib_SwitchEvent_GetSide(const SwitchEvent* p) { return p->GetIndex().GetSideIndex(); }
|
||||
export uint8_t CreatureLib_SwitchEvent_GetIndex(const SwitchEvent* p) { return p->GetIndex().GetCreatureIndex(); }
|
||||
export u8 CreatureLib_SwitchEvent_GetSide(const SwitchEvent* p) { return p->GetIndex().GetSideIndex(); }
|
||||
export u8 CreatureLib_SwitchEvent_GetIndex(const SwitchEvent* p) { return p->GetIndex().GetCreatureIndex(); }
|
||||
DESTRUCTOR(SwitchEvent);
|
||||
|
||||
DESTRUCTOR(TurnStartEvent);
|
||||
@@ -30,8 +30,8 @@ DESTRUCTOR(TurnStartEvent);
|
||||
DESTRUCTOR(TurnEndEvent);
|
||||
|
||||
BORROWED_GET_FUNC(ExperienceGainEvent, GetCreature, const Creature*);
|
||||
SIMPLE_GET_FUNC(ExperienceGainEvent, GetPreviousExperience, uint32_t);
|
||||
SIMPLE_GET_FUNC(ExperienceGainEvent, GetNewExperience, uint32_t);
|
||||
SIMPLE_GET_FUNC(ExperienceGainEvent, GetPreviousExperience, u32);
|
||||
SIMPLE_GET_FUNC(ExperienceGainEvent, GetNewExperience, u32);
|
||||
DESTRUCTOR(ExperienceGainEvent);
|
||||
|
||||
BORROWED_GET_FUNC(MissEvent, GetCreature, const Creature*);
|
||||
@@ -53,7 +53,7 @@ export void CreatureLib_DisplayTextEvent_Destruct(const DisplayTextEvent* p) { d
|
||||
|
||||
BORROWED_GET_FUNC(ChangeStatBoostEvent, GetCreature, const Creature*);
|
||||
SIMPLE_GET_FUNC(ChangeStatBoostEvent, GetStatistic, CreatureLib::Library::Statistic);
|
||||
SIMPLE_GET_FUNC(ChangeStatBoostEvent, GetOldValue, int8_t);
|
||||
SIMPLE_GET_FUNC(ChangeStatBoostEvent, GetNewValue, int8_t);
|
||||
SIMPLE_GET_FUNC(ChangeStatBoostEvent, GetOldValue, i8);
|
||||
SIMPLE_GET_FUNC(ChangeStatBoostEvent, GetNewValue, i8);
|
||||
|
||||
DESTRUCTOR(ChangeStatBoostEvent);
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export uint8_t CreatureLib_ExecutingAttack_Construct(ExecutingAttack*& out, Creature* const* targets,
|
||||
size_t targetCount, uint8_t numberHits, Creature* user,
|
||||
LearnedAttack* attack,
|
||||
CreatureLib::Library::AttackData* attackData,
|
||||
BattleScript* script) {
|
||||
export u8 CreatureLib_ExecutingAttack_Construct(ExecutingAttack*& out, Creature* const* targets, size_t targetCount,
|
||||
u8 numberHits, Creature* user, LearnedAttack* attack,
|
||||
CreatureLib::Library::AttackData* attackData, BattleScript* script) {
|
||||
Try(auto ls = ArbUt::List<ArbUt::OptionalBorrowedPtr<Creature>>(targetCount);
|
||||
for (size_t i = 0; i < targetCount; i++) { ls.Append(targets[i]); } auto s =
|
||||
std::unique_ptr<BattleScript>(script);
|
||||
@@ -15,16 +13,16 @@ export uint8_t CreatureLib_ExecutingAttack_Construct(ExecutingAttack*& out, Crea
|
||||
|
||||
export void CreatureLib_ExecutingAttack_Destruct(ExecutingAttack* p) { delete p; }
|
||||
|
||||
SIMPLE_GET_FUNC(ExecutingAttack, GetNumberOfHits, uint8_t);
|
||||
export uint8_t CreatureLib_ExecutingAttack_GetHitData(ExecutingAttack::HitData*& out, ExecutingAttack* p,
|
||||
Creature* target, uint8_t hit) {
|
||||
SIMPLE_GET_FUNC(ExecutingAttack, GetNumberOfHits, u8);
|
||||
export u8 CreatureLib_ExecutingAttack_GetHitData(ExecutingAttack::HitData*& out, ExecutingAttack* p, Creature* target,
|
||||
u8 hit) {
|
||||
Try(out = &p->GetHitData(target, hit);)
|
||||
}
|
||||
|
||||
export bool CreatureLib_ExecutingAttack_IsCreatureTarget(ExecutingAttack* p, Creature* target) {
|
||||
return p->IsCreatureTarget(target);
|
||||
}
|
||||
export uint8_t CreatureLib_ExecutingAttack_GetTargetCount(ExecutingAttack* p) { return p->GetTargetCount(); }
|
||||
export u8 CreatureLib_ExecutingAttack_GetTargetCount(ExecutingAttack* p) { return p->GetTargetCount(); }
|
||||
export const Creature* const* CreatureLib_ExecutingAttack_GetTargets(ExecutingAttack* p) {
|
||||
return reinterpret_cast<const Creature* const*>(p->GetTargets().RawData());
|
||||
}
|
||||
@@ -39,19 +37,19 @@ export const CreatureLib::Library::AttackData* CreatureLib_ExecutingAttack_GetUs
|
||||
export returnType CreatureLib_HitData##_##name(const ExecutingAttack::HitData* p) { return p->name(); }
|
||||
|
||||
HITDATA_GET_FUNC(IsCritical, bool);
|
||||
HITDATA_GET_FUNC(GetBasePower, uint8_t);
|
||||
HITDATA_GET_FUNC(GetBasePower, u8);
|
||||
HITDATA_GET_FUNC(GetEffectiveness, float);
|
||||
HITDATA_GET_FUNC(GetDamage, uint32_t);
|
||||
HITDATA_GET_FUNC(GetType, uint8_t);
|
||||
HITDATA_GET_FUNC(GetDamage, u32);
|
||||
HITDATA_GET_FUNC(GetType, u8);
|
||||
|
||||
#define HITDATA_SET_FUNC(name, type) \
|
||||
export void CreatureLib_HitData##_##name(ExecutingAttack::HitData* p, type val) { p->name(val); }
|
||||
|
||||
HITDATA_SET_FUNC(SetCritical, bool);
|
||||
HITDATA_SET_FUNC(SetBasePower, uint8_t);
|
||||
HITDATA_SET_FUNC(SetBasePower, u8);
|
||||
HITDATA_SET_FUNC(SetEffectiveness, float);
|
||||
HITDATA_SET_FUNC(SetDamage, uint32_t);
|
||||
HITDATA_SET_FUNC(SetType, uint8_t);
|
||||
HITDATA_SET_FUNC(SetDamage, u32);
|
||||
HITDATA_SET_FUNC(SetType, u8);
|
||||
|
||||
#undef HITDATA_GET_FUNC
|
||||
#undef HITDATA_SET_FUNC
|
||||
@@ -3,18 +3,16 @@
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export void CreatureLib_ItemUseScript_Destruct(ItemUseScript* p) { delete p; }
|
||||
export uint8_t CreatureLib_ItemUseScript_IsItemUsable(ItemUseScript* p, uint8_t& out) { Try(out = p->IsItemUsable()) }
|
||||
export uint8_t CreatureLib_ItemUseScript_IsCreatureUseItem(ItemUseScript* p, uint8_t& out) {
|
||||
Try(out = p->IsCreatureUseItem())
|
||||
}
|
||||
export u8 CreatureLib_ItemUseScript_IsItemUsable(ItemUseScript* p, u8& out) { Try(out = p->IsItemUsable()) }
|
||||
export u8 CreatureLib_ItemUseScript_IsCreatureUseItem(ItemUseScript* p, u8& out) { Try(out = p->IsCreatureUseItem()) }
|
||||
|
||||
export uint8_t CreatureLib_ItemUseScript_IsUseValidForCreature(ItemUseScript* p, Creature* creature, uint8_t& out) {
|
||||
export u8 CreatureLib_ItemUseScript_IsUseValidForCreature(ItemUseScript* p, Creature* creature, u8& out) {
|
||||
Try(out = p->IsUseValidForCreature(creature))
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_ItemUseScript_IsHoldable(ItemUseScript* p, uint8_t& out) { Try(out = p->IsHoldable()) }
|
||||
export u8 CreatureLib_ItemUseScript_IsHoldable(ItemUseScript* p, u8& out) { Try(out = p->IsHoldable()) }
|
||||
|
||||
export uint8_t CreatureLib_ItemUseScript_OnUse(ItemUseScript* p, Battle* battle) { Try(p->OnUse(battle)) }
|
||||
export uint8_t CreatureLib_ItemUseScript_OnCreatureUse(ItemUseScript* p, Creature* creature, bool isBattle) {
|
||||
export u8 CreatureLib_ItemUseScript_OnUse(ItemUseScript* p, Battle* battle) { Try(p->OnUse(battle)) }
|
||||
export u8 CreatureLib_ItemUseScript_OnCreatureUse(ItemUseScript* p, Creature* creature, bool isBattle) {
|
||||
Try(p->OnCreatureUse(creature, isBattle))
|
||||
}
|
||||
@@ -2,19 +2,19 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export uint8_t CreatureLib_LearnedAttack_Construct(LearnedAttack*& out, const CreatureLib::Library::AttackData* attack,
|
||||
uint8_t maxUses, AttackLearnMethod learnMethod) {
|
||||
export u8 CreatureLib_LearnedAttack_Construct(LearnedAttack*& out, const CreatureLib::Library::AttackData* attack,
|
||||
u8 maxUses, AttackLearnMethod learnMethod) {
|
||||
Try(out = new LearnedAttack(ArbUt::BorrowedPtr<const CreatureLib::Library::AttackData>(attack), maxUses,
|
||||
learnMethod);)
|
||||
}
|
||||
export void CreatureLib_LearnedAttack_Destruct(LearnedAttack* p) { delete p; }
|
||||
|
||||
BORROWED_GET_FUNC(LearnedAttack, GetAttack, const CreatureLib::Library::AttackData*);
|
||||
SIMPLE_GET_FUNC(LearnedAttack, GetMaxUses, uint8_t);
|
||||
SIMPLE_GET_FUNC(LearnedAttack, GetRemainingUses, uint8_t);
|
||||
SIMPLE_GET_FUNC(LearnedAttack, GetMaxUses, u8);
|
||||
SIMPLE_GET_FUNC(LearnedAttack, GetRemainingUses, u8);
|
||||
SIMPLE_GET_FUNC(LearnedAttack, GetLearnMethod, AttackLearnMethod);
|
||||
|
||||
export bool CreatureLib_LearnedAttack_TryUse(LearnedAttack* p, uint8_t uses) { return p->TryUse(uses); }
|
||||
export void CreatureLib_LearnedAttack_DecreaseUses(LearnedAttack* p, uint8_t uses) { p->DecreaseUses(uses); }
|
||||
export void CreatureLib_LearnedAttack_RestoreUses(LearnedAttack* p, uint8_t uses) { p->RestoreUses(uses); }
|
||||
export bool CreatureLib_LearnedAttack_TryUse(LearnedAttack* p, u8 uses) { return p->TryUse(uses); }
|
||||
export void CreatureLib_LearnedAttack_DecreaseUses(LearnedAttack* p, u8 uses) { p->DecreaseUses(uses); }
|
||||
export void CreatureLib_LearnedAttack_RestoreUses(LearnedAttack* p, u8 uses) { p->RestoreUses(uses); }
|
||||
export void CreatureLib_LearnedAttack_RestoreAllUses(LearnedAttack* p) { p->RestoreAllUses(); }
|
||||
@@ -6,14 +6,14 @@ export MiscLibrary* CreatureLib_MiscLibrary_Construct() { return new MiscLibrary
|
||||
|
||||
export void CreatureLib_MiscLibrary_Destruct(const MiscLibrary* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_MiscLibrary_IsCritical(bool& out, MiscLibrary* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hit) {
|
||||
export u8 CreatureLib_MiscLibrary_IsCritical(bool& out, MiscLibrary* p, ExecutingAttack* attack, Creature* target,
|
||||
u8 hit) {
|
||||
Try(out = p->IsCritical(attack, target, hit);)
|
||||
};
|
||||
export uint8_t CreatureLib_MiscLibrary_CanFlee(bool& out, MiscLibrary* p, FleeTurnChoice* switchChoice) {
|
||||
export u8 CreatureLib_MiscLibrary_CanFlee(bool& out, MiscLibrary* p, FleeTurnChoice* switchChoice) {
|
||||
Try(out = p->CanFlee(switchChoice);)
|
||||
};
|
||||
export uint8_t CreatureLib_MiscLibrary_ReplacementAttack(BaseTurnChoice*& out, MiscLibrary* p, Creature* user,
|
||||
uint8_t sideTarget, uint8_t creatureTarget) {
|
||||
export u8 CreatureLib_MiscLibrary_ReplacementAttack(BaseTurnChoice*& out, MiscLibrary* p, Creature* user, u8 sideTarget,
|
||||
u8 creatureTarget) {
|
||||
Try(out = p->ReplacementAttack(user, CreatureIndex(sideTarget, creatureTarget));)
|
||||
};
|
||||
|
||||
@@ -6,15 +6,15 @@ export ScriptResolver* CreatureLib_ScriptResolver_Construct() { return new Scrip
|
||||
|
||||
export void CreatureLib_ScriptResolver_Destruct(const ScriptResolver* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_ScriptResolver_Initialize(ScriptResolver* p, BattleLibrary* library) {
|
||||
export u8 CreatureLib_ScriptResolver_Initialize(ScriptResolver* p, BattleLibrary* library) {
|
||||
Try(p->Initialize(library);)
|
||||
};
|
||||
export uint8_t CreatureLib_ScriptResolver_LoadScript(BattleScript*& out, ScriptResolver* p, void* owner,
|
||||
ScriptCategory category, const char* scriptName) {
|
||||
export u8 CreatureLib_ScriptResolver_LoadScript(BattleScript*& out, ScriptResolver* p, void* owner,
|
||||
ScriptCategory category, const char* scriptName) {
|
||||
Try(out = p->LoadScript(owner, category, ArbUt::StringView(scriptName));)
|
||||
};
|
||||
|
||||
export uint8_t CreatureLib_ScriptResolver_LoadItemScript(ItemUseScript*& out, ScriptResolver* p,
|
||||
const CreatureLib::Library::Item* item) {
|
||||
export u8 CreatureLib_ScriptResolver_LoadItemScript(ItemUseScript*& out, ScriptResolver* p,
|
||||
const CreatureLib::Library::Item* item) {
|
||||
Try(out = p->LoadItemScript(item);)
|
||||
};
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export AttackTurnChoice* CreatureLib_AttackTurnChoice_Construct(Creature* user, LearnedAttack* attack,
|
||||
uint8_t sideIndex, uint8_t targetIndex) {
|
||||
export AttackTurnChoice* CreatureLib_AttackTurnChoice_Construct(Creature* user, LearnedAttack* attack, u8 sideIndex,
|
||||
u8 targetIndex) {
|
||||
return new AttackTurnChoice(user, attack, CreatureIndex(sideIndex, targetIndex));
|
||||
}
|
||||
export void CreatureLib_AttackTurnChoice_Destruct(AttackTurnChoice* p) { delete p; }
|
||||
@@ -25,15 +25,13 @@ BORROWED_GET_FUNC(BaseTurnChoice, GetUser, Creature*)
|
||||
BORROWED_GET_FUNC(AttackTurnChoice, GetAttack, LearnedAttack*)
|
||||
SIMPLE_GET_FUNC(AttackTurnChoice, GetKind, TurnChoiceKind)
|
||||
|
||||
export uint8_t CreatureLib_AttackTurnChoice_GetPriority(int8_t& out, AttackTurnChoice* p) {
|
||||
Try(out = p->GetPriority());
|
||||
}
|
||||
export u8 CreatureLib_AttackTurnChoice_GetPriority(i8& out, AttackTurnChoice* p) { Try(out = p->GetPriority()); }
|
||||
|
||||
SMART_GET_FUNC(AttackTurnChoice, GetAttackScript, BattleScript*)
|
||||
export uint8_t CreatureLib_AttackTurnChoice_GetTargetSideIndex(const AttackTurnChoice* p) {
|
||||
export u8 CreatureLib_AttackTurnChoice_GetTargetSideIndex(const AttackTurnChoice* p) {
|
||||
return p->GetTarget().GetSideIndex();
|
||||
}
|
||||
export uint8_t CreatureLib_AttackTurnChoice_GetTargetCreatureIndex(const AttackTurnChoice* p) {
|
||||
export u8 CreatureLib_AttackTurnChoice_GetTargetCreatureIndex(const AttackTurnChoice* p) {
|
||||
return p->GetTarget().GetCreatureIndex();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export uint8_t CreatureLib_AttackData_Construct(AttackData*& out, const char* name, uint8_t type,
|
||||
AttackCategory category, uint8_t power, uint8_t accuracy,
|
||||
uint8_t baseUsage, AttackTarget target, int8_t priority,
|
||||
float effectChance, const char* effectName,
|
||||
EffectParameter* effectParameters[], size_t effectParameterCount,
|
||||
const char* flags[], size_t flagsCount) {
|
||||
export u8 CreatureLib_AttackData_Construct(AttackData*& out, const char* name, u8 type, AttackCategory category,
|
||||
u8 power, u8 accuracy, u8 baseUsage, AttackTarget target, i8 priority,
|
||||
float effectChance, const char* effectName,
|
||||
EffectParameter* effectParameters[], size_t effectParameterCount,
|
||||
const char* flags[], size_t flagsCount) {
|
||||
Try({
|
||||
std::unordered_set<uint32_t> conversedFlags(flagsCount);
|
||||
std::unordered_set<u32> conversedFlags(flagsCount);
|
||||
for (size_t i = 0; i < flagsCount; i++) {
|
||||
conversedFlags.insert(ArbUt::StringView::CalculateHash(flags[i]));
|
||||
}
|
||||
@@ -28,13 +27,13 @@ export uint8_t CreatureLib_AttackData_Construct(AttackData*& out, const char* na
|
||||
export void CreatureLib_AttackData_Destruct(const AttackData* p) { delete p; }
|
||||
|
||||
export const char* CreatureLib_AttackData_GetName(const AttackData* p) { return p->GetName().c_str(); }
|
||||
SIMPLE_GET_FUNC(AttackData, GetType, uint8_t);
|
||||
SIMPLE_GET_FUNC(AttackData, GetType, u8);
|
||||
SIMPLE_GET_FUNC(AttackData, GetCategory, AttackCategory);
|
||||
SIMPLE_GET_FUNC(AttackData, GetBasePower, uint8_t);
|
||||
SIMPLE_GET_FUNC(AttackData, GetAccuracy, uint8_t);
|
||||
SIMPLE_GET_FUNC(AttackData, GetBaseUsages, uint8_t);
|
||||
SIMPLE_GET_FUNC(AttackData, GetBasePower, u8);
|
||||
SIMPLE_GET_FUNC(AttackData, GetAccuracy, u8);
|
||||
SIMPLE_GET_FUNC(AttackData, GetBaseUsages, u8);
|
||||
SIMPLE_GET_FUNC(AttackData, GetTarget, AttackTarget);
|
||||
SIMPLE_GET_FUNC(AttackData, GetPriority, int8_t);
|
||||
SIMPLE_GET_FUNC(AttackData, GetPriority, i8);
|
||||
|
||||
export bool CreatureLib_AttackData_HasSecondaryEffect(const AttackData* p) { return p->HasSecondaryEffect(); }
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export uint8_t CreatureLib_AttackLibrary_Construct(AttackLibrary*& library, size_t initialCapacity = 32) {
|
||||
export u8 CreatureLib_AttackLibrary_Construct(AttackLibrary*& library, size_t initialCapacity = 32) {
|
||||
Try(library = new AttackLibrary(initialCapacity);)
|
||||
};
|
||||
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
#include "../Core.hpp"
|
||||
|
||||
#define BASELIBRARY(simpleName, fullname, returnType) \
|
||||
export uint8_t simpleName##_Insert(fullname* p, const char* name, returnType* t) { \
|
||||
export u8 simpleName##_Insert(fullname* p, const char* name, returnType* t) { \
|
||||
Try(p->Insert(ArbUt::StringView::CalculateHash(name), t);) \
|
||||
} \
|
||||
\
|
||||
export uint8_t simpleName##_InsertWithHash(fullname* p, uint32_t hashedKey, returnType* t) { \
|
||||
Try(p->Insert(hashedKey, t);) \
|
||||
} \
|
||||
export u8 simpleName##_InsertWithHash(fullname* p, u32 hashedKey, returnType* t) { Try(p->Insert(hashedKey, t);) } \
|
||||
\
|
||||
export uint8_t simpleName##_Delete(fullname* p, const char* name) { \
|
||||
export u8 simpleName##_Delete(fullname* p, const char* name) { \
|
||||
Try(p->Delete(ArbUt::StringView::CalculateHash(name));) \
|
||||
} \
|
||||
\
|
||||
export uint8_t simpleName##_DeleteWithHash(fullname* p, uint32_t hashedKey) { Try(p->Delete(hashedKey);) } \
|
||||
export u8 simpleName##_DeleteWithHash(fullname* p, u32 hashedKey) { Try(p->Delete(hashedKey);) } \
|
||||
\
|
||||
export bool simpleName##_TryGet(fullname* p, const char* name, const returnType*& out) { \
|
||||
ArbUt::BorrowedPtr<const returnType> o; \
|
||||
@@ -27,7 +25,7 @@
|
||||
} \
|
||||
} \
|
||||
\
|
||||
export bool simpleName##_TryGetWithHash(fullname* p, uint32_t hashedKey, const returnType*& out) { \
|
||||
export bool simpleName##_TryGetWithHash(fullname* p, u32 hashedKey, const returnType*& out) { \
|
||||
ArbUt::BorrowedPtr<const returnType> o; \
|
||||
auto v = p->TryGet(hashedKey); \
|
||||
if (!v.has_value()) { \
|
||||
@@ -39,15 +37,15 @@
|
||||
} \
|
||||
} \
|
||||
\
|
||||
export uint8_t simpleName##_Get(fullname* p, const char* name, const returnType*& out) { \
|
||||
export u8 simpleName##_Get(fullname* p, const char* name, const returnType*& out) { \
|
||||
Try(out = p->Get(ArbUt::StringView::CalculateHash(name)).GetRaw();) \
|
||||
} \
|
||||
\
|
||||
export uint8_t simpleName##_GetWithHash(fullname* p, uint32_t hashedKey, const returnType*& out) { \
|
||||
export u8 simpleName##_GetWithHash(fullname* p, u32 hashedKey, const returnType*& out) { \
|
||||
Try(out = p->Get(hashedKey).GetRaw();) \
|
||||
} \
|
||||
\
|
||||
export size_t simpleName##_GetCount(fullname* p) { return p->GetCount(); } \
|
||||
export uint8_t simpleName##_GetAtIndex(fullname* p, size_t index, const returnType*& out) { \
|
||||
export u8 simpleName##_GetAtIndex(fullname* p, size_t index, const returnType*& out) { \
|
||||
Try(out = p->GetAtIndex(index).GetRaw();) \
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export uint8_t CreatureLib_CreatureSpecies_Construct(CreatureSpecies*& out, uint16_t id, const char* name,
|
||||
SpeciesVariant* defaultVariant, float genderRatio,
|
||||
const char* growthRate, uint8_t captureRate, const char* flags[],
|
||||
size_t flagsCount) {
|
||||
export u8 CreatureLib_CreatureSpecies_Construct(CreatureSpecies*& out, u16 id, const char* name,
|
||||
SpeciesVariant* defaultVariant, float genderRatio,
|
||||
const char* growthRate, u8 captureRate, const char* flags[],
|
||||
size_t flagsCount) {
|
||||
|
||||
Try(std::unordered_set<uint32_t> conversedFlags(flagsCount);
|
||||
Try(std::unordered_set<u32> conversedFlags(flagsCount);
|
||||
for (size_t i = 0; i < flagsCount; i++) { conversedFlags.insert(ArbUt::StringView::CalculateHash(flags[i])); }
|
||||
|
||||
out = new CreatureSpecies(id, ArbUt::StringView(name), defaultVariant, genderRatio,
|
||||
@@ -16,9 +16,9 @@ export uint8_t CreatureLib_CreatureSpecies_Construct(CreatureSpecies*& out, uint
|
||||
|
||||
export void CreatureLib_CreatureSpecies_Destruct(const CreatureSpecies* p) { delete p; }
|
||||
|
||||
SIMPLE_GET_FUNC(CreatureSpecies, GetId, uint16_t);
|
||||
SIMPLE_GET_FUNC(CreatureSpecies, GetId, u16);
|
||||
SIMPLE_GET_FUNC(CreatureSpecies, GetGenderRate, float);
|
||||
SIMPLE_GET_FUNC(CreatureSpecies, GetCaptureRate, uint8_t);
|
||||
SIMPLE_GET_FUNC(CreatureSpecies, GetCaptureRate, u8);
|
||||
export const char* CreatureLib_CreatureSpecies_GetName(const CreatureSpecies* p) { return p->GetName().c_str(); }
|
||||
export const char* CreatureLib_CreatureSpecies_GetGrowthRate(const CreatureSpecies* p) {
|
||||
return p->GetGrowthRate().c_str();
|
||||
@@ -26,7 +26,7 @@ export const char* CreatureLib_CreatureSpecies_GetGrowthRate(const CreatureSpeci
|
||||
export bool CreatureLib_CreatureSpecies_HasVariant(const CreatureSpecies* p, const char* name) {
|
||||
return p->HasVariant(ArbUt::StringView::CalculateHash(name));
|
||||
}
|
||||
export bool CreatureLib_CreatureSpecies_HasVariantWithHash(const CreatureSpecies* p, uint32_t hash) {
|
||||
export bool CreatureLib_CreatureSpecies_HasVariantWithHash(const CreatureSpecies* p, u32 hash) {
|
||||
return p->HasVariant(hash);
|
||||
}
|
||||
export bool CreatureLib_CreatureSpecies_TryGetVariant(const CreatureSpecies* p, const char* name,
|
||||
@@ -37,7 +37,7 @@ export bool CreatureLib_CreatureSpecies_TryGetVariant(const CreatureSpecies* p,
|
||||
out = res.value();
|
||||
return true;
|
||||
}
|
||||
export bool CreatureLib_CreatureSpecies_TryGetVariantWithHash(const CreatureSpecies* p, uint32_t hash,
|
||||
export bool CreatureLib_CreatureSpecies_TryGetVariantWithHash(const CreatureSpecies* p, u32 hash,
|
||||
const SpeciesVariant*& out) {
|
||||
auto res = p->TryGetVariant(hash);
|
||||
if (!res.has_value())
|
||||
@@ -46,15 +46,15 @@ export bool CreatureLib_CreatureSpecies_TryGetVariantWithHash(const CreatureSpec
|
||||
return true;
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_CreatureSpecies_GetVariant(const SpeciesVariant*& out, const CreatureSpecies* p,
|
||||
const char* name) {
|
||||
export u8 CreatureLib_CreatureSpecies_GetVariant(const SpeciesVariant*& out, const CreatureSpecies* p,
|
||||
const char* name) {
|
||||
Try(out = p->GetVariant(ArbUt::StringView::CalculateHash(name)).GetRaw();)
|
||||
}
|
||||
export uint8_t CreatureLib_CreatureSpecies_GetVariantWithHash(const SpeciesVariant*& out, const CreatureSpecies* p,
|
||||
uint32_t hash) {
|
||||
export u8 CreatureLib_CreatureSpecies_GetVariantWithHash(const SpeciesVariant*& out, const CreatureSpecies* p,
|
||||
u32 hash) {
|
||||
Try(out = p->GetVariant(hash).GetRaw();)
|
||||
}
|
||||
export uint8_t CreatureLib_CreatureSpecies_SetVariant(CreatureSpecies* p, const char* name, SpeciesVariant* variant) {
|
||||
export u8 CreatureLib_CreatureSpecies_SetVariant(CreatureSpecies* p, const char* name, SpeciesVariant* variant) {
|
||||
Try(p->SetVariant(ArbUt::StringView(name), variant);)
|
||||
}
|
||||
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export uint8_t CreatureLib_DataLibrary_Construct(const DataLibrary*& out, LibrarySettings* settings,
|
||||
SpeciesLibrary* species, AttackLibrary* attacks, ItemLibrary* items,
|
||||
GrowthRateLibrary* growthRates, TypeLibrary* typeLibrary,
|
||||
TalentLibrary* talentLibrary) {
|
||||
export u8 CreatureLib_DataLibrary_Construct(const DataLibrary*& out, LibrarySettings* settings, SpeciesLibrary* species,
|
||||
AttackLibrary* attacks, ItemLibrary* items, GrowthRateLibrary* growthRates,
|
||||
TypeLibrary* typeLibrary, TalentLibrary* talentLibrary) {
|
||||
Try(out = new DataLibrary(settings, species, attacks, items, growthRates, typeLibrary, talentLibrary);)
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export EffectParameter* CreatureLib_EffectParameter_FromBool(bool b) { return new EffectParameter(b); }
|
||||
export EffectParameter* CreatureLib_EffectParameter_FromInt(int64_t i) { return new EffectParameter(i); }
|
||||
export EffectParameter* CreatureLib_EffectParameter_FromInt(i64 i) { return new EffectParameter(i); }
|
||||
export EffectParameter* CreatureLib_EffectParameter_FromFloat(float f) { return new EffectParameter(f); }
|
||||
export EffectParameter* CreatureLib_EffectParameter_FromString(const char* c) {
|
||||
return new EffectParameter(ArbUt::StringView(c));
|
||||
@@ -11,9 +11,9 @@ export EffectParameter* CreatureLib_EffectParameter_FromString(const char* c) {
|
||||
|
||||
export void CreatureLib_EffectParameter_Destruct(const EffectParameter* p) { delete p; }
|
||||
export EffectParameterType CreatureLib_EffectParameter_GetType(const EffectParameter* p) { return p->GetType(); }
|
||||
export uint8_t CreatureLib_EffectParameter_AsBool(const EffectParameter* p, bool& out) { Try(out = p->AsBool();) }
|
||||
export uint8_t CreatureLib_EffectParameter_AsInt(const EffectParameter* p, int64_t& out) { Try(out = p->AsInt();) }
|
||||
export uint8_t CreatureLib_EffectParameter_AsFloat(const EffectParameter* p, float& out) { Try(out = p->AsFloat();) }
|
||||
export uint8_t CreatureLib_EffectParameter_AsString(const EffectParameter* p, const char*& out) {
|
||||
export u8 CreatureLib_EffectParameter_AsBool(const EffectParameter* p, bool& out) { Try(out = p->AsBool();) }
|
||||
export u8 CreatureLib_EffectParameter_AsInt(const EffectParameter* p, i64& out) { Try(out = p->AsInt();) }
|
||||
export u8 CreatureLib_EffectParameter_AsFloat(const EffectParameter* p, float& out) { Try(out = p->AsFloat();) }
|
||||
export u8 CreatureLib_EffectParameter_AsString(const EffectParameter* p, const char*& out) {
|
||||
Try(out = p->AsString().c_str();)
|
||||
}
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export GrowthRate* CreatureLib_LookupGrowthRate_Construct(uint32_t experiencePerLevel[], size_t count) {
|
||||
ArbUt::List<uint32_t> exp(experiencePerLevel, experiencePerLevel + count);
|
||||
export GrowthRate* CreatureLib_LookupGrowthRate_Construct(u32 experiencePerLevel[], size_t count) {
|
||||
ArbUt::List<u32> exp(experiencePerLevel, experiencePerLevel + count);
|
||||
return new LookupGrowthRate(exp);
|
||||
};
|
||||
|
||||
export uint8_t CreatureLib_ExternGrowthRate_Construct(GrowthRate*& out, level_int_t (*calcLevel)(uint32_t),
|
||||
uint32_t (*calcExperience)(level_int_t)) {
|
||||
export u8 CreatureLib_ExternGrowthRate_Construct(GrowthRate*& out, level_int_t (*calcLevel)(u32),
|
||||
u32 (*calcExperience)(level_int_t)) {
|
||||
Try(out = new ExternGrowthRate(calcLevel, calcExperience);)
|
||||
};
|
||||
|
||||
@@ -18,10 +18,10 @@ export void CreatureLib_GrowthRate_Destruct(const GrowthRate* p) { delete p; }
|
||||
export void CreatureLib_LookupGrowthRate_Destruct(const LookupGrowthRate* p) { delete p; }
|
||||
export void CreatureLib_ExternGrowthRate_Destruct(const ExternGrowthRate* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_GrowthRate_CalculateLevel(level_int_t& out, const GrowthRate* p, uint32_t experience) {
|
||||
export u8 CreatureLib_GrowthRate_CalculateLevel(level_int_t& out, const GrowthRate* p, u32 experience) {
|
||||
Try(out = p->CalculateLevel(experience);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_GrowthRate_CalculateExperience(uint32_t& out, const GrowthRate* p, level_int_t level) {
|
||||
export u8 CreatureLib_GrowthRate_CalculateExperience(u32& out, const GrowthRate* p, level_int_t level) {
|
||||
Try(out = p->CalculateExperience(level);)
|
||||
}
|
||||
@@ -8,30 +8,30 @@ export GrowthRateLibrary* CreatureLib_GrowthRateLibrary_Construct(size_t initial
|
||||
|
||||
export void CreatureLib_GrowthRateLibrary_Destruct(GrowthRateLibrary* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_GrowthRateLibrary_CalculateLevel(level_int_t& out, GrowthRateLibrary* library,
|
||||
const char* growthRate, uint32_t experience) {
|
||||
export u8 CreatureLib_GrowthRateLibrary_CalculateLevel(level_int_t& out, GrowthRateLibrary* library,
|
||||
const char* growthRate, u32 experience) {
|
||||
Try(out = library->CalculateLevel(ArbUt::StringView::CalculateHash(growthRate), experience);)
|
||||
}
|
||||
export uint8_t CreatureLib_GrowthRateLibrary_CalculateLevelWithHash(level_int_t& out, GrowthRateLibrary* library,
|
||||
uint32_t growthRateHash, uint32_t experience) {
|
||||
export u8 CreatureLib_GrowthRateLibrary_CalculateLevelWithHash(level_int_t& out, GrowthRateLibrary* library,
|
||||
u32 growthRateHash, u32 experience) {
|
||||
Try(out = library->CalculateLevel(growthRateHash, experience);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_GrowthRateLibrary_CalculateExperience(uint32_t& out, GrowthRateLibrary* library,
|
||||
const char* growthRate, level_int_t level) {
|
||||
export u8 CreatureLib_GrowthRateLibrary_CalculateExperience(u32& out, GrowthRateLibrary* library,
|
||||
const char* growthRate, level_int_t level) {
|
||||
Try(out = library->CalculateExperience(ArbUt::StringView::CalculateHash(growthRate), level);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_GrowthRateLibrary_CalculateExperienceWithHash(uint32_t& out, GrowthRateLibrary* library,
|
||||
uint32_t growthRateHash, level_int_t level) {
|
||||
export u8 CreatureLib_GrowthRateLibrary_CalculateExperienceWithHash(u32& out, GrowthRateLibrary* library,
|
||||
u32 growthRateHash, level_int_t level) {
|
||||
Try(out = library->CalculateExperience(growthRateHash, level);)
|
||||
}
|
||||
export uint8_t CreatureLib_GrowthRateLibrary_AddGrowthRate(GrowthRateLibrary* library, const char* growthRateName,
|
||||
GrowthRate* growthRate) {
|
||||
export u8 CreatureLib_GrowthRateLibrary_AddGrowthRate(GrowthRateLibrary* library, const char* growthRateName,
|
||||
GrowthRate* growthRate) {
|
||||
Try(library->AddGrowthRate(ArbUt::StringView::CalculateHash(growthRateName), growthRate);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_GrowthRateLibrary_AddGrowthRateWithHash(GrowthRateLibrary* library, uint32_t growthRateHash,
|
||||
GrowthRate* growthRate) {
|
||||
export u8 CreatureLib_GrowthRateLibrary_AddGrowthRateWithHash(GrowthRateLibrary* library, u32 growthRateHash,
|
||||
GrowthRate* growthRate) {
|
||||
Try(library->AddGrowthRate(growthRateHash, growthRate);)
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export Item* CreatureLib_Item_Construct(const char* name, ItemCategory category, BattleItemCategory battleCategory,
|
||||
int32_t price, const char* effectName, EffectParameter* effectParameters[],
|
||||
i32 price, const char* effectName, EffectParameter* effectParameters[],
|
||||
size_t effectParameterCount, const char* battleTriggerEffectName,
|
||||
EffectParameter* battleTriggerEffectParameters[],
|
||||
size_t battleTriggerEffectParameterCount, const char* flags[],
|
||||
size_t flagsCount) {
|
||||
std::unordered_set<uint32_t> conversedFlags(flagsCount);
|
||||
std::unordered_set<u32> conversedFlags(flagsCount);
|
||||
for (size_t i = 0; i < flagsCount; i++) {
|
||||
conversedFlags.insert(ArbUt::StringView::CalculateHash(flags[i]));
|
||||
}
|
||||
@@ -29,7 +29,7 @@ export void CreatureLib_Item_Destruct(const Item* p) { delete p; }
|
||||
export const char* CreatureLib_Item_GetName(const Item* p) { return p->GetName().c_str(); }
|
||||
SIMPLE_GET_FUNC(Item, GetCategory, ItemCategory);
|
||||
SIMPLE_GET_FUNC(Item, GetBattleCategory, BattleItemCategory);
|
||||
SIMPLE_GET_FUNC(Item, GetPrice, int32_t);
|
||||
SIMPLE_GET_FUNC(Item, GetPrice, i32);
|
||||
|
||||
export bool CreatureLib_Item_HasFlag(const Item* p, const char* key) {
|
||||
return p->HasFlag(ArbUt::StringView::CalculateHash(key));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export uint8_t CreatureLib_LearnableAttacks_Construct(LearnableAttacks*& out, size_t levelAttackCapacity) {
|
||||
export u8 CreatureLib_LearnableAttacks_Construct(LearnableAttacks*& out, size_t levelAttackCapacity) {
|
||||
Try(out = new LearnableAttacks(levelAttackCapacity);)
|
||||
};
|
||||
|
||||
@@ -13,13 +13,13 @@ export void CreatureLib_LearnableAttacks_AddLevelAttack(LearnableAttacks* p, lev
|
||||
p->AddLevelAttack(level, attack);
|
||||
}
|
||||
|
||||
export const AttackData* const* CreatureLib_LearnableAttacks_GetAttacksForLevel(LearnableAttacks* p, uint8_t level) {
|
||||
export const AttackData* const* CreatureLib_LearnableAttacks_GetAttacksForLevel(LearnableAttacks* p, u8 level) {
|
||||
return reinterpret_cast<const AttackData* const*>(p->GetAttacksForLevel(level).RawData());
|
||||
}
|
||||
export bool CreatureLib_LearnableAttacks_HasAttacksForLevel(LearnableAttacks* p, uint8_t level) {
|
||||
export bool CreatureLib_LearnableAttacks_HasAttacksForLevel(LearnableAttacks* p, u8 level) {
|
||||
return p->HasAttacksForLevel(level);
|
||||
}
|
||||
export size_t CreatureLib_LearnableAttacks_GetAttacksForLevelCount(LearnableAttacks* p, uint8_t level) {
|
||||
export size_t CreatureLib_LearnableAttacks_GetAttacksForLevelCount(LearnableAttacks* p, u8 level) {
|
||||
return p->GetAttacksForLevel(level).Count();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export const LibrarySettings* CreatureLib_LibrarySettings_Construct(uint8_t maximalLevel, uint8_t maximalMoves) {
|
||||
export const LibrarySettings* CreatureLib_LibrarySettings_Construct(u8 maximalLevel, u8 maximalMoves) {
|
||||
return new LibrarySettings(maximalLevel, maximalMoves);
|
||||
}
|
||||
|
||||
export void CreatureLib_LibrarySettings_Destruct(const LibrarySettings* p) { delete p; }
|
||||
|
||||
SIMPLE_GET_FUNC(LibrarySettings, GetMaximalLevel, level_int_t);
|
||||
SIMPLE_GET_FUNC(LibrarySettings, GetMaximalAttacks, uint8_t);
|
||||
SIMPLE_GET_FUNC(LibrarySettings, GetMaximalAttacks, u8);
|
||||
@@ -11,6 +11,6 @@ export void CreatureLib_SpeciesLibrary_Destruct(const SpeciesLibrary* p) { delet
|
||||
|
||||
BASELIBRARY(CreatureLib_SpeciesLibrary, SpeciesLibrary, CreatureSpecies);
|
||||
|
||||
export const CreatureSpecies* CreatureLib_SpeciesLibrary_GetById(const SpeciesLibrary* p, uint16_t id) {
|
||||
export const CreatureSpecies* CreatureLib_SpeciesLibrary_GetById(const SpeciesLibrary* p, u16 id) {
|
||||
return p->GetById(id).GetRaw();
|
||||
}
|
||||
@@ -3,15 +3,13 @@
|
||||
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export SpeciesVariant*
|
||||
CreatureLib_SpeciesVariant_Construct(const char* name, float height, float weight, uint32_t baseExperience,
|
||||
uint8_t types[], size_t typeLength, uint16_t baseHealth, uint16_t baseAttack,
|
||||
uint16_t baseDefense, uint16_t baseMagicalAttack, uint16_t baseMagicalDefense,
|
||||
uint16_t baseSpeed, const Talent* talents[], size_t talentsLength,
|
||||
const Talent* secretTalents[], size_t secretTalentsLength,
|
||||
const LearnableAttacks* attacks, const char* flags[], size_t flagsCount) {
|
||||
export SpeciesVariant* CreatureLib_SpeciesVariant_Construct(
|
||||
const char* name, float height, float weight, u32 baseExperience, u8 types[], size_t typeLength, u16 baseHealth,
|
||||
u16 baseAttack, u16 baseDefense, u16 baseMagicalAttack, u16 baseMagicalDefense, u16 baseSpeed,
|
||||
const Talent* talents[], size_t talentsLength, const Talent* secretTalents[], size_t secretTalentsLength,
|
||||
const LearnableAttacks* attacks, const char* flags[], size_t flagsCount) {
|
||||
|
||||
std::unordered_set<uint32_t> conversedFlags(flagsCount);
|
||||
std::unordered_set<u32> conversedFlags(flagsCount);
|
||||
for (size_t i = 0; i < flagsCount; i++) {
|
||||
conversedFlags.insert(ArbUt::StringView::CalculateHash(flags[i]));
|
||||
}
|
||||
@@ -25,11 +23,11 @@ CreatureLib_SpeciesVariant_Construct(const char* name, float height, float weigh
|
||||
secretTalentsWrapped.Append(secretTalents[i]);
|
||||
}
|
||||
|
||||
return new SpeciesVariant(
|
||||
ArbUt::StringView(name), height, weight, baseExperience, ArbUt::List<uint8_t>(types, types + typeLength),
|
||||
CreatureLib::Library::StatisticSet<uint16_t>(baseHealth, baseAttack, baseDefense, baseMagicalAttack,
|
||||
baseMagicalDefense, baseSpeed),
|
||||
talentsWrapped, secretTalentsWrapped, attacks, conversedFlags);
|
||||
return new SpeciesVariant(ArbUt::StringView(name), height, weight, baseExperience,
|
||||
ArbUt::List<u8>(types, types + typeLength),
|
||||
CreatureLib::Library::StatisticSet<u16>(baseHealth, baseAttack, baseDefense,
|
||||
baseMagicalAttack, baseMagicalDefense, baseSpeed),
|
||||
talentsWrapped, secretTalentsWrapped, attacks, conversedFlags);
|
||||
}
|
||||
|
||||
export void CreatureLib_SpeciesVariant_Destruct(SpeciesVariant* p) { delete p; }
|
||||
@@ -37,21 +35,21 @@ export void CreatureLib_SpeciesVariant_Destruct(SpeciesVariant* p) { delete p; }
|
||||
export const char* CreatureLib_SpeciesVariant_GetName(SpeciesVariant* p) { return p->GetName().c_str(); }
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetHeight, float);
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetWeight, float);
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetBaseExperience, uint32_t);
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetBaseExperience, u32);
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetTypeCount, size_t);
|
||||
export uint8_t CreatureLib_SpeciesVariant_GetType(SpeciesVariant* p, size_t index) { return p->GetType(index); }
|
||||
export uint16_t CreatureLib_SpeciesVariant_GetStatistic(SpeciesVariant* p, CreatureLib::Library::Statistic stat) {
|
||||
export u8 CreatureLib_SpeciesVariant_GetType(SpeciesVariant* p, size_t index) { return p->GetType(index); }
|
||||
export u16 CreatureLib_SpeciesVariant_GetStatistic(SpeciesVariant* p, CreatureLib::Library::Statistic stat) {
|
||||
return p->GetStatistic(stat);
|
||||
}
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetTalentCount, size_t);
|
||||
SIMPLE_GET_FUNC(SpeciesVariant, GetSecretTalentCount, size_t);
|
||||
export uint8_t CreatureLib_SpeciesVariant_GetTalent(SpeciesVariant* p, bool secret, uint8_t index, const Talent*& out) {
|
||||
export u8 CreatureLib_SpeciesVariant_GetTalent(SpeciesVariant* p, bool secret, u8 index, const Talent*& out) {
|
||||
Try(out = p->GetTalent(TalentIndex(secret, index)).GetRaw();)
|
||||
}
|
||||
export const LearnableAttacks* CreatureLib_SpeciesVariant_GetLearnableAttacks(SpeciesVariant* p) {
|
||||
return p->GetLearnableAttacks().GetRaw();
|
||||
}
|
||||
export uint8_t CreatureLib_SpeciesVariant_GetRandomTalent(SpeciesVariant* p, ArbUt::Random* rand) {
|
||||
export u8 CreatureLib_SpeciesVariant_GetRandomTalent(SpeciesVariant* p, ArbUt::Random* rand) {
|
||||
return p->GetRandomTalent(*rand).GetIndex();
|
||||
}
|
||||
export bool CreatureLib_SpeciesVariant_HasFlag(const SpeciesVariant* p, const char* key) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
using namespace CreatureLib::Library;
|
||||
|
||||
export uint8_t CreatureLib_TalentLibrary_Construct(TalentLibrary*& library, size_t initialCapacity = 32) {
|
||||
export u8 CreatureLib_TalentLibrary_Construct(TalentLibrary*& library, size_t initialCapacity = 32) {
|
||||
Try(library = new TalentLibrary(initialCapacity);)
|
||||
};
|
||||
|
||||
|
||||
@@ -8,27 +8,25 @@ export TypeLibrary* CreatureLib_TypeLibrary_Construct(size_t initialCapacity) {
|
||||
|
||||
export void CreatureLib_TypeLibrary_Destruct(const TypeLibrary* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_TypeLibrary_GetTypeId(uint8_t& out, const TypeLibrary* p, const char* type) {
|
||||
export u8 CreatureLib_TypeLibrary_GetTypeId(u8& out, const TypeLibrary* p, const char* type) {
|
||||
Try(out = p->GetTypeId(ArbUt::StringView(type));)
|
||||
}
|
||||
export uint8_t CreatureLib_TypeLibrary_RegisterType(uint8_t& out, TypeLibrary* p, const char* type) {
|
||||
export u8 CreatureLib_TypeLibrary_RegisterType(u8& out, TypeLibrary* p, const char* type) {
|
||||
Try(out = p->RegisterType(ArbUt::StringView(type));)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_TypeLibrary_SetEffectiveness(TypeLibrary* p, uint8_t attacking, uint8_t defensive,
|
||||
float effectiveness) {
|
||||
export u8 CreatureLib_TypeLibrary_SetEffectiveness(TypeLibrary* p, u8 attacking, u8 defensive, float effectiveness) {
|
||||
Try(p->SetEffectiveness(attacking, defensive, effectiveness);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_TypeLibrary_GetSingleEffectiveness(float& out, TypeLibrary* p, uint8_t attacking,
|
||||
uint8_t defensive) {
|
||||
export u8 CreatureLib_TypeLibrary_GetSingleEffectiveness(float& out, TypeLibrary* p, u8 attacking, u8 defensive) {
|
||||
Try(out = p->GetSingleEffectiveness(attacking, defensive);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_TypeLibrary_GetEffectiveness(float& out, TypeLibrary* p, uint8_t attacking,
|
||||
uint8_t defensive[], size_t defensiveCount) {
|
||||
Try(out = p->GetEffectiveness(attacking, std::vector<uint8_t>(defensive, defensive + defensiveCount));)
|
||||
export u8 CreatureLib_TypeLibrary_GetEffectiveness(float& out, TypeLibrary* p, u8 attacking, u8 defensive[],
|
||||
size_t defensiveCount) {
|
||||
Try(out = p->GetEffectiveness(attacking, std::vector<u8>(defensive, defensive + defensiveCount));)
|
||||
}
|
||||
export uint8_t CreatureLib_TypeLibrary_GetTypeName(const char*& out, TypeLibrary* p, uint8_t type) {
|
||||
export u8 CreatureLib_TypeLibrary_GetTypeName(const char*& out, TypeLibrary* p, u8 type) {
|
||||
Try(out = p->GetTypeName(type).c_str();)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user