From f06ed4529cc1f6e8ef80594f4c5aaf0a3e4a9c6d Mon Sep 17 00:00:00 2001 From: Minjae Song Date: Mon, 17 Sep 2018 17:51:36 +0900 Subject: [PATCH] how the fuck this does not work --- FontTestGDX/lib/TerrarumSansBitmap.jar | Bin 72070 -> 72631 bytes demo.PNG | Bin 15405 -> 14033 bytes .../gdx/PixmapRegionPack.kt | 33 +++++++++++++++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/FontTestGDX/lib/TerrarumSansBitmap.jar b/FontTestGDX/lib/TerrarumSansBitmap.jar index a152f074fdec9e4f64b65e8b51748d0633420de4..33dd0ac49ef9e07917300c92f280d01a292797b8 100644 GIT binary patch delta 4964 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 delta 4335 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 PAY|}#^>bP0l+XkKA&6}n literal 15405 zcmeHOX;70%8g4`aiinJ^ARxHL5goaaOE6JX5JkjW3OO{uXxxAtYGOce1vt1#hPpzo@qEF$9VwA3 z!wkF*5{90Lc!2GH|Cbex43D#GH-xuI)XO&fwye!=W4Kih4H7kIRYm}$Qc`@a;o3mM zcW~9f$p=nb;!D>7;E91NoNbm5w>1yl0p}e`GY4QDB}f;53noZmWHu1nKz0gp6d(s9 za!nwYCgK$!J`&vXBTx+NgaH7J#nWM*IY#AC!9qdBq}wI!a7;FdOp(oqn90GG5E!BzHJY~PQ-d-Y zaEYZlg#k*pQorITkzQEjuyF7xV^gF>3m-=@1!&^r8N!w{o~vmF!THaUXwxa&SvG$f z^m*NIs(G~sI=O$?iD{T>;;n5wF~_+4gP&=!78CBRZuR@5PoWz&4A<>TJmAgyq+JVh zy!`@xq|gdi3(T72#((2WshAl6NLNh@hBJOHomx$<=qFi&P5&)<-xCk8E;~qkM=)6> z={eRJoD|O{#UHW+|J+KK#TS|09Q>ud_c}Sp#)hc_Zl#$!yf}27dMq!;OdtGf-ZUfp zLA~Eb`nQNYMok zXSs%*(_3!cqnr}fYkC?GvC9_ zC_*oPfR5`pOH16MGM#eXo{m4*x*fJGm-+a!p$$uiUiV;K*k-Nq*lI@!Y}=`eW_@Im z+@2}LUcZaVsxThT6~pS+D3)iRQg~f+pS}-MDO`9 z0e7WeG3`KVU60cXD;}D?c~u%ugYIZNMO(?k8ePzE3o~_KsN}nl_em*&vAsiTte5pd|DU`9Ym7_d0x@aja_d#c@FpPP9$i2rz@Ob~UZn+}pK{&8H_@9= zg3Ax(1WKIOWWO#L517gq)*KcFTd>D>e#5X937Pu>%>oG^M8YW%rUhYI5T*rTT97#NuNO#l1DqVQZ?9Y8%|feAkg}WMm;}4nltB?qTd(iF7M)iecwhX^Vj4 zntaqMZv7r9x6&w{k5-NC{I$z#A#*MmUjTP}yrciPP*zCgOw_?4GG7uLF^!{9er7S1 zrL~6?Dp5iE5qC{j5~;>cyn`*PSzXU3yh)%OOUk3N;mHXl2lOA|D|1#++F*hF)ax;I zqP0h!jupBC(2K8rxEIN4uPC<$F2I`K~>XX8o1<4ZH z-ehsXKI+KX9sRD23)6VrnFY^?O_rBsLyr`RyX6lFR@CxAQ6mNrvH4?qw(sfL;>btd zTYmM>yB6!-TZMV;W9d}NRQY*794nIZdKa#!68WQQFTaTum zoR8NH33*Aac&T03e(1+)X>k3nx}IoF=bfhl8|+;9E{9 z!qA5hA$)4dxgdH^9EeLA#U(r!@5e+Xg;nQL1&WU){%1a<`yRYL;jogd7)az1>g)h; z$!G3qUwXpLAsPzp#E3D%!un)&%V<`P<=pdK@7uE~?Idq`Zwo809+${tqKE8N1G1Q~ zM#+5q0oS$7+p&`Lp}h(n&T8xH*9WQ&gz1NgUwO+Pfs#Oa+-n!%MR|;s>(5vGSp$+R z?8^Nc$700Wdabi?)VNxP;ye6-@)N&3uYtt5t>Fvo?3q#bu^gq1Bj)PCNU9Z-$B&rf zlaZZSaL;?9PfJmOESeX$h_Trcl6Iw;Yx_b1&*Y%vAK5NvMc+STLW(&XXW$xhidl1# zCY{?o`t*e%uaojY68{b@>Jy5)5-cd2;4bkhd%EOyBu*9eWYzoLy?oz1#{QJMawq3# z8po`N+(%RhP&gC(fe&^C-hoN;yA_UHTC-UOE31ecDI&(4Ek%Gb0+bP;jJ#Sy-tfVZ zGT-!3AT7|WSqOI$nDxc3%~%}OMwtS~Ef?U2mW{|yWFG#D5d=6k1;)LL-fc5wI{upi KHx~Is{Qckky(~}w diff --git a/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt b/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt index 30fe9f7..154fcd5 100644 --- a/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt @@ -25,6 +25,7 @@ package net.torvald.terrarumsansbitmap.gdx import com.badlogic.gdx.files.FileHandle +import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.Pixmap /** @@ -55,14 +56,38 @@ class PixmapRegionPack( if (!xySwapped) { regions = Array(horizontalCount * verticalCount, { val region = Pixmap(tileW, tileH, Pixmap.Format.RGBA8888) - val rx = (it % horizontalCount * (tileW + hGap)) + hFrame - val ry = (it / horizontalCount * (tileH + vGap)) + vFrame + val rx = (it % horizontalCount * (tileW + hGap)) + hFrame // pixel, not index + val ry = (it / horizontalCount * (tileH + vGap)) + vFrame // pixel, not index + /*region.setColor(Color.WHITE) region.drawPixmap(pixmap, 0, 0, rx * (tileW + hGap), ry * (tileH + vGap), - tileW, tileH - ) + tileW, + tileH + )*/ + + region.pixels.rewind() + + //println(region.pixels.capacity()) + + //val bytesBucket = ByteArray(4 * tileW * tileH) + //var bytesBucketHead = 0 + + for (y in 0 until tileH) { + //println("${pixmap.width * pixmap.height * 4} ==? ${pixmap.pixels.capacity()}") + + val offsetY = ry * (pixmap.width * 4) + (vFrame * pixmap.width * 4) + val offsetX = rx * 4 + hFrame * 4 + + //println("($rx, $ry): ${offsetY + offsetX} / ${pixmap.pixels.capacity()}; $offsetY, $offsetX") + + val bytesBuffer = ByteArray(4 * tileW) + + pixmap.pixels.position(offsetY + offsetX) + pixmap.pixels.get(bytesBuffer, 0, bytesBuffer.size) + region.pixels.put(bytesBuffer) + } // todo globalFlipY ?