Decompile func0f19d560

This commit is contained in:
Ryan Dwyer 2020-04-11 11:00:15 +10:00
parent 73e269af6a
commit 81ac48cd95
8 changed files with 20 additions and 34 deletions

View File

@ -15,6 +15,8 @@ SECTIONS
_rspMicrocodeStartPlusOne = 0x80059fe1;
_rspMicrocodeEnd = 0x8005afe0;
_addr007e9d20 = 0x007e9d20;
_antipiracyUncloakWriteAddress = 0x7002a324;
osCicId = 0x80000310;

View File

@ -22,7 +22,7 @@ u32 var80088800 = 0;
u8 var80088804 = 0;
u8 var80088808 = 0;
u8 var8008880c = 0;
u32 var80088810 = 0x00000000;
void *var80088810 = NULL;
u32 var80088814 = 0x00d600d7;
u32 var80088818 = 0x00d900d8;
u32 var8008881c = 0x00da00db;

View File

@ -33,6 +33,6 @@ void currentPlayerInitGunsHeld(void)
void func0f012530(s32 arg0)
{
g_Vars.currentplayer->equipmaxitems = arg0 + 30;
g_Vars.currentplayer->equipment = malloc((g_Vars.currentplayer->equipmaxitems * sizeof(struct invitem) + 15 | 0xf) ^ 0xf, 4);
g_Vars.currentplayer->equipment = malloc(ALIGN16(g_Vars.currentplayer->equipmaxitems * sizeof(struct invitem)), 4);
currentPlayerClearInventory();
}

View File

@ -865,35 +865,18 @@ void func0f19d4ec(void)
var8008880c = 0;
}
GLOBAL_ASM(
glabel func0f19d560
/* f19d560: 27bdffe8 */ addiu $sp,$sp,-24
/* f19d564: afa40018 */ sw $a0,0x18($sp)
/* f19d568: 2484000f */ addiu $a0,$a0,0xf
/* f19d56c: afbf0014 */ sw $ra,0x14($sp)
/* f19d570: 348e000f */ ori $t6,$a0,0xf
/* f19d574: 39c4000f */ xori $a0,$t6,0xf
/* f19d578: 0c0048f2 */ jal malloc
/* f19d57c: 24050004 */ addiu $a1,$zero,0x4
/* f19d580: 3c038009 */ lui $v1,%hi(var80088810)
/* f19d584: 24638810 */ addiu $v1,$v1,%lo(var80088810)
/* f19d588: ac620000 */ sw $v0,0x0($v1)
/* f19d58c: 10400007 */ beqz $v0,.L0f19d5ac
/* f19d590: 00402025 */ or $a0,$v0,$zero
/* f19d594: 3c05007f */ lui $a1,0x7f
/* f19d598: 24a59d20 */ addiu $a1,$a1,-25312
/* f19d59c: 0c003522 */ jal func0000d488
/* f19d5a0: 8fa60018 */ lw $a2,0x18($sp)
/* f19d5a4: 10000003 */ beqz $zero,.L0f19d5b4
/* f19d5a8: 8fbf0014 */ lw $ra,0x14($sp)
.L0f19d5ac:
/* f19d5ac: 00001025 */ or $v0,$zero,$zero
/* f19d5b0: 8fbf0014 */ lw $ra,0x14($sp)
.L0f19d5b4:
/* f19d5b4: 27bd0018 */ addiu $sp,$sp,0x18
/* f19d5b8: 03e00008 */ jr $ra
/* f19d5bc: 00000000 */ sll $zero,$zero,0x0
);
void *func0f19d560(u32 len)
{
extern u32 _addr007e9d20;
var80088810 = malloc(ALIGN16(len), 4);
if (var80088810) {
return func0000d488(var80088810, &_addr007e9d20, len);
}
return NULL;
}
void frSetDifficulty(s32 difficulty)
{

View File

@ -11,6 +11,7 @@
#define U32_MAX 4294967295
#define ABS(val) (val > 0 ? val : -val)
#define ALIGN16(val) ((val + 0xf | 0xf) ^ 0xf)
#define ARRAYCOUNT(a) (s32)(sizeof(a) / sizeof(a[0]))
#define CHRRACE(chr) (chr ? chr->race : RACE_HUMAN)
#define FRAMEDURATION (1 / 60.0f)

View File

@ -7,7 +7,7 @@ extern u32 var80088800;
extern u8 var80088804;
extern u8 var80088808;
extern u8 var8008880c;
extern u32 var80088810;
extern void *var80088810;
extern u32 var80088854;
extern u8 var800888a0;
extern struct chrbio g_ChrBios[10];

View File

@ -21,7 +21,7 @@ u32 func0f19d2e0(void);
u32 func0f19d338(void);
u32 func0f19d414(void);
void func0f19d4ec(void);
u32 func0f19d560(void);
void *func0f19d560(u32 len);
void frSetDifficulty(s32 difficulty);
u32 frGetDifficulty(void);
u32 func0f19d5f4(void);

View File

@ -11,6 +11,6 @@ u32 func0000d29c(void);
u32 func0000d350(void);
void func0000d410(void *memaddr, void *romaddr, u32 len);
u32 func0000d44c(void);
u32 func0000d488(void);
void *func0000d488(void *memaddr, void *romaddr, u32 len);
#endif