Make SpeciesVariants smart pointers.
Some checks reported errors
continuous-integration/drone/push Build was killed
Some checks reported errors
continuous-integration/drone/push Build was killed
This commit is contained in:
@@ -25,7 +25,7 @@ export void CreatureLib_Creature_Destruct(const Creature* p) { delete p; }
|
||||
export returnType CreatureLib_##type##_##name(const type* p) { return p->name().operator->(); }
|
||||
|
||||
SIMPLE_GET_FUNC_SMART_PTR(Creature, GetSpecies, const CreatureLib::Library::CreatureSpecies*);
|
||||
SIMPLE_GET_FUNC(Creature, GetVariant, const CreatureLib::Library::SpeciesVariant*);
|
||||
SIMPLE_GET_FUNC_SMART_PTR(Creature, GetVariant, const CreatureLib::Library::SpeciesVariant*);
|
||||
SIMPLE_GET_FUNC(Creature, GetLevel, uint8_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetExperience, uint32_t);
|
||||
SIMPLE_GET_FUNC(Creature, GetGender, CreatureLib::Library::Gender);
|
||||
@@ -84,7 +84,7 @@ export bool CreatureLib_Creature_HasVolatileScript(Creature* p, const char* scri
|
||||
export size_t CreatureLib_Creature_GetAttacksCount(Creature* p) { return p->GetAttacks().Count(); }
|
||||
export LearnedAttack* const* CreatureLib_Creature_GetAttacks(Creature* p) { return p->GetAttacks().RawData(); }
|
||||
SIMPLE_GET_FUNC_SMART_PTR(Creature, GetDisplaySpecies, const CreatureLib::Library::CreatureSpecies*);
|
||||
SIMPLE_GET_FUNC(Creature, GetDisplayVariant, const CreatureLib::Library::SpeciesVariant*);
|
||||
SIMPLE_GET_FUNC_SMART_PTR(Creature, GetDisplayVariant, const CreatureLib::Library::SpeciesVariant*);
|
||||
export void CreatureLib_Creature_SetDisplaySpecies(Creature* p, const CreatureLib::Library::CreatureSpecies* species) {
|
||||
return p->SetDisplaySpecies(borrowed_ptr<const CreatureLib::Library::CreatureSpecies>(species));
|
||||
}
|
||||
|
||||
@@ -30,20 +30,26 @@ export bool CreatureLib_CreatureSpecies_HasVariantWithHash(const CreatureSpecies
|
||||
}
|
||||
export bool CreatureLib_CreatureSpecies_TryGetVariant(const CreatureSpecies* p, const char* name,
|
||||
const SpeciesVariant*& out) {
|
||||
return p->TryGetVariant(Arbutils::CaseInsensitiveConstString::GetHash(name), out);
|
||||
borrowed_ptr<const SpeciesVariant> o;
|
||||
auto res = p->TryGetVariant(Arbutils::CaseInsensitiveConstString::GetHash(name), o);
|
||||
out = o.GetRaw();
|
||||
return res;
|
||||
}
|
||||
export bool CreatureLib_CreatureSpecies_TryGetVariantWithHash(const CreatureSpecies* p, uint32_t hash,
|
||||
const SpeciesVariant*& out) {
|
||||
return p->TryGetVariant(hash, out);
|
||||
borrowed_ptr<const SpeciesVariant> o;
|
||||
auto res = p->TryGetVariant(hash, o);
|
||||
out = o.GetRaw();
|
||||
return res;
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_CreatureSpecies_GetVariant(const SpeciesVariant*& out, const CreatureSpecies* p,
|
||||
const char* name) {
|
||||
Try(out = p->GetVariant(Arbutils::CaseInsensitiveConstString::GetHash(name));)
|
||||
Try(out = p->GetVariant(Arbutils::CaseInsensitiveConstString::GetHash(name)).GetRaw();)
|
||||
}
|
||||
export uint8_t CreatureLib_CreatureSpecies_GetVariantWithHash(const SpeciesVariant* out, const CreatureSpecies* p,
|
||||
uint32_t hash) {
|
||||
Try(out = p->GetVariant(hash);)
|
||||
Try(out = p->GetVariant(hash).GetRaw();)
|
||||
}
|
||||
export uint8_t CreatureLib_CreatureSpecies_SetVariant(CreatureSpecies* p, const char* name, SpeciesVariant* variant) {
|
||||
Try(p->SetVariant(Arbutils::CaseInsensitiveConstString(name), variant);)
|
||||
|
||||
Reference in New Issue
Block a user