From dfc55faa5b4f9bc6702c4d6c8e033b6a9b515c40 Mon Sep 17 00:00:00 2001 From: Agent X <44549182+AgentXLP@users.noreply.github.com> Date: Sun, 30 Jun 2024 15:09:07 -0400 Subject: [PATCH] Fix Waluigi --- actors/waluigi/geo.inc.c | 13 ++++++++++++- actors/waluigi/model.inc.c | 33 ++++++++++++++++++++++++--------- palettes/Waluigi.ini | 2 +- src/game/characters.c | 3 +++ 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/actors/waluigi/geo.inc.c b/actors/waluigi/geo.inc.c index 985495b4..ec6c26db 100644 --- a/actors/waluigi/geo.inc.c +++ b/actors/waluigi/geo.inc.c @@ -120,8 +120,9 @@ const GeoLayout waluigi_geo_right_hand[] = { // 0x1700053C const GeoLayout waluigi_geo_body[] = { GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL), - GEO_SCALE(0x00, 32768), GEO_OPEN_NODE(), + GEO_SCALE(0x00, 32768), + GEO_OPEN_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, waluigi_butt), // starts sharing solid color with mario_torso (blue) GEO_OPEN_NODE(), GEO_ASM(0, geo_move_mario_part_from_parent), @@ -185,6 +186,7 @@ const GeoLayout waluigi_geo_body[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_RETURN(), }; @@ -310,6 +312,8 @@ const GeoLayout waluigi_vanish_geo_right_hand[] = { const GeoLayout waluigi_vanish_geo_body[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL), GEO_OPEN_NODE(), + GEO_SCALE(0x00, 32768), + GEO_OPEN_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, waluigi_butt), GEO_OPEN_NODE(), GEO_ASM(0, geo_move_mario_part_from_parent), @@ -373,6 +377,7 @@ const GeoLayout waluigi_vanish_geo_body[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_RETURN(), }; @@ -461,6 +466,8 @@ const GeoLayout waluigi_metal_geo_right_hand[] = { const GeoLayout waluigi_metal_geo_body[] = { GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL), GEO_OPEN_NODE(), + GEO_SCALE(0x00, 32768), + GEO_OPEN_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, waluigi_metal_butt), // starts sharing metal texture with the dls below GEO_OPEN_NODE(), GEO_ASM(0, geo_move_mario_part_from_parent), @@ -524,6 +531,7 @@ const GeoLayout waluigi_metal_geo_body[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_RETURN(), }; @@ -612,6 +620,8 @@ const GeoLayout waluigi_metal_vanish_geo_right_hand[] = { const GeoLayout waluigi_metal_vanish_geo_body[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL), GEO_OPEN_NODE(), + GEO_SCALE(0x00, 32768), + GEO_OPEN_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, waluigi_metal_butt), GEO_OPEN_NODE(), GEO_ASM(0, geo_move_mario_part_from_parent), @@ -675,6 +685,7 @@ const GeoLayout waluigi_metal_vanish_geo_body[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_RETURN(), }; diff --git a/actors/waluigi/model.inc.c b/actors/waluigi/model.inc.c index 1d1c9133..f5c8a4da 100644 --- a/actors/waluigi/model.inc.c +++ b/actors/waluigi/model.inc.c @@ -1522,9 +1522,9 @@ static const Vtx waluigi_mouth_cap_on_dl_vertex[26] = { {{ {87, 59, 70}, 0, {1769, 103}, {249, 62, 110, 255} }}, {{ {21, 81, 31}, 0, {1371, 773}, {245, 84, 94, 255} }}, {{ {34, 104, 0}, 0, {1008, 644}, {14, 126, 0, 255} }}, + {{ {20, 65, -40}, 0, {469, 794}, {204, 44, 149, 255} }}, {{ {21, 81, -31}, 0, {645, 773}, {245, 84, 162, 255} }}, {{ {63, 68, -64}, 0, {340, 322}, {242, 80, 158, 255} }}, - {{ {20, 65, -40}, 0, {469, 794}, {204, 44, 149, 255} }}, }; static const Vtx waluigi_face_cap_dl_vertex[44] = { @@ -1742,15 +1742,30 @@ const Gfx waluigi_hair_sideburn_cap_on_dl[] = { }; const Gfx waluigi_mouth_cap_on_dl[] = { - gsSPVertex(waluigi_mouth_cap_on_dl_vertex + 0, 10, 0), + gsSPVertex(waluigi_mouth_cap_on_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(0, 3, 4, 0), - gsSP1Triangle(5, 0, 4, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(4, 7, 6, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(8, 9, 6, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(3, 0, 4, 0), + gsSP1Triangle(4, 0, 5, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(10, 7, 9, 0), + gsSP1Triangle(10, 9, 11, 0), + gsSP1Triangle(3, 10, 11, 0), + gsSP1Triangle(3, 11, 12, 0), + gsSP1Triangle(12, 11, 13, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(13, 15, 14, 0), + gsSPVertex(waluigi_mouth_cap_on_dl_vertex + 16, 10, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(3, 5, 2, 0), + gsSP1Triangle(5, 3, 6, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(8, 6, 9, 0), gsSPEndDisplayList(), }; diff --git a/palettes/Waluigi.ini b/palettes/Waluigi.ini index af3a822d..ea6ef4f7 100644 --- a/palettes/Waluigi.ini +++ b/palettes/Waluigi.ini @@ -21,5 +21,5 @@ CAP_R = 97 CAP_G = 38 CAP_B = 176 EMBLEM_R = 255 -EMBLEM_G = 189 +EMBLEM_G = 222 EMBLEM_B = 0 diff --git a/src/game/characters.c b/src/game/characters.c index 662ff526..6c2de51f 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -247,6 +247,9 @@ struct Character gCharacters[CT_MAX] = { // anim .animOffsetEnabled = false, + // character anims + .animWalking = WALUIGI_ANIM_WALKING, + // sounds .soundFreqScale = 0.99f, .soundYahWahHoo = SOUND_LUIGI_YAH_WAH_HOO,