From f955b5d92cc554c3d9a015ed5596f594d7f4cd2c Mon Sep 17 00:00:00 2001 From: FluffaMario Date: Wed, 15 Nov 2023 16:53:11 -0600 Subject: [PATCH 1/5] Brighter Logo for Mario --- actors/mario/model.inc.c | 10 ++++++++-- actors/mario_cap/model.inc.c | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 0526356c2..c95731e58 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -2143,8 +2143,10 @@ const Gfx mario_hair_sideburn_decal_cap_on[] = { const Gfx mario_m_logo_decal[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, COMBINED, TEXEL0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPLight(&mario_black_lights_group.l, 1), gsSPCopyLightEXT(2, 15), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), @@ -2158,6 +2160,7 @@ const Gfx mario_m_logo_decal[] = { 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), gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), @@ -3722,8 +3725,10 @@ const Gfx mario_right_hand_cap_bottom_dl[] = { const Gfx mario_right_hand_cap_decal[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, COMBINED, TEXEL0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPLight(&mario_black_lights_group.l, 1), gsSPCopyLightEXT(2, 15), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), @@ -3737,6 +3742,7 @@ const Gfx mario_right_hand_cap_decal[] = { 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), gsSPDisplayList(mario_right_hand_cap_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index 3a3394201..40cf822e6 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -282,8 +282,10 @@ const Gfx mario_cap_seg3_dl_03022F20[] = { const Gfx mario_cap_m_logo_decal[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, COMBINED, TEXEL0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPLight(&mario_cap_black_lights_group.l, 1), gsSPCopyLightEXT(2, 15), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), @@ -297,6 +299,7 @@ const Gfx mario_cap_m_logo_decal[] = { 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), gsSPDisplayList(mario_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), From ebcf2e846e11c78263fdc945c2544684da471347 Mon Sep 17 00:00:00 2001 From: FluffaMario Date: Wed, 15 Nov 2023 19:04:40 -0600 Subject: [PATCH 2/5] Added Luigi --- actors/custom0.h | 20 +- actors/luigi/custom_luigi_cap.rgba16.png | Bin 0 -> 276 bytes actors/luigi/custom_luigi_logo.ia16.png | Bin 462 -> 0 bytes actors/luigi/custom_luigi_logo.rgba16.png | Bin 0 -> 276 bytes .../luigi/custom_luigi_logo_blend.rgba16.png | Bin 0 -> 372 bytes actors/luigi/custom_luigi_sideburn.rgba16.png | Bin 630 -> 0 bytes actors/luigi/custom_luigi_sideburn.rgba32.png | Bin 0 -> 603 bytes .../custom_luigi_sideburn_add.rgba32.png | Bin 0 -> 352 bytes actors/luigi/custom_luigi_skin.rgba16.png | Bin 0 -> 292 bytes actors/luigi/geo.inc.c | 67 +++--- actors/luigi/geo_header.h | 11 +- actors/luigi/luigi_externs.h | 7 + actors/luigi/model.inc.c | 221 +++++++++++++++--- .../luigi_cap/custom_luigi_cap_logo.ia16.png | Bin 462 -> 0 bytes actors/luigi_cap/geo.inc.c | 124 ++++++---- actors/luigi_cap/geo_header.h | 20 ++ actors/luigi_cap/model.inc.c | 185 +++++++++------ actors/mario_cap/geo.inc.c | 8 +- 18 files changed, 450 insertions(+), 213 deletions(-) create mode 100644 actors/luigi/custom_luigi_cap.rgba16.png delete mode 100644 actors/luigi/custom_luigi_logo.ia16.png create mode 100644 actors/luigi/custom_luigi_logo.rgba16.png create mode 100644 actors/luigi/custom_luigi_logo_blend.rgba16.png delete mode 100644 actors/luigi/custom_luigi_sideburn.rgba16.png create mode 100644 actors/luigi/custom_luigi_sideburn.rgba32.png create mode 100644 actors/luigi/custom_luigi_sideburn_add.rgba32.png create mode 100644 actors/luigi/custom_luigi_skin.rgba16.png create mode 100644 actors/luigi/luigi_externs.h delete mode 100644 actors/luigi_cap/custom_luigi_cap_logo.ia16.png create mode 100644 actors/luigi_cap/geo_header.h diff --git a/actors/custom0.h b/actors/custom0.h index 13d59e820..770e56b19 100644 --- a/actors/custom0.h +++ b/actors/custom0.h @@ -7,25 +7,7 @@ #include "actors/error_model/geo_header.h" // luigi_cap -extern const GeoLayout luigis_cap_geo[]; -extern const GeoLayout luigis_metal_cap_geo[]; -extern const GeoLayout luigis_wing_cap_geo[]; -extern const GeoLayout luigis_winged_metal_cap_geo[]; -extern const Gfx luigi_cap_seg3_dl_03022B30[]; -extern const Gfx luigi_cap_seg3_dl_03022B68[]; -extern const Gfx luigi_cap_seg3_dl_03022CC8[]; -extern const Gfx luigi_cap_seg3_dl_03022D10[]; -extern const Gfx luigi_cap_seg3_dl_03022E78[]; -extern const Gfx luigi_cap_seg3_dl_03022EA8[]; -extern const Gfx luigi_cap_seg3_dl_03022ED8[]; -extern const Gfx luigi_cap_seg3_dl_03022F20[]; -extern const Gfx luigi_cap_l_logo_decal_dl[]; -extern const Gfx luigi_cap_seg3_dl_03022F48[]; -extern const Gfx luigi_cap_seg3_dl_03022FF8[]; -extern const Gfx luigi_cap_seg3_dl_030230B0[]; -extern const Gfx luigi_cap_seg3_dl_03023108[]; -extern const Gfx luigi_cap_seg3_dl_03023160[]; -extern const Gfx luigi_cap_seg3_dl_03023298[]; +#include "actors/luigi_cap/geo_header.h" // toad_cap #include "actors/toad_cap/geo_header.h" diff --git a/actors/luigi/custom_luigi_cap.rgba16.png b/actors/luigi/custom_luigi_cap.rgba16.png new file mode 100644 index 0000000000000000000000000000000000000000..d8216b00379a8703fcb1ff4eace0ebb419865ba5 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GxYEjzp>zwk!YVCc$>WSK zeCM?s3uah+a`G%Yi34k%tWfc`(Auy-tRd{{)c2?O8mxpIs(*6TOE)t95n52O#eu>5 ze#h}Xht=Fu^{+MF6j&f{+9Y7Y)l^kb?!Yza-DJaW=_w2X2fnd)ehW(bch2_73^_B+ T42E2wqZvG1{an^LB{Ts5G_Yf7 literal 0 HcmV?d00001 diff --git a/actors/luigi/custom_luigi_logo.ia16.png b/actors/luigi/custom_luigi_logo.ia16.png deleted file mode 100644 index 723b1a3d3e8f3bca2e48c220f686079f8e2cfcb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0b@x-K~z{r?Upf; z!Y~X)!0#b|gzOVbbiI`J;r`${)!# z8Ps)M^~ndt-YBhrG-*K5jJE>#;+$jcc?*vLPhztXtAQrj3N!`%-tTl&6BYwuk}YTh znt`z2jqrDgtO?CPI{A-c$`?fm(L~MwH|anzWJ0kB&mu%#F~C+qG9Z!lvI6;>1s;*b3=DkxL735kHCP2GxYE!lvI6;>1s;*b3=DkxL735kHCP3xfz#8)F(ktM?KDHK76SoS^=f8s?`Uh=Cif2# z*W!*!SBOSiM@O%{;^keQE_tDp`J{@Iz^8;0{vn@c7CIgI$0+k@(M8F72R8GBgtBJN za=N{3OA+%8)?Fg5jk2G`W3OM7u8EM8I6m=;exc0dM~96Jc$ilXPj8yAOZ>UyhFzk`=?Q5U?o=M}bLbV95d9bRj<($Md`K(x8xI N@O1TaS?83{1OOyIia7uP literal 0 HcmV?d00001 diff --git a/actors/luigi/custom_luigi_sideburn.rgba16.png b/actors/luigi/custom_luigi_sideburn.rgba16.png deleted file mode 100644 index 1a8e7f828e1524776125f7cc3238c5c998952ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmV-+0*U>JP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0t-n*K~z{r?Ug-p z!Y~kpMJni^gOZYxl9nTI70$#J=->!Yas=q0gU->XXqC0_+JrHoNWK}5kO%3#efn`{ zv)Q?-G0CCgcpjJB+%>i;;%1pjBK}C zcQ_mh-xjp~eK6aa0jb_%Fc`SuaOkGfY3jpE5|AaZI3ABQVL4hckXJ9_#9zf|G>X4o zkbqP#CS)TDr_;$T7K_+x!GNwFaRd?1tCv3U`%Rcm!_x*3&c&s2D|(PkDE#Oiuy(pW z_gY-v10eD11R4!kqM)nJE7xl;@BKx@e5K3CG~lBuWRh;Tn;t<6Lz6hfvtKfBw+9gR zO@Uhm^RRK4lnCXaFI8LO8s?i!Cb9QTDS>{!pQ;x8yZEb_e5^JGK7ms8kP^_5KSP~( zT>IE7qZ6pyY$PC)SEW&9T8pz>d;_YghmZi(=Wz)LSj*5P4(uOG93+8cK)zDXkc+G6 zO#>kTJPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0q{vgK~z{r?UvDv z!Y~j-lPdvH0yQ9NpayE723nv8L?EK7AKa57J0|hWuGbFb ze!nk1$xm!Q#-th8Znq8E+wEr8<#Mrc^q0$JaXOt!8xUTSf!S;pdw=5B>$Nx>4lvYI zRn?#k<7Rd;1B^ZgOyOEA7VSNFNd~wCIpS}&9FrLE(NjEULYHXr3^00%WBnD3Z#J8F zH-Q0-9+RW;)d1l=+VlC`?uMrgK-i1xm4ih{9y$kdl}=GcPndp=p+)*N1A_)~qJYAB z5nX$Z!(cd&I)_o#zo0yQy2PMm}wI^v++1&G{F@Cbe4h+g-;q8UgQ8#2JjQ`tzFR&n%W{oF+l zECYz%r;9)!w+ut#AR0)D17@H#kSn$^c=5RH(9IgK4Csq~k}=>NKgSqxU!lvI6;>1s;*b3=Dh+K$tP>S|=w^@T;ebV@QPi+o`t&n-v6H6cej1#Wrlu)^gU(= z$3)JOSoPPtuB|ON!E&uM^y#+ToJg_I?*|^bDjD!JN9~|z>mUh3&`JC*ANzM<-zB*(vrdv!1Iv~wAhdnUv$by0g^$BZS v3N{=xV^scVapS@47n2;@#kg9TkKJou8OYTud+P--02n-7{an^LB{Ts5;;e=! literal 0 HcmV?d00001 diff --git a/actors/luigi/custom_luigi_skin.rgba16.png b/actors/luigi/custom_luigi_skin.rgba16.png new file mode 100644 index 0000000000000000000000000000000000000000..9799051ffa9d5f01b6e240f563f7e06d4c7c5305 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GxYN_cF(ktM?R0Ox1_d70gTL=bu3gw-zh%m% z37$RDhi6ag&w4MudE)82+ZFFJzJ6!AN#`wJLqbI-*OyiLn~HgBE-R`YSS5F3AGZpN z#ns<;4U`{*f8q&Ya{6x?T3C7Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0b@x-K~z{r?Upf; z!Y~X)!0#b|gzOVbbiI`J;r`${)!# z8Ps)M^~ndt-YBhrG-*K5jJE>#;+$jcc?*vLPhztXtAQrj3N!`%-tTl&6BYwuk}YTh znt`z2jqrDgtO?CPI{A-c$`?fm(L~MwH|anzWJ0kB&mu%#F~C+qG9Z Date: Wed, 15 Nov 2023 19:06:37 -0600 Subject: [PATCH 3/5] Almost forgot this, whoops! --- src/game/characters.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/game/characters.c b/src/game/characters.c index c5d62a7e2..872d0593b 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -17,7 +17,7 @@ extern Gfx mario_cap_seg3_dl_03022F48[]; extern Gfx mario_cap_m_logo_decal[]; extern Gfx luigi_cap_seg3_dl_03022F48[]; -extern Gfx luigi_cap_l_logo_decal_dl[]; +extern Gfx luigi_cap_l_logo_decal[]; extern Gfx toad_cap_Cap_mesh_layer_1[]; extern Gfx toad_cap_Cap_mesh_layer_5[]; extern Gfx waluigi_cap_seg3_dl_03022F48[]; @@ -318,9 +318,9 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_LUIGIS_METAL_CAP, .capWingModelId = MODEL_LUIGIS_WING_CAP, .capMetalWingModelId = MODEL_LUIGIS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_TRANSPARENT, + .capEnemyLayer = LAYER_ALPHA, .capEnemyGfx = luigi_cap_seg3_dl_03022F48, - .capEnemyDecalGfx = luigi_cap_l_logo_decal_dl, + .capEnemyDecalGfx = luigi_cap_l_logo_decal, .torsoRotMult = 1.0f, // anim .animOffsetEnabled = false, From efc7935ab05c2939c72f4ff9d3dac6071aab8dce Mon Sep 17 00:00:00 2001 From: FluffaMario Date: Wed, 15 Nov 2023 19:20:07 -0600 Subject: [PATCH 4/5] Further Fixes --- actors/luigi/model.inc.c | 116 ++++++++++++++++++++------------------- actors/mario/model.inc.c | 7 +-- 2 files changed, 62 insertions(+), 61 deletions(-) diff --git a/actors/luigi/model.inc.c b/actors/luigi/model.inc.c index 00dfc69f1..28e34dca2 100644 --- a/actors/luigi/model.inc.c +++ b/actors/luigi/model.inc.c @@ -3573,52 +3573,53 @@ const Gfx luigi_right_hand_cap_dl[] = { gsSPEndDisplayList(), }; -static const Vtx luigi_right_hand_cap_wings_half_1_dl_vertex[10] = { - {{{368, 146, 7}, 0, {990, 0}, {0xBE, 0x66, 0xDA, 0xFE}}}, - {{{166, 37, 68}, 0, {0, 2012}, {0xBE, 0x66, 0xDA, 0xFE}}}, - {{{212, 96, 143}, 0, {990, 2012}, {0xBE, 0x66, 0xDA, 0xFE}}}, - {{{368, 146, 7}, 0, {990, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{322, 87, -67}, 0, {0, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{166, 37, 68}, 0, {0, 2012}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{178, -177, 128}, 0, {990, 2012}, {0xA7, 0xB3, 0xCF, 0xFE}}}, - {{{149, -100, 60}, 0, {0, 2012}, {0xA7, 0xB3, 0xCF, 0xFE}}}, - {{{319, -248, -14}, 0, {990, 0}, {0xA7, 0xB3, 0xCF, 0xFE}}}, - {{{290, -171, -81}, 0, {0, 0}, {0xA7, 0xB3, 0xCF, 0xFE}}}, +// 0x0401AF60 +static const Vtx luigi_right_hand_cap_wings_half_1_dl_vertex[] = { + {{{ 368, 146, 7}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 166, 37, 68}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 212, 96, 143}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 368, 146, 7}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 322, 87, -67}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 166, 37, 68}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 178, -177, 128}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 149, -100, 60}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 319, -248, -14}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 290, -171, -81}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, }; -static const Vtx luigi_right_hand_cap_wings_half_2_dl_vertex[8] = { - {{{414, 206, 82}, 0, {990, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{212, 96, 143}, 0, {0, 2012}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{258, 156, 218}, 0, {990, 2012}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{368, 146, 7}, 0, {0, 0}, {0xBD, 0x65, 0xD9, 0xFE}}}, - {{{178, -177, 128}, 0, {0, 2012}, {0xA8, 0xB3, 0xCF, 0xFE}}}, - {{{319, -248, -14}, 0, {0, 0}, {0xA8, 0xB3, 0xCF, 0xFE}}}, - {{{349, -325, 53}, 0, {990, 0}, {0xA8, 0xB3, 0xCF, 0xFE}}}, - {{{207, -253, 195}, 0, {990, 2012}, {0xA8, 0xB3, 0xCF, 0xFE}}}, +// 0x0401B000 +static const Vtx luigi_right_hand_cap_wings_half_2_dl_vertex[] = { + {{{ 414, 206, 82}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 212, 96, 143}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 258, 156, 218}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 368, 146, 7}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 178, -177, 128}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 319, -248, -14}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 349, -325, 53}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 207, -253, 195}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}}, }; +// 0x0401B080 - 0x0401B0B0 const Gfx luigi_right_hand_cap_wings_half_1_dl[] = { - gsSPVertex(luigi_right_hand_cap_wings_half_1_dl_vertex + 0, 10, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_right_hand_cap_wings_half_1_dl_vertex, 10, 0), + gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0), + gsSP2Triangles( 6, 7, 8, 0x0, 7, 9, 8, 0x0), + gsSPEndDisplayList(), }; +// 0x0401B0B0 - 0x0401B0E0 const Gfx luigi_right_hand_cap_wings_half_2_dl[] = { - gsSPVertex(luigi_right_hand_cap_wings_half_2_dl_vertex + 0, 8, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 4, 6, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_right_hand_cap_wings_half_2_dl_vertex, 8, 0), + gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0), + gsSP2Triangles( 4, 5, 6, 0x0, 7, 4, 6, 0x0), + gsSPEndDisplayList(), }; +// 0x0401B0E0 - 0x0401B138 const Gfx luigi_right_hand_cap_wings_intial_dl[] = { gsDPPipeSync(), 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), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPLight(&luigi_white_lights_group.l, 1), @@ -3632,7 +3633,7 @@ const Gfx luigi_right_hand_cap_wings_intial_dl[] = { const Gfx luigi_right_hand_cap_wings_transparent_intial_dl[] = { gsDPPipeSync(), 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), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPLight(&luigi_white_lights_group.l, 1), @@ -3643,11 +3644,12 @@ const Gfx luigi_right_hand_cap_wings_transparent_intial_dl[] = { gsSPEndDisplayList(), }; +// 0x0401B138 - 0x0401B158 const Gfx luigi_right_hand_cap_wings_end_dl[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; @@ -3936,26 +3938,30 @@ const Gfx luigi_right_hand_peace[] = { gsSPEndDisplayList(), }; +// 0x0401C940 static const Vtx luigi_wings_half_1_dl_vertex[] = { - {{{ -105, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}}, - {{{ -105, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, - {{{ 0, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, - {{{ 0, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ -105, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ -105, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 0, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 0, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, }; +// 0x0401C980 static const Vtx luigi_wings_half_2_dl_vertex[] = { - {{{ 0, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, - {{{ 106, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}}, - {{{ 0, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}}, - {{{ 106, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ 0, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 106, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 0, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, + {{{ 106, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}}, }; +// 0x0401C9C0 - 0x0401C9E0 const Gfx luigi_wings_half_1_dl[] = { gsSPVertex(luigi_wings_half_1_dl_vertex, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), gsSPEndDisplayList(), }; +// 0x0401C9E0 - 0x0401CA00 const Gfx luigi_wings_half_2_dl[] = { gsSPVertex(luigi_wings_half_2_dl_vertex, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0), @@ -3966,7 +3972,7 @@ const Gfx luigi_wings_half_2_dl[] = { const Gfx luigi_cap_wings[] = { gsDPPipeSync(), 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), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsDPTileSync(), @@ -3985,7 +3991,7 @@ const Gfx luigi_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; @@ -3993,7 +3999,7 @@ const Gfx luigi_cap_wings[] = { const Gfx luigi_cap_wings_transparent[] = { gsDPPipeSync(), 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), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsDPTileSync(), @@ -4012,7 +4018,7 @@ const Gfx luigi_cap_wings_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; @@ -4020,7 +4026,7 @@ const Gfx luigi_cap_wings_transparent[] = { const Gfx luigi_metal_cap_wings[] = { gsDPPipeSync(), 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), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsDPTileSync(), @@ -4039,22 +4045,22 @@ const Gfx luigi_metal_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; // 0x0401CC28 - 0x0401CD20 const Gfx luigi_metal_cap_wings_transparent[] = { gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN), - gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), 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), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), 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), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -4065,10 +4071,8 @@ const Gfx luigi_metal_cap_wings_transparent[] = { gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK | G_SHADING_SMOOTH), - gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), - gsDPLoadTextureBlock(luigi_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), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index c95731e58..4fe434c6a 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -3902,7 +3902,6 @@ const Gfx mario_right_hand_cap_wings_transparent[] = { gsSPEndDisplayList(), }; - // 0x0401B230 - 0x0401B278 const Gfx mario_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(mario_right_hand_cap_m_logo_dl), @@ -4341,10 +4340,8 @@ const Gfx mario_metal_cap_wings_transparent[] = { gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsSPSetGeometryMode(G_TEXTURE_GEN | G_LIGHTING | G_CULL_BACK), - gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), - gsDPLoadTextureBlock(mario_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), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; From 57fc664d048c7039703428b325a9f36014086109 Mon Sep 17 00:00:00 2001 From: FluffaMario Date: Wed, 15 Nov 2023 19:30:32 -0600 Subject: [PATCH 5/5] Update DynOS to support these changes --- data/dynos_mgr_builtin_externs.h | 8 +++++++- data/dynos_mgr_builtin_tex.cpp | 14 ++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/data/dynos_mgr_builtin_externs.h b/data/dynos_mgr_builtin_externs.h index aacc419c6..0c40bb6af 100644 --- a/data/dynos_mgr_builtin_externs.h +++ b/data/dynos_mgr_builtin_externs.h @@ -1629,7 +1629,10 @@ extern ALIGNED8 const Texture mario_texture_metal_light[]; extern ALIGNED8 const Texture mario_texture_yellow_button[]; extern ALIGNED8 const Texture mario_texture_m_logo[]; extern ALIGNED8 const Texture mario_texture_m_blend[]; +extern ALIGNED8 const Texture mario_texture_m_cap[]; extern ALIGNED8 const Texture mario_texture_hair_sideburn[]; +extern ALIGNED8 const Texture mario_texture_add_sideburn[]; +extern ALIGNED8 const Texture mario_texture_skin_sideburn[]; extern ALIGNED8 const Texture mario_texture_mustache[]; extern ALIGNED8 const Texture mario_texture_eyes_front[]; extern ALIGNED8 const Texture mario_texture_eyes_half_closed[]; @@ -1655,9 +1658,12 @@ extern ALIGNED8 const Texture impact_smoke_seg6_texture_0605CA28[]; extern ALIGNED8 const Texture impact_smoke_seg6_texture_0605EA28[]; extern ALIGNED8 const Texture impact_smoke_seg6_texture_06060A28[]; extern ALIGNED8 const Texture luigi_texture_l_logo[]; +extern ALIGNED8 const Texture luigi_texture_l_blend[]; +extern ALIGNED8 const Texture luigi_texture_l_cap[]; extern ALIGNED8 const Texture luigi_texture_hair_sideburn[]; +extern ALIGNED8 const Texture luigi_texture_add_sideburn[]; +extern ALIGNED8 const Texture luigi_texture_skin_sideburn[]; extern ALIGNED8 const Texture luigi_texture_mustache[]; -extern ALIGNED8 const Texture luigi_cap_seg3_texture_0301DF50[]; extern ALIGNED8 const Texture toad_player_texture_spots[]; extern ALIGNED8 const Texture toad_player_texture_hair[]; extern ALIGNED8 const Texture toad_player_texture_blush[]; diff --git a/data/dynos_mgr_builtin_tex.cpp b/data/dynos_mgr_builtin_tex.cpp index a184e4543..e71d4c28a 100644 --- a/data/dynos_mgr_builtin_tex.cpp +++ b/data/dynos_mgr_builtin_tex.cpp @@ -1061,7 +1061,10 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(mario_texture_yellow_button, "actors/mario/mario_overalls_button.rgba16.png", 32, 32, 16), define_builtin_tex(mario_texture_m_logo, "actors/mario/custom_mario_logo.rgba16.png", 32, 32, 16), define_builtin_tex(mario_texture_m_blend, "actors/mario/custom_mario_m_blend.rgba16.png", 32, 32, 16), - define_builtin_tex(mario_texture_hair_sideburn, "actors/mario/custom_mario_sideburn.rgba16.png", 32, 32, 16), + define_builtin_tex(mario_texture_m_cap, "actors/mario/custom_mario_cap.rgba16.png", 32, 32, 16), + define_builtin_tex(mario_texture_hair_sideburn, "actors/mario/custom_mario_sideburn.rgba32.png", 32, 32, 16), + define_builtin_tex(mario_texture_add_sideburn, "actors/mario/custom_mario_sideburn_add.rgba32.png", 32, 32, 16), + define_builtin_tex(mario_texture_skin_sideburn, "actors/mario/custom_mario_skin.rgba16.png", 32, 32, 16), define_builtin_tex(mario_texture_mustache, "actors/mario/mario_mustache.rgba16.png", 32, 32, 16), define_builtin_tex(mario_texture_eyes_front, "actors/mario/mario_eyes_center.rgba16.png", 32, 32, 16), define_builtin_tex(mario_texture_eyes_half_closed, "actors/mario/mario_eyes_half_closed.rgba16.png", 32, 32, 16), @@ -1075,7 +1078,7 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(mario_texture_wings_half_2, "actors/mario/mario_wing_tip.rgba16.png", 32, 64, 16), define_builtin_tex(mario_texture_metal_wings_half_1, "actors/mario/mario_metal_wing_unused.rgba16.png", 32, 64, 16), define_builtin_tex(mario_texture_metal_wings_half_2, "actors/mario/mario_metal_wing_tip_unused.rgba16.png", 32, 64, 16), - define_builtin_tex(mario_texture_cap_inside, "actors/mario/custom_mario_cap_inside.rgba16.png", 8, 8, 16), + define_builtin_tex(mario_texture_cap_inside, "actors/mario/custom_mario_cap_inside.rgba32.png", 8, 8, 16), define_builtin_tex(mario_cap_seg3_texture_0301CF50, "actors/mario_cap/mario_cap_metal.rgba16.png", 64, 32, 16), define_builtin_tex(mario_cap_seg3_texture_0301DF50, "actors/mario_cap/mario_cap_logo.rgba16.png", 32, 32, 16), define_builtin_tex(mario_cap_seg3_texture_0301E750, "actors/mario_cap/mario_cap_wing.rgba16.png", 32, 64, 16), @@ -1087,9 +1090,12 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(impact_smoke_seg6_texture_0605EA28, "actors/impact_smoke/impact_smoke_2.ia16.png", 64, 64, 16), define_builtin_tex(impact_smoke_seg6_texture_06060A28, "actors/impact_smoke/impact_smoke_3.ia16.png", 64, 64, 16), define_builtin_tex(luigi_texture_l_logo, "actors/luigi/custom_luigi_logo.rgba16.png", 32, 32, 16), - define_builtin_tex(luigi_texture_hair_sideburn, "actors/luigi/custom_luigi_sideburn.rgba16.png", 32, 32, 16), + define_builtin_tex(luigi_texture_l_blend, "actors/luigi/custom_luigi_l_blend.rgba16.png", 32, 32, 16), + define_builtin_tex(luigi_texture_l_cap, "actors/luigi/custom_luigi_cap.rgba16.png", 32, 32, 16), + define_builtin_tex(luigi_texture_hair_sideburn, "actors/luigi/custom_luigi_sideburn.rgba32.png", 32, 32, 16), + define_builtin_tex(luigi_texture_add_sideburn, "actors/luigi/custom_luigi_sideburn_add.rgba32.png", 32, 32, 16), + define_builtin_tex(luigi_texture_skin_sideburn, "actors/luigi/custom_luigi_skin.rgba16.png", 32, 32, 16), define_builtin_tex(luigi_texture_mustache, "actors/luigi/custom_luigi_mustache.rgba16.png", 32, 32, 16), - define_builtin_tex(luigi_cap_seg3_texture_0301DF50, "actors/luigi_cap/custom_luigi_cap_logo.rgba16.png", 32, 32, 16), define_builtin_tex(toad_player_texture_spots, "actors/toad_player/custom_toad_cap.ia16.png", 32, 32, 16), define_builtin_tex(toad_player_texture_hair, "actors/toad_player/custom_toad_hair.rgba16.png", 32, 32, 16), define_builtin_tex(toad_player_texture_blush, "actors/toad_player/custom_toad_blush.rgba16.png", 32, 32, 16),