EnFirefly OK and mostly documented (#194)

* Data imported, 8/30 functions done

* OK

* Delete ASM references, add SFX

* Named functions

* more naming

* Type the nop ActorFunc correctly

* A couple more bits of documentation

* Sorted object_script

* Merge remote-tracking branch 'upstream/master' into Firefly

* format

* Update other includes

* Review suggestions

* Review changes; named Actor_Noop

* Format
This commit is contained in:
EllipticEllipsis
2021-07-05 17:47:55 -04:00
committed by GitHub
parent e57fb5780d
commit 0e51bf35a1
26 changed files with 1157 additions and 387 deletions
+2 -2
View File
@@ -63,7 +63,7 @@ ASFLAGS := -march=vr4300 -32
MIPS_VERSION := -mips2
# we support Microsoft extensions such as anonymous structs, which the compiler does support but warns for their usage. Surpress the warnings with -woff.
CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -I./ -Isrc -Wab,-r4300_mul -woff 624,649,838,712
CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -Isrc -Iassets -Ibuild -I./ -Isrc -Wab,-r4300_mul -woff 624,649,838,712
#### Files ####
@@ -283,7 +283,7 @@ build/comp/assets/textures/%.yaz0: build/baserom/assets/textures/%
build/%.d: %.c
@./tools/depend.py $< $@
@$(GCC) $< -Iinclude -I./ -MM -MT 'build/$*.o' >> $@
@$(GCC) $< -Iinclude -Isrc -I./ -MM -MT 'build/$*.o' >> $@
build/dmadata_script.ld: build/dmadata_script.txt
@$(GCC) -E -CC -x c -Iinclude $< | grep -v '^#' > $@
+2 -2
View File
@@ -904,7 +904,7 @@ Actor* func_800BC270(GlobalContext* globalCtx, Actor* actor, f32 arg2, UNK_TYPE4
// void func_800BC848(void);
// void func_800BC8B8(void);
// void func_800BCB50(void);
void func_800BCB70(Actor* actor, s16 arg1, u8 arg2, s16 arg3, u8 arg4);
void func_800BCB70(Actor* actor, s16 arg1, s16 arg2, s16 arg3, s16 arg4);
void func_800BCBF4(Vec3f* uParm1, GlobalContext* globalCtx);
void func_800BCC68(Vec3f* param_1, GlobalContext* globalCtx);
UNK_RET func_800BCCDC(Vec3s* points, u8 pathcount, Vec3f* pos1, Vec3f* pos2, UNK_TYPE parm5);
@@ -918,7 +918,7 @@ void func_800BD888(Actor*, struct_800BD888_arg1*, s16, s16); // This function is
// void func_800BDB6C(void);
void func_800BDC5C(SkelAnime* skelAnime, ActorAnimationEntry animation[], s16 index);
// void func_800BDCF4(void);
void func_800BDFB0(void);
void Actor_Noop(Actor* actor, GlobalContext* globalCtx);
void func_800BDFC0(GlobalContext* globalCtx, Gfx* dl);
void func_800BE03C(GlobalContext* globalCtx, Gfx* dl);
// void func_800BE0B8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
+2 -2
View File
@@ -985,9 +985,9 @@ SECTIONS
ovl_En_Firefly : AT(RomLocation)
{
build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o(.text)
build/asm/overlays/ovl_En_Firefly_data.o(.data)
build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o(.data)
build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o(.rodata)
build/asm/overlays/ovl_En_Firefly_rodata.o(.rodata)
build/src/overlays/actors/ovl_En_Firefly/z_en_firefly_overlay.o(.ovl)
}
SegmentEnd = .;
SegmentSize = SegmentEnd - SegmentStart;
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -846,7 +846,7 @@ void Actor_FreeOverlay(ActorOverlay* entry) {
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDCF4.asm")
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDFB0.asm")
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_Noop.asm")
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDFC0.asm")
@@ -17,7 +17,7 @@ const ActorInit Bg_Inibs_Movebg_InitVars = {
sizeof(BgInibsMovebg),
(ActorFunc)BgInibsMovebg_Init,
(ActorFunc)BgInibsMovebg_Destroy,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)BgInibsMovebg_Draw,
};
*/
@@ -16,7 +16,7 @@ const ActorInit Bg_Lbfshot_InitVars = {
sizeof(BgLbfshot),
(ActorFunc)BgLbfshot_Init,
(ActorFunc)BgLbfshot_Destroy,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)BgLbfshot_Draw,
};
@@ -14,8 +14,8 @@ const ActorInit Bg_Market_Step_InitVars = {
OBJECT_MARKET_OBJ,
sizeof(BgMarketStep),
(ActorFunc)BgMarketStep_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)Actor_Noop,
(ActorFunc)BgMarketStep_Draw,
};
File diff suppressed because it is too large Load Diff
@@ -5,9 +5,37 @@
struct EnFirefly;
typedef void (*EnFireflyActionFunc)(struct EnFirefly*, GlobalContext*);
typedef enum {
/* 0 */ KEESE_FIRE_FLY,
/* 2 */ KEESE_NORMAL_FLY = 2,
/* 3 */ KEESE_NORMAL_PERCH,
/* 4 */ KEESE_ICE_FLY
} KeeseMainType;
#define KEESE_INVISIBLE (1 << 0xF)
#define KEESE_GET_MAIN_TYPE(thisx) ((thisx)->params & 0x7FFF)
typedef struct EnFirefly {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk_144[0x230];
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ EnFireflyActionFunc actionFunc;
/* 0x18C */ u8 auraType;
/* 0x18D */ u8 currentType;
/* 0x18E */ u8 isInvisible;
/* 0x18F */ u8 unk_18F;
/* 0x190 */ s16 timer;
/* 0x192 */ s16 targetPitch;
/* 0x194 */ Vec3s jointTable[28];
/* 0x23C */ Vec3s morphTable[28];
/* 0x2E4 */ f32 maxAltitude;
/* 0x2E8 */ Vec3f unk_2E8;
/* 0x2F4 */ s32 unk_2F4;
/* 0x2F8 */ Vec3f unk_2F8;
/* 0x304 */ Vec3f unk_304;
/* 0x304 */ Vec3f unk_310;
/* 0x31C */ ColliderSphere collider;
} EnFirefly; // size = 0x374
extern const ActorInit En_Firefly_InitVars;
@@ -5,7 +5,7 @@
*/
#include "z_en_pametfrog.h"
#include "src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h"
#include "overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h"
#define FLAGS 0x00000035
@@ -1,5 +1,5 @@
#include "z_en_po_fusen.h"
#include "../ovl_En_Ma4/z_en_ma4.h"
#include "overlays/actors/ovl_En_Ma4/z_en_ma4.h"
#define FLAGS 0x80100030
@@ -16,7 +16,7 @@ const ActorInit En_River_Sound_InitVars = {
GAMEPLAY_KEEP,
sizeof(EnRiverSound),
(ActorFunc)EnRiverSound_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)EnRiverSound_Update,
(ActorFunc)EnRiverSound_Draw,
};
@@ -15,7 +15,7 @@ const ActorInit En_Test2_InitVars = {
GAMEPLAY_KEEP,
sizeof(EnTest2),
(ActorFunc)EnTest2_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)EnTest2_Update,
(ActorFunc)NULL,
};
@@ -15,7 +15,7 @@ const ActorInit Obj_Blockstop_InitVars = {
GAMEPLAY_KEEP,
sizeof(ObjBlockstop),
(ActorFunc)ObjBlockstop_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)ObjBlockstop_Update,
(ActorFunc)NULL,
};
@@ -5,8 +5,8 @@
*/
#include "z_obj_boyo.h"
#include "../ovl_En_Kaizoku/z_en_kaizoku.h"
#include "../ovl_En_Bom/z_en_bom.h"
#include "overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#define FLAGS 0x00000010
@@ -15,7 +15,7 @@ const ActorInit Obj_Demo_InitVars = {
GAMEPLAY_KEEP,
sizeof(ObjDemo),
(ActorFunc)ObjDemo_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)ObjDemo_Update,
(ActorFunc)NULL,
};
@@ -16,7 +16,7 @@ const ActorInit Obj_Ending_InitVars = {
OBJECT_ENDING_OBJ,
sizeof(ObjEnding),
(ActorFunc)ObjEnding_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)ObjEnding_Update,
(ActorFunc)ObjEnding_Draw,
};
@@ -14,8 +14,8 @@ const ActorInit Obj_Funen_InitVars = {
OBJECT_FUNEN,
sizeof(ObjFunen),
(ActorFunc)ObjFunen_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)Actor_Noop,
(ActorFunc)ObjFunen_Draw,
};
@@ -14,8 +14,8 @@ const ActorInit Obj_Grass_Unit_InitVars = {
GAMEPLAY_FIELD_KEEP,
sizeof(ObjGrassUnit),
(ActorFunc)ObjGrassUnit_Init,
(ActorFunc)func_800BDFB0,
(ActorFunc)func_800BDFB0,
(ActorFunc)Actor_Noop,
(ActorFunc)Actor_Noop,
(ActorFunc)NULL,
};
*/

Some files were not shown because too many files have changed in this diff Show More