Ragnarok Online reconstruction through Clank Together https://clank.rodecomp.online/
  • C++ 97.6%
  • C 1.9%
  • Python 0.3%
  • POV-Ray SDL 0.2%
Find a file
ragnarok-clanker c8e26860da Decompile 7 functions in Source/Client/Mode/GameModeNotices.cpp, Source/Client/Mode/GameModePackets.cpp
Batch #17109 by eAthena: 0 byte-identical, 7 confirmed by peer review.

- fn_22129 CGameMode::ReceiveVendingItemList: logic confirmed by peer review
- fn_21628 CGameMode::ReceiveBuyingStoreItemList: logic confirmed by peer review
- fn_21692 CGameMode::ReceiveEquipItemList34: logic confirmed by peer review
- fn_21693 CGameMode::ReceiveEquipItemList38: logic confirmed by peer review
- fn_21716 CGameMode::ReceiveEquipItemListFlags: logic confirmed by peer review
- fn_21770 CGameMode::ReceiveNpcStandEntry: logic confirmed by peer review
- fn_21961 CGameMode::ApplyGuildStorageLog: logic confirmed by peer review

Peer-reviewed-by: alisonrag, Toshiro, br4yan
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-11 14:24:23 +00:00
data Maintenance: Source reorganisation, parts 2+3: Source/UI, Client, Render, Resource, Utility, Network, Archive, Interface and loose So 2026-11-11 01:05:24 +00:00
docs README: banner and shorter intro 2026-11-04 14:32:01 +00:00
Recovered Maintenance: Recovered/ includes and build_exe.py paths follow the source reorganisation 2026-11-11 02:08:56 +01:00
scripts exe build: post-link patch stage for edits made to the shipped exe 2026-11-11 14:01:22 +01:00
Source Decompile 7 functions in Source/Client/Mode/GameModeNotices.cpp, Source/Client/Mode/GameModePackets.cpp 2026-11-11 14:24:23 +00:00
ThirdParty Generate Visual Studio and clangd project files from data/compile.json; remove stale CMake build 2026-11-09 14:18:30 +01:00
.clang-format Reconstruct readable C++ and organize cohesive source subsystems 2026-10-25 07:42:41 +00:00
.clangd Generate Visual Studio and clangd project files from data/compile.json; remove stale CMake build 2026-11-09 14:18:30 +01:00
.gitattributes Enforce LF text checkouts across platforms 2026-10-25 21:09:55 +01:00
.gitignore exe build: post-link patch stage for edits made to the shipped exe 2026-11-11 14:01:22 +01:00
AGENTS.md Generate Visual Studio and clangd project files from data/compile.json; remove stale CMake build 2026-11-09 14:18:30 +01:00
CODING_RULES.md Generate Visual Studio and clangd project files from data/compile.json; remove stale CMake build 2026-11-09 14:18:30 +01:00
README.md exe build: post-link patch stage for edits made to the shipped exe 2026-11-11 14:01:22 +01:00

rodecomp

A matching decompilation of the Ragnarok Online client.

How to Build

python scripts/exe/gen_ide.py     # generate build/Ragexe.sln
python scripts/exe/build_exe.py    # or build the .sln -> build/exe/Ragexe.exe

build_exe.py runs three stages in order: compile, link (Ragexe.exe, .pdb, .map), then patch. The patch stage (scripts/exe/postprocess.py) re-applies byte edits that the shipped executable received after it was compiled and that no C++ source can express (e.g. a jmp written over a switch head). The source keeps the code as it was compiled; each edit is one documented module in scripts/exe/patches/NNNN_name.py, applied in NNNN order, located by symbol and checked against the exact expected bytes. A patch that does not fit fails the build. --no-postprocess gives the exe exactly as the source compiles. Clank checks never see these patches.