Decompile 10 functions in Source/Client/Session/Session.h, Source/Client/Session/SessionPredicates.cpp, ...

Batch #16893 by KWDev: 10 byte-identical, 0 confirmed by peer review.

- fn_07187 CWarningPlaneEffect::OnProcess: byte-identical
- fn_02846 CCashEmotionAction_Register::Execute: byte-identical
- fn_02845 CCashEmotionAction_Play::Execute: byte-identical
- fn_21677 CGameMode::ReceiveHomunculusChange: byte-identical (already on main)
- fn_23881 CSession::IsHomunAid: byte-identical
- fn_23882 CSession::IsMercenaryAid: byte-identical
- fn_23885 CSession::IsPetAid: byte-identical
- fn_17916 CView::AddDistance: byte-identical
- fn_17917 CView::AddPitch: byte-identical
- fn_23379 CSession::HomunSkillLevel: byte-identical

Merged automatically: every function is byte-identical to the original.
This commit is contained in:
ragnarok-clanker 2026-11-11 10:58:29 +00:00
commit d419318eeb
8 changed files with 24 additions and 25 deletions

View file

@ -739,12 +739,12 @@ public:
int IsType0Or4(int type) const;
int IsMonsterActor(CGameActor* actor) const;
int IsLocalPlayerAid(std::uint32_t aid) const;
bool IsHomunAid(std::uint32_t aid) const;
bool IsMercenaryAid(std::uint32_t aid) const;
int IsHomunAid(std::uint32_t aid) const;
int IsMercenaryAid(std::uint32_t aid) const;
__declspec(noinline) int IsHomunculusSkill(unsigned id) const;
__declspec(noinline) int IsMercenarySkill(unsigned id) const;
int IsCompanionAid(std::uint32_t aid) const;
bool IsPetAid(std::uint32_t aid) const;
int IsPetAid(std::uint32_t aid) const;
bool IsEquipItemType(int type) const;
bool IsMiscItemType(int type) const;
bool IsSuperNoviceJob(int job) const;

View file

@ -86,7 +86,7 @@ int CSession::IsLocalPlayerAid(std::uint32_t aid) const {
// OFFSET: 0x00E1DDF0
// FUNCTION: fn_23881
bool CSession::IsHomunAid(std::uint32_t aid) const {
int CSession::IsHomunAid(std::uint32_t aid) const {
if (aid == 0xFFFFFFFF) {
return false;
}
@ -95,7 +95,7 @@ bool CSession::IsHomunAid(std::uint32_t aid) const {
// OFFSET: 0x00E1DE10
// FUNCTION: fn_23882
bool CSession::IsMercenaryAid(std::uint32_t aid) const {
int CSession::IsMercenaryAid(std::uint32_t aid) const {
if (aid == 0xFFFFFFFF) {
return false;
}
@ -122,7 +122,7 @@ int CSession::IsCompanionAid(std::uint32_t aid) const {
// OFFSET: 0x00E1DF00
// FUNCTION: fn_23885
bool CSession::IsPetAid(std::uint32_t aid) const {
int CSession::IsPetAid(std::uint32_t aid) const {
if (aid == 0xFFFFFFFF) {
return false;
}

View file

@ -36,6 +36,8 @@ public:
void Apply();
void Start(int enabled, unsigned duration, float horizontal, float distance, float pitch);
void SetAmplitudes(float horizontal, float distance, float pitch);
void AddDistance(float delta);
void AddPitch(float delta);
/* 0004 */ CameraShake shake;
/* 0020 */ CameraState camera;

View file

@ -9,14 +9,14 @@
// OFFSET: 0x00ADB070
// FUNCTION: fn_17916
void CameraState::AddDistance(float delta) {
this->desiredDistance = delta + this->desiredDistance;
void CView::AddDistance(float delta) {
this->camera.desiredDistance = delta + this->camera.desiredDistance;
}
// OFFSET: 0x00ADB090
// FUNCTION: fn_17917
void CameraState::AddPitch(float delta) {
this->desiredPitch = delta + this->desiredPitch;
void CView::AddPitch(float delta) {
this->camera.desiredPitch = delta + this->camera.desiredPitch;
}
// OFFSET: 0x00ADB0B0

View file

@ -23,8 +23,6 @@ struct CameraState {
this->target[axis] = this->desiredTarget[axis] = 0;
}
}
void AddDistance(float delta);
void AddPitch(float delta);
void AddYaw(float delta);
void Smooth();
};

View file

@ -379,9 +379,9 @@ bool CCashEmotionAction_Play::Execute(int packId, int emotionId) {
}
if (this->m_diceEmotion == emotionId) {
emotionId = std::max(0, rand() % 6) + this->m_diceEmotion;
emotionId = std::ranges::max(rand() % 6, 0) + this->m_diceEmotion;
} else if (this->m_yutEmotion == emotionId) {
emotionId = std::max(0, rand() % 7) + this->m_yutEmotion;
emotionId = std::ranges::max(rand() % 7, 0) + this->m_yutEmotion;
}
mode->SendMsg(MM_REQ_EMOTION, emotionId, packId, 0, 0);
@ -402,13 +402,12 @@ bool CCashEmotionAction_Register::Execute(int packId, int emotionId) {
if (auto* emotionWnd = reinterpret_cast<UIEmotionWnd*>(g_windowMgr.emotionWnd)) {
emotionWnd->SetMacroText(name, -1);
return true;
}
UINewChatWnd* suggestions = ChatWindow();
if (suggestions && suggestions->m_chatEdit) {
suggestions->m_chatEdit->SetText(name);
suggestions->m_chatEdit->Invalidate();
} else {
UINewChatWnd* suggestions = ChatWindow();
if (suggestions && suggestions->m_chatEdit) {
suggestions->m_chatEdit->SetText(name);
suggestions->m_chatEdit->Invalidate();
}
}
return true;

View file

@ -698,7 +698,7 @@ void CWarningPlaneEffect::OnProcess() {
matrix rotation;
std::memcpy(rotation.values, g_identityMatrix, sizeof(rotation.values));
rotation.MakeXRotation(1.5707963f);
rotation.MakeXRotation(1.570796f);
rotation.AppendYRotation(static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->camera.yaw / -180.0f * 3.141592f);
matrix scale;

View file

@ -105,9 +105,9 @@ void CCharacterLinkedUserDataMgr::Save() {
// OFFSET: 0x00DDD0D0
// FUNCTION: fn_23379
int CSession::HomunSkillLevel(int skillId) const {
const int index = skillId - 8000;
if (index > -1) {
return this->m_homunSkillLevels[index];
skillId -= 8000;
if (skillId > -1) {
return this->m_homunSkillLevels[skillId];
}
return 0;