mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
En_Fall (the moon, Moon's Tear, and effects) OK and mostly documented (#476)
* EnFall_Init OK * EnFall_Destroy OK * EnFall_Update OK * func_80A6C3AC and func_80A6C3FC OK * func_80A6BF90 OK * func_80A6CA9C OK * func_80A6CD38 OK * func_80A6CF60 OK * func_80A6C9A8 OK * Import data into C * func_80A6CB74 OK * func_80A6CD74 OK * func_80A6CF70 OK * func_80A6CECC OK * func_80A6D698 OK * func_80A6D220 OK * func_80A6D100 OK * func_80A6D75C OK * func_80A6D88C OK * func_80A6D98C OK * func_80A6DC20 OK * func_80A6DA7C OK * func_80A6DC40 OK * func_80A6DD3C OK * func_80A6E214 OK * func_80A6E37C OK * func_80A6C7C0 OK * func_80A6D444 OK * func_80A6C1DC OK * func_80A6D504 OK * func_80A6E07C OK * Move all statics to in-function * Migrate bss to C and use compiled reloc * Clean up UnkFallStruct * Initial documentation pass * Some more function names * Name some more unknowns * Name yet more unknowns * Name all struct variables and static data * Do one last documentation pass * Respond to engineer's style review * Respond to hensldm's review * This is a legacy PR, so using autogenned object symbols
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
<DList Name="object_fall_DL_000428" Offset="0x428" />
|
||||
<DList Name="object_fall_DL_000490" Offset="0x490" />
|
||||
<DList Name="object_fall_DL_000498" Offset="0x498" />
|
||||
<Array Name="object_fall_Vtx_0004C0" Count="209" Offset="0x4C0">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="object_fall_DL_0011D0" Offset="0x11D0" />
|
||||
<Texture Name="object_fall_Tex_001688" OutName="tex_001688" Format="i8" Width="64" Height="64" Offset="0x1688" />
|
||||
<Texture Name="object_fall_Tex_002688" OutName="tex_002688" Format="i4" Width="64" Height="64" Offset="0x2688" />
|
||||
|
||||
@@ -3122,9 +3122,7 @@ beginseg
|
||||
name "ovl_En_Fall"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_En_Fall/z_en_fall.o"
|
||||
include "build/data/ovl_En_Fall/ovl_En_Fall.data.o"
|
||||
include "build/data/ovl_En_Fall/ovl_En_Fall.bss.o"
|
||||
include "build/data/ovl_En_Fall/ovl_En_Fall.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Fall/ovl_En_Fall_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,14 +3,54 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#define EN_FALL_SCALE(thisx) ((thisx)->params & 0x7F)
|
||||
#define EN_FALL_TYPE(thisx) (((thisx)->params & 0xF80) >> 7)
|
||||
|
||||
#define EN_FALL_FLAG_FIRE_BALL_INTENSIFIES (1 << 0)
|
||||
#define EN_FALL_FLAG_FIRE_RING_APPEARS (1 << 1)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EN_FALL_TYPE_TERMINA_FIELD_MOON,
|
||||
/* 1 */ EN_FALL_TYPE_TITLE_SCREEN_MOON,
|
||||
/* 2 */ EN_FALL_TYPE_CRASHING_MOON,
|
||||
/* 3 */ EN_FALL_TYPE_CRASH_FIRE_BALL,
|
||||
/* 4 */ EN_FALL_TYPE_CRASH_RISING_DEBRIS,
|
||||
/* 5 */ EN_FALL_TYPE_LODMOON_NO_LERP, // unused in final game
|
||||
/* 6 */ EN_FALL_TYPE_LODMOON,
|
||||
/* 7 */ EN_FALL_TYPE_STOPPED_MOON_CLOSED_MOUTH,
|
||||
/* 8 */ EN_FALL_TYPE_MOONS_TEAR,
|
||||
/* 9 */ EN_FALL_TYPE_CLOCK_TOWER_MOON,
|
||||
/* 10 */ EN_FALL_TYPE_STOPPED_MOON_OPEN_MOUTH,
|
||||
/* 11 */ EN_FALL_TYPE_CRASH_FIRE_RING,
|
||||
/* 12 */ EN_FALL_TYPE_LODMOON_INVERTED_STONE_TOWER,
|
||||
} EnFallType;
|
||||
|
||||
struct EnFall;
|
||||
|
||||
typedef void (*EnFallActionFunc)(struct EnFall*, GlobalContext*);
|
||||
|
||||
typedef struct EnFall {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ char unk_144[0x1C];
|
||||
/* 0x0160 */ EnFallActionFunc actionFunc;
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ s16 dayStartTime;
|
||||
/* 0x146 */ s16 currentDay;
|
||||
/* 0x148 */ u8 objIndex;
|
||||
/* 0x14C */ f32 scale;
|
||||
/* 0x150 */ union {
|
||||
f32 eyeGlowIntensity;
|
||||
f32 fireBallIntensity;
|
||||
f32 fireRingAlpha;
|
||||
};
|
||||
/* 0x154 */ u16 flags;
|
||||
/* 0x158 */ union {
|
||||
s32 fireBallAlpha;
|
||||
s32 activeDebrisParticleCount;
|
||||
};
|
||||
/* 0x15C */ union {
|
||||
s16 fireBallYTexScroll1;
|
||||
s16 fireWallYScale;
|
||||
};
|
||||
/* 0x15E */ s16 fireBallYTexScroll2;
|
||||
/* 0x160 */ EnFallActionFunc actionFunc;
|
||||
} EnFall; // size = 0x164
|
||||
|
||||
extern const ActorInit En_Fall_InitVars;
|
||||
|
||||
+28
-28
@@ -10907,37 +10907,37 @@
|
||||
0x80A6B0D8:("func_80A6B0D8",),
|
||||
0x80A6B3F8:("EnMushi2_Update",),
|
||||
0x80A6B8D0:("EnMushi2_Draw",),
|
||||
0x80A6BF90:("func_80A6BF90",),
|
||||
0x80A6C1DC:("func_80A6C1DC",),
|
||||
0x80A6BF90:("EnFall_Moon_AdjustScaleAndPosition",),
|
||||
0x80A6C1DC:("EnFall_RisingDebris_ResetParticles",),
|
||||
0x80A6C22C:("EnFall_Init",),
|
||||
0x80A6C39C:("EnFall_Destroy",),
|
||||
0x80A6C3AC:("func_80A6C3AC",),
|
||||
0x80A6C3FC:("func_80A6C3FC",),
|
||||
0x80A6C7C0:("func_80A6C7C0",),
|
||||
0x80A6C9A8:("func_80A6C9A8",),
|
||||
0x80A6CA9C:("func_80A6CA9C",),
|
||||
0x80A6CB74:("func_80A6CB74",),
|
||||
0x80A6CD38:("func_80A6CD38",),
|
||||
0x80A6CD74:("func_80A6CD74",),
|
||||
0x80A6CECC:("func_80A6CECC",),
|
||||
0x80A6CF60:("func_80A6CF60",),
|
||||
0x80A6CF70:("func_80A6CF70",),
|
||||
0x80A6C3AC:("EnFall_MoonsTear_GetTerminaFieldMoon",),
|
||||
0x80A6C3FC:("EnFall_Setup",),
|
||||
0x80A6C7C0:("EnFall_CrashingMoon_HandleGiantsCutscene",),
|
||||
0x80A6C9A8:("EnFall_CrashingMoon_PerformCutsceneActions",),
|
||||
0x80A6CA9C:("EnFall_StoppedOpenMouthMoon_PerformCutsceneActions",),
|
||||
0x80A6CB74:("EnFall_StoppedClosedMouthMoon_PerformCutsceneActions",),
|
||||
0x80A6CD38:("EnFall_ClockTowerOrTitleScreenMoon_PerformCutsceneActions",),
|
||||
0x80A6CD74:("EnFall_Moon_PerformDefaultActions",),
|
||||
0x80A6CECC:("EnFall_MoonsTear_Initialize",),
|
||||
0x80A6CF60:("EnFall_DoNothing",),
|
||||
0x80A6CF70:("EnFall_MoonsTear_Fall",),
|
||||
0x80A6D0DC:("EnFall_Update",),
|
||||
0x80A6D100:("func_80A6D100",),
|
||||
0x80A6D220:("func_80A6D220",),
|
||||
0x80A6D444:("func_80A6D444",),
|
||||
0x80A6D504:("func_80A6D504",),
|
||||
0x80A6D698:("func_80A6D698",),
|
||||
0x80A6D75C:("func_80A6D75C",),
|
||||
0x80A6D88C:("func_80A6D88C",),
|
||||
0x80A6D98C:("func_80A6D98C",),
|
||||
0x80A6DA7C:("func_80A6DA7C",),
|
||||
0x80A6DC20:("func_80A6DC20",),
|
||||
0x80A6DC40:("func_80A6DC40",),
|
||||
0x80A6DD3C:("func_80A6DD3C",),
|
||||
0x80A6E07C:("func_80A6E07C",),
|
||||
0x80A6E214:("func_80A6E214",),
|
||||
0x80A6E37C:("func_80A6E37C",),
|
||||
0x80A6D100:("EnFall_FireBall_SetPerVertexAlpha",),
|
||||
0x80A6D220:("EnFall_FireBall_Update",),
|
||||
0x80A6D444:("EnFall_RisingDebris_UpdateParticles",),
|
||||
0x80A6D504:("EnFall_RisingDebris_InitializeParticles",),
|
||||
0x80A6D698:("EnFall_RisingDebris_Update",),
|
||||
0x80A6D75C:("EnFall_FireRing_Update",),
|
||||
0x80A6D88C:("EnFall_Moon_Draw",),
|
||||
0x80A6D98C:("EnFall_OpenMouthMoon_Draw",),
|
||||
0x80A6DA7C:("EnFall_LodMoon_Draw",),
|
||||
0x80A6DC20:("EnFall_LodMoon_DrawWithoutLerp",),
|
||||
0x80A6DC40:("EnFall_LodMoon_DrawWithLerp",),
|
||||
0x80A6DD3C:("EnFall_FireBall_Draw",),
|
||||
0x80A6E07C:("EnFall_RisingDebris_Draw",),
|
||||
0x80A6E214:("EnFall_FireRing_Draw",),
|
||||
0x80A6E37C:("EnFall_MoonsTear_Draw",),
|
||||
0x80A6F0A0:("EnMm3_Init",),
|
||||
0x80A6F1EC:("EnMm3_Destroy",),
|
||||
0x80A6F22C:("func_80A6F22C",),
|
||||
|
||||
@@ -12300,10 +12300,7 @@
|
||||
0x80A6BB00:("D_80A6BB00","f32","",0x4),
|
||||
0x80A6E490:("En_Fall_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80A6E4B0:("D_80A6E4B0","UNK_TYPE4","",0x4),
|
||||
0x80A6E4B4:("D_80A6E4B4","UNK_TYPE1","",0x1),
|
||||
0x80A6E4B5:("D_80A6E4B5","UNK_TYPE1","",0x1),
|
||||
0x80A6E584:("D_80A6E584","UNK_TYPE1","",0x1),
|
||||
0x80A6E585:("D_80A6E585","UNK_TYPE1","",0x1),
|
||||
0x80A6E4B4:("D_80A6E4B4","s8","[0xD1]",0xD0),
|
||||
0x80A6E588:("D_80A6E588","UNK_TYPE1","",0x1),
|
||||
0x80A6E594:("D_80A6E594","UNK_TYPE1","",0x1),
|
||||
0x80A6E5A0:("D_80A6E5A0","f32","",0x4),
|
||||
@@ -12335,8 +12332,6 @@
|
||||
0x80A6E650:("D_80A6E650","f32","",0x4),
|
||||
0x80A6E654:("D_80A6E654","f32","",0x4),
|
||||
0x80A6E990:("D_80A6E990","UNK_TYPE1","",0x1),
|
||||
0x80A6E9B4:("D_80A6E9B4","UNK_TYPE1","",0x1),
|
||||
0x80A6E9D8:("D_80A6E9D8","UNK_TYPE1","",0x1),
|
||||
0x80A6F098:("D_80A6F098","UNK_TYPE1","",0x1),
|
||||
0x80A703D0:("En_Mm3_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80A703F0:("D_80A703F0","UNK_TYPE1","",0x1),
|
||||
|
||||
@@ -2171,21 +2171,6 @@ D_0600A490 = 0x0600A490;
|
||||
|
||||
D_06010240 = 0x06010240;
|
||||
|
||||
// ovl_En_Fall
|
||||
|
||||
D_06000198 = 0x06000198;
|
||||
D_06000400 = 0x06000400;
|
||||
D_060004C0 = 0x060004C0;
|
||||
D_060004C8 = 0x060004C8;
|
||||
D_060010E0 = 0x060010E0;
|
||||
D_06001158 = 0x06001158;
|
||||
D_060011D0 = 0x060011D0;
|
||||
D_06001220 = 0x06001220;
|
||||
D_06002970 = 0x06002970;
|
||||
D_06003C30 = 0x06003C30;
|
||||
D_06004E38 = 0x06004E38;
|
||||
D_060077F0 = 0x060077F0;
|
||||
|
||||
// ovl_En_Fall2
|
||||
|
||||
D_06005EF4 = 0x06005EF4;
|
||||
|
||||
Reference in New Issue
Block a user