mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Add z_effect_soft_sprite
This commit is contained in:
@@ -74,7 +74,7 @@ $(shell mkdir -p build/src/code)
|
||||
$(shell mkdir -p build/src/boot_O2_g3)
|
||||
$(shell mkdir -p build/src/boot_O1)
|
||||
|
||||
check: $(ROM) code.bin boot.bin
|
||||
check: $(ROM)
|
||||
@md5sum -c checksum.md5
|
||||
|
||||
$(ROM): $(ROM_FILES)
|
||||
|
||||
+2
-2
@@ -204,11 +204,11 @@ SECTIONS
|
||||
build/asm/z_eff_ss_dead.o(.text)
|
||||
build/asm/z_eff_tire_mark.o(.text)
|
||||
build/asm/code_0x800AF710.o(.text)
|
||||
build/asm/z_effect_soft_sprite.o(.text)
|
||||
build/src/code/z_effect_soft_sprite.o(.text)
|
||||
build/asm/z_effect_soft_sprite_old_init.o(.text)
|
||||
build/asm/flg_set.o(.text)
|
||||
build/asm/z_DLF.o(.text)
|
||||
build/asm/code_0x800B3AD0.o(.text)
|
||||
build/asm/z_actor.o(.text)
|
||||
build/asm/code_0x800BF9A0.o(.text)
|
||||
build/asm/z_bgcheck.o(.text)
|
||||
build/asm/code_0x800CAAD0.o(.text)
|
||||
|
||||
@@ -42,6 +42,7 @@ known_funcs = {
|
||||
0x8008481C:("func_8008481C","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_PTR, UNK_PTR"),
|
||||
0x80084940:("func_80084940","void","void"),
|
||||
0x80084968:("func_80084968","void","void"),
|
||||
0x8008501C:("func_8008501C","void","u32, u32, u32, u32, u32"),
|
||||
0x80085320:("func_80085320","void","s80085320*, UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR"),
|
||||
0x800853F8:("func_800853F8","UNK_RET","s80085320*"),
|
||||
0x80085468:("func_80085468","UNK_TYPE","s80085320*"),
|
||||
@@ -224,6 +225,21 @@ known_funcs = {
|
||||
0x800A74D8:("func_800A74D8","UNK_RET","z_Actor* a0, z_GlobalContext* a1"),
|
||||
0x800A75B8:("func_800A75B8","UNK_RET","z_Actor* a0, z_GlobalContext* a1"),
|
||||
0x800A7650:("func_800A7650","s16","s16"),
|
||||
0x800B0050:("effect_ss_init","void","z_GlobalContext* ctxt, s32 numEntries"),
|
||||
0x800B0140:("effect_ss_clear","void","z_GlobalContext* ctxt"),
|
||||
0x800B0200:("effect_ss_get_table","z_LoadedParticleEntry*","void"),
|
||||
0x800B0210:("effect_ss_delete","void","z_LoadedParticleEntry* a0"),
|
||||
0x800B0270:("effect_ss_reset_entry","void","z_LoadedParticleEntry* particle"),
|
||||
0x800B0304:("effect_ss_find_free_space","s32","u32 priority, u32* tableEntry"),
|
||||
0x800B043C:("func_800B043C","void","z_GlobalContext* ctxt, z_LoadedParticleEntry* a1"),
|
||||
0x800B04D4:("effect_ss_load_particle","void","z_GlobalContext* ctxt, u32 type, u32 priority, void* initData"),
|
||||
0x800B067C:("effect_ss_update_particle","void","z_GlobalContext* ctxt, u32 index"),
|
||||
0x800B071C:("effect_ss_update_all_particles","void","z_GlobalContext* ctxt"),
|
||||
0x800B07D8:("effect_ss_draw_particle","void","z_GlobalContext* ctxt, s32 index"),
|
||||
0x800B081C:("effect_ss_draw_all_particles","void","z_GlobalContext* ctxt"),
|
||||
0x800B096C:("func_800B096C","s16","s16 a0, s16 a1, s32 a2"),
|
||||
0x800B09D0:("func_800B09D0","s16","s16 a0, s16 a1, f32 a2"),
|
||||
0x800B0A24:("func_800B0A24","u8","u8 a0, u8 a1, f32 a2"),
|
||||
0x800B16B8:("func_800B16B8","UNK_RET","z_GlobalContext*, z_Vector3D*, UNK_PTR, UNK_PTR, UNK_PTR, UNK_PTR"),
|
||||
0x800B3BA4:("func_800B3BA4","UNK_RET","UNK_PTR, f32, UNK_PTR, f32"),
|
||||
0x800B3FC0:("func_800B3FC0","UNK_TYPE","UNK_TYPE"),
|
||||
@@ -287,6 +303,11 @@ known_funcs = {
|
||||
0x800FFCD8:("func_800FFCD8","f32","f32*, f32, f32, f32, f32"),
|
||||
0x800FFEBC:("func_800FFEBC","s16","s16*, s16, s16, s16, s16"),
|
||||
0x80100504:("func_80100504","UNK_TYPE","u32"),
|
||||
0x80101BC8:("func_80101BC8","UNK_RET","UNK_TYPE, z_GraphicsContext*"),
|
||||
0x801022F0:("func_801022F0","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_TYPE, z_GlobalContext*"),
|
||||
0x80102580:("func_80102580","UNK_TYPE","UNK_PTR, z_GraphicsContext*"),
|
||||
0x80102C88:("func_80102C88","void*","u32"),
|
||||
0x80102CE0:("func_80102CE0","void","void*"),
|
||||
0x80112E80:("func_80112E80","UNK_RET","z_GlobalContext*, UNK_TYPE"),
|
||||
0x80115908:("func_80115908","UNK_RET","z_GlobalContext*, UNK_TYPE"),
|
||||
0x8012C28C:("func_8012C28C","UNK_RET","z_GraphicsContext*"),
|
||||
@@ -299,6 +320,8 @@ known_funcs = {
|
||||
0x80139188:("func_80139188","UNK_TYPE","UNK_PTR, UNK_PTR"),
|
||||
0x80139894:("func_80139894","UNK_RET","UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, f32, f32, f32"),
|
||||
0x801660B8:("func_801660B8","u32*","z_GlobalContext*, u32*, UNK_TYPE"),
|
||||
0x8016A01C:("func_8016A01C","s32","z_GlobalContext*"),
|
||||
0x80172AC8:("func_80172AC8","void*","UNK_PTR, u32"),
|
||||
0x80174BF0:("func_80174BF0","UNK_RET","UNK_TYPE"),
|
||||
0x801795C0:("func_801795C0","f32","f32"),
|
||||
0x8017A6D4:("func_8017A6D4","f32","z_Vector3D*"),
|
||||
@@ -311,6 +334,7 @@ known_funcs = {
|
||||
0x8019F128:("func_8019F128","UNK_RET","u16"),
|
||||
0x8019F1C0:("func_8019F1C0","UNK_RET","UNK_TYPE, u16"),
|
||||
0x8019FAD8:("func_8019FAD8","UNK_RET","UNK_PTR, UNK_TYPE, f32"),
|
||||
0x801A72CC:("func_801A72CC","UNK_RET","UNK_PTR"),
|
||||
|
||||
# ovl_En_Test
|
||||
#0x80862B70:("func_80862B70","void","void* a0"),
|
||||
|
||||
+1154
-21
File diff suppressed because it is too large
Load Diff
+50
-7
@@ -172,19 +172,23 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
/* 0x00000 */ z_GraphicsContext* unk0;
|
||||
/* 0x00004 */ u8 pad0[0x87C];
|
||||
/* 0x00004 */ u8 pad0[0x70];
|
||||
/* 0x00074 */ UNK_TYPE unk74;
|
||||
/* 0x00078 */ u8 pad1[0x07A0];
|
||||
/* 0x00818 */ UNK_TYPE unk818;
|
||||
/* 0x0081C */ u8 pad2[0x64];
|
||||
/* 0x00880 */ UNK_TYPE unk880;
|
||||
/* 0x00884 */ u8 pad1[0x141C];
|
||||
/* 0x00884 */ u8 pad3[0x141C];
|
||||
/* 0x01CA0 */ UNK_TYPE unk1CA0;
|
||||
/* 0x01CA4 */ u8 pad2[0x28];
|
||||
/* 0x01CA4 */ u8 pad4[0x28];
|
||||
/* 0x01CCC */ sGlobalContext1CCC* unk1CCC;
|
||||
/* 0x01CD0 */ u8 pad3[0x15330];
|
||||
/* 0x01CD0 */ u8 pad5[0x15330];
|
||||
/* 0x17000 */ u16 unk17000;
|
||||
/* 0x17002 */ u8 pad4[0xD86];
|
||||
/* 0x17002 */ u8 pad6[0xD86];
|
||||
/* 0x17D88 */ UNK_TYPE unk17D88;
|
||||
/* 0x17D8C */ u8 pad5[0xAB4];
|
||||
/* 0x17D8C */ u8 pad7[0xAB4];
|
||||
/* 0x18840 */ UNK_TYPE unk18840;
|
||||
/* 0x18844 */ u8 pad6[0x40];
|
||||
/* 0x18844 */ u8 pad8[0x40];
|
||||
/* 0x18884 */ UNK_TYPE unk18884;
|
||||
} z_GlobalContext;
|
||||
|
||||
@@ -267,6 +271,45 @@ typedef struct {
|
||||
/* 0x1A4 */ u8 unk1A4;
|
||||
} s800A5D00;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ z_Vector3D position;
|
||||
/* 0x0C */ z_Vector3D velocity;
|
||||
/* 0x18 */ z_Vector3D acceleration;
|
||||
/* 0x24 */ void(*update)(z_GlobalContext*);
|
||||
/* 0x28 */ void(*draw)(z_GlobalContext*);
|
||||
/* 0x2C */ f32 unk2C; // Probaly a z_Vector3D
|
||||
/* 0x30 */ f32 unk30;
|
||||
/* 0x34 */ f32 unk34;
|
||||
/* 0x38 */ u32 unk38;
|
||||
/* 0x3C */ u32 unk3C;
|
||||
/* 0x42 */ u16 unk40[13];
|
||||
/* 0x5A */ u16 flags; // bit 0: set if this entry is not considered free on a priority tie bit 1: ? bit 2: ?
|
||||
/* 0x5C */ s16 life; // -1 means this entry is free
|
||||
/* 0x5E */ u8 priority; // Lower value means higher priority
|
||||
/* 0x5F */ u8 type;
|
||||
} z_LoadedParticleEntry;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 unk0;
|
||||
/* 0x4 */ u32(*init)(z_GlobalContext*, u32, z_LoadedParticleEntry*, void*);
|
||||
} z_ParticleOverlayInfo;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x08 */ u32 vramStart;
|
||||
/* 0x0C */ u32 vramEnd;
|
||||
/* 0x10 */ u32 loadedRamAddr;
|
||||
/* 0x14 */ z_ParticleOverlayInfo* overlayInfo;
|
||||
/* 0x18 */ u32 unk18; // Always 0x01000000?
|
||||
} z_ParticleOverlayTableEntry;
|
||||
|
||||
typedef struct {
|
||||
z_LoadedParticleEntry* data_table; // Name from debug assert
|
||||
s32 searchIndex;
|
||||
s32 size;
|
||||
} z_EffectTableInfo;
|
||||
|
||||
// TODO everything past here should be placed in an appropiate libultra header
|
||||
|
||||
|
||||
|
||||
+1270
-13
File diff suppressed because it is too large
Load Diff
@@ -36,7 +36,7 @@ z_ActorInit bgBgFuKaitenInitVar = {
|
||||
f32 D_80ACB650 = 0.002;
|
||||
|
||||
|
||||
// This starts with 3 NOPs, is this another section?
|
||||
// Overlay info
|
||||
GLOBAL_ASM(
|
||||
.data
|
||||
glabel D_80ACB654
|
||||
|
||||
@@ -55,7 +55,7 @@ z_ActorCompInitEntry bgIkanaRayCompInit[] = {
|
||||
{0, 9, 0x058, 100}
|
||||
};
|
||||
|
||||
// Unused?
|
||||
// Overlay info
|
||||
GLOBAL_ASM(
|
||||
.data
|
||||
glabel D_80BD562C
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2491,7 +2491,7 @@ D_801AE338 = 0x801AE338;
|
||||
D_801AE34C = 0x801AE34C;
|
||||
D_801AE374 = 0x801AE374;
|
||||
D_801AE388 = 0x801AE388;
|
||||
D_801AE3A0 = 0x801AE3A0;
|
||||
EffectSS2Info = 0x801AE3A0;
|
||||
D_801AE3A4 = 0x801AE3A4;
|
||||
D_801AE3B0 = 0x801AE3B0;
|
||||
D_801AE3B4 = 0x801AE3B4;
|
||||
@@ -2517,7 +2517,7 @@ D_801AE488 = 0x801AE488;
|
||||
D_801AE489 = 0x801AE489;
|
||||
D_801AE48C = 0x801AE48C;
|
||||
D_801AE490 = 0x801AE490;
|
||||
D_801AE4A0 = 0x801AE4A0;
|
||||
particleOverlayTable = 0x801AE4A0;
|
||||
D_801AE4B0 = 0x801AE4B0;
|
||||
D_801AE4BC = 0x801AE4BC;
|
||||
D_801AE8F0 = 0x801AE8F0;
|
||||
|
||||
@@ -150,6 +150,8 @@ known_vars = {
|
||||
0x801AE084:("D_801AE084","u8",True),
|
||||
0x801AE194:("D_801AE194","s32",True), # length 32
|
||||
0x801AE214:("D_801AE214","u8",True), # length 32
|
||||
0x801AE3A0:("EffectSS2Info","z_EffectTableInfo",False),
|
||||
0x801AE4A0:("particleOverlayTable","z_ParticleOverlayTableEntry",True), # length 0x28
|
||||
0x801AEFD0:("","s800BF9A0",False),
|
||||
0x801B4610:("","UNK_TYPE",False),
|
||||
0x801B9F20:("","s800E03A0",False), # actually an array of size 23?
|
||||
|
||||
Reference in New Issue
Block a user