diff --git a/Source/Contents/EntryQueueMgr.cpp b/Source/Contents/EntryQueueMgr.cpp index 83ed296b..b98077c3 100644 --- a/Source/Contents/EntryQueueMgr.cpp +++ b/Source/Contents/EntryQueueMgr.cpp @@ -38,18 +38,76 @@ CEntryQueueMgr::~CEntryQueueMgr() { } // OFFSET: 0x00BA1F80 +// FUNCTION: fn_19660 +void CEntryQueueMgr::SendAdmissionReply(int result) { + if (this->current) { + EntryQueueAdmissionPacket packet; + packet.id = 0x8E0; + strcpy_s(packet.queueName, sizeof(packet.queueName), this->current->name); + strcpy_s(packet.characterName, sizeof(packet.characterName), this->characterName.text); + packet.result = static_cast(result); + if (result == 2) { + this->ready = 0; + } + + GetRagConnection().Send(g_packetLengths.FixedLength(packet.id), &packet); + } else if (result == 2) { + this->ready = 0; + } +} // OFFSET: 0x00BA2030 +// FUNCTION: fn_19661 +void CEntryQueueMgr::SendApply(std::uint16_t type, const char* name) { + EntryQueueApplyPacket packet; + packet.id = 0x8D7; + packet.type = type; + strncpy_s(packet.queueName, sizeof(packet.queueName), name, 23); + GetRagConnection().Send(g_packetLengths.FixedLength(packet.id), &packet); +} // OFFSET: 0x00BA20A0 +// FUNCTION: fn_19662 +void CEntryQueueMgr::SendCancel() { + if (this->current) { + EntryQueueNamePacket packet; + packet.id = 0x8DA; + strcpy_s(packet.queueName, sizeof(packet.queueName), this->current->name); + GetRagConnection().Send(g_packetLengths.FixedLength(packet.id), &packet); + } +} // OFFSET: 0x00BA2110 +// FUNCTION: fn_19663 +void CEntryQueueMgr::SendRankingRequest() { + if (this->current) { + EntryQueueNamePacket packet; + packet.id = 0x90A; + strcpy_s(packet.queueName, sizeof(packet.queueName), this->current->name); + GetRagConnection().Send(g_packetLengths.FixedLength(packet.id), &packet); + } +} // OFFSET: 0x00BA2180 +// FUNCTION: fn_19664 +void DestroyEntryQueueMgr() { + if (g_entryQueueMgr) { + delete g_entryQueueMgr; + g_entryQueueMgr = nullptr; + } +} // OFFSET: 0x00BA2250 +// FUNCTION: fn_19665 +void CEntryQueueMgr::SetQueueName(const EntryQueueName& name) { + this->queueName = name; +} // OFFSET: 0x00BA2270 +// FUNCTION: fn_19666 +void CEntryQueueMgr::SetCharacterName(const EntryQueueName& name) { + this->characterName = name; +} // OFFSET: 0x00BA28B0 // FUNCTION: fn_19669 @@ -59,3 +117,9 @@ void CEntryQueueMgr::ResetCurrent(int unused) { } // OFFSET: 0x00BA2EB0 +// FUNCTION: fn_19674 +void CEntryQueueMgr::OnNotify(const EntryQueueNotice* notice) { + if (notice->result == 1) { + g_soundMgr->PlayWave("se_btg_forward.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); + } +}