sotn-decomp/config
Luciano Ciccariello 7a5baed841
Share more code and data between stage overlays (#1281)
Given the fact that sharing compiled C objects is not exactly possible
(code heavily copy&pasted maybe? this initiative is now abandoned 👉
53a566f075)
I decided to keep pressing forward with shared headers. Thanks a lot to
@hohle for making our life much easier by cross-referencing symbols.

The file split on WRP seems to be the closest file split we might have
compared to the original source code (still speculating here). I think
it would be a good idea to start splitting other overlays too with the
same approach.

My idea is to have a file split like the following:

```
st/
   cen/
       e_particles.c
       e_misc.c
       st_common.c
   nz0/
       e_particles.c
       e_misc.c
       st_common.c
   wrp/
       e_particles.c
       e_misc.c
       st_common.c
   e_particles.h
   e_misc.h
   st_common.h
```

each of those C files will just be a one-line `#include
"../the_shared_code.h"` as usual. Right now we create individual headers
for single functions, sometimes for more than one function when we think
grouping makes sense. But I think we can start merging some of those
headers and consolidate the code. This can be done gradually. For
example `src/st/e_particles.h` is still importing function headers under
the hood. That is okay for now, but later on I wish to import those
headers functions into their respective parent headers.

Another important aspect to consider that will validate a correct file
split is to start importing the data inside these new C files. Right now
we have floating data such as `src/st/wrp_psp/wrp_data_EA00.c` or
monstrosities such as `src/st/wrp/6FD0.c`. An example of a (possibly)
correct migrated data is what this PR does with WRP PSP and NZ0 PSX,
with data pointing in `src/st/*/e_particles.c`.
2024-06-08 20:34:58 +01:00
..
saturn Saturn: Decompile entrypoint, don't strip elfs (#659) 2023-10-02 06:47:44 -07:00
check.hd.sha Add TT_000 from the HD version (#1111) 2024-04-04 22:28:57 +01:00
check.pspeu.sha Add ST/WRP from PSP (#1172) 2024-05-25 11:56:06 -07:00
check.saturn.sha Saturn: Add Alucard overlay (#658) 2023-10-01 16:26:24 -07:00
check.us.sha Split BIN/WEAPON0.BIN (#154) 2023-08-10 23:56:40 +01:00
dirt.hd.json Import 4A538, demo and 5087C data (#835) 2023-12-12 10:36:34 -08:00
dirt.pspeu.json Add TT_000 overlay from PSP (#1113) 2024-04-21 02:18:10 +01:00
dirt.saturn.json Import 4A538, demo and 5087C data (#835) 2023-12-12 10:36:34 -08:00
dirt.us.json Import LBA data (#922) 2023-12-31 15:44:56 +00:00
disk.us.lba Writes built binaries into build/us/ 2023-02-21 20:06:27 +00:00
gfx.game.json Extract BIN/F_GAME.BIN (#886) 2023-12-25 19:23:25 +00:00
splat.hd.dra.yaml Link all DRA files (#1251) 2024-06-03 21:47:30 +01:00
splat.hd.tt_000.yaml TT_000 PSP match more functions (#1150) 2024-05-19 19:23:30 +01:00
splat.pspeu.stwrp.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.pspeu.tt_000.yaml Update mwccgap (basic rodata support) (#1276) 2024-06-07 10:14:08 -07:00
splat.us.dra.yaml Import DRA data (#1259) 2024-06-05 17:48:18 +01:00
splat.us.main.yaml patchgte to asm (#1213) 2024-05-30 22:43:04 +01:00
splat.us.ric.yaml Pass undefined_syms files to linker (#1065) 2024-02-18 14:57:03 +00:00
splat.us.stcen.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stdre.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stmad.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stno3.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stnp3.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stnz0.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.strwrp.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stsel.yaml Pass undefined_syms files to linker (#1065) 2024-02-18 14:57:03 +00:00
splat.us.stst0.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.stwrp.yaml Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
splat.us.tt_000.yaml TT_000 PSP match more functions (#1150) 2024-05-19 19:23:30 +01:00
splat.us.weapon.yaml Completes w_051 (#1122) 2024-05-12 18:31:16 +01:00
symbols.beta.txt Prevent entity from respawning refactor (#1176) 2024-05-26 18:07:53 +01:00
symbols.hd.dra.txt Document animation-related code (#1269) 2024-06-06 20:12:26 +01:00
symbols.hd.tt_000.txt Add TT_000 from the HD version (#1111) 2024-04-04 22:28:57 +01:00
symbols.hd.txt Document animation-related code (#1269) 2024-06-06 20:12:26 +01:00
symbols.pspeu.stwrp.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.pspeu.tt_000.txt TT_000 PSP match more functions (#1150) 2024-05-19 19:23:30 +01:00
symbols.pspeu.txt WRP PSP e_particles (#1227) 2024-06-01 20:32:59 +01:00
symbols.stmad.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.dra.txt Document animation-related code (#1269) 2024-06-06 20:12:26 +01:00
symbols.us.main.txt Migrate .rodata to functions for main.exe (#1078) 2024-02-24 11:35:01 +00:00
symbols.us.ric.txt DRA RenderEntities (non matching) (#1034) 2024-02-06 10:54:35 -08:00
symbols.us.stcen.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.stdre.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.stno3.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.stnp3.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.stnz0.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.strwrp.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.stsel.txt Decomp SEL func_801B69F8 (#1007) 2024-01-24 18:34:05 +00:00
symbols.us.stst0.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.stwrp.txt Share more code and data between stage overlays (#1281) 2024-06-08 20:34:58 +01:00
symbols.us.tt_000.txt TT_000 func_801733D4 (#789) 2023-11-18 18:40:14 -08:00
symbols.us.txt Document animation-related code (#1269) 2024-06-06 20:12:26 +01:00
symbols.us.weapon.txt Update func_8011A4D0 to match on PSP (#1155) 2024-05-21 17:34:07 -07:00
symbols.us.weapon.txt.in Document animation-related code (#1269) 2024-06-06 20:12:26 +01:00
undefined_syms.beta.txt GetPlayerCollisionWith matching (#1196) 2024-05-27 11:21:44 -07:00
undefined_syms.hd.txt PSP: func_80171ED4 (#1116) 2024-05-04 19:09:31 +01:00
undefined_syms.pspeu.txt WRP PSP e_particles (#1227) 2024-06-01 20:32:59 +01:00
undefined_syms.us.txt DRA import more data (#1239) 2024-06-02 19:29:17 +01:00