feat(glue): implement Script_SetCharacterCreateFacing

This commit is contained in:
fallenoak 2025-12-30 10:34:40 -06:00
parent c494bb0041
commit c82ac35e19
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 22 additions and 1 deletions

View File

@ -239,6 +239,17 @@ void CCharacterCreation::SetCharCustomizeModel(const char* filename) {
}
}
void CCharacterCreation::SetFacing(float orientation) {
CCharacterCreation::s_charFacing = orientation;
auto characterModel = CCharacterCreation::s_character->m_data.model;
if (characterModel) {
C3Vector position = { 0.0f, 0.0f, 0.0f };
characterModel->SetWorldTransform(position, orientation, 1.0f);
}
}
void CCharacterCreation::SetSelectedClass(int32_t classID) {
if (!CCharacterCreation::IsClassValid(classID)) {
return;

View File

@ -31,6 +31,7 @@ class CCharacterCreation {
static bool IsClassValid(int32_t classID);
static void ResetCharCustomizeInfo();
static void SetCharCustomizeModel(const char* filename);
static void SetFacing(float orientation);
static void SetSelectedClass(int32_t classID);
};

View File

@ -273,7 +273,16 @@ int32_t Script_GetCharacterCreateFacing(lua_State* L) {
}
int32_t Script_SetCharacterCreateFacing(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
if (!lua_isnumber(L, 1)) {
luaL_error(L, "Usage: SetCharacterCreateFacing(degrees)");
return 0;
}
auto orientation = lua_tonumber(L, 1) * 0.017453292;
CCharacterCreation::SetFacing(orientation);
return 1;
}
int32_t Script_GetRandomName(lua_State* L) {