Updates to newer CreatureLib.
This commit is contained in:
parent
f8427fa594
commit
18cebe842a
|
@ -13,7 +13,7 @@ export uint8_t PkmnLib_AngelScriptResolver_CreateScript(AngelScriptResolver* p,
|
||||||
Try(p->CreateScript(name, script);)
|
Try(p->CreateScript(name, script);)
|
||||||
}
|
}
|
||||||
export uint8_t PkmnLib_AngelScriptResolver_FinalizeModule(AngelScriptResolver* p) { Try(p->FinalizeModule();) }
|
export uint8_t PkmnLib_AngelScriptResolver_FinalizeModule(AngelScriptResolver* p) { Try(p->FinalizeModule();) }
|
||||||
export uint8_t PkmnLib_AngelScriptResolver_LoadScript(CreatureLib::Battling::Script*& out, AngelScriptResolver* p,
|
export uint8_t PkmnLib_AngelScriptResolver_LoadScript(CreatureLib::Battling::BattleScript*& out, AngelScriptResolver* p,
|
||||||
ScriptCategory category, const char* scriptName) {
|
ScriptCategory category, const char* scriptName) {
|
||||||
Try(out = p->LoadScript(category, ArbUt::StringView(scriptName));)
|
Try(out = p->LoadScript(category, ArbUt::StringView(scriptName));)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ void PkmnLib::Battling::Battle::SetWeather(const ArbUt::StringView& name) {
|
||||||
if (_weatherScript != nullptr) {
|
if (_weatherScript != nullptr) {
|
||||||
_weatherScript->OnRemove();
|
_weatherScript->OnRemove();
|
||||||
}
|
}
|
||||||
_weatherScript = std::unique_ptr<CreatureLib::Battling::Script>(
|
_weatherScript = std::unique_ptr<CreatureLib::Battling::BattleScript>(
|
||||||
_library->LoadScript(static_cast<ScriptCategory>(PkmnScriptCategory::Weather), name));
|
_library->LoadScript(static_cast<ScriptCategory>(PkmnScriptCategory::Weather), name));
|
||||||
_eventHook.Trigger<WeatherChangeEvent>(name);
|
_eventHook.Trigger<WeatherChangeEvent>(name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,13 @@
|
||||||
#include <CreatureLib/Battling/Models/Battle.hpp>
|
#include <CreatureLib/Battling/Models/Battle.hpp>
|
||||||
#include "../EventHooks/WeatherChangeEvent.hpp"
|
#include "../EventHooks/WeatherChangeEvent.hpp"
|
||||||
#include "../Library/BattleLibrary.hpp"
|
#include "../Library/BattleLibrary.hpp"
|
||||||
|
#include "../PkmnScript.hpp"
|
||||||
#include "../PkmnScriptCategory.hpp"
|
#include "../PkmnScriptCategory.hpp"
|
||||||
|
|
||||||
namespace PkmnLib::Battling {
|
namespace PkmnLib::Battling {
|
||||||
class Battle : public CreatureLib::Battling::Battle {
|
class Battle : public CreatureLib::Battling::Battle {
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<CreatureLib::Battling::Script> _weatherScript = nullptr;
|
std::unique_ptr<CreatureLib::Battling::BattleScript> _weatherScript = nullptr;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Battle(const BattleLibrary* library, const ArbUt::List<CreatureLib::Battling::BattleParty*>& parties,
|
Battle(const BattleLibrary* library, const ArbUt::List<CreatureLib::Battling::BattleParty*>& parties,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef PKMNLIB_PKMNSCRIPT_HPP
|
#ifndef PKMNLIB_PKMNSCRIPT_HPP
|
||||||
#define PKMNLIB_PKMNSCRIPT_HPP
|
#define PKMNLIB_PKMNSCRIPT_HPP
|
||||||
#include <CreatureLib/Battling/ScriptHandling/Script.hpp>
|
#include <CreatureLib/Battling/ScriptHandling/BattleScript.hpp>
|
||||||
|
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
#pragma clang diagnostic push
|
#pragma clang diagnostic push
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace PkmnLib::Battling {
|
namespace PkmnLib::Battling {
|
||||||
class PkmnScript : public CreatureLib::Battling::Script {
|
class PkmnScript : public CreatureLib::Battling::BattleScript {
|
||||||
public:
|
public:
|
||||||
virtual void ModifyCriticalStage(CreatureLib::Battling::ExecutingAttack* attack,
|
virtual void ModifyCriticalStage(CreatureLib::Battling::ExecutingAttack* attack,
|
||||||
CreatureLib::Battling::Creature* target, uint8_t hit, uint8_t* critStage){};
|
CreatureLib::Battling::Creature* target, uint8_t hit, uint8_t* critStage){};
|
||||||
|
|
|
@ -32,7 +32,7 @@ void PkmnLib::Battling::Pokemon::SetStatus(const ArbUt::StringView& name) {
|
||||||
if (_statusScript != nullptr) {
|
if (_statusScript != nullptr) {
|
||||||
_statusScript->OnRemove();
|
_statusScript->OnRemove();
|
||||||
}
|
}
|
||||||
_statusScript = std::unique_ptr<CreatureLib::Battling::Script>(
|
_statusScript = std::unique_ptr<CreatureLib::Battling::BattleScript>(
|
||||||
_library->LoadScript(static_cast<ScriptCategory>(PkmnScriptCategory::Status), name));
|
_library->LoadScript(static_cast<ScriptCategory>(PkmnScriptCategory::Status), name));
|
||||||
if (_battle.HasValue()) {
|
if (_battle.HasValue()) {
|
||||||
_battle.GetValue()->TriggerEventListener<StatusChangeEvent>(this, name);
|
_battle.GetValue()->TriggerEventListener<StatusChangeEvent>(this, name);
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <CreatureLib/Battling/Models/Creature.hpp>
|
#include <CreatureLib/Battling/Models/Creature.hpp>
|
||||||
#include "../../Library/Statistic.hpp"
|
#include "../../Library/Statistic.hpp"
|
||||||
#include "../Library/BattleLibrary.hpp"
|
#include "../Library/BattleLibrary.hpp"
|
||||||
|
#include "../PkmnScript.hpp"
|
||||||
#include "LearnedMove.hpp"
|
#include "LearnedMove.hpp"
|
||||||
|
|
||||||
namespace PkmnLib::Battling {
|
namespace PkmnLib::Battling {
|
||||||
|
@ -13,7 +14,7 @@ namespace PkmnLib::Battling {
|
||||||
CreatureLib::Library::ClampedStatisticSet<uint8_t, 0, 252> _effortValues;
|
CreatureLib::Library::ClampedStatisticSet<uint8_t, 0, 252> _effortValues;
|
||||||
|
|
||||||
ArbUt::BorrowedPtr<const PkmnLib::Library::Nature> _nature;
|
ArbUt::BorrowedPtr<const PkmnLib::Library::Nature> _nature;
|
||||||
std::unique_ptr<CreatureLib::Battling::Script> _statusScript = nullptr;
|
std::unique_ptr<CreatureLib::Battling::BattleScript> _statusScript = nullptr;
|
||||||
uint8_t _friendship = 0;
|
uint8_t _friendship = 0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -27,11 +28,11 @@ namespace PkmnLib::Battling {
|
||||||
CreatureLib::Library::ClampedStatisticSet<uint8_t, 0, 31> individualValues,
|
CreatureLib::Library::ClampedStatisticSet<uint8_t, 0, 31> individualValues,
|
||||||
CreatureLib::Library::ClampedStatisticSet<uint8_t, 0, 252> effortValues,
|
CreatureLib::Library::ClampedStatisticSet<uint8_t, 0, 252> effortValues,
|
||||||
ArbUt::BorrowedPtr<const PkmnLib::Library::Nature> nature, bool allowedExperienceGain = true)
|
ArbUt::BorrowedPtr<const PkmnLib::Library::Nature> nature, bool allowedExperienceGain = true)
|
||||||
: CreatureLib::Battling::Creature(library.ForceAs<const CreatureLib::Battling::BattleLibrary>(),
|
: CreatureLib::Battling::Creature(
|
||||||
species.ForceAs<const CreatureLib::Library::CreatureSpecies>(),
|
library.ForceAs<const CreatureLib::Battling::BattleLibrary>(),
|
||||||
forme.ForceAs<const CreatureLib::Library::SpeciesVariant>(), level, experience,
|
species.ForceAs<const CreatureLib::Library::CreatureSpecies>(),
|
||||||
uid, gender, coloring, heldItem.ForceAs<const CreatureLib::Library::Item>(),
|
forme.ForceAs<const CreatureLib::Library::SpeciesVariant>(), level, experience, uid, gender, coloring,
|
||||||
nickname, talent, moves, allowedExperienceGain),
|
heldItem.ForceAs<const CreatureLib::Library::Item>(), nickname, talent, moves, allowedExperienceGain),
|
||||||
_individualValues(individualValues), _effortValues(effortValues), _nature(nature),
|
_individualValues(individualValues), _effortValues(effortValues), _nature(nature),
|
||||||
_friendship(species->GetBaseHappiness()) {}
|
_friendship(species->GetBaseHappiness()) {}
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ void AngelScriptResolver::MessageCallback(const asSMessageInfo* msg, void*) {
|
||||||
printf("%s (%d, %d) : %s : %s\n", msg->section, msg->row, msg->col, type, msg->message);
|
printf("%s (%d, %d) : %s : %s\n", msg->section, msg->row, msg->col, type, msg->message);
|
||||||
}
|
}
|
||||||
|
|
||||||
CreatureLib::Battling::Script* AngelScriptResolver::LoadScript(ScriptCategory category,
|
CreatureLib::Battling::BattleScript* AngelScriptResolver::LoadScript(ScriptCategory category,
|
||||||
const ArbUt::StringView& scriptName) {
|
const ArbUt::StringView& scriptName) {
|
||||||
ArbUt::Dictionary<ArbUt::StringView, AngelScriptTypeInfo*> innerDb;
|
ArbUt::Dictionary<ArbUt::StringView, AngelScriptTypeInfo*> innerDb;
|
||||||
auto v = _typeDatabase.TryGet(category);
|
auto v = _typeDatabase.TryGet(category);
|
||||||
|
|
|
@ -44,7 +44,8 @@ public:
|
||||||
|
|
||||||
void FinalizeModule();
|
void FinalizeModule();
|
||||||
|
|
||||||
CreatureLib::Battling::Script* LoadScript(ScriptCategory category, const ArbUt::StringView& scriptName) override;
|
CreatureLib::Battling::BattleScript* LoadScript(ScriptCategory category,
|
||||||
|
const ArbUt::StringView& scriptName) override;
|
||||||
|
|
||||||
void WriteByteCodeToFile(const char* file, bool stripDebugInfo = false);
|
void WriteByteCodeToFile(const char* file, bool stripDebugInfo = false);
|
||||||
void LoadByteCodeFromFile(const char* file);
|
void LoadByteCodeFromFile(const char* file);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef PKMNLIB_ANGELSCRIPTSCRIPT_HPP
|
#ifndef PKMNLIB_ANGELSCRIPTSCRIPT_HPP
|
||||||
#define PKMNLIB_ANGELSCRIPTSCRIPT_HPP
|
#define PKMNLIB_ANGELSCRIPTSCRIPT_HPP
|
||||||
#include <CreatureLib/Battling/ScriptHandling/Script.hpp>
|
#include <CreatureLib/Battling/ScriptHandling/BattleScript.hpp>
|
||||||
#define ANGELSCRIPT_DLL_LIBRARY_IMPORT
|
#define ANGELSCRIPT_DLL_LIBRARY_IMPORT
|
||||||
#include <angelscript.h>
|
#include <angelscript.h>
|
||||||
#include "../../../extern/angelscript_addons/scriptarray/scriptarray.h"
|
#include "../../../extern/angelscript_addons/scriptarray/scriptarray.h"
|
||||||
|
|
Loading…
Reference in New Issue