feat(glue): implement CCharacterSelection::SetFacing

This commit is contained in:
fallenoak 2025-10-14 23:38:49 -05:00
parent edf68172ab
commit c7e2796e1d
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
2 changed files with 21 additions and 1 deletions

View File

@ -10,6 +10,7 @@
#include "object/client/Player_C.hpp"
#include "ui/CSimpleModelFFX.hpp"
int32_t CCharacterSelection::s_characterCount;
TSGrowableArray<CharacterSelectionDisplay> CCharacterSelection::s_characterList;
float CCharacterSelection::s_charFacing;
int32_t CCharacterSelection::s_enterWorldIndex;
@ -118,7 +119,25 @@ void CCharacterSelection::SetBackgroundModel(const char* modelPath) {
}
void CCharacterSelection::SetFacing(float facing) {
// TODO
if (!CCharacterSelection::s_characterCount) {
return;
}
CCharacterSelection::s_charFacing = facing;
if (!CCharacterSelection::s_characterList.Count()) {
return;
}
auto component = CCharacterSelection::s_characterList[CCharacterSelection::s_selectionIndex].component;
auto model = component->m_data.model;
if (!model) {
return;
}
C3Vector position = { 0.0f, 0.0f, 0.0f };
model->SetWorldTransform(position, facing, 1.0f);
}
void CCharacterSelection::ShowCharacter() {

View File

@ -18,6 +18,7 @@ struct CharacterSelectionDisplay {
class CCharacterSelection {
public:
// Static variables
static int32_t s_characterCount;
static TSGrowableArray<CharacterSelectionDisplay> s_characterList;
static float s_charFacing;
static int32_t s_enterWorldIndex;