diff --git a/asm/non_matchings/code_80281FA0/func_80283EF8.s b/asm/non_matchings/code_80281FA0/func_80283EF8.s deleted file mode 100644 index 029f599bc..000000000 --- a/asm/non_matchings/code_80281FA0/func_80283EF8.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel func_80283EF8 -/* 127538 80283EF8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 12753C 80283EFC 3C0E800E */ lui $t6, %hi(gPlayerTwo) # $t6, 0x800e -/* 127540 80283F00 8DCEC4E0 */ lw $t6, %lo(gPlayerTwo)($t6) -/* 127544 80283F04 AFBF0014 */ sw $ra, 0x14($sp) -/* 127548 80283F08 AFA40018 */ sw $a0, 0x18($sp) -/* 12754C 80283F0C 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 -/* 127550 80283F10 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f -/* 127554 80283F14 0C0A0868 */ jal func_802821A0 -/* 127558 80283F18 8DC50014 */ lw $a1, 0x14($t6) -/* 12755C 80283F1C 3C0F800E */ lui $t7, %hi(gPlayerTwo) # $t7, 0x800e -/* 127560 80283F20 8DEFC4E0 */ lw $t7, %lo(gPlayerTwo)($t7) -/* 127564 80283F24 8FA40018 */ lw $a0, 0x18($sp) -/* 127568 80283F28 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 -/* 12756C 80283F2C 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f -/* 127570 80283F30 8DE50018 */ lw $a1, 0x18($t7) -/* 127574 80283F34 0C0A0868 */ jal func_802821A0 -/* 127578 80283F38 24840004 */ addiu $a0, $a0, 4 -/* 12757C 80283F3C 3C18800E */ lui $t8, %hi(gPlayerTwo) # $t8, 0x800e -/* 127580 80283F40 8F18C4E0 */ lw $t8, %lo(gPlayerTwo)($t8) -/* 127584 80283F44 8FA40018 */ lw $a0, 0x18($sp) -/* 127588 80283F48 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 -/* 12758C 80283F4C 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f -/* 127590 80283F50 8F05001C */ lw $a1, 0x1c($t8) -/* 127594 80283F54 0C0A0868 */ jal func_802821A0 -/* 127598 80283F58 24840008 */ addiu $a0, $a0, 8 -/* 12759C 80283F5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 1275A0 80283F60 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1275A4 80283F64 03E00008 */ jr $ra -/* 1275A8 80283F68 00000000 */ nop diff --git a/asm/non_matchings/code_80281FA0/func_80283FF4.s b/asm/non_matchings/code_80281FA0/func_80283FF4.s deleted file mode 100644 index 921d73c90..000000000 --- a/asm/non_matchings/code_80281FA0/func_80283FF4.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel func_80283FF4 -/* 127634 80283FF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 127638 80283FF8 3C0E800E */ lui $t6, %hi(gPlayerThree) # $t6, 0x800e -/* 12763C 80283FFC 8DCEC4E4 */ lw $t6, %lo(gPlayerThree)($t6) -/* 127640 80284000 AFBF0014 */ sw $ra, 0x14($sp) -/* 127644 80284004 AFA40018 */ sw $a0, 0x18($sp) -/* 127648 80284008 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 -/* 12764C 8028400C 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f -/* 127650 80284010 0C0A0868 */ jal func_802821A0 -/* 127654 80284014 8DC50014 */ lw $a1, 0x14($t6) -/* 127658 80284018 3C0F800E */ lui $t7, %hi(gPlayerThree) # $t7, 0x800e -/* 12765C 8028401C 8DEFC4E4 */ lw $t7, %lo(gPlayerThree)($t7) -/* 127660 80284020 8FA40018 */ lw $a0, 0x18($sp) -/* 127664 80284024 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 -/* 127668 80284028 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f -/* 12766C 8028402C 8DE50018 */ lw $a1, 0x18($t7) -/* 127670 80284030 0C0A0868 */ jal func_802821A0 -/* 127674 80284034 24840004 */ addiu $a0, $a0, 4 -/* 127678 80284038 3C18800E */ lui $t8, %hi(gPlayerThree) # $t8, 0x800e -/* 12767C 8028403C 8F18C4E4 */ lw $t8, %lo(gPlayerThree)($t8) -/* 127680 80284040 8FA40018 */ lw $a0, 0x18($sp) -/* 127684 80284044 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 -/* 127688 80284048 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f -/* 12768C 8028404C 8F05001C */ lw $a1, 0x1c($t8) -/* 127690 80284050 0C0A0868 */ jal func_802821A0 -/* 127694 80284054 24840008 */ addiu $a0, $a0, 8 -/* 127698 80284058 8FBF0014 */ lw $ra, 0x14($sp) -/* 12769C 8028405C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1276A0 80284060 03E00008 */ jr $ra -/* 1276A4 80284064 00000000 */ nop diff --git a/asm/non_matchings/code_80281FA0/func_80284CC0.s b/asm/non_matchings/code_80281FA0/func_80284CC0.s deleted file mode 100644 index 41cf67298..000000000 --- a/asm/non_matchings/code_80281FA0/func_80284CC0.s +++ /dev/null @@ -1,98 +0,0 @@ -glabel func_80284CC0 -/* 128300 80284CC0 3C048028 */ lui $a0, %hi(D_802856C0) # $a0, 0x8028 -/* 128304 80284CC4 248456C0 */ addiu $a0, %lo(D_802856C0) # addiu $a0, $a0, 0x56c0 -/* 128308 80284CC8 3C018028 */ lui $at, %hi(D_802856B0) # $at, 0x8028 -/* 12830C 80284CCC C42256B0 */ lwc1 $f2, %lo(D_802856B0)($at) -/* 128310 80284CD0 C48C0000 */ lwc1 $f12, ($a0) -/* 128314 80284CD4 44800000 */ mtc1 $zero, $f0 -/* 128318 80284CD8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 12831C 80284CDC 460C1381 */ sub.s $f14, $f2, $f12 -/* 128320 80284CE0 AFBF0014 */ sw $ra, 0x14($sp) -/* 128324 80284CE4 3C1FBA00 */ lui $ra, (0xBA001402 >> 16) # lui $ra, 0xba00 -/* 128328 80284CE8 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 12832C 80284CEC 4600703C */ c.lt.s $f14, $f0 -/* 128330 80284CF0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 128334 80284CF4 37FF1402 */ ori $ra, (0xBA001402 & 0xFFFF) # ori $ra, $ra, 0x1402 -/* 128338 80284CF8 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 12833C 80284CFC 45000002 */ bc1f .L80284D08 -/* 128340 80284D00 3C0FE700 */ lui $t7, 0xe700 -/* 128344 80284D04 46000386 */ mov.s $f14, $f0 -.L80284D08: -/* 128348 80284D08 460C1000 */ add.s $f0, $f2, $f12 -/* 12834C 80284D0C 44812000 */ mtc1 $at, $f4 -/* 128350 80284D10 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 128354 80284D14 3C01436F */ li $at, 0x436F0000 # 239.000000 -/* 128358 80284D18 4600203C */ c.lt.s $f4, $f0 -/* 12835C 80284D1C 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 128360 80284D20 4600718D */ trunc.w.s $f6, $f14 -/* 128364 80284D24 45020004 */ bc1fl .L80284D38 -/* 128368 80284D28 8C620000 */ lw $v0, ($v1) -/* 12836C 80284D2C 44810000 */ mtc1 $at, $f0 -/* 128370 80284D30 00000000 */ nop -/* 128374 80284D34 8C620000 */ lw $v0, ($v1) -.L80284D38: -/* 128378 80284D38 3C01F64F */ lui $at, (0xF64FC000 >> 16) # lui $at, 0xf64f -/* 12837C 80284D3C 3421C000 */ ori $at, (0xF64FC000 & 0xFFFF) # ori $at, $at, 0xc000 -/* 128380 80284D40 244E0008 */ addiu $t6, $v0, 8 -/* 128384 80284D44 AC6E0000 */ sw $t6, ($v1) -/* 128388 80284D48 AC400004 */ sw $zero, 4($v0) -/* 12838C 80284D4C AC4F0000 */ sw $t7, ($v0) -/* 128390 80284D50 8C620000 */ lw $v0, ($v1) -/* 128394 80284D54 3C0E0F0A */ lui $t6, (0x0F0A4000 >> 16) # lui $t6, 0xf0a -/* 128398 80284D58 35CE4000 */ ori $t6, (0x0F0A4000 & 0xFFFF) # ori $t6, $t6, 0x4000 -/* 12839C 80284D5C 24580008 */ addiu $t8, $v0, 8 -/* 1283A0 80284D60 AC780000 */ sw $t8, ($v1) -/* 1283A4 80284D64 AC4E0004 */ sw $t6, 4($v0) -/* 1283A8 80284D68 AC590000 */ sw $t9, ($v0) -/* 1283AC 80284D6C 8C620000 */ lw $v0, ($v1) -/* 1283B0 80284D70 3C180030 */ lui $t8, 0x30 -/* 1283B4 80284D74 3C0EF700 */ lui $t6, 0xf700 -/* 1283B8 80284D78 244F0008 */ addiu $t7, $v0, 8 -/* 1283BC 80284D7C AC6F0000 */ sw $t7, ($v1) -/* 1283C0 80284D80 AC580004 */ sw $t8, 4($v0) -/* 1283C4 80284D84 AC5F0000 */ sw $ra, ($v0) -/* 1283C8 80284D88 8C620000 */ lw $v0, ($v1) -/* 1283CC 80284D8C 3C0F0001 */ lui $t7, (0x00010001 >> 16) # lui $t7, 1 -/* 1283D0 80284D90 35EF0001 */ ori $t7, (0x00010001 & 0xFFFF) # ori $t7, $t7, 1 -/* 1283D4 80284D94 24590008 */ addiu $t9, $v0, 8 -/* 1283D8 80284D98 AC790000 */ sw $t9, ($v1) -/* 1283DC 80284D9C AC4F0004 */ sw $t7, 4($v0) -/* 1283E0 80284DA0 AC4E0000 */ sw $t6, ($v0) -/* 1283E4 80284DA4 8C620000 */ lw $v0, ($v1) -/* 1283E8 80284DA8 440E3000 */ mfc1 $t6, $f6 -/* 1283EC 80284DAC 4600020D */ trunc.w.s $f8, $f0 -/* 1283F0 80284DB0 24580008 */ addiu $t8, $v0, 8 -/* 1283F4 80284DB4 AC780000 */ sw $t8, ($v1) -/* 1283F8 80284DB8 31CF03FF */ andi $t7, $t6, 0x3ff -/* 1283FC 80284DBC 000FC080 */ sll $t8, $t7, 2 -/* 128400 80284DC0 0301C825 */ or $t9, $t8, $at -/* 128404 80284DC4 AC590000 */ sw $t9, ($v0) -/* 128408 80284DC8 AC400004 */ sw $zero, 4($v0) -/* 12840C 80284DCC 8C620000 */ lw $v0, ($v1) -/* 128410 80284DD0 44194000 */ mfc1 $t9, $f8 -/* 128414 80284DD4 3C0FF64F */ lui $t7, (0xF64FC3BC >> 16) # lui $t7, 0xf64f -/* 128418 80284DD8 244E0008 */ addiu $t6, $v0, 8 -/* 12841C 80284DDC AC6E0000 */ sw $t6, ($v1) -/* 128420 80284DE0 35EFC3BC */ ori $t7, (0xF64FC3BC & 0xFFFF) # ori $t7, $t7, 0xc3bc -/* 128424 80284DE4 AC4F0000 */ sw $t7, ($v0) -/* 128428 80284DE8 332E03FF */ andi $t6, $t9, 0x3ff -/* 12842C 80284DEC 000E7880 */ sll $t7, $t6, 2 -/* 128430 80284DF0 AC4F0004 */ sw $t7, 4($v0) -/* 128434 80284DF4 8C620000 */ lw $v0, ($v1) -/* 128438 80284DF8 3C018028 */ lui $at, %hi(D_802856BC) # $at, 0x8028 -/* 12843C 80284DFC 3C058028 */ lui $a1, %hi(D_802856B8) # $a1, 0x8028 -/* 128440 80284E00 24580008 */ addiu $t8, $v0, 8 -/* 128444 80284E04 AC780000 */ sw $t8, ($v1) -/* 128448 80284E08 AC400004 */ sw $zero, 4($v0) -/* 12844C 80284E0C AC5F0000 */ sw $ra, ($v0) -/* 128450 80284E10 C42A56BC */ lwc1 $f10, %lo(D_802856BC)($at) -/* 128454 80284E14 3C018028 */ lui $at, %hi(D_802856B4) # $at, 0x8028 -/* 128458 80284E18 C43056B4 */ lwc1 $f16, %lo(D_802856B4)($at) -/* 12845C 80284E1C 8CA556B8 */ lw $a1, %lo(D_802856B8)($a1) -/* 128460 80284E20 46105483 */ div.s $f18, $f10, $f16 -/* 128464 80284E24 44069000 */ mfc1 $a2, $f18 -/* 128468 80284E28 0C0A08AB */ jal func_802822AC -/* 12846C 80284E2C 00000000 */ nop -/* 128470 80284E30 8FBF0014 */ lw $ra, 0x14($sp) -/* 128474 80284E34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 128478 80284E38 03E00008 */ jr $ra diff --git a/src/code_80281FA0.c b/src/code_80281FA0.c index 38e4278a7..d34aa3a62 100644 --- a/src/code_80281FA0.c +++ b/src/code_80281FA0.c @@ -2,14 +2,8 @@ #include #include #include - -extern Player *gPlayerOne; -extern Player *gPlayerTwo; -extern Player *gPlayerThree; -extern Player *gPlayerFour; -extern s16 D_802876D2; - -s32 func_802832C4(void (*)(s32), s32, s16, s16); +#include "variables.h" +#include "code_80281FA0.h" void func_80281FA0(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3) { arg0[0] = arg1; @@ -185,11 +179,6 @@ s32 func_80282364(s16* arg0, s16 arg1, s16 arg2) { return 1; } -extern f32 D_80287B18; -extern s16 D_80287B1C; -extern s16 D_80287B1E; -extern s8 D_80287B20; - void func_8028240C(void) { D_80287B1C = 0; D_80287B18 = 0.0f; @@ -197,8 +186,6 @@ void func_8028240C(void) { D_80287B20 = 0; } -extern void func_8028240C(); // extern - void func_80282434(s32 arg0) { func_8028240C(); } @@ -501,9 +488,6 @@ loop_1: GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282C40.s") #endif -extern s32 D_80287818; -extern s32 D_80287998; - s32 func_80282D90(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { s32 res; @@ -639,8 +623,6 @@ void func_80283100(void *arg0, f32 *arg1) { GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283100.s") #endif -extern s32 D_802876E0; - void func_80283240(s16 arg0) { if (arg0 == 1) { func_80282EAC(0, &D_802876E0, 0x100, 0x10, 0x4000); @@ -656,11 +638,6 @@ s32 func_802832C4(void (*func_ptr)(s32), s32 arg1, s16 arg2, s16 arg3) { return 0; } -extern s16 D_802876D0; -extern s16 D_802876D2; -extern s32 D_802876D4; -extern s32 D_802876D8; - s32 func_80283330(s32 arg0) { if (arg0 != D_802876D8) { D_802876D8 = arg0; @@ -932,14 +909,10 @@ void func_80283994(s32 arg0) { func_80280FFC(); } -extern f32 D_802856B8; - void func_802839B4(s32 arg0) { D_802856B8 = 52.0f; } -extern f32 D_802856B8; - void func_802839CC(s32 arg0) { D_802856B8 = 0.0f; } @@ -948,8 +921,6 @@ void func_802839E0(s32 arg0) { func_80092C80(); } -extern u16 D_800DC5E4; - void func_80283A00(s32 arg0) { if (D_800DC5E4 == 0) { play_sound2(0x49009009); @@ -1016,8 +987,6 @@ void func_80283C58(s32 arg0) { func_800CB14C(); } -extern u16 D_800DC5E4; - void func_80283C78(s32 arg0) { if (D_800DC5E4 == 0) { func_800C8EF8(0x1C); @@ -1028,8 +997,6 @@ void func_80283CA8(s32 arg0) { func_800CA008(0, 3); } -extern u16 D_800DC5E4; - void func_80283CD0(s32 arg0) { if (D_800DC5E4 == 0) { func_800CA008(0, 2); @@ -1040,11 +1007,6 @@ void func_80283D04(s32 arg0) { play_sound2(0x49008026); } -extern f32 D_802856B8; -extern s32 D_802856DC; -extern s32 D_80285718; -extern s16 D_80285D14; - void func_80283D2C(s32 arg0) { D_802856B8 = 120.0f; func_802832C4(&func_80283CA8, arg0, 0, 0); @@ -1062,9 +1024,6 @@ void func_80283D2C(s32 arg0) { func_80282D90(arg0, &D_802856DC, &D_80285718, 0); } -extern s32 D_80285754; -extern s32 D_80285784; - void func_80283EA0(s32 arg0) { func_80282D90(arg0, &D_80285754, &D_80285784, 0); } @@ -1073,21 +1032,12 @@ void func_80283ED0(Vec3f arg0) { func_80282008(arg0, &gPlayerTwo->pos[0]); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802821A0(f32, f32, ?); // extern - -void func_80283EF8(s32 arg0) { - func_802821A0(gPlayerTwo->pos[0], 0.12f); - func_802821A0((bitwise f32) (arg0 + 4), gPlayerTwo->pos[1], 0x3DF5C28F); - func_802821A0((bitwise f32) (arg0 + 8), gPlayerTwo->pos[2], 0x3DF5C28F); +void func_80283EF8(Vec3f arg0) { + func_802821A0(&arg0[0], gPlayerTwo->pos[0], 0.12f); + func_802821A0(&arg0[1], gPlayerTwo->pos[1], 0.12f); + func_802821A0(&arg0[2], gPlayerTwo->pos[2], 0.12f); } -#else -GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283EF8.s") -#endif -extern s32 D_802857B4; -extern void func_80283EF8(); void func_80283F6C(s32 arg0) { func_802832C4(&func_80283ED0, arg0, 0, 0); func_802832C4(&func_80283EF8, arg0, 0, -1); @@ -1098,31 +1048,18 @@ void func_80283FCC(Vec3f arg0) { func_80282008(arg0, &gPlayerThree->pos[0]); } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -//? func_802821A0(f32, f32, ?); // extern - -void func_80283FF4(f32 arg0) { - func_802821A0(gPlayerThree->posX, 0.12f); - func_802821A0(arg0 + 4, gPlayerThree->posY, 0x3DF5C28F); - func_802821A0(arg0 + 8, gPlayerThree->posZ, 0x3DF5C28F); +void func_80283FF4(Vec3f arg0) { + func_802821A0(&arg0[0], gPlayerThree->pos[0], 0.12f); + func_802821A0(&arg0[1], gPlayerThree->pos[1], 0.12f); + func_802821A0(&arg0[2], gPlayerThree->pos[2], 0.12f); } -#else -GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283FF4.s") -#endif -extern s32 D_80283FCC; -extern s32 D_80283FF4; -extern s32 D_802857CC; -extern void func_80283FF4(); void func_80284068(s32 arg0) { func_802832C4(&func_80283FCC, arg0, 0, 0); func_802832C4(&func_80283FF4, arg0, 0, -1); func_80282E58(arg0, &D_802857CC, 0); } -extern s32 D_802876D8; - void func_802840C8(s32 arg0) { func_802832C4(&func_80283C14, arg0, 5, 5); @@ -1139,9 +1076,6 @@ void func_802840C8(s32 arg0) { } } -extern s32 D_80285910; -extern s32 D_80285928; - void func_80284154(s32 arg0) { func_80282D90(arg0, &D_80285910, &D_80285928, 0); } @@ -1163,16 +1097,11 @@ void func_80284184(s32 *arg0) { GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284184.s") #endif -extern s32 D_80285940; - void func_802841E8(Vec3f arg0) { func_80282E58(arg0, &D_80285940, 0); func_80281FA0(arg0, -3202.0f, 90.0f, -478.0f); } -extern void func_802841E8(); -extern void func_80284184(); - void func_8028422C(s32 arg0) { func_802832C4(&func_80283AF4, arg0, 6, 6); func_802832C4(&func_80283B44, arg0, 0x1E, 0x1E); @@ -1180,16 +1109,10 @@ void func_8028422C(s32 arg0) { func_802832C4(&func_80284184, arg0, 6, -1); } -extern s32 D_802858B0; -extern s32 D_802858C8; - void func_802842A8(s32 arg0) { func_80282D90(arg0, &D_802858B0, &D_802858C8, 0); } -extern s32 D_802857F0; -extern s32 D_80285850; - void func_802842D8(s32 arg0) { func_80282D90(arg0, &D_802857F0, &D_80285850, 0); } @@ -1233,9 +1156,6 @@ void func_80284308(void *arg0) { GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284308.s") #endif -extern s32 D_80285A10; -extern s32 D_80285A4C; - void func_80284418(s32 arg0) { func_802832C4(&func_80283B1C, arg0, 0x52, 0x52); func_802832C4(&func_80283B1C, arg0, 0x48, 0x48); @@ -1243,26 +1163,17 @@ void func_80284418(s32 arg0) { func_80282D90(arg0, &D_80285A10, &D_80285A4C, 0); } -extern s32 D_80285A88; -extern s32 D_80285AB8; - void func_80284494(s32 arg0) { func_802832C4(&func_80283ACC, arg0, 0x1E, 0x1E); func_802832C4(&func_80283968, arg0, 0, 0); func_80282D90(arg0, &D_80285A88, &D_80285AB8, 0); } -extern s32 D_80285AE8; -extern s32 D_80285B00; - void func_802844FC(s32 arg0) { func_802832C4(&func_80283AA4, arg0, 0x3B, 0x3B); func_80282D90(arg0, &D_80285AE8, &D_80285B00, 0); } -extern s32 D_80285B18; -extern s32 D_80285B54; - void func_8028454C(s32 arg0) { func_802832C4(&func_80283CA8, arg0, 0, 0); func_802832C4(&func_80283A34, arg0, 1, 1); @@ -1271,9 +1182,6 @@ void func_8028454C(s32 arg0) { func_80282D90(arg0, &D_80285B18, &D_80285B54, 0); } -extern s32 D_80285B90; -extern s32 D_80285BA8; - void func_802845EC(s32 arg0) { func_80282D90(arg0, &D_80285B90, &D_80285BA8, 0); } @@ -1293,9 +1201,6 @@ UNUSED void func_802846AC(void) { } -extern s32 D_80285C38; -extern s32 D_80285C74; - void func_802846B4(s32 arg0) { func_80282D90(arg0, &D_80285C38, &D_80285C74, 0); } @@ -1421,14 +1326,25 @@ the instruction, which has a name starting with "jtbl"/"jpt_". GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284AE8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -/* -Failed to decompile function func_80284CC0: +void func_80284CC0(void) { + f32 temp_f0; + f32 temp_f14; + + temp_f14 = D_802856B0 - D_802856C0; + if (temp_f14 < 0.0f) { + temp_f14 = 0.0f; + } + temp_f0 = D_802856B0 + D_802856C0; + // Note that this MUST be on one line. All hail significant whitespace in C! + do {if (temp_f0 > 240.0f) { temp_f0 = 239.0f; } } while (0); + + gDPPipeSync(gDisplayListHead++); + gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); + gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); + gDPSetFillColor(gDisplayListHead++, (GPACK_RGBA5551(0, 0, 0, 1) << 16 | GPACK_RGBA5551(0, 0, 0, 1))); + gDPFillRectangle(gDisplayListHead++, 0, 0, 319, (s32)temp_f14); + gDPFillRectangle(gDisplayListHead++, 0, (s32)temp_f0, 319, 239); + gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); + func_802822AC(&D_802856C0, D_802856B8, D_802856BC / D_802856B4); +} -Last instruction is missing a delay slot: -jr $ra -*/ -#else -GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284CC0.s") -#endif diff --git a/src/code_80281FA0.h b/src/code_80281FA0.h new file mode 100644 index 000000000..389d62a33 --- /dev/null +++ b/src/code_80281FA0.h @@ -0,0 +1,127 @@ +#ifndef CODE_80281FA0_h +#define CODE_80281FA0_h + +#include "common_structs.h" + +/* Function Prototypes */ + +void func_80281FA0(Vec3f, f32, f32, f32); +void func_80281FC0(Vec3s, s16, s16, s16); +void func_80281FDC(Vec3f); +void func_80281FF4(Vec3s); +void func_80282008(Vec3f, Vec3f); +void func_80282024(Vec3s, Vec3s); +void func_80282040(); +void func_80282048(); +s32 func_802821A0(f32*, f32, f32); +s32 func_80282200(s16*, s16, s16); +s32 func_802822AC(f32*, f32, f32); +s32 func_80282364(s16*, s16, s16); +void func_8028240C(); +void func_80282434(s32); +s32 func_80282D90(s32, s32, s32, s32); +void func_80282E58(s32, s32, s32); +void func_80282F00(s16*, s16); +void func_80283240(s16); +s32 func_802832C4(void (*)(s32), s32, s16, s16); +s32 func_80283330(s32); +s32 func_80283428(); +void func_80283968(s32); +void func_80283994(s32); +void func_802839B4(s32); +void func_802839CC(s32); +void func_802839E0(s32); +void func_80283A00(s32); +void func_80283A34(s32); +void func_80283A54(s32); +void func_80283A7C(s32); +void func_80283AA4(s32); +void func_80283ACC(s32); +void func_80283AF4(s32); +void func_80283B1C(s32); +void func_80283B44(s32); +void func_80283B6C(s32); +void func_80283BA4(s32); +void func_80283BF0(s32); +void func_80283C14(s32); +void func_80283C38(s32); +void func_80283C58(s32); +void func_80283C78(s32); +void func_80283CA8(s32); +void func_80283CD0(s32); +void func_80283D04(s32); +void func_80283D2C(s32); +void func_80283EA0(s32); +void func_80283ED0(Vec3f); +void func_80283EF8(Vec3f); +void func_80283F6C(s32); +void func_80283FCC(Vec3f); +void func_80283FF4(Vec3f); +void func_80284068(s32); +void func_802840C8(s32); +void func_80284154(s32); +void func_80284184(); +void func_802841E8(Vec3f); +void func_8028422C(s32); +void func_802842A8(s32); +void func_802842D8(s32); +void func_80284418(s32 arg0); +void func_80284494(s32 arg0); +void func_802844FC(s32 arg0); +void func_8028454C(s32 arg0); +void func_802845EC(s32 arg0); +void func_8028461C(s32 arg0); +void func_80284648(s32 arg0); +void func_802846AC(); +void func_802846B4(s32 arg0); +void func_80284CC0(); + +/* This is where I'd put my static data, if I had any */ + +extern u16 D_800DC5E4; +extern s32 D_80283FCC; +extern s32 D_80283FF4; +extern f32 D_802856B0; +extern f32 D_802856B4; +extern f32 D_802856B8; +extern f32 D_802856BC; +extern f32 D_802856C0; +extern s32 D_802856DC; +extern s32 D_80285718; +extern s32 D_80285754; +extern s32 D_80285784; +extern s32 D_802857B4; +extern s32 D_802857CC; +extern s32 D_802857F0; +extern s32 D_80285850; +extern s32 D_802858B0; +extern s32 D_802858C8; +extern s32 D_80285910; +extern s32 D_80285928; +extern s32 D_80285940; +extern s32 D_80285A10; +extern s32 D_80285A4C; +extern s32 D_80285A88; +extern s32 D_80285AB8; +extern s32 D_80285AE8; +extern s32 D_80285B00; +extern s32 D_80285B18; +extern s32 D_80285B54; +extern s32 D_80285B90; +extern s32 D_80285BA8; +extern s32 D_80285C38; +extern s32 D_80285C74; +extern s16 D_80285D14; +extern s16 D_802876D0; +extern s16 D_802876D2; +extern s32 D_802876D4; +extern s32 D_802876D8; +extern s32 D_802876E0; +extern s32 D_80287818; +extern s32 D_80287998; +extern f32 D_80287B18; +extern s16 D_80287B1C; +extern s16 D_80287B1E; +extern s8 D_80287B20; + +#endif