From be11b5f14aa9e0914d9243a6bf1d0217be7370d9 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 30 May 2021 20:37:07 -0500 Subject: [PATCH] Moved .rodata in unknown_09F8F0 & unknown_0B8920 from asm to C. --- data/unknown_09F8F0.rodata.s | 430 +++++++++++++++++------------------ data/unknown_0B8920.rodata.s | 122 ---------- src/unknown_09F8F0.c | 72 ++++++ src/unknown_0B8920.c | 68 ++++++ 4 files changed, 355 insertions(+), 337 deletions(-) delete mode 100644 data/unknown_0B8920.rodata.s diff --git a/data/unknown_09F8F0.rodata.s b/data/unknown_09F8F0.rodata.s index 4d5df9f0..0172cdaa 100644 --- a/data/unknown_09F8F0.rodata.s +++ b/data/unknown_09F8F0.rodata.s @@ -7,218 +7,218 @@ .section .rodata -glabel D_800E8640 -.aligned_text "CAN'T" - -glabel D_800E8648 -.aligned_text "SAVE" - -glabel D_800E8650 -.aligned_text "GHOST" - -glabel D_800E8658 -.aligned_text " CONTROLLER" - -glabel D_800E8664 -.aligned_text "PAK" - -glabel D_800E8668 -.aligned_text "FULL" - -glabel D_800E8670 -.aligned_text " CONTROLLER" - -glabel D_800E867C -.aligned_text "PAK" - -glabel D_800E8680 -.aligned_text "DAMAGED" - -glabel D_800E8688 -.aligned_text "RACE" - -glabel D_800E8690 -.aligned_text "LAP" - -glabel D_800E8694 -.aligned_text "DID NOT FINISH" - -.word 0x00000000 - -glabel D_800E86A8 -.word 0x3FE33333 - -glabel D_800E86AC -.word 0x33333333 -.word 0x3FF33333 -.word 0x33333333 - -glabel D_800E86B8 -.word 0x43838000 - -glabel D_800E86BC -.word 0x43818000 - -glabel D_800E86C0 -.word 0x43848000 -.word 0x00000000 -.word 0x3FF33333 -.word 0x33333333 -.word 0x3FE33333 -.word 0x33333333 -.word 0x3FF33333 -.word 0x33333333 -.word 0x3FE33333 -.word 0x33333333 - -glabel D_800E86E8 -.word 0x3FF33333 - -glabel D_800E86EC -.word 0x33333333 - -glabel D_800E86F0 -.word 0x3FE33333 - -glabel D_800E86F4 -.word 0x33333333 - -glabel D_800E86F8 -.word 0x800A0F28 -.word 0x800A0F38 -.word 0x800A0F48 -.word 0x800A0F58 -.word 0x800A0F6C -.word 0x800A0F80 -.word 0x800A0F94 -.word 0x800A0FAC - -glabel D_800E8718 -.word 0x43898000 -.word 0x00000000 - -glabel D_800E8720 -.word 0x40508000 - -glabel D_800E8724 -.word 0x00000000 - -glabel D_800E8728 -.word 0x40508000 - -glabel D_800E872C -.word 0x00000000 - -glabel D_800E8730 -.word 0x40508000 - -glabel D_800E8734 -.word 0x00000000 - -glabel D_800E8738 -.word 0x3FF33333 - -glabel D_800E873C -.word 0x33333333 - -glabel D_800E8740 -.word 0x46C92000 - -glabel D_800E8744 -.word 0x800A63D8 -.word 0x800A691C -.word 0x800A6BCC -.word 0x800A6CA4 -.word 0x800A6D68 - -glabel D_800E8758 -.word 0x3FF19999 - -glabel D_800E875C -.word 0x9999999A - -glabel D_800E8760 -.word 0x3FF19999 - -glabel D_800E8764 -.word 0x9999999A - -glabel D_800E8768 -.word 0x800A6E70 -.word 0x800A6F3C -.word 0x800A7014 -.word 0x800A70D4 -.word 0x800A7158 -.word 0x00000000 - -glabel D_800E8780 -.word 0x3FA7FF58 - -glabel D_800E8784 -.word 0x3A53B8E5 - -glabel D_800E8788 -.word 0x40855544 - -glabel D_800E878C -.word 0x32CA57A8 - -glabel D_800E8790 -.word 0x3FC70A3D - -glabel D_800E8794 -.word 0x70A3D70A - -glabel D_800E8798 -.word 0x3FA7FF58 - -glabel D_800E879C -.word 0x3A53B8E5 - -glabel D_800E87A0 -.word 0x3FF19999 - -glabel D_800E87A4 -.word 0x9999999A - -glabel D_800E87A8 -.word 0x43358000 -.word 0x00000000 -.word 0x40508000 -.word 0x00000000 - -glabel D_800E87B8 -.word 0x40508000 - -glabel D_800E87BC -.word 0x00000000 - -glabel D_800E87C0 -.word 0x3FF19999 - -glabel D_800E87C4 -.word 0x9999999A - -glabel D_800E87C8 -.word 0x3FF33333 - -glabel D_800E87CC -.word 0x33333333 - -glabel D_800E87D0 -.word 0x3F4CCCCD - -glabel D_800E87D4 -.word 0x3F99999A - -glabel D_800E87D8 -.word 0x3F8CCCCD -.word 0x00000000 - -glabel D_800E87E0 -.word 0x3FF19999 - -glabel D_800E87E4 -.word 0x9999999A -.word 0x00000000 -.word 0x00000000 +# glabel D_800E8640 +# .aligned_text "CAN'T" +# +# glabel D_800E8648 +# .aligned_text "SAVE" +# +# glabel D_800E8650 +# .aligned_text "GHOST" +# +# glabel D_800E8658 +# .aligned_text " CONTROLLER" +# +# glabel D_800E8664 +# .aligned_text "PAK" +# +# glabel D_800E8668 +# .aligned_text "FULL" +# +# glabel D_800E8670 +# .aligned_text " CONTROLLER" +# +# glabel D_800E867C +# .aligned_text "PAK" +# +# glabel D_800E8680 +# .aligned_text "DAMAGED" +# +# glabel D_800E8688 +# .aligned_text "RACE" +# +# glabel D_800E8690 +# .aligned_text "LAP" +# +# glabel D_800E8694 +# .aligned_text "DID NOT FINISH" +# +# .word 0x00000000 +# +# glabel D_800E86A8 +# .word 0x3FE33333 +# +# glabel D_800E86AC +# .word 0x33333333 +# .word 0x3FF33333 +# .word 0x33333333 +# +# glabel D_800E86B8 +# .word 0x43838000 +# +# glabel D_800E86BC +# .word 0x43818000 +# +# glabel D_800E86C0 +# .word 0x43848000 # 265.0f +# .word 0x00000000 +# .word 0x3FF33333 # 1.2 +# .word 0x33333333 +# .word 0x3FE33333 # 0.6 +# .word 0x33333333 +# .word 0x3FF33333 # 1.2 +# .word 0x33333333 +# .word 0x3FE33333 # 0.6 +# .word 0x33333333 +# +# glabel D_800E86E8 +# .word 0x3FF33333 # 1.2 +# +# glabel D_800E86EC +# .word 0x33333333 +# +# glabel D_800E86F0 +# .word 0x3FE33333 # 0.6 +# +# glabel D_800E86F4 +# .word 0x33333333 +# +# glabel D_800E86F8 +# .word 0x800A0F28 +# .word 0x800A0F38 +# .word 0x800A0F48 +# .word 0x800A0F58 +# .word 0x800A0F6C +# .word 0x800A0F80 +# .word 0x800A0F94 +# .word 0x800A0FAC +# +# glabel D_800E8718 +# .word 0x43898000 # 275.0f +# .word 0x00000000 +# +# glabel D_800E8720 +# .word 0x40508000 # 66.0 +# +# glabel D_800E8724 +# .word 0x00000000 +# +# glabel D_800E8728 +# .word 0x40508000 # 66.0 +# +# glabel D_800E872C +# .word 0x00000000 +# +# glabel D_800E8730 +# .word 0x40508000 # 66.0 +# +# glabel D_800E8734 +# .word 0x00000000 +# +# glabel D_800E8738 +# .word 0x3FF33333 # 1.2 +# +# glabel D_800E873C +# .word 0x33333333 +# +# glabel D_800E8740 +# .word 0x46C92000 # 25744.0f +# +# glabel D_800E8744 +# .word 0x800A63D8 +# .word 0x800A691C +# .word 0x800A6BCC +# .word 0x800A6CA4 +# .word 0x800A6D68 +# +# glabel D_800E8758 +# .word 0x3FF19999 # 1.1 +# +# glabel D_800E875C +# .word 0x9999999A +# +# glabel D_800E8760 +# .word 0x3FF19999 # 1.1 +# +# glabel D_800E8764 +# .word 0x9999999A +# +# glabel D_800E8768 +# .word 0x800A6E70 +# .word 0x800A6F3C +# .word 0x800A7014 +# .word 0x800A70D4 +# .word 0x800A7158 +# .word 0x00000000 +# +# glabel D_800E8780 +# .word 0x3FA7FF58 # 0.04687 +# +# glabel D_800E8784 +# .word 0x3A53B8E5 +# +# glabel D_800E8788 +# .word 0x40855544 # 682.6583 +# +# glabel D_800E878C +# .word 0x32CA57A8 +# +# glabel D_800E8790 +# .word 0x3FC70A3D # 0.18 +# +# glabel D_800E8794 +# .word 0x70A3D70A +# +# glabel D_800E8798 +# .word 0x3FA7FF58 # 0.04687 +# +# glabel D_800E879C +# .word 0x3A53B8E5 +# +# glabel D_800E87A0 +# .word 0x3FF19999 # 1.1 +# +# glabel D_800E87A4 +# .word 0x9999999A +# +# glabel D_800E87A8 +# .word 0x43358000 # 181.5f +# .word 0x00000000 +# .word 0x40508000 # 66.0 +# .word 0x00000000 +# +# glabel D_800E87B8 +# .word 0x40508000 # 66.0 +# +# glabel D_800E87BC +# .word 0x00000000 +# +# glabel D_800E87C0 +# .word 0x3FF19999 # 1.1 +# +# glabel D_800E87C4 +# .word 0x9999999A +# +# glabel D_800E87C8 +# .word 0x3FF33333 # 1.2 +# +# glabel D_800E87CC +# .word 0x33333333 +# +# glabel D_800E87D0 +# .word 0x3F4CCCCD # 0.8f +# +# glabel D_800E87D4 +# .word 0x3F99999A # 1.2f +# +# glabel D_800E87D8 +# .word 0x3F8CCCCD # 1.1f +# .word 0x00000000 +# +# glabel D_800E87E0 +# .word 0x3FF19999 # 1.1 +# +# glabel D_800E87E4 +# .word 0x9999999A +# .word 0x00000000 +# .word 0x00000000 diff --git a/data/unknown_0B8920.rodata.s b/data/unknown_0B8920.rodata.s deleted file mode 100644 index bfa884c6..00000000 --- a/data/unknown_0B8920.rodata.s +++ /dev/null @@ -1,122 +0,0 @@ -.include "macros.inc" - -.macro .aligned_text ascii - .asciz "\ascii" - .balign 4 -.endm - -.section .rodata - -.aligned_text "\nCouldn't find a block to pick wave details from.\nUsing block 0 as default." -.aligned_text "\n\nBlock may be specified using 'P' on water group node." -.aligned_text "\nError :: can not remove a wave swell object which doesn't exist !" -.aligned_text "\nError :: more than eight swells overlap on column %d." -.aligned_text "\nError :: can not add another wave swell, reached limit of %d." - -glabel D_800E92A0 -.word 0x461C4000 - -glabel D_800E92A4 -.word 0xC61C4000 - -glabel D_800E92A8 -.word 0x40D47AE1 - -glabel D_800E92AC -.word 0x47AE147B - -glabel D_800E92B0 -.word 0x40D11111 - -glabel D_800E92B4 -.word 0x47AE147B - -glabel D_800E92B8 -.word 0x40D47AE1 - -glabel D_800E92BC -.word 0x47AE147B - -glabel D_800E92C0 -.word 0x40D11111 - -glabel D_800E92C4 -.word 0x47AE147B -.word 0x00000000 -.word 0x00000000 - -glabel D_800E92D0 -.word 0x800C0310 -.word 0x800C0320 -.word 0x800C0370 -.word 0x800C03C0 -.word 0x800C03D0 -.word 0x800C0420 -.word 0x800C0470 - -glabel D_800E92EC -.word 0x800C056C -.word 0x800C0580 -.word 0x800C0580 -.word 0x800C0594 -.word 0x800C0580 -.word 0x800C0580 -.word 0x800C05A8 - -glabel D_800E9308 -.word 0x3FB33333 - -glabel D_800E930C -.word 0x3F99999A - -glabel D_800E9310 -.word 0x800C0680 -.word 0x800C0694 -.word 0x800C06A8 -.word 0x800C06BC -.word 0x800C06D0 -.word 0x800C06E4 -.word 0x800C06F8 - -glabel D_800E932C -.word 0x3F99999A - -glabel D_800E9330 -.word 0x800C3958 -.word 0x800C3984 -.word 0x800C3A30 -.word 0x800C3AA8 -.word 0x800C3ADC -.word 0x800C3B00 -.word 0x800C3B2C -.word 0x800C3B50 -.word 0x800C3B88 -.word 0x800C3BA0 -.word 0x00000000 -.word 0x00000000 - -glabel D_800E9360 -.word 0x800C4A88 -.word 0x800C4A78 -.word 0x800C4AD0 -.word 0x800C4AE8 -.word 0x800C4ADC -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4AE8 -.word 0x800C4A6C diff --git a/src/unknown_09F8F0.c b/src/unknown_09F8F0.c index 416ec7a0..906fb16d 100644 --- a/src/unknown_09F8F0.c +++ b/src/unknown_09F8F0.c @@ -367,6 +367,78 @@ s16 D_800E2C98[4] = { /*******************************/ +/************ .rodata ************/ + +const char D_800E8640[] = "CAN'T"; +const char D_800E8648[] = "SAVE"; +const char D_800E8650[] = "GHOST"; +const char D_800E8658[] = " CONTROLLER"; +const char D_800E8664[] = "PAK"; +const char D_800E8668[] = "FULL"; +const char D_800E8670[] = " CONTROLLER"; +const char D_800E867C[] = "PAK"; +const char D_800E8680[] = "DAMAGED"; +const char D_800E8688[] = "RACE"; +const char D_800E8690[] = "LAP"; +const char D_800E8694[] = "DID NOT FINISH"; + +const DoubleLiteral D_800E86A8 = { 0.6 }; +const DoubleLiteral D_800E86B0 = { 1.2 }; +const FloatLiteral D_800E86B8 = { 263.0f }; +const FloatLiteral D_800E86BC = { 259.0f }; +const FloatLiteral D_800E86C0 = { 265.0f }; +const DoubleLiteral D_800E86C8 = { 1.2 }; +const DoubleLiteral D_800E86D0 = { 0.6 }; +const DoubleLiteral D_800E86D8 = { 1.2 }; +const DoubleLiteral D_800E86E0 = { 0.6 }; +const DoubleLiteral D_800E86E8 = { 1.2 }; +const DoubleLiteral D_800E86F0 = { 0.6 }; + +// Jump table in func_800A0EB4 +const u32 D_800E86F8[] = { + 0x800A0F28, 0x800A0F38, 0x800A0F48, 0x800A0F58, + 0x800A0F6C, 0x800A0F80, 0x800A0F94, 0x800A0FAC +}; + +const FloatLiteral D_800E8718 = { 275.0f }; +const DoubleLiteral D_800E8720 = { 66.0 }; +const DoubleLiteral D_800E8728 = { 66.0 }; +const DoubleLiteral D_800E8730 = { 66.0 }; +const DoubleLiteral D_800E8738 = { 1.2 }; +const FloatLiteral D_800E8740 = { 25744.0f }; + +// Jump table in func_800A6254 +const u32 D_800E8744[] = { + 0x800A63D8, 0x800A691C, 0x800A6BCC, 0x800A6CA4, + 0x800A6D68 +}; + +const DoubleLiteral D_800E8758 = { 1.1 }; +const DoubleLiteral D_800E8760 = { 1.1 }; + +// Jump table in func_800A6E30 +const u32 D_800E8768[] = { + 0x800A6E70, 0x800A6F3C, 0x800A7014, 0x800A70D4, + 0x800A7158 +}; + +const DoubleLiteral D_800E8780 = { 0.04687 }; +const DoubleLiteral D_800E8788 = { 682.6583 }; +const DoubleLiteral D_800E8790 = { 0.18 }; +const DoubleLiteral D_800E8798 = { 0.04687 }; +const DoubleLiteral D_800E87A0 = { 1.1 }; +const FloatLiteral D_800E87A8 = { 181.5f }; +const DoubleLiteral D_800E87B0 = { 66.0 }; +const DoubleLiteral D_800E87B8 = { 66.0 }; +const DoubleLiteral D_800E87C0 = { 1.1 }; +const DoubleLiteral D_800E87C8 = { 1.2 }; +const FloatLiteral D_800E87D0 = { 0.8f }; +const FloatLiteral D_800E87D8 = { 1.2f }; +const FloatLiteral D_800E87E0 = { 1.1f }; +const DoubleLiteral D_800E87E8 = { 1.1 }; + +/*********************************/ + /************ .bss ************/ extern u8 D_80126CD0; diff --git a/src/unknown_0B8920.c b/src/unknown_0B8920.c index 4f5131d5..945947a4 100644 --- a/src/unknown_0B8920.c +++ b/src/unknown_0B8920.c @@ -330,6 +330,74 @@ u8* gzip_inflate_output = NULL; /*******************************/ +/************ .rodata ************/ + +const char D_800E9160[] = "\nCouldn't find a block to pick wave details from.\nUsing block 0 as default."; +const char D_800E91AC[] = "\n\nBlock may be specified using 'P' on water group node."; +const char D_800E91E4[] = "\nError :: can not remove a wave swell object which doesn't exist !"; +const char D_800E9228[] = "\nError :: more than eight swells overlap on column %d."; +const char D_800E9260[] = "\nError :: can not add another wave swell, reached limit of %d."; + +const FloatLiteral D_800E92A0 = { 10000.0f }; +const FloatLiteral D_800E92A4 = { -10000.0f }; +const FloatLiteral D_800E92A8 = { 6.64f }; +const FloatLiteral D_800E92AC = { 89128.961f }; +const FloatLiteral D_800E92B0 = { 6.5333333f }; +const FloatLiteral D_800E92B4 = { 89128.961f}; +const FloatLiteral D_800E92B8 = { 6.64f }; +const FloatLiteral D_800E92BC = { 89128.961f }; +const FloatLiteral D_800E92C0 = { 6.5333333f }; +const FloatLiteral D_800E92C4 = { 89128.961f }; + +// This is probably a file boundary. +const DoubleLiteral D_800E92C8 = { 0.0 }; + +// Jump table in func_800C01D8 +const u32 D_800E92D0[] = { + 0x800C0310, 0x800C0320, 0x800C0370, 0x800C03C0, + 0x800C03D0, 0x800C0420, 0x800C0470 +}; + +// Jump table in func_800C0494 +const u32 D_800E92EC[] = { + 0x800C056C, 0x800C0580, 0x800C0580, 0x800C0594, + 0x800C0580, 0x800C0580, 0x800C05A8 +}; + +const FloatLiteral D_800E9308 = { 1.4f }; +const FloatLiteral D_800E930C = { 1.2f }; + +// Jump table in func_800C05C8 +const u32 D_800E9310[] = { + 0x800C0680, 0x800C0694, 0x800C06A8, 0x800C06BC, + 0x800C06D0, 0x800C06E4, 0x800C06F8 +}; + +const FloatLiteral D_800E932C = { 1.2f }; + +// Jump table in func_800C38B4 +const u32 D_800E9330[] = { + 0x800C3958, 0x800C3984, 0x800C3A30, 0x800C3AA8, + 0x800C3ADC, 0x800C3B00, 0x800C3B2C, 0x800C3B50, + 0x800C3B88, 0x800C3BA0 +}; + +// This is probably a file boundary. +const DoubleLiteral D_800E9358 = { 0.0 }; + +// Jump table in func_800C45A4 +const u32 D_800E9360[] = { + 0x800C4A88, 0x800C4A78, 0x800C4AD0, 0x800C4AE8, + 0x800C4ADC, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, + 0x800C4AE8, 0x800C4AE8, 0x800C4AE8, 0x800C4A6C +}; + + +/*********************************/ + /************ .bss ************/ extern s32 D_8012A0D8;