Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/track-progress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
--output .github/data/badge.svg

- name: Upload progress data as artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: progress-data
path: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ badge.svg

# OS
Thumbs.db
assets/
45 changes: 24 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,9 @@ The game binary has been extracted into raw C code using decompilation tools. Cu
```
src/
├── core/
│ ├── entry.c
│ ├── thread.c
│ └── memory.c
├── io/
│ ├── cdrom.c
│ └── filesystem.c
├── game/
│ ├── state.c
│ └── init.c
├── platform/
│ ├── ps2/
│ └── windows/
└── include/
```

Expand Down Expand Up @@ -62,28 +53,40 @@ src/
We use a JSDoc-style tagging system to track which functions have been categorized and refactored.

**Quick example:**

### Original function
Do not edit other then to tag

```c
/** @category: core/entry @status: complete @author: yourname */
void func_00100230() {
// Refactored function code
}
```

### Running Progress Tracker Locally

```bash
# View current progress
python tools/track_progress.py

# Generate detailed reports
python tools/track_progress.py --json progress.json --report progress.txt

# Generate badge
python tools/generate_badge.py --json progress.json --output badge.svg
### Refactored Code
```c
/**
* @category core/entry
* @status complete
* @author caprado
* @original func_00100230
* @address 0x00100230
* @description Main entry point that initializes the system and returns a status code
* @windows_compatibility high
*/
int main_entry_point(void) {
int result;

// Call system initialization function
result = initialize_system();

return (result > 0) ? 1 : 0;
}
```

## Getting Involved
This project is open-source, and welcome contributions from anyone interested in video games, reverse engineering, or software preservation. If you'd like to contribute or have suggestions, please reach out via our project repository.
This project is open-source, and welcome contributions from anyone interested in video games, reverse engineering, or software preservation. If you'd like to contribute or have suggestions, please reach out.

## Disclaimer
This project is for educational and preservation purposes only. It does not endorse piracy, and participants are advised to ensure they own legal copies of the game and comply with all relevant copyright laws.
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00100230.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: core/entry @status: complete @author: caprado */
void func_00100230() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00100250.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: core/init @status: complete @author: caprado */
void func_00100250() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00100e38.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: core/init @status: complete @author: caprado */
void func_00100e38() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00107d30.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: system/thread @status: complete @author: caprado */
void func_00107d30() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00111678.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: core/init @status: complete @author: caprado */
void func_00111678() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00111f90.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: core/init @status: complete @author: caprado */
void func_00111f90() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00112170.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: system/timing @status: complete @author: caprado */
void func_00112170() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00115408.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: system/thread @status: complete @author: caprado */
void func_00115408() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00116598.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: utility/lookup @status: complete @author: caprado */
void func_00116598() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001178e0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: system/sync @status: complete @author: caprado */
void func_001178e0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_0011d378.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: system/sync @status: complete @author: caprado */
void func_0011d378() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_0011d390.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: system/sync @status: complete @author: caprado */
void func_0011d390() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_0018dca0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/rendering @status: complete @author: caprado */
void func_0018dca0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00195ec0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/rendering @status: complete @author: caprado */
void func_00195ec0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_00198130.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/rendering @status: complete @author: caprado */
void func_00198130() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_0019d440.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category graphics/texture @status complete @author caprado */
void func_0019d440() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_0019ee10.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category graphics/texture @status complete @author caprado */
void func_0019ee10() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_0019f080.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: graphics/memory @status: complete @author: caprado */
void func_0019f080() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001a0970.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/rendering @status: complete @author: caprado */
void func_001a0970() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001a0c10.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: memory/allocation @status: complete @author: caprado */
void func_001a0c10() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001a1aa0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category game/data @status complete @author caprado */
void func_001a1aa0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001a8a60.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/utility @status: complete @author: caprado */
void func_001a8a60() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ae910.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/rendering @status: complete @author: caprado */
void func_001ae910() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001aee10.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/stub @status: complete @author: caprado */
void func_001aee10() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001aee20.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: compression/lz77 @status: complete @author: caprado */
void func_001aee20() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001aefd0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category graphics/render @status complete @author caprado */
void func_001aefd0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001af2f0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: utility/array @status: complete @author: caprado */
void func_001af2f0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001af3a0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: utility/array @status: complete @author: caprado */
void func_001af3a0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001b07d0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/init @status: complete @author: caprado */
void func_001b07d0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001b2080.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: memory/pool @status: complete @author: caprado */
void func_001b2080() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001b76c0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/frame @status: complete @author: caprado */
void func_001b76c0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001b7720.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/resource @status: complete @author: caprado */
void func_001b7720() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001b9e60.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/menu @status: complete @author: caprado */
void func_001b9e60() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001b9ef0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/menu @status: complete @author: caprado */
void func_001b9ef0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba010.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/menu @status: complete @author: caprado */
void func_001ba010() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba060.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/menu @status: complete @author: caprado */
void func_001ba060() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba0f0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/menu @status: complete @author: caprado */
void func_001ba0f0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba1d0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/state @status: complete @author: caprado */
void func_001ba1d0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba310.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/update @status: complete @author: caprado */
void func_001ba310() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba8b0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/init @status: complete @author: caprado */
void func_001ba8b0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001ba960.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/init @status: complete @author: caprado */
void func_001ba960() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001bbf70.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/buffer @status: complete @author: caprado */
void func_001bbf70() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001bbfb0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/loop @status: complete @author: caprado */
void func_001bbfb0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001bc2a0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/state @status: complete @author: caprado */
void func_001bc2a0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
4 changes: 2 additions & 2 deletions extracted/func_001c2a50.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ void func_001c2a50() {
v1 = *(int32_t*)((v1) + 0x20); // 0x001c2b10: lw $v1, 0x20($v1)
if (v1 == v0) goto label_0x1c2b2c; // 0x001c2b14: beq $v1, $v0, 0x1c2b2c
a0 = 2; // 0x001c2b18: addiu $a0, $zero, 2
func_001bfb70(); // 0x1bfb20 // 0x001c2b1c: jal 0x1bfb20
func_001bfb70(); // 0x1bfb20 // check func_001bfb20 // 0x001c2b1c: jal 0x1bfb20
goto label_0x1c2b38; // 0x001c2b24: b 0x1c2b38
v1 = *(int32_t*)((gp) + -0x62dc); // 0x001c2b28: lw $v1, -0x62dc($gp)
label_0x1c2b2c:
func_001bfb70(); // 0x1bfb20 // 0x001c2b2c: jal 0x1bfb20
func_001bfb70(); // 0x1bfb20 // check func_001bfb20 // 0x001c2b2c: jal 0x1bfb20
/* nop */ // 0x001c2b30: nop
v1 = *(int32_t*)((gp) + -0x62dc); // 0x001c2b34: lw $v1, -0x62dc($gp)
label_0x1c2b38:
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001d35a0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/resource @status: complete @author: caprado */
void func_001d35a0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001d3ae0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/resource @status: complete @author: caprado */
void func_001d3ae0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001d3cb0.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/resource @status: complete @author: caprado */
void func_001d3cb0() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
1 change: 1 addition & 0 deletions extracted/func_001d3d20.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/** @category: game/resource @status: complete @author: caprado */
void func_001d3d20() {
// MIPS register variables
int32_t v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9;
Expand Down
Loading