Decompile func0f0336a8
This commit is contained in:
parent
c7f9f9c319
commit
94fe5fc943
|
|
@ -21,6 +21,7 @@
|
|||
build/ROMID/game/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/game_00b320.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/game_00b480.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/game_00c240.o (section); \
|
||||
|
|
|
|||
1420
src/game/chr/chr.c
1420
src/game/chr/chr.c
File diff suppressed because it is too large
Load Diff
|
|
@ -2298,16 +2298,28 @@ void chrRunPosChooseAnimation(struct chrdata *chr)
|
|||
if (race == RACE_HUMAN) {
|
||||
if (heavy) {
|
||||
f32 mult = 0.5;
|
||||
#if PAL
|
||||
chr->act_runpos.unk03c = (1.0f / (func0f02dff0(0x2a) * mult * 0.83333331346512f)) * distance;
|
||||
#else
|
||||
chr->act_runpos.unk03c = (1.0f / (func0f02dff0(0x2a) * mult)) * distance;
|
||||
#endif
|
||||
modelSetAnimation(chr->model, 0x2a, flip, 0, mult, 16);
|
||||
} else {
|
||||
f32 mult = 0.5;
|
||||
#if PAL
|
||||
chr->act_runpos.unk03c = (1.0f / (func0f02dff0(0x59) * mult * 0.83333331346512f)) * distance;
|
||||
#else
|
||||
chr->act_runpos.unk03c = (1.0f / (func0f02dff0(0x59) * mult)) * distance;
|
||||
#endif
|
||||
modelSetAnimation(chr->model, 0x59, flip, 0, mult, 16);
|
||||
}
|
||||
} else if (race == RACE_SKEDAR) {
|
||||
f32 mult = 0.5;
|
||||
#if PAL
|
||||
chr->act_runpos.unk03c = (1.0f / (func0f02dff0(0x394) * mult * 0.83333331346512f)) * distance;
|
||||
#else
|
||||
chr->act_runpos.unk03c = (1.0f / (func0f02dff0(0x394) * mult)) * distance;
|
||||
#endif
|
||||
modelSetAnimation(chr->model, 0x394, flip, 0, mult, 16);
|
||||
}
|
||||
}
|
||||
|
|
@ -6169,44 +6181,29 @@ glabel func0f033654
|
|||
/* f0336a4: 00601025 */ or $v0,$v1,$zero
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0336a8
|
||||
/* f0336a8: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f0336ac: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0336b0: afa5001c */ sw $a1,0x1c($sp)
|
||||
/* f0336b4: afa60020 */ sw $a2,0x20($sp)
|
||||
/* f0336b8: afa70024 */ sw $a3,0x24($sp)
|
||||
/* f0336bc: 80820007 */ lb $v0,0x7($a0)
|
||||
/* f0336c0: 24010020 */ addiu $at,$zero,0x20
|
||||
/* f0336c4: 10410014 */ beq $v0,$at,.L0f033718
|
||||
/* f0336c8: 2401001e */ addiu $at,$zero,0x1e
|
||||
/* f0336cc: 10410012 */ beq $v0,$at,.L0f033718
|
||||
/* f0336d0: 2401001f */ addiu $at,$zero,0x1f
|
||||
/* f0336d4: 50410011 */ beql $v0,$at,.L0f03371c
|
||||
/* f0336d8: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f0336dc: 0fc2c163 */ jal mpstatsGetTotalKnockoutCount
|
||||
/* f0336e0: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f0336e4: 28410002 */ slti $at,$v0,0x2
|
||||
/* f0336e8: 10200005 */ beqz $at,.L0f033700
|
||||
/* f0336ec: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f0336f0: 8c8e0018 */ lw $t6,0x18($a0)
|
||||
/* f0336f4: 3c010400 */ lui $at,0x400
|
||||
/* f0336f8: 01c17825 */ or $t7,$t6,$at
|
||||
/* f0336fc: ac8f0018 */ sw $t7,0x18($a0)
|
||||
.L0f033700:
|
||||
/* f033700: 0fc2c157 */ jal mpstatsIncrementTotalKnockoutCount
|
||||
/* f033704: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f033708: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f03370c: 24180020 */ addiu $t8,$zero,0x20
|
||||
/* f033710: a0980007 */ sb $t8,0x7($a0)
|
||||
/* f033714: a480002c */ sh $zero,0x2c($a0)
|
||||
.L0f033718:
|
||||
/* f033718: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f03371c:
|
||||
/* f03371c: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f033720: 03e00008 */ jr $ra
|
||||
/* f033724: 00000000 */ nop
|
||||
);
|
||||
void func0f0336a8(struct chrdata *chr, u32 arg1, u32 arg2, u32 arg3)
|
||||
{
|
||||
if (chr->actiontype != ACT_DRUGGEDCOMINGUP
|
||||
&& chr->actiontype != ACT_DRUGGEDDROP
|
||||
&& chr->actiontype != ACT_DRUGGEDKO) {
|
||||
if (mpstatsGetTotalKnockoutCount() < 2) {
|
||||
chr->chrflags |= CHRCFLAG_KEEPCORPSEKO;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
if (mainGetStageNum() == STAGE_VILLA) {
|
||||
// I'm guessing this flag is reused and prevents anti from
|
||||
// killing the KO'd chr, which could uncomplete the objective.
|
||||
chr->hidden |= CHRHFLAG_ANTICANNOTPUSH;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
mpstatsIncrementTotalKnockoutCount();
|
||||
|
||||
chr->actiontype = ACT_DRUGGEDCOMINGUP;
|
||||
chr->act_druggedcomingup.unk02c = 0;
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f033728
|
||||
|
|
|
|||
|
|
@ -677,6 +677,278 @@ glabel func0f0061dc
|
|||
// }
|
||||
//}
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel func0f006520
|
||||
/* f006514: 3c05800a */ lui $a1,0x800a
|
||||
/* f006518: 24a5a510 */ addiu $a1,$a1,-23280
|
||||
/* f00651c: 8cae0284 */ lw $t6,0x284($a1)
|
||||
/* f006520: 27bdffa0 */ addiu $sp,$sp,-96
|
||||
/* f006524: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f006528: afb00048 */ sw $s0,0x48($sp)
|
||||
/* f00652c: 8dc700bc */ lw $a3,0xbc($t6)
|
||||
/* f006530: 00808025 */ move $s0,$a0
|
||||
/* f006534: 0fc47e7e */ jal 0xf11f9f8
|
||||
/* f006538: afa70050 */ sw $a3,0x50($sp)
|
||||
/* f00653c: 3c05800a */ lui $a1,0x800a
|
||||
/* f006540: 24a5a510 */ addiu $a1,$a1,-23280
|
||||
/* f006544: 104000e4 */ beqz $v0,.PF0f0068d8
|
||||
/* f006548: 8fa70050 */ lw $a3,0x50($sp)
|
||||
/* f00654c: 8caf006c */ lw $t7,0x6c($a1)
|
||||
/* f006550: 24080001 */ li $t0,0x1
|
||||
/* f006554: 00003025 */ move $a2,$zero
|
||||
/* f006558: 11e00003 */ beqz $t7,.PF0f006568
|
||||
/* f00655c: 00001825 */ move $v1,$zero
|
||||
/* f006560: 10000001 */ b .PF0f006568
|
||||
/* f006564: 24060001 */ li $a2,0x1
|
||||
.PF0f006568:
|
||||
/* f006568: 8cb80068 */ lw $t8,0x68($a1)
|
||||
/* f00656c: 00002025 */ move $a0,$zero
|
||||
/* f006570: 00001025 */ move $v0,$zero
|
||||
/* f006574: 13000003 */ beqz $t8,.PF0f006584
|
||||
/* f006578: 00000000 */ nop
|
||||
/* f00657c: 10000001 */ b .PF0f006584
|
||||
/* f006580: 24030001 */ li $v1,0x1
|
||||
.PF0f006584:
|
||||
/* f006584: 8cb90064 */ lw $t9,0x64($a1)
|
||||
/* f006588: 13200003 */ beqz $t9,.PF0f006598
|
||||
/* f00658c: 00000000 */ nop
|
||||
/* f006590: 10000001 */ b .PF0f006598
|
||||
/* f006594: 24040001 */ li $a0,0x1
|
||||
.PF0f006598:
|
||||
/* f006598: 8ca90070 */ lw $t1,0x70($a1)
|
||||
/* f00659c: 11200003 */ beqz $t1,.PF0f0065ac
|
||||
/* f0065a0: 00000000 */ nop
|
||||
/* f0065a4: 10000001 */ b .PF0f0065ac
|
||||
/* f0065a8: 24020001 */ li $v0,0x1
|
||||
.PF0f0065ac:
|
||||
/* f0065ac: 00445021 */ addu $t2,$v0,$a0
|
||||
/* f0065b0: 01435821 */ addu $t3,$t2,$v1
|
||||
/* f0065b4: 01666021 */ addu $t4,$t3,$a2
|
||||
/* f0065b8: 550c00c8 */ bnel $t0,$t4,.PF0f0068dc
|
||||
/* f0065bc: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f0065c0: 860d019c */ lh $t5,0x19c($s0)
|
||||
/* f0065c4: 05a200c5 */ bltzl $t5,.PF0f0068dc
|
||||
/* f0065c8: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f0065cc: c4a4004c */ lwc1 $f4,0x4c($a1)
|
||||
/* f0065d0: c6060198 */ lwc1 $f6,0x198($s0)
|
||||
/* f0065d4: c60a0194 */ lwc1 $f10,0x194($s0)
|
||||
/* f0065d8: 8e02001c */ lw $v0,0x1c($s0)
|
||||
/* f0065dc: 46062202 */ mul.s $f8,$f4,$f6
|
||||
/* f0065e0: 3c01437a */ lui $at,0x437a
|
||||
/* f0065e4: 46085480 */ add.s $f18,$f10,$f8
|
||||
/* f0065e8: 104000bb */ beqz $v0,.PF0f0068d8
|
||||
/* f0065ec: e6120194 */ swc1 $f18,0x194($s0)
|
||||
/* f0065f0: c4ea000c */ lwc1 $f10,0xc($a3)
|
||||
/* f0065f4: c448000c */ lwc1 $f8,0xc($v0)
|
||||
/* f0065f8: 44809000 */ mtc1 $zero,$f18
|
||||
/* f0065fc: c4e40008 */ lwc1 $f4,0x8($a3)
|
||||
/* f006600: 46085001 */ sub.s $f0,$f10,$f8
|
||||
/* f006604: c4460008 */ lwc1 $f6,0x8($v0)
|
||||
/* f006608: 44815000 */ mtc1 $at,$f10
|
||||
/* f00660c: 4612003c */ c.lt.s $f0,$f18
|
||||
/* f006610: 46062081 */ sub.s $f2,$f4,$f6
|
||||
/* f006614: 45020003 */ bc1fl .PF0f006624
|
||||
/* f006618: 460a003c */ c.lt.s $f0,$f10
|
||||
/* f00661c: 46000007 */ neg.s $f0,$f0
|
||||
/* f006620: 460a003c */ c.lt.s $f0,$f10
|
||||
.PF0f006624:
|
||||
/* f006624: c4e40010 */ lwc1 $f4,0x10($a3)
|
||||
/* f006628: c4460010 */ lwc1 $f6,0x10($v0)
|
||||
/* f00662c: c60e0194 */ lwc1 $f14,0x194($s0)
|
||||
/* f006630: 8605019c */ lh $a1,0x19c($s0)
|
||||
/* f006634: c610018c */ lwc1 $f16,0x18c($s0)
|
||||
/* f006638: a2000190 */ sb $zero,0x190($s0)
|
||||
/* f00663c: e60e018c */ swc1 $f14,0x18c($s0)
|
||||
/* f006640: 46062301 */ sub.s $f12,$f4,$f6
|
||||
/* f006644: 4500008a */ bc1f .PF0f006870
|
||||
/* f006648: afa5005c */ sw $a1,0x5c($sp)
|
||||
/* f00664c: 46021202 */ mul.s $f8,$f2,$f2
|
||||
/* f006650: 3c017f1b */ lui $at,0x7f1b
|
||||
/* f006654: c426906c */ lwc1 $f6,-0x6f94($at)
|
||||
/* f006658: 460c6482 */ mul.s $f18,$f12,$f12
|
||||
/* f00665c: afa5005c */ sw $a1,0x5c($sp)
|
||||
/* f006660: 02002025 */ move $a0,$s0
|
||||
/* f006664: 46124100 */ add.s $f4,$f8,$f18
|
||||
/* f006668: 4606203c */ c.lt.s $f4,$f6
|
||||
/* f00666c: 00000000 */ nop
|
||||
/* f006670: 45020080 */ bc1fl .PF0f006874
|
||||
/* f006674: 8fa5005c */ lw $a1,0x5c($sp)
|
||||
/* f006678: 12000003 */ beqz $s0,.PF0f006688
|
||||
/* f00667c: 00001025 */ move $v0,$zero
|
||||
/* f006680: 10000001 */ b .PF0f006688
|
||||
/* f006684: 920202fe */ lbu $v0,0x2fe($s0)
|
||||
.PF0f006688:
|
||||
/* f006688: 14480033 */ bne $v0,$t0,.PF0f006758
|
||||
/* f00668c: 00057080 */ sll $t6,$a1,0x2
|
||||
/* f006690: 3c0f8006 */ lui $t7,0x8006
|
||||
/* f006694: 01ee7821 */ addu $t7,$t7,$t6
|
||||
/* f006698: 95ef1270 */ lhu $t7,0x1270($t7)
|
||||
/* f00669c: 24010394 */ li $at,0x394
|
||||
/* f0066a0: 15e1002d */ bne $t7,$at,.PF0f006758
|
||||
/* f0066a4: 3c014000 */ lui $at,0x4000
|
||||
/* f0066a8: 44810000 */ mtc1 $at,$f0
|
||||
/* f0066ac: 3c014188 */ lui $at,0x4188
|
||||
/* f0066b0: 460e003e */ c.le.s $f0,$f14
|
||||
/* f0066b4: 00000000 */ nop
|
||||
/* f0066b8: 45020006 */ bc1fl .PF0f0066d4
|
||||
/* f0066bc: 44810000 */ mtc1 $at,$f0
|
||||
/* f0066c0: 4600803c */ c.lt.s $f16,$f0
|
||||
/* f0066c4: 00000000 */ nop
|
||||
/* f0066c8: 4501000b */ bc1t .PF0f0066f8
|
||||
/* f0066cc: 00000000 */ nop
|
||||
/* f0066d0: 44810000 */ mtc1 $at,$f0
|
||||
.PF0f0066d4:
|
||||
/* f0066d4: 3c014120 */ lui $at,0x4120
|
||||
/* f0066d8: 460e003e */ c.le.s $f0,$f14
|
||||
/* f0066dc: 00000000 */ nop
|
||||
/* f0066e0: 45020008 */ bc1fl .PF0f006704
|
||||
/* f0066e4: 44810000 */ mtc1 $at,$f0
|
||||
/* f0066e8: 4600803c */ c.lt.s $f16,$f0
|
||||
/* f0066ec: 00000000 */ nop
|
||||
/* f0066f0: 45020004 */ bc1fl .PF0f006704
|
||||
/* f0066f4: 44810000 */ mtc1 $at,$f0
|
||||
.PF0f0066f8:
|
||||
/* f0066f8: 1000003e */ b .PF0f0067f4
|
||||
/* f0066fc: a2080190 */ sb $t0,0x190($s0)
|
||||
/* f006700: 44810000 */ mtc1 $at,$f0
|
||||
.PF0f006704:
|
||||
/* f006704: 3c0141c8 */ lui $at,0x41c8
|
||||
/* f006708: 460e003e */ c.le.s $f0,$f14
|
||||
/* f00670c: 00000000 */ nop
|
||||
/* f006710: 45020006 */ bc1fl .PF0f00672c
|
||||
/* f006714: 44810000 */ mtc1 $at,$f0
|
||||
/* f006718: 4600803c */ c.lt.s $f16,$f0
|
||||
/* f00671c: 00000000 */ nop
|
||||
/* f006720: 4503000b */ bc1tl .PF0f006750
|
||||
/* f006724: 24180002 */ li $t8,0x2
|
||||
/* f006728: 44810000 */ mtc1 $at,$f0
|
||||
.PF0f00672c:
|
||||
/* f00672c: 00000000 */ nop
|
||||
/* f006730: 460e003e */ c.le.s $f0,$f14
|
||||
/* f006734: 00000000 */ nop
|
||||
/* f006738: 4500002e */ bc1f .PF0f0067f4
|
||||
/* f00673c: 00000000 */ nop
|
||||
/* f006740: 4600803c */ c.lt.s $f16,$f0
|
||||
/* f006744: 00000000 */ nop
|
||||
/* f006748: 4500002a */ bc1f .PF0f0067f4
|
||||
/* f00674c: 24180002 */ li $t8,0x2
|
||||
.PF0f006750:
|
||||
/* f006750: 10000028 */ b .PF0f0067f4
|
||||
/* f006754: a2180190 */ sb $t8,0x190($s0)
|
||||
.PF0f006758:
|
||||
/* f006758: 3c098006 */ lui $t1,0x8006
|
||||
/* f00675c: 25291270 */ addiu $t1,$t1,0x1270
|
||||
/* f006760: 0005c880 */ sll $t9,$a1,0x2
|
||||
/* f006764: 03291021 */ addu $v0,$t9,$t1
|
||||
/* f006768: 904a0002 */ lbu $t2,0x2($v0)
|
||||
/* f00676c: 3c014f80 */ lui $at,0x4f80
|
||||
/* f006770: 448a5000 */ mtc1 $t2,$f10
|
||||
/* f006774: 05410004 */ bgez $t2,.PF0f006788
|
||||
/* f006778: 46805020 */ cvt.s.w $f0,$f10
|
||||
/* f00677c: 44814000 */ mtc1 $at,$f8
|
||||
/* f006780: 00000000 */ nop
|
||||
/* f006784: 46080000 */ add.s $f0,$f0,$f8
|
||||
.PF0f006788:
|
||||
/* f006788: 460e003e */ c.le.s $f0,$f14
|
||||
/* f00678c: 00000000 */ nop
|
||||
/* f006790: 45020008 */ bc1fl .PF0f0067b4
|
||||
/* f006794: 904b0003 */ lbu $t3,0x3($v0)
|
||||
/* f006798: 4600803c */ c.lt.s $f16,$f0
|
||||
/* f00679c: 00000000 */ nop
|
||||
/* f0067a0: 45020004 */ bc1fl .PF0f0067b4
|
||||
/* f0067a4: 904b0003 */ lbu $t3,0x3($v0)
|
||||
/* f0067a8: 10000012 */ b .PF0f0067f4
|
||||
/* f0067ac: a2080190 */ sb $t0,0x190($s0)
|
||||
/* f0067b0: 904b0003 */ lbu $t3,0x3($v0)
|
||||
.PF0f0067b4:
|
||||
/* f0067b4: 3c014f80 */ lui $at,0x4f80
|
||||
/* f0067b8: 448b9000 */ mtc1 $t3,$f18
|
||||
/* f0067bc: 05610004 */ bgez $t3,.PF0f0067d0
|
||||
/* f0067c0: 46809020 */ cvt.s.w $f0,$f18
|
||||
/* f0067c4: 44812000 */ mtc1 $at,$f4
|
||||
/* f0067c8: 00000000 */ nop
|
||||
/* f0067cc: 46040000 */ add.s $f0,$f0,$f4
|
||||
.PF0f0067d0:
|
||||
/* f0067d0: 460e003e */ c.le.s $f0,$f14
|
||||
/* f0067d4: 00000000 */ nop
|
||||
/* f0067d8: 45000006 */ bc1f .PF0f0067f4
|
||||
/* f0067dc: 00000000 */ nop
|
||||
/* f0067e0: 4600803c */ c.lt.s $f16,$f0
|
||||
/* f0067e4: 240c0002 */ li $t4,0x2
|
||||
/* f0067e8: 45000002 */ bc1f .PF0f0067f4
|
||||
/* f0067ec: 00000000 */ nop
|
||||
/* f0067f0: a20c0190 */ sb $t4,0x190($s0)
|
||||
.PF0f0067f4:
|
||||
/* f0067f4: 0fc0181d */ jal 0xf006074
|
||||
/* f0067f8: afa5005c */ sw $a1,0x5c($sp)
|
||||
/* f0067fc: 2401ffff */ li $at,-1
|
||||
/* f006800: 5041001c */ beql $v0,$at,.PF0f006874
|
||||
/* f006804: 8fa5005c */ lw $a1,0x5c($sp)
|
||||
/* f006808: 820d0190 */ lb $t5,0x190($s0)
|
||||
/* f00680c: 3c01bf80 */ lui $at,0xbf80
|
||||
/* f006810: 00002025 */ move $a0,$zero
|
||||
/* f006814: 11a00016 */ beqz $t5,.PF0f006870
|
||||
/* f006818: 00023400 */ sll $a2,$v0,0x10
|
||||
/* f00681c: 8e05001c */ lw $a1,0x1c($s0)
|
||||
/* f006820: 44810000 */ mtc1 $at,$f0
|
||||
/* f006824: 00067403 */ sra $t6,$a2,0x10
|
||||
/* f006828: 240fffff */ li $t7,-1
|
||||
/* f00682c: 24180400 */ li $t8,0x400
|
||||
/* f006830: 24190010 */ li $t9,0x10
|
||||
/* f006834: 2409ffff */ li $t1,-1
|
||||
/* f006838: afa9002c */ sw $t1,0x2c($sp)
|
||||
/* f00683c: afb9001c */ sw $t9,0x1c($sp)
|
||||
/* f006840: afb80014 */ sw $t8,0x14($sp)
|
||||
/* f006844: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f006848: 01c03025 */ move $a2,$t6
|
||||
/* f00684c: afa00028 */ sw $zero,0x28($sp)
|
||||
/* f006850: afa00020 */ sw $zero,0x20($sp)
|
||||
/* f006854: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f006858: 2407ffff */ li $a3,-1
|
||||
/* f00685c: e7a00024 */ swc1 $f0,0x24($sp)
|
||||
/* f006860: e7a00030 */ swc1 $f0,0x30($sp)
|
||||
/* f006864: e7a00034 */ swc1 $f0,0x34($sp)
|
||||
/* f006868: 0fc24e3a */ jal 0xf0938e8
|
||||
/* f00686c: e7a00038 */ swc1 $f0,0x38($sp)
|
||||
.PF0f006870:
|
||||
/* f006870: 8fa5005c */ lw $a1,0x5c($sp)
|
||||
.PF0f006874:
|
||||
/* f006874: 3c048006 */ lui $a0,0x8006
|
||||
/* f006878: 00055080 */ sll $t2,$a1,0x2
|
||||
/* f00687c: 008a2021 */ addu $a0,$a0,$t2
|
||||
/* f006880: 0fc017f4 */ jal 0xf005fd0
|
||||
/* f006884: 94841270 */ lhu $a0,0x1270($a0)
|
||||
/* f006888: 1040000b */ beqz $v0,.PF0f0068b8
|
||||
/* f00688c: 3c014208 */ lui $at,0x4208
|
||||
/* f006890: 3c0141b0 */ lui $at,0x41b0
|
||||
/* f006894: 44811000 */ mtc1 $at,$f2
|
||||
/* f006898: c6000194 */ lwc1 $f0,0x194($s0)
|
||||
/* f00689c: 4600103c */ c.lt.s $f2,$f0
|
||||
/* f0068a0: 00000000 */ nop
|
||||
/* f0068a4: 4502000d */ bc1fl .PF0f0068dc
|
||||
/* f0068a8: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f0068ac: 46020181 */ sub.s $f6,$f0,$f2
|
||||
/* f0068b0: 10000009 */ b .PF0f0068d8
|
||||
/* f0068b4: e6060194 */ swc1 $f6,0x194($s0)
|
||||
.PF0f0068b8:
|
||||
/* f0068b8: 44811000 */ mtc1 $at,$f2
|
||||
/* f0068bc: c6000194 */ lwc1 $f0,0x194($s0)
|
||||
/* f0068c0: 4600103c */ c.lt.s $f2,$f0
|
||||
/* f0068c4: 00000000 */ nop
|
||||
/* f0068c8: 45020004 */ bc1fl .PF0f0068dc
|
||||
/* f0068cc: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f0068d0: 46020281 */ sub.s $f10,$f0,$f2
|
||||
/* f0068d4: e60a0194 */ swc1 $f10,0x194($s0)
|
||||
.PF0f0068d8:
|
||||
/* f0068d8: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
.PF0f0068dc:
|
||||
/* f0068dc: 8fb00048 */ lw $s0,0x48($sp)
|
||||
/* f0068e0: 27bd0060 */ addiu $sp,$sp,0x60
|
||||
/* f0068e4: 03e00008 */ jr $ra
|
||||
/* f0068e8: 00000000 */ nop
|
||||
);
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
glabel func0f006520
|
||||
.late_rodata
|
||||
|
|
@ -953,6 +1225,7 @@ glabel var7f1a7e6c
|
|||
/* f0068f8: 03e00008 */ jr $ra
|
||||
/* f0068fc: 00000000 */ nop
|
||||
);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Blends two colours together.
|
||||
|
|
|
|||
|
|
@ -7,6 +7,66 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel stageLoadCommonLang
|
||||
/* f00b330: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* f00b334: 3c02800b */ lui $v0,0x800b
|
||||
/* f00b338: 3c03800b */ lui $v1,0x800b
|
||||
/* f00b33c: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f00b340: 2463b154 */ addiu $v1,$v1,-20140
|
||||
/* f00b344: 2442b040 */ addiu $v0,$v0,-20416
|
||||
.PF0f00b348:
|
||||
/* f00b348: 24420004 */ addiu $v0,$v0,0x4
|
||||
/* f00b34c: 1443fffe */ bne $v0,$v1,.PF0f00b348
|
||||
/* f00b350: ac40fffc */ sw $zero,-0x4($v0)
|
||||
/* f00b354: 3c02800b */ lui $v0,0x800b
|
||||
/* f00b358: 2442b040 */ addiu $v0,$v0,-20416
|
||||
/* f00b35c: 24030001 */ li $v1,0x1
|
||||
/* f00b360: 2401005c */ li $at,0x5c
|
||||
/* f00b364: ac430098 */ sw $v1,0x98($v0)
|
||||
/* f00b368: ac4300a0 */ sw $v1,0xa0($v0)
|
||||
/* f00b36c: ac4300a4 */ sw $v1,0xa4($v0)
|
||||
/* f00b370: ac4300a8 */ sw $v1,0xa8($v0)
|
||||
/* f00b374: ac4300ac */ sw $v1,0xac($v0)
|
||||
/* f00b378: 14810002 */ bne $a0,$at,.PF0f00b384
|
||||
/* f00b37c: ac4300b0 */ sw $v1,0xb0($v0)
|
||||
/* f00b380: ac43009c */ sw $v1,0x9c($v0)
|
||||
.PF0f00b384:
|
||||
/* f00b384: 24010026 */ li $at,0x26
|
||||
/* f00b388: 14810004 */ bne $a0,$at,.PF0f00b39c
|
||||
/* f00b38c: 24050004 */ li $a1,0x4
|
||||
/* f00b390: 3c030001 */ lui $v1,0x1
|
||||
/* f00b394: 10000009 */ b .PF0f00b3bc
|
||||
/* f00b398: 3463a5e0 */ ori $v1,$v1,0xa5e0
|
||||
.PF0f00b39c:
|
||||
/* f00b39c: 3c0e8009 */ lui $t6,0x8009
|
||||
/* f00b3a0: 91ce1040 */ lbu $t6,0x1040($t6)
|
||||
/* f00b3a4: 24010001 */ li $at,0x1
|
||||
/* f00b3a8: 3403dac0 */ li $v1,0xdac0
|
||||
/* f00b3ac: 51c10004 */ beql $t6,$at,.PF0f00b3c0
|
||||
/* f00b3b0: 2464000f */ addiu $a0,$v1,0xf
|
||||
/* f00b3b4: 3c030001 */ lui $v1,0x1
|
||||
/* f00b3b8: 346309a0 */ ori $v1,$v1,0x9a0
|
||||
.PF0f00b3bc:
|
||||
/* f00b3bc: 2464000f */ addiu $a0,$v1,0xf
|
||||
.PF0f00b3c0:
|
||||
/* f00b3c0: 348f000f */ ori $t7,$a0,0xf
|
||||
/* f00b3c4: 39e4000f */ xori $a0,$t7,0xf
|
||||
/* f00b3c8: 0c004856 */ jal 0x12158
|
||||
/* f00b3cc: afa30018 */ sw $v1,0x18($sp)
|
||||
/* f00b3d0: 3c018008 */ lui $at,0x8008
|
||||
/* f00b3d4: 8fa30018 */ lw $v1,0x18($sp)
|
||||
/* f00b3d8: ac224664 */ sw $v0,0x4664($at)
|
||||
/* f00b3dc: 3c018008 */ lui $at,0x8008
|
||||
/* f00b3e0: 0fc5bdbb */ jal 0xf16f6ec
|
||||
/* f00b3e4: ac23466c */ sw $v1,0x466c($at)
|
||||
/* f00b3e8: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f00b3ec: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* f00b3f0: 03e00008 */ jr $ra
|
||||
/* f00b3f4: 00000000 */ nop
|
||||
);
|
||||
#else
|
||||
void stageLoadCommonLang(s32 stagenum)
|
||||
{
|
||||
s32 i;
|
||||
|
|
@ -26,11 +86,4 @@ void stageLoadCommonLang(s32 stagenum)
|
|||
g_LangBanks[LANGBANK_TITLE] = func0f1670fc(langGetFileId(LANGBANK_TITLE), 0x22);
|
||||
}
|
||||
}
|
||||
|
||||
void func0f00b420(void)
|
||||
{
|
||||
var80062410 = 0;
|
||||
var8009cc80 = malloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
var8009cc84 = malloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
var8009cc88 = malloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/file.h"
|
||||
#include "game/lang.h"
|
||||
#include "gvars/gvars.h"
|
||||
#include "lib/memory.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f00b420(void)
|
||||
{
|
||||
var80062410 = 0;
|
||||
var8009cc80 = malloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
var8009cc84 = malloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
var8009cc88 = malloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -82,7 +82,7 @@ void currentPlayerInitAnimation(void)
|
|||
func00022fa4(&g_Vars.currentplayer->model, &var8007c0c0, &g_Vars.currentplayer->unk0494, 0);
|
||||
animInitialise(g_Vars.currentplayer->model.anim);
|
||||
modelSetUnk14(&g_Vars.currentplayer->model, 0.1000000089407f);
|
||||
modelSetAnimPlaySpeed(&g_Vars.currentplayer->model, 1, 0);
|
||||
modelSetAnimPlaySpeed(&g_Vars.currentplayer->model, (PAL ? 1.2f : 1), 0);
|
||||
|
||||
g_Vars.currentplayer->headanim = 0;
|
||||
g_Vars.currentplayer->headdamp = 0.93f;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -5,6 +5,59 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel func0f01d860
|
||||
/* f01d930: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f01d934: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f01d938: 3c047f1b */ lui $a0,0x7f1b
|
||||
/* f01d93c: 3c058006 */ lui $a1,0x8006
|
||||
/* f01d940: 24a52630 */ addiu $a1,$a1,0x2630
|
||||
/* f01d944: 0c003624 */ jal 0xd890
|
||||
/* f01d948: 24849880 */ addiu $a0,$a0,-26496
|
||||
/* f01d94c: 3c048006 */ lui $a0,0x8006
|
||||
/* f01d950: 8c842630 */ lw $a0,0x2630($a0)
|
||||
/* f01d954: 2c810005 */ sltiu $at,$a0,0x5
|
||||
/* f01d958: 10200006 */ beqz $at,.PF0f01d974
|
||||
/* f01d95c: 00000000 */ nop
|
||||
/* f01d960: 0fc5bdd7 */ jal 0xf16f75c
|
||||
/* f01d964: 00000000 */ nop
|
||||
/* f01d968: 240e0063 */ li $t6,0x63
|
||||
/* f01d96c: 3c018006 */ lui $at,0x8006
|
||||
/* f01d970: ac2e2630 */ sw $t6,0x2630($at)
|
||||
.PF0f01d974:
|
||||
/* f01d974: 3c0f8008 */ lui $t7,0x8008
|
||||
/* f01d978: 8def4660 */ lw $t7,0x4660($t7)
|
||||
/* f01d97c: 00001025 */ move $v0,$zero
|
||||
/* f01d980: 240600f8 */ li $a2,0xf8
|
||||
/* f01d984: 11e00011 */ beqz $t7,.PF0f01d9cc
|
||||
/* f01d988: 3c05800b */ lui $a1,0x800b
|
||||
/* f01d98c: 24a5b158 */ addiu $a1,$a1,-20136
|
||||
/* f01d990: 8cb80000 */ lw $t8,0x0($a1)
|
||||
.PF0f01d994:
|
||||
/* f01d994: 03021821 */ addu $v1,$t8,$v0
|
||||
/* f01d998: 94640000 */ lhu $a0,0x0($v1)
|
||||
/* f01d99c: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01d9a0: 0004cb82 */ srl $t9,$a0,0xe
|
||||
/* f01d9a4: 13200007 */ beqz $t9,.PF0f01d9c4
|
||||
/* f01d9a8: 00000000 */ nop
|
||||
/* f01d9ac: 906b0000 */ lbu $t3,0x0($v1)
|
||||
/* f01d9b0: 2728ffff */ addiu $t0,$t9,-1
|
||||
/* f01d9b4: 00085180 */ sll $t2,$t0,0x6
|
||||
/* f01d9b8: 316cff3f */ andi $t4,$t3,0xff3f
|
||||
/* f01d9bc: 014c6825 */ or $t5,$t2,$t4
|
||||
/* f01d9c0: a06d0000 */ sb $t5,0x0($v1)
|
||||
.PF0f01d9c4:
|
||||
/* f01d9c4: 5446fff3 */ bnel $v0,$a2,.PF0f01d994
|
||||
/* f01d9c8: 8cb80000 */ lw $t8,0x0($a1)
|
||||
.PF0f01d9cc:
|
||||
/* f01d9cc: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f01d9d0: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f01d9d4: 03e00008 */ jr $ra
|
||||
/* f01d9d8: 00000000 */ nop
|
||||
/* f01d9dc: 00000000 */ nop
|
||||
);
|
||||
#else
|
||||
void func0f01d860(void)
|
||||
{
|
||||
s32 i;
|
||||
|
|
@ -17,6 +70,7 @@ void func0f01d860(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void func0f01d8c0(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2757,9 +2757,12 @@ glabel var7f1a7f18
|
|||
/* f0094b0: 00000000 */ nop
|
||||
);
|
||||
|
||||
void nbombResetAge(struct nbomb *nbomb)
|
||||
void nbombReset(struct nbomb *nbomb)
|
||||
{
|
||||
nbomb->age240 = 0;
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
nbomb->radius = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -3250,7 +3253,12 @@ void nbombTick(struct nbomb *nbomb)
|
|||
age60 = 40;
|
||||
}
|
||||
|
||||
#if PAL
|
||||
nbomb->unk14 += increment * age60 * 60 / 50;
|
||||
#else
|
||||
nbomb->unk14 += increment * age60;
|
||||
#endif
|
||||
|
||||
nbomb->unk14 %= 0x800;
|
||||
|
||||
if (nbomb->age240 > 370) {
|
||||
|
|
@ -3372,7 +3380,7 @@ void nbombCreate(struct coord *pos, struct prop *prop)
|
|||
}
|
||||
}
|
||||
|
||||
nbombResetAge(&g_Nbombs[index]);
|
||||
nbombReset(&g_Nbombs[index]);
|
||||
|
||||
g_Nbombs[index].pos.x = pos->x;
|
||||
g_Nbombs[index].pos.y = pos->y;
|
||||
|
|
|
|||
1751
src/game/title.c
1751
src/game/title.c
File diff suppressed because it is too large
Load Diff
|
|
@ -54,7 +54,7 @@ u32 func0f032ac4(void);
|
|||
void func0f032fe4(struct chrdata *chr, struct coord *pos, f32 arg2, f32 arg3, u32 *arg4, u32 arg5);
|
||||
void func0f03323c(struct chrdata *chr, struct coord *pos, f32 arg2);
|
||||
u32 func0f033654(void);
|
||||
u32 func0f0336a8(void);
|
||||
void func0f0336a8(struct chrdata *chr, u32 arg1, u32 arg2, u32 arg3);
|
||||
u32 func0f033728(void);
|
||||
u32 func0f0338e0(void);
|
||||
void chrSetShield(struct chrdata *chr, f32 shield);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
f32 func0f006bd0(f32 arg0);
|
||||
u32 func0f006c80(void);
|
||||
Gfx *func0f008558(Gfx *gdl, s32 arg1);
|
||||
void nbombResetAge(struct nbomb *nbomb);
|
||||
void nbombReset(struct nbomb *nbomb);
|
||||
s32 nbombCalculateAlpha(struct nbomb *nbomb);
|
||||
Gfx *nbombCreateGdl(void);
|
||||
Gfx *nbombRender(Gfx *gdl, struct nbomb *nbomb, Gfx *subgdl);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
u32 func0f006c80(void);
|
||||
Gfx *func0f008558(Gfx *gdl, s32 arg1);
|
||||
void nbombResetAge(struct nbomb *nbomb);
|
||||
void nbombReset(struct nbomb *nbomb);
|
||||
s32 nbombCalculateAlpha(struct nbomb *nbomb);
|
||||
Gfx *nbombCreateGdl(void);
|
||||
Gfx *nbombRender(Gfx *gdl, struct nbomb *nbomb, Gfx *subgdl);
|
||||
|
|
|
|||
Loading…
Reference in New Issue