Initial re-application of let-it-snow.

This commit is contained in:
Malkierian
2025-10-30 18:59:19 -07:00
committed by Malkierian
parent 3050d9484f
commit bb497e3125
543 changed files with 28226 additions and 449 deletions
+8 -8
View File
@@ -2275,17 +2275,17 @@ void Environment_FillScreen(GraphicsContext* gfxCtx, u8 red, u8 green, u8 blue,
}
Color_RGB8 sSandstormPrimColors[] = {
{ 210, 156, 85 },
{ 255, 200, 100 },
{ 225, 160, 50 },
{ 105, 90, 40 },
{ 210, 210, 210 },
{ 255, 255, 255 },
{ 225, 225, 225 },
{ 105, 105, 105 },
};
Color_RGB8 sSandstormEnvColors[] = {
{ 155, 106, 35 },
{ 200, 150, 50 },
{ 170, 110, 0 },
{ 50, 40, 0 },
{ 155, 155, 155 },
{ 200, 200, 200 },
{ 170, 170, 170 },
{ 50, 50, 50 },
};
u16 previousPatchedSandstormScreenSize = 0;
+2 -2
View File
@@ -3485,8 +3485,8 @@ void Interface_DrawMagicBar(PlayState* play) {
if (CVarGetInteger(CVAR_COSMETIC("Consumable.Magic.Changed"), 0)) {
magicbar_green = CVarGetColor24(CVAR_COSMETIC("Consumable.Magic.Value"), magicbar_green);
}
if (CVarGetInteger("gCosmetics.Consumable_MagicInfinite.Changed", 0)) {
magicbar_blue = CVarGetColor24("gCosmetics.Consumable_MagicInfinite.Value", magicbar_blue);
if (CVarGetInteger(CVAR_COSMETIC("Consumable.MagicInfinite.Changed"), 0)) {
magicbar_blue = CVarGetColor24(CVAR_COSMETIC("Consumable.MagicInfinite.Value"), magicbar_blue);
}
OPEN_DISPS(play->state.gfxCtx);
+9
View File
@@ -38,6 +38,9 @@ Input* D_8012D1F8 = NULL;
PlayState* gPlayState;
s16 firstInit = 0;
s16 gEnPartnerId;
s16 gEnSnowballId;
s16 gEnChristmasTreeId;
s16 gEnChristmasDecoId;
void Play_SpawnScene(PlayState* play, s32 sceneId, s32 spawn);
@@ -687,6 +690,12 @@ void Play_Init(GameState* thisx) {
GET_PLAYER(play)->actor.world.pos.y + Player_GetHeight(GET_PLAYER(play)) + 5.0f,
GET_PLAYER(play)->actor.world.pos.z, 0, 0, 0, 1, true);
}
if (play->sceneNum == SCENE_KAKARIKO_VILLAGE) {
Actor_Spawn(&play->actorCtx, play, gEnChristmasTreeId, -734, 0, 420, 0, 0, 0, 0, true);
}
Actor_Spawn(&play->actorCtx, play, gEnChristmasDecoId, 0, 0, 0, 0, 0, 0, 0, true);
}
void Play_Update(PlayState* play) {
+61 -3
View File
@@ -11,6 +11,7 @@
#include "soh/ResourceManagerHelpers.h"
#include <stdlib.h>
#include "soh_assets.h"
typedef struct {
/* 0x00 */ u8 flag;
@@ -1014,10 +1015,18 @@ void* sMouthTextures[] = {
};
#endif
// Original colors
// Color_RGB8 sTunicColors[] = {
// { 30, 105, 27 },
// { 100, 20, 0 },
// { 0, 60, 100 },
//};
// Overwrite to red tunic as default for Holidays in Hyrule build
Color_RGB8 sTunicColors[] = {
{ 30, 105, 27 },
{ 100, 20, 0 },
{ 0, 60, 100 },
{ 255, 0, 0 },
{ 255, 0, 0 },
{ 255, 0, 0 },
};
Color_RGB8 sGauntletColors[] = {
@@ -1788,6 +1797,55 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve
Matrix_MultVec3f(&sZeroVec, D_80160000);
}
if (CVarGetInteger(CVAR_GENERAL("LetItSnow"), 0) && !(this->stateFlags1 & PLAYER_STATE1_FIRST_PERSON) &&
!(this->stateFlags2 & PLAYER_STATE2_CRAWLING)) {
if (limbIndex == PLAYER_LIMB_HEAD) {
OPEN_DISPS(play->state.gfxCtx);
Matrix_Push();
if (LINK_IS_ADULT) {
Matrix_RotateZYX(24000, -16000, -7000, MTXMODE_APPLY);
Matrix_Translate(32.0f, 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHatTrimDL);
} else {
Matrix_RotateZYX(24000, -16000, -7000, MTXMODE_APPLY);
Matrix_Translate(32.0f, 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gLinkChildHatTrimDL);
}
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx);
}
if (limbIndex == PLAYER_LIMB_HAT) {
OPEN_DISPS(play->state.gfxCtx);
Matrix_Push();
if (LINK_IS_ADULT) {
Matrix_RotateZYX(0, 0, 17500, MTXMODE_APPLY);
Matrix_Translate(-195.0f, 1500.0f, -95.0f, MTXMODE_APPLY);
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
} else {
Matrix_RotateZYX(0, 0, 27000, MTXMODE_APPLY);
Matrix_Translate(-950.0f, 2600.0f, -75.0f, MTXMODE_APPLY);
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
}
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultPompomDL);
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx);
}
}
if (limbIndex == PLAYER_LIMB_L_HAND) {
MtxF sp14C;
Actor* hookedActor;