mirror of
https://github.com/zeldaret/mm.git
synced 2026-08-18 13:13:22 -04:00
ovl_en_in OK (#173)
* First pass, 5 still non matching * data * cleanup * Progress on func_808F33B8 * func_808F33B8 is ugly but it matches * func_808F5728 ugly but matches * cleanup * More cleanup/doc a possible inifite loop bug * Cleanup of the switch * Readd functions returns * More progress on THE switch * Everything matches but the MACROS * OK * Add new global Animaion struct * fix arg name * PR suggestions pt 1 * PR suggestions pt 2 * Fix up a few things * Add comment about walking flag * update functions.txt * Update 7 to more explicit bits * More PR cleanup
This commit is contained in:
@@ -31,7 +31,7 @@ extern UNK_TYPE D_06000990;
|
||||
|
||||
extern FlexSkeletonHeader D_06008C40;
|
||||
|
||||
// Probably the same struct as EnFgAnimation, need more info from func_8013BC6C
|
||||
// Probably the same struct as ActorAnimationEntryS, need more info from func_8013BC6C
|
||||
static UNK_TYPE D_80C1E200[] = { &D_06000990, 0x3F800000, 0x0000FFFF, 0x00000000 };
|
||||
|
||||
s32 func_80C1DED0(DmNb* this, s32 arg1) {
|
||||
|
||||
@@ -79,7 +79,7 @@ static DamageTable sDamageTable = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
static EnFgAnimation sAnimations[] = {
|
||||
static ActorAnimationEntryS sAnimations[] = {
|
||||
{ &D_06001534, 1.0f, 0, -1, 0, 0 },
|
||||
{ &D_06001534, 1.0f, 0, -1, 0, -4 },
|
||||
{ &D_060011C0, 1.0f, 0, -1, 0, -4 },
|
||||
|
||||
@@ -26,17 +26,6 @@ typedef enum {
|
||||
/* 0x05 */ FG_DMGEFFECT_ICEARROW,
|
||||
} FrogDamageEffect;
|
||||
|
||||
// TODO: This is a common struct and may be moved to a more global header
|
||||
// Typically the frame/transition data is f32, not s16.
|
||||
typedef struct {
|
||||
/* 0x00 */ AnimationHeader* animationSeg;
|
||||
/* 0x04 */ f32 playbackSpeed;
|
||||
/* 0x08 */ s16 frame;
|
||||
/* 0x0A */ s16 frameCount;
|
||||
/* 0x0C */ u8 mode;
|
||||
/* 0x0E */ s16 transitionRate;
|
||||
} EnFgAnimation; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ u8 type;
|
||||
/* 0x0001 */ u8 timer;
|
||||
|
||||
@@ -445,7 +445,7 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx)
|
||||
this->previousBankValue = (s16)(gSaveContext.roomInf[127][0] & 0xFFFF);
|
||||
gSaveContext.roomInf[127][0] =
|
||||
(gSaveContext.roomInf[127][0] & 0xFFFF0000) | (((gSaveContext.roomInf[127][0] & 0xFFFF) - globalCtx->msgCtx.bankRupeesSelected) - this->serviceFee);
|
||||
func_801159EC((s16)globalCtx->msgCtx.bankRupeesSelected, &gSaveContext);
|
||||
func_801159EC(globalCtx->msgCtx.bankRupeesSelected);
|
||||
}
|
||||
} else {
|
||||
func_8019F230();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,9 +5,66 @@
|
||||
|
||||
struct EnIn;
|
||||
|
||||
typedef void (*EnInActionFunc)(struct EnIn*, GlobalContext*);
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ ENIN_UNK_TYPE,
|
||||
/* 1 */ ENIN_HORSE_RIDER_YELLOW_SHIRT,
|
||||
/* 2 */ ENIN_HORSE_RIDER_BLUE_SHIRT,
|
||||
/* 3 */ ENIN_YELLOW_SHIRT,
|
||||
/* 4 */ ENIN_BLUE_SHIRT
|
||||
} EnInType;
|
||||
|
||||
#define ENIN_GET_TYPE(thisx) ((thisx)->params & 0x1FF)
|
||||
#define ENIN_GET_WALKING_FLAG(thisx) (((thisx)->params & 0x7E00) >> 9) // Only used with ENIN_UNK_TYPE
|
||||
|
||||
typedef struct EnIn {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x388];
|
||||
/* 0x144 */ EnInActionFunc actionFunc;
|
||||
/* 0x148 */ SkelAnime skelAnime;
|
||||
/* 0x18C */ ColliderJntSph colliderJntSph;
|
||||
/* 0x1AC */ ColliderJntSphElement colliderJntSphElement;
|
||||
/* 0x1EC */ ColliderCylinder colliderCylinder;
|
||||
/* 0x238 */ char unk238[0x4];
|
||||
/* 0x23C */ u8 unk23C;
|
||||
/* 0x23D */ u8 unk23D;
|
||||
/* 0x240 */ u8 *unk240;
|
||||
/* 0x244 */ s16 unk244;
|
||||
/* 0x248 */ Vec3f unk248;
|
||||
/* 0x254 */ Vec3f unk254;
|
||||
/* 0x260 */ u8 unk260;
|
||||
/* 0x261 */ u8 unk261;
|
||||
/* 0x262 */ Vec3s limbDrawTbl[20];
|
||||
/* 0x2DA */ Vec3s transitionDrawTbl[20];
|
||||
/* 0x352 */ s16 unk352;
|
||||
/* 0x354 */ s16 unk354;
|
||||
/* 0x356 */ char unk356[0x2];
|
||||
/* 0x358 */ s16 unk358;
|
||||
/* 0x35A */ s16 unk35A;
|
||||
/* 0x35C */ char unk35C[0x2];
|
||||
/* 0x35E */ s16 unk35E;
|
||||
/* 0x360 */ s16 unk360;
|
||||
/* 0x362 */ char unk362[0x14];
|
||||
/* 0x376 */ s16 unk376[20];
|
||||
/* 0x39E */ s16 unk39E[20];
|
||||
/* 0x3C6 */ char unk3C6[0xBC];
|
||||
/* 0x482 */ s16 unk482;
|
||||
/* 0x484 */ s16 unk484;
|
||||
/* 0x486 */ s16 unk486;
|
||||
/* 0x488 */ s16 unk488;
|
||||
/* 0x48A */ u16 unk48A;
|
||||
/* 0x48C */ s32 unk48C;
|
||||
/* 0x490 */ char unk490[0x4];
|
||||
/* 0x494 */ s32 unk494;
|
||||
/* 0x498 */ char unk498[0xC];
|
||||
/* 0x4A4 */ struct EnIn* unk4A4;
|
||||
/* 0x4A8 */ s32 unk4A8;
|
||||
/* 0x4AC */ s32 unk4AC;
|
||||
/* 0x4B0 */ s32 unk4B0;
|
||||
/* 0x4B4 */ Vec3f unk4B4;
|
||||
/* 0x4C0 */ f32 unk4C0;
|
||||
/* 0x4C0 */ f32 unk4C4;
|
||||
/* 0x4C0 */ s32 unk4C8;
|
||||
} EnIn; // size = 0x4CC
|
||||
|
||||
extern const ActorInit En_In_InitVars;
|
||||
|
||||
Reference in New Issue
Block a user