From 90754d34fb83d8b1cb101e706ab331ecf5edd576 Mon Sep 17 00:00:00 2001 From: Donkey Kong Date: Wed, 9 Aug 2023 14:23:20 +0930 Subject: [PATCH] 11.0246% --- include/structs.h | 6 +- progress/progress.global_asm.csv | 74 ++++++++--------- progress/progress.total.csv | 74 ++++++++--------- progress/progress_global_asm.svg | 6 +- progress/progress_total.svg | 4 +- src/global_asm/code_1135F0.c | 67 ++++++++++++++- src/global_asm/code_127B00.c | 112 ++++++++++++++++++++++--- src/global_asm/code_2C910.c | 14 ++-- src/global_asm/code_2DE90.c | 127 +++++++++++++++++++++++++--- src/global_asm/code_5E020.c | 120 +++++++++++++++++++++++++-- src/global_asm/code_77B90.c | 41 +++++++++ src/global_asm/code_79890.c | 137 ++++++++++++++++++++++++++++++- src/global_asm/code_F600.c | 4 +- src/global_asm/code_FE40.c | 8 +- symbol_addrs.us.txt | 15 ++++ 15 files changed, 677 insertions(+), 132 deletions(-) diff --git a/include/structs.h b/include/structs.h index b370892..3146412 100644 --- a/include/structs.h +++ b/include/structs.h @@ -293,7 +293,7 @@ typedef struct { f32 unkC; } AnimationStateUnk24; -// See boss func_8002FB7C +// See boss func_dk64_boot_8002FB7C typedef struct animation_state_unk20 { u8 unk0; u8 unk1; @@ -314,7 +314,7 @@ typedef struct actor_animation_state { void *bone_array_1; // at 0x14, camera, update bone positions // TODO: Proper type void *bone_array_2; // at 0x18, camera, update bone positions // TODO: Proper type AnimationStateUnk1C *unk1C; // TODO: Used in func_global_asm_80724CA4 and func_global_asm_8068FF40, pretty easy match, array of 0x8 structs? // malloc(0x100) in func_global_asm_80683158 - AnimationStateUnk20 *unk20; // See boss func_8002FB7C + AnimationStateUnk20 *unk20; // See boss func_dk64_boot_8002FB7C AnimationStateUnk24 *unk24; s32 unk28; s32 unk2C; @@ -1001,7 +1001,7 @@ typedef struct { f32 unk8; } PaaD0; -// Bonus func_800253E4 +// Bonus func_bonus_800253E4 typedef struct { Actor* unk0; } BaaD2; diff --git a/progress/progress.global_asm.csv b/progress/progress.global_asm.csv index 7128665..da041ad 100644 --- a/progress/progress.global_asm.csv +++ b/progress/progress.global_asm.csv @@ -72,7 +72,7 @@ us,asm,func_global_asm_806B8BDC,156,no us,asm,func_global_asm_80655BF0,264,no us,asm,func_global_asm_8068408C,160,no us,asm,func_global_asm_80611534,96,no -us,asm,func_global_asm_80659320,48,no +us,asm,func_global_asm_80659320,48,yes us,asm,func_global_asm_806B1DD4,212,yes us,asm,func_global_asm_806F1350,40,no us,asm,func_global_asm_806B640C,492,yes @@ -81,7 +81,7 @@ us,asm,func_global_asm_80732930,124,no us,asm,func_global_asm_80666290,204,no us,asm,func_global_asm_806A921C,152,no us,asm,func_global_asm_8065BAA0,980,no -us,asm,func_global_asm_8062A808,60,no +us,asm,func_global_asm_8062A808,60,yes us,asm,func_global_asm_8068304C,268,no us,asm,func_global_asm_80611850,172,no us,asm,func_global_asm_8070D07C,644,no @@ -98,7 +98,7 @@ us,asm,func_global_asm_806CF0D0,104,no us,asm,func_global_asm_806A8158,4044,no us,asm,func_global_asm_80633570,64,no us,asm,func_global_asm_8070C9E8,68,no -us,asm,func_global_asm_80723C98,52,no +us,asm,func_global_asm_80723C98,52,yes us,asm,func_global_asm_80708C24,384,no us,asm,func_global_asm_80737E50,64,yes us,asm,func_global_asm_806CC284,224,no @@ -162,7 +162,7 @@ us,asm,setFlag,288,no us,asm,func_global_asm_8066ADA0,324,no us,asm,func_global_asm_80671C0C,260,no us,asm,func_global_asm_806EE06C,160,no -us,asm,func_global_asm_8062A228,36,no +us,asm,func_global_asm_8062A228,36,yes us,asm,func_global_asm_8063DC58,528,no us,asm,func_global_asm_8070B324,1224,no us,asm,func_global_asm_807186C8,756,no @@ -181,7 +181,7 @@ us,asm,func_global_asm_80712F10,184,no us,asm,func_global_asm_80738400,108,yes us,asm,func_global_asm_806E8A8C,100,no us,asm,func_global_asm_8072B608,404,no -us,asm,func_global_asm_806291A8,12,no +us,asm,func_global_asm_806291A8,12,yes us,asm,func_global_asm_80639F1C,164,no us,asm,func_global_asm_806AA304,4584,no us,asm,func_global_asm_8071E3EC,1144,no @@ -260,7 +260,7 @@ us,asm,func_global_asm_80678824,120,no us,asm,func_global_asm_80709BC4,1628,no us,asm,func_global_asm_80631B80,12,no us,asm,func_global_asm_8068A764,32,no -us,asm,func_global_asm_806594C8,124,no +us,asm,func_global_asm_806594C8,124,yes us,asm,func_global_asm_80627B58,172,yes us,asm,func_global_asm_806F53EC,96,no us,asm,func_global_asm_806EAF6C,136,no @@ -293,7 +293,7 @@ us,asm,func_global_asm_80676280,64,no us,asm,func_global_asm_807138CC,476,no us,asm,func_global_asm_806951B0,56,no us,asm,func_global_asm_806B1EE8,32,yes -us,asm,func_global_asm_807232B8,52,no +us,asm,func_global_asm_807232B8,52,yes us,asm,func_global_asm_807271F4,436,no us,asm,func_global_asm_8067E704,32,no us,asm,func_global_asm_806C61C8,872,no @@ -353,7 +353,7 @@ us,asm,func_global_asm_8060C8AC,712,no us,asm,func_global_asm_806D205C,392,no us,asm,func_global_asm_80631F58,84,no us,asm,func_global_asm_806C71B0,8,yes -us,asm,func_global_asm_80659574,60,no +us,asm,func_global_asm_80659574,60,yes us,asm,func_global_asm_8064BF58,120,no us,asm,func_global_asm_806EE5A4,144,no us,asm,func_global_asm_8060C758,216,no @@ -379,7 +379,7 @@ us,asm,func_global_asm_80667174,12,no us,asm,func_global_asm_806CC8B8,56,no us,asm,func_global_asm_806F1B90,116,no us,asm,func_global_asm_806D1568,1088,no -us,asm,func_global_asm_80722E00,72,no +us,asm,func_global_asm_80722E00,72,yes us,asm,func_global_asm_806D06A0,708,no us,asm,func_global_asm_806C71B8,8,yes us,asm,func_global_asm_8063DFEC,140,no @@ -400,7 +400,7 @@ us,asm,func_global_asm_80650D04,136,no us,asm,func_global_asm_8069E724,80,no us,asm,func_global_asm_8070CA70,68,no us,asm,func_global_asm_80723F88,460,no -us,asm,func_global_asm_80675380,248,no +us,asm,func_global_asm_80675380,248,yes us,asm,func_global_asm_806898A8,80,no us,asm,n_alSynDelete,28,yes us,asm,func_global_asm_807149A8,16,no @@ -411,7 +411,7 @@ us,asm,func_global_asm_80666AE0,12,no us,asm,func_global_asm_80605380,400,no us,asm,func_global_asm_8066A584,200,no us,asm,func_global_asm_80729AA4,92,no -us,asm,func_global_asm_80723428,92,no +us,asm,func_global_asm_80723428,92,yes us,asm,func_global_asm_806EACEC,280,no us,asm,func_global_asm_8062D1E0,140,no us,asm,func_global_asm_8073F60C,528,yes @@ -484,7 +484,7 @@ us,asm,func_global_asm_806306D0,60,no us,asm,func_global_asm_807023E8,124,no us,asm,func_global_asm_80712A40,320,no us,asm,func_global_asm_806EA2D8,92,no -us,asm,func_global_asm_8062A274,212,no +us,asm,func_global_asm_8062A274,212,yes us,asm,func_global_asm_8070FA58,488,no us,asm,func_global_asm_80652B04,196,no us,asm,func_global_asm_8068A784,44,no @@ -585,7 +585,7 @@ us,asm,func_global_asm_806DB08C,56,no us,asm,func_global_asm_80601258,52,no us,asm,func_global_asm_8063CF3C,668,no us,asm,func_global_asm_806A2B90,672,no -us,asm,func_global_asm_8062A774,92,no +us,asm,func_global_asm_8062A774,92,yes us,asm,func_global_asm_806F2EDC,228,no us,asm,func_global_asm_8069DF58,192,no us,asm,clearGlobalFlags,80,no @@ -679,7 +679,7 @@ us,asm,func_global_asm_806F6204,848,no us,asm,func_global_asm_8065F678,748,no us,asm,func_global_asm_80724CA4,132,no us,asm,func_global_asm_806F10E8,360,no -us,asm,func_global_asm_8062A7D0,56,no +us,asm,func_global_asm_8062A7D0,56,yes us,asm,func_global_asm_8065C240,244,no us,asm,func_global_asm_806726DC,532,no us,asm,func_global_asm_8064B204,92,no @@ -835,8 +835,8 @@ us,asm,func_global_asm_80636210,180,no us,asm,func_global_asm_806F94AC,108,no us,asm,func_global_asm_80697988,868,no us,asm,func_global_asm_8064C9F8,324,no -us,asm,func_global_asm_80723320,44,no -us,asm,func_global_asm_807232EC,52,no +us,asm,func_global_asm_80723320,44,yes +us,asm,func_global_asm_807232EC,52,yes us,asm,func_global_asm_80712944,252,no us,asm,func_global_asm_806CFC90,216,no us,asm,func_global_asm_806F007C,64,no @@ -939,7 +939,7 @@ us,asm,func_global_asm_806D19A8,440,no us,asm,func_global_asm_806696A0,400,no us,asm,func_global_asm_806CA048,160,no us,asm,func_global_asm_8060E79C,80,no -us,asm,func_global_asm_807233B4,116,no +us,asm,func_global_asm_807233B4,116,yes us,asm,func_global_asm_80601CF0,52,no us,asm,func_global_asm_80715270,1532,no us,asm,func_global_asm_80676590,88,no @@ -1083,7 +1083,7 @@ us,asm,func_global_asm_80652EBC,104,no us,asm,func_global_asm_8063C4C4,532,no us,asm,func_global_asm_806F8D58,108,no us,asm,func_global_asm_80605044,720,no -us,asm,func_global_asm_806595B0,64,no +us,asm,func_global_asm_806595B0,60,yes us,asm,func_global_asm_8072E740,156,no us,asm,func_global_asm_80723CCC,700,no us,asm,setIntroStoryPlaying,16,no @@ -1133,7 +1133,7 @@ us,asm,func_global_asm_805FF1B0,324,no us,asm,func_global_asm_8066CEE4,876,no us,asm,func_global_asm_8068B80C,16,no us,asm,func_global_asm_806FD094,1020,no -us,asm,func_global_asm_8062919C,12,no +us,asm,func_global_asm_8062919C,12,yes us,asm,func_global_asm_806E9874,132,no us,asm,func_global_asm_80662180,8,no us,asm,func_global_asm_80643440,612,no @@ -1215,10 +1215,10 @@ us,asm,func_global_asm_80713AA8,152,no us,asm,func_global_asm_8071586C,84,no us,asm,func_global_asm_806E8C2C,296,no us,asm,func_global_asm_806B91E0,2768,no -us,asm,func_global_asm_80723284,52,no +us,asm,func_global_asm_80723284,52,yes us,asm,func_global_asm_80652DB4,164,no us,asm,func_global_asm_80713764,320,no -us,asm,func_global_asm_80723380,52,no +us,asm,func_global_asm_80723380,52,yes us,asm,func_global_asm_80722E48,420,no us,asm,func_global_asm_806809F0,4388,no us,asm,func_global_asm_806B50F4,72,no @@ -1381,7 +1381,7 @@ us,asm,func_global_asm_8065214C,172,no us,asm,func_global_asm_806D7170,200,no us,asm,func_global_asm_807127B4,64,no us,asm,func_global_asm_80665160,156,no -us,asm,func_global_asm_8070F2C8,52,no +us,asm,func_global_asm_8070F2C8,52,yes us,asm,func_global_asm_8070E8DC,20,no us,asm,func_global_asm_80724DB0,152,no us,asm,func_global_asm_8067A1DC,1216,no @@ -1476,7 +1476,7 @@ us,asm,func_global_asm_80715E38,92,no us,asm,func_global_asm_8062B8E4,296,no us,asm,func_global_asm_806CFF1C,128,no us,asm,func_global_asm_806A1AC4,1124,no -us,asm,func_global_asm_80659350,120,no +us,asm,func_global_asm_80659350,120,yes us,asm,func_global_asm_8064B260,76,no us,asm,func_global_asm_8064B574,48,no us,asm,func_global_asm_8064BAF4,88,no @@ -1513,11 +1513,11 @@ us,asm,func_global_asm_806E3E40,884,no us,asm,func_global_asm_8068E7B4,508,no us,asm,func_global_asm_806D36CC,128,no us,asm,func_global_asm_806FD950,80,no -us,asm,func_global_asm_80659470,88,no +us,asm,func_global_asm_80659470,88,yes us,asm,func_global_asm_8072A7DC,144,no us,asm,func_global_asm_806AE394,500,no us,asm,func_global_asm_806418E8,180,no -us,asm,func_global_asm_806752D4,172,no +us,asm,func_global_asm_806752D4,172,yes us,asm,func_global_asm_806C2A64,200,no us,asm,func_global_asm_806FD7A8,236,no us,asm,func_global_asm_80670C5C,680,no @@ -1591,7 +1591,7 @@ us,asm,func_global_asm_80677D58,40,no us,asm,func_global_asm_806F2C48,660,no us,asm,func_global_asm_80684900,256,no us,asm,func_global_asm_80727194,96,no -us,asm,func_global_asm_8072334C,52,no +us,asm,func_global_asm_8072334C,52,yes us,asm,func_global_asm_806EB8CC,152,no us,asm,func_global_asm_80670F04,160,no us,asm,func_global_asm_8070033C,848,no @@ -1731,7 +1731,7 @@ us,asm,func_global_asm_8064B7D4,20,no us,asm,func_global_asm_8071F1D0,296,no us,asm,func_global_asm_806E7C70,388,no us,asm,func_global_asm_8067ACB4,12,no -us,asm,func_global_asm_807245D8,24,no +us,asm,func_global_asm_807245D8,24,yes us,asm,func_global_asm_806003EC,64,no us,asm,func_global_asm_8072E7DC,140,no us,asm,func_global_asm_8070DA74,264,no @@ -1884,7 +1884,7 @@ us,asm,func_global_asm_8071A8B0,556,no us,asm,func_global_asm_8070DD18,44,no us,asm,func_global_asm_80692520,32,no us,asm,func_global_asm_8064D880,248,no -us,asm,func_global_asm_80629190,12,no +us,asm,func_global_asm_80629190,12,yes us,asm,func_global_asm_80711950,640,no us,asm,func_global_asm_8068A7B0,96,no us,asm,func_global_asm_806FA9C0,352,no @@ -1921,7 +1921,7 @@ us,asm,func_global_asm_806C9830,324,no us,asm,func_global_asm_8062BB2C,412,no us,asm,func_global_asm_80698120,3788,no us,asm,func_global_asm_8073E268,504,no -us,asm,func_global_asm_80722FEC,52,no +us,asm,func_global_asm_80722FEC,52,yes us,asm,func_global_asm_80600C68,228,yes us,asm,func_global_asm_806F70A8,84,no us,asm,func_global_asm_80703850,608,no @@ -1967,7 +1967,7 @@ us,asm,func_global_asm_806725A0,68,no us,asm,func_global_asm_806CD8EC,156,no us,asm,func_global_asm_806F603C,456,no us,asm,func_global_asm_80709344,248,no -us,asm,func_global_asm_806755A8,616,no +us,asm,func_global_asm_806755A8,604,yes us,asm,func_global_asm_80635548,64,no us,asm,func_global_asm_806A370C,1132,no us,asm,func_global_asm_806CA26C,64,no @@ -2079,7 +2079,7 @@ us,asm,func_global_asm_80693EC0,1532,no us,asm,func_global_asm_806FD894,64,yes us,asm,func_global_asm_806E2FE8,88,no us,asm,func_global_asm_80689114,196,no -us,asm,func_global_asm_80675234,160,no +us,asm,func_global_asm_80675234,160,yes us,asm,func_global_asm_8067BE30,284,no us,asm,func_global_asm_806C226C,1392,no us,asm,func_global_asm_8064D0C4,292,no @@ -2291,7 +2291,7 @@ us,asm,func_global_asm_80688EA4,64,no us,asm,func_global_asm_8071A440,564,no us,asm,func_global_asm_806653C0,392,no us,asm,func_global_asm_80666AF8,656,no -us,asm,func_global_asm_8062A348,168,no +us,asm,func_global_asm_8062A348,168,yes us,asm,func_global_asm_80683158,412,no us,asm,func_global_asm_8067BC88,32,no us,asm,func_global_asm_80676CB0,80,no @@ -2525,7 +2525,7 @@ us,asm,func_global_asm_8071E110,184,no us,asm,func_global_asm_8065CFB8,80,no us,asm,func_global_asm_80679DC4,728,no us,asm,func_global_asm_8072D99C,56,no -us,asm,func_global_asm_80659544,48,no +us,asm,func_global_asm_80659544,48,yes us,asm,func_global_asm_806D2330,72,no us,asm,func_global_asm_806C7228,8,yes us,asm,func_global_asm_806F06A4,92,no @@ -2644,7 +2644,7 @@ us,asm,func_global_asm_806B02EC,104,no us,asm,func_global_asm_806C8E58,144,no us,asm,func_global_asm_80691830,256,no us,asm,func_global_asm_80657974,828,no -us,asm,func_global_asm_8062A844,12,no +us,asm,func_global_asm_8062A844,8,yes us,asm,func_global_asm_806FDA8C,44,no us,asm,func_global_asm_80669C6C,72,no us,asm,func_global_asm_806E2E6C,60,no @@ -2776,7 +2776,7 @@ us,asm,func_global_asm_8062BA74,112,no us,asm,func_global_asm_806B2790,1492,no us,asm,func_global_asm_806EB364,156,no us,asm,func_global_asm_80665ACC,24,no -us,asm,func_global_asm_8062A24C,40,no +us,asm,func_global_asm_8062A24C,40,yes us,asm,func_global_asm_80611690,80,no us,asm,func_global_asm_806ADDD8,520,no us,asm,func_global_asm_806BFA8C,296,no @@ -2806,7 +2806,7 @@ us,asm,func_global_asm_80685020,176,no us,asm,func_global_asm_80712548,44,no us,asm,func_global_asm_80688320,80,no us,asm,func_global_asm_806392BC,1576,no -us,asm,func_global_asm_80724874,60,no +us,asm,func_global_asm_80724874,56,yes us,asm,func_global_asm_80636FFC,2928,no us,asm,func_global_asm_806011A0,52,no us,asm,func_global_asm_8063E5B4,256,no @@ -3110,7 +3110,7 @@ us,asm,func_global_asm_806C80E4,248,no us,asm,func_global_asm_806C7238,8,yes us,asm,func_global_asm_8062E608,116,no us,asm,func_global_asm_80634FA0,120,no -us,asm,func_global_asm_8062A130,248,no +us,asm,func_global_asm_8062A130,248,yes us,asm,func_global_asm_806F9470,60,no us,asm,func_global_asm_806F1990,136,no us,asm,func_global_asm_80635114,256,no diff --git a/progress/progress.total.csv b/progress/progress.total.csv index b1b10b6..fda5a8e 100644 --- a/progress/progress.total.csv +++ b/progress/progress.total.csv @@ -72,7 +72,7 @@ us,asm,func_global_asm_806B8BDC,156,no us,asm,func_global_asm_80655BF0,264,no us,asm,func_global_asm_8068408C,160,no us,asm,func_global_asm_80611534,96,no -us,asm,func_global_asm_80659320,48,no +us,asm,func_global_asm_80659320,48,yes us,asm,func_global_asm_806B1DD4,212,yes us,asm,func_global_asm_806F1350,40,no us,asm,func_global_asm_806B640C,492,yes @@ -81,7 +81,7 @@ us,asm,func_global_asm_80732930,124,no us,asm,func_global_asm_80666290,204,no us,asm,func_global_asm_806A921C,152,no us,asm,func_global_asm_8065BAA0,980,no -us,asm,func_global_asm_8062A808,60,no +us,asm,func_global_asm_8062A808,60,yes us,asm,func_global_asm_8068304C,268,no us,asm,func_global_asm_80611850,172,no us,asm,func_global_asm_8070D07C,644,no @@ -98,7 +98,7 @@ us,asm,func_global_asm_806CF0D0,104,no us,asm,func_global_asm_806A8158,4044,no us,asm,func_global_asm_80633570,64,no us,asm,func_global_asm_8070C9E8,68,no -us,asm,func_global_asm_80723C98,52,no +us,asm,func_global_asm_80723C98,52,yes us,asm,func_global_asm_80708C24,384,no us,asm,func_global_asm_80737E50,64,yes us,asm,func_global_asm_806CC284,224,no @@ -162,7 +162,7 @@ us,asm,setFlag,288,no us,asm,func_global_asm_8066ADA0,324,no us,asm,func_global_asm_80671C0C,260,no us,asm,func_global_asm_806EE06C,160,no -us,asm,func_global_asm_8062A228,36,no +us,asm,func_global_asm_8062A228,36,yes us,asm,func_global_asm_8063DC58,528,no us,asm,func_global_asm_8070B324,1224,no us,asm,func_global_asm_807186C8,756,no @@ -181,7 +181,7 @@ us,asm,func_global_asm_80712F10,184,no us,asm,func_global_asm_80738400,108,yes us,asm,func_global_asm_806E8A8C,100,no us,asm,func_global_asm_8072B608,404,no -us,asm,func_global_asm_806291A8,12,no +us,asm,func_global_asm_806291A8,12,yes us,asm,func_global_asm_80639F1C,164,no us,asm,func_global_asm_806AA304,4584,no us,asm,func_global_asm_8071E3EC,1144,no @@ -260,7 +260,7 @@ us,asm,func_global_asm_80678824,120,no us,asm,func_global_asm_80709BC4,1628,no us,asm,func_global_asm_80631B80,12,no us,asm,func_global_asm_8068A764,32,no -us,asm,func_global_asm_806594C8,124,no +us,asm,func_global_asm_806594C8,124,yes us,asm,func_global_asm_80627B58,172,yes us,asm,func_global_asm_806F53EC,96,no us,asm,func_global_asm_806EAF6C,136,no @@ -293,7 +293,7 @@ us,asm,func_global_asm_80676280,64,no us,asm,func_global_asm_807138CC,476,no us,asm,func_global_asm_806951B0,56,no us,asm,func_global_asm_806B1EE8,32,yes -us,asm,func_global_asm_807232B8,52,no +us,asm,func_global_asm_807232B8,52,yes us,asm,func_global_asm_807271F4,436,no us,asm,func_global_asm_8067E704,32,no us,asm,func_global_asm_806C61C8,872,no @@ -353,7 +353,7 @@ us,asm,func_global_asm_8060C8AC,712,no us,asm,func_global_asm_806D205C,392,no us,asm,func_global_asm_80631F58,84,no us,asm,func_global_asm_806C71B0,8,yes -us,asm,func_global_asm_80659574,60,no +us,asm,func_global_asm_80659574,60,yes us,asm,func_global_asm_8064BF58,120,no us,asm,func_global_asm_806EE5A4,144,no us,asm,func_global_asm_8060C758,216,no @@ -379,7 +379,7 @@ us,asm,func_global_asm_80667174,12,no us,asm,func_global_asm_806CC8B8,56,no us,asm,func_global_asm_806F1B90,116,no us,asm,func_global_asm_806D1568,1088,no -us,asm,func_global_asm_80722E00,72,no +us,asm,func_global_asm_80722E00,72,yes us,asm,func_global_asm_806D06A0,708,no us,asm,func_global_asm_806C71B8,8,yes us,asm,func_global_asm_8063DFEC,140,no @@ -400,7 +400,7 @@ us,asm,func_global_asm_80650D04,136,no us,asm,func_global_asm_8069E724,80,no us,asm,func_global_asm_8070CA70,68,no us,asm,func_global_asm_80723F88,460,no -us,asm,func_global_asm_80675380,248,no +us,asm,func_global_asm_80675380,248,yes us,asm,func_global_asm_806898A8,80,no us,asm,n_alSynDelete,28,yes us,asm,func_global_asm_807149A8,16,no @@ -411,7 +411,7 @@ us,asm,func_global_asm_80666AE0,12,no us,asm,func_global_asm_80605380,400,no us,asm,func_global_asm_8066A584,200,no us,asm,func_global_asm_80729AA4,92,no -us,asm,func_global_asm_80723428,92,no +us,asm,func_global_asm_80723428,92,yes us,asm,func_global_asm_806EACEC,280,no us,asm,func_global_asm_8062D1E0,140,no us,asm,func_global_asm_8073F60C,528,yes @@ -484,7 +484,7 @@ us,asm,func_global_asm_806306D0,60,no us,asm,func_global_asm_807023E8,124,no us,asm,func_global_asm_80712A40,320,no us,asm,func_global_asm_806EA2D8,92,no -us,asm,func_global_asm_8062A274,212,no +us,asm,func_global_asm_8062A274,212,yes us,asm,func_global_asm_8070FA58,488,no us,asm,func_global_asm_80652B04,196,no us,asm,func_global_asm_8068A784,44,no @@ -585,7 +585,7 @@ us,asm,func_global_asm_806DB08C,56,no us,asm,func_global_asm_80601258,52,no us,asm,func_global_asm_8063CF3C,668,no us,asm,func_global_asm_806A2B90,672,no -us,asm,func_global_asm_8062A774,92,no +us,asm,func_global_asm_8062A774,92,yes us,asm,func_global_asm_806F2EDC,228,no us,asm,func_global_asm_8069DF58,192,no us,asm,clearGlobalFlags,80,no @@ -679,7 +679,7 @@ us,asm,func_global_asm_806F6204,848,no us,asm,func_global_asm_8065F678,748,no us,asm,func_global_asm_80724CA4,132,no us,asm,func_global_asm_806F10E8,360,no -us,asm,func_global_asm_8062A7D0,56,no +us,asm,func_global_asm_8062A7D0,56,yes us,asm,func_global_asm_8065C240,244,no us,asm,func_global_asm_806726DC,532,no us,asm,func_global_asm_8064B204,92,no @@ -835,8 +835,8 @@ us,asm,func_global_asm_80636210,180,no us,asm,func_global_asm_806F94AC,108,no us,asm,func_global_asm_80697988,868,no us,asm,func_global_asm_8064C9F8,324,no -us,asm,func_global_asm_80723320,44,no -us,asm,func_global_asm_807232EC,52,no +us,asm,func_global_asm_80723320,44,yes +us,asm,func_global_asm_807232EC,52,yes us,asm,func_global_asm_80712944,252,no us,asm,func_global_asm_806CFC90,216,no us,asm,func_global_asm_806F007C,64,no @@ -939,7 +939,7 @@ us,asm,func_global_asm_806D19A8,440,no us,asm,func_global_asm_806696A0,400,no us,asm,func_global_asm_806CA048,160,no us,asm,func_global_asm_8060E79C,80,no -us,asm,func_global_asm_807233B4,116,no +us,asm,func_global_asm_807233B4,116,yes us,asm,func_global_asm_80601CF0,52,no us,asm,func_global_asm_80715270,1532,no us,asm,func_global_asm_80676590,88,no @@ -1083,7 +1083,7 @@ us,asm,func_global_asm_80652EBC,104,no us,asm,func_global_asm_8063C4C4,532,no us,asm,func_global_asm_806F8D58,108,no us,asm,func_global_asm_80605044,720,no -us,asm,func_global_asm_806595B0,64,no +us,asm,func_global_asm_806595B0,60,yes us,asm,func_global_asm_8072E740,156,no us,asm,func_global_asm_80723CCC,700,no us,asm,setIntroStoryPlaying,16,no @@ -1133,7 +1133,7 @@ us,asm,func_global_asm_805FF1B0,324,no us,asm,func_global_asm_8066CEE4,876,no us,asm,func_global_asm_8068B80C,16,no us,asm,func_global_asm_806FD094,1020,no -us,asm,func_global_asm_8062919C,12,no +us,asm,func_global_asm_8062919C,12,yes us,asm,func_global_asm_806E9874,132,no us,asm,func_global_asm_80662180,8,no us,asm,func_global_asm_80643440,612,no @@ -1215,10 +1215,10 @@ us,asm,func_global_asm_80713AA8,152,no us,asm,func_global_asm_8071586C,84,no us,asm,func_global_asm_806E8C2C,296,no us,asm,func_global_asm_806B91E0,2768,no -us,asm,func_global_asm_80723284,52,no +us,asm,func_global_asm_80723284,52,yes us,asm,func_global_asm_80652DB4,164,no us,asm,func_global_asm_80713764,320,no -us,asm,func_global_asm_80723380,52,no +us,asm,func_global_asm_80723380,52,yes us,asm,func_global_asm_80722E48,420,no us,asm,func_global_asm_806809F0,4388,no us,asm,func_global_asm_806B50F4,72,no @@ -1381,7 +1381,7 @@ us,asm,func_global_asm_8065214C,172,no us,asm,func_global_asm_806D7170,200,no us,asm,func_global_asm_807127B4,64,no us,asm,func_global_asm_80665160,156,no -us,asm,func_global_asm_8070F2C8,52,no +us,asm,func_global_asm_8070F2C8,52,yes us,asm,func_global_asm_8070E8DC,20,no us,asm,func_global_asm_80724DB0,152,no us,asm,func_global_asm_8067A1DC,1216,no @@ -1476,7 +1476,7 @@ us,asm,func_global_asm_80715E38,92,no us,asm,func_global_asm_8062B8E4,296,no us,asm,func_global_asm_806CFF1C,128,no us,asm,func_global_asm_806A1AC4,1124,no -us,asm,func_global_asm_80659350,120,no +us,asm,func_global_asm_80659350,120,yes us,asm,func_global_asm_8064B260,76,no us,asm,func_global_asm_8064B574,48,no us,asm,func_global_asm_8064BAF4,88,no @@ -1513,11 +1513,11 @@ us,asm,func_global_asm_806E3E40,884,no us,asm,func_global_asm_8068E7B4,508,no us,asm,func_global_asm_806D36CC,128,no us,asm,func_global_asm_806FD950,80,no -us,asm,func_global_asm_80659470,88,no +us,asm,func_global_asm_80659470,88,yes us,asm,func_global_asm_8072A7DC,144,no us,asm,func_global_asm_806AE394,500,no us,asm,func_global_asm_806418E8,180,no -us,asm,func_global_asm_806752D4,172,no +us,asm,func_global_asm_806752D4,172,yes us,asm,func_global_asm_806C2A64,200,no us,asm,func_global_asm_806FD7A8,236,no us,asm,func_global_asm_80670C5C,680,no @@ -1591,7 +1591,7 @@ us,asm,func_global_asm_80677D58,40,no us,asm,func_global_asm_806F2C48,660,no us,asm,func_global_asm_80684900,256,no us,asm,func_global_asm_80727194,96,no -us,asm,func_global_asm_8072334C,52,no +us,asm,func_global_asm_8072334C,52,yes us,asm,func_global_asm_806EB8CC,152,no us,asm,func_global_asm_80670F04,160,no us,asm,func_global_asm_8070033C,848,no @@ -1731,7 +1731,7 @@ us,asm,func_global_asm_8064B7D4,20,no us,asm,func_global_asm_8071F1D0,296,no us,asm,func_global_asm_806E7C70,388,no us,asm,func_global_asm_8067ACB4,12,no -us,asm,func_global_asm_807245D8,24,no +us,asm,func_global_asm_807245D8,24,yes us,asm,func_global_asm_806003EC,64,no us,asm,func_global_asm_8072E7DC,140,no us,asm,func_global_asm_8070DA74,264,no @@ -1884,7 +1884,7 @@ us,asm,func_global_asm_8071A8B0,556,no us,asm,func_global_asm_8070DD18,44,no us,asm,func_global_asm_80692520,32,no us,asm,func_global_asm_8064D880,248,no -us,asm,func_global_asm_80629190,12,no +us,asm,func_global_asm_80629190,12,yes us,asm,func_global_asm_80711950,640,no us,asm,func_global_asm_8068A7B0,96,no us,asm,func_global_asm_806FA9C0,352,no @@ -1921,7 +1921,7 @@ us,asm,func_global_asm_806C9830,324,no us,asm,func_global_asm_8062BB2C,412,no us,asm,func_global_asm_80698120,3788,no us,asm,func_global_asm_8073E268,504,no -us,asm,func_global_asm_80722FEC,52,no +us,asm,func_global_asm_80722FEC,52,yes us,asm,func_global_asm_80600C68,228,yes us,asm,func_global_asm_806F70A8,84,no us,asm,func_global_asm_80703850,608,no @@ -1967,7 +1967,7 @@ us,asm,func_global_asm_806725A0,68,no us,asm,func_global_asm_806CD8EC,156,no us,asm,func_global_asm_806F603C,456,no us,asm,func_global_asm_80709344,248,no -us,asm,func_global_asm_806755A8,616,no +us,asm,func_global_asm_806755A8,604,yes us,asm,func_global_asm_80635548,64,no us,asm,func_global_asm_806A370C,1132,no us,asm,func_global_asm_806CA26C,64,no @@ -2079,7 +2079,7 @@ us,asm,func_global_asm_80693EC0,1532,no us,asm,func_global_asm_806FD894,64,yes us,asm,func_global_asm_806E2FE8,88,no us,asm,func_global_asm_80689114,196,no -us,asm,func_global_asm_80675234,160,no +us,asm,func_global_asm_80675234,160,yes us,asm,func_global_asm_8067BE30,284,no us,asm,func_global_asm_806C226C,1392,no us,asm,func_global_asm_8064D0C4,292,no @@ -2291,7 +2291,7 @@ us,asm,func_global_asm_80688EA4,64,no us,asm,func_global_asm_8071A440,564,no us,asm,func_global_asm_806653C0,392,no us,asm,func_global_asm_80666AF8,656,no -us,asm,func_global_asm_8062A348,168,no +us,asm,func_global_asm_8062A348,168,yes us,asm,func_global_asm_80683158,412,no us,asm,func_global_asm_8067BC88,32,no us,asm,func_global_asm_80676CB0,80,no @@ -2525,7 +2525,7 @@ us,asm,func_global_asm_8071E110,184,no us,asm,func_global_asm_8065CFB8,80,no us,asm,func_global_asm_80679DC4,728,no us,asm,func_global_asm_8072D99C,56,no -us,asm,func_global_asm_80659544,48,no +us,asm,func_global_asm_80659544,48,yes us,asm,func_global_asm_806D2330,72,no us,asm,func_global_asm_806C7228,8,yes us,asm,func_global_asm_806F06A4,92,no @@ -2644,7 +2644,7 @@ us,asm,func_global_asm_806B02EC,104,no us,asm,func_global_asm_806C8E58,144,no us,asm,func_global_asm_80691830,256,no us,asm,func_global_asm_80657974,828,no -us,asm,func_global_asm_8062A844,12,no +us,asm,func_global_asm_8062A844,8,yes us,asm,func_global_asm_806FDA8C,44,no us,asm,func_global_asm_80669C6C,72,no us,asm,func_global_asm_806E2E6C,60,no @@ -2776,7 +2776,7 @@ us,asm,func_global_asm_8062BA74,112,no us,asm,func_global_asm_806B2790,1492,no us,asm,func_global_asm_806EB364,156,no us,asm,func_global_asm_80665ACC,24,no -us,asm,func_global_asm_8062A24C,40,no +us,asm,func_global_asm_8062A24C,40,yes us,asm,func_global_asm_80611690,80,no us,asm,func_global_asm_806ADDD8,520,no us,asm,func_global_asm_806BFA8C,296,no @@ -2806,7 +2806,7 @@ us,asm,func_global_asm_80685020,176,no us,asm,func_global_asm_80712548,44,no us,asm,func_global_asm_80688320,80,no us,asm,func_global_asm_806392BC,1576,no -us,asm,func_global_asm_80724874,60,no +us,asm,func_global_asm_80724874,56,yes us,asm,func_global_asm_80636FFC,2928,no us,asm,func_global_asm_806011A0,52,no us,asm,func_global_asm_8063E5B4,256,no @@ -3110,7 +3110,7 @@ us,asm,func_global_asm_806C80E4,248,no us,asm,func_global_asm_806C7238,8,yes us,asm,func_global_asm_8062E608,116,no us,asm,func_global_asm_80634FA0,120,no -us,asm,func_global_asm_8062A130,248,no +us,asm,func_global_asm_8062A130,248,yes us,asm,func_global_asm_806F9470,60,no us,asm,func_global_asm_806F1990,136,no us,asm,func_global_asm_80635114,256,no diff --git a/progress/progress_global_asm.svg b/progress/progress_global_asm.svg index c1d3543..05bad6b 100644 --- a/progress/progress_global_asm.svg +++ b/progress/progress_global_asm.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ global_asm - 1.5857% - 1.5857% + 1.8726% + 1.8726% diff --git a/progress/progress_total.svg b/progress/progress_total.svg index 835030e..1fe7431 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -17,7 +17,7 @@ Donkey Kong 64 (US) - 10.8102% - 10.8102% + 11.0246% + 11.0246% diff --git a/src/global_asm/code_1135F0.c b/src/global_asm/code_1135F0.c index 2350e19..3066b09 100644 --- a/src/global_asm/code_1135F0.c +++ b/src/global_asm/code_1135F0.c @@ -1,9 +1,74 @@ #include #include "functions.h" +extern uSprite *D_global_asm_807550D0; +extern s16 D_global_asm_807FD9D0; //sx +extern s16 D_global_asm_807FD9D2; //sy +extern u8 D_global_asm_807FD9D4; //fx +extern u8 D_global_asm_807FD9D5; //fy + +#ifndef NONMATCHING +// Displaylist stuff #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1135F0/func_global_asm_8070E8F0.s") +#else +void func_global_asm_8070E8F0(Gfx **arg0, uSprite *arg1) { + D_global_asm_807550D0 = arg1; + D_global_asm_807FD9D0 = 0x400; + D_global_asm_807FD9D2 = 0x400; + D_global_asm_807FD9D4 = 0; + D_global_asm_807FD9D5 = 0; + switch(D_global_asm_807550D0->s.SourceImageBitSize) { + case G_IM_SIZ_8b: //L8070E96C + if ((D_global_asm_807550D0->s.Stride & 7) == 0) { + gDPLoadTextureBlock((*arg0)++,D_global_asm_807550D0->s.SourceImagePointer, D_global_asm_807550D0->s.SourceImageType, G_IM_SIZ_8b, + D_global_asm_807550D0->s.SubImageWidth, D_global_asm_807550D0->s.SubImageHeight, + D_global_asm_807550D0->s.TlutPointer, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD + ); + } else {//L8070EB34 + gDPLoadTextureBlock((*arg0)++,D_global_asm_807550D0->s.SourceImagePointer, D_global_asm_807550D0->s.SourceImageType, G_IM_SIZ_8b, + D_global_asm_807550D0->s.SubImageWidth, D_global_asm_807550D0->s.SubImageHeight, + D_global_asm_807550D0->s.TlutPointer, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD + ); + } + break; + case G_IM_SIZ_16b: //L8070EC7C + if ((D_global_asm_807550D0->s.Stride & 3) == 0) { + gDPLoadTextureBlock((*arg0)++,D_global_asm_807550D0->s.SourceImagePointer, D_global_asm_807550D0->s.SourceImageType, G_IM_SIZ_16b, + D_global_asm_807550D0->s.SubImageWidth, D_global_asm_807550D0->s.SubImageHeight, + D_global_asm_807550D0->s.TlutPointer, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD + ); + } else {//L8070EB34 + gDPLoadTextureBlock((*arg0)++,D_global_asm_807550D0->s.SourceImagePointer, D_global_asm_807550D0->s.SourceImageType, G_IM_SIZ_8b, + D_global_asm_807550D0->s.SubImageWidth, D_global_asm_807550D0->s.SubImageHeight, + D_global_asm_807550D0->s.TlutPointer, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD + ); + } + break; + case G_IM_SIZ_32b: //L8070EF94 + if ((D_global_asm_807550D0->s.Stride & 3) == 0) { + gDPLoadTextureBlock((*arg0)++,D_global_asm_807550D0->s.SourceImagePointer, D_global_asm_807550D0->s.SourceImageType, G_IM_SIZ_32b, + D_global_asm_807550D0->s.SubImageWidth, D_global_asm_807550D0->s.SubImageHeight, + D_global_asm_807550D0->s.TlutPointer, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD + ); + } else { + gDPLoadTextureBlock((*arg0)++,D_global_asm_807550D0->s.SourceImagePointer, D_global_asm_807550D0->s.SourceImageType, G_IM_SIZ_8b, + D_global_asm_807550D0->s.SubImageWidth, D_global_asm_807550D0->s.SubImageHeight, + D_global_asm_807550D0->s.TlutPointer, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD + ); + } + break; + } +} +#endif -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1135F0/func_global_asm_8070F2C8.s") +// TODO: This signature is sus +void func_global_asm_8070F2C8(s16 arg0, s16 arg1, u8 arg2, u8 arg3) { + D_global_asm_807FD9D0 = arg0; + D_global_asm_807FD9D2 = arg1; + D_global_asm_807FD9D4 = arg2; + D_global_asm_807FD9D5 = arg3; +} +// Displaylist stuff #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1135F0/func_global_asm_8070F2FC.s") diff --git a/src/global_asm/code_127B00.c b/src/global_asm/code_127B00.c index 84000b8..6254e7d 100644 --- a/src/global_asm/code_127B00.c +++ b/src/global_asm/code_127B00.c @@ -2,46 +2,132 @@ #include "functions.h" -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80722E00.s") +void func_global_asm_80722E00(s32 map) { + void *paths; + + paths = getPointerTableFile(0xF, map, 1, 1); + func_global_asm_80722E48(paths); + func_global_asm_8066B434(paths, 0x47, 0x27); +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80722E48.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80722FEC.s") +// Used in func_global_asm_80722FEC as well as func_global_asm_807245D8. +typedef struct global_asm_struct_3 { + s32 unk0; // Pointer + s16 unk4; // Unknown, seen value of 2 +} GlobalASMStruct3; + +extern GlobalASMStruct3 *D_global_asm_807FDB90[]; + +s32 func_global_asm_80722FEC(u8 arg0) { + if (D_global_asm_807FDB90[arg0]) { + return TRUE; + } + return FALSE; +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723020.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723284.s") +typedef struct { + Actor *unk0; + u8 pad4[0x14 - 0x4]; + s8 unk14; + s8 unk15; + s8 unk16; + s8 unk17; + s32 unk18; + s32 unk1C; + s8 unk20; + s8 unk21; +} GlobalASMStruct00; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_807232B8.s") +extern GlobalASMStruct00* D_global_asm_807FDBF8[]; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_807232EC.s") +void func_global_asm_80723284(s32 arg0, u8 arg1) { + if (arg0 != -1 && D_global_asm_807FDBF8[arg0]) { + D_global_asm_807FDBF8[arg0]->unk20 = arg1; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723320.s") +void func_global_asm_807232B8(s32 arg0, u8 arg1) { + if (arg0 != -1 && D_global_asm_807FDBF8[arg0]) { + D_global_asm_807FDBF8[arg0]->unk16 = arg1; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_8072334C.s") +void func_global_asm_807232EC(s32 arg0, u8 arg1) { + if (arg0 != -1 && D_global_asm_807FDBF8[arg0]) { + D_global_asm_807FDBF8[arg0]->unk15 = arg1; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723380.s") +void func_global_asm_80723320(s32 arg0, s32 arg1) { + if (arg0 != -1 && D_global_asm_807FDBF8[arg0]) { + D_global_asm_807FDBF8[arg0]->unk18 = arg1; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_807233B4.s") +void func_global_asm_8072334C(s32 arg0, u8 arg1) { + if (arg0 != -1 && D_global_asm_807FDBF8[arg0]) { + D_global_asm_807FDBF8[arg0]->unk21 = arg1; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723428.s") +void func_global_asm_80723380(s32 arg0, u8 arg1) { + if (arg0 != -1 && D_global_asm_807FDBF8[arg0]) { + D_global_asm_807FDBF8[arg0]->unk14 = arg1; + } +} + +void func_global_asm_807233B4(Actor *arg0) { + s32 i; + + for (i = 0; i < 0x20; i++) { + if (D_global_asm_807FDBF8[i] != NULL) { + if (arg0 == D_global_asm_807FDBF8[i]->unk0) { + func_global_asm_80723428(i); + } + } + } +} + +void func_global_asm_80723428(s32 arg0) { + if (arg0 == -1 || D_global_asm_807FDBF8[arg0]) { + func_global_asm_8061130C(D_global_asm_807FDBF8[arg0]); + D_global_asm_807FDBF8[arg0] = NULL; + } +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723484.s") #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_807238D4.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723C98.s") +u8 func_global_asm_80723C98(s32 arg0) { + if (arg0 == -1 || !D_global_asm_807FDBF8[arg0]) { + return 0; + } + return D_global_asm_807FDBF8[arg0]->unk21; +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723CCC.s") +// rodata #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80723F88.s") #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80724154.s") #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80724308.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_807245D8.s") +s16 func_global_asm_807245D8(s32 arg0) { + return D_global_asm_807FDB90[arg0]->unk4; +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_807245F0.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_global_asm_80724874.s") +void func_global_asm_80724874(Actor *arg0) { + if (arg0->unk118 != NULL) { + func_global_asm_8061130C(arg0->unk118); + arg0->unk118 = NULL; + } +} diff --git a/src/global_asm/code_2C910.c b/src/global_asm/code_2C910.c index 48838ee..a5a2be3 100644 --- a/src/global_asm/code_2C910.c +++ b/src/global_asm/code_2C910.c @@ -32,18 +32,18 @@ void func_global_asm_80627C5C(s32 arg0, s16 arg1, u8 arg2) { temp_a3 = arg0 & 0xFF; temp_v0 = func_global_asm_8070E750(1, temp_a3, 1, temp_a3); var_s0 = temp_v0; - if (func_80002ECC(temp_v0, 0x3A) != 0) { - temp_a3_2 = func_80002C74(var_s0, &D_global_asm_80757F88) + 1; + if (func_dk64_boot_80002ECC(temp_v0, 0x3A) != 0) { + temp_a3_2 = func_dk64_boot_80002C74(var_s0, &D_global_asm_80757F88) + 1; sp42 = temp_a3_2; - func_80002A64(&sp44, var_s0, temp_a3_2, temp_a3_2); + func_dk64_boot_80002A64(&sp44, var_s0, temp_a3_2, temp_a3_2); *(&sp44 + sp42) = 0; func_global_asm_8069D2AC(0xA, 0x14, 0x18, &sp44, 0, arg1, 0x32, 0x32); func_global_asm_80627C10(arg2); - var_s0 += func_80002F18(&sp44); + var_s0 += func_dk64_boot_80002F18(&sp44); } sp38 = arg1; if (func_global_asm_806FBD5C(6, var_s0) >= 0x12D) { - temp_a1 = func_80002F18(var_s0) / 2; + temp_a1 = func_dk64_boot_80002F18(var_s0) / 2; var_v1 = temp_a1; if (*(temp_a1 + var_s0) != 0x20) { do { @@ -52,9 +52,9 @@ void func_global_asm_80627C5C(s32 arg0, s16 arg1, u8 arg2) { } sp34 = var_v1 + var_s0; sp42 = var_v1; - func_80002A64(&sp98, var_s0, var_v1); + func_dk64_boot_80002A64(&sp98, var_s0, var_v1); (sp + sp42)->unk98 = 0; - func_80002A64(&sp58, sp34 + 1, 0xFF); + func_dk64_boot_80002A64(&sp58, sp34 + 1, 0xFF); func_global_asm_8069D2AC(0, 0, 0xCD, &sp98, 0, sp38, 0x32, 0x32); func_global_asm_80627C10(arg2); func_global_asm_8069D2AC(0, 0, 0xD7, &sp58, 0, sp38, 0x32, 0x32); diff --git a/src/global_asm/code_2DE90.c b/src/global_asm/code_2DE90.c index 3c2d9d6..f66c44f 100644 --- a/src/global_asm/code_2DE90.c +++ b/src/global_asm/code_2DE90.c @@ -2,32 +2,135 @@ #include "functions.h" -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_80629190.s") +extern u8 D_global_asm_807F5D84; +extern u8 D_global_asm_80747B20; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062919C.s") +extern f32 D_global_asm_807F5D94; +extern f64 D_global_asm_80758150; +extern f32 D_global_asm_807F5D8C; +extern f32 D_global_asm_807F5D90; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_806291A8.s") +extern u8 D_global_asm_80747B40; +extern void *D_global_asm_807F5DD8; +extern s32 D_global_asm_80747B28; +extern u8 *D_global_asm_80747B2C; +extern s32 D_global_asm_80747B38; + +extern f32 D_global_asm_80747B44; +extern f32 D_global_asm_80747B48; +extern f32 D_global_asm_80747B4C; +extern f32 D_global_asm_80747B50; + +f32 func_global_asm_80665AE4(s32, s32, s32,s32); +void func_global_asm_80704130(s32, s32, s32, s32, s32, s32); +void func_global_asm_8062A274(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); +void func_dk64_boot_80002E98(void *arg0, s32 arg1, s32 arg2); + +void func_global_asm_80629190(void) { + D_global_asm_807F5D84 = 0; +} + +u8 func_global_asm_8062919C(void) { + return D_global_asm_807F5D84; +} + +u8 func_global_asm_806291A8(void) { + return D_global_asm_80747B20; +} + +// Jumptable #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_806291B4.s") +// Jumptable #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_80629300.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A130.s") +void func_global_asm_8062A130(s32 arg0, s32 arg1, s32 arg2) { + f32 temp_f0; + s32 phi_v0; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A228.s") + temp_f0 = func_global_asm_80665AE4(0xA0, 0x78, arg0, arg1); + if (D_global_asm_807F5D94 < 20.0) { + func_global_asm_80704130(arg2, 0xFF, 0xFF, 0xFF, 0xFF, 0); + return; + } + phi_v0 = 0; + if (D_global_asm_807F5D94 < temp_f0) { + if ((temp_f0 - D_global_asm_807F5D94) < 25.0) { + phi_v0 = (s16) (((temp_f0 - D_global_asm_807F5D94) / 25.0) * D_global_asm_80758150); + } else { + phi_v0 = 0xFF; + } + } else { + phi_v0 = 0; + } + func_global_asm_80704130(arg2, 0xFF, 0xFF, 0xFF, phi_v0, 0); +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A24C.s") +void func_global_asm_8062A228(s32 arg0, s32 arg1, s32 arg2) { + func_global_asm_8062A274(arg0, arg1, arg2, 0, 0); +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A274.s") +void func_global_asm_8062A24C(s32 arg0, s32 arg1, s32 arg2) { + func_global_asm_8062A274(arg0, arg1, arg2, 0xA0, 0x78); +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A348.s") +void func_global_asm_8062A274(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { + f32 temp_f0; + s32 temp_v0; + s32 temp_v1; + s16 phi_v0; + + temp_v0 = arg0 - arg3; + temp_v1 = arg1 - arg4; + temp_f0 = sqrtf((temp_v0 * temp_v0) + (temp_v1 * temp_v1)); + if (temp_f0 < D_global_asm_807F5D8C) { + phi_v0 = 0; + } else if (D_global_asm_807F5D90 < temp_f0) { + phi_v0 = 0xFF; + } else { + phi_v0 = ((temp_f0 - D_global_asm_807F5D8C) / (D_global_asm_807F5D90 - D_global_asm_807F5D8C)) * 255.0f; + } + func_global_asm_80704130(arg2, 0xFF, 0xFF, 0xFF, phi_v0, 0); +} + +void func_global_asm_8062A348(void) { + s32 phi_v1; + + D_global_asm_80747B2C = malloc((D_global_asm_80747B28 << 5) + 1); + phi_v1 = 0; + while (D_global_asm_80747B28 << 5 >= phi_v1) { + // TODO: Might be better as array notation + *(D_global_asm_80747B2C + phi_v1) = phi_v1 / D_global_asm_80747B28; + phi_v1++; + } + D_global_asm_80747B38 = 0; +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A3F0.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A774.s") +void func_global_asm_8062A774(void) { + if (!D_global_asm_80747B40) { + D_global_asm_807F5DD8 = malloc(0x25800); + func_dk64_boot_80002E98(D_global_asm_807F5DD8, 0, 0x25800); + D_global_asm_80747B40 = 1; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A7D0.s") +void func_global_asm_8062A7D0(void) { + if (D_global_asm_80747B40) { + func_global_asm_8061134C(D_global_asm_807F5DD8); + D_global_asm_80747B40 = 0; + } +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A808.s") +void func_global_asm_8062A808(s32 arg0, s32 arg1) { + D_global_asm_80747B4C = 2.0f; + D_global_asm_80747B50 = 2.0f; + D_global_asm_80747B44 = arg0; + D_global_asm_80747B48 = arg1; +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2DE90/func_global_asm_8062A844.s") +s32 func_global_asm_8062A844(s32 arg0) { + return arg0; +} diff --git a/src/global_asm/code_5E020.c b/src/global_asm/code_5E020.c index e07d77f..883d693 100644 --- a/src/global_asm/code_5E020.c +++ b/src/global_asm/code_5E020.c @@ -2,18 +2,124 @@ #include "functions.h" -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_80659320.s") +typedef struct global_asm_struct_78 { + s32 unk0; + s32 unk4; // Index into object model 2 array? + struct global_asm_struct_78 *unk8; // Linked list? +} global_asm_struct_78; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_80659350.s") +extern global_asm_struct_78 *D_global_asm_807F7370[100]; + +void func_global_asm_80659320(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(D_global_asm_807F7370); i++) { + D_global_asm_807F7370[i] = NULL; + } +} + +void func_global_asm_80659350(void) { + s32 i; + global_asm_struct_78 *temp; + global_asm_struct_78 *temp_1; + + for (i = 0; i < ARRAY_COUNT(D_global_asm_807F7370); i++) { + temp = D_global_asm_807F7370[i]; + while (temp) { + temp_1 = temp->unk8; + func_global_asm_8061130C(temp); + temp = temp_1; + } + } + func_global_asm_80659320(); +} #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_806593C8.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_80659470.s") +/* +// TODO: Quite close +void func_global_asm_806593C8(s32 arg0, s32 arg1) { + global_asm_struct_78 *temp_v0; + global_asm_struct_78 *temp_v1; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_806594C8.s") + temp_v1 = D_global_asm_807F7370[func_global_asm_80659544(arg0)]; + while (temp_v1 && arg0 != temp_v1->unk0) { + temp_v1 = temp_v1->unk8; + } -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_80659544.s") + if (!temp_v1) { + temp_v0 = malloc(sizeof(global_asm_struct_78)); + temp_v1->unk8 = temp_v0; + temp_v0->unk0 = arg0; + temp_v0->unk4 = arg1; + temp_v0->unk8 = NULL; + } else { + temp_v1->unk4 = arg1; + } +} +*/ -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_80659574.s") +// Returns an index into object model2 array +s32 func_global_asm_80659470(s32 arg0) { + global_asm_struct_78 *phi_v1; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5E020/func_global_asm_806595B0.s") + phi_v1 = D_global_asm_807F7370[func_global_asm_80659544(arg0)]; + while (phi_v1) { + if (arg0 == phi_v1->unk0) { + return phi_v1->unk4; + } + phi_v1 = phi_v1->unk8; + } + return -1; +} + +void func_global_asm_806594C8(s32 arg0) { + // TODO: Clean up these temp variables + // Probably don't need so much indirection + global_asm_struct_78 **temp_v1; + global_asm_struct_78 *phi_a0; + global_asm_struct_78 **phi_v1; + + temp_v1 = &D_global_asm_807F7370[func_global_asm_80659544(arg0)]; + phi_a0 = *temp_v1; + phi_v1 = temp_v1; + while (phi_a0 && arg0 != phi_a0->unk0) { + phi_v1 = &phi_a0->unk8; + phi_a0 = phi_a0->unk8; + } + if (phi_a0) { + *phi_v1 = phi_a0->unk8; + func_global_asm_8061130C(phi_a0); + } +} + +s32 func_global_asm_80659544(s32 arg0) { + // Yes the ternary is required + // ABS macro doesn't match + return (arg0 > 0 ? arg0 : -arg0) % 100; //maybe should be `ARRAY_COUNT(D_global_asm_807F7370)` instead of 100? +} + +void func_global_asm_80659574(void) { + global_asm_struct_78 *var_v0; + s32 i; + + for (i = 0; i < ARRAY_COUNT(D_global_asm_807F7370); i++) { + var_v0 = &D_global_asm_807F7370[i]->unk0; + while (var_v0 != NULL) { + var_v0 = var_v0->unk8; + } + } +} + +// Did they literally make the same function twice? +void func_global_asm_806595B0(void) { + global_asm_struct_78 *var_v0; + s32 i; + + for (i = 0; i < ARRAY_COUNT(D_global_asm_807F7370); i++) { + var_v0 = &D_global_asm_807F7370[i]->unk0; + while (var_v0 != NULL) { + var_v0 = var_v0->unk8; + } + } +} \ No newline at end of file diff --git a/src/global_asm/code_77B90.c b/src/global_asm/code_77B90.c index 35fb954..d9085ed 100644 --- a/src/global_asm/code_77B90.c +++ b/src/global_asm/code_77B90.c @@ -4,8 +4,49 @@ #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_77B90/func_global_asm_80672E90.s") +/* +// TODO: Hmm, 64 bit nonsense? +extern s32 D_global_asm_807FB5A8; +extern s32 D_global_asm_807FB5AC; +extern s32 D_global_asm_807FB5B0; + +void func_global_asm_80672E90(s32 arg0, s32 arg1, s32 arg2) { + D_global_asm_807FB5A8 = arg0; + D_global_asm_807FB5AC = arg1; + D_global_asm_807FB5B0 = arg2; +} +*/ + #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_77B90/func_global_asm_80672EBC.s") +/* +// TODO: Hmm, 64 bit nonsense? +void func_global_asm_80672F94(s16, s64); +extern s32 D_global_asm_807FB5E0; +extern s32 D_global_asm_807FB5E4; +extern s16 D_global_asm_807FB5E8; +extern s16 D_global_asm_807FB5F4; + +void func_global_asm_80672EBC(s64 arg0, s64 arg2) { + s64 sp10; + s64 sp8; + s16 var_a0; + s64 var_a2; + + var_a2 = arg2; + sp8 = arg0; + sp10 = var_a2; + if ((arg0 > 0) && (var_a2 > 0)) { + var_a2 = (var_a2 / D_global_asm_807FB5E4) * D_global_asm_807FB5E8; + var_a0 = (arg0 / D_global_asm_807FB5E0) + var_a2; + } else { + var_a0 = 0; + } + D_global_asm_807FB5F4 = var_a0; + func_global_asm_80672F94(var_a0, var_a2); +} +*/ + #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_77B90/func_global_asm_80672F94.s") #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_77B90/func_global_asm_806730A4.s") diff --git a/src/global_asm/code_79890.c b/src/global_asm/code_79890.c index 7ebcfdd..d87006c 100644 --- a/src/global_asm/code_79890.c +++ b/src/global_asm/code_79890.c @@ -6,14 +6,143 @@ #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_80674E14.s") +// Matrix nonsense #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_80675180.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_80675234.s") +f32 func_global_asm_80675234(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { + f32 temp_f0; + f32 temp_f14; + f32 temp_f2; + f32 var_f12; -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_806752D4.s") + temp_f0 = arg0 - arg3; + temp_f2 = arg1 - arg4; + temp_f14 = arg2 - arg5; + var_f12 = sqrtf((temp_f0 * temp_f0) + (temp_f2 * temp_f2) + (temp_f14 * temp_f14)) - arg6; + if (var_f12 < 0.0) { + var_f12 = 0.0f; + } + return var_f12 / 8; +} -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_80675380.s") +typedef struct Struct_806752D4 Struct806752D4; +struct Struct_806752D4 { + f32 unk0; + f32 unk4; + f32 unk8; + f32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + Struct806752D4 *next; +}; + +extern Struct806752D4 *D_global_asm_807FB620; +extern Struct806752D4 *D_global_asm_807FB624; +extern s32 D_global_asm_807FB628; + +void func_global_asm_806752D4(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, s32 arg6) { + Struct806752D4 *temp_v0; + + temp_v0 = malloc(sizeof(Struct806752D4)); + temp_v0->unk0 = arg1; + temp_v0->unk4 = arg2; + temp_v0->unk8 = arg3; + temp_v0->unkC = arg4; + temp_v0->unk10 = arg5; + temp_v0->unk14 = arg6; + temp_v0->unk18 = arg0; + temp_v0->next = NULL; + if (D_global_asm_807FB620 != NULL) { + D_global_asm_807FB624->next = temp_v0; + } else { + D_global_asm_807FB620 = temp_v0; + } + D_global_asm_807FB624 = temp_v0; + D_global_asm_807FB628++; +} + +typedef struct { + f32 unk0; + f32 unk4; + f32 unk8; + f32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; +} Struct80675380; + +void func_global_asm_80675380(Actor *arg0, Actor *arg1) { + Struct80675380 *var_s1; + Struct806752D4 *var_s0; + Struct806752D4 *temp_s3; + s32 i; + + var_s1 = malloc(D_global_asm_807FB628 * sizeof(Struct80675380)); + var_s0 = D_global_asm_807FB620; + for (i = 0; i < D_global_asm_807FB628; i++) { + var_s1[i].unk0 = var_s0->unk0; + var_s1[i].unk4 = var_s0->unk4; + var_s1[i].unk8 = var_s0->unk8; + var_s1[i].unkC = var_s0->unkC; + var_s1[i].unk10 = var_s0->unk10; + var_s1[i].unk14 = var_s0->unk14; + var_s1[i].unk18 = var_s0->unk18; + temp_s3 = var_s0->next; + func_global_asm_8061130C(var_s0); + var_s0 = temp_s3; + } + func_global_asm_80679200(arg1, arg0, 0x8000, 0, D_global_asm_807FB628, var_s1); +} + +// Matrix nonsense #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_80675478.s") -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_79890/func_global_asm_806755A8.s") +s32 func_global_asm_80611E60(s32); +s32 func_global_asm_806742C0(s16, s16, s32, s32); +extern f64 D_global_asm_807591A0; +extern f64 D_global_asm_807591A8; +extern f64 D_global_asm_807591B0; +extern f64 D_global_asm_807591B8; + +void func_global_asm_806755A8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { + s32 var_v1; + s32 pad; + f32 temp_f0; + s16 sp32; + s32 var_t0; + s32 var_v0; + + var_t0 = arg2 - arg0; + var_v0 = ABS(arg2 - arg0); + if (var_v0 < 0x2711) { + var_v1 = arg3 - arg1; + if ((ABS(var_v1)) < 0x2711) { + temp_f0 = sqrtf((var_t0 * var_t0) + (var_v1 * var_v1)); + if (temp_f0 != 0.0) { + if (var_t0 >= 0) { + if (var_v1 >= 0) { + sp32 = func_global_asm_80611E60((var_t0 * D_global_asm_807591A0) / temp_f0) >> 4; + } + } + if (var_t0 >= 0) { + if (var_v1 < 0) { + sp32 = (func_global_asm_80611E60(((arg1 - arg3) * D_global_asm_807591A8) / temp_f0) >> 4) + 0x400; + } + } + if (var_t0 < 0) { + if (var_v1 < 0) { + sp32 = (func_global_asm_80611E60(((arg0 - arg2) * D_global_asm_807591B0) / temp_f0) >> 4) + 0x800; + } + } + if (var_t0 < 0) { + if (var_v1 >= 0) { + sp32 = (func_global_asm_80611E60((var_v1 * D_global_asm_807591B8) / temp_f0) >> 4) + 0xC00; + } + } + func_global_asm_806742C0(sp32 + 0x400, sp32 - 0x400, arg4, arg5); + } + } + } +} diff --git a/src/global_asm/code_F600.c b/src/global_asm/code_F600.c index 36b2e53..71dce7f 100644 --- a/src/global_asm/code_F600.c +++ b/src/global_asm/code_F600.c @@ -71,13 +71,13 @@ u8 func_global_asm_8060AC28(void) { #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_F600/func_global_asm_8060AC34.s") -void func_80007454(GlobalASMStruct12*); // Probably some libultra stuff related to PI/Controller +void func_dk64_boot_80007454(GlobalASMStruct12*); // Probably some libultra stuff related to PI/Controller /* // TODO: They're using some stack, we're not, not sure why void func_global_asm_8060AC34(GlobalASMStruct12* arg0) { if ((D_global_asm_807467C4 == 0) && (D_global_asm_807ECD08 != 0)) { - func_80007454(arg0); // subdrag hook function + func_dk64_boot_80007454(arg0); // subdrag hook function } D_global_asm_807ECD08 = 0; } diff --git a/src/global_asm/code_FE40.c b/src/global_asm/code_FE40.c index 5315ea8..3c13807 100644 --- a/src/global_asm/code_FE40.c +++ b/src/global_asm/code_FE40.c @@ -65,18 +65,18 @@ void func_global_asm_8060B140(u32 arg0, u8 *arg1, s32 *arg2, u8 arg3, u8 arg4, u switch (arg5) { case 1: if (arg3 != 0) { - func_800024E0(&sp5C, &arg1, D_global_asm_807ECE18); + func_dk64_boot_800024E0(&sp5C, &arg1, D_global_asm_807ECE18); } if (arg4 != 0) { - func_800024E0(&sp5C, &arg1, D_global_asm_807ECE18); + func_dk64_boot_800024E0(&sp5C, &arg1, D_global_asm_807ECE18); } break; case 2: if (arg3 != 0) { - func_80002790(&sp5C, &arg1, D_global_asm_807ECE18, arg3); + func_dk64_boot_80002790(&sp5C, &arg1, D_global_asm_807ECE18, arg3); } if (arg4 != 0) { - func_80002790(&sp5C, &arg1, D_global_asm_807ECE18, arg4); + func_dk64_boot_80002790(&sp5C, &arg1, D_global_asm_807ECE18, arg4); } break; } diff --git a/symbol_addrs.us.txt b/symbol_addrs.us.txt index 2f2a84f..40dae49 100644 --- a/symbol_addrs.us.txt +++ b/symbol_addrs.us.txt @@ -542,6 +542,21 @@ D_global_asm_807FD7F4 = 0x807FD7F4; +D_global_asm_807F5D84 = 0x807F5D84; +D_global_asm_807F5D94 = 0x807F5D94; +D_global_asm_807F5D8C = 0x807F5D8C; +D_global_asm_807F5D90 = 0x807F5D90; +D_global_asm_807F5DD8 = 0x807F5DD8; +D_global_asm_807F7370 = 0x807F7370; +D_global_asm_807FB620 = 0x807FB620; +D_global_asm_807FB624 = 0x807FB624; +D_global_asm_807FB628 = 0x807FB628; +D_global_asm_807FD9D0 = 0x807FD9D0; +D_global_asm_807FD9D2 = 0x807FD9D2; +D_global_asm_807FD9D4 = 0x807FD9D4; +D_global_asm_807FD9D5 = 0x807FD9D5; +D_global_asm_807FDB90 = 0x807FDB90; +D_global_asm_807FDBF8 = 0x807FDBF8;