Drahsid / ffvii

An in-progress matching decompilation of Final Fantasy VII For the PSX.
33 stars 1 forks source link

Typo in setup instructions #1

Open RivinwinAlt opened 2 years ago

RivinwinAlt commented 2 years ago

ReadMe.md line 33: "Run pip3 install requirements.txt"

Should read "Run pip3 install -r requirements.txt"

My research suggests the original command creates the config file, while the -r flag installs using it.

Drahsid commented 2 years ago

I actually noticed this a while ago but never got to writing the fix to it. Pretty sure this mistake is in other decomp repos of mine too lol. I'll fix it in my next commit, though you are welcome to PR a fix if you'd like.

RivinwinAlt commented 2 years ago

Thank you for the response; I hope I didn't come off as nitpicky.I've been looking for a decompile project of FF7 for years and this is the first stab I've seen taken at the whole game in it's entirety. I'm a student-turned-hobbyist and my experience is solely in object oriented programming rather than assembly or reverse engineering, but I have a deep passion for the game and have a large working knowledge of the PS1 hardware. I'm currently working to set up the build environment to assess whether I can be of use to the project. If I hit a point where I can push useful changes I would be happy to update the Readme file, but as of now I'm still learning how Capstone works and verifying my build environment.As a side note: I'm getting a variety of output files in the build directory but none are the miles of dirty C code I expected, and while I haven't traced the tools used in the make file yet I don't see where Capstone is run; do you have any tips or directions to shorten my learning curve? Do I for instance need to run Capstone afterwards on the unpacked assets?On Dec 10, 2021 2:56 AM, Drahsid @.***> wrote: I actually noticed this a while ago but never got to writing the fix to it. Pretty sure this mistake is in other decomp repos of mine too lol. I'll fix it in my next commit, though you are welcome to PR a fix if you'd like.

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

Drahsid commented 2 years ago

The c code is in src/boot (it's only the bootloader, and one big file right now,) you don't need to manually invoke capstone, splat does that for you when you run make setup. SCUS_941/SCUS_941.yaml is the config for the bootloader. To build the project as it currently is, you can run these commands under a debian-based distro (works under WSL):

sudo apt install git build-essential binutils-mips-linux-gnu python3 bchunk p7zip-full
git clone https://github.com/Drahsid/ffvii.git --recursive
cd ffvii
git submodule init
pip3 install -r requirements.txt
mkdir base

# copy the bin/cue pairs over with the names "ffvii" and then the one-indexed disk number followed by the extension. For example, for disk 1 "ffvii1.bin" and "ffvii1.cue." These files need to be copied into the `base` directory

make setup
make

If the build succeeds, the matching SCUS_941 bootloader should be output into the build directory.

I need to get the other modules from the game split as well, however they use some zip format that I haven't figured out how to extract yet (you can see my starting on KERNEL in the SUCS_941 directory.) Currently, all splat psx projects have issues with cop2 (gte) instructions, so any code that uses those is currently not decompilable, and additionally, extracting disk assets is a 2-step process when it should be a 1-step process; and we currently have no way of reconstructing the disk images automatically. If you have any issues, or just want to ask questions, add me on Discord, where I will be more deft to respond: Drahsid#5152