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 01edddbd58 Confirm 2 functions in Source/Contents/Messenger/ClientMessenger.cpp
Batch #17899 by eAthena: 0 byte-identical, 2 confirmed by peer review.

- fn_05783 EquipmentPropertyStore::RemoveDuplicateNames: logic confirmed by peer review (already on main)
- fn_23485 CSession::FindShopId: logic confirmed by peer review (already on main)

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:01:59 +00:00
data Config: OBFUSCATE_* encodedLiterals rules (Utility/Cipher/Obfuscate.h, the AY_OBFUSCATE-style compile-time string encryption) 2026-11-11 21:46:09 +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 build_exe: write link.rsp in ANSI code page on Windows (fixes LNK1181 with non-ASCII paths) 2026-11-12 10:28:29 +01:00
Source Confirm 2 functions in Source/Contents/Messenger/ClientMessenger.cpp 2026-11-12 11:01:59 +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.