mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
@@ -1,104 +0,0 @@
|
||||
glabel func_8003DFCC
|
||||
/* 03EBCC 8003DFCC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03EBD0 8003DFD0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03EBD4 8003DFD4 8C8F004C */ lw $t7, 0x4c($a0)
|
||||
/* 03EBD8 8003DFD8 240E0002 */ li $t6, 2
|
||||
/* 03EBDC 8003DFDC A5EE0014 */ sh $t6, 0x14($t7)
|
||||
/* 03EBE0 8003DFE0 8C99004C */ lw $t9, 0x4c($a0)
|
||||
/* 03EBE4 8003DFE4 24180004 */ li $t8, 4
|
||||
/* 03EBE8 8003DFE8 A3380011 */ sb $t8, 0x11($t9)
|
||||
/* 03EBEC 8003DFEC 8C89004C */ lw $t1, 0x4c($a0)
|
||||
/* 03EBF0 8003DFF0 24080014 */ li $t0, 20
|
||||
/* 03EBF4 8003DFF4 A1280010 */ sb $t0, 0x10($t1)
|
||||
/* 03EBF8 8003DFF8 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 03EBFC 8003DFFC 0C0270C3 */ jal get_filtered_cheats
|
||||
/* 03EC00 8003E000 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 03EC04 8003E004 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 03EC08 8003E008 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* 03EC0C 8003E00C 00025380 */ sll $t2, $v0, 0xe
|
||||
/* 03EC10 8003E010 05410003 */ bgez $t2, .L8003E020
|
||||
/* 03EC14 8003E014 304B8000 */ andi $t3, $v0, 0x8000
|
||||
/* 03EC18 8003E018 10000013 */ b .L8003E068
|
||||
/* 03EC1C 8003E01C A0A00009 */ sb $zero, 9($a1)
|
||||
.L8003E020:
|
||||
/* 03EC20 8003E020 11600004 */ beqz $t3, .L8003E034
|
||||
/* 03EC24 8003E024 00026BC0 */ sll $t5, $v0, 0xf
|
||||
/* 03EC28 8003E028 240C0001 */ li $t4, 1
|
||||
/* 03EC2C 8003E02C 1000000E */ b .L8003E068
|
||||
/* 03EC30 8003E030 A0AC0009 */ sb $t4, 9($a1)
|
||||
.L8003E034:
|
||||
/* 03EC34 8003E034 05A10004 */ bgez $t5, .L8003E048
|
||||
/* 03EC38 8003E038 00027B40 */ sll $t7, $v0, 0xd
|
||||
/* 03EC3C 8003E03C 240E0002 */ li $t6, 2
|
||||
/* 03EC40 8003E040 10000009 */ b .L8003E068
|
||||
/* 03EC44 8003E044 A0AE0009 */ sb $t6, 9($a1)
|
||||
.L8003E048:
|
||||
/* 03EC48 8003E048 05E10004 */ bgez $t7, .L8003E05C
|
||||
/* 03EC4C 8003E04C 0002CB00 */ sll $t9, $v0, 0xc
|
||||
/* 03EC50 8003E050 24180003 */ li $t8, 3
|
||||
/* 03EC54 8003E054 10000004 */ b .L8003E068
|
||||
/* 03EC58 8003E058 A0B80009 */ sb $t8, 9($a1)
|
||||
.L8003E05C:
|
||||
/* 03EC5C 8003E05C 07210002 */ bgez $t9, .L8003E068
|
||||
/* 03EC60 8003E060 24080004 */ li $t0, 4
|
||||
/* 03EC64 8003E064 A0A80009 */ sb $t0, 9($a1)
|
||||
.L8003E068:
|
||||
/* 03EC68 8003E068 90A90008 */ lbu $t1, 8($a1)
|
||||
/* 03EC6C 8003E06C 00000000 */ nop
|
||||
/* 03EC70 8003E070 29210006 */ slti $at, $t1, 6
|
||||
/* 03EC74 8003E074 14200002 */ bnez $at, .L8003E080
|
||||
/* 03EC78 8003E078 00000000 */ nop
|
||||
/* 03EC7C 8003E07C A0A00008 */ sb $zero, 8($a1)
|
||||
.L8003E080:
|
||||
/* 03EC80 8003E080 8C8B0040 */ lw $t3, 0x40($a0)
|
||||
/* 03EC84 8003E084 808A003A */ lb $t2, 0x3a($a0)
|
||||
/* 03EC88 8003E088 816C0055 */ lb $t4, 0x55($t3)
|
||||
/* 03EC8C 8003E08C 00000000 */ nop
|
||||
/* 03EC90 8003E090 014C082A */ slt $at, $t2, $t4
|
||||
/* 03EC94 8003E094 14200002 */ bnez $at, .L8003E0A0
|
||||
/* 03EC98 8003E098 00000000 */ nop
|
||||
/* 03EC9C 8003E09C A080003A */ sb $zero, 0x3a($a0)
|
||||
.L8003E0A0:
|
||||
/* 03ECA0 8003E0A0 90AD0009 */ lbu $t5, 9($a1)
|
||||
/* 03ECA4 8003E0A4 3C014120 */ li $at, 0x41200000 # 10.000000
|
||||
/* 03ECA8 8003E0A8 A08D003A */ sb $t5, 0x3a($a0)
|
||||
/* 03ECAC 8003E0AC 808E003A */ lb $t6, 0x3a($a0)
|
||||
/* 03ECB0 8003E0B0 44811000 */ mtc1 $at, $f2
|
||||
/* 03ECB4 8003E0B4 AC8E0078 */ sw $t6, 0x78($a0)
|
||||
/* 03ECB8 8003E0B8 90B8000A */ lbu $t8, 0xa($a1)
|
||||
/* 03ECBC 8003E0BC 3C014280 */ li $at, 0x42800000 # 64.000000
|
||||
/* 03ECC0 8003E0C0 44982000 */ mtc1 $t8, $f4
|
||||
/* 03ECC4 8003E0C4 44813000 */ mtc1 $at, $f6
|
||||
/* 03ECC8 8003E0C8 46802020 */ cvt.s.w $f0, $f4
|
||||
/* 03ECCC 8003E0CC 4602003C */ c.lt.s $f0, $f2
|
||||
/* 03ECD0 8003E0D0 00000000 */ nop
|
||||
/* 03ECD4 8003E0D4 45000003 */ bc1f .L8003E0E4
|
||||
/* 03ECD8 8003E0D8 00000000 */ nop
|
||||
/* 03ECDC 8003E0DC 46001006 */ mov.s $f0, $f2
|
||||
/* 03ECE0 8003E0E0 00000000 */ nop
|
||||
.L8003E0E4:
|
||||
/* 03ECE4 8003E0E4 46060003 */ div.s $f0, $f0, $f6
|
||||
/* 03ECE8 8003E0E8 8C990040 */ lw $t9, 0x40($a0)
|
||||
/* 03ECEC 8003E0EC 8C820064 */ lw $v0, 0x64($a0)
|
||||
/* 03ECF0 8003E0F0 C728000C */ lwc1 $f8, 0xc($t9)
|
||||
/* 03ECF4 8003E0F4 00000000 */ nop
|
||||
/* 03ECF8 8003E0F8 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 03ECFC 8003E0FC E48A0008 */ swc1 $f10, 8($a0)
|
||||
/* 03ED00 8003E100 C4900008 */ lwc1 $f16, 8($a0)
|
||||
/* 03ED04 8003E104 A4400004 */ sh $zero, 4($v0)
|
||||
/* 03ED08 8003E108 E4500000 */ swc1 $f16, ($v0)
|
||||
/* 03ED0C 8003E10C AC80007C */ sw $zero, 0x7c($a0)
|
||||
/* 03ED10 8003E110 0C0270C3 */ jal get_filtered_cheats
|
||||
/* 03ED14 8003E114 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 03ED18 8003E118 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 03ED1C 8003E11C 30480800 */ andi $t0, $v0, 0x800
|
||||
/* 03ED20 8003E120 11000004 */ beqz $t0, .L8003E134
|
||||
/* 03ED24 8003E124 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03ED28 8003E128 0C003FEE */ jal gParticlePtrList_addObject
|
||||
/* 03ED2C 8003E12C 00000000 */ nop
|
||||
/* 03ED30 8003E130 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8003E134:
|
||||
/* 03ED34 8003E134 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03ED38 8003E138 03E00008 */ jr $ra
|
||||
/* 03ED3C 8003E13C 00000000 */ nop
|
||||
|
||||
+42
-35
@@ -1168,59 +1168,66 @@ void obj_loop_world_key(Object *worldKeyObj, s32 speed) {
|
||||
worldKeyObj->y_rotation += speed * 256;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
typedef struct unknown_struct_8003DFCC {
|
||||
u8 pad0[8];
|
||||
typedef struct Object_64_8003DFCC {
|
||||
f32 unk0;
|
||||
s16 unk4;
|
||||
char unk6[0x2];
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
} unknown_struct_8003DFCC;
|
||||
} Object_64_8003DFCC;
|
||||
|
||||
void func_8003DFCC(Object *arg0, unknown_struct_8003DFCC *arg1) {
|
||||
f32 temp_f0;
|
||||
s32 temp_v0;
|
||||
Object_64 *temp_v0_2;
|
||||
f32 phi_f0;
|
||||
void func_8003DFCC(Object *arg0, Object_64_8003DFCC *arg1) {
|
||||
s32 cheats;
|
||||
Object_64_8003DFCC *obj;
|
||||
f32 temp;
|
||||
|
||||
arg0->unk4C->unk14 = 2;
|
||||
arg0->unk4C->unk11 = 4;
|
||||
arg0->unk4C->unk10 = 0x14;
|
||||
temp_v0 = get_filtered_cheats();
|
||||
if (temp_v0 & CHEAT_ALL_BALLOONS_ARE_BLUE) {
|
||||
arg1->unk9 = 0U;
|
||||
} else if (temp_v0 & CHEAT_ALL_BALLOONS_ARE_RED) {
|
||||
arg1->unk9 = 1U;
|
||||
} else if (temp_v0 & CHEAT_ALL_BALLOONS_ARE_GREEN) {
|
||||
arg1->unk9 = 2U;
|
||||
} else if (temp_v0 & CHEAT_ALL_BALLOONS_ARE_YELLOW) {
|
||||
arg1->unk9 = 3U;
|
||||
} else if (temp_v0 & CHEAT_ALL_BALLOONS_ARE_RAINBOW) {
|
||||
arg1->unk9 = 4U;
|
||||
|
||||
cheats = get_filtered_cheats();
|
||||
|
||||
if (cheats & CHEAT_ALL_BALLOONS_ARE_BLUE) {
|
||||
arg1->unk9 = 0;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_RED) {
|
||||
arg1->unk9 = 1;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_GREEN) {
|
||||
arg1->unk9 = 2;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_YELLOW) {
|
||||
arg1->unk9 = 3;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_RAINBOW) {
|
||||
arg1->unk9 = 4;
|
||||
}
|
||||
if ((s32) arg1->unk8 >= 6) {
|
||||
arg1->unk8 = 0U;
|
||||
|
||||
if (arg1->unk8 >= 6) {
|
||||
arg1->unk8 = 0;
|
||||
}
|
||||
if ((s32) arg0->unk3A >= (s32) arg0->descriptor_ptr->unk55) {
|
||||
|
||||
if (arg0->unk3A >= arg0->descriptor_ptr->unk55) {
|
||||
arg0->unk3A = 0;
|
||||
}
|
||||
arg0->unk3A = (s8) arg1->unk9;
|
||||
arg0->unk78 = (s32) arg0->unk3A;
|
||||
phi_f0 = arg1->unkA;
|
||||
if (arg1->unkA < 10.0f) {
|
||||
phi_f0 = 10.0f;
|
||||
|
||||
arg0->unk3A = arg1->unk9;
|
||||
arg0->unk78 = arg0->unk3A;
|
||||
|
||||
temp = arg1->unkA & 0xFF;
|
||||
if (temp < 10) {
|
||||
temp = 10;
|
||||
}
|
||||
temp_f0 = phi_f0 / 64.0f;
|
||||
arg0->scale = (f32) (arg0->descriptor_ptr->unkC * temp_f0);
|
||||
arg0->unk64->unk4 = 0;
|
||||
arg0->unk64->unk0_a.unk0 = arg0->scale;
|
||||
temp /= 64;
|
||||
|
||||
obj = (Object_64_8003DFCC*)arg0->unk64;
|
||||
|
||||
arg0->scale = arg0->descriptor_ptr->unkC * temp;
|
||||
obj->unk0 = arg0->scale;
|
||||
obj->unk4 = 0;
|
||||
arg0->unk7C.word = 0;
|
||||
|
||||
if (get_filtered_cheats() & CHEAT_DISABLE_WEAPONS) {
|
||||
gParticlePtrList_addObject(arg0);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003DFCC.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003E140.s")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user