Identify and label a bunch of game.c stuff (#385)

* Fix warnings

* Update src/thread0_epc.c

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* identify some texture init stuff

* match _Litob

* match cosf

* match sinf

* formatting

* Update math.h

* Delete sinf.s

* quick fix

* Update unknown_078050.c

* identify some time trial stuff

* my honest reaction

* Add a define for F3DDKR_GBI

* Add GCC define for stubbed_printf

Fixes a bunch of warnings, because IDO is such a brilliant compiler with zero flaws that for some reasons decides "#define text(...)" is against federal law.

* Update racer speed errors

* identify some game.c stuff

* Rename

* Fix inaccurate names for the displaylist heap

* more.

* quick fixes

* Update src/racer.c

Co-authored-by: David Benepe <benepe96@gmail.com>

* Update src/objects.c

Co-authored-by: David Benepe <benepe96@gmail.com>

* Update src/objects.c

Co-authored-by: David Benepe <benepe96@gmail.com>

* quicker fixes

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
Co-authored-by: David Benepe <benepe96@gmail.com>
This commit is contained in:
Fazana
2023-04-23 20:21:39 +01:00
committed by GitHub
co-authored by Ryan Myers David Benepe
parent c9050f4e3e
commit 3c97d5ea99
27 changed files with 2155 additions and 2074 deletions
+1
View File
@@ -24,6 +24,7 @@ endif
ifeq ($(VERSION),us_1.0)
DEFINES += VERSION_US_1_0=1
DEFINES += F3DDKR_GBI=1
endif
ifeq ($(NON_MATCHING),1)
DEFINES += NON_MATCHING=1
+6 -6
View File
@@ -101,7 +101,7 @@ glabel func_8006DCF8
/* 06EA64 8006DE64 8D040000 */ lw $a0, ($t0)
/* 06EA68 8006DE68 8D470000 */ lw $a3, ($t2)
/* 06EA6C 8006DE6C 8D260000 */ lw $a2, ($t1)
/* 06EA70 8006DE70 0C01B2D6 */ jal load_level_2
/* 06EA70 8006DE70 0C01B2D6 */ jal load_level_game
/* 06EA74 8006DE74 00000000 */ nop
/* 06EA78 8006DE78 0C027068 */ jal get_save_file_index
/* 06EA7C 8006DE7C 00000000 */ nop
@@ -160,7 +160,7 @@ glabel L8006DF00
/* 06EB44 8006DF44 8D470000 */ lw $a3, ($t2)
/* 06EB48 8006DF48 8D260000 */ lw $a2, ($t1)
/* 06EB4C 8006DF4C 8D040000 */ lw $a0, ($t0)
/* 06EB50 8006DF50 0C01B2D6 */ jal load_level_2
/* 06EB50 8006DF50 0C01B2D6 */ jal load_level_game
/* 06EB54 8006DF54 00000000 */ nop
/* 06EB58 8006DF58 0C027068 */ jal get_save_file_index
/* 06EB5C 8006DF5C 00000000 */ nop
@@ -202,7 +202,7 @@ glabel L8006DF70
/* 06EBE0 8006DFE0 8D040000 */ lw $a0, ($t0)
/* 06EBE4 8006DFE4 8C650000 */ lw $a1, ($v1)
/* 06EBE8 8006DFE8 8D260000 */ lw $a2, ($t1)
/* 06EBEC 8006DFEC 0C01B2D6 */ jal load_level_2
/* 06EBEC 8006DFEC 0C01B2D6 */ jal load_level_game
/* 06EBF0 8006DFF0 00000000 */ nop
/* 06EBF4 8006DFF4 0C027068 */ jal get_save_file_index
/* 06EBF8 8006DFF8 00000000 */ nop
@@ -225,7 +225,7 @@ glabel L8006E00C
/* 06EC38 8006E038 8D040000 */ lw $a0, ($t0)
/* 06EC3C 8006E03C 8D260000 */ lw $a2, ($t1)
/* 06EC40 8006E040 8D470000 */ lw $a3, ($t2)
/* 06EC44 8006E044 0C01B2D6 */ jal load_level_2
/* 06EC44 8006E044 0C01B2D6 */ jal load_level_game
/* 06EC48 8006E048 00000000 */ nop
/* 06EC4C 8006E04C 100000A3 */ b .L8006E2DC
/* 06EC50 8006E050 8FBF0024 */ lw $ra, 0x24($sp)
@@ -261,7 +261,7 @@ glabel L8006E054
/* 06ECC4 8006E0C4 8D040000 */ lw $a0, ($t0)
/* 06ECC8 8006E0C8 8D260000 */ lw $a2, ($t1)
/* 06ECCC 8006E0CC AD420000 */ sw $v0, ($t2)
/* 06ECD0 8006E0D0 0C01B2D6 */ jal load_level_2
/* 06ECD0 8006E0D0 0C01B2D6 */ jal load_level_game
/* 06ECD4 8006E0D4 00403825 */ move $a3, $v0
/* 06ECD8 8006E0D8 10000080 */ b .L8006E2DC
/* 06ECDC 8006E0DC 8FBF0024 */ lw $ra, 0x24($sp)
@@ -338,7 +338,7 @@ glabel L8006E0E0
/* 06EDE8 8006E1E8 8D260000 */ lw $a2, ($t1)
/* 06EDEC 8006E1EC 25C5FFFF */ addiu $a1, $t6, -1
/* 06EDF0 8006E1F0 AC650000 */ sw $a1, ($v1)
/* 06EDF4 8006E1F4 0C01B2D6 */ jal load_level_2
/* 06EDF4 8006E1F4 0C01B2D6 */ jal load_level_game
/* 06EDF8 8006E1F8 00403825 */ move $a3, $v0
/* 06EDFC 8006E1FC 3C188012 */ lui $t8, %hi(D_8012351C) # $t8, 0x8012
/* 06EE00 8006E200 8F18351C */ lw $t8, %lo(D_8012351C)($t8)
+2 -2
View File
@@ -161,8 +161,8 @@ glabel func_8009ECF0
/* 09FB54 8009EF54 A0226D66 */ sb $v0, %lo(D_80126D66)($at)
/* 09FB58 8009EF58 3C018012 */ lui $at, %hi(D_80126D65) # $at, 0x8012
/* 09FB5C 8009EF5C A0206D65 */ sb $zero, %lo(D_80126D65)($at)
/* 09FB60 8009EF60 3C018012 */ lui $at, %hi(D_80126D67) # $at, 0x8012
/* 09FB64 8009EF64 A0226D67 */ sb $v0, %lo(D_80126D67)($at)
/* 09FB60 8009EF60 3C018012 */ lui $at, %hi(gStopwatchFaceID) # $at, 0x8012
/* 09FB64 8009EF64 A0226D67 */ sb $v0, %lo(gStopwatchFaceID)($at)
/* 09FB68 8009EF68 3C018012 */ lui $at, %hi(D_80126D69) # $at, 0x8012
/* 09FB6C 8009EF6C 24190001 */ li $t9, 1
/* 09FB70 8009EF70 A0396D69 */ sb $t9, %lo(D_80126D69)($at)
+1 -1
View File
@@ -679,7 +679,7 @@ glabel func_8009F034
/* 0A05A8 8009F9A8 00000000 */ nop
/* 0A05AC 8009F9AC A32C037D */ sb $t4, 0x37d($t9)
.L8009F9B0:
/* 0A05B0 8009F9B0 0C003936 */ jal func_8000E4D8
/* 0A05B0 8009F9B0 0C003936 */ jal is_in_time_trial
/* 0A05B4 8009F9B4 AFA70090 */ sw $a3, 0x90($sp)
/* 0A05B8 8009F9B8 3C058012 */ lui $a1, %hi(D_80126CDC) # $a1, 0x8012
/* 0A05BC 8009F9BC 8FA70090 */ lw $a3, 0x90($sp)
+2 -2
View File
@@ -102,9 +102,9 @@ glabel func_800A277C
/* 0A3494 800A2894 00000000 */ nop
.L800A2898:
/* 0A3498 800A2898 8C700050 */ lw $s0, 0x50($v1)
/* 0A349C 800A289C 3C128012 */ lui $s2, %hi(D_80126D67) # $s2, 0x8012
/* 0A349C 800A289C 3C128012 */ lui $s2, %hi(gStopwatchFaceID) # $s2, 0x8012
/* 0A34A0 800A28A0 12000384 */ beqz $s0, .L800A36B4
/* 0A34A4 800A28A4 26526D67 */ addiu $s2, %lo(D_80126D67) # addiu $s2, $s2, 0x6d67
/* 0A34A4 800A28A4 26526D67 */ addiu $s2, %lo(gStopwatchFaceID) # addiu $s2, $s2, 0x6d67
/* 0A34A8 800A28A8 92580000 */ lbu $t8, ($s2)
/* 0A34AC 800A28AC 8E190068 */ lw $t9, 0x68($s0)
/* 0A34B0 800A28B0 A218003B */ sb $t8, 0x3b($s0)
+3 -3
View File
@@ -8,7 +8,7 @@ glabel func_800A36CC
/* 0A42E4 800A36E4 AFA40020 */ sw $a0, 0x20($sp)
/* 0A42E8 800A36E8 AFA50024 */ sw $a1, 0x24($sp)
/* 0A42EC 800A36EC AFA60028 */ sw $a2, 0x28($sp)
/* 0A42F0 800A36F0 0C003936 */ jal func_8000E4D8
/* 0A42F0 800A36F0 0C003936 */ jal is_in_time_trial
/* 0A42F4 800A36F4 AFA7002C */ sw $a3, 0x2c($sp)
/* 0A42F8 800A36F8 10400058 */ beqz $v0, .L800A385C
/* 0A42FC 800A36FC 3C0E8012 */ lui $t6, %hi(D_80126CF4) # $t6, 0x8012
@@ -97,9 +97,9 @@ glabel func_800A36CC
/* 0A4430 800A3830 25AD6D66 */ addiu $t5, %lo(D_80126D66) # addiu $t5, $t5, 0x6d66
/* 0A4434 800A3834 A1B00000 */ sb $s0, ($t5)
/* 0A4438 800A3838 A3F10000 */ sb $s1, ($ra)
/* 0A443C 800A383C 3C018012 */ lui $at, %hi(D_80126D67) # $at, 0x8012
/* 0A443C 800A383C 3C018012 */ lui $at, %hi(gStopwatchFaceID) # $at, 0x8012
/* 0A4440 800A3840 93AE002F */ lbu $t6, 0x2f($sp)
/* 0A4444 800A3844 A0396D67 */ sb $t9, %lo(D_80126D67)($at)
/* 0A4444 800A3844 A0396D67 */ sb $t9, %lo(gStopwatchFaceID)($at)
/* 0A4448 800A3848 3C018012 */ lui $at, %hi(D_80126D69) # $at, 0x8012
/* 0A444C 800A384C 93AF0033 */ lbu $t7, 0x33($sp)
/* 0A4450 800A3850 A02E6D69 */ sb $t6, %lo(D_80126D69)($at)
+3 -3
View File
@@ -223,7 +223,7 @@ glabel L80095964
/* 096644 80095A44 8FAF002C */ lw $t7, 0x2c($sp)
/* 096648 80095A48 00000000 */ nop
/* 09664C 80095A4C 91E40049 */ lbu $a0, 0x49($t7)
/* 096650 80095A50 0C01AC53 */ jal func_8006B14C
/* 096650 80095A50 0C01AC53 */ jal get_map_race_type
/* 096654 80095A54 00000000 */ nop
/* 096658 80095A58 30580040 */ andi $t8, $v0, 0x40
/* 09665C 80095A5C 13000004 */ beqz $t8, .L80095A70
@@ -1069,7 +1069,7 @@ glabel L800964DC
/* 097268 80096668 00000000 */ nop
/* 09726C 8009666C 15C00014 */ bnez $t6, .L800966C0
/* 097270 80096670 24190002 */ li $t9, 2
/* 097274 80096674 0C01BAC5 */ jal func_8006EB14
/* 097274 80096674 0C01BAC5 */ jal get_ingame_map_id
/* 097278 80096678 00000000 */ nop
/* 09727C 8009667C 00027840 */ sll $t7, $v0, 1
/* 097280 80096680 3C18800E */ lui $t8, %hi(D_800E0758) # $t8, 0x800e
@@ -1078,7 +1078,7 @@ glabel L800964DC
/* 09728C 8009668C 2401FFFF */ li $at, -1
/* 097290 80096690 1301000B */ beq $t8, $at, .L800966C0
/* 097294 80096694 24190002 */ li $t9, 2
/* 097298 80096698 0C01BAC5 */ jal func_8006EB14
/* 097298 80096698 0C01BAC5 */ jal get_ingame_map_id
/* 09729C 8009669C 00000000 */ nop
/* 0972A0 800966A0 00026840 */ sll $t5, $v0, 1
/* 0972A4 800966A4 3C04800E */ lui $a0, %hi(D_800E0758) # $a0, 0x800e
+1 -1
View File
@@ -147,7 +147,7 @@ glabel func_80099E8C
/* 09ACAC 8009A0AC 27B30088 */ addiu $s3, $sp, 0x88
.L8009A0B0:
/* 09ACB0 8009A0B0 93C40000 */ lbu $a0, ($fp)
/* 09ACB4 8009A0B4 0C01AC64 */ jal func_8006B190
/* 09ACB4 8009A0B4 0C01AC64 */ jal get_map_world_id
/* 09ACB8 8009A0B8 00000000 */ nop
/* 09ACBC 8009A0BC 2443FFFF */ addiu $v1, $v0, -1
/* 09ACC0 8009A0C0 04600004 */ bltz $v1, .L8009A0D4
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -463,13 +463,13 @@ glabel func_80019808
/* 01AAA0 80019EA0 00000000 */ nop
.L80019EA4:
/* 01AAA4 80019EA4 00003025 */ move $a2, $zero
/* 01AAA8 80019EA8 0C01B06B */ jal func_8006C1AC
/* 01AAA8 80019EA8 0C01B06B */ jal push_level_property_stack
/* 01AAAC 80019EAC 00003825 */ move $a3, $zero
/* 01AAB0 80019EB0 92C70016 */ lbu $a3, 0x16($s6)
/* 01AAB4 80019EB4 2404002C */ li $a0, 44
/* 01AAB8 80019EB8 00002825 */ move $a1, $zero
/* 01AABC 80019EBC 2406FFFF */ li $a2, -1
/* 01AAC0 80019EC0 0C01B06B */ jal func_8006C1AC
/* 01AAC0 80019EC0 0C01B06B */ jal push_level_property_stack
/* 01AAC4 80019EC4 24E7FFFF */ addiu $a3, $a3, -1
/* 01AAC8 80019EC8 0C006A35 */ jal func_8001A8D4
/* 01AACC 80019ECC 02802025 */ move $a0, $s4
@@ -936,12 +936,12 @@ glabel func_80019808
/* 01B158 8001A558 24016C07 */ li $at, 0x6C07
/* 01B15C 8001A55C 31EEFFFF */ andi $t6, $t7, 0xffff
/* 01B160 8001A560 11C10004 */ beq $t6, $at, .L8001A574
/* 01B164 8001A564 3C188012 */ lui $t8, %hi(D_8011AEF5) # $t8, 0x8012
/* 01B164 8001A564 3C188012 */ lui $t8, %hi(gIsTimeTrial) # $t8, 0x8012
/* 01B168 8001A568 00142600 */ sll $a0, $s4, 0x18
/* 01B16C 8001A56C 0004CE03 */ sra $t9, $a0, 0x18
/* 01B170 8001A570 03202025 */ move $a0, $t9
.L8001A574:
/* 01B174 8001A574 9318AEF5 */ lbu $t8, %lo(D_8011AEF5)($t8)
/* 01B174 8001A574 9318AEF5 */ lbu $t8, %lo(gIsTimeTrial)($t8)
/* 01B178 8001A578 3C13800E */ lui $s3, %hi(D_800DC744) # $s3, 0x800e
/* 01B17C 8001A57C 17000016 */ bnez $t8, .L8001A5D8
/* 01B180 8001A580 2673C744 */ addiu $s3, %lo(D_800DC744) # addiu $s3, $s3, -0x38bc
File diff suppressed because it is too large Load Diff
@@ -93,29 +93,29 @@ glabel func_8005CB68
/* 05D8BC 8005CCBC 2404FFFE */ li $a0, -2
/* 05D8C0 8005CCC0 00002825 */ move $a1, $zero
/* 05D8C4 8005CCC4 00003025 */ move $a2, $zero
/* 05D8C8 8005CCC8 0C01B06B */ jal func_8006C1AC
/* 05D8C8 8005CCC8 0C01B06B */ jal push_level_property_stack
/* 05D8CC 8005CCCC 00003825 */ move $a3, $zero
/* 05D8D0 8005CCD0 8FA4002C */ lw $a0, 0x2c($sp)
/* 05D8D4 8005CCD4 00002825 */ move $a1, $zero
/* 05D8D8 8005CCD8 2406FFFF */ li $a2, -1
/* 05D8DC 8005CCDC 0C01B06B */ jal func_8006C1AC
/* 05D8DC 8005CCDC 0C01B06B */ jal push_level_property_stack
/* 05D8E0 8005CCE0 00003825 */ move $a3, $zero
/* 05D8E4 8005CCE4 02002025 */ move $a0, $s0
/* 05D8E8 8005CCE8 00002825 */ move $a1, $zero
/* 05D8EC 8005CCEC 2406FFFF */ li $a2, -1
/* 05D8F0 8005CCF0 0C01B06B */ jal func_8006C1AC
/* 05D8F0 8005CCF0 0C01B06B */ jal push_level_property_stack
/* 05D8F4 8005CCF4 24070001 */ li $a3, 1
/* 05D8F8 8005CCF8 10000031 */ b .L8005CDC0
/* 05D8FC 8005CCFC 8FB90034 */ lw $t9, 0x34($sp)
.L8005CD00:
/* 05D900 8005CD00 00002825 */ move $a1, $zero
/* 05D904 8005CD04 00003025 */ move $a2, $zero
/* 05D908 8005CD08 0C01B06B */ jal func_8006C1AC
/* 05D908 8005CD08 0C01B06B */ jal push_level_property_stack
/* 05D90C 8005CD0C 00003825 */ move $a3, $zero
/* 05D910 8005CD10 02002025 */ move $a0, $s0
/* 05D914 8005CD14 00002825 */ move $a1, $zero
/* 05D918 8005CD18 2406FFFF */ li $a2, -1
/* 05D91C 8005CD1C 0C01B06B */ jal func_8006C1AC
/* 05D91C 8005CD1C 0C01B06B */ jal push_level_property_stack
/* 05D920 8005CD20 24070002 */ li $a3, 2
/* 05D924 8005CD24 10000026 */ b .L8005CDC0
/* 05D928 8005CD28 8FB90034 */ lw $t9, 0x34($sp)
@@ -128,34 +128,34 @@ glabel func_8005CB68
/* 05D940 8005CD40 2404FFFE */ li $a0, -2
/* 05D944 8005CD44 00002825 */ move $a1, $zero
/* 05D948 8005CD48 00003025 */ move $a2, $zero
/* 05D94C 8005CD4C 0C01B06B */ jal func_8006C1AC
/* 05D94C 8005CD4C 0C01B06B */ jal push_level_property_stack
/* 05D950 8005CD50 00003825 */ move $a3, $zero
/* 05D954 8005CD54 8FA40024 */ lw $a0, 0x24($sp)
/* 05D958 8005CD58 00002825 */ move $a1, $zero
/* 05D95C 8005CD5C 2406FFFF */ li $a2, -1
/* 05D960 8005CD60 0C01B06B */ jal func_8006C1AC
/* 05D960 8005CD60 0C01B06B */ jal push_level_property_stack
/* 05D964 8005CD64 00003825 */ move $a3, $zero
/* 05D968 8005CD68 8FA40028 */ lw $a0, 0x28($sp)
/* 05D96C 8005CD6C 00002825 */ move $a1, $zero
/* 05D970 8005CD70 2406FFFF */ li $a2, -1
/* 05D974 8005CD74 0C01B06B */ jal func_8006C1AC
/* 05D974 8005CD74 0C01B06B */ jal push_level_property_stack
/* 05D978 8005CD78 00003825 */ move $a3, $zero
/* 05D97C 8005CD7C 02002025 */ move $a0, $s0
/* 05D980 8005CD80 00002825 */ move $a1, $zero
/* 05D984 8005CD84 2406FFFF */ li $a2, -1
/* 05D988 8005CD88 0C01B06B */ jal func_8006C1AC
/* 05D988 8005CD88 0C01B06B */ jal push_level_property_stack
/* 05D98C 8005CD8C 24070001 */ li $a3, 1
/* 05D990 8005CD90 1000000B */ b .L8005CDC0
/* 05D994 8005CD94 8FB90034 */ lw $t9, 0x34($sp)
.L8005CD98:
/* 05D998 8005CD98 00002825 */ move $a1, $zero
/* 05D99C 8005CD9C 00003025 */ move $a2, $zero
/* 05D9A0 8005CDA0 0C01B06B */ jal func_8006C1AC
/* 05D9A0 8005CDA0 0C01B06B */ jal push_level_property_stack
/* 05D9A4 8005CDA4 00003825 */ move $a3, $zero
/* 05D9A8 8005CDA8 02002025 */ move $a0, $s0
/* 05D9AC 8005CDAC 00002825 */ move $a1, $zero
/* 05D9B0 8005CDB0 2406FFFF */ li $a2, -1
/* 05D9B4 8005CDB4 0C01B06B */ jal func_8006C1AC
/* 05D9B4 8005CDB4 0C01B06B */ jal push_level_property_stack
/* 05D9B8 8005CDB8 24070002 */ li $a3, 2
/* 05D9BC 8005CDBC 8FB90034 */ lw $t9, 0x34($sp)
.L8005CDC0:
@@ -226,12 +226,12 @@ glabel func_8005CB68
/* 05DAA8 8005CEA8 2404FFFF */ li $a0, -1
/* 05DAAC 8005CEAC 00002825 */ move $a1, $zero
/* 05DAB0 8005CEB0 00003025 */ move $a2, $zero
/* 05DAB4 8005CEB4 0C01B06B */ jal func_8006C1AC
/* 05DAB4 8005CEB4 0C01B06B */ jal push_level_property_stack
/* 05DAB8 8005CEB8 00003825 */ move $a3, $zero
/* 05DABC 8005CEBC 02002025 */ move $a0, $s0
/* 05DAC0 8005CEC0 24050004 */ li $a1, 4
/* 05DAC4 8005CEC4 2406FFFF */ li $a2, -1
/* 05DAC8 8005CEC8 0C01B06B */ jal func_8006C1AC
/* 05DAC8 8005CEC8 0C01B06B */ jal push_level_property_stack
/* 05DACC 8005CECC 24070004 */ li $a3, 4
/* 05DAD0 8005CED0 1000003D */ b .L8005CFC8
/* 05DAD4 8005CED4 00000000 */ nop
@@ -262,43 +262,43 @@ glabel func_8005CB68
/* 05DB2C 8005CF2C 00002825 */ move $a1, $zero
/* 05DB30 8005CF30 00003025 */ move $a2, $zero
/* 05DB34 8005CF34 00003825 */ move $a3, $zero
/* 05DB38 8005CF38 0C01B06B */ jal func_8006C1AC
/* 05DB38 8005CF38 0C01B06B */ jal push_level_property_stack
/* 05DB3C 8005CF3C AFAA0044 */ sw $t2, 0x44($sp)
/* 05DB40 8005CF40 8FAA0044 */ lw $t2, 0x44($sp)
/* 05DB44 8005CF44 2404002B */ li $a0, 43
/* 05DB48 8005CF48 91470017 */ lbu $a3, 0x17($t2)
/* 05DB4C 8005CF4C 00002825 */ move $a1, $zero
/* 05DB50 8005CF50 2406FFFF */ li $a2, -1
/* 05DB54 8005CF54 0C01B06B */ jal func_8006C1AC
/* 05DB54 8005CF54 0C01B06B */ jal push_level_property_stack
/* 05DB58 8005CF58 24E7FFFF */ addiu $a3, $a3, -1
/* 05DB5C 8005CF5C 02002025 */ move $a0, $s0
/* 05DB60 8005CF60 24050006 */ li $a1, 6
/* 05DB64 8005CF64 2406FFFF */ li $a2, -1
/* 05DB68 8005CF68 0C01B06B */ jal func_8006C1AC
/* 05DB68 8005CF68 0C01B06B */ jal push_level_property_stack
/* 05DB6C 8005CF6C 24070006 */ li $a3, 6
/* 05DB70 8005CF70 10000015 */ b .L8005CFC8
/* 05DB74 8005CF74 00000000 */ nop
.L8005CF78:
/* 05DB78 8005CF78 00002825 */ move $a1, $zero
/* 05DB7C 8005CF7C 00003025 */ move $a2, $zero
/* 05DB80 8005CF80 0C01B06B */ jal func_8006C1AC
/* 05DB80 8005CF80 0C01B06B */ jal push_level_property_stack
/* 05DB84 8005CF84 00003825 */ move $a3, $zero
/* 05DB88 8005CF88 02002025 */ move $a0, $s0
/* 05DB8C 8005CF8C 24050004 */ li $a1, 4
/* 05DB90 8005CF90 2406FFFF */ li $a2, -1
/* 05DB94 8005CF94 0C01B06B */ jal func_8006C1AC
/* 05DB94 8005CF94 0C01B06B */ jal push_level_property_stack
/* 05DB98 8005CF98 24070004 */ li $a3, 4
/* 05DB9C 8005CF9C 1000000A */ b .L8005CFC8
/* 05DBA0 8005CFA0 00000000 */ nop
.L8005CFA4:
/* 05DBA4 8005CFA4 00002825 */ move $a1, $zero
/* 05DBA8 8005CFA8 00003025 */ move $a2, $zero
/* 05DBAC 8005CFAC 0C01B06B */ jal func_8006C1AC
/* 05DBAC 8005CFAC 0C01B06B */ jal push_level_property_stack
/* 05DBB0 8005CFB0 00003825 */ move $a3, $zero
/* 05DBB4 8005CFB4 02002025 */ move $a0, $s0
/* 05DBB8 8005CFB8 24050004 */ li $a1, 4
/* 05DBBC 8005CFBC 2406FFFF */ li $a2, -1
/* 05DBC0 8005CFC0 0C01B06B */ jal func_8006C1AC
/* 05DBC0 8005CFC0 0C01B06B */ jal push_level_property_stack
/* 05DBC4 8005CFC4 24070004 */ li $a3, 4
.L8005CFC8:
/* 05DBC8 8005CFC8 0C01BC50 */ jal func_8006F140
@@ -310,12 +310,12 @@ glabel func_8005CB68
.L8005CFE0:
/* 05DBE0 8005CFE0 00002825 */ move $a1, $zero
/* 05DBE4 8005CFE4 00003025 */ move $a2, $zero
/* 05DBE8 8005CFE8 0C01B06B */ jal func_8006C1AC
/* 05DBE8 8005CFE8 0C01B06B */ jal push_level_property_stack
/* 05DBEC 8005CFEC 00003825 */ move $a3, $zero
/* 05DBF0 8005CFF0 02002025 */ move $a0, $s0
/* 05DBF4 8005CFF4 24050005 */ li $a1, 5
/* 05DBF8 8005CFF8 2406FFFF */ li $a2, -1
/* 05DBFC 8005CFFC 0C01B06B */ jal func_8006C1AC
/* 05DBFC 8005CFFC 0C01B06B */ jal push_level_property_stack
/* 05DC00 8005D000 24070005 */ li $a3, 5
/* 05DC04 8005D004 0C01BC50 */ jal func_8006F140
/* 05DC08 8005D008 24040003 */ li $a0, 3
+4 -2
View File
@@ -8,8 +8,10 @@
#define M_HVQTASK 6
#define M_HVQMTASK 7
#if (defined(F3DEX_GBI) || defined(F3DLP_GBI) || defined(F3DEX_GBI_2))
#define OS_YIELD_DATA_SIZE 0xc00
#if (defined(F3DEX_GBI) || defined(F3DLP_GBI) || defined(F3DEX_GBI_2)) && !defined(F3DDKR_GBI)
#define OS_YIELD_DATA_SIZE 0xC00
#elif defined(F3DDKR_GBI)
#define OS_YIELD_DATA_SIZE 0xA00
#else
#define OS_YIELD_DATA_SIZE 0x900
#endif
+4
View File
@@ -44,6 +44,10 @@ typedef s32 MatrixS[4][4];
typedef s16 VertexList;
typedef s8 TriangleList;
#if defined(__sgi)
#define stubbed_printf
#else
#define stubbed_printf(...)
#endif
#endif
+2 -2
View File
@@ -5,7 +5,7 @@
#include "game.h"
s32 sNoControllerPluggedIn = FALSE; // Looks to be a boolean for whether a controller is plugged in. FALSE if plugged in, and TRUE if not.
u16 gButtonMask = 0xFFFF; //Used when anti-cheat/anti-tamper has failed in func_8006A6B0()
u16 gButtonMask = 0xFFFF; //Used when anti-cheat/anti-tamper has failed in init_level_globals()
OSMesgQueue sSIMesgQueue;
OSMesg sSIMesgBuf;
@@ -231,7 +231,7 @@ s8 clamp_joystick(s8 stickMag) {
}
/**
* Used when anti-cheat/anti-tamper has failed in func_8006A6B0()
* Used when anti-cheat/anti-tamper has failed in init_level_globals()
* Official Name: joySetSecurity
*/
void disable_button_mask(void) {
+266 -207
View File
File diff suppressed because it is too large Load Diff
+29 -21
View File
@@ -19,13 +19,13 @@ typedef enum RenderContext {
} RenderContext;
/* Size: 6 bytes */
typedef struct unk8012117C {
s8 unk0;
s8 unk1;
s8 unk2;
s8 unk3;
s16 unk4;
} unk8012117C;
typedef struct LevelGlobalData {
s8 world;
s8 raceType;
s8 vehicles; // Upper half: available vehicle, Lower half: default vehicle.
s8 unk3; // Unused.
s16 unk4; // Unused.
} LevelGlobalData;
enum NumberOfPlayers {
ZERO_PLAYERS = -1, // A.I. Only
@@ -35,6 +35,14 @@ enum NumberOfPlayers {
FOUR_PLAYERS = 3
};
enum CutsceneIDs {
CUTSCENE_ID_NONE = 0,
CUTSCENE_ID_UNK_3 = 3,
CUTSCENE_ID_UNK_5 = 5,
CUTSCENE_ID_UNK_7 = 7,
CUTSCENE_ID_UNK_64 = 0x64
};
/**
* Bit 00: Read Eeprom Data flap times
* Bit 01: Read Eeprom Data course times
@@ -72,8 +80,8 @@ extern s32 gSaveDataFlags;
Vehicle get_map_default_vehicle(s32 mapId);
s32 get_map_available_vehicles(s32 mapId);
s8 func_8006B14C(s32 mapId);
s8 func_8006B190(s32 mapId);
s8 get_map_race_type(s32 mapId);
s8 get_map_world_id(s32 mapId);
s32 get_hub_area_id(s32 worldId);
void get_number_of_levels_and_worlds(s32 *outLevelCount, s32 *outWorldCount);
s32 check_if_in_race(void);
@@ -88,16 +96,16 @@ void func_8006BFC8(s8 *arg0);
void frontCleanupMultiSelect(void);
TempStruct5 *func_8006C18C(void);
s8 func_8006C19C(void);
void func_8006C1AC(s32 levelId, s32 entranceId, Vehicle vehicleId, s32 cutsceneId);
void func_8006C22C(s32 *levelId, s32 *entranceId, s32 *vehicleId, s32 *cutsceneId);
void func_8006C2E4(void);
s16 func_8006C2F0(void);
void push_level_property_stack(s32 levelId, s32 entranceId, Vehicle vehicleId, s32 cutsceneId);
void pop_level_property_stack(s32 *levelId, s32 *entranceId, s32 *vehicleId, s32 *cutsceneId);
void clear_level_property_stack(void);
s16 get_level_property_stack_pos(void);
s32 func_8006C300(void);
void thread3_main(UNUSED void *unused);
void init_game(void);
void main_game_loop(void);
void func_8006CAE4(s32 arg0, s32 arg1, Vehicle vehicle);
void load_level_2(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicleId);
void func_8006CAE4(s32 numPlayers, s32 trackID, Vehicle vehicle);
void load_level_game(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicleId);
void func_8006CC14(void);
void func_8006D8A4(void);
void func_8006D8E0(s32 arg0);
@@ -109,7 +117,7 @@ void load_menu_with_level_background(s32 menuId, s32 levelId, s32 cutsceneId);
void set_level_default_vehicle(Vehicle arg0);
void func_8006DB20(Vehicle vehicleId);
Vehicle get_level_default_vehicle(void);
void load_level_3(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicleId, s32 cutsceneId);
void load_level_menu(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicleId, s32 cutsceneId);
void func_8006DBE4(void);
void func_8006DC58(s32 arg0);
void load_level_for_menu(s32 levelId, s32 numberOfPlayers, s32 cutsceneId);
@@ -122,7 +130,7 @@ Settings *get_settings(void);
s8 is_game_paused(void);
s8 is_postrace_viewport_active(void);
s32 is_reset_pressed(void);
s32 func_8006EB14(void);
s32 get_ingame_map_id(void);
void mark_to_read_flap_times(void);
void mark_to_read_course_times(void);
void mark_to_read_flap_and_course_times(void);
@@ -144,15 +152,15 @@ void func_8006F29C(void);
void func_8006F338(s32 arg0);
void func_8006F388(u8 arg0);
void func_8006F398(void);
void func_8006F42C(void);
void set_frame_blackout_timer(void);
void pre_intro_loop(void);
s32 is_controller_missing(void);
s32 check_imem_validity(void);
void ingame_logic_loop(s32 updateRate);
void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicleId, s32 cutsceneId);
void func_8006A6B0(void);
void calc_and_alloc_heap_for_hud(s32 numberOfPlayers);
void default_alloc_heap_for_hud(void);
void init_level_globals(void);
void alloc_displaylist_heap(s32 numberOfPlayers);
void default_alloc_displaylist_heap(void);
//Non Matching
void func_8006DCF8(s32 updateRate);
+7 -6
View File
@@ -269,7 +269,7 @@ LevelHeader *gHudLevelHeader;
u8 D_80126D64;
u8 D_80126D65;
u8 D_80126D66;
u8 D_80126D67;
u8 gStopwatchFaceID;
u8 D_80126D68;
u8 D_80126D69;
s32 gWrongWayNagTimer;
@@ -290,8 +290,8 @@ s32 D_80127190;
s32 D_80127194;
s32 D_80127198[6];
// ????
u8 gGfxTaskYieldData[0xA00];
// Not sure why this ended up here, and not in unknown_078050.c along with the rest of the task data.
u8 gGfxTaskYieldData[OS_YIELD_DATA_SIZE];
/******************************/
@@ -426,7 +426,7 @@ void render_hud(Gfx **dList, MatrixS **mtx, Vertex **vertexList, Object *arg3, s
set_ortho_matrix_view(&gHUDCurrDisplayList, &gHUDCurrMatrix);
gDPSetEnvColor(gHUDCurrDisplayList++, 255, 255, 255, 0);
sp2C = func_8001139C(&gHUDCurrDisplayList) >> 1;
if (func_8000E4D8()) {
if (is_in_time_trial()) {
func_800A277C(sp2C, arg3, updateRate);
} else {
if (func_8001E440(sp2C) == 10) {
@@ -463,7 +463,7 @@ void render_hud(Gfx **dList, MatrixS **mtx, Vertex **vertexList, Object *arg3, s
}
if (racer->racer.raceFinished == 1) {
func_80068508(1);
if (func_8000E4D8()) {
if (is_in_time_trial()) {
func_800A6E30(racer, updateRate);
} else if (get_viewport_count() == VIEWPORTS_COUNT_1_PLAYER && racer->racer.unk1AC == 1) {
if (is_in_two_player_adventure()) {
@@ -716,6 +716,7 @@ void render_hud_hubworld(Object *obj, s32 updateRate) {
}
}
// render_hud_time_trial
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A277C.s")
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A36CC.s")
@@ -1883,7 +1884,7 @@ void render_minimap_and_misc_hud(Gfx **dList, MatrixS **mtx, Vertex **vtx, s32 u
sp11C = (lvlMdl->upperXBounds - lvlMdl->lowerXBounds) / (f32) (lvlMdl->upperZBounds - lvlMdl->lowerZBounds);
sp118 = coss_f((lvlMdl->minimapRotation * 0xFFFF) / 360);
sp114 = sins_f((lvlMdl->minimapRotation * 0xFFFF) / 360);
if (func_8000E4D8() && func_8001B288()) {
if (is_in_time_trial() && func_8001B288()) {
temp_v0_8 = func_8001B2E0();
if (temp_v0_8 != NULL) {
func_800AA3EC(temp_v0_8->segment.trans.x_position, temp_v0_8->segment.trans.z_position, sp114, sp118, sp11C);
+1 -1
View File
@@ -283,7 +283,7 @@ typedef struct ObjectTransform_800A8474 {
s16 unk18;
} ObjectTransform_800A8474;
extern u8 gGfxTaskYieldData[0xA00];
extern u8 gGfxTaskYieldData[OS_YIELD_DATA_SIZE];
u8 func_800A0190(void);
void func_800A0B74(void);
+9 -9
View File
@@ -6428,7 +6428,7 @@ void menu_adventure_track_init(void) {
gMenuDelay = 0;
mapId = settings->unk4C->unk2;
gPlayerSelectVehicle[PLAYER_ONE] = get_map_default_vehicle(mapId);
result = func_8006B14C(mapId);
result = get_map_race_type(mapId);
if ((result == 5) || (result == 8) || (!(result & 0x40) && (!(settings->courseFlagsPtr[mapId] & 2)))) {
temp = D_800E0758[mapId];
if (temp != -1) {
@@ -6464,8 +6464,8 @@ void menu_adventure_track_init(void) {
load_level_for_menu(mapId, -1, 1);
}
assign_dialogue_box_id(7);
if (func_8006B14C(mapId) & 0x40) {
func_800C31EC(func_8006B190(mapId) + 0x3B);
if (get_map_race_type(mapId) & 0x40) {
func_800C31EC(get_map_world_id(mapId) + 0x3B);
}
}
@@ -6506,7 +6506,7 @@ void render_adventure_track_setup(UNUSED s32 arg0, s32 arg1, s32 arg2) {
draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 46, levelName, ALIGN_MIDDLE_CENTER);
set_text_colour(255, 255, 255, 0, 255);
draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 43, levelName, ALIGN_MIDDLE_CENTER);
if (!(func_8006B14C(sp58) & 0x40)) {
if (!(get_map_race_type(sp58) & 0x40)) {
if (arg2 == 0) {
if (is_time_trial_enabled()) {
if (func_80092BE0(sp58) >= 0) {
@@ -6609,7 +6609,7 @@ s32 menu_adventure_track_loop(s32 updateRate) {
if (settings->courseFlagsPtr[mapId] & 4) {
sp1C = 2;
}
if (func_8006B14C(mapId) & 0x40) {
if (get_map_race_type(mapId) & 0x40) {
sp28 = TRUE;
}
sp20 = FALSE;
@@ -6723,7 +6723,7 @@ void func_80093A40(void) {
gMenuOptionText[0] = gMenuText[ASSET_MENU_TEXT_CONTINUE];
gMenuOptionCap = 1;
if (gTrophyRaceWorldId == 0) {
raceType = func_8006B14C(settings->courseId);
raceType = get_map_race_type(settings->courseId);
if ((settings->worldId == WORLD_CENTRAL_AREA) && (is_taj_challenge() != 0)) {
gMenuOptionText[1] = gMenuText[ASSET_MENU_TEXT_ABANDONCHALLENGE];
gMenuOptionCap = 2;
@@ -6927,8 +6927,8 @@ s32 render_pause_menu(UNUSED Gfx **dl, s32 updateRate) {
return 1;
}
if ((gMenuOptionText[gMenuOption] == gMenuText[ASSET_MENU_TEXT_RESTARTRACE]) || (gMenuOptionText[gMenuOption] == gMenuText[ASSET_MENU_TEXT_RESTARTCHALLENGE])) {
if ((gIsInTracksMode == 0) && (D_800E0758[func_8006EB14()] != -1)) {
func_80000FDC(D_800E0758[func_8006EB14()], 0, 1.0f);
if ((gIsInTracksMode == 0) && (D_800E0758[get_ingame_map_id()] != -1)) {
func_80000FDC(D_800E0758[get_ingame_map_id()], 0, 1.0f);
}
return 2;
}
@@ -8266,7 +8266,7 @@ s32 get_filtered_cheats(void) {
if (!check_if_in_race()) {
cheats &= ~CHEAT_MIRRORED_TRACKS; // Disable mirroring
}
if (func_8006B14C(get_settings()->courseId) & 0x40) {
if (get_map_race_type(get_settings()->courseId) & 0x40) {
cheats &= CHEATS_ALLOWED_IN_CHALLENGES;
}
if (gIsInAdventureTwo && check_if_in_race()) {

Some files were not shown because too many files have changed in this diff Show More