From aac00dd71abb35cb075547b784f2d9057acc7b86 Mon Sep 17 00:00:00 2001 From: PurpleHato Date: Mon, 22 Apr 2024 01:43:09 +0200 Subject: [PATCH] ADD: 24 Hours Clock + .gitignore on the 2s2h.h (#229) * ADD: 24 Hours Clock * TWEAK: gitignore --- mm/2s2h/BenGui/BenMenuBar.cpp | 1 + mm/assets/.gitignore | 3 +- mm/assets/2s2h_assets.h | 57 ++++++++++++++++++ .../icon_item_24_static_yar.h | 6 +- .../gThreeDayClockHour13Tex.ia4.png | Bin 0 -> 1974 bytes .../gThreeDayClockHour14Tex.ia4.png | Bin 0 -> 1927 bytes .../gThreeDayClockHour15Tex.ia4.png | Bin 0 -> 1967 bytes .../gThreeDayClockHour16Tex.ia4.png | Bin 0 -> 1974 bytes .../gThreeDayClockHour17Tex.ia4.png | Bin 0 -> 1852 bytes .../gThreeDayClockHour18Tex.ia4.png | Bin 0 -> 1946 bytes .../gThreeDayClockHour19Tex.ia4.png | Bin 0 -> 1926 bytes .../gThreeDayClockHour20Tex.ia4.png | Bin 0 -> 1871 bytes .../gThreeDayClockHour21Tex.ia4.png | Bin 0 -> 1857 bytes .../gThreeDayClockHour22Tex.ia4.png | Bin 0 -> 1834 bytes .../gThreeDayClockHour23Tex.ia4.png | Bin 0 -> 2032 bytes .../gThreeDayClockHour24Tex.ia4.png | Bin 0 -> 1942 bytes mm/src/code/z_parameter.c | 21 ++++++- 17 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 mm/assets/2s2h_assets.h create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour13Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour14Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour15Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour16Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour17Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour18Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour19Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour20Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour21Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour22Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour23Tex.ia4.png create mode 100644 mm/assets/custom/textures/parameter_static/gThreeDayClockHour24Tex.ia4.png diff --git a/mm/2s2h/BenGui/BenMenuBar.cpp b/mm/2s2h/BenGui/BenMenuBar.cpp index a543d35c7..6480ed54b 100644 --- a/mm/2s2h/BenGui/BenMenuBar.cpp +++ b/mm/2s2h/BenGui/BenMenuBar.cpp @@ -305,6 +305,7 @@ void DrawEnhancementsMenu() { }); UIWidgets::CVarCheckbox("Skip Entrance Cutscenes", "gEnhancements.TimeSavers.SkipEntranceCutscenes"); UIWidgets::CVarCheckbox("Hide Title Cards", "gEnhancements.TimeSavers.HideTitleCards"); + UIWidgets::CVarCheckbox("24 Hours Clock", "gEnhancements.General.24HoursClock"); if (mHudEditorWindow) { UIWidgets::WindowButton("Hud Editor", "gWindows.HudEditor", mHudEditorWindow, { diff --git a/mm/assets/.gitignore b/mm/assets/.gitignore index fec19cf96..d42a6436f 100644 --- a/mm/assets/.gitignore +++ b/mm/assets/.gitignore @@ -5,5 +5,6 @@ *.vtx.inc *.dlist.inc -# Unignore our custom assets +# Unignore our custom assets and header file !custom/**/* +!2s2h_assets.h diff --git a/mm/assets/2s2h_assets.h b/mm/assets/2s2h_assets.h new file mode 100644 index 000000000..1281181a4 --- /dev/null +++ b/mm/assets/2s2h_assets.h @@ -0,0 +1,57 @@ +#pragma once + +#include "align_asset_macro.h" + +// This file is manually made +// When new assets are added to the soh.otr file +// We need to add the aligned version of the resource names here and use in code +// On Mac, not using aligned resource names was causing crashes in release builds + +// textures +#define dgDPad "__OTR__textures/parameter_static/gDPad" +static const ALIGN_ASSET(2) char gDPadTex[] = dgDPad; + +#define dgArrowUp "__OTR__textures/parameter_static/gArrowUp" +static const ALIGN_ASSET(2) char gArrowUpTex[] = dgArrowUp; + +#define dgArrowDown "__OTR__textures/parameter_static/gArrowDown" +static const ALIGN_ASSET(2) char gArrowDownTex[] = dgArrowDown; + +#define dgTriforcePiece "__OTR__textures/parameter_static/gTriforcePiece" +static const ALIGN_ASSET(2) char gTriforcePieceTex[] = dgTriforcePiece; + +#define dgThreeDayClockHour13Tex "__OTR__textures/parameter_static/gThreeDayClockHour13Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour13Tex[] = dgThreeDayClockHour13Tex; + +#define dgThreeDayClockHour14Tex "__OTR__textures/parameter_static/gThreeDayClockHour14Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour14Tex[] = dgThreeDayClockHour14Tex; + +#define dgThreeDayClockHour15Tex "__OTR__textures/parameter_static/gThreeDayClockHour15Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour15Tex[] = dgThreeDayClockHour15Tex; + +#define dgThreeDayClockHour16Tex "__OTR__textures/parameter_static/gThreeDayClockHour16Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour16Tex[] = dgThreeDayClockHour16Tex; + +#define dgThreeDayClockHour17Tex "__OTR__textures/parameter_static/gThreeDayClockHour17Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour17Tex[] = dgThreeDayClockHour17Tex; + +#define dgThreeDayClockHour18Tex "__OTR__textures/parameter_static/gThreeDayClockHour18Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour18Tex[] = dgThreeDayClockHour18Tex; + +#define dgThreeDayClockHour19Tex "__OTR__textures/parameter_static/gThreeDayClockHour19Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour19Tex[] = dgThreeDayClockHour19Tex; + +#define dgThreeDayClockHour20Tex "__OTR__textures/parameter_static/gThreeDayClockHour20Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour20Tex[] = dgThreeDayClockHour20Tex; + +#define dgThreeDayClockHour21Tex "__OTR__textures/parameter_static/gThreeDayClockHour21Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour21Tex[] = dgThreeDayClockHour21Tex; + +#define dgThreeDayClockHour22Tex "__OTR__textures/parameter_static/gThreeDayClockHour22Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour22Tex[] = dgThreeDayClockHour22Tex; + +#define dgThreeDayClockHour23Tex "__OTR__textures/parameter_static/gThreeDayClockHour23Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour23Tex[] = dgThreeDayClockHour23Tex; + +#define dgThreeDayClockHour24Tex "__OTR__textures/parameter_static/gThreeDayClockHour24Tex" +static const ALIGN_ASSET(2) char gThreeDayClockHour24Tex[] = dgThreeDayClockHour24Tex; diff --git a/mm/assets/archives/icon_item_24_static/icon_item_24_static_yar.h b/mm/assets/archives/icon_item_24_static/icon_item_24_static_yar.h index 4d441bd8a..515902d7b 100644 --- a/mm/assets/archives/icon_item_24_static/icon_item_24_static_yar.h +++ b/mm/assets/archives/icon_item_24_static/icon_item_24_static_yar.h @@ -33,12 +33,12 @@ static const ALIGN_ASSET(2) char gQuestIconDungeonMapTex[] = dgQuestIconDungeonM #define dgQuestIconGoldSkulltula2Tex "__OTR__icon_item_24_static_yar/gQuestIconGoldSkulltula2Tex" static const ALIGN_ASSET(2) char gQuestIconGoldSkulltula2Tex[] = dgQuestIconGoldSkulltula2Tex; -#define dgQuestIconSmallMagicJarTex "__OTR__icon_item_24_static_yar/gQuestIconSmallMagicJarTex" -static const ALIGN_ASSET(2) char gQuestIconSmallMagicJarTex[] = dgQuestIconSmallMagicJarTex; - #define dgQuestIconSmallKeyTex "__OTR__icon_item_24_static_yar/gQuestIconSmallKeyTex" static const ALIGN_ASSET(2) char gQuestIconSmallKeyTex[] = dgQuestIconSmallKeyTex; +#define dgQuestIconSmallMagicJarTex "__OTR__icon_item_24_static_yar/gQuestIconSmallMagicJarTex" +static const ALIGN_ASSET(2) char gQuestIconSmallMagicJarTex[] = dgQuestIconSmallMagicJarTex; + #define dgQuestIconBigMagicJarTex "__OTR__icon_item_24_static_yar/gQuestIconBigMagicJarTex" static const ALIGN_ASSET(2) char gQuestIconBigMagicJarTex[] = dgQuestIconBigMagicJarTex; diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour13Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour13Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..7388c6969598a8e06e470ece678ad415999d0852 GIT binary patch literal 1974 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 Q?4at_)78&qol`;+05%oLdH?_b literal 0 HcmV?d00001 diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour17Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour17Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..b404e0677d2019a08cb25f057789b06be2aff076 GIT binary patch literal 1852 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznVBqFpVqjqS*)S`Qfq`XXW=KRygs+cPa(=E} zVoH8es$NBI0Rsrw*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@k;K*^3v!KNrB%__*n4XU{)CCyeTqokz3N?*Ucyj-u`STDaQUEk2s z(o)~RNZ-gvwpb{k;Ib8}I=QC#9$R)SwgaY$uBs(w&vaeir0a;j@tYF>#lI3z&f zV&$2en4apBnwMUZVXI_lh$a!9nF1C!Lx_V6$|(iKL}*@SiLH_mLMj3wXRBmxq>p4; zBvvU3>mYI`kt5h81?xf)9>TG6cX=bKtqz5skBDcWGH$Npa zt z^V3So6N^$E(^K)y?Pll5?-8 z&z-6GGk4>y^gTZ^54q1>6m_g5N5?O;djH|4M`p_{5BpmDKkD$Nw3QD&aq_Qjn<+j| zU|!T&X})~!-&eP6(y7ssF?rf_XnWs0jnA78uQaN+$~m@J`9Yo_-;%n*N8+n9gT<#! zzq~S?>(%+%InzzDZr+@6gzsaS&Y~V+#RDpfdjyvCE6zOp<%0kEH7h2`Ydt+bVRB4p zTC=H7n8!pl|9~q^A=g#ZT(763L=^w}zkPjJ(SrRkdkvXP{kQ$S#kw{6L+F;b{m!@l zSuvegj!Dt}xszFHSBGc5Oe= zZ<}>aGSokMm?ao_ZsMO+!Coq!T^^dP!cp0ur+tseNwZ96NV^ub``1zt-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@k;K*^3v!KNrB%__*n4XU{)CCyeTqokz3N?*Ucyj-u`STDaQUEk2s z(o)~RNZ-gvwpb{k;Ib8}I=QC#9$R)SwgaY$uBs(w&vaeir0a;j@tYF>#lI3z&f zV&$2en4apBnwMUZVXI_lh$a!9nF1C!Lx_V6$|(iKL}*@SiLH_mLMj3wXRBmxq>p4; zBvvU3>mYI`kt5h81?xf)9>TG6cX=bKtqz5skBDcWGH$Npa zt z^V3So6N^$E(^Ka+V|TW`Qda>L`=-_ik4Rh$E^sLn#L#ivhG9+@q-JnU=n|ER;8(pEnB#L2(9ZKn7< zfq7A9rTOx?e_!3QNvB3j#^hKd@ z{qo9mu2<)4=S(-rx_NWP5x$RQI*WRQ6%VK^?h#nluQ>DYmka*u*Q}T%ul4l&gvl|X zY0aiSVIC9J`~$8ugfo?|MvA^MGN-F>@{RE_22gQ7VFmN520J$_B-GH zXT@}0IVMH>=T2sc8sWVW7p=Z8tYki?ryZ5Ve$IU1+k*iVn=Nt9 zf0K5m+y9oi?_3kR?-f_s_XW}C%=K%T`J2=CZ7bxu%D}+DS>O>_%)r1c48n{Iv*t)J zFfcNCx;TbtOq@DFv9HBJz_t6{QcmY~7IVHn14R!G3zc~a76)Pyg?Pdpk_}c^GO-98 z=5#2{4w2^JOk_QGmrUa+>-B3%=)n>h|wmciPf_(v#VLbbK!x96Pr?HS+d0&90)o zao0;-IrcKo-=BNf;LPVg6*deFhTp38vb24#n8(ggIZxbm;i@c&wnP1mI;YP`uUZu~ zjWsz(!tM69(%AorFLv=I%N#Ehab1?#_gKShN#?H_JH`fqq}ygox4f?gsS#&>KT)Mq hplD}|isvuGUrfKsVltm(7+Zm=R8Lnwmvv4FO#np5t}*}s literal 0 HcmV?d00001 diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour19Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour19Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..1673da38657d37fe34984c55a98c76c0b8ce009d GIT binary patch literal 1926 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznVBqFpVqjqS*)S`Qfq`XXW=KRygs+cPa(=E} zVoH8es$NBI0Rsrw*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@k;K*^3v!KNrB%__*n4XU{)CCyeTqokz3N?*Ucyj-u`STDaQUEk2s z(o)~RNZ-gvwpb{k;Ib8}I=QC#9$R)SwgaY$uBs(w&vaeir0a;j@tYF>#lI3z&f zV&$2en4apBnwMUZVXI_lh$a!9nF1C!Lx_V6$|(iKL}*@SiLH_mLMj3wXRBmxq>p4; zBvvU3>mYI`kt5h81?xf)9>TG6cX=bKtqz5skBDcWGH$Npa zt z^V3So6N^$E(^K3e=;9&(?%DC$^Aj*eew_5Q<8kIa@^9`?2Pf7IbkX)7Om;^bf5HdB0_ zz`Url(tP>czprlDq*J3MWAe1=(DuH08lN{GUTIWsm2+&d@`F4*Lr$>!sM9H zv}RMEFpr69{sC8-LawW*xn566i75W{fBX8dq6Pb7_8Kyo`fvMti*;-ChtMr=`<-w9 zvtl~09FwB`b0@Pzjqu)xi&ozkRx+Q{(~e4FKWD!1?ZE(_r7D$2?w(ZHGsoew&6YUl zzezjO?SISMcdm)u_lm3R`-13m=K8hF{LSh6wiR++Wnf_7EbxddW? zsZ>O1c|q6YYL%kpv*tfPYdw?kN4miF*setp(^wmFZ=d_TM^WbZL5buZMh6ks``-nf zI25m!dQSSIX5XsfSsEK(DbZFr?|ZF1k8_~Nvdnw>)0e$`8W4Kb<~)PKX`^Eno|E$5 zd|jP$``WhL^PeT!7#aE=%dwF5k=b8)hHpY+_*ey-)u5N9$VVX&b`c&Ml4G Q0jfSdUHx3vIVCg!07g8g5&!@I literal 0 HcmV?d00001 diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour20Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour20Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..df13cd51398f4b2013293227bb0df9d9308fcf89 GIT binary patch literal 1871 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznVBqFpVqjqS*)S`Qfq`XXW=KRygs+cPa(=E} zVoH8es$NBI0Rsrw*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@k;K*^3v!KNrB%__*n4XU{)CCyeTqokz3N?*Ucyj-u`STDaQUEk2s z(o)~RNZ-gvwpb{k;Ib8}I=QC#9$R)SwgaY$uBs(w&vaeir0a;j@tYF>#lI3z&f zV&$2en4apBnwMUZVXI_lh$a!9nF1C!Lx_V6$|(iKL}*@SiLH_mLMj3wXRBmxq>p4; zBvvU3>mYI`kt5h81?xf)9>TG6cX=bKtqz5skBDcWGH$Npa zt z^V3So6N^$E(^K3e=;9&(?%DC$^Aj*eew_5Q<8kIa@^9`?2Pf7IbkX)7Om;^bf5HdB0_ zz`Url(tP>czprlDq*J3MWAe1=(DuH08lN{GUTIWsm2+&d@`F4*Lr$>!sM9H zv}RMEFpr69{sC8-LawW*xn566i75W{fBX8dq6Pb7_8Kyo`fvMti*;-ChtMr=`<-w9 zvtl~09FwB`b0@Pzjqu)xi&ozkRx+Q{(~e4FKWD!1?ZE(_r7D$2?w(ZHGsoew&6YUl zzezjO?SISMcdm)u_lm3R`-13m=K8hF{LSh6wiR++Wnf_7EbxddW?N)q|d{ KelF{r5}E*$ACQj# literal 0 HcmV?d00001 diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour21Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour21Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9faa807efbd628b063164bc6dafae752c3e586 GIT binary patch literal 1857 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznVBqFpVqjqS*)S`Qfq`XXW=KRygs+cPa(=E} zVoH8es$NBI0Rsrw*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@k;K*^3v!KNrB%__*n4XU{)CCyeTqokz3N?*Ucyj-u`STDaQUEk2s z(o)~RNZ-gvwpb{k;Ib8}I=QC#9$R)SwgaY$uBs(w&vaeir0a;j@tYF>#lI3z&f zV&$2en4apBnwMUZVXI_lh$a!9nF1C!Lx_V6$|(iKL}*@SiLH_mLMj3wXRBmxq>p4; zBvvU3>mYI`kt5h81?xf)9>TG6cX=bKtqz5skBDcWGH$Npa zt z^V3So6N^$E(^K3e=;9&(?%DC$^Aj*eew_5Q<8kIa@^9`?2Pf7IbkX)7Om;^bf5HdB0_ zz`Url(tP>czprlDq*J3MWAe1=(DuH08lN{GUTIWsm2+&d@`F4*Lr$>!sM9H zv}RMEFpr69{sC8-LawW*xn566i75W{fBX8dq6Pb7_8Kyo`fvMti*;-ChtMr=`<-w9 zvtl~09FwB`b0@Pzjqu)xi&ozkRx+Q{(~e4FKWD!1?ZE(_r7D$2?w(ZHGsoew&6YUl zzezjO?SISMcdm)u_lm3R`-13m=K8hF{LSh6wiR++Wnf_7EbxddW?UOB0xoZ+ylvFEB+SF@QD()N}M8XAYL-Rd{p zw4Pl+P@A*i-fyqnsn4#g%u2I+mFJ;+{ciSJrA=;kCoGF{QLEK_di{*uw6Lok2F46) ww~DW-4Rhvgcp{-7DY$m)>jR&U?_KkeHSlP-v`UW1T~N*E>FVdQ&MBb@04`UEAOHXW literal 0 HcmV?d00001 diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour22Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour22Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..207801d81994a5f90a13aeadb5e333d855a0375b GIT binary patch literal 1834 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznVBqFpVqjqS*)S`Qfq`XXW=KRygs+cPa(=E} zVoH8es$NBI0Rsrw*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@k;K*^3v!KNrB%__*n4XU{)CCyeTqokz3N?*Ucyj-u`STDaQUEk2s z(o)~RNZ-gvwpb{k;Ib8}I=QC#9$R)SwgaY$uBs(w&vaeir0a;j@tYF>#lI3z&f zV&$2en4apBnwMUZVXI_lh$a!9nF1C!Lx_V6$|(iKL}*@SiLH_mLMj3wXRBmxq>p4; zBvvU3>mYI`kt5h81?xf)9>TG6cX=bKtqz5skBDcWGH$Npa zt z^V3So6N^$E(^Ka+V|TW`Qda>L`=-_ik4Rh$E^sLn#L#ivhG9+@q-JnU=n|ER;8(pEnB#L2(9ZKn7< zfq7A9rTOx?e_!3QNvB3j#^hKd@ z{qo9mu2<)4=S(-rx_NWP5x$RQI*WRQ6%VK^?h#nluQ>DYmka*u*Q}T%ul4l&gvl|X zY0aiSVIC9J`~$8ugfo?|MvA^MGN-F>@{RE_22gQ7VFmN520J$_B-GH zXT@}0IVMH>=T2sc8sWVW7p=Z8tYki?ryZ5Ve$IU1+k*iVn=Nt9 zf0K5m+y9oi?_3kR?-f_s_XW}C%=K%T`J2=CZ7bxu%D}+DS>O>_%)r1c48n{Iv*t)J zFfdH=ba4#Pm^gJ}EH8^8N6Yg`q6R@)3xl*6Ij1&E@mj&6qQJ=c{leb7Z_7`&XGZyA=H+aHSEKM88@Pe zzrTFN#J{~bx!hl~_lWYIu+M9(@0{0CQZkzUZtv`y$~_&qw*)2%?$|wZ?St;)z1_8p Y7afYuoV)O}6I8`{y85}Sb4q9e02n!ZM*si- literal 0 HcmV?d00001 diff --git a/mm/assets/custom/textures/parameter_static/gThreeDayClockHour23Tex.ia4.png b/mm/assets/custom/textures/parameter_static/gThreeDayClockHour23Tex.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..30eda153fc97e2f8e65be6a7db544c8dbea01be9 GIT binary patch literal 2032 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 literal 0 HcmV?d00001 diff --git a/mm/src/code/z_parameter.c b/mm/src/code/z_parameter.c index 4ebca32ae..0120e2d7d 100644 --- a/mm/src/code/z_parameter.c +++ b/mm/src/code/z_parameter.c @@ -16,6 +16,7 @@ #include "BenPort.h" #include #include "BenGui/HudEditor.h" +#include "2s2h_assets.h" #include "Enhancements/GameInteractor/GameInteractor.h" // #region 2S2H [Port] Asset tables we can pull from instead of from ROM @@ -4850,6 +4851,17 @@ void Interface_DrawClock(PlayState* play) { gThreeDayClockHour4Tex, gThreeDayClockHour5Tex, gThreeDayClockHour6Tex, gThreeDayClockHour7Tex, gThreeDayClockHour8Tex, gThreeDayClockHour9Tex, gThreeDayClockHour10Tex, gThreeDayClockHour11Tex, gEmptyTexture, gEmptyTexture, // 2S2H [Port] To account for the vanilla bug detailed later on in this function + }; + // 2S2H Region [Enhancements] 24 Hours Clock + static TexturePtr sThreeDayClockHourTwentyHourHoursTextures[] = { + gThreeDayClockHour24Tex, gThreeDayClockHour1Tex, gThreeDayClockHour2Tex, gThreeDayClockHour3Tex, + gThreeDayClockHour4Tex, gThreeDayClockHour5Tex, gThreeDayClockHour6Tex, gThreeDayClockHour7Tex, + gThreeDayClockHour8Tex, gThreeDayClockHour9Tex, gThreeDayClockHour10Tex, gThreeDayClockHour11Tex, + gThreeDayClockHour12Tex, gThreeDayClockHour13Tex, gThreeDayClockHour14Tex, gThreeDayClockHour15Tex, + gThreeDayClockHour16Tex, gThreeDayClockHour17Tex, gThreeDayClockHour18Tex, gThreeDayClockHour19Tex, + gThreeDayClockHour20Tex, gThreeDayClockHour21Tex, gThreeDayClockHour22Tex, gThreeDayClockHour23Tex, + gEmptyTexture, gEmptyTexture, // 2S2H [Port] To account for the vanilla bug detailed later on in this function + // #endregison }; static s16 sClockInvDiamondPrimRed = 0; static s16 sClockInvDiamondPrimGreen = 155; @@ -5212,7 +5224,9 @@ void Interface_DrawClock(PlayState* play) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 0, sThreeDayClockAlpha); gSPVertex(OVERLAY_DISP++, &interfaceCtx->actionVtx[24], 8, 0); - OVERLAY_DISP = Gfx_DrawTexQuad4b(OVERLAY_DISP, sThreeDayClockHourTextures[sp1C6], 4, 16, 11, 0); + OVERLAY_DISP = CVarGetInteger("gEnhancements.General.24HoursClock", 0) ? + Gfx_DrawTexQuad4b(OVERLAY_DISP, sThreeDayClockHourTwentyHourHoursTextures[sp1C6], 4, 16, 11, 0) : + Gfx_DrawTexQuad4b(OVERLAY_DISP, sThreeDayClockHourTextures[sp1C6], 4, 16, 11, 0); // Colours the Three-Day Clocks's Hour Digit Above the Sun gDPPipeSync(OVERLAY_DISP++); @@ -5236,7 +5250,10 @@ void Interface_DrawClock(PlayState* play) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 0, sThreeDayClockAlpha); gSPVertex(OVERLAY_DISP++, &interfaceCtx->actionVtx[32], 8, 0); - OVERLAY_DISP = Gfx_DrawTexQuad4b(OVERLAY_DISP, sThreeDayClockHourTextures[sp1C6], 4, 16, 11, 0); + OVERLAY_DISP = CVarGetInteger("gEnhancements.General.24HoursClock", 0) ? + Gfx_DrawTexQuad4b(OVERLAY_DISP, sThreeDayClockHourTwentyHourHoursTextures[sp1C6], 4, 16, 11, 0) : + Gfx_DrawTexQuad4b(OVERLAY_DISP, sThreeDayClockHourTextures[sp1C6], 4, 16, 11, 0); + // Colours the Three-Day Clocks's Hour Digit Above the Moon gDPPipeSync(OVERLAY_DISP++);