Decompile 6 functions in Source/Client/Mode/CGameMode.h, Source/Client/Mode/CLoginMode.h, ...
Batch #8171 by eAthena: 0 byte-identical, 6 confirmed by peer review. - fn_16320 CreateRecommendedQuestInfo: logic confirmed by peer review - fn_17436 UIVideoSkipButton::UIVideoSkipButton: logic confirmed by peer review - fn_21219 UIVerticalNameBalloonText::UIVerticalNameBalloonText: logic confirmed by peer review - fn_22352 CBlowEffect::CBlowEffect: logic confirmed by peer review - fn_22246 CItem::CItem: logic confirmed by peer review - fn_22258 CLoginMode::CLoginMode: logic confirmed by peer review Peer-reviewed-by: Yommy, secret, gordaoprogramas Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
parent
679fad9ce6
commit
42110dca76
14 changed files with 72 additions and 7 deletions
|
|
@ -353,6 +353,7 @@ public:
|
|||
float CameraDesiredYaw();
|
||||
void IgnoreRemovedPacket3(const unsigned char* packet);
|
||||
void ReceiveShowRankingSchedule(const unsigned char* packet);
|
||||
void ReceiveInventoryStart(const unsigned char* packet);
|
||||
void IgnoreRemovedPacket4(const unsigned char* packet);
|
||||
void IgnoreRemovedPacket5(const unsigned char* packet);
|
||||
void IgnoreRemovedPacket7(const unsigned char* packet);
|
||||
|
|
|
|||
|
|
@ -102,11 +102,17 @@ public:
|
|||
/* 4068 */ CharacterInfo characters[68];
|
||||
/* 6EE4 */ std::string wallpaperName;
|
||||
/* 6EFC */ CharacterSlotExtension slotExtension;
|
||||
/* 6F10 */ unsigned char unknown_6F10[0x4];
|
||||
/* 6F10 */ std::uint32_t unknown_6F10;
|
||||
/* 6F14 */ UIWindow* window_6F14;
|
||||
/* 6F18 */ int passwordRetryCount;
|
||||
/* 6F1C */ std::vector<int> unknown_6F1C;
|
||||
/* 6F28 */ unsigned char unknown_6F28[0x28];
|
||||
/* 6F28 */ int unknown_6F28;
|
||||
/* 6F2C */ std::vector<int> unknown_6F2C;
|
||||
/* 6F38 */ std::vector<int> unknown_6F38;
|
||||
/* 6F44 */ unsigned char savedInlineCharset;
|
||||
/* 6F45 */ unsigned char unknown_6F45[0x3];
|
||||
/* 6F48 */ int unknown_6F48;
|
||||
/* 6F4C */ int unknown_6F4C;
|
||||
/* 6F50 */ std::string unknown_6F50;
|
||||
/* 6F68 */ std::vector<MapStateEntry> mapStates;
|
||||
/* 6F74 */ bool unknown_6F74;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
#include "Contents/Items/ItemInfo.h"
|
||||
#include "Contents/Messenger/ClientMessenger.h"
|
||||
#include "Contents/PetEvolutionMgr.h"
|
||||
#include "UI/Item/UIItemStoreWnd.h"
|
||||
#include "UI/Window/UIWindowMgr.h"
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
|
|
@ -24,6 +26,12 @@ struct ClientItemLists {
|
|||
bool AddItem1710(const ITEM_INFO& item, unsigned char refresh);
|
||||
bool AddItem1738(const ITEM_INFO& item, unsigned char refresh);
|
||||
bool AddItem1740(const ITEM_INFO& item);
|
||||
void ClearInventory();
|
||||
void ClearItems1740();
|
||||
};
|
||||
|
||||
struct SessionMessengerContext {
|
||||
void ResetEquipment();
|
||||
};
|
||||
|
||||
namespace {
|
||||
|
|
@ -163,3 +171,5 @@ void CGameMode::ReceiveEquipListPart(unsigned char listType, int count, const un
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00D44600
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include "UI/Window/WindowDialogs.h"
|
||||
#include "Utility/Cipher/XorBytes.h"
|
||||
#include "Utility/Text/FormatString.h"
|
||||
#include "Utility/Text/TextTokens.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <chrono>
|
||||
|
|
@ -1963,3 +1964,19 @@ void CLoginMode::ShowLoginError(int code, int argument) {
|
|||
g_modeMgr.Quit();
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00D8C6A0
|
||||
// FUNCTION: fn_22258
|
||||
CLoginMode::CLoginMode() : wallpaperName(), unknown_6F1C(), unknown_6F2C(), unknown_6F38(), unknown_6F50(), mapStates() {
|
||||
this->unknown_0010 = 1;
|
||||
this->unknown_6F10 = timeGetTime() + 12000;
|
||||
this->savedInlineCharset = g_inlineCharset;
|
||||
g_inlineCharset = 0;
|
||||
this->unknown_6F48 = -1;
|
||||
this->window_6F14 = nullptr;
|
||||
this->passwordRetryCount = 0;
|
||||
std::memset(this->characters, 0, sizeof(this->characters));
|
||||
this->unknown_01D8 = 0;
|
||||
this->unknown_01DC = 0;
|
||||
this->characterDeleted = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
class CBlowEffect : public CRenderObject {
|
||||
public:
|
||||
CBlowEffect();
|
||||
~CBlowEffect() override;
|
||||
bool OnProcess() override;
|
||||
void SendMsg(
|
||||
|
|
|
|||
|
|
@ -37,6 +37,12 @@ struct ItemFallEntry {
|
|||
/* 0042 */ std::uint16_t grade;
|
||||
};
|
||||
|
||||
// OFFSET: 0x00D8B340
|
||||
// FUNCTION: fn_22246
|
||||
CItem::CItem() : name() {
|
||||
this->SubD8B5B0();
|
||||
}
|
||||
|
||||
// OFFSET: 0x00D8B5A0
|
||||
// FUNCTION: fn_22248
|
||||
void CItem::SubD8B5A0() {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
class CItem : public EffectActor {
|
||||
public:
|
||||
CItem();
|
||||
void SubD8B5A0();
|
||||
void SubD8B5B0();
|
||||
bool OnProcess() override;
|
||||
|
|
|
|||
|
|
@ -60,6 +60,14 @@ CCorpse::CCorpse() {
|
|||
this->render.unknown_008C = timeGetTime();
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA0DE0
|
||||
// FUNCTION: fn_22352
|
||||
CBlowEffect::CBlowEffect() {
|
||||
this->SetSpriteName(ResourceMgr::Instance(), "이팩트\\이팩트.spr");
|
||||
this->SetActionName(ResourceMgr::Instance(), "이팩트\\이팩트.act");
|
||||
this->render.animation = 0;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1210
|
||||
// FUNCTION: fn_22355
|
||||
CGndRiser::CGndRiser() {
|
||||
|
|
|
|||
|
|
@ -156,3 +156,9 @@ CUIScrollWindow::CUIScrollWindow(UIWindowContext& context)
|
|||
CUIRecommendedQuestInfo::CUIRecommendedQuestInfo()
|
||||
: titleBar(nullptr), background(nullptr), titleText(nullptr), scrollWindow(nullptr), closeButton(nullptr) {
|
||||
}
|
||||
|
||||
// OFFSET: 0x00A56860
|
||||
// FUNCTION: fn_16320
|
||||
CUIFrameWnd* CreateRecommendedQuestInfo() {
|
||||
return new CUIRecommendedQuestInfo();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class CUIScrollWindow;
|
|||
|
||||
class CUIRecommendedQuestInfo : public CUIFrameWnd {
|
||||
public:
|
||||
CUIRecommendedQuestInfo();
|
||||
__declspec(noinline) CUIRecommendedQuestInfo();
|
||||
void Slot16() override;
|
||||
void OnFirstAction();
|
||||
virtual void Slot53();
|
||||
|
|
|
|||
|
|
@ -315,3 +315,8 @@ UINameBalloonText::UINameBalloonText(UIWindowContext& windows, BalloonTextContex
|
|||
this->unknown_00B8 = 0;
|
||||
this->unknown_0098 = 0;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00CCDFF0
|
||||
// FUNCTION: fn_21219
|
||||
UIVerticalNameBalloonText::UIVerticalNameBalloonText(UIWindowContext& windows, BalloonTextContext& text) : UINameBalloonText(windows, text) {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
class UINameBalloonText : public UIBalloonText {
|
||||
public:
|
||||
UINameBalloonText(UIWindowContext& windows, BalloonTextContext& text);
|
||||
__declspec(noinline) UINameBalloonText(UIWindowContext& windows, BalloonTextContext& text);
|
||||
~UINameBalloonText() override;
|
||||
void Slot19() override;
|
||||
void Paint() override;
|
||||
|
|
@ -21,6 +21,7 @@ public:
|
|||
|
||||
class UIVerticalNameBalloonText : public UINameBalloonText {
|
||||
public:
|
||||
UIVerticalNameBalloonText(UIWindowContext& windows, BalloonTextContext& text);
|
||||
void Paint() override;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,11 @@ UIVideoWnd::~UIVideoWnd() {
|
|||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00AB4060
|
||||
// FUNCTION: fn_17436
|
||||
UIVideoSkipButton::UIVideoSkipButton(UIWindowContext& windowContext, UIButtonContext& buttonContext) : UIButton(windowContext, buttonContext) {
|
||||
}
|
||||
|
||||
// OFFSET: 0x00AB4380
|
||||
// FUNCTION: fn_17440
|
||||
bool UIVideoWnd::Slot02() {
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ struct UIVideoWndContext {
|
|||
|
||||
class UIVideoSkipButton : public UIButton {
|
||||
public:
|
||||
// INLINED
|
||||
UIVideoSkipButton(UIWindowContext& windowContext, UIButtonContext& buttonContext) : UIButton(windowContext, buttonContext) {
|
||||
}
|
||||
UIVideoSkipButton(UIWindowContext& windowContext, UIButtonContext& buttonContext);
|
||||
|
||||
void Paint() override;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue