Decompile 18 functions in Source/Client/Application/UnhandledExceptionHandler.cpp, Source/Client/Session.h, ...

Batch #2077 by ragnarok-clanker: 0 byte-identical, 18 confirmed by peer review.

- fn_04709 TopLevelExceptionFilter: logic confirmed by peer review (already on main)
- fn_08004 C3dGrannyModelRes::PlayAnimation: logic confirmed by peer review
- fn_09315 UIRequestJoinPartyWnd::SendMsg: logic confirmed by peer review
- fn_19761 EffectParticle::EffectParticle: logic confirmed by peer review
- fn_19768 EffectParticle::InitializeRecords: logic confirmed by peer review
- fn_20007 AttachedEffect::AttachedEffect: logic confirmed by peer review
- fn_20076 CreateEffectParticle: logic confirmed by peer review
- fn_20088 UpdatePartyEffect: logic confirmed by peer review
- fn_20991 CRenderObject::CRenderObject: logic confirmed by peer review
- fn_21069 ?CreatePartyEffect@?A0xba063134@@YAPAUAttachedEffect@@AAUEffectActor@@AAUPartyEffectMode@@@Z: logic confirmed by peer review
- fn_21086 RenderObjectState::Reset: logic confirmed by peer review
- fn_23396 CSession::GetJobName: logic confirmed by peer review
- fn_23495 CSession::InitJobNameTable: logic confirmed by peer review
- fn_23788 CSession::GetMonsterActName: logic confirmed by peer review
- fn_23791 CSession::GetMonsterTalkText: logic confirmed by peer review
- fn_20987 EffectActor::EffectActor: logic confirmed by peer review
- fn_22363 CSoundMaker::CSoundMaker: logic confirmed by peer review
- fn_24251 CEffectMaker::CEffectMaker: logic confirmed by peer review

Reviewed-by: ragnarok-clanker
This commit is contained in:
ragnarok-clanker 2026-10-29 09:48:08 +00:00
commit e4be8f4190
31 changed files with 96 additions and 107 deletions

View file

@ -1,4 +1,4 @@
#include "Contents/Jobs/JobNames.h"
#include "Client/Session.h"
#include "Contents/Actors/RenderObjectState.h"
#include "Resource/Sprites/ActionResource.h"
#include "Resource/ResourceMgr.h"
@ -9,8 +9,8 @@
#include <timeapi.h>
// INLINED
RenderObjectState::RenderObjectState(ResourceMgr& resources, JobNames& names) : sprite(nullptr), action(nullptr) {
this->Reset(resources, names);
RenderObjectState::RenderObjectState() : sprite(nullptr), action(nullptr) {
this->Reset();
}
// INLINED
@ -26,7 +26,7 @@ RenderObjectState::~RenderObjectState() {
// OFFSET: 0x00CAF990
// FUNCTION: fn_21086
void RenderObjectState::Reset(ResourceMgr& resources, JobNames& names) {
void RenderObjectState::Reset() {
this->position.x = 0;
this->position.y = 0;
this->position.z = 0;
@ -64,14 +64,14 @@ void RenderObjectState::Reset(ResourceMgr& resources, JobNames& names) {
char spriteName[128];
char actionName[128];
std::sprintf(spriteName, "NPC\\%s.spr", names.Lookup(46, -1));
std::sprintf(actionName, "NPC\\%s.act", names.Lookup(46, -1));
std::sprintf(spriteName, "NPC\\%s.spr", g_session.GetJobName(46, -1));
std::sprintf(actionName, "NPC\\%s.act", g_session.GetJobName(46, -1));
if (this->sprite) {
this->sprite->Release();
}
this->sprite = static_cast<CSprRes*>(resources.Load(spriteName));
this->sprite = static_cast<CSprRes*>(ResourceMgr::Instance().Load(spriteName));
if (this->sprite) {
++this->sprite->references;
@ -81,7 +81,7 @@ void RenderObjectState::Reset(ResourceMgr& resources, JobNames& names) {
this->action->Release();
}
this->action = static_cast<CActRes*>(resources.Load(actionName));
this->action = static_cast<CActRes*>(ResourceMgr::Instance().Load(actionName));
if (this->action) {
++this->action->references;