diff --git a/config/GAFE01_00/config.yml b/config/GAFE01_00/config.yml index e58fe69a..9f78c812 100644 --- a/config/GAFE01_00/config.yml +++ b/config/GAFE01_00/config.yml @@ -25455,4 +25455,92 @@ modules: header: assets/act_balloon_v.inc header_type: none custom_type: vtx + + - symbol: act_bee_tex_txt + binary: assets/act_bee_tex_txt.bin + header: assets/act_bee_tex_txt.inc + header_type: raw + - symbol: act_bee_v + binary: assets/act_bee_v.bin + header: assets/act_bee_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_honeycomb_pal + binary: assets/obj_f_honeycomb_pal.bin + header: assets/obj_f_honeycomb_pal.inc + header_type: none + custom_type: pal16 + + - symbol: obj_f_honeycomb_tex + binary: assets/obj_f_honeycomb_tex.bin + header: assets/obj_f_honeycomb_tex.inc + header_type: raw + + - symbol: obj_f_honeycomb_v + binary: assets/obj_f_honeycomb_v.bin + header: assets/obj_f_honeycomb_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_tree_baby_tex + binary: assets/obj_f_tree_baby_tex.bin + header: assets/obj_f_tree_baby_tex.inc + header_type: raw + + - symbol: obj_f_tree1_v + binary: assets/obj_f_tree1_v.bin + header: assets/obj_f_tree1_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_tree_dead_tex + binary: assets/obj_f_tree_dead_tex.bin + header: assets/obj_f_tree_dead_tex.inc + header_type: raw + + - symbol: obj_f_tree1_dead_v + binary: assets/obj_f_tree1_dead_v.bin + header: assets/obj_f_tree1_dead_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_tree_young_tex + binary: assets/obj_f_tree_young_tex.bin + header: assets/obj_f_tree_young_tex.inc + header_type: raw + + - symbol: obj_f_tree2_v + binary: assets/obj_f_tree2_v.bin + header: assets/obj_f_tree2_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_tree_leaf_tex + binary: assets/obj_f_tree_leaf_tex.bin + header: assets/obj_f_tree_leaf_tex.inc + header_type: raw + + - symbol: obj_f_tree3_v + binary: assets/obj_f_tree3_v.bin + header: assets/obj_f_tree3_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_tree_trunk_tex + binary: assets/obj_f_tree_trunk_tex.bin + header: assets/obj_f_tree_trunk_tex.inc + header_type: raw + + - symbol: obj_f_tree4_v + binary: assets/obj_f_tree4_v.bin + header: assets/obj_f_tree4_v.inc + header_type: none + custom_type: vtx + + - symbol: obj_f_tree5_v + binary: assets/obj_f_tree5_v.bin + header: assets/obj_f_tree5_v.inc + header_type: none + custom_type: vtx \ No newline at end of file diff --git a/config/GAFE01_00/foresta/splits.txt b/config/GAFE01_00/foresta/splits.txt index 6dff76f9..b7061eec 100644 --- a/config/GAFE01_00/foresta/splits.txt +++ b/config/GAFE01_00/foresta/splits.txt @@ -3720,14 +3720,28 @@ data/npc/model/tex/bea_9.c: data/npc/model/tex/bea_10.c: .data start:0x000ACC40 end:0x000ADE60 -data/dataobject/dataobject_ADE60: +data/model/act_bee.c: .data start:0x000ADE60 end:0x000AE620 + +data/model/f_honeycomb.c: .data start:0x000AE620 end:0x000AE920 + +data/model/f_tree.c: .data start:0x000AE920 end:0x000AEB40 + +data/model/f_tree1.c: .data start:0x000AEB40 end:0x000AECE0 + +data/model/f_tree2.c: .data start:0x000AECE0 end:0x000AF5C0 + +data/model/f_tree3.c: .data start:0x000AF5C0 end:0x000AFF40 + +data/model/f_tree4.c: .data start:0x000AFF40 end:0x000B0918 + +data/model/f_tree5.c: .data start:0x000B0918 end:0x000B0B48 data/field/bg/acre/bg_data.c: diff --git a/configure.py b/configure.py index 4dc38512..764bc6b7 100644 --- a/configure.py +++ b/configure.py @@ -2638,6 +2638,14 @@ config.libs = [ Object(Matching, "data/model/act_ball_d.c"), Object(Matching, "data/model/act_ball_s.c"), Object(Matching, "data/model/act_balloon.c"), + Object(Matching, "data/model/act_bee.c"), + Object(Matching, "data/model/f_honeycomb.c"), + Object(Matching, "data/model/f_tree.c"), + Object(Matching, "data/model/f_tree1.c"), + Object(Matching, "data/model/f_tree2.c"), + Object(Matching, "data/model/f_tree3.c"), + Object(Matching, "data/model/f_tree4.c"), + Object(Matching, "data/model/f_tree5.c"), ], ), ] diff --git a/src/data/model/act_bee.c b/src/data/model/act_bee.c new file mode 100644 index 00000000..2c293679 --- /dev/null +++ b/src/data/model/act_bee.c @@ -0,0 +1,90 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u8 act_bee_tex_txt[] = { +#include "assets/act_bee_tex_txt.inc" +}; + +Vtx act_bee_v[] = { +#include "assets/act_bee_v.inc" +}; + +Gfx act_bee_C_model[] = { + gsSPTexture(4000, 4000, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCombineLERP(0, 0, 0, PRIMITIVE, 1, 0, TEXEL0, TEXEL1, 0, 0, 0, COMBINED, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_ZB_CLD_SURF2), + gsDPSetTextureImage_Dolphin(G_IM_FMT_I, G_IM_SIZ_4b, 32, 32, act_bee_tex_txt), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 15, GX_REPEAT, GX_REPEAT, 15, 15), + gsDPSetTextureImage_Dolphin(G_IM_FMT_I, G_IM_SIZ_4b, 32, 32, act_bee_tex_txt), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 1, 15, GX_REPEAT, GX_REPEAT, 15, 15), + gsSPDisplayList(0x8000000), + gsSPMatrix(anime_6_txt + 0x40, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW), + gsSPLoadGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH), + gsSPVertex(act_bee_v, 5, 0), + gsSPMatrix(anime_6_txt + 0x80, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW), + gsSPVertex(&act_bee_v[5], 21, 5), + gsSPNTrianglesInit_5b(10, 2, 5, 6, 2, 7, 3, 3, 8, 9), + gsSPNTriangles_5b(3, 10, 0, 1, 11, 12, 1, 13, 4, 0, 14, 15), + gsSPNTriangles_5b(0, 16, 1, 4, 17, 18, 4, 19, 2, 0, 0, 0), + gsSPNTrianglesInit_5b(5, 20, 21, 22, 22, 21, 23, 24, 21, 25), + gsSPNTriangles_5b(23, 21, 24, 25, 21, 20, 0, 0, 0, 0, 0, 0), + gsSPEndDisplayList() +}; + +Gfx act_bee_B_model[] = { + gsSPTexture(4000, 4000, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCombineLERP(0, 0, 0, PRIMITIVE, 1, 0, TEXEL0, TEXEL1, 0, 0, 0, COMBINED, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_ZB_CLD_SURF2), + gsDPSetTextureImage_Dolphin(G_IM_FMT_I, G_IM_SIZ_4b, 32, 32, act_bee_tex_txt), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 15, GX_REPEAT, GX_REPEAT, 15, 15), + gsDPSetTextureImage_Dolphin(G_IM_FMT_I, G_IM_SIZ_4b, 32, 32, act_bee_tex_txt), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 1, 15, GX_REPEAT, GX_REPEAT, 15, 15), + gsSPDisplayList(0x8000000), + gsSPMatrix(anime_6_txt, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW), + gsSPLoadGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH), + gsSPVertex(&act_bee_v[26], 5, 0), + gsSPMatrix(anime_6_txt + 0x40, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW), + gsSPVertex(&act_bee_v[31], 15, 5), + gsSPNTrianglesInit_5b(10, 2, 5, 6, 2, 7, 3, 3, 8, 9), + gsSPNTriangles_5b(3, 10, 4, 0, 11, 12, 0, 13, 1, 4, 14, 15), + gsSPNTriangles_5b(4, 16, 0, 1, 17, 18, 1, 19, 2, 0, 0, 0), + gsSPEndDisplayList() +}; + +Gfx act_bee_A_model[] = { + gsSPTexture(4000, 4000, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCombineLERP(0, 0, 0, PRIMITIVE, 1, 0, TEXEL0, TEXEL1, 0, 0, 0, COMBINED, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_ZB_CLD_SURF2), + gsDPSetTextureImage_Dolphin(G_IM_FMT_I, G_IM_SIZ_4b, 32, 32, act_bee_tex_txt), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 15, GX_REPEAT, GX_REPEAT, 15, 15), + gsDPSetTextureImage_Dolphin(G_IM_FMT_I, G_IM_SIZ_4b, 32, 32, act_bee_tex_txt), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 1, 15, GX_REPEAT, GX_REPEAT, 15, 15), + gsSPDisplayList(0x8000000), + gsSPLoadGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH), + gsSPVertex(&act_bee_v[46], 12, 0), + gsSPNTrianglesInit_5b(15, 0, 1, 2, 0, 3, 4, 0, 4, 1), + gsSPNTriangles_5b(5, 4, 6, 5, 6, 7, 5, 7, 2, 8, 9, 2), + gsSPNTriangles_5b(8, 10, 11, 8, 11, 9, 7, 6, 10, 7, 10, 8), + gsSPNTriangles_5b(7, 8, 2, 9, 11, 3, 9, 3, 0, 9, 0, 2), + gsSPEndDisplayList() +}; + +u8 cKF_ckcb_r_act_bee_tbl[] = { 0, 0, 2, 2 }; + +s16 cKF_kn_act_bee_tbl[] = { 2, 2 }; + +s16 cKF_c_act_bee_tbl[] = { 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0 }; + +s16 cKF_ds_act_bee_tbl[] = { 1, 300, -100, 181, -300, -100, 1, 300, -100, 181, -300, -100 }; + +cKF_Animation_R_c cKF_ba_r_act_bee[] = { { cKF_ckcb_r_act_bee_tbl, cKF_ds_act_bee_tbl, cKF_kn_act_bee_tbl, + cKF_c_act_bee_tbl, -1, 181 } }; + +cKF_Joint_R_c cKF_je_r_act_bee_tbl[] = { { NULL, 1, cKF_JOINT_FLAG_DISP_XLU, { 0, 0, 0 } }, + { act_bee_A_model, 1, cKF_JOINT_FLAG_DISP_XLU, { 0, 0, 0 } }, + { act_bee_B_model, 1, cKF_JOINT_FLAG_DISP_XLU, { 1000, 0, 0 } }, + { act_bee_C_model, 0, cKF_JOINT_FLAG_DISP_XLU, { 1500, 0, 0 } } }; + +cKF_Skeleton_R_c cKF_bs_r_act_bee[] = { { ARRAY_COUNT(cKF_je_r_act_bee_tbl), 3, cKF_je_r_act_bee_tbl } }; diff --git a/src/data/model/f_honeycomb.c b/src/data/model/f_honeycomb.c new file mode 100644 index 00000000..4d0b0ef2 --- /dev/null +++ b/src/data/model/f_honeycomb.c @@ -0,0 +1,40 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u16 obj_f_honeycomb_pal[] = { +#include "assets/obj_f_honeycomb_pal.inc" +}; + +u8 obj_f_honeycomb_tex[] = { +#include "assets/obj_f_honeycomb_tex.inc" +}; + +Vtx obj_f_honeycomb_v[] = { +#include "assets/obj_f_honeycomb_v.inc" +}; + +Gfx obj_f_honeycombT_mat_model[] = { + gsDPPipeSync(), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, obj_f_honeycomb_pal), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_4b, 0, 496, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadTLUTCmd(G_TX_LOADTILE, 15), + gsDPPipeSync(), + gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_16b, 1, obj_f_honeycomb_tex), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 255, 1024), + gsDPPipeSync(), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0, G_TX_RENDERTILE, 15, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 124, 124), + gsSPEndDisplayList() +}; + +Gfx obj_f_honeycombT_gfx_model[] = { gsSPVertex(obj_f_honeycomb_v, 4, 0), gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSPEndDisplayList() }; diff --git a/src/data/model/f_tree.c b/src/data/model/f_tree.c new file mode 100644 index 00000000..ae726f13 --- /dev/null +++ b/src/data/model/f_tree.c @@ -0,0 +1,32 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u8 obj_f_tree_baby_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/obj_f_tree_baby_tex.inc" +}; + +Vtx obj_f_tree1_v[] = { +#include "assets/obj_f_tree1_v.inc" +}; + +Gfx obj_f_tree1T_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 32, 24, obj_f_tree_baby_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree1T_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 32, 24, obj_f_tree_baby_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree1T_gfx_model[] = { + gsSPVertex(obj_f_tree1_v, 4, 0), + gsSPNTrianglesInit_5b(2, 0, 1, 2, 1, 3, 2, 0, 0, 0), + gsSPEndDisplayList(), +}; diff --git a/src/data/model/f_tree1.c b/src/data/model/f_tree1.c new file mode 100644 index 00000000..3afdb455 --- /dev/null +++ b/src/data/model/f_tree1.c @@ -0,0 +1,32 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u8 obj_f_tree_dead_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/obj_f_tree_dead_tex.inc" +}; + +Vtx obj_f_tree1_dead_v[] = { +#include "assets/obj_f_tree1_dead_v.inc" +}; + +Gfx obj_f_tree1_deadT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 32, 16, obj_f_tree_dead_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree1_deadT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 32, 16, obj_f_tree_dead_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree1_deadT_gfx_model[] = { + gsSPVertex(obj_f_tree1_dead_v, 4, 0), + gsSPNTrianglesInit_5b(2, 0, 1, 2, 1, 3, 2, 0, 0, 0), + gsSPEndDisplayList(), +}; diff --git a/src/data/model/f_tree2.c b/src/data/model/f_tree2.c new file mode 100644 index 00000000..8d11a7e2 --- /dev/null +++ b/src/data/model/f_tree2.c @@ -0,0 +1,33 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u8 obj_f_tree_young_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/obj_f_tree_young_tex.inc" +}; + +Vtx obj_f_tree2_v[] = { +#include "assets/obj_f_tree2_v.inc" +}; + +Gfx obj_f_tree2T_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_young_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree2T_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_young_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree2T_gfx_model[] = { + gsSPVertex(obj_f_tree2_v, 7, 0), + gsSPNTrianglesInit_5b(7, 0, 1, 2, 2, 3, 0, 3, 4, 0), + gsSPNTriangles_5b(0, 5, 1, 0, 4, 5, 3, 6, 4, 4, 6, 5), + gsSPEndDisplayList(), +}; diff --git a/src/data/model/f_tree3.c b/src/data/model/f_tree3.c new file mode 100644 index 00000000..60ff776b --- /dev/null +++ b/src/data/model/f_tree3.c @@ -0,0 +1,56 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u8 obj_f_tree_leaf_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/obj_f_tree_leaf_tex.inc" +}; + +Vtx obj_f_tree3_v[] = { +#include "assets/obj_f_tree3_v.inc" +}; + +extern u8 obj_f_tree_young_tex[]; + +Gfx obj_f_tree3_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_leaf_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree3_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_leaf_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree3_leafT_gfx_model[] = { + gsSPVertex(obj_f_tree3_v, 5, 0), + gsSPNTrianglesInit_5b(4, 0, 1, 2, 1, 3, 2, 0, 2, 4), + gsSPNTriangles_5b(3, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree3_trunkT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_young_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree3_trunkT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_young_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree3_trunkT_gfx_model[] = { + gsSPVertex(&obj_f_tree3_v[5], 7, 0), + gsSPNTrianglesInit_5b(6, 0, 1, 2, 0, 3, 1, 2, 1, 4), + gsSPNTriangles_5b(1, 5, 4, 3, 6, 1, 1, 6, 5, 0, 0, 0), + gsSPEndDisplayList(), +}; diff --git a/src/data/model/f_tree4.c b/src/data/model/f_tree4.c new file mode 100644 index 00000000..e0740597 --- /dev/null +++ b/src/data/model/f_tree4.c @@ -0,0 +1,57 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +u8 obj_f_tree_trunk_tex[] ATTRIBUTE_ALIGN(32) = { +#include "assets/obj_f_tree_trunk_tex.inc" +}; + +Vtx obj_f_tree4_v[] = { +#include "assets/obj_f_tree4_v.inc" +}; + +extern u8 obj_f_tree_leaf_tex[]; + +Gfx obj_f_tree4_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_leaf_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree4_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_leaf_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree4_leafT_gfx_model[] = { + gsSPVertex(obj_f_tree4_v, 10, 0), + gsSPNTrianglesInit_5b(8, 0, 1, 2, 1, 3, 2, 0, 2, 4), + gsSPNTriangles_5b(3, 4, 2, 5, 6, 7, 8, 5, 7, 9, 7, 6), + gsSPNTriangles_5b(9, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree4_trunkT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_trunk_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree4_trunkT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_trunk_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree4_trunkT_gfx_model[] = { + gsSPVertex(&obj_f_tree4_v[10], 7, 0), + gsSPNTrianglesInit_5b(6, 0, 1, 2, 1, 3, 2, 4, 2, 5), + gsSPNTriangles_5b(4, 0, 2, 5, 2, 6, 2, 3, 6, 0, 0, 0), + gsSPEndDisplayList(), +}; diff --git a/src/data/model/f_tree5.c b/src/data/model/f_tree5.c new file mode 100644 index 00000000..d42d9a80 --- /dev/null +++ b/src/data/model/f_tree5.c @@ -0,0 +1,55 @@ +#include "libforest/gbi_extensions.h" +#include "PR/gbi.h" +#include "evw_anime.h" +#include "c_keyframe.h" + +Vtx obj_f_tree5_v[] = { +#include "assets/obj_f_tree5_v.inc" +}; + +extern u8 obj_f_tree_leaf_tex[]; +extern u8 obj_f_tree_trunk_tex[]; + +Gfx obj_f_tree5_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_leaf_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree5_leafT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_leaf_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_MIRROR, GX_MIRROR, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree5_leafT_gfx_model[] = { + gsSPVertex(obj_f_tree5_v, 15, 0), + gsSPNTrianglesInit_5b(12, 0, 1, 2, 3, 2, 1, 4, 0, 2), + gsSPNTriangles_5b(3, 4, 2, 5, 6, 7, 8, 5, 7, 9, 8, 7), + gsSPNTriangles_5b(9, 7, 6, 10, 11, 12, 10, 13, 11, 13, 14, 11), + gsSPNTriangles_5b(14, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree5_trunkT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_trunk_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 6, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_gold_tree5_trunkT_mat_model[] = { + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_ON), + gsDPSetTextureImage_Dolphin(G_IM_FMT_CI, G_IM_SIZ_4b, 64, 64, obj_f_tree_trunk_tex), + gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, 8, GX_CLAMP, GX_CLAMP, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx obj_f_tree5_trunkT_gfx_model[] = { + gsSPVertex(&obj_f_tree5_v[15], 7, 0), + gsSPNTrianglesInit_5b(6, 0, 1, 2, 1, 3, 2, 4, 2, 5), + gsSPNTriangles_5b(4, 0, 2, 5, 2, 6, 2, 3, 6, 0, 0, 0), + gsSPEndDisplayList(), +}; diff --git a/tools/converters/gfxdis.py b/tools/converters/gfxdis.py index 02983ce3..e5b34316 100644 --- a/tools/converters/gfxdis.py +++ b/tools/converters/gfxdis.py @@ -1549,8 +1549,8 @@ def gfx_gsSPSettImg(data): return gf_call("gsDPSetTextureImage_Dolphin", data, B2A(21, 3, DU, strarg_fmt), B2A(19, 2, DU, strarg_siz), - B2A(10, 8, DU, lambda x: str((x+1)*4)), B2A(0, 10, DU, lambda x: str(x+1)), + B2A(10, 8, DU, lambda x: str((x+1)*4)), GFX_SYMBOL) else: return gf_call("gsDPSetTextureImage", data,