From 342ddb19f8e084067e3f156211b319a996e732db Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Mon, 16 Feb 2026 13:12:12 -0600 Subject: [PATCH] Finally got text rendering again. --- assets/scene/minesweeper.lua | 2 +- assets/ui/minogram.dpt | Bin 8204 -> 8204 bytes assets/ui/minogram.dtf | Bin 24 -> 24 bytes src/asset/type/assettexture.h | 4 ++-- src/display/text.c | 2 +- tools/tile-joiner.html | 14 +++++++++++++- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/assets/scene/minesweeper.lua b/assets/scene/minesweeper.lua index c9f855e..edde3ce 100644 --- a/assets/scene/minesweeper.lua +++ b/assets/scene/minesweeper.lua @@ -199,7 +199,7 @@ function sceneRender() 1, 1 ) - textDraw(10, 10, "A") + textDraw(10, 10, "Hello World") -- centerX = math.floor(screenGetWidth() / 2) -- centerY = math.floor(screenGetHeight() / 2) diff --git a/assets/ui/minogram.dpt b/assets/ui/minogram.dpt index 223156eb483456521145ed2483c28143739ed0a9..688283de9173fb5745440967fd1396732f9a15fd 100644 GIT binary patch literal 8204 zcmeH|O^zHf2!*GmEOM|MAdB4pEHUsNP#DV96U`#hlr+tcA0ODR?)mlm&+F&MdVa_U zp4UTL^^B{1eHgLYs(Tt2&PyJtMZU(&&vqj}wQF!Rzdo=|K@T($#bJB(qb!gUx#ltFgr?kOObnLkiRXC}%ITx+&i=EQgBL#0%taKsYlpR@U+OeM`2+p&UH!C)(D`F!;o?aioZ#djM5O9=><> z|IL5@WXq}7XWu_Eczzydb~7T6zv@r<24$&LC{E@vuGWO6m$mL0=UC$0!+rGcSdtSS zwHiZ+biH%eL$;Z>c^jc5Y`n|fM6uo%pPTcGJ-shkd-1X1OHTXPxeB^_xZhCe6ieFM z(04S;^_51f^S!ZO#oD)RvCzb03{3ts9mS-tn}jT<8+XJe=Xq9(l^LeHL#2 z-i$yysk>S7+VMWtc}S~VqkhVBJzMeHC)I7tRZw$jJ{zP!d0n+`%%exaMA*!yi^z+g zd!_k;kvy40^j7tb)uQbq_kQ9Z=fh+ZYi*X}n?<+{hQ!2)Jiaf>L~f#8&sqoIJe&h@ zW~pvKZo0}Nce6b(?$>V^?OP+)(Z0t)=Q4M3v=jv5D?N_4oe#$-*7aXG)PKyz`yi** z{pkyHv%PZKF7H^HJH39j7xbAY62{W7meiO6wg0%^%4UDgBY66%wQwto1m<5wHlM8k z<6r9Sbq~P3m*(MI+4_YoiuJ#qr{=gO7W>JJ&Yy=O5ejd|{MAZ7W+rA?cRll+m7L}a z{ziL|ufSq*hT$F!BeiVI7i!?uG>=FAjR<10wQh=oXCoPN_ow`#2^NAuMn=gPnlaE;<8e zX{`TXT+7C2;;qec2V-rwu=B3pli+sMdyc%Q^Rd+N^}V#sP(Rsxe%8Q$QF@+Va5*n6 oUe_M$ZT(78iS-h4*=;y25ao^yc>$NOg?%T#PvH9mK63(p0T*HgMgRZ+ literal 8204 zcmeHGTXNel476|7j~<{OJy4Hc>;nX7Nv7l^lTOFVgj@oPUGU+bzkc8U+-|oY@&E1L zogLh7m^Bh+UkZCQEt0W2lX=Iu`o!t}_xRk7I!c+OLbBr>i%5eZ)=s`cDTE3;yHXS4 zW^2x{<`U}2xibeKQ5AdJDr3SYk!j41$E1FpWADP^K&*>r?qP0})MFj=QQz|{MIg0X za*`z{hNJvMu7wPv4OJfdr!w`siSP*bRM||ZQ)rmlWKHMK?R36`dPLZx?s0Paf9nGc1rgt8x&P>qVKL{Brv`G+Obf z0jWwCV<{!>k@Qb~t{VrPQU&AsD{ik7mTJ?sa*IT{eD-xt`}=5dqB^%am(XC=4kJCf zV5IvOf9?NfeDewDZaMniHuu@@c6tR-FuHGW#7=;%cD^gj+pHoGE+iYQuYZpYP)Oz3 ze`-f0GSl-z{_Xq^{p}{7KB|Kc`Fq#ho0vy{A=Gso>cVE-v*SFI^^7VB=Q#Bs;~2MD zXm`(!*S>?H_b)Bof_JC~t^TSvA$yvrsXX zHiv}NOu|?PNSt$WMrNBR${O({kLL_6En)ZUmCd5 zcySATw7CmPo!aq*7Who#^`cyucgyAU%bOx(>gShUulZXwCjFk!1r!}85*EQY383c3 zx?G%{%O@(h^F4p{mfktLRa?De-}Wh)P@#}LXpDhzCq1EIdt>Ujg;!8_PL?lK$Ix%s j_Vf^cP>1}B_Nc#FdX+zVJOG#UV&?}k@9_HsE}y_((+>sq diff --git a/assets/ui/minogram.dtf b/assets/ui/minogram.dtf index 95245c11681c6bec527c7f884bd98abc6c62cdeb..41511eafa69aeefd9b2fcc33f2077be484803895 100644 GIT binary patch literal 24 fcmZ<>absX(;9_88NMm4PU}0cjaIj}!P_O|29!~-{ literal 24 dcmZ<>absX(;9?L3l1vON3=9kowhRmkb^sbj0qXz& diff --git a/src/asset/type/assettexture.h b/src/asset/type/assettexture.h index 35f42b7..6ff4cff 100644 --- a/src/asset/type/assettexture.h +++ b/src/asset/type/assettexture.h @@ -8,8 +8,8 @@ #pragma once #include "error/error.h" -#define ASSET_TEXTURE_WIDTH_MAX 256 -#define ASSET_TEXTURE_HEIGHT_MAX 256 +#define ASSET_TEXTURE_WIDTH_MAX 2048 +#define ASSET_TEXTURE_HEIGHT_MAX 2048 #define ASSET_TEXTURE_SIZE_MAX ( \ ASSET_TEXTURE_WIDTH_MAX * ASSET_TEXTURE_HEIGHT_MAX \ ) diff --git a/src/display/text.c b/src/display/text.c index 51fdfce..926aee3 100644 --- a/src/display/text.c +++ b/src/display/text.c @@ -21,7 +21,7 @@ errorret_t textInit(void) { } void textDispose(void) { - // textureDispose(&DEFAULT_FONT_TEXTURE); + textureDispose(&DEFAULT_FONT_TEXTURE); } void textDrawChar( diff --git a/tools/tile-joiner.html b/tools/tile-joiner.html index adb303f..b1f8a12 100644 --- a/tools/tile-joiner.html +++ b/tools/tile-joiner.html @@ -94,6 +94,9 @@ return onBadImages('Please select 2 or more image images.'); } + // Sort images by name to ensure consistent output + images = Object.fromEntries(Object.entries(images).sort(([nameA], [nameB]) => nameA.localeCompare(nameB))); + elFileError.style.display = 'none'; let strInfo = `Selected ${Object.keys(images).length} images:\n`; @@ -119,7 +122,16 @@ outputHeight = firstHeight; outputWidth = nextPowerOfTwo(Object.values(images).reduce((sum, img) => sum + img.width, 0)); } else { - onBadImages('All images must share the same width or height, and that dimension must be a power of two.'); + if(allImagesShareWidth) { + outputWidth = nextPowerOfTwo(firstWidth); + outputHeight = nextPowerOfTwo(Object.values(images).reduce((sum, img) => sum + img.height, 0)); + } else if(allImagesShareHeight) { + outputHeight = nextPowerOfTwo(firstHeight); + outputWidth = nextPowerOfTwo(Object.values(images).reduce((sum, img) => sum + img.width, 0)); + } else { + onBadImages('All images must share the same width or height to be joined together.'); + return; + } } // Update preview