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:
kyleburnette
2021-07-17 00:04:37 -04:00
committed by GitHub
co-authored by Zelllll Zelllll angie
parent 66d0656128
commit e1219e7351
15 changed files with 4828 additions and 475 deletions
+3 -1
View File
@@ -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;
+1 -1
View File
@@ -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);
}