diff --git a/splat.yaml b/splat.yaml index d15f1a0..3ec1dc7 100644 --- a/splat.yaml +++ b/splat.yaml @@ -786,31 +786,32 @@ segments: # - { start: 0x165FC0, type: bss, vram: 0x80214E50 } - # - type: code - # dir: overlay_165FC0 - # start: 0x165FC0 - # vram: 0x80214F80 - # bss_size: 0xD0 - # symbol_name_format: overlay_165FC0_$VRAM_$ROM - # exclusive_ram_id: test_overlapping - # subsegments: - # - [0x165FC0, asm] - # - [0x167DE0, asm] - # - [0x16ECA0, asm] - # - [0x16F990, asm] + - type: code + dir: overlay_165FC0 + start: 0x165FC0 + vram: 0x80214F80 + bss_size: 0xD0 + symbol_name_format: overlay_165FC0_$VRAM_$ROM + exclusive_ram_id: test_overlapping + subsegments: + - [0x165FC0, c, "_ob_proud_sponge"] + - [0x167DE0, c, "_ob_handy_bed"] + - [0x16C3F0, c, "_ob_breakable_doll"] + - [0x16D600, c, "_ob_hungry_cheese"] + - [0x16ECA0, c, "_ob_perfect_cars"] + - [0x16F990, c, "_ob_gruesome_way"] - # - [0x16FB90, data] - # - [0x16FDA0, data] - # # - [0x16FF40, .data, "data_16FF40"] - # - [0x16FF40, data] - # - [0x170100, data] - # - [0x1701E0, data] - # - [0x1701F0, data] - # - [0x171C60, data] - # - [0x171E00, data] - # - [0x171E30, data] + - [0x16FB90, data] + - [0x16FF40, .data, "data_16FF40"] + - [0x170100, data] - # # - { start: 0x171EA0, type: bss, vram: 0x80220E60 } + - [0x171DA0, .rodata, "_ob_handy_bed"] + - [0x171E00, .rodata, "_ob_breakable_doll"] + - [0x171E30, .rodata, "_ob_hungry_cheese"] + + - { start: 0x171EA0, type: bss, vram: 0x80220E60 } + + - [0x171EA0, bin] # - type: code # dir: overlay_171EA0 diff --git a/src/overlay_165FC0/_ob_breakable_doll.c b/src/overlay_165FC0/_ob_breakable_doll.c new file mode 100644 index 0000000..02229a5 --- /dev/null +++ b/src/overlay_165FC0/_ob_breakable_doll.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021B3B0_16C3F0); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021B7F8_16C838); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021B878_16C8B8); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021B89C_16C8DC); + +INCLUDE_RODATA(const s32, "overlay_165FC0/_ob_breakable_doll", D_overlay_165FC0_80220DC0_171E00); + +INCLUDE_RODATA(const s32, "overlay_165FC0/_ob_breakable_doll", D_overlay_165FC0_80220DC8_171E08); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021B94C_16C98C); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021C1EC_16D22C); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_breakable_doll", func_overlay_165FC0_8021C560_16D5A0); diff --git a/src/overlay_165FC0/_ob_gruesome_way.c b/src/overlay_165FC0/_ob_gruesome_way.c new file mode 100644 index 0000000..11d7169 --- /dev/null +++ b/src/overlay_165FC0/_ob_gruesome_way.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_gruesome_way", func_overlay_165FC0_8021E950_16F990); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_gruesome_way", func_overlay_165FC0_8021EA50_16FA90); diff --git a/src/overlay_165FC0/_ob_handy_bed.c b/src/overlay_165FC0/_ob_handy_bed.c new file mode 100644 index 0000000..d19f331 --- /dev/null +++ b/src/overlay_165FC0/_ob_handy_bed.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_80216DA0_167DE0); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021952C_16A56C); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021A270_16B2B0); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021A304_16B344); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021A37C_16B3BC); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021A3F0_16B430); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021A6E0_16B720); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021A9C8_16BA08); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021AB2C_16BB6C); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_handy_bed", func_overlay_165FC0_8021AC40_16BC80); + +INCLUDE_RODATA(const s32, "overlay_165FC0/_ob_handy_bed", D_overlay_165FC0_80220D74_171DB4); + +INCLUDE_RODATA(const s32, "overlay_165FC0/_ob_handy_bed", D_overlay_165FC0_80220D84_171DC4); + +INCLUDE_RODATA(const s32, "overlay_165FC0/_ob_handy_bed", D_overlay_165FC0_80220D94_171DD4); + +INCLUDE_RODATA(const s32, "overlay_165FC0/_ob_handy_bed", D_overlay_165FC0_80220DB8_171DF8); diff --git a/src/overlay_165FC0/_ob_hungry_cheese.c b/src/overlay_165FC0/_ob_hungry_cheese.c new file mode 100644 index 0000000..7e417ee --- /dev/null +++ b/src/overlay_165FC0/_ob_hungry_cheese.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021C5C0_16D600); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021C658_16D698); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021C664_16D6A4); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021C7A8_16D7E8); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021CA8C_16DACC); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021CB28_16DB68); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021CCA4_16DCE4); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021D508_16E548); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021D750_16E790); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_hungry_cheese", func_overlay_165FC0_8021D828_16E868); diff --git a/src/overlay_165FC0/_ob_perfect_cars.c b/src/overlay_165FC0/_ob_perfect_cars.c new file mode 100644 index 0000000..16bfef4 --- /dev/null +++ b/src/overlay_165FC0/_ob_perfect_cars.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_perfect_cars", func_overlay_165FC0_8021DC60_16ECA0); diff --git a/src/overlay_165FC0/_ob_proud_sponge.c b/src/overlay_165FC0/_ob_proud_sponge.c new file mode 100644 index 0000000..959ea5f --- /dev/null +++ b/src/overlay_165FC0/_ob_proud_sponge.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_proud_sponge", func_overlay_165FC0_80214F80_165FC0); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_proud_sponge", func_overlay_165FC0_80216768_1677A8); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_proud_sponge", func_overlay_165FC0_80216A80_167AC0); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_proud_sponge", func_overlay_165FC0_80216B40_167B80); + +INCLUDE_ASM(const s32, "overlay_165FC0/_ob_proud_sponge", func_overlay_165FC0_80216BF0_167C30); diff --git a/src/overlay_165FC0/data_16FF40.c b/src/overlay_165FC0/data_16FF40.c index 653328c..d0e5548 100644 --- a/src/overlay_165FC0/data_16FF40.c +++ b/src/overlay_165FC0/data_16FF40.c @@ -6,58 +6,57 @@ extern u32 D_800E91D0; /* 16FF40 8021EF00 */ -void* D_overlay_165FC0_8021EF00_16FF40 = &D_800E91D0; +void *D_overlay_165FC0_8021EF00_16FF40 = &D_800E91D0; -/* 16FF44 8021EF04 */ +/* 16FF44 8021EF04 */ u8 D_overlay_165FC0_8021EF04_16FF44 = 0; /* 16FF45 8021EF05 */ u8 D_overlay_165FC0_8021EF05_16FF45 = 0; -/* 16FF46 8021EF06 */ +/* 16FF46 8021EF06 */ u16 D_overlay_165FC0_8021EF06_16FF46 = 0; /* 16FF48 8021EF08 */ Vtx VTX_8021EF08[] = { - { 0, 0, -6, 0, 1024, 1024, 96, 96, 84, 255 }, - { -4, 4, 6, 0, 1024, 1024, 144, 144, 132, 255 }, - { -4, -4, 6, 0, 1024, 1024, 32, 32, 24, 255 }, - { 4, -4, 6, 0, 1024, 1024, 16, 16, 10, 255 }, - { 4, 4, 6, 0, 1024, 1024, 208, 208, 192, 255 }, - { 0, 0, -9, 0, 1024, 1024, 0, 120, 216, 255 }, - { -5, 5, 6, 0, 1024, 1024, 0, 120, 216, 255 }, - { 5, 5, 6, 0, 1024, 1024, 0, 120, 216, 255 }, - { 0, 0, -9, 0, 1024, 1024, 120, 0, 216, 255 }, - { 5, 5, 6, 0, 1024, 1024, 120, 0, 216, 255 }, - { 5, -5, 6, 0, 1024, 1024, 120, 0, 216, 255 }, - { 0, 0, -9, 0, 1024, 1024, 0, 136, 216, 255 }, - { 5, -5, 6, 0, 1024, 1024, 0, 136, 216, 255 }, - { -5, -5, 6, 0, 1024, 1024, 0, 136, 216, 255 }, - { 0, 0, -9, 0, 1024, 1024, 136, 0, 216, 255 }, - { -5, -5, 6, 0, 1024, 1024, 136, 0, 216, 255 }, - { -5, 5, 6, 0, 1024, 1024, 136, 0, 216, 255 }, - { -5, 5, 6, 0, 1024, 1024, 0, 0, 127, 255 }, - { -5, -5, 6, 0, 1024, 1024, 0, 0, 127, 255 }, - { 5, -5, 6, 0, 1024, 1024, 0, 0, 127, 255 }, - { 5, 5, 6, 0, 1024, 1024, 0, 0, 127, 255 }, + {0, 0, -6, 0, 1024, 1024, 96, 96, 84, 255}, + {-4, 4, 6, 0, 1024, 1024, 144, 144, 132, 255}, + {-4, -4, 6, 0, 1024, 1024, 32, 32, 24, 255}, + {4, -4, 6, 0, 1024, 1024, 16, 16, 10, 255}, + {4, 4, 6, 0, 1024, 1024, 208, 208, 192, 255}, + {0, 0, -9, 0, 1024, 1024, 0, 120, 216, 255}, + {-5, 5, 6, 0, 1024, 1024, 0, 120, 216, 255}, + {5, 5, 6, 0, 1024, 1024, 0, 120, 216, 255}, + {0, 0, -9, 0, 1024, 1024, 120, 0, 216, 255}, + {5, 5, 6, 0, 1024, 1024, 120, 0, 216, 255}, + {5, -5, 6, 0, 1024, 1024, 120, 0, 216, 255}, + {0, 0, -9, 0, 1024, 1024, 0, 136, 216, 255}, + {5, -5, 6, 0, 1024, 1024, 0, 136, 216, 255}, + {-5, -5, 6, 0, 1024, 1024, 0, 136, 216, 255}, + {0, 0, -9, 0, 1024, 1024, 136, 0, 216, 255}, + {-5, -5, 6, 0, 1024, 1024, 136, 0, 216, 255}, + {-5, 5, 6, 0, 1024, 1024, 136, 0, 216, 255}, + {-5, 5, 6, 0, 1024, 1024, 0, 0, 127, 255}, + {-5, -5, 6, 0, 1024, 1024, 0, 0, 127, 255}, + {5, -5, 6, 0, 1024, 1024, 0, 0, 127, 255}, + {5, 5, 6, 0, 1024, 1024, 0, 0, 127, 255}, }; -const u8 test = -65; - /* 170098 8021F058 */ Gfx DISPLAY_LIST_8021F058[] = { gsDPPipeSync(), - gsSPDisplayList(DISPLAY_LIST_801869C8), + gsSPDisplayList(0x801869C8), gsDPPipeSync(), gsDPPipeSync(), - { 0xE3000A01, 0 }, - // gsSPSetOtherMode(G_SETOTHERMODE_H, 0xa, 1, 0), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPPipeSync(), - gsSPTexture(0, 0, 0, 0, 0), - { 0xD9000000, 0 }, - { 0xD9FFFFFF, 0x00200405 }, - { 0xE200001C, 0x00552078 }, - { 0xFCFFFFFF, 0xFFFE793C }, + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | + G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | + G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPPipeSync(), gsSPEndDisplayList(), }; \ No newline at end of file