mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2024-11-27 06:50:35 +00:00
7a5baed841
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`.
48 lines
1.2 KiB
Plaintext
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;
|