diff --git a/src/glue/CCharacterCreation.cpp b/src/glue/CCharacterCreation.cpp new file mode 100644 index 0000000..f7625d4 --- /dev/null +++ b/src/glue/CCharacterCreation.cpp @@ -0,0 +1,3 @@ +#include "glue/CCharacterCreation.hpp" + +CSimpleModelFFX* CCharacterCreation::s_charCustomizeFrame; diff --git a/src/glue/CCharacterCreation.hpp b/src/glue/CCharacterCreation.hpp new file mode 100644 index 0000000..f0a058d --- /dev/null +++ b/src/glue/CCharacterCreation.hpp @@ -0,0 +1,12 @@ +#ifndef GLUE_C_CHARACTER_CREATION_HPP +#define GLUE_C_CHARACTER_CREATION_HPP + +class CSimpleModelFFX; + +class CCharacterCreation { + public: + // Static variables + static CSimpleModelFFX* s_charCustomizeFrame; +}; + +#endif diff --git a/src/glue/CCharacterCreationScript.cpp b/src/glue/CCharacterCreationScript.cpp index 35f77c0..b77efdc 100644 --- a/src/glue/CCharacterCreationScript.cpp +++ b/src/glue/CCharacterCreationScript.cpp @@ -1,12 +1,26 @@ #include "glue/CCharacterCreationScript.hpp" +#include "glue/CCharacterCreation.hpp" #include "ui/FrameScript.hpp" #include "ui/Types.hpp" +#include "ui/simple/CSimpleModelFFX.hpp" #include "util/Lua.hpp" #include "util/Unimplemented.hpp" #include int32_t Script_SetCharCustomizeFrame(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + if (!lua_isstring(L, 1)) { + luaL_error(L, "Usage: SetCharCustomizeFrame(\"frameName\")"); + return 0; + } + + auto type = CSimpleModel::GetObjectType(); + auto frame = static_cast(CScriptObject::GetScriptObjectByName(lua_tostring(L, 1), type)); + + if (frame) { + CCharacterCreation::s_charCustomizeFrame = frame; + } + + return 0; } int32_t Script_SetCharCustomizeBackground(lua_State* L) {