From c829dfb4ec88e256451d148641bb4e38d93fe255 Mon Sep 17 00:00:00 2001 From: aMannus Date: Thu, 16 Nov 2023 21:37:41 +0100 Subject: [PATCH] Big cleanup, change checks for non-triforce hunt, add more Dana kak models --- .../object_kakariko_decor/SnowBlanket_32 | Bin 0 -> 2140 bytes .../object_kakariko_decor/SnowDissolve_32 | Bin 0 -> 2140 bytes .../objects/object_kakariko_decor/UsagiLeaf_8 | Bin 0 -> 220 bytes .../object_kakariko_decor/YukiUsagi_16 | Bin 0 -> 604 bytes .../gFrontGateDecorDL_tri_1 | 19 - .../gFrontGateDecorDL_vtx_0 | 22 - .../gFrontGateDecorDL_vtx_1 | 54 -- .../gFrontGateDecorDL_vtx_cull | 10 - ...FrontGateDecorDL => gKakarikoAdultDecorDL} | 10 +- .../gKakarikoAdultDecorDL_tri_0 | 7 + ...orDL_tri_0 => gKakarikoAdultDecorDL_tri_1} | 3 +- .../gKakarikoAdultDecorDL_vtx_0 | 10 + .../gKakarikoAdultDecorDL_vtx_1 | 18 + .../gKakarikoAdultDecorDL_vtx_cull | 10 + .../gKakarikoChildDecorDL | 18 + .../gKakarikoChildDecorDL_tri_0 | 37 + .../gKakarikoChildDecorDL_tri_1 | 73 ++ .../gKakarikoChildDecorDL_tri_2 | 14 + .../gKakarikoChildDecorDL_vtx_0 | 106 +++ .../gKakarikoChildDecorDL_vtx_1 | 111 +++ .../gKakarikoChildDecorDL_vtx_2 | 50 ++ .../gKakarikoChildDecorDL_vtx_cull | 10 + .../object_kakariko_decor/gKakarikoDecorDL | 8 +- .../gKakarikoDecorDL_tri_0 | 9 +- .../gKakarikoDecorDL_tri_1 | 77 +- .../gKakarikoDecorDL_tri_2 | 10 +- .../gKakarikoDecorDL_tri_3 | 19 +- .../gKakarikoDecorDL_tri_5 | 6 + .../gKakarikoDecorDL_tri_6 | 330 +++++++++ .../gKakarikoDecorDL_tri_7 | 50 ++ .../gKakarikoDecorDL_vtx_0 | 64 +- .../gKakarikoDecorDL_vtx_1 | 688 +++++++++++------- .../gKakarikoDecorDL_vtx_2 | 76 +- .../gKakarikoDecorDL_vtx_3 | 68 +- .../gKakarikoDecorDL_vtx_5 | 6 + .../gKakarikoDecorDL_vtx_6 | 497 +++++++++++++ .../gKakarikoDecorDL_vtx_7 | 230 ++++++ .../gKakarikoDecorDL_vtx_cull | 16 +- ..._gKakarikoAdultDecorDL_f3dlite_StringGRGR} | 0 ...at_gKakarikoAdultDecorDL_f3dlite_snowlayer | 21 + ...gKakarikoChildDecorDL_f3dlite_SnowBuildup} | 0 ...at_gKakarikoChildDecorDL_f3dlite_UsagiLeaf | 21 + ...KakarikoChildDecorDL_f3dlite_YukiUsagiBody | 21 + .../mat_gKakarikoDecorDL_f3dlite_UsagiLeaf | 21 + ...mat_gKakarikoDecorDL_f3dlite_YukiUsagiBody | 21 + .../mat_gKakarikoDecorDL_f3dlite_material_004 | 29 - .../mat_gKakarikoDecorDL_f3dlite_snowdissolve | 21 + .../mat_gKakarikoDecorDL_f3dlite_snowlayer | 21 + .../spot00_sceneTex_01AB98 | Bin 2140 -> 0 bytes .../spot00_sceneTex_01B398 | Bin 604 -> 0 bytes soh/assets/soh_assets.h | 9 +- soh/soh/Enhancements/mods.cpp | 16 +- soh/src/code/z_play.c | 2 +- .../ovl_En_ChristmasDeco/z_en_christmasdeco.c | 16 +- .../ovl_En_ChristmasTree/z_en_christmastree.c | 48 +- soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c | 11 +- soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c | 24 +- 57 files changed, 2478 insertions(+), 560 deletions(-) create mode 100644 soh/assets/custom/objects/object_kakariko_decor/SnowBlanket_32 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/SnowDissolve_32 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/UsagiLeaf_8 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/YukiUsagi_16 delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_1 delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_0 delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_1 delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_cull rename soh/assets/custom/objects/object_kakariko_decor/{gFrontGateDecorDL => gKakarikoAdultDecorDL} (53%) create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_0 rename soh/assets/custom/objects/object_kakariko_decor/{gFrontGateDecorDL_tri_0 => gKakarikoAdultDecorDL_tri_1} (64%) create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_0 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_1 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_cull create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_0 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_1 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_2 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_0 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_1 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_2 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_cull create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_5 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_6 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_7 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_5 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_6 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_7 rename soh/assets/custom/objects/object_kakariko_decor/{mat_gFrontGateDecorDL_f3dlite_StringGRGR => mat_gKakarikoAdultDecorDL_f3dlite_StringGRGR} (100%) create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoAdultDecorDL_f3dlite_snowlayer rename soh/assets/custom/objects/object_kakariko_decor/{mat_gFrontGateDecorDL_f3dlite_SnowBuildup => mat_gKakarikoChildDecorDL_f3dlite_SnowBuildup} (100%) create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_UsagiLeaf create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_YukiUsagiBody create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_UsagiLeaf create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_YukiUsagiBody delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_material_004 create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowdissolve create mode 100644 soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowlayer delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/spot00_sceneTex_01AB98 delete mode 100644 soh/assets/custom/objects/object_kakariko_decor/spot00_sceneTex_01B398 diff --git a/soh/assets/custom/objects/object_kakariko_decor/SnowBlanket_32 b/soh/assets/custom/objects/object_kakariko_decor/SnowBlanket_32 new file mode 100644 index 0000000000000000000000000000000000000000..733b30757353fc612ee61c04b4b3ce8b5be4bea5 GIT binary patch literal 2140 zcmbVLJ66On3^Y_6gPTxM(@=1ma3QWhZUSY>lqr`Pk0+9|G0VexS^1+Gjbv{rrMx}A zzTCmDpC4cRF#YqmN91Gs1bTle1>Zv{mu_s`%8Tu?!Zz61IN!~YL=yksLHsEDh%@4i z&Kz+%!gHTdtlZVFdvNC3H%}((Wq}35Sr5b&Cz%`g`5Q)#yq{C`cy-!)%pdrSin(L^ zdR;g3FUTMI0;yTX8>POncG>v$5jn#^#SG@6H<$b|tJlJxsS6F`-t9Hd*9G==qr=#3aDANYkmhV|#He&y}9JC*|O(dr$* z^W6AjmlVSaX{xazCacwInaHqRzE=ccwn7aizjbd)7*pybff{+S`lF zP;(0tXwH~DW5n3U{I(+Abt~?6{v4q$928IyzR|Eo`@??_daQ^nJrgl}ncd;m4e@cR{uTs?Yx8F^i4w=W7XHbCe?Mzt5W*D?%nx# z&oP$ni+m`09@;CaGMm`s?+8V$FTHIX^uyl)V+>QXh%73b7sTW*+x4e5$MFZhfahxN<%vMpdYI(P5Ewa6>V3E8Fs@9Z1?F{rn9HStle zwn}$$NNy-mO^OpKErOpmEgYQ;{@(uqrrzaXPC1|5vnO|$QI2s$&Ji#7n$=lGcpfK= z(Q?XS&kvP)>_K^Qal`qJhf?C>jL~B~mH@(Plg&Q)aF6G~YN(9Z$FcsnCphck68AA?6ZQZ?<`=fWq2XlioO@=*S+6+p2b_cVk zKr8aBxbq(TqYKA?ph(r-U1oDX OKUUq8@~*UhQuqRir{)a+ literal 0 HcmV?d00001 diff --git a/soh/assets/custom/objects/object_kakariko_decor/UsagiLeaf_8 b/soh/assets/custom/objects/object_kakariko_decor/UsagiLeaf_8 new file mode 100644 index 0000000000000000000000000000000000000000..fc4d3ff5be301701b1d4e19f16bed932f288061c GIT binary patch literal 220 zcmZQzU|@)F4e@6L((m`Jy$8ZTCeeTisFDMUA(|TO85kPu8z3AgnRB13TSXYc$+@p0 z%-qY|%j5~-LwG9OK>leEA0!9jG511bAv~tj5Lpn9=`=GCLu8dbVKN{-kjDw4VE_Q? CR36;` literal 0 HcmV?d00001 diff --git a/soh/assets/custom/objects/object_kakariko_decor/YukiUsagi_16 b/soh/assets/custom/objects/object_kakariko_decor/YukiUsagi_16 new file mode 100644 index 0000000000000000000000000000000000000000..2034627ff95af74e080c6e61a6fb128d95cd7f91 GIT binary patch literal 604 zcma)(F%rTc5JkZg$ce11Z7jS=N-T33YddLEa{x*yDJj?eyJ04A3x(ML`~LsQ5a*n` zov#M-hxZdHs)kPo&N&b*e)hd!Pi5+O8)ZJsiF_0e&Ub- literal 0 HcmV?d00001 diff --git a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_1 b/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_1 deleted file mode 100644 index ac9146850..000000000 --- a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_1 +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_0 b/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_0 deleted file mode 100644 index 3b2a2a21c..000000000 --- a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_0 +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_1 b/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_1 deleted file mode 100644 index a5aeeaa53..000000000 --- a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_1 +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_cull b/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_cull deleted file mode 100644 index 6e79464b2..000000000 --- a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_vtx_cull +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL similarity index 53% rename from soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL rename to soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL index 5b0d3694f..13d9447f7 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL @@ -1,11 +1,11 @@ - + - - - - + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_0 new file mode 100644 index 000000000..1263127aa --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_0 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_1 similarity index 64% rename from soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_0 rename to soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_1 index bce87b152..2aff9496e 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gFrontGateDecorDL_tri_0 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_tri_1 @@ -1,10 +1,9 @@ - + - diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_0 new file mode 100644 index 000000000..9f3683fed --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_0 @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_1 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_1 new file mode 100644 index 000000000..e438e71cf --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_1 @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_cull b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_cull new file mode 100644 index 000000000..c3ecddb8a --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoAdultDecorDL_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL new file mode 100644 index 000000000..a3972ce7a --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_0 new file mode 100644 index 000000000..eb7e92fdf --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_0 @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_1 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_1 new file mode 100644 index 000000000..77468a738 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_1 @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_2 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_2 new file mode 100644 index 000000000..97634bb7b --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_tri_2 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_0 new file mode 100644 index 000000000..24e3e3d6e --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_0 @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_1 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_1 new file mode 100644 index 000000000..0b12310ec --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_1 @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_2 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_2 new file mode 100644 index 000000000..f2a81069d --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_2 @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_cull b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_cull new file mode 100644 index 000000000..b2e233783 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoChildDecorDL_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL index 3451b3004..f0363d242 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL @@ -8,10 +8,16 @@ - + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_0 index 450d4ad7b..5ee2633e5 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_0 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_0 @@ -17,11 +17,18 @@ - + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_1 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_1 index 701018d7e..2b52e5ef3 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_1 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_1 @@ -1,5 +1,13 @@ - + + + + + + + + + @@ -8,7 +16,7 @@ - + @@ -17,7 +25,16 @@ - + + + + + + + + + + @@ -26,7 +43,7 @@ - + @@ -35,7 +52,7 @@ - + @@ -44,7 +61,7 @@ - + @@ -53,7 +70,7 @@ - + @@ -62,7 +79,7 @@ - + @@ -71,7 +88,7 @@ - + @@ -80,7 +97,7 @@ - + @@ -89,7 +106,7 @@ - + @@ -98,7 +115,7 @@ - + @@ -107,7 +124,7 @@ - + @@ -116,7 +133,7 @@ - + @@ -125,7 +142,7 @@ - + @@ -134,7 +151,7 @@ - + @@ -143,7 +160,7 @@ - + @@ -152,7 +169,7 @@ - + @@ -161,7 +178,7 @@ - + @@ -170,7 +187,7 @@ - + @@ -179,7 +196,25 @@ - + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_2 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_2 index a8f0d1205..d6f5dbafe 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_2 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_2 @@ -8,12 +8,20 @@ - + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_3 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_3 index 5e89bfd9c..f66ba5914 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_3 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_3 @@ -1,8 +1,25 @@ - + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_5 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_5 new file mode 100644 index 000000000..ca52719c9 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_5 @@ -0,0 +1,6 @@ + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_6 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_6 new file mode 100644 index 000000000..75be056f5 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_6 @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_7 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_7 new file mode 100644 index 000000000..eeedcf1ee --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_tri_7 @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_0 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_0 index 844aa0f3c..c0a07802c 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_0 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_0 @@ -27,10 +27,10 @@ - - - - + + + + @@ -39,10 +39,10 @@ - - - - + + + + @@ -51,10 +51,10 @@ - - - - + + + + @@ -63,14 +63,14 @@ - - - - - - - - + + + + + + + + @@ -79,4 +79,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_1 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_1 index 3c1ca09b4..c7615dd3b 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_1 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_1 @@ -1,12 +1,18 @@ + + + + + + - - - - + + + + @@ -31,14 +37,14 @@ - - - - - - - - + + + + + + + + @@ -59,22 +65,22 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -83,14 +89,14 @@ - - - - - - - - + + + + + + + + @@ -107,230 +113,228 @@ - - - - + + + + - - - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - + + + + + + + + - - - - + + + + @@ -339,18 +343,18 @@ - - - - + + + + - - - - + + + + @@ -359,42 +363,42 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -403,10 +407,10 @@ - - - - + + + + @@ -419,34 +423,34 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -455,10 +459,10 @@ - - - - + + + + @@ -471,10 +475,10 @@ - - - - + + + + @@ -487,10 +491,10 @@ - - - - + + + + @@ -499,58 +503,58 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -559,38 +563,38 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - + + + + + + + + @@ -607,40 +611,160 @@ - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_2 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_2 index cd5e7a3d0..3ff9d2e43 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_2 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_2 @@ -7,10 +7,10 @@ - - - - + + + + @@ -19,10 +19,10 @@ - - - - + + + + @@ -31,24 +31,52 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_3 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_3 index fb8c029cd..b0e49797a 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_3 +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_3 @@ -1,8 +1,8 @@ - - - - + + + + @@ -11,4 +11,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_5 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_5 new file mode 100644 index 000000000..46c6ac9a1 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_5 @@ -0,0 +1,6 @@ + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_6 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_6 new file mode 100644 index 000000000..0e5970505 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_6 @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_7 b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_7 new file mode 100644 index 000000000..1929d460e --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_7 @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_cull b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_cull index c096976aa..a183da293 100644 --- a/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_cull +++ b/soh/assets/custom/objects/object_kakariko_decor/gKakarikoDecorDL_vtx_cull @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gFrontGateDecorDL_f3dlite_StringGRGR b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoAdultDecorDL_f3dlite_StringGRGR similarity index 100% rename from soh/assets/custom/objects/object_kakariko_decor/mat_gFrontGateDecorDL_f3dlite_StringGRGR rename to soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoAdultDecorDL_f3dlite_StringGRGR diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoAdultDecorDL_f3dlite_snowlayer b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoAdultDecorDL_f3dlite_snowlayer new file mode 100644 index 000000000..5456b3893 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoAdultDecorDL_f3dlite_snowlayer @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gFrontGateDecorDL_f3dlite_SnowBuildup b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_SnowBuildup similarity index 100% rename from soh/assets/custom/objects/object_kakariko_decor/mat_gFrontGateDecorDL_f3dlite_SnowBuildup rename to soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_SnowBuildup diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_UsagiLeaf b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_UsagiLeaf new file mode 100644 index 000000000..be29498ef --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_UsagiLeaf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_YukiUsagiBody b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_YukiUsagiBody new file mode 100644 index 000000000..3a2d2c889 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoChildDecorDL_f3dlite_YukiUsagiBody @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_UsagiLeaf b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_UsagiLeaf new file mode 100644 index 000000000..be29498ef --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_UsagiLeaf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_YukiUsagiBody b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_YukiUsagiBody new file mode 100644 index 000000000..3a2d2c889 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_YukiUsagiBody @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_material_004 b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_material_004 deleted file mode 100644 index 0a479d70a..000000000 --- a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_material_004 +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowdissolve b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowdissolve new file mode 100644 index 000000000..e86142f29 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowdissolve @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowlayer b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowlayer new file mode 100644 index 000000000..5456b3893 --- /dev/null +++ b/soh/assets/custom/objects/object_kakariko_decor/mat_gKakarikoDecorDL_f3dlite_snowlayer @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/soh/assets/custom/objects/object_kakariko_decor/spot00_sceneTex_01AB98 b/soh/assets/custom/objects/object_kakariko_decor/spot00_sceneTex_01AB98 deleted file mode 100644 index 454876ed0463d2061a6e06b14cc82324f9ceac02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcma)-y>8n;5QLdjd5pY=a7dLpO^UqC0ePXgWFs6)s-rrxBTJSlT@VL&z8#+I04d@H zC5qhHpV`@S*LB^m?>~Qh()VNdvvTS7zyChV^XqvT^!r=a>H5-jTi)}Qx3t#vm@B5c zIv@LGJ@zEaOS-4A-t@U7yydT_VP(_Xsq$Oi+5Yh+&BuB?@@sj7&pid6OjwfTUGMh7 z{hl5X?~xyR7EcwIsJhRK?5^z2f1({hDA3@Ie8)F`s&B?U_~o>y1H9spt69`YUipvJ zHdT69!j}kCV{<%L>)MSMH~E(OI)shFpEaE|I6E<5-Tg9)Giu(-lE>PY7g=9E;N|0r z>3$P>k~so(!L%$`3w(ab;K@K`A3G%iXyaSIL%k`=Esd(&`3HH>dt=Donr>G1VmuWz zw#*xy_lnRL@K1)GQC`a~{E&w{7R9*|p~bo<^VZm#>z<^si!$f;Y43R|;HR?cz4=%V zGdL-`jO=AP)S(o4PMQcZv_QTQ59%XBT%IZYgO3Q;`IuFqIH3N_q&D&F90L)Gl_)h9 zD?2LCn=tXz@N5P6o6yQp`saj*5JvRu%1(S_pi6I+s#o@ge#zFzrnh@S6LbKc-oj3n z*ZLY;86C)D$h|ByrfwIV19KTq-#M6pUz?_Mg+p&E+7o+4@00oYP2dJOONn693%HL@N|$(y4HngTpn^=MBWD^FxnET3k4 zN~6I(6+Q97f)-b~DTaQ~;<;C4Qok5|b3XosSAH~bYO0{+kv!y(Mqo#|1G!xyj_^#- z^~XNy9^XefcR|@FAssW&738T*@GzL2nK+7~Uw#r>Cp=olG)u9k>q-?;pCSo=u{Ya> zM%qc{(<#^zk9>QUOadH}Akuy@XMBq9V4ci99nprTIA+gYlgl$zXf8Zkg`z_%l>Ni} z|7Ay;;A4vK+EEu}v@Qx+IgLJ=ySOVV`VYmV$d-rD9+hjd>O}nh0}ltBu+e?7+NGjv z(=sTgZ&um_*-@%sQ(++XEh-+yZRow)Po zb!g*$Y-chrdr#5xx)%Ejyza<|?C8X=9^*AGXDG}fiG$TaL6o1_*#&@%cOvJ=dXTUx5uual#@*7!^^^qqr;8RmCJO)g nnB11>acX=}Xw0~3kW2_nr4h)PIg1=4;BLm1_@o6c<7K=7R+;+P diff --git a/soh/assets/soh_assets.h b/soh/assets/soh_assets.h index 62ac078b4..2a5695b6b 100644 --- a/soh/assets/soh_assets.h +++ b/soh/assets/soh_assets.h @@ -92,12 +92,15 @@ static const ALIGN_ASSET(2) char gXmasDecor100DL[] = dgXmasDecor100DL; #define dgXmasStarDL "__OTR__objects/object_xmas_tree/gXmasStarDL" static const ALIGN_ASSET(2) char gXmasStarDL[] = dgXmasStarDL; -#define dgFrontGateDecorDL "__OTR__objects/object_kakariko_decor/gFrontGateDecorDL" -static const ALIGN_ASSET(2) char gFrontGateDecorDL[] = dgFrontGateDecorDL; - #define dgKakarikoDecorDL "__OTR__objects/object_kakariko_decor/gKakarikoDecorDL" static const ALIGN_ASSET(2) char gKakarikoDecorDL[] = dgKakarikoDecorDL; +#define dgKakarikoChildDecorDL "__OTR__objects/object_kakariko_decor/gKakarikoChildDecorDL" +static const ALIGN_ASSET(2) char gKakarikoChildDecorDL[] = dgKakarikoChildDecorDL; + +#define dgKakarikoAdultDecorDL "__OTR__objects/object_kakariko_decor/gKakarikoAdultDecorDL" +static const ALIGN_ASSET(2) char gKakarikoAdultDecorDL[] = dgKakarikoAdultDecorDL; + // overlays #define dgOptionsDividerChangeLangVtx "__OTR__overlays/ovl_file_choose/gOptionsDividerChangeLangVtx" static const ALIGN_ASSET(2) char gOptionsDividerChangeLangVtx[] = dgOptionsDividerChangeLangVtx; diff --git a/soh/soh/Enhancements/mods.cpp b/soh/soh/Enhancements/mods.cpp index 0fef052b7..338cbfc40 100644 --- a/soh/soh/Enhancements/mods.cpp +++ b/soh/soh/Enhancements/mods.cpp @@ -655,7 +655,9 @@ void RegisterGrantGanonsBossKey() { Player* player = GET_PLAYER(gPlayState); // Triforce Hunt needs the check if the player isn't being teleported to the credits scene. if (!GameInteractor::IsGameplayPaused() && Flags_GetRandomizerInf(RAND_INF_GRANT_GANONS_BOSSKEY) && - gPlayState->sceneLoadFlag != 0x14 && (1 << 0 & gSaveContext.inventory.dungeonItems[SCENE_GANONS_TOWER]) == 0) { + gPlayState->sceneLoadFlag != 0x14 && + (1 << 0 & gSaveContext.inventory.dungeonItems[SCENE_GANONS_TOWER]) == 0 && player->stateFlags1 != + PLAYER_STATE1_INPUT_DISABLED) { GetItemEntry getItemEntry = ItemTableManager::Instance->RetrieveItemEntry(MOD_RANDOMIZER, RG_GANONS_CASTLE_BOSS_KEY); GiveItemEntryWithoutActor(gPlayState, getItemEntry); @@ -1057,17 +1059,6 @@ void RegisterRandomizedEnemySizes() { }); } -void RegisterChristmas() { - GameInteractor::Instance->RegisterGameHook([]() { - Actor* player = &GET_PLAYER(gPlayState)->actor; - Actor* nearbyEndTitle = Actor_FindNearby(gPlayState, player, ACTOR_END_TITLE, ACTORCAT_ITEMACTION, 3000.0f); - - if (gSaveContext.inventory.dungeonItems[SCENE_GANONS_TOWER] > 0 && nearbyEndTitle) { - Camera_ChangeMode(Play_GetCamera(gPlayState, gPlayState->mainCamera.thisIdx), CAM_MODE_STILL); - } - }); -} - void InitMods() { RegisterTTS(); RegisterInfiniteMoney(); @@ -1098,5 +1089,4 @@ void InitMods() { RegisterRandomizerSheikSpawn(); RegisterRandomizedEnemySizes(); NameTag_RegisterHooks(); - RegisterChristmas(); } diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c index f14948dd9..7cdb5f8dd 100644 --- a/soh/src/code/z_play.c +++ b/soh/src/code/z_play.c @@ -769,7 +769,7 @@ void Play_Init(GameState* thisx) { GET_PLAYER(play)->actor.world.pos.z, 0, 0, 0, 1, true); } - if (play->sceneNum == SCENE_KAKARIKO_VILLAGE && Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT)) { + if (play->sceneNum == SCENE_KAKARIKO_VILLAGE) { Actor_Spawn(&play->actorCtx, play, gEnChristmasTreeId, -734, 0, 420, 0, 0, 0, 0, true); } diff --git a/soh/src/overlays/actors/ovl_En_ChristmasDeco/z_en_christmasdeco.c b/soh/src/overlays/actors/ovl_En_ChristmasDeco/z_en_christmasdeco.c index 976aa4a4b..0b880b71b 100644 --- a/soh/src/overlays/actors/ovl_En_ChristmasDeco/z_en_christmasdeco.c +++ b/soh/src/overlays/actors/ovl_En_ChristmasDeco/z_en_christmasdeco.c @@ -13,6 +13,7 @@ void EnChristmasDeco_Update(Actor* thisx, PlayState* play); void EnChristmasDeco_Draw(Actor* thisx, PlayState* play); void EnChristmasDeco_Init(Actor* thisx, PlayState* play) { + } void EnChristmasDeco_Destroy(Actor* thisx, PlayState* play) { @@ -28,15 +29,20 @@ void EnChristmasDeco_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx); - Matrix_Translate(0, 0, 0, MTXMODE_APPLY); - Matrix_RotateZYX(0, 0, 0, MTXMODE_APPLY); + Gfx_SetupDL_25Opa(play->state.gfxCtx); + Matrix_Scale(decoSize, decoSize, decoSize, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), G_MTX_MODELVIEW | G_MTX_LOAD); + // Assertion Halt in Debug mode, switch to Release when testing. if (play->sceneNum == SCENE_KAKARIKO_VILLAGE) { - gSPDisplayList(POLY_OPA_DISP++, gFrontGateDecorDL); - gSPDisplayList(POLY_OPA_DISP++, gKakarikoDecorDL); //Assertion Halt in Debug mode, switch to Release when testing. + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gKakarikoDecorDL); + if (LINK_IS_CHILD) { + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gKakarikoChildDecorDL); + } else { + gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gKakarikoAdultDecorDL); + } } CLOSE_DISPS(play->state.gfxCtx); diff --git a/soh/src/overlays/actors/ovl_En_ChristmasTree/z_en_christmastree.c b/soh/src/overlays/actors/ovl_En_ChristmasTree/z_en_christmastree.c index 2687704e2..c18e2e098 100644 --- a/soh/src/overlays/actors/ovl_En_ChristmasTree/z_en_christmastree.c +++ b/soh/src/overlays/actors/ovl_En_ChristmasTree/z_en_christmastree.c @@ -65,7 +65,7 @@ void EnChristmasTree_Destroy(Actor* thisx, PlayState* play) { void EnChristmasTree_Wait(EnChristmasTree* this, PlayState* play) { if (Actor_ProcessTalkRequest(&this->actor, play)) { // if talk is initiated this->actionFunc = EnChristmasTree_Talk; - } else if ((this->actor.xzDistToPlayer < 170.0f)) { // talk range + } else if ((this->actor.xzDistToPlayer < 170.0f) && Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT)) { // talk range func_8002F2CC(&this->actor, play, 170.0f); } } @@ -93,12 +93,16 @@ void EnChristmasTree_SetupEndTitle(EnChristmasTree* this, PlayState* play) { GameInteractor_SetNoUIActive(1); - Actor_Spawn(&gPlayState->actorCtx, gPlayState, ACTOR_END_TITLE, 0, 0, 0, 0, 0, 0, 2, false); + Actor_Spawn(&play->actorCtx, play, ACTOR_END_TITLE, 0, 0, 0, 0, 0, 0, 2, false); player->stateFlags1 = PLAYER_STATE1_INPUT_DISABLED; Flags_SetRandomizerInf(RAND_INF_GRANT_GANONS_BOSSKEY); + Play_PerformSave(play); + + Camera_ChangeMode(Play_GetCamera(play, play->mainCamera.thisIdx), CAM_MODE_STILL); + this->actionFunc = EnChristmasTree_Wait; } @@ -111,15 +115,26 @@ void EnChristmasTree_Update(Actor* thisx, PlayState* play) { Actor_SetFocus(&this->actor, 80.0f); + uint8_t triforceHuntActive = Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT); + float percentageCompleted = (float)gSaveContext.triforcePiecesCollected / + (float)Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT_PIECES_REQUIRED); + + if ((percentageCompleted >= 1.0f || !triforceHuntActive) && !this->spawnedRupee) { + Actor_Spawn(&play->actorCtx, play, ACTOR_EN_WONDER_ITEM, this->actor.world.pos.x, this->actor.world.pos.y + 280, + this->actor.world.pos.z, 0, 0, LINK_IS_ADULT ? 1 : 4, 0x1ABF, false); + this->spawnedRupee = 1; + } + this->actionFunc(this, play); } void EnChristmasTree_Draw(Actor* thisx, PlayState* play) { EnChristmasTree* this = (EnChristmasTree*)thisx; - + + float treeSize = 55.0f; + uint8_t triforceHuntActive = Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT); float percentageCompleted = (float)gSaveContext.triforcePiecesCollected / (float)Randomizer_GetSettingValue(RSK_TRIFORCE_HUNT_PIECES_REQUIRED); - float treeSize = 55.0f; OPEN_DISPS(play->state.gfxCtx); @@ -130,42 +145,37 @@ void EnChristmasTree_Draw(Actor* thisx, PlayState* play) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasTreeDL); - if (percentageCompleted >= 0.1f) { + if (percentageCompleted >= 0.1f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor10DL); } - if (percentageCompleted >= 0.2f) { + if (percentageCompleted >= 0.2f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor20DL); } - if (percentageCompleted >= 0.3f) { + if (percentageCompleted >= 0.3f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor30DL); } - if (percentageCompleted >= 0.4f) { + if (percentageCompleted >= 0.4f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor40DL); } - if (percentageCompleted >= 0.5f) { + if (percentageCompleted >= 0.5f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor50DL); } - if (percentageCompleted >= 0.6f) { + if (percentageCompleted >= 0.6f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor60DL); } - if (percentageCompleted >= 0.7f) { + if (percentageCompleted >= 0.7f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor70DL); } - if (percentageCompleted >= 0.8f) { + if (percentageCompleted >= 0.8f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor80DL); } - if (percentageCompleted >= 0.9f) { + if (percentageCompleted >= 0.9f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor90DL); } - if (percentageCompleted >= 1.0f) { + if (percentageCompleted >= 1.0f || !triforceHuntActive) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasDecor100DL); gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gXmasStarDL); } - if (percentageCompleted >= 1.0f && this->spawnedRupee == 0) { - Actor_Spawn(&play->actorCtx, play, ACTOR_EN_WONDER_ITEM, this->actor.world.pos.x, this->actor.world.pos.y + 280, - this->actor.world.pos.z, 0, 0, LINK_IS_ADULT ? 1 : 4, 0x1ABF, false); - this->spawnedRupee = 1; - } CLOSE_DISPS(play->state.gfxCtx); } diff --git a/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c b/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c index a8536e62f..deeeee1b9 100644 --- a/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c +++ b/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c @@ -66,10 +66,13 @@ void EnHs2_Init(Actor* thisx, PlayState* play) { this->unk_2A8 = 0; this->actor.targetMode = 6; - this->actor.world.pos.x = 756.0; - this->actor.world.pos.y = 80.0; - this->actor.world.pos.z = 1378.0; - this->actor.shape.rot.y = 32534; + if (play->sceneNum == SCENE_KAKARIKO_VILLAGE) { + this->actor.world.pos.x = 756.0; + this->actor.world.pos.y = 80.0; + this->actor.world.pos.z = 1378.0; + this->actor.shape.rot.y = 32534; + } + } void EnHs2_Destroy(Actor* thisx, PlayState* play) { diff --git a/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c index ef2438acd..d51c7dd92 100644 --- a/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c +++ b/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c @@ -898,17 +898,19 @@ void EnHy_Init(Actor* thisx, PlayState* play) { Actor_Kill(&this->actor); } - if (this->actor.params == 1929) { - this->actor.world.pos.x = 261.826; - this->actor.world.pos.y = 240.0; - this->actor.world.pos.z = 1669.660; - this->actor.shape.rot.y = 23784; - } - if (this->actor.params == 1930) { - this->actor.world.pos.x = 262.224; - this->actor.world.pos.y = 240.0; - this->actor.world.pos.z = 1594.390; - this->actor.shape.rot.y = 7728; + if (play->sceneNum == SCENE_KAKARIKO_VILLAGE) { + if (this->actor.params == 1929) { + this->actor.world.pos.x = 261.826; + this->actor.world.pos.y = 240.0; + this->actor.world.pos.z = 1669.660; + this->actor.shape.rot.y = 23784; + } + if (this->actor.params == 1930) { + this->actor.world.pos.x = 262.224; + this->actor.world.pos.y = 240.0; + this->actor.world.pos.z = 1594.390; + this->actor.shape.rot.y = 7728; + } } this->getItemEntry = (GetItemEntry)GET_ITEM_NONE;