mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Merge pull request #133 from DavidSM64/doc
Decompiled 5 functions in unknown_05CEF0
This commit is contained in:
@@ -1,32 +0,0 @@
|
||||
glabel func_8005C2F0
|
||||
/* 05CEF0 8005C2F0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 05CEF4 8005C2F4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 05CEF8 8005C2F8 8C8F004C */ lw $t7, 0x4c($a0)
|
||||
/* 05CEFC 8005C2FC 240E0005 */ li $t6, 5
|
||||
/* 05CF00 8005C300 A5EE0014 */ sh $t6, 0x14($t7)
|
||||
/* 05CF04 8005C304 8C98004C */ lw $t8, 0x4c($a0)
|
||||
/* 05CF08 8005C308 2419001E */ li $t9, 30
|
||||
/* 05CF0C 8005C30C A3000011 */ sb $zero, 0x11($t8)
|
||||
/* 05CF10 8005C310 8C88004C */ lw $t0, 0x4c($a0)
|
||||
/* 05CF14 8005C314 44802000 */ mtc1 $zero, $f4
|
||||
/* 05CF18 8005C318 A1190010 */ sb $t9, 0x10($t0)
|
||||
/* 05CF1C 8005C31C 8C89004C */ lw $t1, 0x4c($a0)
|
||||
/* 05CF20 8005C320 3C018012 */ lui $at, %hi(D_8011D5C0) # $at, 0x8012
|
||||
/* 05CF24 8005C324 A1200012 */ sb $zero, 0x12($t1)
|
||||
/* 05CF28 8005C328 E4A4000C */ swc1 $f4, 0xc($a1)
|
||||
/* 05CF2C 8005C32C C4860010 */ lwc1 $f6, 0x10($a0)
|
||||
/* 05CF30 8005C330 00000000 */ nop
|
||||
/* 05CF34 8005C334 E426D5C0 */ swc1 $f6, %lo(D_8011D5C0)($at)
|
||||
/* 05CF38 8005C338 8CAA0118 */ lw $t2, 0x118($a1)
|
||||
/* 05CF3C 8005C33C 00000000 */ nop
|
||||
/* 05CF40 8005C340 11400004 */ beqz $t2, .L8005C354
|
||||
/* 05CF44 8005C344 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 05CF48 8005C348 0C001AB2 */ jal func_80006AC8
|
||||
/* 05CF4C 8005C34C 00000000 */ nop
|
||||
/* 05CF50 8005C350 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8005C354:
|
||||
/* 05CF54 8005C354 3C018012 */ lui $at, %hi(D_8011D5C4) # $at, 0x8012
|
||||
/* 05CF58 8005C358 A020D5C4 */ sb $zero, %lo(D_8011D5C4)($at)
|
||||
/* 05CF5C 8005C35C 03E00008 */ jr $ra
|
||||
/* 05CF60 8005C360 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
glabel func_8005CA78
|
||||
/* 05D678 8005CA78 3C018012 */ lui $at, %hi(D_8011D5C8) # $at, 0x8012
|
||||
/* 05D67C 8005CA7C 03E00008 */ jr $ra
|
||||
/* 05D680 8005CA80 AC24D5C8 */ sw $a0, %lo(D_8011D5C8)($at)
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
glabel func_8005CA84
|
||||
/* 05D684 8005CA84 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 05D688 8005CA88 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 05D68C 8005CA8C E7AC0020 */ swc1 $f12, 0x20($sp)
|
||||
/* 05D690 8005CA90 E7AE0024 */ swc1 $f14, 0x24($sp)
|
||||
/* 05D694 8005CA94 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* 05D698 8005CA98 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* 05D69C 8005CA9C 00002025 */ move $a0, $zero
|
||||
/* 05D6A0 8005CAA0 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 05D6A4 8005CAA4 24050001 */ li $a1, 1
|
||||
/* 05D6A8 8005CAA8 8FA8002C */ lw $t0, 0x2c($sp)
|
||||
/* 05D6AC 8005CAAC 00021E00 */ sll $v1, $v0, 0x18
|
||||
/* 05D6B0 8005CAB0 00037603 */ sra $t6, $v1, 0x18
|
||||
/* 05D6B4 8005CAB4 15000002 */ bnez $t0, .L8005CAC0
|
||||
/* 05D6B8 8005CAB8 01C01825 */ move $v1, $t6
|
||||
/* 05D6BC 8005CABC 00001825 */ move $v1, $zero
|
||||
.L8005CAC0:
|
||||
/* 05D6C0 8005CAC0 3C0F8012 */ lui $t7, %hi(D_8011D5C8) # $t7, 0x8012
|
||||
/* 05D6C4 8005CAC4 8DEFD5C8 */ lw $t7, %lo(D_8011D5C8)($t7)
|
||||
/* 05D6C8 8005CAC8 01034021 */ addu $t0, $t0, $v1
|
||||
/* 05D6CC 8005CACC 0008C040 */ sll $t8, $t0, 1
|
||||
/* 05D6D0 8005CAD0 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 05D6D4 8005CAD4 97240000 */ lhu $a0, ($t9)
|
||||
/* 05D6D8 8005CAD8 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 05D6DC 8005CADC 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 05D6E0 8005CAE0 8FA70028 */ lw $a3, 0x28($sp)
|
||||
/* 05D6E4 8005CAE4 24090004 */ li $t1, 4
|
||||
/* 05D6E8 8005CAE8 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 05D6EC 8005CAEC 0C002556 */ jal func_80009558
|
||||
/* 05D6F0 8005CAF0 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 05D6F4 8005CAF4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 05D6F8 8005CAF8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 05D6FC 8005CAFC 03E00008 */ jr $ra
|
||||
/* 05D700 8005CB00 00000000 */ nop
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
glabel func_8005CB04
|
||||
/* 05D704 8005CB04 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 05D708 8005CB08 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 05D70C 8005CB0C 00803025 */ move $a2, $a0
|
||||
/* 05D710 8005CB10 AFA60018 */ sw $a2, 0x18($sp)
|
||||
/* 05D714 8005CB14 00002025 */ move $a0, $zero
|
||||
/* 05D718 8005CB18 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 05D71C 8005CB1C 24050001 */ li $a1, 1
|
||||
/* 05D720 8005CB20 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 05D724 8005CB24 00021E00 */ sll $v1, $v0, 0x18
|
||||
/* 05D728 8005CB28 00037603 */ sra $t6, $v1, 0x18
|
||||
/* 05D72C 8005CB2C 14C00002 */ bnez $a2, .L8005CB38
|
||||
/* 05D730 8005CB30 01C01825 */ move $v1, $t6
|
||||
/* 05D734 8005CB34 00001825 */ move $v1, $zero
|
||||
.L8005CB38:
|
||||
/* 05D738 8005CB38 3C0F8012 */ lui $t7, %hi(D_8011D5C8) # $t7, 0x8012
|
||||
/* 05D73C 8005CB3C 8DEFD5C8 */ lw $t7, %lo(D_8011D5C8)($t7)
|
||||
/* 05D740 8005CB40 00C33021 */ addu $a2, $a2, $v1
|
||||
/* 05D744 8005CB44 0006C040 */ sll $t8, $a2, 1
|
||||
/* 05D748 8005CB48 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 05D74C 8005CB4C 97240000 */ lhu $a0, ($t9)
|
||||
/* 05D750 8005CB50 0C000741 */ jal func_80001D04
|
||||
/* 05D754 8005CB54 00002825 */ move $a1, $zero
|
||||
/* 05D758 8005CB58 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 05D75C 8005CB5C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 05D760 8005CB60 03E00008 */ jr $ra
|
||||
/* 05D764 8005CB64 00000000 */ nop
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
glabel func_8005D048
|
||||
/* 05DC48 8005D048 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 05DC4C 8005D04C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 05DC50 8005D050 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 05DC54 8005D054 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 05DC58 8005D058 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* 05DC5C 8005D05C 0C006EB2 */ jal get_object_struct
|
||||
/* 05DC60 8005D060 00002025 */ move $a0, $zero
|
||||
/* 05DC64 8005D064 8FAF0024 */ lw $t7, 0x24($sp)
|
||||
/* 05DC68 8005D068 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 05DC6C 8005D06C 240E00FF */ li $t6, 255
|
||||
/* 05DC70 8005D070 0C0044E7 */ jal func_8001139C
|
||||
/* 05DC74 8005D074 A1EE01F7 */ sb $t6, 0x1f7($t7)
|
||||
/* 05DC78 8005D078 14400010 */ bnez $v0, .L8005D0BC
|
||||
/* 05DC7C 8005D07C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 05DC80 8005D080 8FB90028 */ lw $t9, 0x28($sp)
|
||||
/* 05DC84 8005D084 8FB80020 */ lw $t8, 0x20($sp)
|
||||
/* 05DC88 8005D088 44993000 */ mtc1 $t9, $f6
|
||||
/* 05DC8C 8005D08C 8FA8001C */ lw $t0, 0x1c($sp)
|
||||
/* 05DC90 8005D090 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 05DC94 8005D094 C7040030 */ lwc1 $f4, 0x30($t8)
|
||||
/* 05DC98 8005D098 C5100030 */ lwc1 $f16, 0x30($t0)
|
||||
/* 05DC9C 8005D09C 46082280 */ add.s $f10, $f4, $f8
|
||||
/* 05DCA0 8005D0A0 8FAA0024 */ lw $t2, 0x24($sp)
|
||||
/* 05DCA4 8005D0A4 4610503C */ c.lt.s $f10, $f16
|
||||
/* 05DCA8 8005D0A8 00000000 */ nop
|
||||
/* 05DCAC 8005D0AC 45000002 */ bc1f .L8005D0B8
|
||||
/* 05DCB0 8005D0B0 24090040 */ li $t1, 64
|
||||
/* 05DCB4 8005D0B4 A14901F7 */ sb $t1, 0x1f7($t2)
|
||||
.L8005D0B8:
|
||||
/* 05DCB8 8005D0B8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8005D0BC:
|
||||
/* 05DCBC 8005D0BC 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 05DCC0 8005D0C0 03E00008 */ jr $ra
|
||||
/* 05DCC4 8005D0C4 00000000 */ nop
|
||||
|
||||
/* 05DCC8 8005D0C8 00000000 */ nop
|
||||
/* 05DCCC 8005D0CC 00000000 */ nop
|
||||
|
||||
+67
-8
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "unknown_05CEF0.h"
|
||||
|
||||
#include "structs.h"
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
|
||||
@@ -19,17 +20,75 @@ s16 D_800DCDE0[16] = {
|
||||
|
||||
/************ .bss ************/
|
||||
|
||||
s32 D_8011D5C0;
|
||||
s32 D_8011D5C4;
|
||||
s32 D_8011D5C8;
|
||||
f32 D_8011D5C0;
|
||||
s8 D_8011D5C4;
|
||||
u16 *D_8011D5C8;
|
||||
s32 D_8011D5CC;
|
||||
|
||||
/******************************/
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005C2F0.s")
|
||||
void func_80009558(u16, f32, f32, f32, s32, s32);
|
||||
s32 get_random_number_from_range(s32, s32);
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct unk8005C2F0 {
|
||||
u8 pad0[0xC];
|
||||
f32 unkC;
|
||||
u8 pad10[0x108];
|
||||
s32 unk118;
|
||||
} unk8005C2F0;
|
||||
|
||||
void func_8005C2F0(Object *object, unk8005C2F0 *arg1) {
|
||||
object->unk4C->unk14 = 5;
|
||||
object->unk4C->unk11 = 0;
|
||||
object->unk4C->unk10 = 0x1E;
|
||||
object->unk4C->unk12 = 0;
|
||||
arg1->unkC = 0.0f;
|
||||
D_8011D5C0 = object->y_position;
|
||||
if (arg1->unk118 != 0) {
|
||||
func_80006AC8();
|
||||
}
|
||||
D_8011D5C4 = 0;
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005C364.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005CA78.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005CA84.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005CB04.s")
|
||||
|
||||
void func_8005CA78(s32 arg0) {
|
||||
D_8011D5C8 = arg0;
|
||||
}
|
||||
|
||||
void func_8005CA84(f32 arg0, f32 arg1, f32 arg2, s32 arg3) {
|
||||
s8 phi_v1 = get_random_number_from_range(0, 1);
|
||||
if (arg3 == 0) {
|
||||
phi_v1 = 0;
|
||||
}
|
||||
arg3 += phi_v1;
|
||||
func_80009558(D_8011D5C8[arg3], arg0, arg1, arg2, 4, 0);
|
||||
}
|
||||
|
||||
void func_8005CB04(s32 arg0) {
|
||||
s8 phi_v1 = get_random_number_from_range(0, 1);
|
||||
if (arg0 == 0) {
|
||||
phi_v1 = 0;
|
||||
}
|
||||
arg0 += phi_v1;
|
||||
func_80001D04(D_8011D5C8[arg0], 0);
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005CB68.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_05CEF0/func_8005D048.s")
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct unk8005D048 {
|
||||
u8 pad0[0x1F7];
|
||||
u8 unk1F7;
|
||||
} unk8005D048;
|
||||
|
||||
void func_8005D048(Object *object, unk8005D048 *arg1, s32 arg2) {
|
||||
Object *sp1C = get_object_struct(0);
|
||||
arg1->unk1F7 = 0xFF;
|
||||
if (!func_8001139C()) {
|
||||
if ((object->unk30 + arg2) < sp1C->unk30) {
|
||||
arg1->unk1F7 = 0x40;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user