forked from Vatuu/silent-hill-decomp
-
Notifications
You must be signed in to change notification settings - Fork 0
Organization
IWILLCRAFT-M0d edited this page Nov 10, 2025
·
3 revisions
Silent Hill is comprised out of 3 main files. The executable, and two file containers: SILENT. and HILL..
HILL. exclusively contain audio and FMVs while SILENT. contains the overall game data including all the important pieces of game code which are overlays.
Alongside the executable, the most important pieces of code are inside the 1ST folder in SILENT.:
- The actual executable named
SLUS_007.07, hereby referred to asmain. The main executable in Silent Hill serves only the purpose of initialize the load ofB_KONAMI.BINandBODYPROG.BINwhile also displaying the content warning image. - An overlay responsible for loading the some of the assets of general the game (as it is Harry's model and animations and the fonts) and display the Konami and KTCE splash screens
B_KONAMI.BIN. - The overlay containing the main engine and general game code, named
BODYPROG.BIN.
The rest of the overlays are in VIN folder, which include:
-
STREAM.BIN- used to play video files. -
OPTION.BIN- used for displaying and handling the logic of the options menu. -
SAVELOAD.BIN- used for displaying and handling the logic of the save and load menu (not responsible for handling memory card state or save data, those are in charge of the engine). -
STF_ROLL.BIN- used to display credits. -
MAP#_S##.BIN- maps scripts and AI logic, loaded in the game playthrough order (e.g.MAP0_S00.BIN- is the first file from the game start up to the cafe,MAP0_S01.BINis loaded next). -
-
_S##it is very likely a shortage ofSTAGE. While the second number is clearly intended to represent the stage index the first number is always 0 excepting in the European release where it uses different numbers from 0 to 5 (skipping 1 for unknown reasons) in order to represent the language.
-
A simple breakdown of how this repository is structured specially intended for newbies.
The actual decompiled source code (excepting most of map code; See Include Folder Structure) is organized in the following way:
src/
├── maps/
│ └── map#_s##/
│ └── The map (level) scripts overlay (MAP#_S##.BIN).
├── screens/
│ ├── b_konami/
│ │ └── The boot screen overlay (B_KONAMI.BIN).
│ ├── credits/
│ │ └── The credits screen overlay (STF_ROLL.BIN).
│ ├── options/
│ │ └── The options screen overlay (OPTION.BIN).
│ ├── saveload/
│ │ └── The save/load screen overlay (SAVELOAD.BIN).
│ └── stream/
│ └── The video stream overlay (STREAM.BIN).
├── bodyprog/
│ └── The main game logic overlay (BODYPROG.BIN).
└── main/
└── The game's main executable logic (SLUS_007.07).
The actual decompiled source code is organized in the following way:
include/
│ └── General game or tooling specific header files and macro defines.
├── maps/
│ └── map#/
│ └── Exclusive per-map overlay data and functions header files.
│ └── shared/
│ └── Shared decompiled functions among overlays.
├── bodyprog/
│ └── Headers for game's main game logic overlay (BODYPROG.BIN).
├── psyq/
│ └── Headers for PSY-Q SDK.
├── screens/
│ ├── b_konami/
│ │ └── Headers for the boot screen overlay (B_KONAMI.BIN).
│ ├── credits/
│ │ └── Headers for the credits screen overlay (STF_ROLL.BIN).
│ ├── options/
│ │ └── Headers for the options screen overlay (OPTION.BIN).
│ ├── saveload/
│ │ └── Headers for the save/load screen overlay (SAVELOAD.BIN).
│ └── stream/
│ └── Headers for the video stream overlay (STREAM.BIN).
└── main/
└── Headers for game's main executable code (SLUS_007.07).