2023-02-19 18:15:49 +00:00
|
|
|
LoadTPage = 0x8001112C;
|
|
|
|
GetClut = 0x80011DEC;
|
|
|
|
ClearImage = 0x80012A90;
|
|
|
|
LoadImage = 0x80012B24;
|
|
|
|
rand = 0x800160E4;
|
|
|
|
rsin = 0x80016C9C;
|
|
|
|
rcos = 0x80016D68;
|
|
|
|
RotTransPers4 = 0x8001833C;
|
|
|
|
ratan2 = 0x800190AC;
|
|
|
|
D_8003BEEC = 0x8003BEE8;
|
|
|
|
D_8003BF7C = 0x8003BF08;
|
|
|
|
D_8003C104 = 0x8003C000;
|
|
|
|
g_api = 0x8003C670;
|
2023-08-31 21:55:23 +00:00
|
|
|
g_api_FreePrimitives = 0x8003C6B0;
|
|
|
|
g_api_AllocPrimitives = 0x8003C6B4;
|
|
|
|
g_api_CheckCollision = 0x8003C6B8;
|
|
|
|
g_api_func_80102CD8 = 0x8003C6BC;
|
|
|
|
g_api_PlaySfx = 0x8003C6D8;
|
|
|
|
g_api_func_800EDB58 = 0x8003C6DC;
|
|
|
|
g_api_func_80106A28 = 0x8003C6FC;
|
|
|
|
g_api_enemyDefs = 0x8003C704;
|
|
|
|
g_api_func_8010E168 = 0x8003C71C;
|
|
|
|
g_api_func_8010DFF0 = 0x8003C720;
|
|
|
|
g_api_DealDamage = 0x8003C724;
|
|
|
|
g_api_LoadEquipIcon = 0x8003C728;
|
2023-09-13 19:29:39 +00:00
|
|
|
g_api_equipDefs = 0x8003C72C;
|
|
|
|
g_api_g_AccessoryDefs = 0x8003C730;
|
2023-08-31 21:55:23 +00:00
|
|
|
g_api_func_800FE044 = 0x8003C744;
|
|
|
|
g_api_AddToInventory = 0x8003C748;
|
2023-09-13 19:29:39 +00:00
|
|
|
g_api_relicDefs = 0x8003C74C;
|
2023-08-31 21:55:23 +00:00
|
|
|
g_api_func_80134714 = 0x8003C754;
|
|
|
|
g_api_CheckEquipmentItemCount = 0x8003C760;
|
|
|
|
g_api_func_8010BF64 = 0x8003C764;
|
2023-09-22 22:42:06 +00:00
|
|
|
g_GameTimer = 0x8003C780;
|
2023-02-19 18:15:49 +00:00
|
|
|
g_CurrentEntity = 0x8006C26C;
|
|
|
|
g_Clut = 0x8006C680;
|
2023-05-18 18:54:05 +00:00
|
|
|
g_Player = 0x80072684;
|
2023-05-17 17:36:10 +00:00
|
|
|
g_Player_D_80072EF4 = 0x800729A8;
|
|
|
|
g_Player_D_80072EFC = 0x800729B0;
|
|
|
|
g_Player_pl_vram_flag = 0x800729D4;
|
|
|
|
g_Player_unk0C = 0x800729E0;
|
|
|
|
g_Player_unk10 = 0x800729E4;
|
2023-02-19 18:15:49 +00:00
|
|
|
D_80072F76 = 0x80072A2A;
|
|
|
|
D_80072F78 = 0x80072A2C;
|
Replace RoomDimensions with Tilemap (#730)
Failing to decompile [RenderTilemap](https://decomp.me/scratch/WigVS)
made me realise there were a few fields and structures I have always
been suspicious to be part of the same structure. After
cross-referencing overlapping fields from different structures, I was
able to merge `D_80073088`, `g_Camera`, `D_8007309C`, `g_CurrentRoom`
and `g_CurrentRoomTileLayout` into the new `g_Tilemap`.
I was forced to touch the majority of the code-base, which gave me the
opportunity to standardise some field names (e.g. from
`currentRoomTileLayout`, `roomLayout`, `layout`, `t` into `tilemap`),
remove some fake code, redundant code and adjust some symbols.
2023-11-04 16:43:45 +00:00
|
|
|
g_Tilemap = 0x80072B34;
|
2023-03-12 16:11:03 +00:00
|
|
|
g_Camera = 0x80072B3C;
|
|
|
|
g_Camera_posX_i_hi = 0x80072B3E;
|
|
|
|
g_Camera_posY_i_hi = 0x80072B42;
|
2023-03-30 07:24:43 +00:00
|
|
|
g_CurrentRoom = 0x80072B50;
|
Replace RoomDimensions with Tilemap (#730)
Failing to decompile [RenderTilemap](https://decomp.me/scratch/WigVS)
made me realise there were a few fields and structures I have always
been suspicious to be part of the same structure. After
cross-referencing overlapping fields from different structures, I was
able to merge `D_80073088`, `g_Camera`, `D_8007309C`, `g_CurrentRoom`
and `g_CurrentRoomTileLayout` into the new `g_Tilemap`.
I was forced to touch the majority of the code-base, which gave me the
opportunity to standardise some field names (e.g. from
`currentRoomTileLayout`, `roomLayout`, `layout`, `t` into `tilemap`),
remove some fake code, redundant code and adjust some symbols.
2023-11-04 16:43:45 +00:00
|
|
|
g_Tilemap_vSize = 0x80072B58;
|
2023-03-30 07:24:43 +00:00
|
|
|
g_CurrentRoom_x = 0x80072B70;
|
|
|
|
g_CurrentRoom_y = 0x80072B74;
|
|
|
|
g_CurrentRoom_width = 0x80072B78;
|
|
|
|
g_CurrentRoom_height = 0x80072B7C;
|
2023-05-08 12:29:12 +00:00
|
|
|
g_Entities = 0x80072E88;
|
2023-02-19 18:15:49 +00:00
|
|
|
D_800733DA = 0x80072E8A;
|
|
|
|
D_800733DC = 0x80072E8C;
|
|
|
|
D_800733DE = 0x80072E8E;
|
|
|
|
D_800733E4 = 0x80072E94;
|
|
|
|
D_800733FC = 0x80072EAC;
|
|
|
|
D_80073412 = 0x80072EC2;
|
|
|
|
D_80073420 = 0x80072ED0;
|
|
|
|
D_80073490 = 0x80072F40;
|
|
|
|
D_80073494 = 0x80072F44;
|
|
|
|
D_80075718 = 0x800751C8;
|
2023-05-08 12:29:12 +00:00
|
|
|
g_Entities_STAGE_ENTITY_START = 0x80075D88;
|
2023-02-19 18:15:49 +00:00
|
|
|
D_8007A958 = 0x8007A408;
|
|
|
|
D_8007C0D8 = 0x8007BB88;
|
|
|
|
D_8007D858 = 0x8007D308;
|
|
|
|
D_8007EF1C = 0x8007E9CC;
|
2023-05-08 12:29:58 +00:00
|
|
|
g_EvHwCardEnd = 0x8007EA88;
|
2023-03-24 12:19:33 +00:00
|
|
|
g_PrimBuf = 0x80086A9C;
|
2023-02-19 18:15:49 +00:00
|
|
|
D_8008700C = 0x80086ABC;
|
|
|
|
D_8008701E = 0x80086ACE;
|
|
|
|
D_800973F8 = 0x80096EA8;
|
|
|
|
D_800973FC = 0x80096EAC;
|
2023-10-11 23:45:50 +00:00
|
|
|
g_unkGraphicsStruct = 0x80096EB8;
|
Decompile ST0 func_801BA7D8 (#515)
This is an unknown function. I don't know what it does. It is duplicated
across most overlays. It is called in CollectGold, EntityEquipItemDrop,
and TestCollisions.
It seems to take in a string, and then do a bunch of things with
primitives, but I don't know what. We don't directly reference that
array, we only read and write to it based on a pointer which moves
through the array. I tried to remove the pointer but didn't get
anywhere.
Fully-matching scratch is here: https://decomp.me/scratch/UV2K2
I am starting with only this one version of the function, so that if
changes need to be made (variable names, control flow, etc), I can
update them once here, and then copy them to the other places, instead
of making changes in every place. Once we are happy with the state of
this function, I will add the duplicates to this PR prior to merging.
---------
Co-authored-by: bismurphy <bismurphy@users.noreply.github.com>
2023-08-27 01:30:57 +00:00
|
|
|
g_BottomCornerTextTimer = 0x80096EC0;
|
|
|
|
g_BottomCornerTextPrims = 0x80096EC4;
|
2023-02-19 18:15:49 +00:00
|
|
|
g_entityDestroyed = 0x80096ED8;
|
|
|
|
D_8009748A = 0x80096F3A;
|
|
|
|
D_8009748E = 0x80096F3E;
|
|
|
|
g_pads = 0x80096F40;
|
|
|
|
g_randomNext = 0x80097364;
|
|
|
|
D_80097908 = 0x800973B4;
|
|
|
|
D_8009790C = 0x800973B8;
|
2023-03-19 16:35:23 +00:00
|
|
|
g_Status = 0x80097410;
|
2023-02-19 18:15:49 +00:00
|
|
|
D_8009796F = 0x8009741B;
|
|
|
|
D_80097973 = 0x8009741F;
|
2023-05-06 01:41:47 +00:00
|
|
|
g_Status_hearts = 0x80097654;
|
|
|
|
g_Status_heartsMax = 0x80097658;
|
|
|
|
g_Status_gold = 0x8009769C;
|
|
|
|
g_Status_killCount = 0x800976A0;
|
2023-05-16 02:33:00 +00:00
|
|
|
subWeapon = 0x800976A8;
|
2023-09-22 22:42:06 +00:00
|
|
|
g_Timer = 0x8003C854;
|
2023-11-23 20:04:41 +00:00
|
|
|
RotMatrix = 0x800186AC;
|
|
|
|
RotMatrixX = 0x80018BCC;
|
|
|
|
RotMatrixY = 0x80018D6C;
|
|
|
|
RotMatrixZ = 0x80018F0C;
|
|
|
|
TransMatrix = 0x80017CDC;
|
|
|
|
ScaleMatrix = 0x80017D0C;
|
|
|
|
SetRotMatrix = 0x80017E3C;
|
|
|
|
SetTransMatrix = 0x80017ECC;
|
|
|
|
SetGeomScreen = 0x8001805C;
|
|
|
|
SetGeomOffset = 0x8001803C;
|
2023-02-19 18:15:49 +00:00
|
|
|
|
2023-08-31 21:55:23 +00:00
|
|
|
D_8003BE1E_mad = 0x8003BE1E;
|
|
|
|
D_8003BF28_mad = 0x8003BF28;
|
|
|
|
D_80072E9C_mad = 0x80072E9C;
|
|
|
|
D_80072EB4_mad = 0x80072EB4;
|
|
|
|
D_80096ED0_mad = 0x80096ED0;
|