feat(ui): add ScriptEventsRegisterEvents

This commit is contained in:
fallenoak 2026-02-05 20:33:53 -06:00
parent 19f51db2e2
commit f08cbc0795
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
5 changed files with 17 additions and 5 deletions

View File

@ -11,8 +11,6 @@
#include <storm/String.hpp> #include <storm/String.hpp>
#include <tempest/Vector.hpp> #include <tempest/Vector.hpp>
const char* g_scriptEvents[722];
int32_t g_glueFrameScriptGenders[] = { int32_t g_glueFrameScriptGenders[] = {
2, // UNIT_SEX_MALE 2, // UNIT_SEX_MALE
3, // UNIT_SEX_FEMALE 3, // UNIT_SEX_FEMALE
@ -154,10 +152,12 @@ void FrameScript_CreateEvents(const char* names[], uint32_t count) {
FrameScript::s_scriptEvents.SetCount(count); FrameScript::s_scriptEvents.SetCount(count);
for (int32_t i = 0; i < count; i++) { for (int32_t i = 0; i < count; i++) {
if (names[i]) {
auto event = FrameScript::s_scriptEventsHash.New(names[i], 0, 0); auto event = FrameScript::s_scriptEventsHash.New(names[i], 0, 0);
FrameScript::s_scriptEvents[i] = event; FrameScript::s_scriptEvents[i] = event;
} }
} }
}
void FrameScript_Destroy() { void FrameScript_Destroy() {
// TODO // TODO

View File

@ -40,7 +40,6 @@ class FrameScript_EventObject : public TSHashObject<FrameScript_EventObject, HAS
}; };
extern int32_t g_glueFrameScriptGenders[UNITSEX_LAST]; extern int32_t g_glueFrameScriptGenders[UNITSEX_LAST];
extern const char* g_scriptEvents[722];
namespace FrameScript { namespace FrameScript {
extern void* s_mempool; extern void* s_mempool;

View File

@ -80,6 +80,7 @@ void CGGameUI::Initialize() {
// TODO // TODO
LoadScriptFunctions(); LoadScriptFunctions();
ScriptEventsRegisterEvents();
// TODO // TODO

View File

@ -10,6 +10,10 @@
#include "util/StringTo.hpp" #include "util/StringTo.hpp"
#include "util/Unimplemented.hpp" #include "util/Unimplemented.hpp"
#define NUM_SCRIPT_EVENTS 722
const char* g_scriptEvents[NUM_SCRIPT_EVENTS];
namespace { namespace {
int32_t Script_UnitExists(lua_State* L) { int32_t Script_UnitExists(lua_State* L) {
@ -1597,3 +1601,7 @@ void ScriptEventsInitialize() {
g_scriptEvents[720] = "CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM"; g_scriptEvents[720] = "CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM";
g_scriptEvents[721] = "CHAT_MSG_BN_INLINE_TOAST_CONVERSATION"; g_scriptEvents[721] = "CHAT_MSG_BN_INLINE_TOAST_CONVERSATION";
} }
void ScriptEventsRegisterEvents() {
FrameScript_CreateEvents(g_scriptEvents, NUM_SCRIPT_EVENTS);
}

View File

@ -1,8 +1,12 @@
#ifndef UI_GAME_SCRIPT_EVENTS_HPP #ifndef UI_GAME_SCRIPT_EVENTS_HPP
#define UI_GAME_SCRIPT_EVENTS_HPP #define UI_GAME_SCRIPT_EVENTS_HPP
extern const char* g_scriptEvents[];
void ScriptEventsInitialize(); void ScriptEventsInitialize();
void ScriptEventsRegisterEvents();
void ScriptEventsRegisterFunctions(); void ScriptEventsRegisterFunctions();
#endif #endif