From 63543288ae93377101a079e8cbb9f3a9b067ff0d Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sat, 5 Jun 2021 14:48:34 -0500 Subject: [PATCH] Moved rodata from C to GLOBAL_ASM in unknown_0255E0 --- .../unknown_0255E0/func_8002581C.s | 5 +++ .../unknown_0255E0/func_80026070.s | 7 ++++ .../unknown_0255E0/func_80026430.s | 9 +++++ .../unknown_0255E0/func_80027568.s | 7 ++++ .../unknown_0255E0/func_80028FAC.s | 5 +++ .../unknown_0255E0/func_8002A5F8.s | 5 +++ .../unknown_0255E0/func_8002A900.s | 17 ++++++++-- .../unknown_0255E0/func_8002C0C4.s | 6 ++++ .../unknown_0255E0/func_8002DE30.s | 5 +++ .../unknown_0255E0/func_8002E234.s | 9 +++++ .../unknown_0255E0/func_8002F440.s | 7 ++++ .../unknown_0255E0/func_8002FA64.s | 5 +++ src/unknown_0255E0.c | 34 ------------------- 13 files changed, 85 insertions(+), 36 deletions(-) diff --git a/asm/non_matchings/unknown_0255E0/func_8002581C.s b/asm/non_matchings/unknown_0255E0/func_8002581C.s index 3a7450b4..6013280d 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002581C.s +++ b/asm/non_matchings/unknown_0255E0/func_8002581C.s @@ -1,3 +1,8 @@ +.late_rodata +glabel D_800E5E60 +.double 250.0 + +.text glabel func_8002581C /* 02641C 8002581C 27BDFF40 */ addiu $sp, $sp, -0xc0 /* 026420 80025820 3C0E8012 */ lui $t6, %hi(D_8011D474) # $t6, 0x8012 diff --git a/asm/non_matchings/unknown_0255E0/func_80026070.s b/asm/non_matchings/unknown_0255E0/func_80026070.s index a0c6a027..61967b04 100644 --- a/asm/non_matchings/unknown_0255E0/func_80026070.s +++ b/asm/non_matchings/unknown_0255E0/func_80026070.s @@ -1,3 +1,10 @@ +.late_rodata +glabel D_800E5E68 +.double -300.0 +glabel D_800E5E70 +.double 300.0 + +.text glabel func_80026070 /* 026C70 80026070 27BDFF70 */ addiu $sp, $sp, -0x90 /* 026C74 80026074 AFBF001C */ sw $ra, 0x1c($sp) diff --git a/asm/non_matchings/unknown_0255E0/func_80026430.s b/asm/non_matchings/unknown_0255E0/func_80026430.s index fb4c4e40..34a25dd3 100644 --- a/asm/non_matchings/unknown_0255E0/func_80026430.s +++ b/asm/non_matchings/unknown_0255E0/func_80026430.s @@ -1,3 +1,12 @@ +.late_rodata +glabel D_800E5E78 +.double 300.0 +glabel D_800E5E80 +.double -300.0 +glabel D_800E5E88 +.double -300.0 + +.text glabel func_80026430 /* 027030 80026430 27BDFEF0 */ addiu $sp, $sp, -0x110 /* 027034 80026434 3C0E8012 */ lui $t6, %hi(D_8011D49E) # $t6, 0x8012 diff --git a/asm/non_matchings/unknown_0255E0/func_80027568.s b/asm/non_matchings/unknown_0255E0/func_80027568.s index 112bbbc0..b064a279 100644 --- a/asm/non_matchings/unknown_0255E0/func_80027568.s +++ b/asm/non_matchings/unknown_0255E0/func_80027568.s @@ -1,3 +1,10 @@ +.late_rodata +glabel D_800E5E90 +.double -0.1 +glabel D_800E5E98 +.double -0.1 + +.text glabel func_80027568 /* 028168 80027568 27BDFF18 */ addiu $sp, $sp, -0xe8 /* 02816C 8002756C AFBF0044 */ sw $ra, 0x44($sp) diff --git a/asm/non_matchings/unknown_0255E0/func_80028FAC.s b/asm/non_matchings/unknown_0255E0/func_80028FAC.s index 37f70df5..69e0bce7 100644 --- a/asm/non_matchings/unknown_0255E0/func_80028FAC.s +++ b/asm/non_matchings/unknown_0255E0/func_80028FAC.s @@ -1,3 +1,8 @@ +.late_rodata +glabel D_800E5EA0 +.double 1000.0 + +.text glabel func_80028FAC /* 029BAC 80028FAC 27BDFE90 */ addiu $sp, $sp, -0x170 /* 029BB0 80028FB0 AFBF003C */ sw $ra, 0x3c($sp) diff --git a/asm/non_matchings/unknown_0255E0/func_8002A5F8.s b/asm/non_matchings/unknown_0255E0/func_8002A5F8.s index da903827..00355b84 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002A5F8.s +++ b/asm/non_matchings/unknown_0255E0/func_8002A5F8.s @@ -1,3 +1,8 @@ +.late_rodata +glabel D_800E5EA8 +.double 1000.0 + +.text glabel func_8002A5F8 /* 02B1F8 8002A5F8 27BDFF88 */ addiu $sp, $sp, -0x78 /* 02B1FC 8002A5FC AFB30040 */ sw $s3, 0x40($sp) diff --git a/asm/non_matchings/unknown_0255E0/func_8002A900.s b/asm/non_matchings/unknown_0255E0/func_8002A900.s index 7ce2076d..c752834e 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002A900.s +++ b/asm/non_matchings/unknown_0255E0/func_8002A900.s @@ -1,3 +1,12 @@ +.late_rodata +glabel D_800E5EB0 +.double 0.8 +glabel D_800E5EB8 +.double 255.0 +glabel jpt_800E5EC0 +.word L8002AB40, L8002AB40, L8002AB54, L8002AB40, L8002AB40, L8002AB54, L8002AB40, L8002AB54, L8002AB2C, L8002AB54, L8002AB54, L8002AB54, L8002AB58, L8002AB54, L8002AB54, L8002AB54, L8002AB54, L8002AB54, L8002AB54, L8002AB54, L8002AB40, L8002AB54, L8002AB40, L8002AB54, L8002AB54, L8002AB54, L8002AB54, L8002AB58, L8002AB54, L8002AB54, L8002AB58, L8002AB40 + +.text glabel func_8002A900 /* 02B500 8002A900 27BDFFA8 */ addiu $sp, $sp, -0x58 /* 02B504 8002A904 AFBF0034 */ sw $ra, 0x34($sp) @@ -123,9 +132,9 @@ glabel func_8002A900 /* 02B6D4 8002AAD4 2D610020 */ sltiu $at, $t3, 0x20 /* 02B6D8 8002AAD8 1020001E */ beqz $at, .L8002AB54 /* 02B6DC 8002AADC 000B5880 */ sll $t3, $t3, 2 -/* 02B6E0 8002AAE0 3C01800E */ lui $at, %hi(D_800E5EC0) # $at, 0x800e +/* 02B6E0 8002AAE0 3C01800E */ lui $at, %hi(jpt_800E5EC0) # $at, 0x800e /* 02B6E4 8002AAE4 002B0821 */ addu $at, $at, $t3 -/* 02B6E8 8002AAE8 8C2B5EC0 */ lw $t3, %lo(D_800E5EC0)($at) +/* 02B6E8 8002AAE8 8C2B5EC0 */ lw $t3, %lo(jpt_800E5EC0)($at) /* 02B6EC 8002AAEC 00000000 */ nop /* 02B6F0 8002AAF0 01600008 */ jr $t3 /* 02B6F4 8002AAF4 00000000 */ nop @@ -143,19 +152,23 @@ glabel func_8002A900 /* 02B720 8002AB20 000E7A03 */ sra $t7, $t6, 8 /* 02B724 8002AB24 1000000C */ b .L8002AB58 /* 02B728 8002AB28 A08F0039 */ sb $t7, 0x39($a0) +glabel L8002AB2C /* 02B72C 8002AB2C 8C820064 */ lw $v0, 0x64($a0) /* 02B730 8002AB30 00000000 */ nop /* 02B734 8002AB34 905801F7 */ lbu $t8, 0x1f7($v0) /* 02B738 8002AB38 10000007 */ b .L8002AB58 /* 02B73C 8002AB3C A0980039 */ sb $t8, 0x39($a0) +glabel L8002AB40 /* 02B740 8002AB40 8C820064 */ lw $v0, 0x64($a0) /* 02B744 8002AB44 00000000 */ nop /* 02B748 8002AB48 90590042 */ lbu $t9, 0x42($v0) /* 02B74C 8002AB4C 10000002 */ b .L8002AB58 /* 02B750 8002AB50 A0990039 */ sb $t9, 0x39($a0) .L8002AB54: +glabel L8002AB54 /* 02B754 8002AB54 A0850039 */ sb $a1, 0x39($a0) .L8002AB58: +glabel L8002AB58 /* 02B758 8002AB58 3C028012 */ lui $v0, %hi(D_8011D0F8) # $v0, 0x8012 /* 02B75C 8002AB5C 3C038012 */ lui $v1, %hi(D_8011D128) # $v1, 0x8012 /* 02B760 8002AB60 C492000C */ lwc1 $f18, 0xc($a0) diff --git a/asm/non_matchings/unknown_0255E0/func_8002C0C4.s b/asm/non_matchings/unknown_0255E0/func_8002C0C4.s index 44448e78..bbc62e62 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002C0C4.s +++ b/asm/non_matchings/unknown_0255E0/func_8002C0C4.s @@ -1,3 +1,9 @@ +.rdata +glabel D_800E5E38 +.asciz "ERROR!! TrackMem overflow .. %d\n" +.ascii "\0\0\0" # padding + +.text glabel func_8002C0C4 /* 02CCC4 8002C0C4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 02CCC8 8002C0C8 AFB2001C */ sw $s2, 0x1c($sp) diff --git a/asm/non_matchings/unknown_0255E0/func_8002DE30.s b/asm/non_matchings/unknown_0255E0/func_8002DE30.s index 9dabff30..a6d02aad 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002DE30.s +++ b/asm/non_matchings/unknown_0255E0/func_8002DE30.s @@ -1,3 +1,8 @@ +.late_rodata +glabel D_800E5F40 +.double 0.2 + +.text glabel func_8002DE30 /* 02EA30 8002DE30 27BDFF68 */ addiu $sp, $sp, -0x98 /* 02EA34 8002DE34 444EF800 */ cfc1 $t6, $31 diff --git a/asm/non_matchings/unknown_0255E0/func_8002E234.s b/asm/non_matchings/unknown_0255E0/func_8002E234.s index e8034f28..e6d4a0d5 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002E234.s +++ b/asm/non_matchings/unknown_0255E0/func_8002E234.s @@ -1,3 +1,12 @@ +.late_rodata +glabel D_800E5F48 +.float 1.4 +glabel D_800E5F4C +.float 0.714 +glabel D_800E5F50 +.float 0.005 + +.text glabel func_8002E234 /* 02EE34 8002E234 27BDFF00 */ addiu $sp, $sp, -0x100 /* 02EE38 8002E238 444EF800 */ cfc1 $t6, $31 diff --git a/asm/non_matchings/unknown_0255E0/func_8002F440.s b/asm/non_matchings/unknown_0255E0/func_8002F440.s index b916ec5c..e4c226f5 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002F440.s +++ b/asm/non_matchings/unknown_0255E0/func_8002F440.s @@ -1,3 +1,10 @@ +.late_rodata +glabel D_800E5F54 +.float 1.4142 +glabel D_800E5F58 +.float 0.005 + +.text glabel func_8002F440 /* 030040 8002F440 27BDFF50 */ addiu $sp, $sp, -0xb0 /* 030044 8002F444 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 diff --git a/asm/non_matchings/unknown_0255E0/func_8002FA64.s b/asm/non_matchings/unknown_0255E0/func_8002FA64.s index 3c8e2675..321cafeb 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002FA64.s +++ b/asm/non_matchings/unknown_0255E0/func_8002FA64.s @@ -1,3 +1,8 @@ +.late_rodata +glabel D_800E5F5C +.float 0.99 + +.text glabel func_8002FA64 /* 030664 8002FA64 27BDFF88 */ addiu $sp, $sp, -0x78 /* 030668 8002FA68 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012 diff --git a/src/unknown_0255E0.c b/src/unknown_0255E0.c index 4695fa7d..efbade6a 100644 --- a/src/unknown_0255E0.c +++ b/src/unknown_0255E0.c @@ -129,40 +129,6 @@ s8 D_800DC92C[24] = { const char D_800E5DF0[] = "TT CAM"; const char D_800E5DF8[] = "Solid Clipping x0=x1 Error!!!\n"; const char D_800E5E10[] = "TrackGetHeight() - Overflow!!!\n"; -const char D_800E5E38[] = "ERROR!! TrackMem overflow .. %d\n"; - -const DoubleLiteral D_800E5E60 = { 250.0 }; -const DoubleLiteral D_800E5E68 = { -300.0 }; -const DoubleLiteral D_800E5E70 = { 300.0 }; -const DoubleLiteral D_800E5E78 = { 300.0 }; -const DoubleLiteral D_800E5E80 = { -300.0 }; -const DoubleLiteral D_800E5E88 = { -300.0 }; -const DoubleLiteral D_800E5E90 = { -0.1 }; -const DoubleLiteral D_800E5E98 = { -0.1 }; -const DoubleLiteral D_800E5EA0 = { 1000.0 }; -const DoubleLiteral D_800E5EA8 = { 1000.0 }; -const DoubleLiteral D_800E5EB0 = { 0.8 }; -const DoubleLiteral D_800E5EB8 = { 255.0 }; - -// Jump table in func_8002A900 -const u32 D_800E5EC0[] = { - 0x8002AB40, 0x8002AB40, 0x8002AB54, 0x8002AB40, - 0x8002AB40, 0x8002AB54, 0x8002AB40, 0x8002AB54, - 0x8002AB2C, 0x8002AB54, 0x8002AB54, 0x8002AB54, - 0x8002AB58, 0x8002AB54, 0x8002AB54, 0x8002AB54, - 0x8002AB54, 0x8002AB54, 0x8002AB54, 0x8002AB54, - 0x8002AB40, 0x8002AB54, 0x8002AB40, 0x8002AB54, - 0x8002AB54, 0x8002AB54, 0x8002AB54, 0x8002AB58, - 0x8002AB54, 0x8002AB54, 0x8002AB58, 0x8002AB40 -}; - -const DoubleLiteral D_800E5F40 = { 0.2 }; -const FloatLiteral D_800E5F48 = { 1.4f }; -const FloatLiteral D_800E5F4C = { 0.714f }; -const FloatLiteral D_800E5F50 = { 0.005f }; -const FloatLiteral D_800E5F54 = { 1.4142f }; -const FloatLiteral D_800E5F58 = { 0.005f }; -const FloatLiteral D_800E5F5C = { 0.99f }; /*********************************/