Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Logback for logging #19

Merged
merged 5 commits into from
Jul 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions build.gradle.kts
Expand Up @@ -24,6 +24,8 @@ dependencies {
implementation("org.jsoup:jsoup:1.14.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7")
implementation("org.apache.commons:commons-compress:1.21")
implementation("ch.qos.logback:logback-classic:1.2.11")
implementation("org.slf4j:slf4j-api:1.7.36")
}

tasks {
Expand Down
9 changes: 6 additions & 3 deletions src/main/kotlin/cache/loaders/ObjectLoader.kt
Expand Up @@ -9,12 +9,14 @@ import cache.utils.readUnsignedByte
import cache.utils.readUnsignedShort
import com.displee.cache.CacheLibrary
import com.google.inject.Inject
import org.slf4j.LoggerFactory
import java.nio.ByteBuffer

class ObjectLoader @Inject constructor(
cacheLibrary: CacheLibrary,
private val objectDefinitionCache: HashMap<Int, ObjectDefinition> = HashMap()
) {
private val logger = LoggerFactory.getLogger(ObjectLoader::class.java)

fun get(id: Int): ObjectDefinition? {
return objectDefinitionCache[id]
Expand All @@ -36,6 +38,7 @@ class ObjectLoader @Inject constructor(
}

private fun processOp(opcode: Int, def: ObjectDefinition, inputStream: ByteBuffer) {
logger.debug("Processing opcode {}", opcode)
if (opcode == 1) {
val length: Int = inputStream.readUnsignedByte()
if (length > 0) {
Expand Down Expand Up @@ -134,12 +137,12 @@ class ObjectLoader @Inject constructor(
def.blockingMask = inputStream.get().toInt()
} else if (opcode == 70) {
def.offsetX = inputStream.readUnsignedShort()
println("TODO: support offsetX, (got ${def.offsetX})")
logger.warn("TODO: support offsetX, (got ${def.offsetX})")
} else if (opcode == 71) {
def.offsetHeight = inputStream.readUnsignedShort().toShort().toInt()
} else if (opcode == 72) {
def.offsetY = inputStream.readUnsignedShort()
println("TODO: support offsetY, (got ${def.offsetY})")
logger.warn("TODO: support offsetY, (got ${def.offsetY})")
} else if (opcode == 73) {
def.obstructsGround = true
} else if (opcode == 74) {
Expand Down Expand Up @@ -225,7 +228,7 @@ class ObjectLoader @Inject constructor(
}
def.params = params
} else {
println("Unrecognized opcode: $opcode");
logger.warn("Unrecognized opcode: $opcode");
}
}

Expand Down
4 changes: 1 addition & 3 deletions src/main/kotlin/cache/loaders/RegionLoader.kt
Expand Up @@ -7,7 +7,6 @@ import cache.definitions.RegionDefinition.Companion.Y
import cache.definitions.RegionDefinition.Companion.Z
import cache.utils.readUnsignedByte
import com.displee.cache.CacheLibrary
import java.io.ByteArrayOutputStream
import java.nio.ByteBuffer

class RegionLoader(
Expand Down Expand Up @@ -71,5 +70,4 @@ class RegionLoader(
fun findRegionForWorldCoordinates(x: Int, y: Int): RegionDefinition? {
return get((x ushr 6) shl 8 or (y ushr 6))
}

}
}
5 changes: 3 additions & 2 deletions src/main/kotlin/controllers/CacheChooserController.kt
Expand Up @@ -29,16 +29,17 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream
import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream
import org.jsoup.Jsoup
import org.slf4j.LoggerFactory
import java.io.*
import java.net.URL
import javax.net.ssl.SSLHandshakeException


class CacheChooserController @Inject constructor(
private val cacheLibraryProvider: CacheLibraryProvider,
private val xteaManagerProvider: XteaManagerProvider,
private val configuration: Configuration
) {
private val logger = LoggerFactory.getLogger(CacheChooserController::class.java)

@FXML
private lateinit var listCaches: ListView<String>
Expand Down Expand Up @@ -69,7 +70,7 @@ class CacheChooserController @Inject constructor(
@FXML
private fun initialize() {
val javaVer = System.getProperty("java.version")
println("Java version: $javaVer")
logger.info("Java version: $javaVer")
val majorVer = javaVer.split(".")[0].toInt()
if (majorVer < 11) {
lblErrorText.isVisible = true
Expand Down
5 changes: 4 additions & 1 deletion src/main/kotlin/controllers/MainController.kt
Expand Up @@ -14,10 +14,13 @@ import models.DebugModel
import org.dockfx.DockNode
import org.dockfx.DockPane
import org.dockfx.DockPos
import org.slf4j.LoggerFactory

class MainController @Inject constructor(
private val debugModel: DebugModel
) {
private val logger = LoggerFactory.getLogger(MainController::class.java)

@FXML
lateinit var menuChangeRegion: MenuItem
@FXML
Expand Down Expand Up @@ -75,7 +78,7 @@ class MainController @Inject constructor(

btnTest.setOnAction {
worldRendererControllerController.renderer.exportScene()
println("Exported OBJ's")
logger.info("Exported OBJ's")
worldRendererNode.title = "Exported."
Alert(Alert.AlertType.NONE, "Exported OBJ's.", ButtonType.OK).show()
}
Expand Down
11 changes: 7 additions & 4 deletions src/main/kotlin/controllers/worldRenderer/Renderer.kt
Expand Up @@ -30,6 +30,7 @@ import controllers.worldRenderer.shaders.Template
import javafx.scene.Group
import models.DebugModel
import models.scene.*
import org.slf4j.LoggerFactory
import java.awt.event.ActionListener
import java.nio.FloatBuffer
import java.nio.IntBuffer
Expand All @@ -43,6 +44,8 @@ class Renderer @Inject constructor(
private val textureManager: TextureManager,
private val debugModel: DebugModel
) : GLEventListener {
private val logger = LoggerFactory.getLogger(Renderer::class.java)

private val MAX_TEMP_VERTICES: Int = 65535

private lateinit var gl: GL4
Expand Down Expand Up @@ -621,13 +624,13 @@ class Renderer @Inject constructor(
sceneUploader.upload(scene, modelBuffers.vertexBuffer, modelBuffers.uvBuffer, this)
} catch (e: Exception) {
e.printStackTrace()
println("out of space vertexBuffer size %d".format(modelBuffers.vertexBuffer.buffer.limit()))
logger.warn("out of space vertexBuffer size {}", modelBuffers.vertexBuffer.buffer.limit())
}
modelBuffers.flipVertUv()
val vertexBuffer: IntBuffer = modelBuffers.vertexBuffer.buffer
val uvBuffer: FloatBuffer = modelBuffers.uvBuffer.buffer

println("vertexBuffer size %d".format(vertexBuffer.limit()))
logger.debug("vertexBuffer size {}", vertexBuffer.limit())
gl.glBindBuffer(GL.GL_ARRAY_BUFFER, bufferId)
gl.glBufferData(
GL.GL_ARRAY_BUFFER,
Expand Down Expand Up @@ -743,7 +746,7 @@ class Renderer @Inject constructor(
gl.glBindBuffer(GL2ES3.GL_PIXEL_PACK_BUFFER, 0)
val status = gl.glCheckFramebufferStatus(GL.GL_FRAMEBUFFER)
if (status != GL.GL_FRAMEBUFFER_COMPLETE) {
println("bad picker fbo")
logger.warn("bad picker fbo")
}
gl.glBindTexture(GL.GL_TEXTURE_2D, 0)
gl.glBindRenderbuffer(GL.GL_RENDERBUFFER, 0)
Expand Down Expand Up @@ -808,7 +811,7 @@ class Renderer @Inject constructor(
)
val status = gl.glCheckFramebufferStatus(GL.GL_FRAMEBUFFER)
if (status != GL.GL_FRAMEBUFFER_COMPLETE) {
println("bad aaPicker fbo")
logger.warn("bad aaPicker fbo")
}

// Reset
Expand Down
@@ -1,10 +1,13 @@
package controllers.worldRenderer.helpers

import com.jogamp.opengl.util.GLBuffers
import org.slf4j.LoggerFactory
import java.nio.BufferOverflowException
import java.nio.IntBuffer

class GpuIntBuffer {
private val logger = LoggerFactory.getLogger(GpuIntBuffer::class.java)

var buffer = allocateDirect(65536)
private set

Expand Down Expand Up @@ -36,7 +39,7 @@ class GpuIntBuffer {
try {
newB.put(buffer)
} catch(e: BufferOverflowException) {
println(e)
logger.error("Could not append to GPU buffer", e)
}

buffer = newB
Expand Down
5 changes: 4 additions & 1 deletion src/main/kotlin/models/scene/Scene.kt
Expand Up @@ -2,6 +2,7 @@ package models.scene


import com.google.inject.Inject
import org.slf4j.LoggerFactory
import java.awt.event.ActionListener
import java.util.function.Consumer

Expand All @@ -11,6 +12,8 @@ const val REGION_HEIGHT = 4
class Scene @Inject constructor(
private val sceneRegionBuilder: SceneRegionBuilder
) {
private val logger = LoggerFactory.getLogger(Scene::class.java)

var radius: Int = 1

// NxM grid of regions to display
Expand All @@ -34,7 +37,7 @@ class Scene @Inject constructor(
}
for (x in 0 until radius) {
for (y in 0 until radius) {
System.out.printf("Loading region %d\n", regionId)
logger.info("Loading region {}", regionId)
regions[x][y] = sceneRegionBuilder.loadRegion(regionId, true)
regionId++
}
Expand Down
6 changes: 4 additions & 2 deletions src/main/kotlin/models/scene/SceneRegionBuilder.kt
Expand Up @@ -9,6 +9,7 @@ import controllers.worldRenderer.entities.Entity
import controllers.worldRenderer.entities.Model
import controllers.worldRenderer.entities.OrientationType
import controllers.worldRenderer.entities.StaticObject
import org.slf4j.LoggerFactory
import javax.inject.Inject
import kotlin.math.sqrt

Expand All @@ -21,6 +22,7 @@ class SceneRegionBuilder @Inject constructor(
private val overlayLoader: OverlayLoader,
private val objectToModelConverter: ObjectToModelConverter
) {
private val logger = LoggerFactory.getLogger(SceneRegionBuilder::class.java)

private val colorPalette = ColorPalette(0.7, 0, 512).colorPalette

Expand Down Expand Up @@ -371,11 +373,11 @@ class SceneRegionBuilder @Inject constructor(
// Other objects ?
else if (loc.type in 12..21) {
sceneRegion.newGameObject(z, x, y, width, length, staticObject, loc)
println("Load new object? ${loc.type}")
logger.debug("Load new object? ${loc.type}")
}

else {
println("SceneRegionLoader Loading something new? ${loc.type}")
logger.warn("SceneRegionLoader Loading something new? ${loc.type}")
}
}

Expand Down
11 changes: 11 additions & 0 deletions src/main/resources/logback.xml
@@ -0,0 +1,11 @@
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>