From 0f55dc288203fd5ee0b2c77e485e9772e00b3cd7 Mon Sep 17 00:00:00 2001 From: MattNL Date: Wed, 2 Nov 2022 20:42:07 -0400 Subject: [PATCH 1/4] Added Previous versions of colours.col to Resources --- PCK-Studio/Forms/Editor/COLEditor.cs | 17 ++- PCK-Studio/MainForm.cs | 2 +- PCK-Studio/Properties/Resources.Designer.cs | 140 ++++++++++++++++-- PCK-Studio/Properties/Resources.resx | 42 +++++- .../Resources/fileTemplates/1.91_colours.col | Bin 0 -> 12950 bytes .../Resources/fileTemplates/tu12colours.col | Bin 0 -> 3539 bytes .../Resources/fileTemplates/tu13colours.col | Bin 0 -> 4208 bytes .../Resources/fileTemplates/tu14colours.col | Bin 0 -> 5212 bytes .../Resources/fileTemplates/tu19colours.col | Bin 0 -> 5546 bytes .../Resources/fileTemplates/tu31colours.col | Bin 0 -> 5640 bytes .../Resources/fileTemplates/tu32colours.col | Bin 0 -> 6158 bytes .../Resources/fileTemplates/tu43colours.col | Bin 0 -> 6504 bytes .../Resources/fileTemplates/tu46colours.col | Bin 0 -> 6614 bytes .../Resources/fileTemplates/tu51colours.col | Bin 0 -> 8480 bytes .../Resources/fileTemplates/tu53colours.col | Bin 0 -> 9434 bytes .../Resources/fileTemplates/tu54colours.col | Bin 0 -> 10480 bytes .../{colours.col => tu69colours.col} | Bin 17 files changed, 182 insertions(+), 19 deletions(-) create mode 100644 PCK-Studio/Resources/fileTemplates/1.91_colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu12colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu13colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu14colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu19colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu31colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu32colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu43colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu46colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu51colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu53colours.col create mode 100644 PCK-Studio/Resources/fileTemplates/tu54colours.col rename PCK-Studio/Resources/fileTemplates/{colours.col => tu69colours.col} (100%) diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index e6afa9a0..6094e4e7 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -36,17 +36,24 @@ namespace PckStudio.Forms.Editor colourfile = COLFileReader.Read(stream); } - using (var stream = new MemoryStream(Properties.Resources.colours)) + using (var stream = new MemoryStream(Properties.Resources.tu69colours)) { default_colourfile = COLFileReader.Read(stream); } - SetUpDefaultTable(); + SetUpTable(false); } - void SetUpDefaultTable() + void SetUpTable(bool targetVersion) { - foreach (var obj in default_colourfile.entries) + colorTreeView.Nodes.Clear(); + waterTreeView.Nodes.Clear(); + underwaterTreeView.Nodes.Clear(); + fogTreeView.Nodes.Clear(); + + COLFile temp = targetVersion ? default_colourfile : colourfile; + + foreach (var obj in temp.entries) { COLFile.ColorEntry entry = colourfile.entries.Find(color => color.name == obj.name); TreeNode tn = new TreeNode(obj.name); @@ -54,7 +61,7 @@ namespace PckStudio.Forms.Editor colorTreeView.Nodes.Add(tn); colorCache.Add(tn); } - foreach (var obj in default_colourfile.waterEntries) + foreach (var obj in temp.waterEntries) { COLFile.ExtendedColorEntry entry = colourfile.waterEntries.Find(color => color.name == obj.name); TreeNode tn = new TreeNode(obj.name); diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 8491d81c..6e5f8041 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2763,7 +2763,7 @@ namespace PckStudio return; } NewColorFile = new PCKFile.FileData("colours.col", PCKFile.FileData.FileType.ColourTableFile); - NewColorFile.SetData(Resources.colours); + NewColorFile.SetData(Resources.tu69colours); currentPCK.Files.Add(NewColorFile); BuildMainTreeView(); } diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index f1953c7d..eaa2c666 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -60,6 +60,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] _1_91_colours { + get { + object obj = ResourceManager.GetObject("_1_91_colours", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -209,16 +219,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized resource of type System.Byte[]. - /// - public static byte[] colours { - get { - object obj = ResourceManager.GetObject("colours", resourceCulture); - return ((byte[])(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -553,6 +553,126 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu12colours { + get { + object obj = ResourceManager.GetObject("tu12colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu13colours { + get { + object obj = ResourceManager.GetObject("tu13colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu14colours { + get { + object obj = ResourceManager.GetObject("tu14colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu19colours { + get { + object obj = ResourceManager.GetObject("tu19colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu31colours { + get { + object obj = ResourceManager.GetObject("tu31colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu32colours { + get { + object obj = ResourceManager.GetObject("tu32colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu43colours { + get { + object obj = ResourceManager.GetObject("tu43colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu46colours { + get { + object obj = ResourceManager.GetObject("tu46colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu51colours { + get { + object obj = ResourceManager.GetObject("tu51colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu53colours { + get { + object obj = ResourceManager.GetObject("tu53colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu54colours { + get { + object obj = ResourceManager.GetObject("tu54colours", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] tu69colours { + get { + object obj = ResourceManager.GetObject("tu69colours", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index 9b83af55..de9fcdfc 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -271,13 +271,49 @@ ..\Resources\iconImageList\SKINS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\fileTemplates\colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\iconImageList\BEHAVIOURS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\AddTexture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\fileTemplates\tu12colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu13colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu14colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu19colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu31colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu32colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu43colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu46colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu51colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu53colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu54colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\tu69colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\fileTemplates\1.91_colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/PCK-Studio/Resources/fileTemplates/1.91_colours.col b/PCK-Studio/Resources/fileTemplates/1.91_colours.col new file mode 100644 index 0000000000000000000000000000000000000000..55285a44a2a76e01d2e7efe5cbcf7c5dbad28ace GIT binary patch literal 12950 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 IhUAw22O@h9Qvd(} literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/fileTemplates/tu12colours.col b/PCK-Studio/Resources/fileTemplates/tu12colours.col new file mode 100644 index 0000000000000000000000000000000000000000..6a964f1e1b4264902b0540a70923db90c33c81f2 GIT binary patch literal 3539 zcmZ`+U1(fI6h1!q(B@~8G~KjF30P68Xp?KPrHa(SRI8H zKV6L2*#ewf8ig$~m5323YH-NR0>?H#P$o+f%W~k_k-HF4QyA7v6-me;P9v=9zKR>lZDopq{GMV^+ei5V-#;S0{HN&4`7FXUib9n z@)(3X0x?PKAYj*g&GI`CK$SeyH*|V^3bqTS526`lTBI1xk9~Z$G|4W?Xz}qYgY1rG zkji>@Wey@TBvjD}GUSt>Gi!doAGXS~o{q#IQL*8-EEJhIlc48lW|pZ=QDG?DYehEzV_7fTg7+EwrET(JwGI2ccX- zu&_|o0@K(^6Tts<;=KBsp zo0x~=%$f||{GaaJf$b`n=&Tm-`{xG(mq%^P#>g!Ynuljb=7Srh=nQel1Xt%QoPF=p z0B_79G)J-HKzH|U=oFRvC|@^ z5!!{Z_AxuM@Z!d^2K1_;L9& q=n}N}`cA=0*)(}300RoT8V{;P&hv+x(h*bC1#^cb-Ik^Mh8U;ozt literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/fileTemplates/tu13colours.col b/PCK-Studio/Resources/fileTemplates/tu13colours.col new file mode 100644 index 0000000000000000000000000000000000000000..ab019900189d9b3763c4d3c8261cf04e273e4b44 GIT binary patch literal 4208 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 GAO1f*ILd4Q literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/fileTemplates/tu31colours.col b/PCK-Studio/Resources/fileTemplates/tu31colours.col new file mode 100644 index 0000000000000000000000000000000000000000..28b5ebf03c47857a769f390530f20d891d6b98b2 GIT binary patch literal 5640 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 literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/fileTemplates/tu46colours.col b/PCK-Studio/Resources/fileTemplates/tu46colours.col new file mode 100644 index 0000000000000000000000000000000000000000..225498b58345664b01eb3443a1bf6650248cb6d1 GIT binary patch literal 6614 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 literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/fileTemplates/tu51colours.col b/PCK-Studio/Resources/fileTemplates/tu51colours.col new file mode 100644 index 0000000000000000000000000000000000000000..a8fe546dce321258c07235bc9bc8108025835fb7 GIT binary patch literal 8480 zcmZ`;Yiu0V6+ToVWAE(l;MtjF zcGiv!!J(vTtEv)hpp{XJoIq*{5s_S>R49lbwIH=Ltw5ASNCl)C(yF3uq_zYhw&&c} z+?_R!@?+1v_uO;O<2#Q5puZ~|SP?f}*YY!iwmSxwrcc0%eP)2aKW^YLDv9fa>$l!y01VeK7E?BDYa@HgCa$PgY?i zt%Nq3oU2Ni8PQ-?Th7(V)cXjkS2)3L)6Sdh+Vy+`e^iFQDwFcEcFsnfer3xFXqDDW zRmuh5^NM|C<`gGx8ipqR9JDJwg^WsXY@wInlN~P*ZeYOP#AbPSsEnobf?msUz?-jz z_av;cQB_%7PW6(JRQc2t+LQ4sh)2zsjFJ{1W(L`SyJ@-4wD{A#s%IX7N zU}cQWu>T^!DlRB9LU^z69^Khk=#mPB^K#^6;s_p`qV}zpYSS_Ln|EI&<1T?n8-~*t zx}Pn8}Wk#I3oVZ2SaWe zF~k{WT>f+Vcoia=jCH~$xD4vOy5g_dvtCAu763g=ZH?qI;ZuQF3y4*55t>8@rqsh& zG>AO8uV4qu43pUxT>=u*F_9H=u|iquH>$f=5WvM6M@DMnS6l-r~o!nDf=y8 zjbL#t*=EqrAMlDJwxs|ydEbq&ie9ff7|RPx(;NUOj8yWi**H8r%#YWA4@F@MF|7?c zIQVoG+Un^%7-^BIOpiR0oF{GuJzQIaKkRwJ@hi`YO}cv%k(pJC1)?#)2pyiD#S0kMtrYhaUe^c(z4gY{Jf`9d9D*O}Nk>Z{zt^+bkp}MUo-9-K^yo(NmZqd;?t9 z<%+B+3mDRp!XjQs5X~N<{D`}37`bIr#p{La*Mv1{;+dV0;`h1ZcG(_r>|he6AO3ND zxxieJ6w@s42up@7TW{jBYtG)oynO}9F1@z$jPMFUkSS;!4d18`FQe?8EDeTNi{yS~?n@y~a(r8n+YfDV#~U3>(ksYk5_ZvY%QhC06!I!T@+jS9 zV&0aQqvGN4;i?9OTIKtrr+yn<;4EfmH3NrP^|e2JsJ(Qb=VhUgHna?0Q_=Borm{|Y zSHdh}BM|pItaOiJ9TGw94g*e}gisA*T?1{_*kast-$|3&8Yi?V!?hZ8#|}oBMed+NFjR zPN?Pmxm~bcF6*G9c5L5ub!Za}%Ag}i)M*x{!Nv7Hf9?wc@ifd&I1)C7t(;psDWG)-|(n?t?V;76Deb;z8+^$68+o}Fx zDA850N5?Ezp#(+$qCUyMvwye`nxw)dCZ2g?IDBIbd{U#K>KJVWE?{Y_45xd(QUN99 zMg>esvt*Z{AF)8GjAM@4PuR0oO2%SLEfEGOCsK&7mI?XQvce0sOt=w=bptE3%Mgmf z152Ht;JR9h5(Zt(x@sIWCsP~9Hx&YF8<^?TF7ifc@j=fnBcKi(jfGE94x&zw|Hx4Y zwz`unL#Yr{`)jY^AQgg(nfKhdZ<#?MWgdiguu^TUgC3s7s?}*|lX?)&qGWk-KBHx$ zT@}1w3aX#{2b$UZVaUpssV+}cXt01j*;+^5<6@?VB>C%ZOl8=wpcA|0z;uJ%Ua!TH z<_oX>5!&ibChZ_)yHLWTi!b8Css=yLDoL#>7Jk2>6-|X zaDKWIS|dv-%=9>!gZbonXpgM%IwtN^EXd8Auj9HOM>wdh1+3PtUi9P+HX)?sw>q+} zrjyYHJi=o&`h>LY(6o>0#ps!?Nt_NQr)TN}9IW^y2ea=T^L1y~qdJrG8s1S+N`=J2 z!U7ikwF->;)F|YVopmexjXBh8OXLj3HOyey+lWl{Vq*62EDtX9`6=1i#o)j5SJW{N zqap&!9UXiGq2P!OCOTqpQ1pn=0i^5*BO?Z+?2y`hu;h4I zK8y&deB@-nl24al)|bhN_cVi^PZ0Kgiu!%IgzjefVukuLHkVD8Y$|LC4yZwTy0H;U z>zWg=kff4B(t0a-iwVTq7Ye&p>a@DdajS+`3?Y0#Ywf5c=eXC2{Mr@2Zg;eRs7$Kb zZH{16E-Ya0!kRa20&76&dox&+NhuP(mV+@dorc#ng{3Ryl7$hQ%gw`@s69#+#@_>{ zUV$dDLM=ZdUO3wo&RR{s2wlsUDMEjxSb}S+NmwP0VWQ1dm=gAE=!eyUI%FYiB9aHx z-2LI6XO%zj-f74x+mxO$HO+M2itvxB+vhnsVSpIC^~M{pR`8-$R6Fq3$8S|jOq09> z!BI188k$jZ#U0ztx>mUi8#i97PboyoAT!gSZ0ZK6O4y520~C1U#$!q?`z&*evFT0q zs?9Wl4hp;j{OAx)qJ^k;j+8yW#2$V9&?rW<&O)lBLzwojc}gl@p( z&n!&Z$OngeO3r_sI4*+0!G2MZcg@}&-D|+xqnY}>20ZwZ3mfkAix}S-@sTT&q}o+! z5N56Ii_aBf@b{xf7xkeSw6?Z>M(A@GVX(lnbIvXol9uX{c@COz_DY;gag%df-$xbjZp*6o%#v1 zk)`BVRKH-hY1L;f8gTmbX|Bz^_<0ozED5|Z*n1n55XdvKV!(?(@VUfsQ&xlcA@uf+ zDA9nXrY5dEtZGL?g_DYyQgyNc-pu-waz|qsGe-VhYO(lftq-7KVYe(reKZ1 zOlCV*YHh(9g9G38g|~T*>Em~TPz#qXU0Qs}fX5ztgtM!i>BZpD{G+grk7xLFy~_z% z!j)HcLYp?csac$9$4B)cDq!-h@GQy_qo39%wA;0s60-T)%?fyoAvbQeMvh$!vmCVMxz=I*`g-MfKA zFtOrT>$KIXb>gdlQhbfHaV(CbBle*)t);Dw73z$SPNTNdv8|4+aU8bie6RcMgE0KD z=lj0%o$ow;=Wzk(@3bGn>=x5?EkD_1yF>8l9Z$gQ9y7q-Etc6o2!%ocYB`}Z?+!Rt zyX`nRPG0XhwmD!W6FbdJ)-l}_T%WxR&PWW6B=JAvUn}>t4O{+zZ&@yw6DHKgy}o2( z(6X}0R?qSBegr=J@I#p2-7gM79p}{Td1))P-t(dnr3@qfReaH5=-s_2T*5 zpznE^jvRA}gBSNgHGdA;6`w*zr8m~mOYq5#7YH{nU|V#hygO9JOnO1PKVUR5BGX22rN3TirqbGFR?m#kT`e>StKi?q5)qOzzF? ziyvgx&>XeI=CtzF3VIIJeCQgOD>rbc`Q5LtgE^AK`6Grf*+ajfkU5h?<=%1Q!2&dL ziHapi4B}Im(WH`M`Tikjo&c#N?h&D-1j=bvWXCHRFp)9Q7yFO>R`M#fdX2LBMlZ0E z#!A@!5kL(Wlo=tsS9p)^Y%Fw1g~E9`@-lJGiW4~7rjy)a`M%lj1%a8|lzJG8IU*Gcen!0r=)$Pk-+g$1wxK2jv%d(|NGcBFo`=WRm1Ou`_7m+9G^n z&l7=>e^PAH-J6KatXeD(jR8vN@bomcO>SZj zrI#}Kblez4o^=A7qxL`o&!)VcE_Aju@I0+;7B3;Vpt7Q`ay$M3q9)M8+GkAQp=OD+ie0lXp}^ z#Dwiosdw8@pRl*N(@jQAe+VXhe(1}i{0*LuH zMW~9a5VICtn1uyf2`R9a95%5U9}svB>3BTktwGv>1A9YGA$hL zancA|f?|o`iI;l9S1U<@Bvk24mk>xY)yMFFS5i~pD`P0!g~-;<@Q5OF*~pjX$|4=x zXAJ&ph7;j-B@*9Gg%yL5)Z!E%J>Tpzn zq^-aStjU$(bkA2Rpln~I!aQbX?HqI>SSXcoP*VE|oEAvQSd6J90x9K0DrKl;N*!uh z;e}cz+$f24153YY2u0z6rA|@bu5~bsSV_t3Zk_Q%yeoOd84#=muKe? zaW~!_37?`IM4cf2kuw;07oJGm<;$%`wSDW*A!6+2I{0wT@;G^40<*49~=4qmVK3QKz-s)nh05S5{ zEtu=DQ9>tnbAjmwTfBCQW!2|j{R1?Vos8K*+;$<0M;n!kX_=(OrxGe=EIq|pe0RY> ztd}X6>Nc5ues%RPU=F)65m*_zhQw!6D7{;W!1VNV<$|Is?`ItgMmw&78YNxSHgV>Y zf*o(ask28(-h1_IEw61vo#C@Uiybyifw9RoAp3?E$HWG8(IQOe>VgCf)&BSQN3?^j zI4v23Lx&E*9JLMO11JNBp^4Dt1^~OU&=By`W3$?0)$;STZE-8W$pJCb?sTcrr7A)3 zZ*|ZuAARgOjTE)9W;$~HB^oo9Z6KS?YBbiiz`AwVs3~r38Ot}F6u^nKd<4{O_Vw9e z$Czu6a1`8t{+F^%4ue=s{bx^;Ccy^m72%7IEd8tv)ft$BQu-lP+GDeW+%NF_g zSTod@EJ-Jsj2+iJk00X&REv|hAU$!sjH~Dirm##5%TWE~1~&2>d#w>)R4fo1w|+8q zuxtU3jIc7d^a-M-r9!ooS?dUnJ7Z%LWdaJf9lL6>>QL2WiK$)7F!fvEk zULJnwSaaD5e`6XoTUT-h@d75W-mXHXdXchkd>;=!^!ZWQibmkSlc#A0&_bWL)PMT< z{<6Dy&@?tS!a3@0?Vx79tn)q1M%o@>!{={ZhAP4mz7~-y4WzkJ>KdS?r<8gbkmedhHi&z} z_?^HFXfzR}yn3y3bLkPI2}rFajEo47T0?5vuB_vw_^dUg^0}u0GfvLH3Q!g*yaDd= zd`deX#A&D`mk=T>U#w7*&pr+$vNkn2G87-Hs=_v_=mbo~sQi?)_WXdw1Y*4|L1jIQ zX>-^r;uXQPyHT41PZee2)wQ-ERoM;EkxOLda`)RqyYXdm|tqAtc9_)`|vAJEmml*#E2)3wuT=9 zOg{syv(8k6&U_{dOA0Zl5y!9?OXrz#wl3;~d4k$)VV90sIiLx_?{_?@{Dk+{-B!+~ z5)R9ZiMF+v$`K}eJSQy-6M?thcmoy)UNq0p4*c!@wQ7lJn3t*e9RyZ%Pbj%s9NSH~ zRxSsN7cbREVIuuYB$kc;Mye#Y;b;m4Uc7j}QcI6z4ly?E@pd&OpzkBWAfFO^z6U>( z2vM)@%Xxm5J^I}4gNmFmgS^lM`=}yz$MD-Eerci`k70RKCCDviihWu*`e+>6Lyy*z zEoRQ*P772#dhVi_houqA4+k{NckD=mv~DXkq<@?tp`3CI7z<9uP6& z;7CD{H}AW$bguz#_b1Eu8gSD~E-bp*&tL{liVv{K7_~PF4Pc+OuJTMf0{^)C?usrH zf%^LTQy_u?gf0v%cpRqf+@O-3rm&UQ3~0gx#vnnjX7Hoz=QnZrXhf4J(!@$EDcCr^ zbjg4(zXYzNR&S@eJ-Yh5QlbI-_wN^uRWvM!u!YhPHQ?CcA7j!+OUaSEe!;%#no}(r zaOB7luFY-u=^v+U5|1OW?Q*IHk!Q(@0WaR+bBS9_S=i%8`YW4Ci3U_xS99%QgVG-= zoK#e^!9n=P?@2h_OH!tSPZumG-)sPR7PCOR=jTF)JNodRaUw#SH>v!q1!t@6)PchRL*r!Lr@#H3) zqGR(nMU*-jh}zDh$8mHl3M^J>)<5_l)bcd1SNzR0XW}P6d%(rdmbMQu)5e`*5g-5D7*u(NUPxJJv%+$ zDH(`Yi6_Wb@YRhkLam@_J;d5){-VlB(KehseuW~5{Qb~F_bHO-ziv04Qvl2xsav)f zFiYG(W%JKgoCn3`W8;q9G5R{E^%YFXOYTA?>r@Wv$&m}7UMFj!M;`wxetFXv@il%h z_~pXlTUaOZ+3k-P=Na*s2iynnONqvco>O zd(QW|-`!oiX81$revk9~oyWHT^zSpLVM&MSx|W~rv)vK+^*3IGB?D%Fe|K2sP!39^ z5-j6{ZAEw3v3hLBDRA;u&#}#6E1f!Ej^-WH&A?alo8juz$V3|dXXh`IYr4iPf7rJy z7t9$GmL(H1_${m~9hq zFyYyUlTg#`n}q_uI|hldJE4v)-s*dkmb+ufGF_NHT7rcgRwmuy6fL-`_oS4BFY33E zCnm{Kd3uNKqs-GMcEchrGs!_JsFN$=R@N*!0rb4Q3Tk)Rj+JH$6Sgw}pPg=#Y;}60 zqn--~Umbx4ep0{ZWv$Fs&$kKzKQd&Ob3*J2RqImF^^JlXa|~@|_Bm)Ev&c?i@+It1 z3m*6hRO;1$(#tPHBVE-s9{AQMw_jIg*n)??U4o_bCA8nfiIS9n5e;V1#az`)^^c+I zg@f!e?O~HKv4$_;BBr^F>7n@3mcX|leBEISjhRFH`-fZ4s-n0{ZPk+Lz|;u zWN?zWfjk7w=y-u}5d-$b*UP)Pfob7FlAyL&z&|ms(cQ~CeeKc9`zuYg`)jdgghYG`=m%c0ci9{0VYe`o& zYYhdcGSh*N*IqAOj;yOY7V``Y&I~v6BhTVieoq)Ti0IG`7+c<5=*w9jB*@%7vzLQ4s{mxxbfZm0P`DS$(?~SZQND z?7aw3&o5?12=5i%qdOZ5X;PtZUXIp`oz+PKblY^&yDZ-~hrA##(>r|AMUVRP{r z)1jgH9czt8xefV70xE$U^$({!vI*1;uE^6G}UZuc4)Nm_tx zWooS@mkLD%I$8j=ikr}6f-$8Yc0`THy#qNru;5bZQ=Y`Ms~D<@Q`O$^)GCh9=M*`F zF6FM1;z@(uCjyZnIr$0$r-WmUnhIoR(p!MVwZKEtH2YhiA))LFGFhKJe4jTuXj^J) z;{KbUo|K~dB}+5R030_c`c$5eEZo0;Ki?j~EDGKRIy4%qF#dcAR#wt^4AVze4(I_( zobwuiAr@C6!4?xw#7przVv+9kL}b?1LWF1xXTmrj(bzK0!zsx&q;f@Pgi0!JJiQlF zm3IJ2XKvx!L-!>~8GkyQOyZe5g#^ASbD9DF`oRa#Adoz652x_RjCa6=Z5=Clw%5)O zf|B0JZe4E1@<-9%nB9B>T-W7#kCZ43&q=>!zD$XL$*sJRJAN4d1ye=+h0HC&co9@! zJ0$zP?wDP$2OT?@fT>6Rq_S9H4o!MoChrIfmJJ(k<-BVlvz5in65?I@e(^=&M1mj_ z-5B~wt-{^Zs5fFkB9Y)l1&b1LnyUDjvK=ZPzdkZ3+`v5GrsJkR0(0%{(4Y?O^z9%O zU_ytPnHk}fw6w#whjUm7&bK26qU;qR_s#F^4{0Loe({U#u$;^%eF@Eib+ZA&y3rSBnzks_f@NH0CI}B)b<@b~xV9 zNP?swpNeA*>K1G)dI?xmn&v^j)5PjQUXF%=>FJUNxLVEr__4o*Ye-IkEqk!tz#hX_ zAT#l_RlbwoF*}RpgOXXxbV=Ngtppqya6%UftAn%u{Gq0+0nf`oE@fzyNTg!r_(El? z^xrt5=djh`d05vU#(JtOyR;eb(n}DstRvFfZ*N0S5ysat$=WY&gjJHR+lnRUUHkhg zF4+jB1q(vU2{21Nun4hM7L#$`&L=P#ps}FTvm(4%Lp9o=>M0fg6v8U-Lab}KDGw`l z6O>?SI%Z<2TZ6*qo;wtt6vEywfBUBDL0Ka+{YEROav~bA%1=)`lYwTb zA%#Th^WN-ESR+5{u%=dQ*||Eji3XO?7Q`z7HwNa|feNK>f{U;>G?aDwYTl>g*s^m3C5@2+8@do!ENfJ>M8hpiiHt% z#d~L;2u-D}hYQ#bC@bq>q7*|VMXkbwgqgPsunnO{DUw5+T2D~N7)Tbe`{EEAgKH2? zS4b&Xn5qo~gvt+9T2h}WJ*m$Ma@1#no-(*Fuo%4rA%i?N)eef!)smGkZX@4S52ZPz zT0rit(tx&rnOUtO&z0WM=h+2B_3ejap(x6k)DH4BIZ484zyx&f=ntbaN=6>ake}a`2I}>)0v|Y&K z)@J2+S~BYJsZ2{4*I#BY%3U%rUC1;~C8JDWe|^vQp@!X<3anAOhS+D-q252m;L@c_ z)r*$CqMvsxnC!h5-CQ<>aofaMRR;F`^lklkX6#uO4jE zIOxW97JmC-QuE+GFEi;m@bI1(c3#qI1Wvx};?GaD!y=NMHTEL#80C)*l|Py~Uhx69Ot4bBTq03dQ?Xor zSmy)|brVxF6$}cup8Dck#U3V9dty$*S*pmX2AZFr$Brn zcmgw6^Vi~`dL1-7JSgfU9V@ zxB*)-t>a~;{t~8xvQ!tl9pKP8SXJ#n<~Os+sy$B(o)~_j`Zjje=9{nxC-$`@Zotm= zmg;+$R}JjjSN$vVpTyn!RB~g4JL4}_w;@+SqW@-CSxqc*l|R07UG=@($~QFCmn*8R zjgJCVE@T73wis!ThdsY`Pkwd9)^<2|2⁡Ti3(Iy_M7raA_Svt(ZxP0pX?TmWu7S zV`g4gLEQ}J;1I0R+Cm!0M*G4tMq+L768=|CMal52a;kyF_QeY7dRVaF(+cVapfalb zgpELoET?V)>d?xmn}Ia9QskYaH->K~Za{;UIA!qroQKP|7;QjmEj!4F0jV{lc8%v9 zFT>}|A(hX34OsB$0<1MywHsF&nPupQ59R_ArOLpjXZ zq^e!!AeI{Q^KyQrJ%JdI|HBz<8zdKTU#tAEtT_d5@`pPXn@!(*LQ`L=Sjbz5-r4M2 zbg-rp$K%jKGIWi3SHQQ%a>M2=jLm~5UxzyJg~n=(c;QTE_-bPMqtLl{ks@p>j^^RI zQUdD5Hmnn~MW)T&E!$wZp!QohgTVTL@D~1Y-*=Q_@##UoRj{eL#0qGp>kf`y1D=yr zEyz1>y#*`8Sv1bkHvIdy?ogkYNq7Z~k4CVrf96WVlo;%}vt2RX;b2N|twI4>Td&tg zg`!d+hoXOS?y;S!;5|6HLy1~jk1D+lSmp>jrYG5>7Sn4}kmEy=j~~QGCn3u{g9Xpe zGp*dve_WAMW>6H$q9>}Wsk9;Nocmm>T9d%1VtmA->(61mQ!7sFFf;7c=FG7q_QW1b za2;mB;xPf6e(&}FF98~G<5$dT2`~mrPb}e@NsU;Jg-wJq&}*-~riDTHZkMz&c5xKm zedUIzw+eJEja5I;fZpC-RaA3$|H{FpDp4MT^|#*0>5*|f!p_N)Rp-YaSN~=}8|G+Mfb#-!{7X1ABNghUAHKzZ{19iKMrNsqBG+SNv1gU?PX>JQ z3GgW9%};1H?$R-6Y;5F8?(_~QZsQw2f2CapbmN$gnK|5Lz|o^eh37}+JTdlx6;&E6 z8F238pJJhda>~b<@T?fj*41C`qXDN*o#N&y8}M>WVhr=C~1`?2I4=?7y#4{fZ94b=we9r!SXqm6l@G)N@XR-QSJ zuQ8&^=M~n|Ps1`^Yw8Vb`@)6z=57zW_`88|oWtP1g-J8d{vt(0+dS47ZMgjyG$3dr zY;p~Wv^$-}Y|QEOMkdX7U-!mnKyJmK0YK?z04-V@LGm2%e5dSE6Kvy@P8VFjMk%kE4=xD$nZai7!BtPS#kDz3^}N#;qO1zwwR1k5)x*Vd3|iM_-5* z8Zzm*PvPUEb`}&we0zl(*uqCZ(+IF*+1id%a`@P Wi$iTE{zxz5V|~V(lp8nv`2PT>O3}^$ literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/fileTemplates/colours.col b/PCK-Studio/Resources/fileTemplates/tu69colours.col similarity index 100% rename from PCK-Studio/Resources/fileTemplates/colours.col rename to PCK-Studio/Resources/fileTemplates/tu69colours.col From e04c1694f01fabc8e917fc745c2b9599850266fb Mon Sep 17 00:00:00 2001 From: MattNL Date: Wed, 2 Nov 2022 20:53:30 -0400 Subject: [PATCH 2/4] Cleanup resources --- PCK-Studio/PckStudio.csproj | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 001f58c0..31835fa9 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -619,7 +619,19 @@ - + + + + + + + + + + + + + @@ -656,12 +668,10 @@ - - From 66e4eb05156c615d6e798a35f646246090419915 Mon Sep 17 00:00:00 2001 From: MattNL Date: Thu, 3 Nov 2022 21:08:22 -0400 Subject: [PATCH 3/4] Added Target Update Version Tool to COLEditor --- PCK-Studio/Forms/Editor/COLEditor.Designer.cs | 206 ++++-- PCK-Studio/Forms/Editor/COLEditor.cs | 43 +- PCK-Studio/Forms/Editor/COLEditor.resx | 602 ++++++++++++++---- 3 files changed, 680 insertions(+), 171 deletions(-) diff --git a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs index e34d56f4..8c972a95 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs @@ -3,34 +3,34 @@ using System.Windows.Forms; namespace PckStudio.Forms.Editor { - partial class COLEditor - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; + partial class COLEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } - #region Windows Form Designer generated code + #region Windows Form Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(COLEditor)); this.metroPanel1 = new MetroFramework.Controls.MetroPanel(); @@ -51,6 +51,20 @@ namespace PckStudio.Forms.Editor this.menuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.targetUpdateToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU12ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU13ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU14ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU19ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU31ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU32ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU43ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU46ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU51ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU53ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU54ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TU69ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this._1_9_1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.waterTab = new System.Windows.Forms.TabPage(); this.waterTreeView = new System.Windows.Forms.TreeView(); this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); @@ -270,7 +284,8 @@ namespace PckStudio.Forms.Editor resources.ApplyResources(this.menuStrip, "menuStrip"); this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.fileToolStripMenuItem}); + this.fileToolStripMenuItem, + this.targetUpdateToolToolStripMenuItem}); this.menuStrip.Name = "menuStrip"; // // fileToolStripMenuItem @@ -287,6 +302,91 @@ namespace PckStudio.Forms.Editor this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); // + // targetUpdateToolToolStripMenuItem + // + this.targetUpdateToolToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.TU12ToolStripMenuItem, + this.TU13ToolStripMenuItem, + this.TU14ToolStripMenuItem, + this.TU19ToolStripMenuItem, + this.TU31ToolStripMenuItem, + this.TU32ToolStripMenuItem, + this.TU43ToolStripMenuItem, + this.TU46ToolStripMenuItem, + this.TU51ToolStripMenuItem, + this.TU53ToolStripMenuItem, + this.TU54ToolStripMenuItem, + this.TU69ToolStripMenuItem, + this._1_9_1ToolStripMenuItem}); + this.targetUpdateToolToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.targetUpdateToolToolStripMenuItem.Name = "targetUpdateToolToolStripMenuItem"; + resources.ApplyResources(this.targetUpdateToolToolStripMenuItem, "targetUpdateToolToolStripMenuItem"); + // + // TU12ToolStripMenuItem + // + this.TU12ToolStripMenuItem.Name = "TU12ToolStripMenuItem"; + resources.ApplyResources(this.TU12ToolStripMenuItem, "TU12ToolStripMenuItem"); + // + // TU13ToolStripMenuItem + // + this.TU13ToolStripMenuItem.Name = "TU13ToolStripMenuItem"; + resources.ApplyResources(this.TU13ToolStripMenuItem, "TU13ToolStripMenuItem"); + // + // TU14ToolStripMenuItem + // + this.TU14ToolStripMenuItem.Name = "TU14ToolStripMenuItem"; + resources.ApplyResources(this.TU14ToolStripMenuItem, "TU14ToolStripMenuItem"); + // + // TU19ToolStripMenuItem + // + this.TU19ToolStripMenuItem.Name = "TU19ToolStripMenuItem"; + resources.ApplyResources(this.TU19ToolStripMenuItem, "TU19ToolStripMenuItem"); + // + // TU31ToolStripMenuItem + // + this.TU31ToolStripMenuItem.Name = "TU31ToolStripMenuItem"; + resources.ApplyResources(this.TU31ToolStripMenuItem, "TU31ToolStripMenuItem"); + // + // TU32ToolStripMenuItem + // + this.TU32ToolStripMenuItem.Name = "TU32ToolStripMenuItem"; + resources.ApplyResources(this.TU32ToolStripMenuItem, "TU32ToolStripMenuItem"); + // + // TU43ToolStripMenuItem + // + this.TU43ToolStripMenuItem.Name = "TU43ToolStripMenuItem"; + resources.ApplyResources(this.TU43ToolStripMenuItem, "TU43ToolStripMenuItem"); + // + // TU46ToolStripMenuItem + // + this.TU46ToolStripMenuItem.Name = "TU46ToolStripMenuItem"; + resources.ApplyResources(this.TU46ToolStripMenuItem, "TU46ToolStripMenuItem"); + // + // TU51ToolStripMenuItem + // + this.TU51ToolStripMenuItem.Name = "TU51ToolStripMenuItem"; + resources.ApplyResources(this.TU51ToolStripMenuItem, "TU51ToolStripMenuItem"); + // + // TU53ToolStripMenuItem + // + this.TU53ToolStripMenuItem.Name = "TU53ToolStripMenuItem"; + resources.ApplyResources(this.TU53ToolStripMenuItem, "TU53ToolStripMenuItem"); + // + // TU54ToolStripMenuItem + // + this.TU54ToolStripMenuItem.Name = "TU54ToolStripMenuItem"; + resources.ApplyResources(this.TU54ToolStripMenuItem, "TU54ToolStripMenuItem"); + // + // TU69ToolStripMenuItem + // + this.TU69ToolStripMenuItem.Name = "TU69ToolStripMenuItem"; + resources.ApplyResources(this.TU69ToolStripMenuItem, "TU69ToolStripMenuItem"); + // + // _1_9_1ToolStripMenuItem + // + this._1_9_1ToolStripMenuItem.Name = "_1_9_1ToolStripMenuItem"; + resources.ApplyResources(this._1_9_1ToolStripMenuItem, "_1_9_1ToolStripMenuItem"); + // // waterTab // this.waterTab.BackColor = System.Drawing.SystemColors.WindowFrame; @@ -349,12 +449,12 @@ namespace PckStudio.Forms.Editor // tabControl // resources.ApplyResources(this.tabControl, "tabControl"); - this.tabControl.Controls.Add(this.fogTab); this.tabControl.Controls.Add(this.colorsTab); this.tabControl.Controls.Add(this.waterTab); this.tabControl.Controls.Add(this.underwaterTab); + this.tabControl.Controls.Add(this.fogTab); this.tabControl.Name = "tabControl"; - this.tabControl.SelectedIndex = 0; + this.tabControl.SelectedIndex = 3; this.tabControl.Style = MetroFramework.MetroColorStyle.White; this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; this.tabControl.UseSelectable = true; @@ -401,28 +501,28 @@ namespace PckStudio.Forms.Editor this.fogTab.ResumeLayout(false); this.ResumeLayout(false); - } + } - #endregion + #endregion - private MetroFramework.Controls.MetroPanel metroPanel1; - private TreeView colorTreeView; - private TreeView waterTreeView; + private MetroFramework.Controls.MetroPanel metroPanel1; + private TreeView colorTreeView; + private TreeView waterTreeView; private TreeView fogTreeView; private TreeView underwaterTreeView; - private System.Windows.Forms.PictureBox pictureBox1; - private System.Windows.Forms.MenuStrip menuStrip; - private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem1; - private MetroFramework.Controls.MetroLabel blueLabel; - private MetroFramework.Controls.MetroLabel greenLabel; - private MetroFramework.Controls.MetroLabel redLabel; - private MetroFramework.Controls.MetroLabel alphaLabel; - private System.Windows.Forms.NumericUpDown alphaUpDown; - private TabPage waterTab; - private TabPage colorsTab; - private MetroFramework.Controls.MetroTabControl tabControl; - private MetroFramework.Controls.MetroButton setColorBtn; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.MenuStrip menuStrip; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem1; + private MetroFramework.Controls.MetroLabel blueLabel; + private MetroFramework.Controls.MetroLabel greenLabel; + private MetroFramework.Controls.MetroLabel redLabel; + private MetroFramework.Controls.MetroLabel alphaLabel; + private System.Windows.Forms.NumericUpDown alphaUpDown; + private TabPage waterTab; + private TabPage colorsTab; + private MetroFramework.Controls.MetroTabControl tabControl; + private MetroFramework.Controls.MetroButton setColorBtn; private TabPage underwaterTab; private TabPage fogTab; private NumericUpDown blueUpDown; @@ -434,5 +534,19 @@ namespace PckStudio.Forms.Editor private ToolStripMenuItem restoreOriginalColorToolStripMenuItem; private MetroFramework.Controls.MetroTextBox metroTextBox1; private MetroFramework.Controls.MetroLabel metroLabel2; + private ToolStripMenuItem targetUpdateToolToolStripMenuItem; + private ToolStripMenuItem TU12ToolStripMenuItem; + private ToolStripMenuItem TU13ToolStripMenuItem; + private ToolStripMenuItem TU14ToolStripMenuItem; + private ToolStripMenuItem TU19ToolStripMenuItem; + private ToolStripMenuItem TU31ToolStripMenuItem; + private ToolStripMenuItem TU32ToolStripMenuItem; + private ToolStripMenuItem TU43ToolStripMenuItem; + private ToolStripMenuItem TU46ToolStripMenuItem; + private ToolStripMenuItem TU51ToolStripMenuItem; + private ToolStripMenuItem TU53ToolStripMenuItem; + private ToolStripMenuItem TU54ToolStripMenuItem; + private ToolStripMenuItem TU69ToolStripMenuItem; + private ToolStripMenuItem _1_9_1ToolStripMenuItem; } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index 6094e4e7..b958b519 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -36,14 +36,49 @@ namespace PckStudio.Forms.Editor colourfile = COLFileReader.Read(stream); } - using (var stream = new MemoryStream(Properties.Resources.tu69colours)) - { - default_colourfile = COLFileReader.Read(stream); - } + TU12ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 0); + TU13ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 1); + TU14ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 2); + TU19ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 3); + TU31ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 4); + TU32ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 5); + TU43ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 6); + TU46ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 7); + TU51ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 8); + TU53ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 9); + TU54ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 10); + TU69ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 11); + _1_9_1ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 12); SetUpTable(false); } + private void SetUpDefaultFile(object sender, EventArgs e, int ID) + { + var result = MessageBox.Show(this, "This function will set up your colour table to match that of the chosen version. You may lose some entries in the table. Are you sure you would like to continue?", "Target update version?", MessageBoxButtons.YesNo); + if (result == DialogResult.No) return; + + switch(ID) + { + case 0: using (var stream = new MemoryStream(Properties.Resources.tu12colours)) default_colourfile = COLFileReader.Read(stream); break; + case 1: using (var stream = new MemoryStream(Properties.Resources.tu13colours)) default_colourfile = COLFileReader.Read(stream); break; + case 2: using (var stream = new MemoryStream(Properties.Resources.tu14colours)) default_colourfile = COLFileReader.Read(stream); break; + case 3: using (var stream = new MemoryStream(Properties.Resources.tu19colours)) default_colourfile = COLFileReader.Read(stream); break; + case 4: using (var stream = new MemoryStream(Properties.Resources.tu31colours)) default_colourfile = COLFileReader.Read(stream); break; + case 5: using (var stream = new MemoryStream(Properties.Resources.tu32colours)) default_colourfile = COLFileReader.Read(stream); break; + case 6: using (var stream = new MemoryStream(Properties.Resources.tu43colours)) default_colourfile = COLFileReader.Read(stream); break; + case 7: using (var stream = new MemoryStream(Properties.Resources.tu46colours)) default_colourfile = COLFileReader.Read(stream); break; + case 8: using (var stream = new MemoryStream(Properties.Resources.tu51colours)) default_colourfile = COLFileReader.Read(stream); break; + case 9: using (var stream = new MemoryStream(Properties.Resources.tu53colours)) default_colourfile = COLFileReader.Read(stream); break; + case 10: using (var stream = new MemoryStream(Properties.Resources.tu54colours)) default_colourfile = COLFileReader.Read(stream); break; + case 11: using (var stream = new MemoryStream(Properties.Resources.tu69colours)) default_colourfile = COLFileReader.Read(stream); break; + case 12: using (var stream = new MemoryStream(Properties.Resources._1_91_colours)) default_colourfile = COLFileReader.Read(stream); break; + default: return; + } + + SetUpTable(true); + } + void SetUpTable(bool targetVersion) { colorTreeView.Nodes.Clear(); diff --git a/PCK-Studio/Forms/Editor/COLEditor.resx b/PCK-Studio/Forms/Editor/COLEditor.resx index 2a9bbf20..bb3fd405 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.resx +++ b/PCK-Studio/Forms/Editor/COLEditor.resx @@ -117,20 +117,212 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + metroTextBox1 + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 2 + + + metroLabel2 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 3 + + + setColorBtn + + + MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 4 + + + blueUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 5 + + + greenUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 6 + + + redUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 7 + + + alphaUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 8 + + + alphaLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 9 + + + blueLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 10 + + + greenLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 11 + + + redLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 12 + + + colorTextbox + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 13 + + + metroLabel1 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 14 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 15 + + + Fill + + + + 20, 60 + + + 612, 523 + + + + 0 + + + metroPanel1 + + + MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 3 + - 113, 1 21, 21 - - 1 + 0 False @@ -418,7 +610,7 @@ 21, 21 - 1 + 0 False @@ -492,58 +684,12 @@ 15 - - Fill - - - 20, 60 - - - 612, 523 - - - 0 - - - metroPanel1 - - - MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 3 - 17, 17 False - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8 - QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C - y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga - QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN - 38gYasBfqDYE0K7dOn/Wvut/sfkdGYPUgJI9VNuAAwYGAGn6yvdevWgPAAAAAElFTkSuQmCC - - - - 98, 22 - - - Save - - - 37, 20 - - - File - 20, 60 @@ -568,15 +714,151 @@ 1 + + 37, 20 + + + File + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8 + QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C + y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga + QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN + 38gYasBfqDYE0K7dOn/Wvut/sfkdGYPUgJI9VNuAAwYGAGn6yvdevWgPAAAAAElFTkSuQmCC + + + + 98, 22 + + + Save + + + 117, 20 + + + Target Update Tool + + + 414, 22 + + + TU12 (360) + + + 414, 22 + + + TU13/1.00 (360/PS3) + + + 414, 22 + + + TU14/1.04 (360/PS3) + + + 414, 22 + + + TU19/1.12/CU7 (360/PS3-4-Vita/XONE) + + + 414, 22 + + + TU31/1.22/CU19 (360/PS3-4-Vita/XONE) + + + 414, 22 + + + TU32/1.24/CU20/P3 (360/PS3-4-Vita/XONE/WIIU) + + + 414, 22 + + + TU43/1.35/CU32/P12 (360/PS3-4-Vita/XONE/WIIU) + + + 414, 22 + + + TU46/1.38/CU36/P15 (360/PS3-4-Vita/XONE/WIIU) + + + 414, 22 + + + TU51/1.44/CU41/P20 (360/PS3-4-Vita/XONE/WIIU) + + + 414, 22 + + + TU53/1.49/CU43/P23/1.0.3 (360/PS3-4-Vita/XONE/WIIU/SWITCH) + + + 414, 22 + + + TU54/1.52/CU44/P24/1.0.4 (360/PS3-4-Vita/XONE/WIIU/SWITCH) + + + 414, 22 + + + TU69/1.76/P38 (360/PS3-4-Vita/WIIU) + + + 414, 22 + + + 1.91 (PS4) + + + waterTreeView + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + waterTab + + + 0 + + + 4, 38 + + + 320, 424 + + + 1 + + + Water + + + waterTab + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl + + + 1 + 125, 17 - - 186, 22 - - - Restore original color - 187, 26 @@ -596,7 +878,7 @@ No - 320, 381 + 320, 424 0 @@ -613,35 +895,17 @@ 0 - - 4, 38 + + 186, 22 - - 320, 381 - - - 1 - - - Water - - - waterTab - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl - - - 2 + + Restore original color 0, 0 - 320, 381 + 320, 424 0 @@ -662,7 +926,7 @@ 0, 0 - 320, 381 + 320, 424 0 @@ -679,18 +943,6 @@ 0 - - Fill - - - 0, 0 - - - 320, 381 - - - 0 - colorTreeView @@ -707,7 +959,7 @@ 4, 38 - 320, 381 + 320, 424 0 @@ -725,40 +977,40 @@ tabControl - 1 + 0 + + + Fill + + + 0, 0 + + + 320, 424 + + + 0 + + + colorTreeView + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + colorsTab + + + 0 Top, Bottom, Left - - 4, 38 - - - 320, 381 - - - 3 - - - Underwater Fog - - - fogTab - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl - - - 0 - 4, 38 - 320, 381 + 320, 424 2 @@ -776,13 +1028,37 @@ tabControl + 2 + + + 4, 38 + + + 320, 424 + + + 3 + + + Underwater Fog + + + fogTab + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl + + 3 23, 114 - 328, 423 + 328, 466 22 @@ -3335,6 +3611,90 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + targetUpdateToolToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU12ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU13ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU14ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU19ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU31ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU32ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU43ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU46ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU51ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU53ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU54ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TU69ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + _1_9_1ToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + restoreOriginalColorToolStripMenuItem From 87d06547b8f5e2e1d08878ff3f712a4cd7fe0c43 Mon Sep 17 00:00:00 2001 From: MattNL Date: Thu, 3 Nov 2022 21:41:24 -0400 Subject: [PATCH 4/4] COLEditor trees now filter out duplicate entries --- PCK-Studio/Forms/Editor/COLEditor.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index b958b519..8ac3fb19 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -88,19 +88,26 @@ namespace PckStudio.Forms.Editor COLFile temp = targetVersion ? default_colourfile : colourfile; + List CurrentEntries = new List(); + foreach (var obj in temp.entries) { COLFile.ColorEntry entry = colourfile.entries.Find(color => color.name == obj.name); TreeNode tn = new TreeNode(obj.name); tn.Tag = entry != null ? entry : obj; + if (CurrentEntries.Contains(obj.name)) continue; + CurrentEntries.Add(obj.name); colorTreeView.Nodes.Add(tn); colorCache.Add(tn); } + CurrentEntries.Clear(); foreach (var obj in temp.waterEntries) { COLFile.ExtendedColorEntry entry = colourfile.waterEntries.Find(color => color.name == obj.name); TreeNode tn = new TreeNode(obj.name); tn.Tag = entry != null ? entry : obj; + if (CurrentEntries.Contains(obj.name)) continue; + CurrentEntries.Add(obj.name); waterTreeView.Nodes.Add(tn); waterCache.Add(tn); TreeNode tnB = new TreeNode(obj.name);