Commit graph

1,303 commits

Author SHA1 Message Date
ragnarok-clanker
ff0dbcc3f6 Maintenance: CSession: 4-byte arrays only ever used as one int become int fields (timeAttackMode->m_timeAttackMode 079C, petNameModif
Batch #18695 by ragnarok-clanker: no function's compiled code changes; checked with 277 compiled unit(s), including every includer of Source/Client/Session/Session.h.
2026-11-12 18:23:50 +00:00
ragnarok-clanker
6c543574c3 Maintenance: CSession 0x5620 companionTargetState[0xC] split into int m_homunHungerNotified (0x5620), int m_homunAttackRange (0x5624)
Batch #18678 by ragnarok-clanker: no function's compiled code changes; checked with 277 compiled unit(s), including every includer of Source/Client/Session/Session.h.
2026-11-12 17:52:20 +00:00
ragnarok-clanker
2188582dd5 Decompile fn_21667 (CGameMode::AddMiniMapEffectMarker)
Batch #18537 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21667 CGameMode::AddMiniMapEffectMarker: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, kyoshi, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 17:38:08 +00:00
ragnarok-clanker
b8676b5f9b Maintenance: Raw encrypted byte arrays written as their cleartext: 159 sites in Launcher (79), UIExchangeUI (46), UISelectPackageItem
Batch #18641 by ragnarok-clanker: no function's compiled code changes; checked with 3 compiled unit(s).
2026-11-12 17:24:24 +00:00
ragnarok-clanker
4f668027bb Confirm 3 functions in Source/Client/Mode/GameMode.cpp, Source/Contents/Guild/GuildInfo.h, ...
Batch #18636 by ragnarok-clanker: 2 byte-identical, 1 confirmed by peer review.

- fn_18026 GuildInfo::GuildInfo: byte-identical (already on main)
- fn_18039 GuildInfo::Init: logic confirmed by peer review (already on main)
- fn_05367 CPetEvolutionMgr::Create: byte-identical (already on main)

Peer-reviewed-by: eAthena, cremane, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 17:11:36 +00:00
ragnarok-clanker
273cb19e1a Decompile fn_21597 (CGameMode::RefreshEmotionSaleSchedule)
Batch #18632 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21597 CGameMode::RefreshEmotionSaleSchedule: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, kyoshi, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 17:08:57 +00:00
ragnarok-clanker
886fd422a7 Decompile fn_21333 (CGameMode::UpdateBalloons)
Batch #18485 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21333 CGameMode::UpdateBalloons: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, kyoshi, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 17:05:18 +00:00
ragnarok-clanker
27d2b63b4a Maintenance: Last CRYPT_* sites and every unit-local decrypt helper replaced by OBFUSCATE_SOURCE* / OBFUSCATE_DECRYPT* (Utility/Ciphe
Batch #18622 by ragnarok-clanker: forced by an admin (0 lower score(s), 24 changed function(s)); checked with 18 compiled unit(s).
2026-11-12 17:04:48 +00:00
ragnarok-clanker
659bc274e3 Decompile 2 functions in Source/Client/Input/VietnameseInput.cpp
Batch #18626 by eAthena: 0 byte-identical, 2 confirmed by peer review.

- fn_18308 TELEXInputMode::Convert: logic confirmed by peer review
- fn_18318 VNIInputMode::Convert: logic confirmed by peer review

Peer-reviewed-by: kyoshi, cremane, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 16:58:04 +00:00
ragnarok-clanker
4919dc6dbb Maintenance: Remove #pragma optimize directives forbidden by CODING_RULES.md section 8. Source of fn_45411 CreateApplicationWindow an
Batch #18614 by ragnarok-clanker: forced by an admin (2 lower score(s), 2 changed function(s)); checked with 2 compiled unit(s).
2026-11-12 16:48:52 +00:00
ragnarok-clanker
d2e21e3ef0 Maintenance: Encrypted strings rewritten as OBFUSCATE_* (Utility/Cipher/Obfuscate.h); unit-local decrypt helpers removed where no cal
Batch #18596 by ragnarok-clanker: forced by an admin (0 lower score(s), 7 changed function(s)); checked with 8 compiled unit(s).
2026-11-12 16:26:02 +00:00
ragnarok-clanker
0d6efeaf09 Maintenance: C7 (replaces 18431/18498/18559). Actor SendMsg takes (CGameObject* sender, std::int64_t message, std::int64_t b..g). Aud
Batch #18562 by ragnarok-clanker: forced by an admin (31 lower score(s), 132 changed function(s)); checked with 230 compiled unit(s), including every includer of Source/Client/Mode/CGameMode.h, Source/Contents/Actors/EffectActors.h, Source/Contents/Actors/GameActor.h, Source/Contents/Actors/GameObject.h, Source/Contents/Actors/GndRiser.h, Source/Contents/Actors/GroundScope.h, Source/Contents/Actors/Item.h, Source/Contents/Actors/MousePointer.h, Source/Contents/Actors/Npc.h, Source/Contents/Actors/Pc.h, Source/Contents/Actors/RenderObject.h, Source/Contents/Actors/Skill.h, Source/Contents/Effects/Core/DummyEffectLauncher.h, Source/Contents/Effects/Core/EffectActor.h, Source/Contents/Effects/Core/EffectMaker.h, Source/Contents/Effects/Core/MsgEffect.h, Source/Contents/Effects/Skills/ArrowEffect.h, Source/Contents/Effects/Skills/MandraAttackEffect.h, Source/Contents/SignBoard/SignBoard.h, Source/Contents/Skills/GraffiSkill.h, Source/Contents/Sound/SoundMaker.h.
2026-11-12 16:09:04 +00:00
ragnarok-clanker
9f53715f61 Decompile 2 functions in Source/Client/Mode/GameModePackets.cpp
Batch #18553 by eAthena: 2 byte-identical, 0 confirmed by peer review.

- fn_22167 CGameMode::ReceiveOverweightThreshold: byte-identical
- fn_22221 CGameMode::ProcessSkillUsePacket: byte-identical

Merged automatically: every function is byte-identical to the original.
2026-11-12 15:50:48 +00:00
ragnarok-clanker
cabaf32ebb Decompile 3 functions in Source/Client/Session/Session.h, Source/Contents/Emblems/EmblemDataMgr.cpp, ...
Batch #18550 by eAthena: 1 byte-identical, 2 confirmed by peer review.

- fn_03655 CAdventurerAgencyMgr::ServiceUrl: logic confirmed by peer review
- fn_03931 CCharacterLinkedUserDataMgr::RefreshUrls: byte-identical
- fn_04237 CMCStoreInfoBackup::Reset: logic confirmed by peer review

Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 15:47:34 +00:00
ragnarok-clanker
a83177c5bd Decompile 2 functions in Source/Client/Mode/LoginMode.cpp
Batch #18549 by ragnarok-clanker: 0 byte-identical, 2 confirmed by peer review.

- fn_22297 CLoginMode::OnChangeState: logic confirmed by peer review
- fn_22309 CLoginMode::PollNetworkStatus: logic confirmed by peer review

Peer-reviewed-by: eAthena, kyoshi
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 15:46:34 +00:00
ragnarok-clanker
1293d0a87d Decompile fn_17792 (CLanguageBase::KeyDown)
Batch #18349 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_17792 CLanguageBase::KeyDown: logic confirmed by peer review

Peer-reviewed-by: alisonrag, kyoshi, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 15:27:23 +00:00
ragnarok-clanker
43e14c0691 Decompile 137 functions in Source/Client/Session/Session.cpp
Batch #18529 by ragnarok-clanker: 133 byte-identical, 4 confirmed by peer review.

- fn_22763 CSession::CSession: logic confirmed by peer review
- fn_23352 CSession::IsNumberWithCommas: byte-identical (already on main)
- fn_23355 CSession::GatName2RswName: byte-identical (already on main)
- fn_23364 CSession::GetBodyPalName: byte-identical (already on main)
- fn_23365 CSession::GetRaceBodyResourceName: byte-identical (already on main)
- fn_23366 CSession::GetEquippedItem: byte-identical (already on main)
- fn_23367 CSession::FindCostumeItem: byte-identical (already on main)
- fn_23369 CSession::FindEquippedItem: byte-identical (already on main)
- fn_23370 CSession::GetExchangeItem: byte-identical (already on main)
- fn_23383 CSession::GetItemNameColor: byte-identical (already on main)
- fn_23385 CSession::FindInventoryIndicesByItemId: byte-identical (already on main)
- fn_23388 CSession::GetInventoryItemAt: byte-identical (already on main)
- fn_23401 CSession::MercSkillLevel: byte-identical (already on main)
- fn_23402 CSession::FindMerchantPurchaseSavedItem: byte-identical (already on main)
- fn_23403 CSession::GetItem1768At: byte-identical (already on main)
- fn_23404 CSession::GetItem1768Quantity: byte-identical (already on main)
- fn_23405 CSession::FindMerchantShopItem: byte-identical (already on main)
- fn_23406 CSession::GetItem1740At: byte-identical (already on main)
- fn_23407 CSession::GetItem1740Quantity: byte-identical (already on main)
- fn_23408 CSession::FindMerchantMyShopItem: byte-identical (already on main)
- fn_23409 CSession::GetItem1750At: byte-identical (already on main)
- fn_23410 CSession::GetItem1750Quantity: byte-identical (already on main)
- fn_23412 CSession::FindItem1758ByItemId: byte-identical (already on main)
- fn_23413 CSession::GetItem1758At: byte-identical (already on main)
- fn_23414 CSession::FindMerchantHopeToSellItem: byte-identical (already on main)
- fn_23415 CSession::FindItem1760ByItemId: byte-identical (already on main)
- fn_23416 CSession::GetItem1760At: byte-identical (already on main)
- fn_23418 CSession::GetItem1760Quantity: byte-identical (already on main)
- fn_23419 CSession::FindFilteredInventoryItem: byte-identical (already on main)
- fn_23420 CSession::GetItem1760Total: byte-identical (already on main)
- fn_23421 CSession::GetItem1748At: byte-identical (already on main)
- fn_23422 CSession::FindMiniPartyRecord: byte-identical (already on main)
- fn_23423 CSession::GetBgmFileName: byte-identical (already on main)
- fn_23424 CSession::GetItem1784At: byte-identical (already on main)
- fn_23425 CSession::GetCommandId: byte-identical (already on main)
- fn_23426 CSession::GetItem1728Count: byte-identical (already on main)
- fn_23442 CSession::GetItemSlot: byte-identical (already on main)
- fn_23443 CSession::GetAlternateEquippedItemAt: byte-identical (already on main)
- fn_23445 CSession::GetItem1718QuantityByItemId: byte-identical (already on main)
- fn_23446 CSession::GetItem1718QuantityOf: byte-identical (already on main)
- fn_23447 CSession::GetShopItemPriceFactorByItemId: byte-identical (already on main)
- fn_23448 CSession::GetShopItemPriceFactor: byte-identical (already on main)
- fn_23449 CSession::SumPurchasePriceFactorByItemId: byte-identical (already on main)
- fn_23450 CSession::SumPurchasePriceFactor: byte-identical (already on main)
- fn_23456 CSession::FindItem1720ByItemId: byte-identical (already on main)
- fn_23457 CSession::GetItem1720At: byte-identical (already on main)
- fn_23459 CSession::GetItem1720Quantity: byte-identical (already on main)
- fn_23460 CSession::GetItem1720Total: byte-identical (already on main)
- fn_23462 CSession::GetMonsterRmaName: byte-identical (already on main)
- fn_23463 CSession::FindStorageItem: byte-identical (already on main)
- fn_23464 CSession::GetItem1730At: byte-identical (already on main)
- fn_23465 CSession::GetItem1730Quantity: byte-identical (already on main)
- fn_23470 CSession::GetItem1718At: byte-identical (already on main)
- fn_23471 CSession::GetItem1718Quantity: byte-identical (already on main)
- fn_23472 CSession::GetHotkeyDescription: byte-identical (already on main)
- fn_23475 CSession::FindCartItem: byte-identical (already on main)
- fn_23476 CSession::GetItem1738At: byte-identical (already on main)
- fn_23477 CSession::GetItem1738Quantity: byte-identical (already on main)
- fn_23480 CSession::GetMonsterW3dName: byte-identical (already on main)
- fn_23483 CSession::GetShopType: byte-identical (already on main)
- fn_23487 CSession::HasControlCharacter: byte-identical (already on main)
- fn_23488 CSession::HiFriends: byte-identical (already on main)
- fn_23489 CSession::Init: logic confirmed by peer review
- fn_23496 CSession::ReloadLanguageTables: byte-identical (already on main)
- fn_23503 CSession::ClearStoreSearchResults: byte-identical (already on main)
- fn_23510 CSession::InitWeaponHitWaveNames: byte-identical (already on main)
- fn_23511 CSession::ResetInventoryItems: byte-identical (already on main)
- fn_23513 CSession::InitJobKeyNames: byte-identical (already on main)
- fn_23514 CSession::RefreshHpSpWindows: byte-identical (already on main)
- fn_23515 CSession::RefreshHomunculusInfo: byte-identical (already on main)
- fn_23516 CSession::RefreshSkillTree: byte-identical (already on main)
- fn_23517 CSession::RefreshMercenaryInfo: byte-identical (already on main)
- fn_23518 CSession::InvalidateWindowFrames: byte-identical (already on main)
- fn_23519 CSession::IsBlankString: byte-identical (already on main)
- fn_23561 CSession::AreInventoryCategoriesEmpty: byte-identical (already on main)
- fn_23562 CSession::IsExchangeItemListFull: byte-identical (already on main)
- fn_23563 CSession::HasShopItemIdentity: byte-identical (already on main)
- fn_23564 CSession::HasExchangeItem: byte-identical (already on main)
- fn_23565 CSession::HasInventorySearchItem: byte-identical (already on main)
- fn_23566 CSession::IsFriendName: byte-identical (already on main)
- fn_23568 CSession::IsGuildMemberAccount: byte-identical (already on main)
- fn_23569 CSession::IsGuildMemberCharacter: byte-identical (already on main)
- fn_23570 CSession::IsGuildMemberCharacter: byte-identical (already on main)
- fn_23571 CSession::IsIndoorMapName: byte-identical (already on main)
- fn_23573 CSession::HasItem1740Number: byte-identical (already on main)
- fn_23574 CSession::HasCharacterName: byte-identical (already on main)
- fn_23575 CSession::IsKnownName: byte-identical (already on main)
- fn_23593 CSession::FlagInventoryItem: byte-identical (already on main)
- fn_23594 CSession::FlagMerchantShopItem: byte-identical (already on main)
- fn_23595 CSession::FlagCartItem: byte-identical (already on main)
- fn_23603 CSession::LoadExternalSettings: logic confirmed by peer review
- fn_23606 CSession::RefreshMessengerGroupWindow: byte-identical (already on main)
- fn_23607 CSession::RefreshItem1740Window: byte-identical (already on main)
- fn_23608 CSession::RefreshItem1750Window: byte-identical (already on main)
- fn_23610 CSession::UpdateMonsterInfoEnabled: byte-identical (already on main)
- fn_23611 RefreshPartyWindows: byte-identical (already on main)
- fn_23612 CSession::RefreshItem1738Window: byte-identical (already on main)
- fn_23613 CSession::EraseMiniPartyRecord: byte-identical (already on main)
- fn_23614 CSession::ConvertTooltipText: byte-identical (already on main)
- fn_23615 CSession::IgnoreText: byte-identical (already on main)
- fn_23616 CSession::SaveMiniPartyInfo: byte-identical (already on main)
- fn_23617 CSession::SetItem1768Quantity: byte-identical (already on main)
- fn_23618 CSession::SetReplayPacketMode: byte-identical (already on main)
- fn_23621 CSession::SetCostumeItem: byte-identical (already on main)
- fn_23622 CSession::SetNavigationPlayerMap: byte-identical (already on main)
- fn_23623 SetMemberFlags: byte-identical (already on main)
- fn_23624 CSession::SetEquippedArrowIndex: byte-identical (already on main)
- fn_23625 CSession::SetEquippedItem: byte-identical (already on main)
- fn_23626 CSession::SetFriendOffline: byte-identical (already on main)
- fn_23627 CSession::SetHomunSkillLevel: byte-identical (already on main)
- fn_23629 CSession::SetMercSkillLevel: byte-identical (already on main)
- fn_23630 CSession::SetMerchantPurchaseSavedPrice: byte-identical (already on main)
- fn_23631 CSession::AddMiniPartyRecord: byte-identical (already on main)
- fn_23632 CSession::SetExchangeMoney: byte-identical (already on main)
- fn_23633 CSession::ClearItemSelection: byte-identical (already on main)
- fn_23634 CSession::SetOtherExchangeMoney: byte-identical (already on main)
- fn_23635 CSession::SetPlayerPosition: byte-identical (already on main)
- fn_23636 CSession::SetRecord0734Value: byte-identical (already on main)
- fn_23826 CSession::GetCurrentSex: byte-identical (already on main)
- fn_23889 CSession::GetSiegeMode: byte-identical (already on main)
- fn_24154 CSession::ClearNormalItemSlots: byte-identical (already on main)
- fn_24155 CSession::ResetSwapEquippedItems: byte-identical (already on main)
- fn_24156 CSession::ResetSwapCostumeItems: byte-identical (already on main)
- fn_24161 CSession::GetSessionIndex: byte-identical (already on main)
- fn_24166 CSession::CountDistinctCostumeItems: byte-identical (already on main)
- fn_24167 CSession::CountDistinctEquippedItems: byte-identical (already on main)
- fn_24174 CSession::GetSwapEquippedItem: byte-identical (already on main)
- fn_24177 CSession::IsRequestReady: byte-identical (already on main)
- fn_24178 CSession::InitJobSpriteNames: logic confirmed by peer review
- fn_24179 CSession::IsDoramJob: byte-identical (already on main)
- fn_24180 CSession::IsEffectRenderEnabled: byte-identical (already on main)
- fn_24181 CSession::CheckInterval: byte-identical (already on main)
- fn_24182 CSession::IsPlayerPerformerJob: byte-identical (already on main)
- fn_24183 CSession::IsSpecialMonsterJob: byte-identical (already on main)
- fn_24187 CSession::IsRestrictedCharacterSlot: byte-identical (already on main)
- fn_24189 CSession::HasSwapEquipmentItem: byte-identical (already on main)
- fn_24194 CSession::ResetCharacterSlotState: byte-identical (already on main)

Peer-reviewed-by: eAthena, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 15:26:19 +00:00
ragnarok-clanker
983922c79d Decompile 27 functions in Source/Client/Mode/LoginMode.cpp
Batch #18528 by ragnarok-clanker: 25 byte-identical, 2 confirmed by peer review.

- fn_22261 CharacterInfo2SizeErrorFormat::operator(): byte-identical (already on main)
- fn_22262 PasswordRetryExceededMessage::operator(): byte-identical (already on main)
- fn_22265 CLoginMode::SubD8D4F0: byte-identical (already on main)
- fn_22271 GetMacAddress: logic confirmed by peer review
- fn_22273 GetUserCountText: byte-identical (already on main)
- fn_22274 CLoginMode::ReceiveCharacterSlots: byte-identical (already on main)
- fn_22275 CLoginMode::ReceiveAcceptEnter: byte-identical (already on main)
- fn_22276 CLoginMode::SubD8EDC0: byte-identical (already on main)
- fn_22278 CLoginMode::ReceiveCharacterPage: byte-identical
- fn_22279 CLoginMode::SubD8F560: byte-identical (already on main)
- fn_22280 CLoginMode::ReceiveCharacterList: byte-identical (already on main)
- fn_22281 CLoginMode::ReceiveDeleteCharacter: byte-identical (already on main)
- fn_22282 CLoginMode::ReceiveDeleteCancel: byte-identical (already on main)
- fn_22283 CLoginMode::ReceiveDeleteReservation: byte-identical (already on main)
- fn_22288 CLoginMode::SubD91780: byte-identical (already on main)
- fn_22290 CLoginMode::ConnectZoneServer: byte-identical (already on main)
- fn_22294 nullsub_486: byte-identical (already on main)
- fn_22296 nullsub_487: byte-identical (already on main)
- fn_22298 CLoginMode::End: byte-identical (already on main)
- fn_22303 CLoginMode::SubD97B20: byte-identical (already on main)
- fn_22306 CLoginMode::SubD97EF0: byte-identical (already on main)
- fn_22307 CLoginMode::SubD97F00: byte-identical (already on main)
- fn_22313 CLoginMode::SendMsg: logic confirmed by peer review
- fn_22315 CLoginMode::ReceiveLoginErrorDetail: byte-identical
- fn_22316 CLoginMode::ReceiveLoginError: byte-identical
- fn_22319 CLoginMode::SubD9E170: byte-identical (already on main)
- fn_22258 CLoginMode::CLoginMode: byte-identical (already on main)

Peer-reviewed-by: eAthena, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 15:24:45 +00:00
ragnarok-clanker
57d14f2804 Decompile 5 functions in Source/UI/GameSettings/UIBattleMsgOptionWnd.cpp, Source/UI/RuneSystem/UIRuneSystemWnd.cpp, ...
Batch #18428 by eAthena: 0 byte-identical, 5 confirmed by peer review.

- fn_12742 UIBattleMsgOptionWnd::SendMsg: logic confirmed by peer review
- fn_10225 UIRuneSystemWnd::SendMsg: logic confirmed by peer review
- fn_12583 UIHotKeyWnd::AssignSelectedHotkey: logic confirmed by peer review
- fn_12693 UIHotKeyWnd::OnLBtnDown: logic confirmed by peer review
- fn_22038 CGameMode::ReceiveAchievementUpdate: logic confirmed by peer review

Peer-reviewed-by: alisonrag, kyoshi, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 15:21:25 +00:00
ragnarok-clanker
b163c0f980 Decompile 12 functions in Source/Client/Stove/StoveMgr.cpp
Batch #18489 by ragnarok-clanker: 12 byte-identical, 0 confirmed by peer review.

- fn_04778 CStoveMgr::CStoveMgr: byte-identical (already on main)
- fn_04783 PurchaseResultCallback::operator(): byte-identical
- fn_04785 TermsAgreementCallback::operator(): byte-identical (already on main)
- fn_04786 AccessTokenFailureMessage::operator(): byte-identical (already on main)
- fn_04787 UserFailureMessage::operator(): byte-identical (already on main)
- fn_04788 TokenCallbackFailureMessage::operator(): byte-identical (already on main)
- fn_04790 PurchaseCheckingMessage::operator(): byte-identical (already on main)
- fn_04791 ConfirmPurchaseCallback::operator(): byte-identical
- fn_04794 CSession::AddInventoryCategoryItem: byte-identical (already on main)
- fn_04800 CStoveMgr::FetchAllProducts: byte-identical (already on main)
- fn_04801 FetchStoveTermsAgreement: byte-identical (already on main)
- fn_04802 CStoveMgr::WaitForCallback: byte-identical (already on main)

Merged automatically: every function is byte-identical to the original.
2026-11-12 15:01:26 +00:00
ragnarok-clanker
71d3e375a9 Maintenance: Revert 18381 regression: ProcessBuyingStorePurchase is a CGameMode member (callers pass this in ECX); define it as CGame
Batch #18427 by ragnarok-clanker: forced by an admin (0 lower score(s), 2 changed function(s)); checked with 197 compiled unit(s), including every includer of Source/Client/Mode/CGameMode.h.
2026-11-12 14:59:41 +00:00
ragnarok-clanker
0585e8cc85 Decompile fn_24201 (CSession::BuildShopReplayRecords)
Batch #18480 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_24201 CSession::BuildShopReplayRecords: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, cremane, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 14:51:43 +00:00
ragnarok-clanker
370507012f Confirm fn_21825 (CGameMode::UpdateSkillCooldown)
Batch #18311 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21825 CGameMode::UpdateSkillCooldown: logic confirmed by peer review (already on main)

Peer-reviewed-by: ragnarok-clanker, cremane, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 14:30:33 +00:00
ragnarok-clanker
edf7c735e5 Maintenance: Fix LNK2019: ProcessBuyingStorePurchase (fn_21592) is a free __stdcall (?ProcessBuyingStorePurchase@@YGXHHHHHH@Z, RET 0x
Batch #18381 by ragnarok-clanker: forced by an admin (2 lower score(s), 2 changed function(s)); checked with 197 compiled unit(s), including every includer of Source/Client/Mode/CGameMode.h.
2026-11-12 14:23:51 +00:00
ragnarok-clanker
b631309ce2 Decompile fn_21661 (CGameMode::ReceiveRefineStatusGraded)
Batch #18370 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review.

- fn_21661 CGameMode::ReceiveRefineStatusGraded: logic confirmed by peer review

Peer-reviewed-by: eAthena, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 14:13:49 +00:00
ragnarok-clanker
84900e33b7 Decompile fn_21636 (CGameMode::ReceiveSkillFailure)
Batch #18179 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21636 CGameMode::ReceiveSkillFailure: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 14:11:14 +00:00
ragnarok-clanker
5e343f5f88 Decompile 6 functions in Source/Client/Mode/GameModeHandlers.cpp
Batch #18296 by eAthena: 0 byte-identical, 6 confirmed by peer review.

- fn_22010 CGameMode::ReceivePartyRoster: logic confirmed by peer review
- fn_21824 CGameMode::SpawnGroundSkill: logic confirmed by peer review
- fn_21823 CGameMode::Zc_Skill_Entry: logic confirmed by peer review
- fn_21819 CGameMode::Zc_Skill_Entry2: logic confirmed by peer review
- fn_21820 CGameMode::ReceiveGroundSkill8: logic confirmed by peer review
- fn_21821 CGameMode::ReceiveGroundSkill32: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, cremane, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 14:02:30 +00:00
ragnarok-clanker
5a10aa262b Decompile 3 functions in Source/Client/Mode/GameModePackets.cpp
Batch #18083 by eAthena: 0 byte-identical, 3 confirmed by peer review.

- fn_21650 CGameMode::ReceivePartyMemberInfo: logic confirmed by peer review
- fn_21708 CGameMode::ReceivePartyMemberList: logic confirmed by peer review
- fn_21751 CGameMode::ReceiveActorChat: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 14:00:14 +00:00
ragnarok-clanker
ad354d198c Confirm fn_21331 (CGameMode::UpdateHoverNameBalloon)
Batch #18232 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21331 CGameMode::UpdateHoverNameBalloon: logic confirmed by peer review (already on main)

Peer-reviewed-by: ragnarok-clanker, alisonrag, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 13:58:26 +00:00
ragnarok-clanker
4927438cae Maintenance: SessionState.cpp: replace nine hand-written extern "C" lua_* prototypes and local LUA_GLOBALSINDEX/LUA_TTABLE constants
Batch #18367 by ragnarok-clanker: no function's compiled code changes; checked with 1 compiled unit(s).
2026-11-12 13:54:08 +00:00
ragnarok-clanker
6626b97d92 Decompile fn_22214 (CGameMode::ReceiveGuildMemberAdd4)
Batch #18343 by ragnarok-clanker: 1 byte-identical, 0 confirmed by peer review.

- fn_22214 CGameMode::ReceiveGuildMemberAdd4: byte-identical

Merged automatically: every function is byte-identical to the original.
2026-11-12 13:42:46 +00:00
ragnarok-clanker
89a874690f Maintenance: Move mid-file forward declarations out of .cpp files into owning headers: CUIListBoxEx explicit-specialization declarati
Batch #18338 by ragnarok-clanker: no function's compiled code changes; checked with 433 compiled unit(s), including every includer of Source/Client/Application/ApplicationWindow.h, Source/Client/Mode/CGameMode.h, Source/Client/Session/Session.h, Source/Contents/Configuration/ServiceOptions.h, Source/Contents/Map/MapSkyMgr.h, Source/Contents/Messenger/ClientMessenger.h, Source/Contents/SignBoard/SignBoard.h, Source/Contents/Skills/ClientSkills.h, Source/Contents/Sound/SoundConfiguration.h, Source/Render/DX7/RenderSystemDX7.h, Source/Render/Device/DisplayMode.h, Source/Resource/Json/JsonCppLoader.h, Source/Security/NProtectGameGuardMgr.h, Source/UI/Cooldowns/CooldownOwner.h, Source/UI/Enchant/EnchantUI.h, Source/UI/Exchange/UIExchangeUI.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/ProbabilityTable/UIProbabilityTable.h, Source/UI/Quest/UIOngoingQuestInfo.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/SelectPackageItemBox/SelectPackageItemBox.h, Source/UI/SkillDelayInfo/SkillDelayInfo.h, Source/UI/Text/TextWrapping.h, Source/Contents/Actors/Resources/BodyResources.h, Source/Resource/Json/JsonCppLoaderExternal.h, Source/Resource/Json/JsonCppLoaderParsing.h, Source/Security/NProtectGameMon.h.
2026-11-12 13:39:07 +00:00
ragnarok-clanker
b505fa1491 Maintenance: B4/C4: GetBodyImfName (fn_23381) and GetBodyActionResourceName (fn_23394) are CSession members: both end in ret 0x14 and
Batch #18317 by ragnarok-clanker: forced by an admin (7 lower score(s), 18 changed function(s)); checked with 288 compiled unit(s), including every includer of Source/Client/Session/Session.h, Source/Contents/Actors/Pc.h, Source/Contents/Sprites/SpriteRidingOffset.h.
2026-11-12 13:08:01 +00:00
ragnarok-clanker
b63373ee44 Decompile fn_22024 (CGameMode::ReceiveRuneSetGrades)
Batch #18297 by eAthena: 1 byte-identical, 0 confirmed by peer review.

- fn_22024 CGameMode::ReceiveRuneSetGrades: byte-identical

Merged automatically: every function is byte-identical to the original.
2026-11-12 12:45:13 +00:00
ragnarok-clanker
bafc9c7f88 Decompile fn_22124 (CGameMode::ReceivePartyInfo2)
Batch #18235 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_22124 CGameMode::ReceivePartyInfo2: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, Toshiro
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 12:33:03 +00:00
ragnarok-clanker
b5744bea01 Decompile fn_22122 (CGameMode::ReceiveGradeEnchantBroadcast)
Batch #18285 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_22122 CGameMode::ReceiveGradeEnchantBroadcast: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, Toshiro
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 12:32:31 +00:00
ragnarok-clanker
cd3f61d037 Decompile fn_22040 (CGameMode::ReceiveItemReward2)
Batch #18281 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_22040 CGameMode::ReceiveItemReward2: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 12:27:45 +00:00
ragnarok-clanker
b7a3993eca Maintenance: OBFUSCATE_STRING part 3: 95 more encrypted-string sites in 20 units rewritten as the OBFUSCATE_* macros on main (Utility
Batch #18270 by ragnarok-clanker: no function's compiled code changes; checked with 20 compiled unit(s).
2026-11-12 12:23:31 +00:00
ragnarok-clanker
58a49c1755 Decompile fn_21766 (CGameMode::ReceiveActorStateEntryOld)
Batch #18246 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21766 CGameMode::ReceiveActorStateEntryOld: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Yommy, KWDev, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 12:16:16 +00:00
ragnarok-clanker
2488f283ca Maintenance: C8 return types from the original: IsGuildMemberAccount/Character and Renderer::LockBackBuffer (DX7/DX9) return int (cal
Batch #18241 by ragnarok-clanker: forced by an admin (2 lower score(s), 17 changed function(s)); checked with 378 compiled unit(s), including every includer of Source/Client/Session/Session.h, Source/Contents/Effects/Particles/EZ2STREffectEx.h, Source/Render/DX7/RendererDX7.h, Source/Render/DX9/RendererDX9.h, Source/Render/Renderer.h.
2026-11-12 12:13:57 +00:00
ragnarok-clanker
91e1287979 Maintenance: B6': OnStove* are the static invokers of captureless callback lambdas: original calls operator() after 'xor ecx, ecx' (n
Batch #18197 by ragnarok-clanker: forced by an admin (0 lower score(s), 7 changed function(s)); checked with 1 compiled unit(s).
2026-11-12 11:43:54 +00:00
ragnarok-clanker
d727b7f46a Decompile fn_22021 (CGameMode::ReceiveRodexMailDeleteResult)
Batch #18247 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_22021 CGameMode::ReceiveRodexMailDeleteResult: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:37:32 +00:00
ragnarok-clanker
b1e91ee78a Decompile fn_21975 (CGameMode::SpawnMirrorActor)
Batch #18186 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21975 CGameMode::SpawnMirrorActor: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Yommy, KWDev, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:36:46 +00:00
ragnarok-clanker
466a8fefb2 Confirm fn_19355 (ReplayFileList::Instance)
Batch #18178 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_19355 ReplayFileList::Instance: logic confirmed by peer review (already on main)

Peer-reviewed-by: ragnarok-clanker, alisonrag, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:35:33 +00:00
ragnarok-clanker
311d2e6a55 Decompile fn_21323 (CGameMode::Update)
Batch #18243 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21323 CGameMode::Update: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:32:34 +00:00
ragnarok-clanker
4a6f28df3a Decompile fn_17824 (CMode::DrawCursor)
Batch #17453 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_17824 CMode::DrawCursor: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Yommy, alisonrag, cremane
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:24:23 +00:00
ragnarok-clanker
22d45d27e5 Decompile fn_19321 (ReplayFileList::Refresh)
Batch #18000 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_19321 ReplayFileList::Refresh: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Yommy, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:08:06 +00:00
ragnarok-clanker
34b2dd8a55 Decompile fn_23363 (CSession::GetEnemyHitWaveName)
Batch #18107 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_23363 CSession::GetEnemyHitWaveName: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, KWDev, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 11:03:07 +00:00
ragnarok-clanker
68097c53a5 Decompile fn_21605 (CGameMode::ReceiveRankingList)
Batch #18206 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_21605 CGameMode::ReceiveRankingList: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, alisonrag, bibinir
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 10:55:50 +00:00
ragnarok-clanker
1a322e4e80 Confirm 5 functions in Source/Client/Mode/GameModePackets.cpp
Batch #18191 by eAthena: 0 byte-identical, 5 confirmed by peer review.

- fn_21754 CGameMode::ReceiveActorMoveEntryOld: logic confirmed by peer review (already on main)
- fn_21755 CGameMode::ReceiveActorMoveEntryOld2: logic confirmed by peer review (already on main)
- fn_21756 CGameMode::ReceiveActorMoveEntryNamed: logic confirmed by peer review (already on main)
- fn_21757 CGameMode::ReceiveActorMoveEntryOld0: logic confirmed by peer review (already on main)
- fn_21985 CGameMode::SpawnMovingActor: logic confirmed by peer review (already on main)

Peer-reviewed-by: ragnarok-clanker, Yommy, KWDev
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-12 10:46:54 +00:00