sotn-decomp/config/symbols.us.stwrp.txt
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

48 lines
1.2 KiB
Plaintext

g_Rooms = 0x801811AC;
D_80181228 = 0x80181228;
D_80181250 = 0x80181250;
D_80181278 = 0x80181278;
D_801812A0 = 0x801812A0;
D_801812C8 = 0x801812C8;
D_801812F0 = 0x801812F0;
D_80181304 = 0x80181304;
D_80181324 = 0x80181324;
D_8018134C = 0x8018134C;
D_80181374 = 0x80181374;
D_8018139C = 0x8018139C;
D_801813C4 = 0x801813C4;
D_801813EC = 0x801813EC;
D_80181400 = 0x80181400;
D_80181420 = 0x80181420;
D_80181764 = 0x80181764;
D_80181D08 = 0x80181D08;
D_80181D68 = 0x80181D68;
D_80181F68 = 0x80181F68;
D_80182168 = 0x80182168;
D_80182368 = 0x80182368;
D_80182568 = 0x80182568;
D_80182768 = 0x80182768;
D_80182968 = 0x80182968;
D_80182A68 = 0x80182A68;
D_80182B68 = 0x80182B68;
D_80182C68 = 0x80182C68;
D_80182D68 = 0x80182D68;
D_80182D78 = 0x80182D78;
D_80183D78 = 0x80183D78;
D_80184D78 = 0x80184D78;
D_80185D78 = 0x80185D78;
D_80186D78 = 0x80186D78;
D_80186D88 = 0x80186D88;
g_UnkPrimHelperRot = 0x80186FC8;
EntityWarpRoom = 0x801873A0;
EntityWarpSmallRocks = 0x80187F1C;
EntityRedDoor = 0x8018A9C8;
CollectGold = 0x8018CD10;
EntityEquipItemDrop = 0x8018DA34;
EntityStageNamePopup = 0x8019198C;
g_LayoutObjHorizontal = 0x80193AB0;
g_LayoutObjVertical = 0x80193AB4;
g_LayoutObjPosHorizontal = 0x80193AB8;
g_LayoutObjPosVertical = 0x80193ABC;
g_ItemIconSlots = 0x80194728;