From 3b24ce306fa9cf54050b2014f55a0ed45637b63c Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sun, 2 Jul 2017 15:28:45 +0900 Subject: [PATCH] debugger's got its colour codes back --- lib/TerrarumSansBitmap.jar | Bin 52496 -> 54306 bytes src/net/torvald/terrarum/StateInGameGDX.kt | 173 +++++++++++------- .../torvald/terrarum/console/GetFactioning.kt | 12 +- .../terrarum/gameactors/ActorWithPhysics.kt | 8 +- .../terrarum/gamecontroller/GameController.kt | 9 +- .../torvald/terrarum/imagefont/TinyAlphNum.kt | 55 +++++- .../terrarum/ui/BasicDebugInfoWindow.kt | 25 ++- src/net/torvald/terrarum/ui/UIHandler.kt | 8 +- src/net/torvald/terrarum/ui/UIInventory.kt | 2 +- .../terrarum/worlddrawer/BlocksDrawer_old.kt | 4 +- 10 files changed, 204 insertions(+), 92 deletions(-) diff --git a/lib/TerrarumSansBitmap.jar b/lib/TerrarumSansBitmap.jar index b85aa2b8a90ae5519de6609f79cdbcde4781de28..68e2cc56cda1934a21da70069990bb8ab1619fcf 100644 GIT binary patch delta 47799 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 H^Ys4#l3XvU delta 45943 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 diff --git a/src/net/torvald/terrarum/StateInGameGDX.kt b/src/net/torvald/terrarum/StateInGameGDX.kt index aa10a67f2..073a6925f 100644 --- a/src/net/torvald/terrarum/StateInGameGDX.kt +++ b/src/net/torvald/terrarum/StateInGameGDX.kt @@ -73,7 +73,7 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { val ZOOM_MIN = 0.5f var worldDrawFrameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.width.div(ZOOM_MIN).ceilInt(), Gdx.graphics.height.div(ZOOM_MIN).ceilInt(), false) - var backDrawFrameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.width, Gdx.graphics.height, false) + //var backDrawFrameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.width, Gdx.graphics.height, false) //private lateinit var shader12BitCol: Shader // grab LibGDX if you want some shader //private lateinit var shaderBlur: Shader @@ -127,55 +127,21 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { var camera = OrthographicCamera(Gdx.graphics.width.toFloat(), Gdx.graphics.height.toFloat()) // invert Y - fun initViewPort(width: Int, height: Int, aspect: Float) { - val width = width.toFloat() - val height = height.toFloat() - - // Get the window size in pixels - val w = Gdx.graphics.width.toFloat() - val h = Gdx.graphics.height.toFloat() - - val vw: Float - val vh: Float // Viewport size in screen coordinates - val ox: Float - val oy: Float // Viewport offset in screen coordinates - - // Check aspect ratio - if (w > h * aspect) { - // Black bars on the sides - vh = h - vw = Math.round(vh * aspect).toFloat() - oy = 0f - ox = (w - vw) / 2 - } - else { - // Black bars on top and bottom - vw = w - vh = Math.round(vw * (1 / aspect)).toFloat() - ox = 0f - oy = (h - vh) / 2 - } - - // Create camera with the desired resolution - //camera = OrthographicCamera(width, height) - - // Move camera center to push 0,0 into the corner - //camera.translate(width / 2, height / 2) - + fun initViewPort(width: Int, height: Int) { // Set Y to point downwards - camera.setToOrtho(true, width, height) + camera.setToOrtho(true, width.toFloat(), height.toFloat()) // Update camera matrix camera.update() // Set viewport to restrict drawing - Gdx.gl20.glViewport(ox.toInt(), oy.toInt(), vw.toInt(), vh.toInt()) + Gdx.gl20.glViewport(0, 0, width, height) } override fun show() { // Set up viewport on first load - initViewPort(Gdx.graphics.width, Gdx.graphics.height, Gdx.graphics.width.toFloat() / Gdx.graphics.height.toFloat()) + initViewPort(Gdx.graphics.width, Gdx.graphics.height) } @@ -183,7 +149,7 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { Gdx.input.inputProcessor = GameController - initViewPort(Gdx.graphics.width, Gdx.graphics.height, Gdx.graphics.width.toFloat() / Gdx.graphics.height.toFloat()) + initViewPort(Gdx.graphics.width, Gdx.graphics.height) // load things when the game entered this "state" @@ -410,14 +376,15 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { Gdx.gl.glClearColor(0f,0f,0f,0f) Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT) } - backDrawFrameBuffer.inAction { - Gdx.gl.glClearColor(0f,0f,0f,0f) - Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT) - } + // Post-update; ones that needs everything is completed // + LightmapRenderer.renderLightMap() // + FeaturesDrawer.render(batch) // + // end of post-update // + // now the actual drawing part // worldDrawFrameBuffer.inAction { batch.inUse { camera.position.set(WorldCamera.gdxCamX, WorldCamera.gdxCamY, 0f) // make camara work @@ -426,6 +393,7 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { + blendNormal() @@ -450,42 +418,33 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { ///////////////////////////// // draw map related stuffs // ///////////////////////////// - LightmapRenderer.renderLightMap() - //BlocksDrawer.renderFront(batch, false) + BlocksDrawer.renderFront(batch, false) // --> blendNormal() <-- by BlocksDrawer.renderFront - //FeaturesDrawer.render(batch) + FeaturesDrawer.drawEnvOverlay(batch) - //FeaturesDrawer.drawEnvOverlay(batch) - - //if (!KeyToggler.isOn(KEY_LIGHTMAP_RENDER)) blendMul() - //else blendNormal() - //blendMul() - //LightmapRenderer.draw(batch) - + LightmapRenderer.draw(batch) ////////////////////// // draw actor glows // ////////////////////// - // needs some new blending/shader for glow... + // FIXME needs some new blending/shader for glow... //actorsRenderMiddle.forEach { it.drawGlow(batch) } //actorsRenderMidTop.forEach { it.drawGlow(batch) } - player?.drawGlow(batch) + //player?.drawGlow(batch) //actorsRenderFront.forEach { it.drawGlow(batch) } // --> blendLightenOnly() <-- introduced by childs of ActorWithBody // - - } } - ///////////////////////////////// - // draw framebuffers to screen // - ///////////////////////////////// + ///////////////////////// + // draw to main screen // + ///////////////////////// blendNormal() batch.inUse { camera.position.set(TerrarumGDX.HALFW.toFloat(), TerrarumGDX.HALFH.toFloat(), 0f) // make camara work @@ -493,14 +452,99 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { batch.projectionMatrix = camera.combined + ///////////////////////////////// + // draw framebuffers to screen // + ///////////////////////////////// + WeatherMixer.render(batch) val tex = worldDrawFrameBuffer.colorBufferTexture // TODO zoom! batch.draw(tex, 0f, 0f, Gdx.graphics.width.toFloat(), Gdx.graphics.height.toFloat()) + + + + + //////////////////////// + // debug informations // + //////////////////////// + + blendNormal() + // draw reference ID if debugWindow is open + if (debugWindow.isVisible) { + + actorContainer.forEachIndexed { i, actor -> + if (actor is ActorWithBody) { + batch.color = Color.WHITE + TerrarumGDX.fontSmallNumbers.draw(batch, + actor.referenceID.toString(), + actor.hitbox.startX.toFloat(), + actor.hitbox.canonicalY.toFloat() + 4 + ) + } + } + } + // debug physics + if (KeyToggler.isOn(Input.Keys.F11)) { + actorContainer.forEachIndexed { i, actor -> + if (actor is ActorWithPhysics) { + /*shapeRenderer.inUse(ShapeRenderer.ShapeType.Line) { + shapeRenderer.color = Color(1f, 0f, 1f, 1f) + //shapeRenderer.lineWidth = 1f + shapeRenderer.rect( + actor.hitbox.startX.toFloat(), + actor.hitbox.startY.toFloat(), + actor.hitbox.width.toFloat(), + actor.hitbox.height.toFloat() + ) + }*/ + + // velocity + batch.color = Color.CHARTREUSE//GameFontBase.codeToCol["g"] + TerrarumGDX.fontSmallNumbers.draw(batch, + "${0x7F.toChar()}X ${actor.externalForce.x}", + actor.hitbox.startX.toFloat(), + actor.hitbox.canonicalY.toFloat() + 4 + 8 + ) + TerrarumGDX.fontSmallNumbers.draw(batch, + "${0x7F.toChar()}Y ${actor.externalForce.y}", + actor.hitbox.startX.toFloat(), + actor.hitbox.canonicalY.toFloat() + 4 + 8 * 2 + ) + } + } + } + // fluidmap debug + if (KeyToggler.isOn(Input.Keys.F4)) { + WorldSimulator.drawFluidMapDebug(batch) + } + + + + + ///////////////////////////// + // draw some overlays (UI) // + ///////////////////////////// + + //uiContainer.forEach { if (it != consoleHandler) it.render(batch) } // FIXME draws black of grey coloured box on top right + debugWindow.render(batch) + // make sure console draws on top of other UIs + consoleHandler.render(batch) + notifier.render(batch) } + + + + + // ////// //// // //// // // + // // // // // // // // + // //// // // // // // //// + // // // // ////// // // + ////// ////// //// // // //// //// + + ///////////////////////////// // draw map related stuffs // ///////////////////////////// @@ -1037,15 +1081,12 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { override fun resize(width: Int, height: Int) { worldDrawFrameBuffer.dispose() worldDrawFrameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.width.div(ZOOM_MIN).ceilInt(), Gdx.graphics.height.div(ZOOM_MIN).ceilInt(), false) - backDrawFrameBuffer.dispose() - backDrawFrameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.width, Gdx.graphics.height, false) - + // Set up viewport when window is resized - initViewPort(width, height, width.toFloat() / height.toFloat()) + initViewPort(width, height) } override fun dispose() { worldDrawFrameBuffer.dispose() - backDrawFrameBuffer.dispose() } } diff --git a/src/net/torvald/terrarum/console/GetFactioning.kt b/src/net/torvald/terrarum/console/GetFactioning.kt index 2da4f4321..1928cf305 100644 --- a/src/net/torvald/terrarum/console/GetFactioning.kt +++ b/src/net/torvald/terrarum/console/GetFactioning.kt @@ -4,17 +4,17 @@ import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.TerrarumGDX import net.torvald.terrarum.gameactors.Factionable import net.torvald.terrarum.gameactors.Player +import net.torvald.terrarumsansbitmap.gdx.GameFontBase /** * Created by minjaesong on 16-02-17. */ internal object GetFactioning : ConsoleCommand { - val ccW = 0.toChar()//GameFontBase.colToCode["w"] - val ccG = 0.toChar()//GameFontBase.colToCode["g"] - val ccY = 0.toChar()//GameFontBase.colToCode["y"] - val ccM = 0.toChar()//GameFontBase.colToCode["m"] - val ccK = 0.toChar()//GameFontBase.colToCode["k"] - val ccB = 0.toChar()//GameFontBase.colToCode["b"] + val ccW = GameFontBase.toColorCode(0xFFFF) + val ccY = GameFontBase.toColorCode(0xFE8F) + val ccM = GameFontBase.toColorCode(0xEAFF) + val ccG = GameFontBase.toColorCode(0x8F8F) + val ccK = GameFontBase.toColorCode(0x888F) private val PRINT_INDENTATION = "$ccK --> $ccW" diff --git a/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt b/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt index e6f98729a..e297bde17 100644 --- a/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt +++ b/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt @@ -46,9 +46,9 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean @Transient private val world: GameWorld = TerrarumGDX.ingame!!.world - var hitboxTranslateX: Double = 0.0// relative to spritePosX + var hitboxTranslateX: Int = 0// relative to spritePosX protected set - var hitboxTranslateY: Double = 0.0// relative to spritePosY + var hitboxTranslateY: Int = 0// relative to spritePosY protected set var baseHitboxW: Int = 0 protected set @@ -269,8 +269,8 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean fun setHitboxDimension(w: Int, h: Int, tx: Int, ty: Int) { baseHitboxH = h baseHitboxW = w - hitboxTranslateX = tx.toDouble() - hitboxTranslateY = ty.toDouble() + hitboxTranslateX = tx + hitboxTranslateY = ty } fun setPosition(pos: Point2d) = setPosition(pos.x, pos.y) diff --git a/src/net/torvald/terrarum/gamecontroller/GameController.kt b/src/net/torvald/terrarum/gamecontroller/GameController.kt index 1c96a903e..2f76be70f 100644 --- a/src/net/torvald/terrarum/gamecontroller/GameController.kt +++ b/src/net/torvald/terrarum/gamecontroller/GameController.kt @@ -1,6 +1,7 @@ package net.torvald.terrarum.gamecontroller import com.badlogic.gdx.Gdx +import com.badlogic.gdx.Input import com.badlogic.gdx.InputAdapter import com.badlogic.gdx.scenes.scene2d.InputEvent import com.badlogic.gdx.scenes.scene2d.InputListener @@ -24,10 +25,10 @@ object GameController : InputAdapter() { /** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise) */ val mouseX: Float - get() = (WorldCamera.x + TerrarumGDX.mouseX.toFloat() / (ingame.screenZoom ?: 1f)) + get() = WorldCamera.x + Gdx.input.x / (ingame.screenZoom) /** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise)*/ val mouseY: Float - get() = (WorldCamera.y + TerrarumGDX.mouseY.toFloat() / (ingame.screenZoom ?: 1f)) + get() = WorldCamera.y + Gdx.input.y / (ingame.screenZoom) /** currently pointing tile coordinate */ val mouseTileX: Int get() = (mouseX / FeaturesDrawer.TILE_SIZE).floorInt() @@ -102,6 +103,10 @@ object GameController : InputAdapter() { ingame.uiContainer.forEach { it.keyDown(keycode) } // for KeyboardControlled UIcanvases + if (keycode == Input.Keys.F3) { + ingame.debugWindow.toggleOpening() + } + return true } diff --git a/src/net/torvald/terrarum/imagefont/TinyAlphNum.kt b/src/net/torvald/terrarum/imagefont/TinyAlphNum.kt index 769ed980f..0a69c573d 100644 --- a/src/net/torvald/terrarum/imagefont/TinyAlphNum.kt +++ b/src/net/torvald/terrarum/imagefont/TinyAlphNum.kt @@ -1,5 +1,6 @@ package net.torvald.terrarum.imagefont +import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.g2d.Batch import com.badlogic.gdx.graphics.g2d.BitmapFont import com.badlogic.gdx.graphics.g2d.GlyphLayout @@ -25,15 +26,67 @@ object TinyAlphNum : BitmapFont() { return W * str.length } + lateinit var colourHolder: Color + override fun draw(batch: Batch, text: CharSequence, x: Float, y: Float): GlyphLayout? { + val originalColour = batch.color + colourHolder = batch.color + + var charsPrinted = 0 text.forEachIndexed { index, c -> - batch.draw(fontSheet.get(index % 16, index / 16), x + index * W, y) + if (isColourCodeHigh(c)) { + val cchigh = c + val cclow = text[index + 1] + val colour = getColour(cchigh, cclow) + + colourHolder = colour + } + else if (c in 0.toChar()..255.toChar()) { + batch.color = colourHolder.cpy().mul(0.5f, 0.5f, 0.5f, 1f) + batch.draw(fontSheet.get(c.toInt() % 16, c.toInt() / 16), x + charsPrinted * W + 1, y) + batch.draw(fontSheet.get(c.toInt() % 16, c.toInt() / 16), x + charsPrinted * W , y + 1) + batch.draw(fontSheet.get(c.toInt() % 16, c.toInt() / 16), x + charsPrinted * W + 1, y + 1) + + + batch.color = colourHolder.cpy() + batch.draw(fontSheet.get(c.toInt() % 16, c.toInt() / 16), x + charsPrinted * W, y) + + charsPrinted += 1 + } } + + batch.color = originalColour + return null } override fun getLineHeight() = H.toFloat() override fun getCapHeight() = getLineHeight() override fun getXHeight() = getLineHeight() + + + + private fun isColourCodeHigh(c: Char) = c.toInt() in 0b110110_1111000000..0b110110_1111111111 + private fun isColourCodeLow(c: Char) = c.toInt() in 0b110111_0000000000..0b110111_1111111111 + + private fun getColour(charHigh: Char, charLow: Char): Color { // input: 0x10ARGB, out: RGBA8888 + val codePoint = Character.toCodePoint(charHigh, charLow) + + if (colourBuffer.containsKey(codePoint)) + return colourBuffer[codePoint]!! + + val r = codePoint.and(0xF000).ushr(12) + val g = codePoint.and(0x0F00).ushr(8) + val b = codePoint.and(0x00F0).ushr(4) + val a = codePoint.and(0x000F) + + val col = Color(r.shl(28) or r.shl(24) or g.shl(20) or g.shl(16) or b.shl(12) or b.shl(8) or a.shl(4) or a) + + + colourBuffer[codePoint] = col + return col + } + + private val colourBuffer = HashMap() } \ No newline at end of file diff --git a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt index c8da21e71..a003f886c 100644 --- a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt +++ b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt @@ -11,6 +11,7 @@ import net.torvald.terrarum.blendNormal import net.torvald.terrarum.blendScreen import net.torvald.terrarum.fillRect import net.torvald.terrarum.worlddrawer.WorldCamera +import net.torvald.terrarumsansbitmap.gdx.GameFontBase /** * Created by minjaesong on 16-03-14. @@ -30,11 +31,18 @@ class BasicDebugInfoWindow : UICanvas { private var xdelta = 0.0 private var ydelta = 0.0 - val ccW = 0.toChar()//GameFontBase.colToCode["w"] - val ccG = 0.toChar()//GameFontBase.colToCode["g"] - val ccY = 0.toChar()//GameFontBase.colToCode["y"] - val ccR = 0.toChar()//GameFontBase.colToCode["r"] - val ccM = 0.toChar()//GameFontBase.colToCode["m"] + val ccW = GameFontBase.toColorCode(0xFFFF) + val ccY = GameFontBase.toColorCode(0xFE8F) + val ccO = GameFontBase.toColorCode(0xFB2F) + val ccR = GameFontBase.toColorCode(0xF88F) + val ccF = GameFontBase.toColorCode(0xFAEF) + val ccM = GameFontBase.toColorCode(0xEAFF) + val ccB = GameFontBase.toColorCode(0x88FF) + val ccC = GameFontBase.toColorCode(0x8FFF) + val ccG = GameFontBase.toColorCode(0x8F8F) + val ccV = GameFontBase.toColorCode(0x080F) + val ccX = GameFontBase.toColorCode(0x853F) + val ccK = GameFontBase.toColorCode(0x888F) @@ -59,9 +67,7 @@ class BasicDebugInfoWindow : UICanvas { val mouseTileX = ((WorldCamera.x + TerrarumGDX.mouseX / TerrarumGDX.ingame!!.screenZoom) / FeaturesDrawer.TILE_SIZE).toInt() val mouseTileY = ((WorldCamera.y + TerrarumGDX.mouseY / TerrarumGDX.ingame!!.screenZoom) / FeaturesDrawer.TILE_SIZE).toInt() - //g.color = GameFontBase.codeToCol["y"] - - batch.color = Color.WHITE + batch.color = Color(0xFFEE88FF.toInt()) val hitbox = player?.hitbox @@ -155,6 +161,9 @@ class BasicDebugInfoWindow : UICanvas { Gdx.graphics.width - histogramW - 30, Gdx.graphics.height - histogramH - 30 ) + + batch.color = Color.WHITE + if (TerrarumGDX.controller != null) { drawGamepadAxis(batch, TerrarumGDX.controller!!.getAxisValue(3), diff --git a/src/net/torvald/terrarum/ui/UIHandler.kt b/src/net/torvald/terrarum/ui/UIHandler.kt index c768d736e..32406357c 100644 --- a/src/net/torvald/terrarum/ui/UIHandler.kt +++ b/src/net/torvald/terrarum/ui/UIHandler.kt @@ -127,11 +127,13 @@ class UIHandler(val UI: UICanvas, fun render(batch: SpriteBatch) { if (isVisible || alwaysVisible) { + // camera SHOULD BE CENTERED to HALFX and HALFY (see StateInGame) // - batch.projectionMatrix = Matrix4() - if (!customPositioning) - TerrarumGDX.ingame?.camera?.position?.set(posX.toFloat(), posY.toFloat(), 0f) // does it work? + //batch.projectionMatrix = Matrix4() +// + //if (!customPositioning) + // TerrarumGDX.ingame?.camera?.position?.set(posX.toFloat(), posY.toFloat(), 0f) // does it work? UI.render(batch) //ingameGraphics.flush() diff --git a/src/net/torvald/terrarum/ui/UIInventory.kt b/src/net/torvald/terrarum/ui/UIInventory.kt index 66e250cf3..c7ecb60ee 100644 --- a/src/net/torvald/terrarum/ui/UIInventory.kt +++ b/src/net/torvald/terrarum/ui/UIInventory.kt @@ -316,7 +316,7 @@ class UIInventory( } override fun mouseMoved(screenX: Int, screenY: Int): Boolean { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + return false } override fun keyDown(keycode: Int): Boolean { diff --git a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer_old.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer_old.kt index f60fbd392..df3be9d0b 100644 --- a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer_old.kt +++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer_old.kt @@ -342,7 +342,9 @@ object BlocksDrawer { } - + /////////////////////////////////////////// + // NO draw lightmap using colour filter, actors must also be hidden behind the darkness + /////////////////////////////////////////// fun renderWall(batch: SpriteBatch) { /**