From 3db7e6b1b939b83ad6b72c7165c75f987d7cdf2b Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Sun, 8 Feb 2026 21:26:42 -0600 Subject: [PATCH] Fixed palette lookup --- assets/CMakeLists.txt | 7 ++++--- assets/minesweeper/CMakeLists.txt | 6 ++++++ assets/minesweeper/background.png | Bin 0 -> 2787 bytes assets/minesweeper/border.png | Bin 0 -> 1979 bytes assets/minesweeper/cell.png | Bin 0 -> 2257 bytes assets/minesweeper/grid.png | Bin 0 -> 1783 bytes assets/minesweeper/ui.png | Bin 0 -> 1981 bytes assets/palette/CMakeLists.txt | 3 ++- assets/palette/paletteMinesweeper.png | Bin 0 -> 127 bytes assets/scene/CMakeLists.txt | 3 ++- assets/scene/minesweeper.lua | 27 ++++++++++++++++++++++++++ tools/asset/process/image.py | 19 +++++++++++++++--- tools/asset/process/palette.py | 2 ++ 13 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 assets/minesweeper/CMakeLists.txt create mode 100644 assets/minesweeper/background.png create mode 100644 assets/minesweeper/border.png create mode 100644 assets/minesweeper/cell.png create mode 100644 assets/minesweeper/grid.png create mode 100644 assets/minesweeper/ui.png create mode 100644 assets/palette/paletteMinesweeper.png create mode 100644 assets/scene/minesweeper.lua diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index ce61067..b4d88af 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -15,7 +15,8 @@ add_subdirectory(locale) add_asset(SCRIPT init.lua) # Subdirs -add_subdirectory(entity) -add_subdirectory(map) +# add_subdirectory(entity) +# add_subdirectory(map) add_subdirectory(ui) -add_subdirectory(scene) \ No newline at end of file +add_subdirectory(minesweeper) +add_subdirectory(scene) diff --git a/assets/minesweeper/CMakeLists.txt b/assets/minesweeper/CMakeLists.txt new file mode 100644 index 0000000..96e0af1 --- /dev/null +++ b/assets/minesweeper/CMakeLists.txt @@ -0,0 +1,6 @@ +# Copyright (c) 2026 Dominic Masters +# +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +add_asset(TILESET ui.png type=PALETTIZED tileWidth=8 tileHeight=8) \ No newline at end of file diff --git a/assets/minesweeper/background.png b/assets/minesweeper/background.png new file mode 100644 index 0000000000000000000000000000000000000000..705b895843fc7fae77ba44a4cc6dcb5877e1ac22 GIT binary patch literal 2787 zcmeAS@N?(olHy`uVBq!ia0y~yU`zmF4GuP-NLrS*FOXs^4sv&5Sa(k5B?AN3Tu&Fr zkcv5P?>J_KWJ)0>%;4|@Yj!@uiw7^cj5c*rJw6=|J(Vkp5eg%smu}&ykrhAgcp@D?60nV zzVpY=pym6|?cQE)r~ms;(Di?RU;a$LfB&|(^1s0NvcB(skN<5xfBvVp)cf+~$KQW@ z_Uz~T@4x%2&o4b6oX);M|9PByo#V~t9p9^erKV5!e*ZnEX~&nzHy)m_U$p7G;QM0_ zcV7;E|MVp9jM|t!AHBbZ(_dG=+N<#({K*QZq~*%@dYSHdGO}CP%+z==SEQhUcgI<_ zJ4+jwfoerQ_;FbrV7rsX{4VGKBcHz-SA{yOOagP>X2x>O2Mp7dg<1DZX5!nxxcz3s zZlKn~lRLp?-DtR-b08L|_2~&0#`jAam~#%~nmy2Cm3i~yn9aMxd(;`Dp)r~^hFVUUGi}=QdC%p=H$30>JW%?>clq!9b;dvTJpMdU zdc*T`&y%;u+tvQ~`e^&Pt2KZAeEn8#|L*U;ynFe#BN>@Llv^|~t~3%+*)7ilu{(27T(TGZmPT^+4>JUtPuczk#gt#~X#FCHt@6*NSKlgLrD8B!B1@Di)vv;%am#n$>@#hKN8^zB*Z@jHP z-|kP<$LQx-c6I-%e(#q5UKelve*4=s4U9jmLCwZT3~W0l)iYkdnYq2_ZQ~qJ!RhJh K=d#Wzp$Py7Q={qt literal 0 HcmV?d00001 diff --git a/assets/minesweeper/border.png b/assets/minesweeper/border.png new file mode 100644 index 0000000000000000000000000000000000000000..1b43d53e3e5094b2f460d5ae95a2d246daa38ef1 GIT binary patch literal 1979 zcmeH|+f!3l6vhuljkP5>I$~P`OmznAR0AC}fq(%tir|f6TNOeCvD_0bAtp#jLY*3H zEwls3RWc)Eaf*=81X6Q@mKLfIQc8hH2#2a%qMU^E00+pe2mL2}a6f!|KkQj+?=|0V ztsAkYqdc~Jumu1BkLcr+H~?@?1oCyFhtY}K)XPgGe z*d9a8@a?nq?Nq8u)Hh9(*j$o(f@Wt@a)$qVu^(=Z?v7AYdeI_cB9%YvEj^lq-$VQ! zpWFGTV&&1zkZ?HMtf|mpE+;iDEX+P+YM4(N=pJY)ba8w@4bQ|~a*-xM(*V0hY=E~* zi?53>_p)uqtmU=8{=V;8fnHRb9ra`Ml;Q&~$_uCd%N)Pri8a`WVne^&H+6843~Q;h zQ-j zIMk*uL)eN7c?1Mtw01ny$`Vhu6(#QAfBtmj)5TGU3_IFIwK-W@E^3owrLk3(t zVdT!LgPb}TpJqMu<&oj?$Ji{UYILbKPh`lpiwhBfcei_P?7My0u0m6IaFd{9_m<#h zLCLl^`ubIXXt~p2*L!|6Tk_AS&1!S_eYQ~J{Ue+i zH!gdH=PV%DA9;17_Ew`25Jarf(-eooO^sJ2_HX=%tM})@WSqrP(BI|I6tM4cAcT~4 zi)oquWvEffKTbuR3HrkXJlyn{XIr~_0$<8y%lQ@Rex2!HI);Kb{+>FaJB!6gwZQ^W zdCV?>huw0?k~)9!6``oEbOj=agP}WPH(#C_Q4Y@`{#tn#`i;d6cxiE6)lS3E>|1!h zu@f}un2^~JvS5HK%;-G=ZAnr?_9G5ok;zAFTM6L6v(#~vuSua~HaqMTxXLISQ#7et zOU_Bp&m>OFkjwH_q|A!?3}p?~6XjA8Ld%LOO0aHM4#-7X>o_QlQFCp{f*t!C(G2M> z+R3)+vgJ+%`T+N~%)E(4k*si|eGV45NI333Yu*{2GE1Yj&qEvFVrm$O@r4LrAFEaC z;>cZljvYdLg(;mq&*RJAFZzPQn1qkxx_e&Xm+Zr+Jlh@d_Qr-c`g&HNo;?)r{MEB# zw64V%F@RjC$!W(3Z>%l{TJ9W#0gbAz6K%@g5Zyy@@2K^;F(Y)`ux_lE+;Lb379M#W z0UwYHigJn3YW zBejd(GWXrpj7vf0*^h+R9;f2Eb(FgvJ)4~Dc6QKm000CE!re$erp@INOV-CU5PkGC KrR{LiSN{X|jgOuH literal 0 HcmV?d00001 diff --git a/assets/minesweeper/cell.png b/assets/minesweeper/cell.png new file mode 100644 index 0000000000000000000000000000000000000000..c00c9b37abe2e82e78f99832b7e6bd7461cda9ca GIT binary patch literal 2257 zcmV;?2rl=DP)Px-i%CR5RCt{2TYqd@M;-rMa5uKm;0#S=5(q70RWwE%M4?WbG;v_VRkCitfVB<| zEQO&d4ltT*aY4z%k~BZM4ZE85!x_tnvr)ug#g#)V>aQyuzyl_^@=kNNQ zl0Wy!LrVVebi0xdfBlS-FOEE~Db1v@d2=!d4?u;ALvDEX)b+1;`3KUIsehsgQj&*wY7m#3Q8$HhZSAq-mejv8s~I$dZ)$wT&+ANp&9E7m53u5y1}L=v)-%L3z=}`xzL~Xt71zBv zVEQ~+@L_Ob`)=h8Ckx+G@}GTAEx_5sHz@i1rH7UL?(_SV{97NspydCNOe=Yv6O8rW zX?bJ1bvx3n+bwx-?-abfQa=I8vDoplmlw(Ui3 z-}?jKwX7cih7zOv8Xtg~I<+aJTeovBI^OmhiTCzSaenRA6Q*^{bRF=gb+;+`N2~j1 zUB3~tS_in=z9Df;1FZ1-s_!fLJ@+i^+*c%}ifT?a4?u;N>4Ub>`pz}l*E^L0SAf0uGt zPZp}<=$5Qu@XJa*f9bH2-+lh4N`Azv4ueZyHGg?yP*2zVfO3KzDsnzSw13eI{;w!- zwL=*N76LAL9dNZ{Q3FggV8KU$1*HLIm~#zy=U7rX12-=(&8ZgJvJUw8ZEoq>spDgI zG@TW;Erg5$@85R-tJkcut9eT-cptDh0J-i!u3?K0_-)@4b~H09*fIcDg0r&%NyQ^{ zcqEO=@)FD@Z9aJ#d&kF7;c@}}{XktEFYg^6$8}o*$_}KC|A*%TfdIncu#RtRY@FM5 zLRYYXQc7u8uz{xH5z4^IVk&}NA9lGYrIZf4Tol@}lb5OAPgC&-{qLDm(k~T{&{RA^ zL!l6*l=7549}0zNC={C6N5D&fqq4jNfc_5zfVPL;6>P}N^hKT!qHU12hta(`fM%DA zzhw=(T&NJs0IplV1_1E-zL>6lrbPe{4u=s4XqrMP<?lGQ@@{^!@(>aV1kQni+!1EI4a9a&=qXpjiurdP8x0A z?6VR}so$>~gi2Q5MGde*I2=Y}W25bYGvqPhx`GWz#UmIV$!sPX9p1sAKHaC~R6K%V zmkX3qo$wXuw07NZzK>^wsP>`;+F}BdSHEcMtW#`ID$7goMQ=SQt=C-_eE?0TQBhYX z`GBqMk1IPNeXF-o0~|&*H#RQvKp$4F-Ke|1_t7v{e=~D92yka-1vb-!5L;$l1o3*x z=ul!5UQZcjlOA=uF)%ra+M*)do=oB|rKP+)FgXe5L$%5djKB3yo{vVO@cHzAvl|>7 zoKtmh3?)Xnx_dokeE*!4MPZFj(CaC~z#B)<3M22hG%K>=!uiV%aj28g~! z6nt=S5R_7BAm$1VucwT6+6Xh@#ZW~E!B)4MtA2~qiQ1x~j2TT%!dbNffL>q#NF>wn zlxhRx^Z5{sMtMKj^BXp7xXj|pa113zb)HwuiyC0%m~KxdanzvpN8N624l&cGGGKy> zZQB_R^Oy#(@W#pjB%3$u93cds85`rmvy@%W2A?nU|3a~DyCOjz6AsACID^p#7`K?c zo-(vJouHKJgzuQ1MvK#lqi*?Ipc$;z0k)Wcm7^0KBje2+r04@Wl1bE-mP$ULwfjY7 zCvv(DFsiw+aiaz>4Pn;@-Z;WTA$wK~jWK{bJ1el6CWP2B>mufSsJ)&tC@=sx4+QY9Rhhj4QD6X| zf4Cmx?#!-^C@=s#v-3v$pgQxlM-&(Uy3f6h<|UuvWl>-Ncyj6{{J8LMyetX~0DGsO zLPf!kcv%z}(2mMXY|Q*Qn+ePiec@U79(Zsu3M>vlt~-!xH~?U4`{QsbZqmN%U!R4) zF$dH&EHUy=9~NB+q31+G6!{Pg%2cz)eGuS@)nn?KL<7pC8q z_`Cuw1oL%(C@`R%AFTH8;$=}_Ks!1oo*okg2DGDd@t@qn%c8)5c6LxaL?sFgXeYyt9~jv00000NkvXXu0mjfZmUV; literal 0 HcmV?d00001 diff --git a/assets/minesweeper/grid.png b/assets/minesweeper/grid.png new file mode 100644 index 0000000000000000000000000000000000000000..9db590173b9b8c0d3ccbbfaab256821971629563 GIT binary patch literal 1783 zcmeAS@N?(olHy`uVBq!ia0vp^D;O9UJvi8atRod$n}8H!age(c!@6@aFBurvHhQ`^ zhE&XXd)shTYNllC!>}`R8V(EaxCCr8W^GT*(6eAz_?b`E&AB{m5$`3(=EDU{X-#fZ zL+8d`*&Y7A_Lq(SC)U+vg_d`A|M>Z>-tH$0(0qmmzu&UE|9`Om|IhFL_jSuZiTwNG zxP9dhNx9m(`~UuSxBvftzV7eu_Me;W>%aW``{Chb_P)9u;pbnPWGrzseR26&iImBu z1yWx!i>-L2GA~G*ytplYsOEc$d$XH6?}xL~>uZ1fyu0_|we$b~l-C!q?bTZDy?=pw zz3uvWmoqOU`Ym^Cx17r+3pAx<#^syM^9*ioWbfVMx$EHUCEs`c>M8#|$FJE`Fy@;<1&tX*gK_^vJ3SyvbM&j$L-qd5zt85BhM7Z!xS zmwaz`^WuVuzZbj%dE|NQABfvf9J`s_HgQujzf|Sql4f(y_r+f&-@gMpYXw{FE!0q` zYG&J8b-v;|Cn)|H#*WuK2q^qTg=+{=bjo`TzgF|L4_m{?F<4b-(uhSSz~`=Olp<2{RZYX78})p5M)1mFV}J2Pux=Ccbg>pYi4f zC`PwEzstVYV0ketX`q-03;yqpw?DsYj+=4W5b{W<8YAUZSi8;d-?W%pB_H{{$2H{ub<=h{=6mkWz}eCR~PJ^WQ)_Pz@*|FSo4)|XYESDVM5o_PsapxnI#j&(Pw5^r!~0+wZK`Lix; z_f6bay=gJ9=-KrYoMeGndOIXdAnQ2|E@ePv$TUbcL6(FYs0&V!pz<;rlE#p2(*>7W zAmhQgAOl#4xZRsT<;7ri7&Nqh*{^WfCKIpTF98aDPgg&ebxsLQ0Nvwy ATmS$7 literal 0 HcmV?d00001 diff --git a/assets/minesweeper/ui.png b/assets/minesweeper/ui.png new file mode 100644 index 0000000000000000000000000000000000000000..ba99805d1676b3b467e866a296e4850ca1c4e726 GIT binary patch literal 1981 zcmaKtc{J4PAIHBVWwKWf}=tZnlhJh#6a$XlPm_yX;*e z+hm!FnJh^t#@Jevq{-EYW*Bq7zu)=&anJdkbN_hWpL0IXAJ6lCeV+4vGO&)ea?)QeNs7X))TPK%S%ggr=+Rv@Mp!a7k9I=ccIhe;KCmmRV99+r>K z8x8>gksO!jY3M88ZFJq##neZQ?RGXJQfK#e*I^87x#yXkt=7)?IU#w!H+yxhUZlQM zVN;2$pLsv)G;=K;^almq={MRwSI9XJ=pe8NdB49h&smW5A|UMi-rJPB@O36B8s*W$(vq($aEX2oNAxGiqNG7V6xxj;%>0%Hjexqwli2f+aDNBdvc0$E6wHQwcv%m~pK(mua5dtmkFQNyMr@1e$noh)oh3 zsmm%m91-C*qj6{?8^s3TIPq5CVOK+zU;w%N7|r85i*+SIqo}mYl{y(ql+q&#Wy()E zqhw3y%vU@lTq&bes&pZKi@%m6@QORNp%LjVN=?>y`(Zoy3Y6WY58IfzcjZ`N}Fbg)5h+Tm~%dY zIx}g&AA-6n8$^|VW_q|=IKzf5rRWP$#Bw>;n?)=1gxZw~=gh4$+=%m##)CpfGYT1|6?4CKjfuE;Q0VDYYgFMbGt>`h;v^Nr5pPt(}KJwD^U7 zxP~SW+ME<~B=17}VTuhW%n&&Ugnv-^Z~Dp4nhLJkhY>*jJOf`pk7r^Wa8YQS;D9 zlCP4gOEN|jOmk)(qm<-(-}vvSHH2o?hGI@Gzv{{9N^2t|ZLO;Jp?mfsUltL>+@ zosDZ`?X~F1`v)7Hl;U(u(u){4HJwwefwfW0Y4rP)+V`@jBQzlDwbp!UP70+|k<92E z%*g<;D1dYDmngGT`z{7ycCY>5prb0+KWugCYm?_JXLZ8v zOpr}*{p8-JF!Ol4$#Gz6hYz42o6(-NRmJ}Vy$|%OQ)NjfGFze!{4I^ znv0(IRMF0MFbLwNN7&w=JN4s*fwSJEI&L@awvX7pd5LeBJpS3&>~j~&=>d-q-!D!s zG&Z8}qf@)@ZvT&~|5^j3L#8)T*upIPHv1zQ#{bQj|13ecELFP`-oh_E(pu;x&|K*- znw?*wh6s*=sevXy>IlRIOtiJSKuuOs5RpO$0~@T6J_5czIpot8-53e9D`6Yj%}T3;?u z{S>=d@uB^t4Dy!dtgBOgF(qC3|A*MIw&lkeC)wDcpspg??HO>moL`zjw20 xU9u#6(Lugj_YLpjFZDkp%hLWgFU<6YJa98J;O&hhJMcdS?5rKpb*S@6e*+UeyDR_z literal 0 HcmV?d00001 diff --git a/assets/palette/CMakeLists.txt b/assets/palette/CMakeLists.txt index d8eda53..52b3842 100644 --- a/assets/palette/CMakeLists.txt +++ b/assets/palette/CMakeLists.txt @@ -3,4 +3,5 @@ # This software is released under the MIT License. # https://opensource.org/licenses/MIT -add_asset(PALETTE palette0.png) \ No newline at end of file +add_asset(PALETTE palette0.png) +add_asset(PALETTE paletteMinesweeper.png) \ No newline at end of file diff --git a/assets/palette/paletteMinesweeper.png b/assets/palette/paletteMinesweeper.png new file mode 100644 index 0000000000000000000000000000000000000000..26bb086ae687379b2c60c8dea52498c85f02f2e3 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~j!3HF+SL($BDK}3S$B>FS$tej5KmPy!U*G0` ze34|{CNYDUhmpr8-1tB3;r5^EZ2On`OMdE|XB3n4J*{AaX~K^