From 3c590642ca9836ba6f950cd1f0024bb581470684 Mon Sep 17 00:00:00 2001 From: Cuyler36 Date: Sat, 16 Mar 2024 18:56:48 -0400 Subject: [PATCH] Link obj_flower files --- config/assets.yml | 18 +++++ config/rel_disasm_overrides.yml | 1 + config/rel_slices.yml | 4 + src/data/field/bg/flower/obj_flower.c | 90 ++++++++++++++++++++++ src/data/field/bg/flower/obj_flower_leaf.c | 30 ++++++++ 5 files changed, 143 insertions(+) create mode 100644 src/data/field/bg/flower/obj_flower.c create mode 100644 src/data/field/bg/flower/obj_flower_leaf.c diff --git a/config/assets.yml b/config/assets.yml index 72dcf868..96ff6057 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -335,6 +335,24 @@ config/rel.yml: addrs: [0x806E00C0, 0x806E00E0] type: pal16 + # flowers + flower/obj_flower_tex: + addrs: [0x8074FE80, 0x80750680] + flower/obj_flower_a_v: + addrs: [0x80750680, 0x80750700] + type: vtx + flower/obj_flower_b_v: + addrs: [0x80750700, 0x80750780] + type: vtx + flower/obj_flower_c_v: + addrs: [0x80750780, 0x80750800] + type: vtx + flower/obj_flower_leaf_tex: + addrs: [0x807508C0, 0x807510C0] + flower/obj_flower_leaf_v: + addrs: [0x807510C0, 0x80751100] + type: vtx + # dataobj.obj item names itemName_paper: addrs: [0x808BF660, 0x808C0660] diff --git a/config/rel_disasm_overrides.yml b/config/rel_disasm_overrides.yml index 7d9d26ab..089d6a8f 100644 --- a/config/rel_disasm_overrides.yml +++ b/config/rel_disasm_overrides.yml @@ -13,3 +13,4 @@ symbol_aligns: 0x81297E80: 32 # .bss msg.o 0x81296140: 32 # .bss m_island.o 0x80904700: 32 # rom_myhome1_floor_v + 0x80751140: 32 # dataobject.obj/.data/obj_zassou_tex diff --git a/config/rel_slices.yml b/config/rel_slices.yml index ba2df96a..b3c00cac 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -1000,6 +1000,10 @@ ac_weather_fine.c: # dataobject.obj files +data/field/bg/flower/obj_flower.c: + .data: [0x8074FE80, 0x807508C0] +data/field/bg/flower/obj_flower_leaf.c: + .data: [0x807508C0, 0x80751140] data/combi/data_combi.c: .data: [0x8080DD80, 0x8080E628] data/item/item_name.c: diff --git a/src/data/field/bg/flower/obj_flower.c b/src/data/field/bg/flower/obj_flower.c new file mode 100644 index 00000000..9eb8b66b --- /dev/null +++ b/src/data/field/bg/flower/obj_flower.c @@ -0,0 +1,90 @@ +#include "libforest/gbi_extensions.h" + +// clang-format off + +static u8 obj_flower_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/flower/obj_flower_tex.inc" +}; + +static Vtx obj_flower_a_v[] = { +#include "assets/flower/obj_flower_a_v.inc" +}; + +static Vtx obj_flower_b_v[] = { +#include "assets/flower/obj_flower_b_v.inc" +}; + +static Vtx obj_flower_c_v[] = { +#include "assets/flower/obj_flower_c_v.inc" +}; + +extern Gfx obj_flower_aT_mat_model[] = { + gsSPTexture(0, 0, 0, 0, G_ON), + gsDPLoadTextureBlock_4b_Dolphin(obj_flower_tex, G_IM_FMT_CI, 128, 32, 0, GX_CLAMP, GX_REPEAT, 0, 0), + gsSPEndDisplayList(), +}; + +extern Gfx obj_flower_bT_mat_model[] = { + gsSPTexture(0, 0, 0, 0, G_ON), + gsDPLoadTextureBlock_4b_Dolphin(obj_flower_tex, G_IM_FMT_CI, 128, 32, 1, GX_CLAMP, GX_REPEAT, 0, 0), + gsSPEndDisplayList(), +}; + +extern Gfx obj_flower_cT_mat_model[] = { + gsSPTexture(0, 0, 0, 0, G_ON), + gsDPLoadTextureBlock_4b_Dolphin(obj_flower_tex, G_IM_FMT_CI, 128, 32, 2, GX_CLAMP, GX_REPEAT, 0, 0), + gsSPEndDisplayList(), +}; + +extern Gfx obj_flower_aT_gfx_model[] = { + gsSPVertex(&obj_flower_a_v[0], 8, 0), + gsSPNTrianglesInit_5b( + 4, // tri count + 0, 1, 2, // tri0 + 0, 2, 3, // tri1 + 4, 5, 6 // tri2 + ), + gsSPNTriangles_5b( + 4, 6, 7, // tri0 + 0, 0, 0, // tri1 + 0, 0, 0, // tri2 + 0, 0, 0 // tri3 + ), + gsSPEndDisplayList(), +}; + +extern Gfx obj_flower_bT_gfx_model[] = { + gsSPVertex(&obj_flower_b_v[0], 8, 0), + gsSPNTrianglesInit_5b( + 4, // tri count + 0, 1, 2, // tri0 + 0, 2, 3, // tri1 + 4, 5, 6 // tri2 + ), + gsSPNTriangles_5b( + 4, 6, 7, // tri0 + 0, 0, 0, // tri1 + 0, 0, 0, // tri2 + 0, 0, 0 // tri3 + ), + gsSPEndDisplayList(), +}; + +extern Gfx obj_flower_cT_gfx_model[] = { + gsSPVertex(&obj_flower_c_v[0], 8, 0), + gsSPNTrianglesInit_5b( + 4, // tri count + 0, 1, 2, // tri0 + 0, 2, 3, // tri1 + 4, 5, 6 // tri2 + ), + gsSPNTriangles_5b( + 4, 6, 7, // tri0 + 0, 0, 0, // tri1 + 0, 0, 0, // tri2 + 0, 0, 0 // tri3 + ), + gsSPEndDisplayList(), +}; + +// clang-format on diff --git a/src/data/field/bg/flower/obj_flower_leaf.c b/src/data/field/bg/flower/obj_flower_leaf.c new file mode 100644 index 00000000..bdb72c12 --- /dev/null +++ b/src/data/field/bg/flower/obj_flower_leaf.c @@ -0,0 +1,30 @@ +#include "libforest/gbi_extensions.h" + +// clang-format off + +static u8 obj_flower_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/flower/obj_flower_leaf_tex.inc" +}; + +static Vtx obj_flower_leaf_v[] = { +#include "assets/flower/obj_flower_leaf_v.inc" +}; + +extern Gfx obj_flower_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, 0, G_ON), + gsDPLoadTextureBlock_4b_Dolphin(obj_flower_tex, G_IM_FMT_CI, 128, 32, 0, GX_CLAMP, GX_REPEAT, 0, 0), + gsSPEndDisplayList(), +}; + +extern Gfx obj_flower_leafT_gfx_model[] = { + gsSPVertex(&obj_flower_leaf_v[0], 4, 0), + gsSPNTrianglesInit_5b( + 2, // tri count + 0, 1, 2, // tri0 + 0, 2, 3, // tri1 + 0, 0, 0 // tri2 + ), + gsSPEndDisplayList(), +}; + +// clang-format on