Decompile currentPlayerGiveUnlimitedAmmo
This commit is contained in:
parent
501a5c2bd0
commit
88fbb080f1
|
|
@ -198,105 +198,43 @@ u32 var80070358 = 0x00270028;
|
|||
u32 var8007035c = 0x0029002a;
|
||||
u32 var80070360 = 0x00000000;
|
||||
u32 var80070364 = 0x00000000;
|
||||
u32 var80070368 = 0x00000000;
|
||||
u32 var8007036c = 0x00000000;
|
||||
u32 var80070370 = 0x00000000;
|
||||
u32 var80070374 = 0x00000320;
|
||||
u32 var80070378 = 0x00000000;
|
||||
u32 var8007037c = 0x00000000;
|
||||
u32 var80070380 = 0x00000320;
|
||||
u32 var80070384 = 0x00000000;
|
||||
u32 var80070388 = 0x00000000;
|
||||
u32 var8007038c = 0x00000045;
|
||||
u32 var80070390 = 0x00000000;
|
||||
u32 var80070394 = 0x00000000;
|
||||
u32 var80070398 = 0x00000190;
|
||||
u32 var8007039c = 0x00000000;
|
||||
u32 var800703a0 = 0xc0000000;
|
||||
u32 var800703a4 = 0x00000064;
|
||||
u32 var800703a8 = 0x00000000;
|
||||
u32 var800703ac = 0x00000000;
|
||||
u32 var800703b0 = 0x00000064;
|
||||
u32 var800703b4 = 0x00000000;
|
||||
u32 var800703b8 = 0x00000000;
|
||||
u32 var800703bc = 0x0000000c;
|
||||
u32 var800703c0 = 0x00000000;
|
||||
u32 var800703c4 = 0x00000000;
|
||||
u32 var800703c8 = 0x00000003;
|
||||
u32 var800703cc = 0x00000000;
|
||||
u32 var800703d0 = 0xc0000000;
|
||||
u32 var800703d4 = 0x0000000a;
|
||||
u32 var800703d8 = 0x00000000;
|
||||
u32 var800703dc = 0x00000000;
|
||||
u32 var800703e0 = 0x000000c8;
|
||||
u32 var800703e4 = 0x00000000;
|
||||
u32 var800703e8 = 0x00000000;
|
||||
u32 var800703ec = 0x00000028;
|
||||
u32 var800703f0 = 0x00000000;
|
||||
u32 var800703f4 = 0x00000000;
|
||||
u32 var800703f8 = 0x0000000a;
|
||||
u32 var800703fc = 0x00000000;
|
||||
u32 var80070400 = 0x3f800000;
|
||||
u32 var80070404 = 0x0000000a;
|
||||
u32 var80070408 = 0x00000000;
|
||||
u32 var8007040c = 0x3f800000;
|
||||
u32 var80070410 = 0x0000000a;
|
||||
u32 var80070414 = 0x00000000;
|
||||
u32 var80070418 = 0x3f800000;
|
||||
u32 var8007041c = 0x00000320;
|
||||
u32 var80070420 = 0x00000000;
|
||||
u32 var80070424 = 0x00000000;
|
||||
u32 var80070428 = 0x0000000f;
|
||||
u32 var8007042c = 0x00000000;
|
||||
u32 var80070430 = 0xc0000000;
|
||||
u32 var80070434 = 0x00000032;
|
||||
u32 var80070438 = 0x00000000;
|
||||
u32 var8007043c = 0x00000000;
|
||||
u32 var80070440 = 0x0000000a;
|
||||
u32 var80070444 = 0x00000000;
|
||||
u32 var80070448 = 0x00000000;
|
||||
u32 var8007044c = 0x000000c8;
|
||||
u32 var80070450 = 0x00000000;
|
||||
u32 var80070454 = 0x00000000;
|
||||
u32 var80070458 = 0x00004650;
|
||||
u32 var8007045c = 0x00000000;
|
||||
u32 var80070460 = 0x00000000;
|
||||
u32 var80070464 = 0x00000004;
|
||||
u32 var80070468 = 0x00000000;
|
||||
u32 var8007046c = 0x00000000;
|
||||
u32 var80070470 = 0x000000c8;
|
||||
u32 var80070474 = 0x00000000;
|
||||
u32 var80070478 = 0x00000000;
|
||||
u32 var8007047c = 0x00000002;
|
||||
u32 var80070480 = 0x00000000;
|
||||
u32 var80070484 = 0x00000000;
|
||||
u32 var80070488 = 0x0000000a;
|
||||
u32 var8007048c = 0x00000000;
|
||||
u32 var80070490 = 0x00000000;
|
||||
u32 var80070494 = 0x0000000a;
|
||||
u32 var80070498 = 0x00000000;
|
||||
u32 var8007049c = 0x00000000;
|
||||
u32 var800704a0 = 0x0000000a;
|
||||
u32 var800704a4 = 0x00000000;
|
||||
u32 var800704a8 = 0x00000000;
|
||||
u32 var800704ac = 0x000003e8;
|
||||
u32 var800704b0 = 0x00000000;
|
||||
u32 var800704b4 = 0x00000000;
|
||||
u32 var800704b8 = 0x0000000a;
|
||||
u32 var800704bc = 0x00000000;
|
||||
u32 var800704c0 = 0x00000000;
|
||||
u32 var800704c4 = 0x00000032;
|
||||
u32 var800704c8 = 0x00000000;
|
||||
u32 var800704cc = 0xbf800000;
|
||||
u32 var800704d0 = 0x00000001;
|
||||
u32 var800704d4 = 0x00000000;
|
||||
u32 var800704d8 = 0x00000000;
|
||||
u32 var800704dc = 0x000000c8;
|
||||
u32 var800704e0 = 0x00000000;
|
||||
u32 var800704e4 = 0x00000000;
|
||||
u32 var800704e8 = 0x0000000a;
|
||||
u32 var800704ec = 0x00000000;
|
||||
u32 var800704f0 = 0x00000000;
|
||||
|
||||
struct ammotype g_AmmoTypes[] = {
|
||||
{ 0, 0, 0 },
|
||||
{ 800, 0, 0 },
|
||||
{ 800, 0, 0 },
|
||||
{ 69, 0, 0 },
|
||||
{ 400, 0, -2 },
|
||||
{ 100, 0, 0 },
|
||||
{ 100, 0, 0 },
|
||||
{ 12, 0, 0 },
|
||||
{ 3, 0, -2 },
|
||||
{ 10, 0, 0 },
|
||||
{ 200, 0, 0 },
|
||||
{ 40, 0, 0 },
|
||||
{ 10, 0, 1 },
|
||||
{ 10, 0, 1 },
|
||||
{ 10, 0, 1 },
|
||||
{ 800, 0, 0 },
|
||||
{ 15, 0, -2 },
|
||||
{ 50, 0, 0 },
|
||||
{ 10, 0, 0 },
|
||||
{ 200, 0, 0 },
|
||||
{ 18000, 0, 0 },
|
||||
{ 4, 0, 0 },
|
||||
{ 200, 0, 0 },
|
||||
{ 2, 0, 0 },
|
||||
{ 10, 0, 0 },
|
||||
{ 10, 0, 0 },
|
||||
{ 10, 0, 0 },
|
||||
{ 1000, 0, 0 },
|
||||
{ 10, 0, 0 },
|
||||
{ 50, 0, -1 },
|
||||
{ 1, 0, 0 },
|
||||
{ 200, 0, 0 },
|
||||
{ 10, 0, 0 },
|
||||
};
|
||||
|
||||
u32 var800704f4 = 0x00000000;
|
||||
u32 var800704f8 = 0x00000000;
|
||||
u32 var800704fc = 0x00000000;
|
||||
|
|
|
|||
|
|
@ -21128,7 +21128,7 @@ glabel var7f1acbac
|
|||
/* f0a91e8: 24010002 */ addiu $at,$zero,0x2
|
||||
/* f0a91ec: 14c1ffe9 */ bne $a2,$at,.L0f0a9194
|
||||
/* f0a91f0: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0a91f4: 0fc2a660 */ jal func0f0a9980
|
||||
/* f0a91f4: 0fc2a660 */ jal currentPlayerGiveUnlimitedAmmo
|
||||
/* f0a91f8: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0a91fc: 10000007 */ beqz $zero,.L0f0a921c
|
||||
/* f0a9200: 00000000 */ sll $zero,$zero,0x0
|
||||
|
|
@ -21137,7 +21137,7 @@ glabel var7f1acbac
|
|||
/* f0a9208: 24040004 */ addiu $a0,$zero,0x4
|
||||
/* f0a920c: 10400003 */ beqz $v0,.L0f0a921c
|
||||
/* f0a9210: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0a9214: 0fc2a660 */ jal func0f0a9980
|
||||
/* f0a9214: 0fc2a660 */ jal currentPlayerGiveUnlimitedAmmo
|
||||
/* f0a9218: 00002025 */ or $a0,$zero,$zero
|
||||
.L0f0a921c:
|
||||
/* f0a921c: 0fc273e2 */ jal func0f09cf88
|
||||
|
|
@ -21520,9 +21520,9 @@ glabel currentPlayerGiveAmmo
|
|||
/* f0a9714: 00127080 */ sll $t6,$s2,0x2
|
||||
/* f0a9718: 01d27023 */ subu $t6,$t6,$s2
|
||||
/* f0a971c: 000e7080 */ sll $t6,$t6,0x2
|
||||
/* f0a9720: 3c0f8007 */ lui $t7,%hi(var80070368)
|
||||
/* f0a9720: 3c0f8007 */ lui $t7,%hi(g_AmmoTypes)
|
||||
/* f0a9724: 01ee7821 */ addu $t7,$t7,$t6
|
||||
/* f0a9728: 8def0368 */ lw $t7,%lo(var80070368)($t7)
|
||||
/* f0a9728: 8def0368 */ lw $t7,%lo(g_AmmoTypes)($t7)
|
||||
/* f0a972c: 8fa4003c */ lw $a0,0x3c($sp)
|
||||
/* f0a9730: 00124080 */ sll $t0,$s2,0x2
|
||||
/* f0a9734: 01e31023 */ subu $v0,$t7,$v1
|
||||
|
|
@ -21663,10 +21663,10 @@ glabel ammotypeGetMaxCapacity
|
|||
/* f0a98f4: 00047080 */ sll $t6,$a0,0x2
|
||||
/* f0a98f8: 01c47023 */ subu $t6,$t6,$a0
|
||||
/* f0a98fc: 000e7080 */ sll $t6,$t6,0x2
|
||||
/* f0a9900: 3c028007 */ lui $v0,%hi(var80070368)
|
||||
/* f0a9900: 3c028007 */ lui $v0,%hi(g_AmmoTypes)
|
||||
/* f0a9904: 004e1021 */ addu $v0,$v0,$t6
|
||||
/* f0a9908: 03e00008 */ jr $ra
|
||||
/* f0a990c: 8c420368 */ lw $v0,%lo(var80070368)($v0)
|
||||
/* f0a990c: 8c420368 */ lw $v0,%lo(g_AmmoTypes)($v0)
|
||||
);
|
||||
|
||||
bool ammotypeAllowsUnlimitedAmmo(u32 ammotype)
|
||||
|
|
@ -21699,49 +21699,22 @@ bool ammotypeAllowsUnlimitedAmmo(u32 ammotype)
|
|||
return true;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0a9980
|
||||
/* f0a9980: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* f0a9984: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f0a9988: afb40028 */ sw $s4,0x28($sp)
|
||||
/* f0a998c: afb30024 */ sw $s3,0x24($sp)
|
||||
/* f0a9990: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f0a9994: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f0a9998: 3c128007 */ lui $s2,%hi(var80070368)
|
||||
/* f0a999c: 00808825 */ or $s1,$a0,$zero
|
||||
/* f0a99a0: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* f0a99a4: 26520368 */ addiu $s2,$s2,%lo(var80070368)
|
||||
/* f0a99a8: 00008025 */ or $s0,$zero,$zero
|
||||
/* f0a99ac: 2413000c */ addiu $s3,$zero,0xc
|
||||
/* f0a99b0: 24140021 */ addiu $s4,$zero,0x21
|
||||
.L0f0a99b4:
|
||||
/* f0a99b4: 16200004 */ bnez $s1,.L0f0a99c8
|
||||
/* f0a99b8: 24030001 */ addiu $v1,$zero,0x1
|
||||
/* f0a99bc: 0fc2a644 */ jal ammotypeAllowsUnlimitedAmmo
|
||||
/* f0a99c0: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0a99c4: 00401825 */ or $v1,$v0,$zero
|
||||
.L0f0a99c8:
|
||||
/* f0a99c8: 50600008 */ beqzl $v1,.L0f0a99ec
|
||||
/* f0a99cc: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f0a99d0: 02130019 */ multu $s0,$s3
|
||||
/* f0a99d4: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0a99d8: 00007012 */ mflo $t6
|
||||
/* f0a99dc: 024e7821 */ addu $t7,$s2,$t6
|
||||
/* f0a99e0: 0fc2a58a */ jal currentPlayerGiveAmmo
|
||||
/* f0a99e4: 8de50000 */ lw $a1,0x0($t7)
|
||||
/* f0a99e8: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0f0a99ec:
|
||||
/* f0a99ec: 1614fff1 */ bne $s0,$s4,.L0f0a99b4
|
||||
/* f0a99f0: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0a99f4: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* f0a99f8: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f0a99fc: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* f0a9a00: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* f0a9a04: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* f0a9a08: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* f0a9a0c: 03e00008 */ jr $ra
|
||||
/* f0a9a10: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
void currentPlayerGiveUnlimitedAmmo(bool force)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_AmmoTypes); i++) {
|
||||
bool give = true;
|
||||
|
||||
if (!force) {
|
||||
give = ammotypeAllowsUnlimitedAmmo(i);
|
||||
}
|
||||
|
||||
if (give) {
|
||||
currentPlayerGiveAmmo(i, g_AmmoTypes[i].capacity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u32 weaponGetAmmoType(u32 weaponnum, u32 func)
|
||||
{
|
||||
|
|
@ -21801,13 +21774,13 @@ glabel func0f0a9b10
|
|||
/* f0a9b38: 10600009 */ beqz $v1,.L0f0a9b60
|
||||
/* f0a9b3c: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0a9b40: 8c790000 */ lw $t9,0x0($v1)
|
||||
/* f0a9b44: 3c028007 */ lui $v0,%hi(var80070368)
|
||||
/* f0a9b44: 3c028007 */ lui $v0,%hi(g_AmmoTypes)
|
||||
/* f0a9b48: 00194080 */ sll $t0,$t9,0x2
|
||||
/* f0a9b4c: 01194023 */ subu $t0,$t0,$t9
|
||||
/* f0a9b50: 00084080 */ sll $t0,$t0,0x2
|
||||
/* f0a9b54: 00481021 */ addu $v0,$v0,$t0
|
||||
/* f0a9b58: 10000001 */ beqz $zero,.L0f0a9b60
|
||||
/* f0a9b5c: 8c420368 */ lw $v0,%lo(var80070368)($v0)
|
||||
/* f0a9b5c: 8c420368 */ lw $v0,%lo(g_AmmoTypes)($v0)
|
||||
.L0f0a9b60:
|
||||
/* f0a9b60: 03e00008 */ jr $ra
|
||||
/* f0a9b64: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
|
|
@ -23765,13 +23738,13 @@ glabel func0f0aa86c
|
|||
.L0f0ab788:
|
||||
/* f0ab788: 8fb900a4 */ lw $t9,0xa4($sp)
|
||||
.L0f0ab78c:
|
||||
/* f0ab78c: 3c0b8007 */ lui $t3,%hi(var80070368)
|
||||
/* f0ab78c: 3c0b8007 */ lui $t3,%hi(g_AmmoTypes)
|
||||
/* f0ab790: 8faf00fc */ lw $t7,0xfc($sp)
|
||||
/* f0ab794: 00197080 */ sll $t6,$t9,0x2
|
||||
/* f0ab798: 01d97023 */ subu $t6,$t6,$t9
|
||||
/* f0ab79c: 000e7080 */ sll $t6,$t6,0x2
|
||||
/* f0ab7a0: 016e5821 */ addu $t3,$t3,$t6
|
||||
/* f0ab7a4: 8d6b0368 */ lw $t3,%lo(var80070368)($t3)
|
||||
/* f0ab7a4: 8d6b0368 */ lw $t3,%lo(g_AmmoTypes)($t3)
|
||||
/* f0ab7a8: 01e9c021 */ addu $t8,$t7,$t1
|
||||
/* f0ab7ac: 5960003e */ blezl $t3,.L0f0ab8a8
|
||||
/* f0ab7b0: 8faf005c */ lw $t7,0x5c($sp)
|
||||
|
|
|
|||
|
|
@ -2437,7 +2437,7 @@ glabel func0f0b7c60
|
|||
/* f0b7e20: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f0b7e24: a702024c */ sh $v0,0x24c($t8)
|
||||
/* f0b7e28: 8c790284 */ lw $t9,0x284($v1)
|
||||
/* f0b7e2c: 0fc2a660 */ jal func0f0a9980
|
||||
/* f0b7e2c: 0fc2a660 */ jal currentPlayerGiveUnlimitedAmmo
|
||||
/* f0b7e30: a722024e */ sh $v0,0x24e($t9)
|
||||
/* f0b7e34: 0fc08169 */ jal chrGetMaxDamage
|
||||
/* f0b7e38: 02002025 */ or $a0,$s0,$zero
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ extern u32 var800702ec;
|
|||
extern u32 var80070314;
|
||||
extern u32 var80070318;
|
||||
extern u32 var80070360;
|
||||
extern u32 var80070368;
|
||||
extern struct ammotype g_AmmoTypes[33];
|
||||
extern u32 var80070500;
|
||||
extern u32 var8007050c;
|
||||
extern u32 var80070518;
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ s32 ammoGetQuantity(u32 type);
|
|||
s32 currentPlayerGetAmmoCount(s8 arg0);
|
||||
s32 ammotypeGetMaxCapacity(u32 ammotype);
|
||||
bool ammotypeAllowsUnlimitedAmmo(u32 ammotype);
|
||||
u32 func0f0a9980(void);
|
||||
void currentPlayerGiveUnlimitedAmmo(bool force);
|
||||
u32 weaponGetAmmoType(u32 weaponnum, u32 func);
|
||||
u32 currentPlayerGetAmmoQuantityForWeapon(u32 weaponnum, u32 func);
|
||||
void currentPlayerGiveAmmoForWeapon(u32 weaponnum, u32 func, u32 quantity);
|
||||
|
|
|
|||
|
|
@ -5780,4 +5780,10 @@ struct menudata {
|
|||
/*0x66f*/ u8 unk66f;
|
||||
};
|
||||
|
||||
struct ammotype {
|
||||
u32 capacity;
|
||||
u32 unk04;
|
||||
f32 unk08;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue