sotn-decomp/config/symbols.pspeu.stwrp.txt

137 lines
4.2 KiB
Plaintext
Raw Normal View History

CreateEntityFromLayout = 0x09237700;
CreateEntityWhenInVerticalRange = 0x09237820;
CreateEntityWhenInHorizontalRange = 0x092379b8;
FindFirstEntityToTheRight = 0x09237b50;
FindFirstEntityToTheLeft = 0x09237bc0;
CreateEntitiesToTheRight = 0x09237c48;
CreateEntitiesToTheLeft = 0x09237d88;
FindFirstEntityAbove = 0x09237ee0;
FindFirstEntityBelow = 0x09237f58;
CreateEntitiesAbove = 0x09237fe0;
CreateEntitiesBelow = 0x09238128;
InitRoomEntities = 0x09238288;
UpdateRoomPosition = 0x092384b8;
CreateEntityFromCurrentEntity = 0x09238598;
CreateEntityFromEntity = 0x09238620;
EntityStageNamePopup = 0x092386a8;
EntityIsNearPlayer = 0x09239528;
EntityRedDoor = 0x09239610;
Random = 0x0923a830;
Update = 0x0923a870;
UpdateStageEntities = 0x0923ac50;
EntitySoulStealOrb = 0x0923b780;
EntityEnemyBlood = 0x0923bce0;
BlitChar = 0x0923c3d0;
PrizeDropFall = 0x0923c988;
2024-10-02 21:39:01 +00:00
PrizeDropFall2 = 0x0923ca60;
CollectHeart = 0x0923cbe0;
CollectGold = 0x0923cc80;
CollectSubweapon = 0x0923cd80;
CollectHeartVessel = 0x0923d018;
CollectLifeVessel = 0x0923d0d8;
DestroyCurrentEntity = 0x0923d130;
EntityPrizeDrop = 0x0923d158;
EntityExplosion = 0x0923df70;
BlinkItem = 0x0923e0d8;
EntityEquipItemDrop = 0x0923e270;
EntityRelicOrb = 0x0923eac8;
EntityHeartDrop = 0x0923fc00;
EntityMessageBox = 0x0923fdd0;
EntityUnkId13 = 0x09240548;
2024-06-03 17:08:38 +00:00
EntityUnkId14 = 0x09240690;
EntityGreyPuff = 0x09240808;
EntityIntenseExplosion = 0x09240988;
2024-08-20 04:36:45 +00:00
PlaySfxPositional = 0x09240af8;
HitDetection = 0x09240c50;
2024-06-12 02:26:18 +00:00
EntityDamageDisplay = 0x09242420;
BottomCornerText = 0x09242e28;
EntityRoomForeground = 0x09243420;
DestroyEntity = 0x09243538;
PreventEntityFromRespawning = 0x092435d0;
AnimateEntity = 0x09243658;
GetSideToPlayer = 0x092437c8;
MoveEntity = 0x09243850;
FallEntity = 0x092438a0;
AllocEntity = 0x092438d8;
UnkEntityFunc0 = 0x09243948;
GetAngleBetweenEntities = 0x092439f0;
GetNormalizedAngle = 0x09243a70;
SetStep = 0x09243b68;
InitializeEntity = 0x09243bb8;
EntityDummy = 0x09243d60;
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 👉 https://github.com/Xeeynamo/sotn-decomp/commit/53a566f075a395e064f42db28737d5ef351f0ea1) 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 19:34:58 +00:00
CheckFieldCollision = 0x09243d98;
ReplaceBreakableWithItemDrop = 0x09243f28;
PrimResetNext = 0x09244520;
UnkPolyFunc2 = 0x09244628;
PrimDecreaseBrightness = 0x09244690;
EntityBreakable = 0x09244838;
EntityBackgroundBlock = 0x092449b8;
EntityUnkId12 = 0x09244ac8;
EntityWarpRoom = 0x09244d28;
EntityWarpSmallRocks = 0x09245c50;
g_eRedDoorUV = 0x09246080;
2024-05-27 09:06:22 +00:00
UNK_Invincibility0 = 0x09246098;
g_ESoulStealOrbAngles = 0x092460C8;
g_ESoulStealOrbSprt = 0x092460D8;
g_ESoulStealOrbAnim = 0x09246138;
D_80180DF4 = 0x092462F8;
e_collect.c adjustments (#1412) Changelog: * Import all the PSP WRP data that belong to `e_collect.c` * Remove the `ext.generic` use in favour of `ET_EquipItemDrop` * Document some fields from `ET_EquipItemDrop` * Discover the extra field `mariaSubWeapon` on PSP * `g_api.AddToInventory` signature changed to allow a better match on [EntityEquipItemDrop](https://decomp.me/scratch/PULKm) * Remove the fake array `D_8003BF9C` in favour of `g_CastleFlags` * The `O_TAG` struct is also valid on PSP * Decompile `EntityPrizeDrop` on PSP * Align `func_8018CAB0` to PSP * Align `EntityPrizeDrop` to PSP with a bunch of `#ifdef` * Align `EntityEquipItemDrop` to PSP using the WIP scratch [EntityEquipItemDrop](https://decomp.me/scratch/PULKm) * `DestroyCurrentEntity` is just an dummy item collector from `EntityPrizeDrop` * Duplicate functions in other overlays are not yet aligned as I am waiting to migrate them to use `e_collect` I noticed splat is not able to successfully recognise pointers if the data is too scattered. I had to merge the `data` in the YAML and allow it to be exported into a single file before starting to import it. The only missing function from `e_collect.c` is [EntityEquipItemDrop](https://decomp.me/scratch/PULKm). Data on PSX are slightly shuffled within the same C file. I believe the PSP build retains the original data order. Thanks to @sozud for the majority of the work on `EntityPrizeDrop` and `EntityEquipItemDrop` on PSP. And thanks to @bismurphy for solving the last piece of the puzzle to match `EntityPrizeDrop`.
2024-07-17 19:22:31 +00:00
g_SubweaponAnimPrizeDrop = 0x09246310;
g_MariaWeaponData1 = 0x09246388;
e_collect.c adjustments (#1412) Changelog: * Import all the PSP WRP data that belong to `e_collect.c` * Remove the `ext.generic` use in favour of `ET_EquipItemDrop` * Document some fields from `ET_EquipItemDrop` * Discover the extra field `mariaSubWeapon` on PSP * `g_api.AddToInventory` signature changed to allow a better match on [EntityEquipItemDrop](https://decomp.me/scratch/PULKm) * Remove the fake array `D_8003BF9C` in favour of `g_CastleFlags` * The `O_TAG` struct is also valid on PSP * Decompile `EntityPrizeDrop` on PSP * Align `func_8018CAB0` to PSP * Align `EntityPrizeDrop` to PSP with a bunch of `#ifdef` * Align `EntityEquipItemDrop` to PSP using the WIP scratch [EntityEquipItemDrop](https://decomp.me/scratch/PULKm) * `DestroyCurrentEntity` is just an dummy item collector from `EntityPrizeDrop` * Duplicate functions in other overlays are not yet aligned as I am waiting to migrate them to use `e_collect` I noticed splat is not able to successfully recognise pointers if the data is too scattered. I had to merge the `data` in the YAML and allow it to be exported into a single file before starting to import it. The only missing function from `e_collect.c` is [EntityEquipItemDrop](https://decomp.me/scratch/PULKm). Data on PSX are slightly shuffled within the same C file. I believe the PSP build retains the original data order. Thanks to @sozud for the majority of the work on `EntityPrizeDrop` and `EntityEquipItemDrop` on PSP. And thanks to @bismurphy for solving the last piece of the puzzle to match `EntityPrizeDrop`.
2024-07-17 19:22:31 +00:00
g_MariaSubweaponAnimPrizeDrop = 0x092463F8;
g_goldCollectTexts = 0x092464A8;
c_GoldPrizes = 0x092464D0;
e_collect.c adjustments (#1412) Changelog: * Import all the PSP WRP data that belong to `e_collect.c` * Remove the `ext.generic` use in favour of `ET_EquipItemDrop` * Document some fields from `ET_EquipItemDrop` * Discover the extra field `mariaSubWeapon` on PSP * `g_api.AddToInventory` signature changed to allow a better match on [EntityEquipItemDrop](https://decomp.me/scratch/PULKm) * Remove the fake array `D_8003BF9C` in favour of `g_CastleFlags` * The `O_TAG` struct is also valid on PSP * Decompile `EntityPrizeDrop` on PSP * Align `func_8018CAB0` to PSP * Align `EntityPrizeDrop` to PSP with a bunch of `#ifdef` * Align `EntityEquipItemDrop` to PSP using the WIP scratch [EntityEquipItemDrop](https://decomp.me/scratch/PULKm) * `DestroyCurrentEntity` is just an dummy item collector from `EntityPrizeDrop` * Duplicate functions in other overlays are not yet aligned as I am waiting to migrate them to use `e_collect` I noticed splat is not able to successfully recognise pointers if the data is too scattered. I had to merge the `data` in the YAML and allow it to be exported into a single file before starting to import it. The only missing function from `e_collect.c` is [EntityEquipItemDrop](https://decomp.me/scratch/PULKm). Data on PSX are slightly shuffled within the same C file. I believe the PSP build retains the original data order. Thanks to @sozud for the majority of the work on `EntityPrizeDrop` and `EntityEquipItemDrop` on PSP. And thanks to @bismurphy for solving the last piece of the puzzle to match `EntityPrizeDrop`.
2024-07-17 19:22:31 +00:00
D_80180EB8 = 0x092464F8;
2024-05-26 18:30:35 +00:00
c_HeartPrizes = 0x09246500;
g_ExplosionYVelocities = 0x09246508;
g_ExplosionAnimations = 0x092465C8;
unk15_rot = 0x09246690;
unk15_yVel = 0x092466A0;
2024-06-03 17:08:38 +00:00
unk14_yVel = 0x092466B8;
unk14_startFrame = 0x092466D0;
unk14_lifetime = 0x092466D8;
2024-06-12 02:26:18 +00:00
g_eDamageDisplayClut = 0x09246AA8;
eRoomForegroundInit = 0x09246AE0;
2024-06-08 21:29:45 +00:00
g_SpriteBanks = 0x09246C18;
g_TileLayers = 0x09246D18;
g_Cluts = 0x09246D80;
2024-06-08 23:09:29 +00:00
D_801801B8 = 0x09246D88;
D_801801CC = 0x09246DA0;
2024-06-08 21:29:45 +00:00
g_EntityGfxs = 0x09246DC0;
g_eRedDoorTiles = 0x09246E10;
g_eBreakableInit = 0x09246E90;
g_InitializeData0 = 0x09246EA0;
g_InitializeEntityData0 = 0x09246EB0;
g_EInitGeneric = 0x09246EC0;
g_InitDataEnt13 = 0x09246ED0;
2024-08-21 03:57:18 +00:00
g_EntityUnkId12Init = 0x09246EE0;
g_eInitGeneric2 = 0x09246EF0;
2024-06-12 02:26:18 +00:00
g_eDamageDisplayInit = 0x09246F00;
g_EInitSmallRocks = 0x09246F10;
2024-06-08 21:29:45 +00:00
g_Rooms = 0x09246F20;
g_eBreakableAnimations = 0x09246FB0;
g_eBreakableHitboxes = 0x09246FD0;
g_eBreakableanimSets = 0x09246FD8;
g_eBreakableDrawModes = 0x09246FE8;
2024-06-08 21:29:45 +00:00
g_StageOverlay = 0x0924B960;
g_eBackgroundBlockInit = 0x0924B9B8;
2024-08-21 03:57:18 +00:00
g_EntityUnkId12Hitbox = 0x0924B9E0;
g_EntityUnkId12TilemapProps = 0x0924B9E8;
g_HeartDropArray_wrp = 0x0924BA58;
WarpRoomCoords = 0x0924BA98;
2024-06-11 04:19:56 +00:00
D_80186E30 = 0x0924BAB0;
D_80186E3C = 0x0924BAC0;
D_80186E4C = 0x0924BAD0;
D_80186E5C = 0x0924BAE0;
g_LayoutObjPosVertical = 0x0924BC00;
g_LayoutObjPosHorizontal = 0x0924BC08;
g_LayoutObjVertical = 0x0924BC10;
g_LayoutObjHorizontal = 0x0924BC18;
g_eBreakableExplosionTypes = 0x0924BCC8;
g_HeartDropArray = 0x0924CCD0;
2024-08-21 03:57:18 +00:00
g_EntityUnkId12Data = 0x0924CCD8;
D_80180648 = 0x0924CCE0;
WarpBackgroundBrightness = 0x0924CCE8;
WarpBackgroundPhase = 0x0924CCF0;
WarpBackgroundAmplitiude = 0x0924CCF8;
DestinationWarpRoom = 0x0924CD00;