Update Wario, hope this works...

This commit is contained in:
FluffaMario 2023-12-08 03:38:52 -06:00
parent dc37659c4e
commit 1df1cc9558
16 changed files with 392 additions and 191 deletions

View file

@ -368,7 +368,6 @@ const Gfx luigi_cap_seg3_dl_03023160[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2), gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPDisplayList(luigi_cap_seg3_dl_03022D10), gsSPDisplayList(luigi_cap_seg3_dl_03022D10),
gsDPPipeSync(), gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),

View file

@ -397,7 +397,6 @@ const Gfx mario_cap_seg3_dl_03023160[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2), gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPDisplayList(mario_cap_seg3_dl_03022D10), gsSPDisplayList(mario_cap_seg3_dl_03022D10),
gsDPPipeSync(), gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

View file

@ -1,3 +1,4 @@
#include "geo_header.h"
// Normal Mario Geo // Normal Mario Geo
const GeoLayout wario_geo_face_and_wings[] = { const GeoLayout wario_geo_face_and_wings[] = {
@ -8,9 +9,7 @@ const GeoLayout wario_geo_face_and_wings[] = {
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_NODE_START(), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_ASM(2, geo_mirror_mario_backface_culling), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_on),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_on_dl),
GEO_ASM(3, geo_mirror_mario_backface_culling),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
@ -27,9 +26,7 @@ const GeoLayout wario_geo_face_and_wings[] = {
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_NODE_START(), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_ASM(2, geo_mirror_mario_backface_culling), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_off),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_off_dl),
GEO_ASM(3, geo_mirror_mario_backface_culling),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
@ -191,7 +188,7 @@ const GeoLayout wario_vanish_geo_face_and_wings[] = {
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_NODE_START(), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_on_dl), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_on),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
@ -208,7 +205,7 @@ const GeoLayout wario_vanish_geo_face_and_wings[] = {
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_NODE_START(), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_off_dl), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_hair_sideburn_decal_cap_off),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
@ -671,22 +668,30 @@ const GeoLayout wario_geo_load_body[] = {
// This last geo is used to load all of Mario Geo in the Level Scripts // This last geo is used to load all of Mario Geo in the Level Scripts
const GeoLayout wario_geo[] = { const GeoLayout wario_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_PLAYER, 0xB4, 100), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384), GEO_SHADOW(SHADOW_CIRCLE_PLAYER, 0xB4, 100),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(0, geo_mirror_mario_backface_culling),
GEO_ASM(0, geo_mirror_mario_set_alpha),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_BRANCH(1, wario_geo_load_body), GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_OPAQUE << 2, geo_mirror_mario_backface_culling),
GEO_ASM(LAYER_ALPHA << 2, geo_mirror_mario_backface_culling),
GEO_ASM(LAYER_TRANSPARENT << 2, geo_mirror_mario_backface_culling),
GEO_ASM(0, geo_mirror_mario_set_alpha),
GEO_OPEN_NODE(),
GEO_BRANCH(1, wario_geo_load_body),
GEO_CLOSE_NODE(),
GEO_ASM((LAYER_OPAQUE << 2) | 1, geo_mirror_mario_backface_culling),
GEO_ASM((LAYER_ALPHA << 2) | 1, geo_mirror_mario_backface_culling),
GEO_ASM((LAYER_TRANSPARENT << 2) | 1, geo_mirror_mario_backface_culling),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_ASM(1, geo_mirror_mario_backface_culling), GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_material_revert_render_settings),
GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_ALPHA, wario_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_material_revert_render_settings),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_END(), GEO_END(),
}; };

View file

@ -58,7 +58,7 @@ extern const Gfx wario_face_back_hair_cap_on_dl[];
extern const Gfx wario_nose_cap_on_dl[]; extern const Gfx wario_nose_cap_on_dl[];
extern const Gfx wario_mustache_cap_on_dl[]; extern const Gfx wario_mustache_cap_on_dl[];
extern const Gfx wario_mustache_cap_on_dead_dl[]; extern const Gfx wario_mustache_cap_on_dead_dl[];
extern const Gfx wario_hair_sideburn_decal_cap_on_dl[]; extern const Gfx wario_hair_sideburn_decal_cap_on[];
extern const Gfx wario_face_cap_on_dl[]; extern const Gfx wario_face_cap_on_dl[];
extern const Gfx wario_cap_on_eyes_front[]; extern const Gfx wario_cap_on_eyes_front[];
extern const Gfx wario_cap_on_eyes_half_closed[]; extern const Gfx wario_cap_on_eyes_half_closed[];
@ -77,7 +77,7 @@ extern const Gfx wario_face_hair_cap_off_dl[];
extern const Gfx wario_nose_cap_off_dl[]; extern const Gfx wario_nose_cap_off_dl[];
extern const Gfx wario_mustache_cap_off_dl[]; extern const Gfx wario_mustache_cap_off_dl[];
extern const Gfx wario_mustache_cap_off_dead_dl[]; extern const Gfx wario_mustache_cap_off_dead_dl[];
extern const Gfx wario_hair_sideburn_decal_cap_off_dl[]; extern const Gfx wario_hair_sideburn_decal_cap_off[];
extern const Gfx wario_face_cap_off_dl[]; extern const Gfx wario_face_cap_off_dl[];
extern const Gfx wario_cap_off_eyes_front[]; extern const Gfx wario_cap_off_eyes_front[];
extern const Gfx wario_cap_off_eyes_half_closed[]; extern const Gfx wario_cap_off_eyes_half_closed[];

View file

@ -39,7 +39,8 @@ static const Lights1 wario_black_lights_group = gdSPDefLights1(
); );
#include "actors/mario/mario_externs.h" #include "actors/mario/mario_externs.h"
#define wario_texture_metal mario_texture_metal #define wario_texture_metal_shade mario_texture_metal_shade
#define wario_texture_metal_light mario_texture_metal_light
#define wario_texture_wings_half_1 mario_texture_wings_half_1 #define wario_texture_wings_half_1 mario_texture_wings_half_1
#define wario_texture_wings_half_2 mario_texture_wings_half_2 #define wario_texture_wings_half_2 mario_texture_wings_half_2
#define wario_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 #define wario_texture_metal_wings_half_1 mario_texture_metal_wings_half_1
@ -55,7 +56,15 @@ ALIGNED8 const Texture wario_texture_w_logo[] = {
}; };
ALIGNED8 const Texture wario_texture_hair_sideburn[] = { ALIGNED8 const Texture wario_texture_hair_sideburn[] = {
#include "actors/wario/custom_wario_sideburn.rgba16.inc.c" #include "actors/wario/custom_wario_sideburn.rgba32.inc.c"
};
ALIGNED8 const Texture wario_texture_add_sideburn[] = {
#include "actors/wario/custom_wario_sideburn_add.rgba32.inc.c"
};
ALIGNED8 const Texture wario_texture_skin_sideburn[] = {
#include "actors/wario/custom_wario_skin.rgba16.inc.c"
}; };
ALIGNED8 const Texture wario_texture_mouth[] = { ALIGNED8 const Texture wario_texture_mouth[] = {
@ -267,12 +276,22 @@ const Gfx wario_butt[] = {
}; };
const Gfx wario_metal_butt[] = { const Gfx wario_metal_butt[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN), gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPLoadTextureBlock(wario_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), gsSPTexture(4032, 1984, 0, 0, 1),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), gsSPLight(&wario_black_lights_group.l, 1),
gsSPCopyLightsPlayerPart(METAL), gsSPCopyLightEXT(2, 15),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_texture_metal_shade),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(0, 0, 0, 252, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_texture_metal_light),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(1, 0, 0, 252, 124),
gsSPDisplayList(wario_butt_dl), gsSPDisplayList(wario_butt_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
@ -354,6 +373,8 @@ const Gfx wario_left_arm_shared_dl[] = {
}; };
const Gfx wario_left_arm[] = { const Gfx wario_left_arm[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&wario_green_lights_group.a, 2), gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&wario_green_lights_group.a, 2),
gsSPDisplayList(wario_left_arm_shared_dl), gsSPDisplayList(wario_left_arm_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -512,6 +533,8 @@ const Gfx wario_left_hand_closed_shared_dl[] = {
}; };
const Gfx wario_left_hand_closed[] = { const Gfx wario_left_hand_closed[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(wario_left_hand_closed_shared_dl), gsSPDisplayList(wario_left_hand_closed_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -591,6 +614,8 @@ const Gfx wario_right_arm_shared_dl[] = {
}; };
const Gfx wario_right_arm[] = { const Gfx wario_right_arm[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&wario_green_lights_group.a, 2), gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&wario_green_lights_group.a, 2),
gsSPDisplayList(wario_right_arm_shared_dl), gsSPDisplayList(wario_right_arm_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -746,6 +771,8 @@ const Gfx wario_right_hand_closed_dl[] = {
}; };
const Gfx wario_right_hand_closed[] = { const Gfx wario_right_hand_closed[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(wario_right_hand_closed_dl), gsSPDisplayList(wario_right_hand_closed_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -830,12 +857,22 @@ const Gfx wario_left_thigh[] = {
}; };
const Gfx wario_metal_left_thigh[] = { const Gfx wario_metal_left_thigh[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN), gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPLoadTextureBlock(wario_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), gsSPTexture(4032, 1984, 0, 0, 1),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), gsSPLight(&wario_black_lights_group.l, 1),
gsSPCopyLightsPlayerPart(METAL), gsSPCopyLightEXT(2, 15),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_texture_metal_shade),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(0, 0, 0, 252, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_texture_metal_light),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(1, 0, 0, 252, 124),
gsSPDisplayList(wario_left_thigh_dl), gsSPDisplayList(wario_left_thigh_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
@ -962,6 +999,8 @@ const Gfx wario_left_foot_shared_dl[] = {
}; };
const Gfx wario_left_foot[] = { const Gfx wario_left_foot[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(SHOES), gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(wario_left_foot_shared_dl), gsSPDisplayList(wario_left_foot_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -1029,6 +1068,8 @@ const Gfx wario_right_thigh_shared_dl[] = {
}; };
const Gfx wario_right_thigh[] = { const Gfx wario_right_thigh[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&wario_blue_lights_group.a, 2), gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&wario_blue_lights_group.a, 2),
gsSPDisplayList(wario_right_thigh_shared_dl), gsSPDisplayList(wario_right_thigh_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -1168,6 +1209,8 @@ const Gfx wario_right_foot_dl[] = {
}; };
const Gfx wario_right_foot[] = { const Gfx wario_right_foot[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(SHOES), gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(wario_right_foot_dl), gsSPDisplayList(wario_right_foot_dl),
gsDPPipeSync(), gsDPPipeSync(),
@ -2092,7 +2135,26 @@ const Gfx wario_mustache_cap_on_dead_dl[] = {
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
const Gfx wario_hair_sideburn_decal_cap_on_dl[] = { const Gfx wario_hair_sideburn_decal_cap_on[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCycleType(G_CYC_2CYCLE),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPLight(&wario_black_lights_group.l, 1),
gsSPCopyLightEXT(2, 11),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, wario_texture_hair_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, wario_texture_add_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(1, 0, 0, 124, 124),
gsSPDisplayList(wario_hair_sideburn_cap_on_dl),
gsDPSetCycleType(G_CYC_1CYCLE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
@ -2100,10 +2162,10 @@ const Gfx wario_hair_sideburn_decal_cap_on_dl[] = {
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_texture_hair_sideburn), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_texture_skin_sideburn),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(HAIR), gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(wario_hair_sideburn_cap_on_dl), gsSPDisplayList(wario_hair_sideburn_cap_on_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
@ -2112,7 +2174,6 @@ const Gfx wario_hair_sideburn_decal_cap_on_dl[] = {
}; };
const Gfx wario_face_cap_on_dl[] = { const Gfx wario_face_cap_on_dl[] = {
gsSPDisplayList(wario_hair_sideburn_cap_on_dl),
gsSPDisplayList(wario_face_part_cap_on_dl), gsSPDisplayList(wario_face_part_cap_on_dl),
gsSPCopyLightsPlayerPart(CAP), gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(wario_face_cap_dl), gsSPDisplayList(wario_face_cap_dl),
@ -2130,7 +2191,6 @@ const Gfx wario_face_cap_on_dl[] = {
}; };
const Gfx wario_face_cap_on_dead_dl[] = { const Gfx wario_face_cap_on_dead_dl[] = {
gsSPDisplayList(wario_hair_sideburn_cap_on_dl),
gsSPDisplayList(wario_face_part_cap_on_dl), gsSPDisplayList(wario_face_part_cap_on_dl),
gsSPCopyLightsPlayerPart(CAP), gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(wario_face_cap_dl), gsSPDisplayList(wario_face_cap_dl),
@ -3022,7 +3082,26 @@ const Gfx wario_mustache_cap_off_dead_dl[] = {
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
const Gfx wario_hair_sideburn_decal_cap_off_dl[] = { const Gfx wario_hair_sideburn_decal_cap_off[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCycleType(G_CYC_2CYCLE),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPLight(&wario_black_lights_group.l, 1),
gsSPCopyLightEXT(2, 11),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, wario_texture_hair_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, wario_texture_add_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(1, 0, 0, 124, 124),
gsSPDisplayList(wario_hair_sideburn_cap_off_dl),
gsDPSetCycleType(G_CYC_1CYCLE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
@ -3030,10 +3109,10 @@ const Gfx wario_hair_sideburn_decal_cap_off_dl[] = {
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_texture_hair_sideburn), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_texture_skin_sideburn),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(HAIR), gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(wario_hair_sideburn_cap_off_dl), gsSPDisplayList(wario_hair_sideburn_cap_off_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
@ -3042,7 +3121,6 @@ const Gfx wario_hair_sideburn_decal_cap_off_dl[] = {
}; };
const Gfx wario_face_cap_off_dl[] = { const Gfx wario_face_cap_off_dl[] = {
gsSPDisplayList(wario_hair_sideburn_cap_off_dl),
gsSPDisplayList(wario_face_part_cap_off_dl), gsSPDisplayList(wario_face_part_cap_off_dl),
gsSPCopyLightsPlayerPart(HAIR), gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(wario_face_hair_cap_off_dl), gsSPDisplayList(wario_face_hair_cap_off_dl),
@ -3058,7 +3136,6 @@ const Gfx wario_face_cap_off_dl[] = {
}; };
const Gfx wario_face_cap_off_dead_dl[] = { const Gfx wario_face_cap_off_dead_dl[] = {
gsSPDisplayList(wario_hair_sideburn_cap_off_dl),
gsSPDisplayList(wario_face_part_cap_off_dl), gsSPDisplayList(wario_face_part_cap_off_dl),
gsSPCopyLightsPlayerPart(HAIR), gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(wario_face_hair_cap_off_dl), gsSPDisplayList(wario_face_hair_cap_off_dl),
@ -3417,6 +3494,8 @@ const Gfx wario_left_hand_open_shared_dl[] = {
}; };
const Gfx wario_left_hand_open[] = { const Gfx wario_left_hand_open[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(wario_left_hand_open_shared_dl), gsSPDisplayList(wario_left_hand_open_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -3559,6 +3638,8 @@ const Gfx wario_right_hand_open_dl[] = {
}; };
const Gfx wario_right_hand_open[] = { const Gfx wario_right_hand_open[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(wario_right_hand_open_dl), gsSPDisplayList(wario_right_hand_open_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
@ -3821,6 +3902,7 @@ const Gfx wario_right_hand_cap_bottom_dl[] = {
}; };
const Gfx wario_right_hand_cap_dl[] = { const Gfx wario_right_hand_cap_dl[] = {
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(wario_right_hand_cap_top_dl), gsSPDisplayList(wario_right_hand_cap_top_dl),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in wario_misc.c gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in wario_misc.c
gsSPDisplayList(wario_right_hand_cap_hand_position_dl), gsSPDisplayList(wario_right_hand_cap_hand_position_dl),
@ -3842,27 +3924,27 @@ const Gfx wario_right_hand_cap_dl[] = {
}; };
static const Vtx wario_right_hand_cap_wings_half_1_dl_vertex[10] = { static const Vtx wario_right_hand_cap_wings_half_1_dl_vertex[10] = {
{{{368, 146, 7}, 0, {990, 0}, {0xBE, 0x66, 0xDA, 0xFE}}}, {{{368, 146, 7}, 0, {990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{166, 37, 68}, 0, {0, 2012}, {0xBE, 0x66, 0xDA, 0xFE}}}, {{{166, 37, 68}, 0, {0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{212, 96, 143}, 0, {990, 2012}, {0xBE, 0x66, 0xDA, 0xFE}}}, {{{212, 96, 143}, 0, {990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{368, 146, 7}, 0, {990, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{368, 146, 7}, 0, {990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{322, 87, -67}, 0, {0, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{322, 87, -67}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{166, 37, 68}, 0, {0, 2012}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{166, 37, 68}, 0, {0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{178, -177, 128}, 0, {990, 2012}, {0xA7, 0xB3, 0xCF, 0xFE}}}, {{{178, -177, 128}, 0, {990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{149, -100, 60}, 0, {0, 2012}, {0xA7, 0xB3, 0xCF, 0xFE}}}, {{{149, -100, 60}, 0, {0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{319, -248, -14}, 0, {990, 0}, {0xA7, 0xB3, 0xCF, 0xFE}}}, {{{319, -248, -14}, 0, {990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{290, -171, -81}, 0, {0, 0}, {0xA7, 0xB3, 0xCF, 0xFE}}}, {{{290, -171, -81}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
}; };
static const Vtx wario_right_hand_cap_wings_half_2_dl_vertex[8] = { static const Vtx wario_right_hand_cap_wings_half_2_dl_vertex[8] = {
{{{414, 206, 82}, 0, {990, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{414, 206, 82}, 0, {990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{212, 96, 143}, 0, {0, 2012}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{212, 96, 143}, 0, {0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{258, 156, 218}, 0, {990, 2012}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{258, 156, 218}, 0, {990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{368, 146, 7}, 0, {0, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, {{{368, 146, 7}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{178, -177, 128}, 0, {0, 2012}, {0xA8, 0xB3, 0xCF, 0xFE}}}, {{{178, -177, 128}, 0, {0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{319, -248, -14}, 0, {0, 0}, {0xA8, 0xB3, 0xCF, 0xFE}}}, {{{319, -248, -14}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{349, -325, 53}, 0, {990, 0}, {0xA8, 0xB3, 0xCF, 0xFE}}}, {{{349, -325, 53}, 0, {990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{207, -253, 195}, 0, {990, 2012}, {0xA8, 0xB3, 0xCF, 0xFE}}}, {{{207, -253, 195}, 0, {990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
}; };
const Gfx wario_right_hand_cap_wings_half_1_dl[] = { const Gfx wario_right_hand_cap_wings_half_1_dl[] = {
@ -3886,7 +3968,7 @@ const Gfx wario_right_hand_cap_wings_half_2_dl[] = {
const Gfx wario_right_hand_cap_wings_intial_dl[] = { const Gfx wario_right_hand_cap_wings_intial_dl[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPLight(&wario_white_lights_group.l, 1), gsSPLight(&wario_white_lights_group.l, 1),
@ -3900,7 +3982,7 @@ const Gfx wario_right_hand_cap_wings_intial_dl[] = {
const Gfx wario_right_hand_cap_wings_transparent_intial_dl[] = { const Gfx wario_right_hand_cap_wings_transparent_intial_dl[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPLight(&wario_white_lights_group.l, 1), gsSPLight(&wario_white_lights_group.l, 1),
@ -3915,7 +3997,7 @@ const Gfx wario_right_hand_cap_wings_end_dl[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
@ -4210,23 +4292,25 @@ const Gfx wario_right_hand_peace_shared_dl[] = {
}; };
const Gfx wario_right_hand_peace[] = { const Gfx wario_right_hand_peace[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(wario_right_hand_peace_shared_dl), gsSPDisplayList(wario_right_hand_peace_shared_dl),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
static const Vtx wario_wings_half_1_dl_vertex[] = { static const Vtx wario_wings_half_1_dl_vertex[] = {
{{{ -105, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ -105, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -105, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ -105, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ 0, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ 0, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
}; };
static const Vtx wario_wings_half_2_dl_vertex[] = { static const Vtx wario_wings_half_2_dl_vertex[] = {
{{{ 0, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ 0, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 106, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ 106, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ 0, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 106, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, {{{ 106, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
}; };
const Gfx wario_wings_half_1_dl[] = { const Gfx wario_wings_half_1_dl[] = {
@ -4245,7 +4329,7 @@ const Gfx wario_wings_half_2_dl[] = {
const Gfx wario_cap_wings[] = { const Gfx wario_cap_wings[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(), gsDPTileSync(),
@ -4264,7 +4348,7 @@ const Gfx wario_cap_wings[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
@ -4272,7 +4356,7 @@ const Gfx wario_cap_wings[] = {
const Gfx wario_cap_wings_transparent[] = { const Gfx wario_cap_wings_transparent[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(), gsDPTileSync(),
@ -4291,7 +4375,7 @@ const Gfx wario_cap_wings_transparent[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
@ -4299,7 +4383,7 @@ const Gfx wario_cap_wings_transparent[] = {
const Gfx wario_metal_cap_wings[] = { const Gfx wario_metal_cap_wings[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(), gsDPTileSync(),
@ -4318,22 +4402,22 @@ const Gfx wario_metal_cap_wings[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
// 0x0401CC28 - 0x0401CD20 // 0x0401CC28 - 0x0401CD20
const Gfx wario_metal_cap_wings_transparent[] = { const Gfx wario_metal_cap_wings_transparent[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPLight(&wario_white_lights_group.l, 1),
gsSPLight(&wario_white_lights_group.a, 2),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_texture_metal_wings_half_1), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_texture_metal_wings_half_1),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
@ -4344,10 +4428,8 @@ const Gfx wario_metal_cap_wings_transparent[] = {
gsSPDisplayList(wario_wings_half_2_dl), gsSPDisplayList(wario_wings_half_2_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(), gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK | G_SHADING_SMOOTH), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPLoadTextureBlock(wario_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };

View file

@ -0,0 +1,15 @@
extern ALIGNED8 const Texture wario_texture_white_button[];
extern ALIGNED8 const Texture wario_texture_w_logo[];
extern ALIGNED8 const Texture wario_texture_hair_sideburn[];
extern ALIGNED8 const Texture wario_texture_add_sideburn[];
extern ALIGNED8 const Texture wario_texture_skin_sideburn[];
extern ALIGNED8 const Texture wario_texture_mouth[];
extern ALIGNED8 const Texture wario_texture_mouth_dead[];
extern ALIGNED8 const Texture wario_texture_eyes_front[];
extern ALIGNED8 const Texture wario_texture_eyes_half_closed[];
extern ALIGNED8 const Texture wario_texture_eyes_closed[];
extern ALIGNED8 const Texture wario_texture_eyes_right[];
extern ALIGNED8 const Texture wario_texture_eyes_left[];
extern ALIGNED8 const Texture wario_texture_eyes_up[];
extern ALIGNED8 const Texture wario_texture_eyes_down[];
extern ALIGNED8 const Texture wario_texture_eyes_dead[];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 B

View file

@ -1,84 +1,124 @@
#include "geo_header.h"
// 0x16000CA4 // 0x16000CA4
const GeoLayout warios_cap_geo[] = { const GeoLayout warios_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384), GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_set_player_colors), GEO_SCALE(0x00, 16384),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022F48), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03022F48), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_material_revert_render_settings),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_END(), GEO_END(),
}; };
// 0x16000CF0 // 0x16000CF0
const GeoLayout warios_metal_cap_geo[] = { const GeoLayout warios_metal_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384), GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency), GEO_SCALE(0x00, 16384),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022FF8), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03022FF8), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03022FF8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_material_revert_render_settings),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_END(), GEO_END(),
}; };
// 0x16000D3C // 0x16000D3C
const GeoLayout warios_wing_cap_geo[] = { const GeoLayout warios_wing_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384), GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_set_player_colors), GEO_SCALE(0x00, 16384),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_NODE_START(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022F48), GEO_NODE_START(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_seg3_dl_030230B0), GEO_OPEN_NODE(),
GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022F48),
GEO_NODE_START(), GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_seg3_dl_030230B0),
GEO_OPEN_NODE(), GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03023160), GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03023160),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_material_revert_render_settings),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_END(), GEO_END(),
}; };
// 0x16000DA8 // 0x16000DA8
const GeoLayout warios_winged_metal_cap_geo[] = { const GeoLayout warios_winged_metal_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75), GEO_NODE_START(),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384), GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_set_player_colors), GEO_SCALE(0x00, 16384),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_NODE_START(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(), GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022FF8), GEO_NODE_START(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_seg3_dl_03023108), GEO_OPEN_NODE(),
GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022FF8),
GEO_NODE_START(), GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_seg3_dl_03023108),
GEO_OPEN_NODE(), GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03023298), GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03023298),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_material_revert_render_settings),
GEO_CLOSE_NODE(), GEO_CLOSE_NODE(),
GEO_END(), GEO_END(),
}; };

View file

@ -0,0 +1,19 @@
extern const GeoLayout warios_cap_geo[];
extern const GeoLayout warios_metal_cap_geo[];
extern const GeoLayout warios_wing_cap_geo[];
extern const GeoLayout warios_winged_metal_cap_geo[];
extern const Gfx wario_cap_seg3_dl_03022B30[];
extern const Gfx wario_cap_seg3_dl_03022B68[];
extern const Gfx wario_cap_seg3_dl_03022CC8[];
extern const Gfx wario_cap_seg3_dl_03022D10[];
extern const Gfx wario_cap_seg3_dl_03022E78[];
extern const Gfx wario_cap_seg3_dl_03022EA8[];
extern const Gfx wario_cap_seg3_dl_03022ED8[];
extern const Gfx wario_cap_seg3_dl_03022F20[];
extern const Gfx wario_cap_seg3_dl_03022F48[];
extern const Gfx wario_cap_seg3_dl_03022FF8[];
extern const Gfx wario_cap_seg3_dl_030230B0[];
extern const Gfx wario_cap_seg3_dl_03023108[];
extern const Gfx wario_cap_seg3_dl_03023160[];
extern const Gfx wario_cap_seg3_dl_03023298[];
extern const Gfx wario_cap_material_revert_render_settings[];

View file

@ -18,19 +18,21 @@ static const Lights1 wario_cap_seg3_lights_0301CF38 = gdSPDefLights1(
0xff, 0xbd, 0x00, 0x28, 0x28, 0x28 0xff, 0xbd, 0x00, 0x28, 0x28, 0x28
); );
#include "actors/mario/mario_externs.h" static const Lights1 wario_cap_black_lights_group = gdSPDefLights1(
#include "actors/mario_cap/mario_cap_externs.h" 0x00, 0x00, 0x00,
#define wario_cap_seg3_texture_0301CF50 mario_cap_seg3_texture_0301CF50 0x00, 0x00, 0x00, 0x28, 0x28, 0x28
#define wario_cap_seg3_texture_0301E750 mario_cap_seg3_texture_0301E750 );
#define wario_cap_seg3_texture_0301F750 mario_cap_seg3_texture_0301F750
#define wario_cap_seg3_texture_03020750 mario_cap_seg3_texture_03020750
#define wario_cap_seg3_texture_03021750 mario_cap_seg3_texture_03021750
#define wario_cap_texture_cap_inside mario_texture_cap_inside
// 0x0301DF50 #include "actors/mario/mario_externs.h"
ALIGNED8 const Texture wario_cap_seg3_texture_0301DF50[] = { #include "actors/wario/wario_externs.h"
#include "actors/wario_cap/custom_wario_cap_logo.rgba16.inc.c" #define wario_cap_texture_metal_shade mario_texture_metal_shade
}; #define wario_cap_texture_metal_light mario_texture_metal_light
#define wario_cap_texture_w_logo wario_texture_w_logo
#define wario_cap_texture_wings_half_1 mario_texture_wings_half_1
#define wario_cap_texture_wings_half_2 mario_texture_wings_half_2
#define wario_cap_texture_metal_wings_half_1 mario_texture_metal_wings_half_1
#define wario_cap_texture_metal_wings_half_2 mario_texture_metal_wings_half_2
#define wario_cap_texture_cap_inside mario_texture_cap_inside
// 0x03022750 // 0x03022750
static const Vtx wario_cap_seg3_vertex_03022750[] = { static const Vtx wario_cap_seg3_vertex_03022750[] = {
@ -183,30 +185,30 @@ const Gfx wario_cap_seg3_dl_03022D10[] = {
// 0x03022D38 // 0x03022D38
static const Vtx wario_cap_seg3_vertex_03022D38[] = { static const Vtx wario_cap_seg3_vertex_03022D38[] = {
{{{ 199, 247, -55}, 0, { 990, 0}, {0x59, 0xed, 0x58, 0xff}}}, {{{ 199, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 131, 274, 20}, 0, { 0, 0}, {0x59, 0xed, 0x58, 0xff}}}, {{{ 131, 274, 20}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0x59, 0xed, 0x58, 0xff}}}, {{{ 69, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 199, 247, -55}, 0, { 990, 0}, {0x58, 0xee, 0x58, 0xff}}}, {{{ 199, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0x58, 0xee, 0x58, 0xff}}}, {{{ 69, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 138, 44, -37}, 0, { 990, 2012}, {0x58, 0xee, 0x58, 0xff}}}, {{{ 138, 44, -37}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -137, 44, -37}, 0, { 990, 2012}, {0xa8, 0xee, 0x58, 0xff}}}, {{{ -137, 44, -37}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xa8, 0xee, 0x58, 0xff}}}, {{{ -68, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xa8, 0xee, 0x58, 0xff}}}, {{{ -198, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xa7, 0xed, 0x58, 0xff}}}, {{{ -68, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -130, 274, 20}, 0, { 0, 0}, {0xa7, 0xed, 0x58, 0xff}}}, {{{ -130, 274, 20}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xa7, 0xed, 0x58, 0xff}}}, {{{ -198, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
}; };
// 0x03022DF8 // 0x03022DF8
static const Vtx wario_cap_seg3_vertex_03022DF8[] = { static const Vtx wario_cap_seg3_vertex_03022DF8[] = {
{{{ 268, 219, -132}, 0, { 990, 0}, {0x59, 0xed, 0x57, 0xff}}}, {{{ 268, 219, -132}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 199, 247, -55}, 0, { 0, 0}, {0x59, 0xed, 0x57, 0xff}}}, {{{ 199, 247, -55}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 138, 44, -37}, 0, { 0, 2012}, {0x59, 0xed, 0x57, 0xff}}}, {{{ 138, 44, -37}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 207, 16, -114}, 0, { 990, 2012}, {0x59, 0xed, 0x57, 0xff}}}, {{{ 207, 16, -114}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -206, 16, -114}, 0, { 990, 2012}, {0xa7, 0xed, 0x57, 0xff}}}, {{{ -206, 16, -114}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -137, 44, -37}, 0, { 0, 2012}, {0xa7, 0xed, 0x57, 0xff}}}, {{{ -137, 44, -37}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -267, 219, -132}, 0, { 990, 0}, {0xa7, 0xed, 0x57, 0xff}}}, {{{ -267, 219, -132}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -198, 247, -55}, 0, { 0, 0}, {0xa7, 0xed, 0x57, 0xff}}}, {{{ -198, 247, -55}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
}; };
// 0x03022E78 - 0x03022EA8 // 0x03022E78 - 0x03022EA8
@ -256,7 +258,7 @@ const Gfx wario_cap_seg3_dl_03022F48[] = {
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301DF50), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_w_logo),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2), gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
@ -274,12 +276,22 @@ const Gfx wario_cap_seg3_dl_03022F48[] = {
// 0x03022FF8 - 0x030230B0 // 0x03022FF8 - 0x030230B0
const Gfx wario_cap_seg3_dl_03022FF8[] = { const Gfx wario_cap_seg3_dl_03022FF8[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN), gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPLoadTextureBlock(wario_cap_seg3_texture_0301CF50, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), gsSPTexture(4032, 1984, 0, 0, 1),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), gsSPLight(&wario_cap_black_lights_group.l, 1),
gsSPCopyLightsPlayerPart(METAL), gsSPCopyLightEXT(2, 15),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_cap_texture_metal_shade),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(0, 0, 0, 252, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_cap_texture_metal_light),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(1, 0, 0, 252, 124),
gsSPDisplayList(wario_cap_seg3_dl_03022B30), gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68), gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8), gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
@ -295,11 +307,11 @@ const Gfx wario_cap_seg3_dl_03022FF8[] = {
// 0x030230B0 - 0x03023108 // 0x030230B0 - 0x03023108
const Gfx wario_cap_seg3_dl_030230B0[] = { const Gfx wario_cap_seg3_dl_030230B0[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022ED8), gsSPDisplayList(wario_cap_seg3_dl_03022ED8),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301E750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_wings_half_1),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78), gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301F750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_wings_half_2),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8), gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
@ -310,11 +322,11 @@ const Gfx wario_cap_seg3_dl_030230B0[] = {
// 0x03023108 - 0x03023160 // 0x03023108 - 0x03023160
const Gfx wario_cap_seg3_dl_03023108[] = { const Gfx wario_cap_seg3_dl_03023108[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022ED8), gsSPDisplayList(wario_cap_seg3_dl_03022ED8),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03020750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_metal_wings_half_1),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78), gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03021750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_metal_wings_half_2),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8), gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
@ -331,7 +343,7 @@ const Gfx wario_cap_seg3_dl_03023160[] = {
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301DF50), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_w_logo),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2), gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
@ -347,11 +359,11 @@ const Gfx wario_cap_seg3_dl_03023160[] = {
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301E750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_wings_half_1),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78), gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301F750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_wings_half_2),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8), gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
@ -366,18 +378,22 @@ const Gfx wario_cap_seg3_dl_03023160[] = {
// 0x03023298 - 0x030233D0 // 0x03023298 - 0x030233D0
const Gfx wario_cap_seg3_dl_03023298[] = { const Gfx wario_cap_seg3_dl_03023298[] = {
gsDPPipeSync(), gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN), gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301CF50), gsSPTexture(4032, 1984, 0, 0, 1),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD), gsSPLight(&wario_cap_black_lights_group.l, 1),
gsDPLoadSync(), gsSPCopyLightEXT(2, 15),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 64 * 32 - 1, CALC_DXT(64, G_IM_SIZ_16b_BYTES)), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_cap_texture_metal_shade),
gsDPPipeSync(), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD), gsDPLoadBlock(7, 0, 0, 2047, 128),
gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), gsDPSetTileSize(0, 0, 0, 252, 124),
gsSPCopyLightsPlayerPart(METAL), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, wario_cap_texture_metal_light),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 2047, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(1, 0, 0, 252, 124),
gsSPDisplayList(wario_cap_seg3_dl_03022B30), gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68), gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8), gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
@ -389,11 +405,11 @@ const Gfx wario_cap_seg3_dl_03023298[] = {
gsDPTileSync(), gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03020750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_metal_wings_half_1),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78), gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03021750), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_texture_metal_wings_half_2),
gsDPLoadSync(), gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8), gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
@ -405,3 +421,27 @@ const Gfx wario_cap_seg3_dl_03023298[] = {
gsDPSetEnvColor(255, 255, 255, 255), gsDPSetEnvColor(255, 255, 255, 255),
gsSPEndDisplayList(), gsSPEndDisplayList(),
}; };
const Gfx wario_cap_material_revert_render_settings[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_LIGHTING),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 0),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 256),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 1023, 256),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(1, 0, 0, 124, 124),
gsSPEndDisplayList(),
};

View file

@ -1678,6 +1678,8 @@ extern ALIGNED8 const Texture toad_player_texture_eyes_dead[];
extern ALIGNED8 const Texture wario_texture_white_button[]; extern ALIGNED8 const Texture wario_texture_white_button[];
extern ALIGNED8 const Texture wario_texture_w_logo[]; extern ALIGNED8 const Texture wario_texture_w_logo[];
extern ALIGNED8 const Texture wario_texture_hair_sideburn[]; extern ALIGNED8 const Texture wario_texture_hair_sideburn[];
extern ALIGNED8 const Texture wario_texture_add_sideburn[];
extern ALIGNED8 const Texture wario_texture_skin_sideburn[];
extern ALIGNED8 const Texture wario_texture_mouth[]; extern ALIGNED8 const Texture wario_texture_mouth[];
extern ALIGNED8 const Texture wario_texture_mouth_dead[]; extern ALIGNED8 const Texture wario_texture_mouth_dead[];
extern ALIGNED8 const Texture wario_texture_eyes_front[]; extern ALIGNED8 const Texture wario_texture_eyes_front[];
@ -1688,7 +1690,6 @@ extern ALIGNED8 const Texture wario_texture_eyes_left[];
extern ALIGNED8 const Texture wario_texture_eyes_up[]; extern ALIGNED8 const Texture wario_texture_eyes_up[];
extern ALIGNED8 const Texture wario_texture_eyes_down[]; extern ALIGNED8 const Texture wario_texture_eyes_down[];
extern ALIGNED8 const Texture wario_texture_eyes_dead[]; extern ALIGNED8 const Texture wario_texture_eyes_dead[];
extern ALIGNED8 const Texture wario_cap_seg3_texture_0301DF50[];
extern ALIGNED8 const Texture waluigi_custom_waluigi_overalls_button_rgba16[]; extern ALIGNED8 const Texture waluigi_custom_waluigi_overalls_button_rgba16[];
extern ALIGNED8 const Texture waluigi_custom_waluigi_metal_rgba16[]; extern ALIGNED8 const Texture waluigi_custom_waluigi_metal_rgba16[];

View file

@ -1109,7 +1109,9 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = {
define_builtin_tex(toad_player_texture_eyes_dead, "actors/toad_player/custom_toad_eyes_dead.rgba32.png", 32, 32, 16), define_builtin_tex(toad_player_texture_eyes_dead, "actors/toad_player/custom_toad_eyes_dead.rgba32.png", 32, 32, 16),
define_builtin_tex(wario_texture_white_button, "actors/wario/custom_wario_overalls_button.rgba16.png", 32, 32, 16), define_builtin_tex(wario_texture_white_button, "actors/wario/custom_wario_overalls_button.rgba16.png", 32, 32, 16),
define_builtin_tex(wario_texture_w_logo, "actors/wario/custom_wario_logo.rgba16.png", 32, 32, 16), define_builtin_tex(wario_texture_w_logo, "actors/wario/custom_wario_logo.rgba16.png", 32, 32, 16),
define_builtin_tex(wario_texture_hair_sideburn, "actors/wario/custom_wario_sideburn.rgba16.png", 32, 32, 16), define_builtin_tex(wario_texture_hair_sideburn, "actors/wario/custom_wario_sideburn.rgba32.png", 32, 32, 16),
define_builtin_tex(wario_texture_add_sideburn, "actors/wario/custom_wario_sideburn_add.rgba32.png", 32, 32, 16),
define_builtin_tex(wario_texture_skin_sideburn, "actors/wario/custom_wario_skin.rgba16.png", 32, 32, 16),
define_builtin_tex(wario_texture_mouth, "actors/wario/custom_wario_mouth.rgba16.png", 64, 32, 16), define_builtin_tex(wario_texture_mouth, "actors/wario/custom_wario_mouth.rgba16.png", 64, 32, 16),
define_builtin_tex(wario_texture_mouth_dead, "actors/wario/custom_wario_mouth_dead.rgba16.png", 64, 32, 16), define_builtin_tex(wario_texture_mouth_dead, "actors/wario/custom_wario_mouth_dead.rgba16.png", 64, 32, 16),
define_builtin_tex(wario_texture_eyes_front, "actors/wario/custom_wario_eyes_center.rgba16.png", 64, 32, 16), define_builtin_tex(wario_texture_eyes_front, "actors/wario/custom_wario_eyes_center.rgba16.png", 64, 32, 16),
@ -1120,7 +1122,6 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = {
define_builtin_tex(wario_texture_eyes_up, "actors/wario/custom_wario_eyes_up_unused.rgba16.png", 64, 32, 16), define_builtin_tex(wario_texture_eyes_up, "actors/wario/custom_wario_eyes_up_unused.rgba16.png", 64, 32, 16),
define_builtin_tex(wario_texture_eyes_down, "actors/wario/custom_wario_eyes_down_unused.rgba16.png", 64, 32, 16), define_builtin_tex(wario_texture_eyes_down, "actors/wario/custom_wario_eyes_down_unused.rgba16.png", 64, 32, 16),
define_builtin_tex(wario_texture_eyes_dead, "actors/wario/custom_wario_eyes_dead.rgba16.png", 64, 32, 16), define_builtin_tex(wario_texture_eyes_dead, "actors/wario/custom_wario_eyes_dead.rgba16.png", 64, 32, 16),
define_builtin_tex(wario_cap_seg3_texture_0301DF50, "actors/wario_cap/custom_wario_cap_logo.rgba16.png", 32, 32, 16),
// Waluigi // Waluigi
define_builtin_tex(waluigi_custom_waluigi_overalls_button_rgba16, "actors/waluigi/custom_waluigi_overalls_button.rgba16.png", 32, 32, 16), define_builtin_tex(waluigi_custom_waluigi_overalls_button_rgba16, "actors/waluigi/custom_waluigi_overalls_button.rgba16.png", 32, 32, 16),