Decompile func0f03e9f4

This commit is contained in:
Ryan Dwyer 2022-04-20 17:31:44 +10:00
parent 67cc0be8fb
commit 576e02f9d4
5 changed files with 2424 additions and 3141 deletions

View File

@ -279,17 +279,17 @@ void *cam0f0b5050(u8 *arg0)
return result;
}
void *cam0f0b53a4(u8 *arg0)
Mtxf *cam0f0b53a4(u8 *arg0)
{
u8 *result = NULL;
Mtxf *result = NULL;
s32 i;
if (arg0 >= g_VtxBuffers[g_GfxActiveBufferIndex] && arg0 < g_VtxBuffers[g_GfxActiveBufferIndex + 1]) {
for (i = 0; i < PLAYERCOUNT(); i++) {
if (g_Vars.currentplayerindex >= playermgrGetOrderOfPlayer(i)) {
if (g_GfxNumSwaps == g_Vars.players[i]->c_viewfmdynticknum) {
if (arg0 >= g_Vars.players[i]->unk0484 && result < g_Vars.players[i]->unk0484) {
result = (u8 *)g_Vars.players[i]->unk174c;
if (arg0 >= g_Vars.players[i]->unk0484 && (u8 *)result < g_Vars.players[i]->unk0484) {
result = g_Vars.players[i]->unk174c;
}
}
}
@ -298,14 +298,14 @@ void *cam0f0b53a4(u8 *arg0)
for (i = 0; i < PLAYERCOUNT(); i++) {
if (g_Vars.currentplayerindex >= playermgrGetOrderOfPlayer(i)) {
if (g_GfxNumSwaps == g_Vars.players[i]->c_prevviewfmdynticknum + 1) {
if (arg0 >= g_Vars.players[i]->unk0488 && result < g_Vars.players[i]->unk0488) {
result = (u8 *)g_Vars.players[i]->unk1768;
if (arg0 >= g_Vars.players[i]->unk0488 && (u8 *)result < g_Vars.players[i]->unk0488) {
result = g_Vars.players[i]->unk1768;
}
}
} else {
if (g_GfxNumSwaps == g_Vars.players[i]->c_viewfmdynticknum + 1) {
if (arg0 >= g_Vars.players[i]->unk0484 && result < g_Vars.players[i]->unk0484) {
result = (u8 *)g_Vars.players[i]->unk174c;
if (arg0 >= g_Vars.players[i]->unk0484 && (u8 *)result < g_Vars.players[i]->unk0484) {
result = g_Vars.players[i]->unk174c;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -248,6 +248,7 @@
#define ATTACKFLAG_AIMONLY 0x0020 // aim only - do not shoot
#define ATTACKFLAG_DONTTURN 0x0040 // don't do a shooting animation that would change the chr's direction
#define ATTACKFLAG_SINGLESHOT 0x0080 // single shot only (doesn't work correctly with dual weapons)
#define ATTACKFLAG_NOVERTICAL 0x0100 // don't aim up/down
#define ATTACKFLAG_AIMATTARGET 0x0200 // aim/shoot at whatever is in the chr's `target` field
#define AUDIOCHANNELFLAG_IDLE 0x0001

View File

@ -26,7 +26,7 @@ void camSetUnk1758(Mtx *matrix);
Mtx *camGetUnk1758(void);
void camSetMatrix1740(Mtxf *value);
void *cam0f0b5050(u8 *arg0);
void *cam0f0b53a4(u8 *arg0);
Mtxf *cam0f0b53a4(u8 *arg0);
Mtxf *camGetMatrix1740(void);
void camSetUnk1754(Mtxf *matrix);
Mtxf *camGetUnk1754(void);

View File

@ -140,7 +140,7 @@ f32 chrGetAimAngle(struct chrdata *chr);
f32 func0f03e754(struct chrdata *chr);
s32 chrTurn(struct chrdata *chr, s32 turning, f32 endanimframe, f32 speed, f32 toleranceangle);
bool func0f03e9f4(struct chrdata *chr, struct attackanimconfig *animcfg, s32 arg2, s32 arg3, f32 arg4);
void chrCalculateAimEndProperties(struct chrdata *chr, struct attackanimconfig *animcfg, bool hasleftgun, bool hasrightgun, f32 shootrotx);
void chrCalculateAimEndProperties(struct chrdata *chr, struct attackanimconfig *animcfg, bool firingleft, bool firingright, f32 shootrotx);
f32 chrGetAimLimitAngle(f32 sqdist);
void chrCalculateHit(struct chrdata *chr, bool *angleokptr, bool *hit, struct gset *gset);
bool chrGetGunPos(struct chrdata *chr, s32 handnum, struct coord *gunpos);