Compare commits

...

4 Commits

Author SHA1 Message Date
Tristan 'Natrist' Cormier
8babab46e5
Merge 4a102c6ace into 71a31e19bd 2026-02-15 10:33:01 -05:00
Tristan Cormier
71a31e19bd chore(glue): rename IDLE_5 to IDLE_CREATE_CHARACTER
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
2026-02-14 22:32:19 -06:00
Tristan Cormier
d77b1dfd67 chore(net): rename character creation NETMESSAGE enum members 2026-02-14 22:25:16 -06:00
Tristan Cormier
4a102c6ace feat(glue): implement Script_ContestAccepted 2026-01-11 17:01:24 -05:00
5 changed files with 16 additions and 7 deletions

View File

@ -47,6 +47,7 @@ float CGlueMgr::m_aspect;
bool CGlueMgr::m_authenticated; bool CGlueMgr::m_authenticated;
const CharacterSelectionDisplay* CGlueMgr::m_characterInfo; const CharacterSelectionDisplay* CGlueMgr::m_characterInfo;
int32_t CGlueMgr::m_clientKickReason; int32_t CGlueMgr::m_clientKickReason;
int32_t CGlueMgr::m_contestAccepted = 1; // TODO
char CGlueMgr::m_currentScreen[64]; char CGlueMgr::m_currentScreen[64];
EffectDeath* CGlueMgr::m_deathEffect; EffectDeath* CGlueMgr::m_deathEffect;
int32_t CGlueMgr::m_disconnectPending; int32_t CGlueMgr::m_disconnectPending;
@ -1129,7 +1130,7 @@ void CGlueMgr::StatusDialogClick() {
} }
case IDLE_REALM_LIST: case IDLE_REALM_LIST:
case IDLE_5: case IDLE_CREATE_CHARACTER:
case IDLE_DELETE_CHARACTER: case IDLE_DELETE_CHARACTER:
case IDLE_ENTER_WORLD: { case IDLE_ENTER_WORLD: {
ClientServices::Connection()->Cancel(2); ClientServices::Connection()->Cancel(2);

View File

@ -20,7 +20,7 @@ class CGlueMgr {
IDLE_ACCOUNT_LOGIN = 2, IDLE_ACCOUNT_LOGIN = 2,
IDLE_CHARACTER_LIST = 3, IDLE_CHARACTER_LIST = 3,
IDLE_REALM_LIST = 4, IDLE_REALM_LIST = 4,
IDLE_5 = 5, IDLE_CREATE_CHARACTER = 5,
IDLE_DELETE_CHARACTER = 6, IDLE_DELETE_CHARACTER = 6,
IDLE_7 = 7, IDLE_7 = 7,
IDLE_8 = 8, IDLE_8 = 8,
@ -41,6 +41,7 @@ class CGlueMgr {
static bool m_authenticated; static bool m_authenticated;
static const CharacterSelectionDisplay* m_characterInfo; static const CharacterSelectionDisplay* m_characterInfo;
static int32_t m_clientKickReason; static int32_t m_clientKickReason;
static int32_t m_contestAccepted;
static char m_currentScreen[]; static char m_currentScreen[];
static EffectDeath* m_deathEffect; static EffectDeath* m_deathEffect;
static int32_t m_disconnectPending; static int32_t m_disconnectPending;

View File

@ -228,7 +228,14 @@ int32_t Script_ShowContestNotice(lua_State* L) {
} }
int32_t Script_ContestAccepted(lua_State* L) { int32_t Script_ContestAccepted(lua_State* L) {
WHOA_UNIMPLEMENTED(0); if (CGlueMgr::m_contestAccepted) {
lua_pushnumber(L, 1.0);
}
else {
lua_pushnil(L);
}
return 1;
} }
int32_t Script_AcceptContest(lua_State* L) { int32_t Script_AcceptContest(lua_State* L) {

View File

@ -60,11 +60,11 @@ enum NETMESSAGE {
CMSG_AUTH_SRP6_BEGIN = 0x0033, CMSG_AUTH_SRP6_BEGIN = 0x0033,
CMSG_AUTH_SRP6_PROOF = 0x0034, CMSG_AUTH_SRP6_PROOF = 0x0034,
CMSG_AUTH_SRP6_RECODE = 0x0035, CMSG_AUTH_SRP6_RECODE = 0x0035,
CMSG_CREATE_CHARACTER = 0x0036, CMSG_CHAR_CREATE = 0x0036,
CMSG_ENUM_CHARACTERS = 0x0037, CMSG_ENUM_CHARACTERS = 0x0037,
CMSG_CHAR_DELETE = 0x0038, CMSG_CHAR_DELETE = 0x0038,
SMSG_AUTH_SRP6_RESPONSE = 0x0039, SMSG_AUTH_SRP6_RESPONSE = 0x0039,
SMSG_CREATE_CHAR = 0x003A, SMSG_CHAR_CREATE = 0x003A,
SMSG_ENUM_CHARACTERS_RESULT = 0x003B, SMSG_ENUM_CHARACTERS_RESULT = 0x003B,
SMSG_DELETE_CHAR = 0x003C, SMSG_DELETE_CHAR = 0x003C,
CMSG_PLAYER_LOGIN = 0x003D, CMSG_PLAYER_LOGIN = 0x003D,

View File

@ -19,7 +19,7 @@ int32_t RealmConnection::MessageHandler(void* param, NETMESSAGE msgId, uint32_t
break; break;
} }
case SMSG_CREATE_CHAR: { case SMSG_CHAR_CREATE: {
// TODO // TODO
break; break;
} }
@ -91,7 +91,7 @@ RealmConnection::RealmConnection(RealmResponse* realmResponse) {
this->SetMessageHandler(SMSG_AUTH_RESPONSE, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_AUTH_RESPONSE, &RealmConnection::MessageHandler, this);
this->SetMessageHandler(SMSG_ADDON_INFO, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_ADDON_INFO, &RealmConnection::MessageHandler, this);
this->SetMessageHandler(SMSG_ENUM_CHARACTERS_RESULT, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_ENUM_CHARACTERS_RESULT, &RealmConnection::MessageHandler, this);
this->SetMessageHandler(SMSG_CREATE_CHAR, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_CHAR_CREATE, &RealmConnection::MessageHandler, this);
this->SetMessageHandler(SMSG_CHARACTER_LOGIN_FAILED, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_CHARACTER_LOGIN_FAILED, &RealmConnection::MessageHandler, this);
this->SetMessageHandler(SMSG_LOGOUT_COMPLETE, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_LOGOUT_COMPLETE, &RealmConnection::MessageHandler, this);
this->SetMessageHandler(SMSG_LOGOUT_CANCEL_ACK, &RealmConnection::MessageHandler, this); this->SetMessageHandler(SMSG_LOGOUT_CANCEL_ACK, &RealmConnection::MessageHandler, this);