Decompile contGetNumSamples

This commit is contained in:
Ryan Dwyer 2020-10-30 19:05:20 +10:00
parent b8334b31c0
commit 4aaaba71c2
5 changed files with 20 additions and 30 deletions

View File

@ -915,7 +915,7 @@ glabel var7f1ad8e4
/* f0c8d1c: 01c87825 */ or $t7,$t6,$t0
/* f0c8d20: acaf1c40 */ sw $t7,0x1c40($a1)
.L0f0c8d24:
/* f0c8d24: 0c005207 */ jal func0001481c
/* f0c8d24: 0c005207 */ jal contGetNumSamples
/* f0c8d28: 00000000 */ nop
/* f0c8d2c: 0040b025 */ or $s6,$v0,$zero
/* f0c8d30: 0fc322aa */ jal movedataReset
@ -4020,7 +4020,7 @@ glabel var7f1ad8e4
// g_Vars.currentplayer->joybutinhibit = (g_Vars.currentplayer->joybutinhibit & 0xffff0000) | inhibitedbuttons;
// }
//
// numsamples = func0001481c();
// numsamples = contGetNumSamples();
// movedataReset(&movedata);
//
// // 8d3c

View File

@ -190,7 +190,7 @@ glabel activemenuTick
/* f01b310: afa200d4 */ sw $v0,0xd4($sp)
/* f01b314: 0fc549d2 */ jal optionsGetContpadNum1
/* f01b318: 8de40070 */ lw $a0,0x70($t7)
/* f01b31c: 0c005207 */ jal func0001481c
/* f01b31c: 0c005207 */ jal contGetNumSamples
/* f01b320: a3a200d3 */ sb $v0,0xd3($sp)
/* f01b324: 18400237 */ blez $v0,.L0f01bc04
/* f01b328: afa200cc */ sw $v0,0xcc($sp)

View File

@ -25,7 +25,7 @@ u32 func000143e8(void);
u32 func00014408(void);
u32 func00014484(void);
void func00014810(bool arg0);
u32 func0001481c(void);
s32 contGetNumSamples(void);
u32 func00014848(void);
s32 func00014904(s32 samplenum, s8 contpadnum);
s32 func000149c0(s32 samplenum, s8 contpadnum);

View File

@ -7092,8 +7092,8 @@ struct contsample {
struct contdata {
struct contsample samples[20];
s32 index; // index into samples
s32 unk1e4; // also an index into samples
s32 newestindex;
s32 oldestindex;
s32 unk1e8;
s32 unk1ec;
u16 unk1f0[4];

View File

@ -839,7 +839,7 @@ glabel func000142f0
/* 14398: 8defeec0 */ lw $t7,%lo(var8005eec0)($t7)
/* 1439c: 51e0000f */ beqzl $t7,.L000143dc
/* 143a0: 8fbf0014 */ lw $ra,0x14($sp)
/* 143a4: 0c005207 */ jal func0001481c
/* 143a4: 0c005207 */ jal contGetNumSamples
/* 143a8: 00000000 */ nop
/* 143ac: 5c40000b */ bgtzl $v0,.L000143dc
/* 143b0: 8fbf0014 */ lw $ra,0x14($sp)
@ -910,7 +910,7 @@ glabel func000142f0
/* 14398: 8defeec0 */ lw $t7,%lo(var8005eec0)($t7)
/* 1439c: 51e0000f */ beqzl $t7,.L000143dc
/* 143a0: 8fbf0014 */ lw $ra,0x14($sp)
/* 143a4: 0c005207 */ jal func0001481c
/* 143a4: 0c005207 */ jal contGetNumSamples
/* 143a8: 00000000 */ nop
/* 143ac: 5c40000b */ bgtzl $v0,.L000143dc
/* 143b0: 8fbf0014 */ lw $ra,0x14($sp)
@ -1239,20 +1239,10 @@ glabel func00014810
/* 14818: ac24eec0 */ sw $a0,%lo(var8005eec0)($at)
);
GLOBAL_ASM(
glabel func0001481c
/* 1481c: 3c038006 */ lui $v1,%hi(var8005ee60)
/* 14820: 8c63ee60 */ lw $v1,%lo(var8005ee60)($v1)
/* 14824: 24010014 */ addiu $at,$zero,0x14
/* 14828: 8c6e01e0 */ lw $t6,0x1e0($v1)
/* 1482c: 8c6f01e4 */ lw $t7,0x1e4($v1)
/* 14830: 01cf1023 */ subu $v0,$t6,$t7
/* 14834: 24420014 */ addiu $v0,$v0,0x14
/* 14838: 0041001a */ div $zero,$v0,$at
/* 1483c: 00001010 */ mfhi $v0
/* 14840: 03e00008 */ jr $ra
/* 14844: 00000000 */ nop
);
s32 contGetNumSamples(void)
{
return (var8005ee60->newestindex - var8005ee60->oldestindex + 20) % 20;
}
GLOBAL_ASM(
glabel func00014848
@ -1318,7 +1308,7 @@ s32 func00014904(s32 samplenum, s8 contpadnum)
return 0;
}
return var8005ee60->samples[(var8005ee60->unk1e4 + samplenum + 1) % 20].pads[contpadnum].stick_y;
return var8005ee60->samples[(var8005ee60->oldestindex + samplenum + 1) % 20].pads[contpadnum].stick_y;
}
s32 func000149c0(s32 samplenum, s8 contpadnum)
@ -1332,7 +1322,7 @@ s32 func000149c0(s32 samplenum, s8 contpadnum)
return 0;
}
return var8005ee60->samples[(var8005ee60->unk1e4 + samplenum) % 20].pads[contpadnum].stick_y;
return var8005ee60->samples[(var8005ee60->oldestindex + samplenum) % 20].pads[contpadnum].stick_y;
}
u16 func00014a78(s32 samplenum, s8 contpadnum, u16 mask)
@ -1348,7 +1338,7 @@ u16 func00014a78(s32 samplenum, s8 contpadnum, u16 mask)
return 0;
}
button = var8005ee60->samples[(var8005ee60->unk1e4 + samplenum + 1) % 20].pads[contpadnum].button;
button = var8005ee60->samples[(var8005ee60->oldestindex + samplenum + 1) % 20].pads[contpadnum].button;
return button & mask;
}
@ -1367,8 +1357,8 @@ u16 func00014b50(s32 samplenum, s8 contpadnum, u16 mask)
return 0;
}
button1 = var8005ee60->samples[(var8005ee60->unk1e4 + samplenum + 1) % 20].pads[contpadnum].button;
button2 = var8005ee60->samples[(var8005ee60->unk1e4 + samplenum) % 20].pads[contpadnum].button;
button1 = var8005ee60->samples[(var8005ee60->oldestindex + samplenum + 1) % 20].pads[contpadnum].button;
button2 = var8005ee60->samples[(var8005ee60->oldestindex + samplenum) % 20].pads[contpadnum].button;
return (button1 & ~button2) & mask;
}
@ -1493,7 +1483,7 @@ s8 contGetStickX(s8 contpadnum)
return 0;
}
return var8005ee60->samples[var8005ee60->index].pads[contpadnum].stick_x;
return var8005ee60->samples[var8005ee60->newestindex].pads[contpadnum].stick_x;
}
s8 contGetStickY(s8 contpadnum)
@ -1507,7 +1497,7 @@ s8 contGetStickY(s8 contpadnum)
return 0;
}
return var8005ee60->samples[var8005ee60->index].pads[contpadnum].stick_y;
return var8005ee60->samples[var8005ee60->newestindex].pads[contpadnum].stick_y;
}
u16 contGetButtons(s8 contpadnum, u16 mask)
@ -1521,7 +1511,7 @@ u16 contGetButtons(s8 contpadnum, u16 mask)
return 0;
}
return var8005ee60->samples[var8005ee60->index].pads[contpadnum].button & mask;
return var8005ee60->samples[var8005ee60->newestindex].pads[contpadnum].button & mask;
}
u16 func00015020(s8 contpadnum, u16 mask)