Decompile chr0f01f378

This commit is contained in:
Ryan Dwyer 2022-03-08 23:18:02 +10:00
parent e904d53ba4
commit 79798ed41c
4 changed files with 509 additions and 3636 deletions

File diff suppressed because it is too large Load Diff

View File

@ -6163,7 +6163,7 @@ bool chrGoToPos(struct chrdata *chr, struct coord *pos, s16 *room, u32 flags)
#endif
chr->sleep = 0;
chr->liftaction = 0;
chr->act_gopos.flags &= ~(GOPOSFLAG_80 | GOPOSFLAG_DUCK | GOPOSFLAG_20);
chr->act_gopos.flags &= ~(GOPOSFLAG_WALKDIRECT | GOPOSFLAG_DUCK | GOPOSFLAG_20);
chrGoPosGetCurWaypointInfo(chr, &curwppos, curwprooms);
if ((!isgopos || ismagic)
@ -19341,7 +19341,7 @@ void chrTickGoPos(struct chrdata *chr)
s16 curwprooms[8];
u32 curwpflags;
chr->act_gopos.flags &= ~(GOPOSFLAG_DUCK | GOPOSFLAG_80);
chr->act_gopos.flags &= ~(GOPOSFLAG_DUCK | GOPOSFLAG_WALKDIRECT);
if (chr->hidden & CHRHFLAG_NEEDANIM) {
if (modelIsAnimMerging(chr->model)) {
@ -19456,7 +19456,7 @@ void chrTickGoPos(struct chrdata *chr)
if (pad.flags & PADFLAG_AIDUCK) {
chr->act_gopos.flags |= GOPOSFLAG_DUCK;
} else if (pad.flags & PADFLAG_10000) {
chr->act_gopos.flags |= GOPOSFLAG_80;
chr->act_gopos.flags |= GOPOSFLAG_WALKDIRECT;
}
if ((pad.flags & PADFLAG_AIWAITLIFT) || (pad.flags & PADFLAG_AIONLIFT)) {

View File

@ -1094,7 +1094,7 @@
#define GOPOSFLAG_FORPATHSTART 0x08
#define GOPOSFLAG_20 0x20
#define GOPOSFLAG_DUCK 0x40
#define GOPOSFLAG_80 0x80
#define GOPOSFLAG_WALKDIRECT 0x80
#define GUNCMD_END 0
#define GUNCMD_SHOWPART 1

View File

@ -8,8 +8,14 @@ void propsTick2(void);
void chrSetChrnum(struct chrdata *chr, s16 chrnum);
void chrDeregister(s32 chrnum);
void chrCalculatePushPos(struct chrdata *chr, struct coord *pos, s16 *rooms, bool arg3);
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3, bool arg4);
void chr0f01f378(void);
#if VERSION >= VERSION_NTSC_1_0
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3, bool arg4);
#else
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3);
#endif
bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f32 *mangroundptr);
s32 chrsGetNumFree(void);
s16 chrsGetNextUnusedChrnum(void);
struct prop *chr0f020b14(struct prop *prop, struct model *model, struct coord *pos, s16 *rooms, f32 arg3, u8 *ailist);