From d34336cd7e8d037980b13171e47bab2fccbed629 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Tue, 3 Feb 2026 17:03:59 -0600 Subject: [PATCH] feat(ui): add ActionBarRegisterScriptFunctions --- src/ui/game/ActionBarScript.cpp | 156 ++++++++++++++++++++++++++++++++ src/ui/game/ActionBarScript.hpp | 6 ++ src/ui/game/CGGameUI.cpp | 5 + 3 files changed, 167 insertions(+) create mode 100644 src/ui/game/ActionBarScript.cpp create mode 100644 src/ui/game/ActionBarScript.hpp diff --git a/src/ui/game/ActionBarScript.cpp b/src/ui/game/ActionBarScript.cpp new file mode 100644 index 0000000..88457cc --- /dev/null +++ b/src/ui/game/ActionBarScript.cpp @@ -0,0 +1,156 @@ +#include "ui/game/ActionBarScript.hpp" +#include "ui/FrameScript.hpp" +#include "util/Unimplemented.hpp" + +namespace { + +int32_t Script_GetActionInfo(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionTexture(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionCount(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionCooldown(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionAutocast(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionText(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_HasAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_UseAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_PickupAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_PlaceAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsAttackAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsCurrentAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsAutoRepeatAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsUsableAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsConsumableAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsStackableAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsEquippedAction(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_ActionHasRange(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsActionInRange(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetBonusBarOffset(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetMultiCastBarOffset(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_ChangeActionBarPage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionBarPage(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetActionBarToggles(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_SetActionBarToggles(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_IsPossessBarVisible(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_GetMultiCastTotemSpells(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +int32_t Script_SetMultiCastSpell(lua_State* L) { + WHOA_UNIMPLEMENTED(0); +} + +} + +static FrameScript_Method s_ScriptFunctions[] = { + { "GetActionInfo", &Script_GetActionInfo }, + { "GetActionTexture", &Script_GetActionTexture }, + { "GetActionCount", &Script_GetActionCount }, + { "GetActionCooldown", &Script_GetActionCooldown }, + { "GetActionAutocast", &Script_GetActionAutocast }, + { "GetActionText", &Script_GetActionText }, + { "HasAction", &Script_HasAction }, + { "UseAction", &Script_UseAction }, + { "PickupAction", &Script_PickupAction }, + { "PlaceAction", &Script_PlaceAction }, + { "IsAttackAction", &Script_IsAttackAction }, + { "IsCurrentAction", &Script_IsCurrentAction }, + { "IsAutoRepeatAction", &Script_IsAutoRepeatAction }, + { "IsUsableAction", &Script_IsUsableAction }, + { "IsConsumableAction", &Script_IsConsumableAction }, + { "IsStackableAction", &Script_IsStackableAction }, + { "IsEquippedAction", &Script_IsEquippedAction }, + { "ActionHasRange", &Script_ActionHasRange }, + { "IsActionInRange", &Script_IsActionInRange }, + { "GetBonusBarOffset", &Script_GetBonusBarOffset }, + { "GetMultiCastBarOffset", &Script_GetMultiCastBarOffset }, + { "ChangeActionBarPage", &Script_ChangeActionBarPage }, + { "GetActionBarPage", &Script_GetActionBarPage }, + { "GetActionBarToggles", &Script_GetActionBarToggles }, + { "SetActionBarToggles", &Script_SetActionBarToggles }, + { "IsPossessBarVisible", &Script_IsPossessBarVisible }, + { "GetMultiCastTotemSpells", &Script_GetMultiCastTotemSpells }, + { "SetMultiCastSpell", &Script_SetMultiCastSpell }, +}; + +void ActionBarRegisterScriptFunctions() { + for (auto& func : s_ScriptFunctions) { + FrameScript_RegisterFunction(func.name, func.method); + } +} diff --git a/src/ui/game/ActionBarScript.hpp b/src/ui/game/ActionBarScript.hpp new file mode 100644 index 0000000..a5c8ad8 --- /dev/null +++ b/src/ui/game/ActionBarScript.hpp @@ -0,0 +1,6 @@ +#ifndef UI_GAME_ACTION_BAR_SCRIPT_HPP +#define UI_GAME_ACTION_BAR_SCRIPT_HPP + +void ActionBarRegisterScriptFunctions(); + +#endif diff --git a/src/ui/game/CGGameUI.cpp b/src/ui/game/CGGameUI.cpp index f0f40a9..4591643 100644 --- a/src/ui/game/CGGameUI.cpp +++ b/src/ui/game/CGGameUI.cpp @@ -3,6 +3,7 @@ #include "ui/CScriptObject.hpp" #include "ui/FrameXML.hpp" #include "ui/Key.hpp" +#include "ui/game/ActionBarScript.hpp" #include "ui/game/BattlefieldInfoScript.hpp" #include "ui/game/CGCharacterModelBase.hpp" #include "ui/game/CGCooldown.hpp" @@ -46,6 +47,10 @@ void LoadScriptFunctions() { // TODO + ActionBarRegisterScriptFunctions(); + + // TODO + CharacterInfoRegisterScriptFunctions(); // TODO