mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
en_invadepoh OK (#200)
* Applied changes to master on new branch * some docs * minor change * Slight improvement to last draw func * Got rid of all warnings * Removed extra text file * Readded warnings text file * Fixed warnings text file * Some cleanup, added engineer's new matched functions! * Marked non-equivalent functions as such * Improved last draw func (still non-equivalent) * Made most of anghelo's suggested changes * Slightly better code for func_80B4A350, though it's not matching still * Engineer matched 2 funcs so I'm pushing those * Added a function from engineer and one of my own * Fixed warning * Slightly better code for func_80B44C80 * Slightly better code for func_80B44C80 * Matched func_80B44C80 * Pushing engineer's matched draw func. All rodata funcs matched! * Build NOT OK - rodata. Pushing anyway because I did a lot of work and it's close * Build NOT OK (see previous commit) - func_80B440B8 matched * Build NOT OK (see previous commit) - func_80B43BC8 matched * All funcs matched! Build not OK still though * almost ok * OK now * Fixed some warnings * Fixed more warnings * More warnings work * Fixed all warnings (I think) * Fixed all warnings (I think) * Moderate amount of cleanup * More cleanup * More cleanup and some slight documentation * Decent amount of documentation * More documentation * Fixed build (forgot to replace one struct member) * More documentation and cleanup * Fixed merge conflict, added binang_sub macro usages, and otherwise added most of the suggested changes f git commit * Organized things a bit, added a few more CLOCKTIME macros * Added extra output to timeconvert.py * Formatting * Made all suggested changes * 'Downgraded' timeconv script to version without seconds * Added a macro for part of the params usages plus an enum * Actually fixed header file (didn't save before) * Renamed milk get item in enum * Fixed GI enum update Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com> Co-authored-by: Zelllll <elilee968@gmail.com> Co-authored-by: angie <angheloalf95@gmail.com>
This commit is contained in:
co-authored by
Zelllll
Zelllll
angie
parent
66d0656128
commit
e1219e7351
@@ -7,7 +7,9 @@ struct EnDoor;
|
||||
|
||||
typedef struct EnDoor {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x88];
|
||||
/* 0x144 */ char unk_144[0x63];
|
||||
/* 0x1A7 */ s8 unk1A7;
|
||||
/* 0x1A8 */ char unk1A8[0x24];
|
||||
} EnDoor; // size = 0x1CC
|
||||
|
||||
extern const ActorInit En_Door_InitVars;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,9 +5,151 @@
|
||||
|
||||
struct EnInvadepoh;
|
||||
|
||||
typedef void (*EnInvadepohInitFunc)(struct EnInvadepoh*, GlobalContext*);
|
||||
typedef void (*EnInvadepohDestroyFunc)(struct EnInvadepoh*, GlobalContext*);
|
||||
typedef void (*EnInvadepohActionFunc)(struct EnInvadepoh*, GlobalContext*);
|
||||
|
||||
#define INVADEPOH_TYPE(x) (x->actor.params >> 4 & 0xF)
|
||||
|
||||
typedef enum{
|
||||
/* 0 */ TYPE_UNK0,
|
||||
/* 1 */ TYPE_ALIEN,
|
||||
/* 2 */ TYPE_PARENT_COW,
|
||||
/* 3 */ TYPE_CHILD_COW,
|
||||
/* 4 */ TYPE_ROMANI,
|
||||
/* 5 */ TYPE_ROMANI1,
|
||||
/* 6 */ TYPE_UNK6,
|
||||
/* 7 */ TYPE_ROMANI2,
|
||||
/* 8 */ TYPE_ROMANI3,
|
||||
/* 9 */ TYPE_ROMANI4,
|
||||
/* 10 */ TYPE_DOG,
|
||||
/* 11 */ TYPE_CREMIA,
|
||||
/* 12 */ TYPE_ROMANI5,
|
||||
/* 13 */ TYPE_ALIEN1
|
||||
} EnInvadepohType;
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ DIRECTION_BACKWARD = -1,
|
||||
/* 1 */ DIRECTION_FORWARD = 1,
|
||||
} EnInvadepohDirection;
|
||||
|
||||
typedef struct unkStruct80B50350 {
|
||||
/* 0x000 */ s8 unk0;
|
||||
/* 0x001 */ s8 unk1;
|
||||
/* 0x002 */ u8 unk2;
|
||||
/* 0x004 */ Vec3f unk4;
|
||||
} unkStruct80B50350; // size = 0x10;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8* unk00;
|
||||
/* 0x04 */ s8 unk04;
|
||||
} unkstructInvadepoh0; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 unk00;
|
||||
/* 0x04 */ f32 unk04;
|
||||
} unkstructInvadepoh1; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 unk00;
|
||||
/* 0x04 */ unkstructInvadepoh0* unk04;
|
||||
} unkstructInvadepoh2; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 unk0;
|
||||
/* 0x04 */ unkstructInvadepoh0* unk4;
|
||||
/* 0x08 */ s8 unk8;
|
||||
/* 0x0C */ unkstructInvadepoh1* unkC;
|
||||
} unkstructInvadepoh3; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 unk00;
|
||||
/* 0x04 */ unkstructInvadepoh0* unk04;
|
||||
/* 0x08 */ s8 unk08;
|
||||
/* 0x0C */ unkstructInvadepoh1* unk0C;
|
||||
/* 0x10 */ s16 unk10;
|
||||
/* 0x12 */ s16 unk12;
|
||||
} unkstructInvadepoh4; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ f32 unk00;
|
||||
/* 0x04 */ s16 unk04;
|
||||
/* 0x06 */ s16 unk06;
|
||||
} unkstruct80B4EE0C; // size = 0x08
|
||||
|
||||
typedef struct EnInvadePohStruct {
|
||||
/* 0x000 */ unkstructInvadepoh4* unk0;
|
||||
/* 0x004 */ s8 unk4;
|
||||
/* 0x008 */ unkstructInvadepoh4* unk8;
|
||||
/* 0x00C */ s16 unkC;
|
||||
/* 0x00E */ s8 unkE;
|
||||
/* 0x00F */ s8 unkF;
|
||||
} EnInvadePohStruct; // size = 0x10;
|
||||
|
||||
typedef struct AlienBehaviorInfo {
|
||||
/* 0x000 */ EnInvadePohStruct unk0;
|
||||
/* 0x010 */ EnInvadePohStruct unk10;
|
||||
/* 0x020 */ Vec3s unk20;
|
||||
/* 0x026 */ Vec3s unk26;
|
||||
/* 0x02C */ s16 unk2C;
|
||||
/* 0x02E */ u16 unk2E;
|
||||
/* 0x030 */ f32 unk30;
|
||||
/* 0x034 */ f32 unk34;
|
||||
/* 0x038 */ f32 unk38;
|
||||
/* 0x03C */ f32 unk3C;
|
||||
/* 0x040 */ s16 unk40;
|
||||
/* 0x042 */ s16 unk42;
|
||||
/* 0x044 */ f32 unk44;
|
||||
/* 0x048 */ s16 unk48;
|
||||
/* 0x04A */ char unk4A[0x2];
|
||||
/* 0x04C */ s16 unk4C;
|
||||
/* 0x04E */ s16 unk4E;
|
||||
} AlienBehaviorInfo; // size = 0x50
|
||||
|
||||
typedef struct EnInvadepoh {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x27C];
|
||||
/* 0x144 */ SkelAnime skelAnime;
|
||||
/* 0x188 */ Vec3s limbDrawTable[23];
|
||||
/* 0x212 */ Vec3s transitionDrawTable[23];
|
||||
/* 0x29C */ s8 animPlayFlag;
|
||||
/* 0x2A0 */ ColliderCylinder collider;
|
||||
/* 0x2EC */ EnInvadepohActionFunc actionFunc;
|
||||
/* 0x2F0 */ s16 actionTimer;
|
||||
/* 0x2F2 */ s16 counter; // general counter variable
|
||||
/* 0x2F4 */ s8 bankIndex;
|
||||
/* 0x2F8 */ f32 xzPosAdjFactor;
|
||||
/* 0x2FC */ UNK_TYPE unk2FC; // unused
|
||||
/* 0x300 */ f32 velocityStep;
|
||||
/* 0x304 */ s16 unk304; // angle of some sort
|
||||
/* 0x306 */ s16 unk306;
|
||||
/* 0x308 */ s8 endPoint;
|
||||
/* 0x309 */ s8 pathIndex;
|
||||
/* 0x30A */ s8 direction; // only ever 1 or -1
|
||||
/* 0x30C */ Vec3s* pathPoints;
|
||||
/* 0x310 */ f32 pathTotalDist;
|
||||
/* 0x314 */ Vec3f curPathPos;
|
||||
/* 0x320 */ f32 clockTime;
|
||||
/* 0x324 */ AlienBehaviorInfo behaviorInfo;
|
||||
/* 0x374 */ s8 rand;
|
||||
/* 0x376 */ u16 textId;
|
||||
/* 0x378 */ s8 unk378;
|
||||
/* 0x379 */ s8 unk379;
|
||||
/* 0x37C */ f32 unk37C[3];
|
||||
/* 0x388 */ s8 unk388; // unused
|
||||
/* 0x389 */ u8 alienAlpha;
|
||||
/* 0x38A */ s8 unk38A; // bool
|
||||
/* 0x38B */ s8 drawAlien;
|
||||
/* 0x38C */ s8 drawAlienDeathEffect;
|
||||
/* 0x38D */ u8 alienBeamAlpha;
|
||||
/* 0x390 */ Vec3f alienDeathEffectScale;
|
||||
/* 0x39C */ f32 scaleFactorAdj;
|
||||
/* 0x3A0 */ f32 scaleTarget;
|
||||
/* 0x3A4 */ f32 scaleStep;
|
||||
/* 0x3A8 */ s16 scaleAdjAngle;
|
||||
/* 0x3AA */ s16 unk3AA;
|
||||
/* 0x3AC */ s8 unk3AC; // index for D_80B4EDD0
|
||||
/* 0x3AD */ char unk3AD[0xF];
|
||||
/* 0x3BC */ s8 unk3BC;
|
||||
} EnInvadepoh; // size = 0x3C0
|
||||
|
||||
extern const ActorInit En_Invadepoh_InitVars;
|
||||
|
||||
@@ -663,7 +663,7 @@ void EnMa4_DialogueHandler(EnMa4* this, GlobalContext* globalCtx) {
|
||||
|
||||
case 6: // End conversation
|
||||
if (func_80147624(globalCtx) != 0) {
|
||||
if ((globalCtx->msgCtx.unk_120B1 == 0) ||
|
||||
if ((globalCtx->msgCtx.unk120B1 == 0) ||
|
||||
(((temp_v0 = gSaveContext.inventory.questItems) & gBitFlags[0x12]) == 0)) {
|
||||
EnMa4_SetupWait(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user