Skip to content

rayman-decomp/rayman-ps1-decomp

 
 

Repository files navigation

Rayman PS1 Decompilation

This is a WIP matching decompilation of the PlayStation version of Rayman 1 created by fuerchter. It uses the symbols from the Android version of Rayman Classic and Rayman 30th Anniversary Edition where possible, with custom names being prefixed with PS1_. This repo does not come with any of the game's assets.

Build instructions for ubuntu (24.04.1 LTS) and WSL with splat:

git clone --recursive https://github.com/fuerchter/rayman-ps1-decomp

Add SLUS-000.05 sha1 4ac1789e118933762cd0ebcb9a970f63dfe2c72f to project root
Get gcc-2.5.7.tar.gz, extract and add it to the tools dir (extracted path of cc1 e.g.: tools/gcc-2.5.7/cc1)

sudo apt install python3 python3-pip binutils-mipsel-linux-gnu cpp-mipsel-linux-gnu
pip install -r requirements.txt
make -f mk-splat.mk extract
make -f mk-splat.mk

sha1sum should print OK

Remaining non-matching functions

Any help with these is greatly appreciated! Feel free to create a PR or open an issue if you get any of them to match.

File Function Address Link % matching
src/card.c SaveGameOnCard 8016AC64 https://decomp.me/scratch/hG4wh 99.29%
src/save.c restoreGameState 80163C84 https://decomp.me/scratch/F5Ked 98.86%
src/sound.c PlaySnd 80166E94 https://decomp.me/scratch/KzhV8 97.51%
src/video.c PS1_PlayVideoFile 80132A44 https://decomp.me/scratch/CMLNM 96.47%
src/collision/block_6E5E0.c CALC_MOV_ON_BLOC 80193A3C https://decomp.me/scratch/dYt2F 94.69%
src/draw/draw_14FF4.c DISPLAY_ALL_OBJECTS 8013C2BC https://decomp.me/scratch/0fY1o 99.58%
src/draw/draw_548CC.c Luciolle 80179218 https://decomp.me/scratch/4ai6p 94.73%
src/draw/fond_10B3C.c init_bgi 801356E0 https://decomp.me/scratch/Qh0Tt 98.41%
src/draw/fond_10B3C.c InitBG 80135930 https://decomp.me/scratch/l547t 97.14%
src/draw/fond_10B3C.c DrawBG_spr_h 80135D5C https://decomp.me/scratch/gNtGz 88.67%
src/draw/fond_10B3C.c DrawBG_bande_v 80136340 https://decomp.me/scratch/2zVov 99.04%
src/draw/fond_10B3C.c DrawBG_new 801366AC https://decomp.me/scratch/kHz3p 97.66%
src/draw/fond_10B3C.c DrawBG_gen 8013733C https://decomp.me/scratch/bRw9c 99.05%
src/draw/text_18118.c display_text 8013DA5C https://decomp.me/scratch/HLz85 99.25%
src/menu/menu_82008.c PS1_InitGameOptionsMenu 801A6808 https://decomp.me/scratch/U35Nx 96.68%
src/obj/bb1.c DO_BBMONT2_COMMAND 8017EAA4 https://decomp.me/scratch/07j9E 89.38%
src/obj/dark_phase2.c allocate_DARK2_SORT 8019C464 https://decomp.me/scratch/GLrrh 99.81%
src/obj/eyes_4BC40.c DO_ROLL_EYES 80170440 https://decomp.me/scratch/NR6Iv 99.05%
src/obj/mite.c DO_MIT_ATTAK 8016F4FC https://decomp.me/scratch/mitn7 98.67%
src/obj/spider_plafond.c DO_DARD_PLAFOND_ALWAYS 80178938 https://decomp.me/scratch/SonmS 92.47%
src/obj/ufo_idc.c DO_MOVING_WITH_INDICATOR_COMMAND 80199230 https://decomp.me/scratch/u9HGf 93.81%

Project to-do/dreams

Below is a list of potential goals for the decomp. Since there aren't many people working on this project we would greatly appreciate any help anyone is willing to provide!

  • Finish native PC port.
  • Merge with Rayverse for a unified codebase.
  • Name remaining unnamed global variables.
  • Clean up codebase with proper variable names in functions and comments to make it more readable.
  • Use bitfields instead of flags in the places where it's known to be done in the original game.
  • Add PAL support since it has more languages, among other updates. Maybe NTSC-J version too, although that has more differences.

Credits

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.6%
  • Other 0.4%