Decompile 7 functions in Source/Contents/Sound/SoundMaker.cpp, Source/Contents/Actors/Npc.h, ...
Batch #7863 by eAthena: 0 byte-identical, 7 confirmed by peer review. - fn_22355 CGndRiser::CGndRiser: logic confirmed by peer review - fn_22356 CHalluNPC::CHalluNPC: logic confirmed by peer review - fn_22359 CHalluPlant::CHalluPlant: logic confirmed by peer review - fn_22360 CMasterChaser::CMasterChaser: logic confirmed by peer review - fn_22361 CNpc::CNpc: logic confirmed by peer review - fn_22362 CNumEffect::CNumEffect: logic confirmed by peer review - fn_22431 CNpc::Slot18: logic confirmed by peer review Peer-reviewed-by: secret, Romain, Snow, ragnarok-clanker, alisonrag, SapitoSucio 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
3ac7fea75a
commit
1f06dcf728
4 changed files with 124 additions and 4 deletions
|
|
@ -31,6 +31,7 @@ public:
|
|||
|
||||
class CMasterChaser : public CRenderObject {
|
||||
public:
|
||||
CMasterChaser();
|
||||
~CMasterChaser() override;
|
||||
|
||||
void ClearUnknown0138();
|
||||
|
|
@ -41,6 +42,7 @@ public:
|
|||
|
||||
class CNumEffect : public CRenderObject {
|
||||
public:
|
||||
CNumEffect();
|
||||
~CNumEffect() override;
|
||||
bool OnProcess() override;
|
||||
void SendMsg(
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
class CGndRiser : public EffectActor {
|
||||
public:
|
||||
CGndRiser();
|
||||
bool OnProcess() override;
|
||||
void SendMsg(
|
||||
CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ class UIWindow;
|
|||
|
||||
class CNpc : public CGameActor {
|
||||
public:
|
||||
CNpc();
|
||||
~CNpc() override;
|
||||
bool OnProcess() override;
|
||||
void SendMsg(
|
||||
|
|
@ -18,6 +19,7 @@ public:
|
|||
void Render(int argument) override;
|
||||
void Slot16() override;
|
||||
void Slot17() override;
|
||||
void Slot18(int job, int value, int unused) override;
|
||||
void Slot21(int value) override;
|
||||
void Slot22(int value) override;
|
||||
void Slot23(int first, int second) override;
|
||||
|
|
@ -27,14 +29,14 @@ public:
|
|||
void UpdateBubblePositions();
|
||||
void UpdateMinimapMarker();
|
||||
|
||||
/* 0410 */ unsigned char unknown_0410[0x14];
|
||||
/* 0410 */ unsigned char unknown_0410[0x10];
|
||||
/* 0420 */ int unknown_0420;
|
||||
/* 0424 */ std::uint32_t unknown_0424;
|
||||
/* 0428 */ unsigned char unknown_0428[0x04];
|
||||
/* 0428 */ int unknown_0428;
|
||||
/* 042C */ UIWindow* unknown_042C;
|
||||
/* 0430 */ UIWindow* unknown_0430;
|
||||
/* 0434 */ CGameObject* unknown_0434;
|
||||
/* 0438 */ std::uint16_t unknown_0438;
|
||||
/* 043A */ std::uint16_t unknown_043A;
|
||||
/* 0438 */ int unknown_0438;
|
||||
/* 043C */ int unknown_043C;
|
||||
};
|
||||
|
||||
|
|
@ -52,6 +54,7 @@ public:
|
|||
|
||||
class CHalluNPC : public CNpc {
|
||||
public:
|
||||
explicit CHalluNPC(CGameActor* source);
|
||||
~CHalluNPC() override;
|
||||
bool OnProcess() override;
|
||||
void SendMsg(
|
||||
|
|
@ -69,6 +72,7 @@ public:
|
|||
|
||||
class CHalluPlant : public CNpc {
|
||||
public:
|
||||
CHalluPlant();
|
||||
~CHalluPlant() override;
|
||||
bool OnProcess() override;
|
||||
void SendMsg(
|
||||
|
|
|
|||
|
|
@ -60,6 +60,106 @@ CCorpse::CCorpse() {
|
|||
this->render.unknown_008C = timeGetTime();
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1210
|
||||
// FUNCTION: fn_22355
|
||||
CGndRiser::CGndRiser() {
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1270
|
||||
// FUNCTION: fn_22356
|
||||
CHalluNPC::CHalluNPC(CGameActor* source) {
|
||||
this->render.visible = 1;
|
||||
this->render.unknown_00A4Bytes[0] = 0;
|
||||
this->render.unknown_008C = timeGetTime();
|
||||
this->SetUnknown0260(source->unknown_0260);
|
||||
this->SetActorJob(source->GetEffectiveJob(-1));
|
||||
this->unknown_02CC = source->unknown_02CC;
|
||||
this->SetUnknown03C4(source->Slot55());
|
||||
this->render.position = source->render.position;
|
||||
this->render.unknown_005C = source->render.unknown_005C;
|
||||
this->render.unknown_0078 = source->render.unknown_0078;
|
||||
this->render.scale = source->render.scale;
|
||||
this->render.animation = source->render.animation;
|
||||
this->render.previousAnimation = source->render.previousAnimation;
|
||||
this->render.curMotion = source->render.curMotion;
|
||||
this->SetActionName(ResourceMgr::Instance(), source->GetActName());
|
||||
this->render.unknown_00A2 = source->render.unknown_00A2;
|
||||
this->render.unknown_0080 = source->render.unknown_0080;
|
||||
this->render.isLieOnGround = source->render.isLieOnGround;
|
||||
this->render.isSingleColor = source->render.isSingleColor;
|
||||
this->render.unknown_007C = source->render.unknown_007C;
|
||||
this->render.unknown_0048 = 0;
|
||||
this->stateFlags = source->Slot13();
|
||||
this->Slot18(source->GetEffectiveJob(-1), source->unknown_0260, 0);
|
||||
this->guildId = source->Slot50();
|
||||
this->render.accountId = 0;
|
||||
this->unknown_0440 = 0.0f;
|
||||
this->unknown_0454 = 0;
|
||||
this->unknown_0444 = 0x10000000;
|
||||
this->unknown_03E1 = true;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1AF0
|
||||
// FUNCTION: fn_22359
|
||||
CHalluPlant::CHalluPlant() {
|
||||
this->render.visible = 1;
|
||||
this->render.unknown_00A4Bytes[0] = 0;
|
||||
this->render.unknown_008C = timeGetTime();
|
||||
this->SetUnknown0260(0);
|
||||
this->SetActorJob(1079);
|
||||
this->unknown_02CC = 0;
|
||||
this->SetUnknown03C4(-1);
|
||||
this->render.position.x = 0.0f;
|
||||
this->render.position.y = 0.0f;
|
||||
this->render.position.z = 0.0f;
|
||||
this->render.unknown_005C = 1.0f;
|
||||
this->render.unknown_0078 = 0;
|
||||
this->render.scale = 1.0f;
|
||||
this->render.animation = 0;
|
||||
this->render.previousAnimation = 4;
|
||||
this->render.curMotion = 0;
|
||||
this->SetActionName(ResourceMgr::Instance(), "sprite\\몬스터\\blue_plant.act");
|
||||
this->render.unknown_00A2 = 0;
|
||||
this->render.unknown_0080 = 0;
|
||||
this->render.isLieOnGround = false;
|
||||
this->render.isSingleColor = false;
|
||||
this->render.unknown_007C = 0;
|
||||
this->render.unknown_0048 = 0;
|
||||
this->stateFlags = 0;
|
||||
this->Slot18(this->GetEffectiveJob(-1), this->unknown_0260, 0);
|
||||
this->guildId = 0;
|
||||
this->render.accountId = 0;
|
||||
this->unknown_0440 = 0;
|
||||
this->unknown_03E1 = true;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1CB0
|
||||
// FUNCTION: fn_22360
|
||||
CMasterChaser::CMasterChaser() {
|
||||
this->unknown_0138 = 0;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1D10
|
||||
// FUNCTION: fn_22361
|
||||
CNpc::CNpc() {
|
||||
this->unknown_042C = nullptr;
|
||||
this->unknown_0430 = nullptr;
|
||||
this->unknown_0420 = 0;
|
||||
this->unknown_0424 = timeGetTime();
|
||||
this->unknown_0428 = 0;
|
||||
this->unknown_0434 = nullptr;
|
||||
this->unknown_0438 = 9999;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1DB0
|
||||
// FUNCTION: fn_22362
|
||||
CNumEffect::CNumEffect() {
|
||||
this->SetSpriteName(ResourceMgr::Instance(), "이팩트\\숫자.spr");
|
||||
this->SetActionName(ResourceMgr::Instance(), "이팩트\\숫자.act");
|
||||
this->render.animation = 0;
|
||||
this->render.unknown_00A2 = 1;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA1E30
|
||||
// FUNCTION: fn_22363
|
||||
CSoundMaker::CSoundMaker() {
|
||||
|
|
@ -685,6 +785,19 @@ void CSoundMaker::SendMsg(
|
|||
this->lastTick = timeGetTime() - this->cycle;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA5820
|
||||
// FUNCTION: fn_22431
|
||||
void CNpc::Slot18(int job, int value, int) {
|
||||
char name[64];
|
||||
this->SetActorJob(job);
|
||||
this->SetUnknown0260(value);
|
||||
this->render.unknown_0048 = 0;
|
||||
if (g_session.IsGuildMemberCharacter(this->GetEffectiveJob(-1), name)) {
|
||||
this->render.unknown_0048 = 1;
|
||||
this->render.name = name;
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DA58A0
|
||||
// FUNCTION: fn_22432
|
||||
void CNpc::Slot21(int job) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue