feat(glue): add CGlueMgr::InitializeFFX

This commit is contained in:
fallenoak 2025-11-30 17:43:22 -06:00
parent 43b01a8178
commit 1eb97f5bb3
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 26 additions and 3 deletions

View File

@ -4,9 +4,10 @@
#include "client/Util.hpp"
#include "console/CVar.hpp"
#include "db/Db.hpp"
#include "ffx/Effect.hpp"
#include "glue/CCharacterSelection.hpp"
#include "glue/Character.hpp"
#include "glue/CRealmList.hpp"
#include "glue/Character.hpp"
#include "glue/GlueScript.hpp"
#include "glue/Types.hpp"
#include "gx/Coordinate.hpp"
@ -59,8 +60,11 @@ bool CGlueMgr::m_authenticated;
const CharacterSelectionDisplay* CGlueMgr::m_characterInfo;
int32_t CGlueMgr::m_clientKickReason;
char CGlueMgr::m_currentScreen[64];
EffectDeath* CGlueMgr::m_deathEffect;
int32_t CGlueMgr::m_disconnectPending;
int32_t CGlueMgr::m_displayingQueueDialog;
int32_t CGlueMgr::m_ffxActive;
EffectGlow* CGlueMgr::m_glowEffect;
CGlueMgr::GLUE_IDLE_STATE CGlueMgr::m_idleState;
int32_t CGlueMgr::m_initialized;
int32_t CGlueMgr::m_lastLoginResult;
@ -444,6 +448,19 @@ void CGlueMgr::Initialize() {
// AccountDataInitializeBasicSystem();
}
void CGlueMgr::InitializeFFX() {
if (CGlueMgr::m_ffxActive) {
return;
}
CGlueMgr::m_ffxActive = 1;
// TODO FFX::Init();
CGlueMgr::m_deathEffect = STORM_NEW(EffectDeath);
CGlueMgr::m_glowEffect = STORM_NEW(EffectGlow);
}
void CGlueMgr::LoginServerLogin(const char* accountName, const char* password) {
if (!CGlueMgr::m_scandllOkayToLogIn || !CGlueMgr::m_acceptedTOS || !CGlueMgr::m_acceptedEULA || CGlueMgr::m_idleState != IDLE_NONE) {
return;
@ -990,8 +1007,7 @@ void CGlueMgr::Resume() {
FrameScript_SignalEvent(22, nullptr);
// TODO
// CGlueMgr::InitializeFFX();
CGlueMgr::InitializeFFX();
// TODO
// ClientServices::SetMessageHandler(SMSG_CHARACTER_RENAME_RESULT, CGlueMgr::OnCharRenameResult, 0);

View File

@ -7,6 +7,8 @@
class CDataStore;
class CSimpleTop;
class EffectDeath;
class EffectGlow;
struct CharacterSelectionDisplay;
class CGlueMgr {
@ -40,8 +42,11 @@ class CGlueMgr {
static const CharacterSelectionDisplay* m_characterInfo;
static int32_t m_clientKickReason;
static char m_currentScreen[];
static EffectDeath* m_deathEffect;
static int32_t m_disconnectPending;
static int32_t m_displayingQueueDialog;
static int32_t m_ffxActive;
static EffectGlow* m_glowEffect;
static GLUE_IDLE_STATE m_idleState;
static int32_t m_initialized;
static int32_t m_lastLoginResult;
@ -69,6 +74,7 @@ class CGlueMgr {
static int32_t HandleDisplaySizeChanged(const CSizeEvent& event);
static int32_t Idle(const void* a1, void* a2); // TODO a1: const EVENT_DATA_IDLE*
static void Initialize();
static void InitializeFFX();
static void LoginServerLogin(const char* accountName, const char* password);
static int32_t NetDisconnectHandler(const void* a1, void* a2);
static int32_t OnKickReasonMsg(void* param, NETMESSAGE msgId, uint32_t time, CDataStore* msg);

View File

@ -16,6 +16,7 @@ target_link_libraries(glue
console
db
event
ffx
gx
model
net