Decompile fn_17849 (ModeBaseEvents::Send)
Batch #1039 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review. - fn_17849 ModeBaseEvents::Send: logic confirmed by peer review Reviewed-by: ragnarok-clanker Adds to the build: Source/Client/ModeBaseEvents.cpp
This commit is contained in:
parent
44f60ba6ca
commit
efee869d24
3 changed files with 78 additions and 0 deletions
44
Source/Client/ModeBaseEvents.cpp
Normal file
44
Source/Client/ModeBaseEvents.cpp
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
#include "Client/ModeBaseEvents.h"
|
||||
#include "Client/Mode/ActiveGameMode.h"
|
||||
#include "Contents/Configuration/ServiceConfiguration.h"
|
||||
#include "Contents/Party/AdventurerAgencyMgr.h"
|
||||
#include "Contents/UserData/AccountLinkedUserDataMgr.h"
|
||||
#include "Contents/UserData/CharacterLinkedUserDataMgr.h"
|
||||
|
||||
#include <shellapi.h>
|
||||
|
||||
// OFFSET: 0x00AD7500
|
||||
// FUNCTION: fn_17849
|
||||
int ModeBaseEvents::Send(int event, const char* text, int, int, int) {
|
||||
if (event == 2) {
|
||||
g_accountLinkedUserDataMgr->Save(this->emotions, this->script, this->persistenceAccountId, this->renderSystem, this->token16, this->work);
|
||||
if (g_world.state != 1) {
|
||||
if (g_world.gameMode) {
|
||||
g_world.gameMode->running = 0;
|
||||
}
|
||||
} else if (g_world.gameMode) {
|
||||
g_characterLinkedUserDataMgr->Save(this->characterSave, this->token16, this->work);
|
||||
if (g_world.state != 1) {
|
||||
if (g_world.gameMode) {
|
||||
g_world.gameMode->running = 0;
|
||||
}
|
||||
} else if (g_world.gameMode) {
|
||||
g_adventurerAgencyMgr->RequestStop(this->agency, this->stopRecruiting);
|
||||
if (g_world.gameMode) {
|
||||
g_world.gameMode->running = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_serviceType == 11) {
|
||||
ShellExecuteA(this->window, "open", "http://www.ragnarok.co.in/index.php", nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
g_world.running = 0;
|
||||
} else if (event == 68) {
|
||||
this->transitionRequested = 1;
|
||||
if (text) {
|
||||
this->transitionName = text;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
33
Source/Client/ModeBaseEvents.h
Normal file
33
Source/Client/ModeBaseEvents.h
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#ifndef RAGNAROK_SOURCE_CLIENT_MODEBASEEVENTS_H
|
||||
#define RAGNAROK_SOURCE_CLIENT_MODEBASEEVENTS_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <windows.h>
|
||||
|
||||
class CAsyncWorkMgr;
|
||||
class CRenderSystemBase;
|
||||
class LuaScript;
|
||||
struct EmotionHotkeys;
|
||||
struct CharacterConfigSave;
|
||||
struct AgencyRequestContext;
|
||||
struct StopRecruitingContext;
|
||||
|
||||
struct ModeBaseEvents {
|
||||
int& transitionRequested;
|
||||
std::string& transitionName;
|
||||
EmotionHotkeys& emotions;
|
||||
LuaScript& script;
|
||||
const std::uint32_t& persistenceAccountId;
|
||||
CRenderSystemBase*& renderSystem;
|
||||
const char* token16;
|
||||
CAsyncWorkMgr& work;
|
||||
CharacterConfigSave& characterSave;
|
||||
AgencyRequestContext& agency;
|
||||
StopRecruitingContext& stopRecruiting;
|
||||
HWND& window;
|
||||
|
||||
int Send(int event, const char* text, int argument2, int argument3, int argument4);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -257,6 +257,7 @@
|
|||
"Source/Client/Mode/ModeCursor.cpp": 0,
|
||||
"Source/Client/Mode/ModeDragState.cpp": 2,
|
||||
"Source/Client/Mode/ModeTooltip.cpp": 2,
|
||||
"Source/Client/ModeBaseEvents.cpp": 0,
|
||||
"Source/Client/ModeFade.cpp": 0,
|
||||
"Source/Client/ModeFadeOut.cpp": 0,
|
||||
"Source/Client/Registry.cpp": 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue