From 4ad5e4775842165f3c5669e87699543c43bc575d Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 17 Sep 2018 21:29:55 +0900 Subject: [PATCH] little diagnose print --- .../terrarumsansbitmap/gdx/GameFontBase.kt | 31 +++++++++++++------ .../gdx/PixmapRegionPack.kt | 22 ++++++++++--- 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt b/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt index 0ceaf51..b157c99 100644 --- a/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt @@ -440,16 +440,23 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo if (it.endsWith(".gz")) { val tmpFileName = "tmp_${it.dropLast(7)}.tga" - val gzi = GZIPInputStream(Gdx.files.internal(fontParentDir + it).read(8192)) - val wholeFile = gzi.readBytes() - gzi.close() - val fos = BufferedOutputStream(FileOutputStream(tmpFileName)) - fos.write(wholeFile) - fos.flush() - fos.close() + try { + val gzi = GZIPInputStream(Gdx.files.internal(fontParentDir + it).read(8192)) + val wholeFile = gzi.readBytes() + gzi.close() + val fos = BufferedOutputStream(FileOutputStream(tmpFileName)) + fos.write(wholeFile) + fos.flush() + fos.close() - pixmap = Pixmap(Gdx.files.internal(tmpFileName)) + pixmap = Pixmap(Gdx.files.internal(tmpFileName)) + } + catch (e: GdxRuntimeException) { + //e.printStackTrace() + System.err.println("[TerrarumSansBitmap] said texture not found, skipping...") + pixmap = Pixmap(1, 1, Pixmap.Format.RGBA8888) + } //File(tmpFileName).delete() } else { @@ -457,12 +464,16 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo pixmap = Pixmap(Gdx.files.internal(fontParentDir + it)) } catch (e: GdxRuntimeException) { - e.printStackTrace() + //e.printStackTrace() + System.err.println("[TerrarumSansBitmap] said texture not found, skipping...") // if non-ascii chart is missing, replace it with null sheet pixmap = Pixmap(1, 1, Pixmap.Format.RGBA8888) // else, notify by error - if (index != 0) System.exit(1) + if (index == 0) { + System.err.println("[TerrarumSansBitmap] The ASCII sheet is gone, something is wrong.") + System.exit(1) + } } } diff --git a/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt b/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt index 154fcd5..4df8cfd 100644 --- a/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt @@ -55,10 +55,11 @@ class PixmapRegionPack( init { if (!xySwapped) { regions = Array(horizontalCount * verticalCount, { - val region = Pixmap(tileW, tileH, Pixmap.Format.RGBA8888) val rx = (it % horizontalCount * (tileW + hGap)) + hFrame // pixel, not index val ry = (it / horizontalCount * (tileH + vGap)) + vFrame // pixel, not index + val region = Pixmap(tileW, tileH, Pixmap.Format.RGBA8888) + /*region.setColor(Color.WHITE) region.drawPixmap(pixmap, 0, 0, rx * (tileW + hGap), @@ -71,9 +72,6 @@ class PixmapRegionPack( //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()}") @@ -86,9 +84,25 @@ class PixmapRegionPack( pixmap.pixels.position(offsetY + offsetX) pixmap.pixels.get(bytesBuffer, 0, bytesBuffer.size) + + // test print bytesbuffer + bytesBuffer.forEachIndexed { index, it -> + if (index % 4 == 3) { + if (it == 255.toByte()) print("█") else print("·") + } + } + println() + region.pixels.put(bytesBuffer) } + + println() + + //val region = Pixmap(5, 20, Pixmap.Format.RGBA8888) + //region.pixels.rewind() + //region.pixels.put(byteArrayOf(-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0,-1,-1,-1,0)) + // todo globalFlipY ? /*return*/region