mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-05-24 07:11:27 -04:00
Initial re-application of let-it-snow.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user