Found a medicore match for func_800A1428

This commit is contained in:
Ryan Myers
2021-10-25 22:23:02 -04:00
parent 0856d96a4e
commit 71cf2f8b61
4 changed files with 27 additions and 52 deletions
@@ -1,49 +0,0 @@
glabel func_800A26C8
/* 0A32C8 800A26C8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A32CC 800A26CC AFBF0014 */ sw $ra, 0x14($sp)
/* 0A32D0 800A26D0 AFA40020 */ sw $a0, 0x20($sp)
/* 0A32D4 800A26D4 0C019884 */ jal get_viewport_count
/* 0A32D8 800A26D8 AFA50024 */ sw $a1, 0x24($sp)
/* 0A32DC 800A26DC 14400024 */ bnez $v0, .L800A2770
/* 0A32E0 800A26E0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0A32E4 800A26E4 8FAE0020 */ lw $t6, 0x20($sp)
/* 0A32E8 800A26E8 24040001 */ li $a0, 1
/* 0A32EC 800A26EC 8DCF0064 */ lw $t7, 0x64($t6)
/* 0A32F0 800A26F0 0C01A142 */ jal func_80068508
/* 0A32F4 800A26F4 AFAF001C */ sw $t7, 0x1c($sp)
/* 0A32F8 800A26F8 8FA4001C */ lw $a0, 0x1c($sp)
/* 0A32FC 800A26FC 0C029C63 */ jal func_800A718C
/* 0A3300 800A2700 00000000 */ nop
/* 0A3304 800A2704 8FA40020 */ lw $a0, 0x20($sp)
/* 0A3308 800A2708 8FA50024 */ lw $a1, 0x24($sp)
/* 0A330C 800A270C 0C028E21 */ jal func_800A3884
/* 0A3310 800A2710 00000000 */ nop
/* 0A3314 800A2714 0C027B20 */ jal is_in_two_player_adventure
/* 0A3318 800A2718 00000000 */ nop
/* 0A331C 800A271C 10400011 */ beqz $v0, .L800A2764
/* 0A3320 800A2720 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012
/* 0A3324 800A2724 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3)
/* 0A3328 800A2728 00000000 */ nop
/* 0A332C 800A272C 24E70720 */ addiu $a3, $a3, 0x720
/* 0A3330 800A2730 0C01BAA4 */ jal get_settings
/* 0A3334 800A2734 AFA70018 */ sw $a3, 0x18($sp)
/* 0A3338 800A2738 80580071 */ lb $t8, 0x71($v0)
/* 0A333C 800A273C 8FA70018 */ lw $a3, 0x18($sp)
/* 0A3340 800A2740 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012
/* 0A3344 800A2744 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012
/* 0A3348 800A2748 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012
/* 0A334C 800A274C 27190038 */ addiu $t9, $t8, 0x38
/* 0A3350 800A2750 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04
/* 0A3354 800A2754 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00
/* 0A3358 800A2758 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc
/* 0A335C 800A275C 0C02A980 */ jal func_800AA600
/* 0A3360 800A2760 A4F90006 */ sh $t9, 6($a3)
.L800A2764:
/* 0A3364 800A2764 0C01A142 */ jal func_80068508
/* 0A3368 800A2768 00002025 */ move $a0, $zero
/* 0A336C 800A276C 8FBF0014 */ lw $ra, 0x14($sp)
.L800A2770:
/* 0A3370 800A2770 27BD0020 */ addiu $sp, $sp, 0x20
/* 0A3374 800A2774 03E00008 */ jr $ra
/* 0A3378 800A2778 00000000 */ nop
+2 -2
View File
@@ -100,9 +100,9 @@ typedef struct DrawTexture {
typedef struct Racer {
/* 0x00 */ u32 trophy_points;
/* 0x04 */ s8 best_times;
/* 0x05 */ u8 character;
/* 0x05 */ s8 character;
/* 0x06 */ s8 starting_position;
/* 0x07 */ char unk7;
/* 0x07 */ s8 unk7;
/* 0x08 */ u16 placements[4];
/* 0x10 */ u16 course_time;
/* 0x12 */ u16 lap_times[3];
+19 -1
View File
@@ -7,6 +7,7 @@
#include "structs.h"
#include "f3ddkr.h"
#include "camera.h"
#include "unknown_06B2B0.h"
extern u32 osTvType;
@@ -353,7 +354,24 @@ void func_800A263C(s32 arg0, unk800A0DC0 *arg1, s32 arg2) {
func_80068508(0);
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A26C8.s")
void func_800A26C8(Object *arg0, s32 arg1) {
Object_64 *sp1C;
unk800A26C8 *temp_a3;
if (get_viewport_count() == 0) {
sp1C = arg0->unk64;
func_80068508(1);
func_800A718C(sp1C);
func_800A3884(arg0, arg1);
if (is_in_two_player_adventure()) {
temp_a3 = D_80126CDC + 1;
temp_a3->unk6 = (get_settings()->racers[1].character + 0x38);
func_800AA600(&D_80126CFC, &D_80126D00, &D_80126D04, temp_a3);
}
func_80068508(0);
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A277C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A36CC.s")
+6
View File
@@ -9,6 +9,8 @@ typedef struct {
u16 unk4C4;
u8 unk4C6[0x1B4];
s8 unk67A;
s8 unk67B[0xA4];
s8 unk720;
} unk80126CDC;
typedef struct {
@@ -49,6 +51,10 @@ typedef struct {
unk800A0DC0_2 *unk64;
} unk800A0DC0;
typedef struct {
u8 pad[0x5];
s16 unk6;
} unk800A26C8;
u8 func_800A0190(void);
void func_800A0B74(void);