This repository is a multi-platform decompilation of **Castlevania: Symphony of the Night**, targeting the original PlayStation (PSX), PSP, Sega Saturn, and a modern PC port. It reconstructs the game's source code from original binaries to produce byte-identical builds, while also providing a full reimplementation with a cross-platform port. The codebase is organized into per-stage, per-boss, and per-weapon overlay modules, each defining entity update tables, initialization data, and asset references. A central entity system with step-based state machines drives all game objects, and a shared `g_api` function table enables cross-overlay communication. The project includes extensive tooling for asset extraction/rebuilding (Go), automated code linting and transformation (Rust), binary diffing (Python), and duplicate function detection (Rust). While the decompilation is largely complete for the US PSX version, many PSP and Saturn functions remain as `INCLUDE_ASM` stubs, and the PC port contains several `UnsupportedEntity` placeholders. The architecture demonstrates high craftsmanship in its overlay system, entity dispatch patterns, and modular toolchain, though platform-specific `#ifdef` branching and code duplication across overlays introduce maintenance complexity.
This is the Source SDK 2013, Valve's official modding SDK for Half-Life 2, Half-Life 2: Deathmatch, and Team Fortress 2. It provides the full game engine source code, including client and server DLLs, map compilation tools (vbsp, vrad, vvis), distributed processing (VMPI), and a comprehensive set of game entities, AI behaviors, rendering shaders, and UI frameworks. The codebase is a large C++ monolith with heavy use of preprocessor conditionals to support multiple game mods (HL2, HL2MP, TF2, SDK) and platform targets (Windows, Linux, Xbox 360). It includes a NextBot AI framework with behavior trees, a VGUI2 UI system, a material system with shader fallbacks for legacy DirectX levels, and a replay system. However, the repository is effectively a historical snapshot: many proprietary systems are stubbed out, third-party libraries (protobuf 2.6.1, LZMA) are outdated, and the code shows signs of bitrot with deprecated APIs and dead code paths. It is not actively maintained and would require significant modernization for use in new projects.