ethteck / splat

A binary splitting tool to assist with decompilation and modding projects
MIT License
149 stars 41 forks source link

Add a few ps2 segments #360

Closed AngheloAlf closed 3 months ago

AngheloAlf commented 3 months ago

This sections are configured to behave in a very specific way, since we know the data they contain.

One major missing ps2/c++ section is the init section (the ctor data points to symbols from this section). The init section is another executable that is autogenerated by the compiler. It contains functions to initialize global or static C++ objects. This PR does not include that section because I'm not sure yet how the workflow of migrating this section to the .cpp file would work like. I have a WIP implementation that I'm toying with here, in case anybody wants to take a look at it: https://github.com/AngheloAlf/goin_quackers/blob/4e0fbcf165df1b1a4b4c924afd466fb1c3ef1bf4/tools/splat_ext/init.py

The other changes (like configure_disassembler_section) were made to make implementing the new segment types more easily

ethteck commented 3 months ago

this looks grood, but I think we should strive to keep spimdisasm/rabbitizer imports out of generic segment files

AngheloAlf commented 3 months ago

We already include those in segments like codesubsegment and rodata. Either way, I removed the new imports I added