Skip to content

Commit

Permalink
Fix access to resources
Browse files Browse the repository at this point in the history
  • Loading branch information
olivierperez committed Dec 31, 2020
1 parent 0c8f57a commit cb840f0
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 9 deletions.
4 changes: 2 additions & 2 deletions GameLib/src/main/kotlin/fr/o80/gamelib/drawing/Image.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ import org.lwjgl.BufferUtils
import java.io.File
import javax.imageio.ImageIO

class Image(filename: String) {
class Image(filename: File) {

var id: Int
private set
val width: Int
val height: Int

init {
val bufferedImage = ImageIO.read(File(filename))
val bufferedImage = ImageIO.read(filename)
width = bufferedImage.width
height = bufferedImage.height

Expand Down
14 changes: 14 additions & 0 deletions SoulGameImpl/src/main/kotlin/fr/o80/soulgame/resources.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package fr.o80.soulgame

import java.io.File

fun resourceFile(filename: String): File {
return File(filename).takeIf { it.exists() }
?: File("./SoulGameImpl/resources/$filename")

}

fun resource(filename: String): String {
return File(filename).takeIf { it.exists() }?.let { filename }
?: "./SoulGameImpl/resources/$filename"
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import fr.o80.gamelib.loop.Dimension
import fr.o80.gamelib.loop.KeyPipeline
import fr.o80.gamelib.text.TextRenderer
import fr.o80.soulgame.SoulSceneManager
import fr.o80.soulgame.resource
import fr.o80.soulgame.scenes.greenBackground
import org.lwjgl.glfw.GLFW

Expand All @@ -17,7 +18,7 @@ class GameOverScene(
private val fontHeight: Float = 50f

private val textRenderer: TextRenderer = TextRenderer(
fontPath = "./resources/fonts/LaserCutRegular.ttf",
fontPath = resource("fonts/LaserCutRegular.ttf"),
margin = 0f,
fontHeight = fontHeight
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package fr.o80.soulgame.scenes.level

import fr.o80.soulgame.resourceFile
import fr.o80.soulgame.scenes.level.level.Block
import fr.o80.soulgame.scenes.level.level.Door
import fr.o80.soulgame.scenes.level.level.Level
import fr.o80.soulgame.scenes.level.level.Point
import fr.o80.soulgame.scenes.level.level.Wall
import java.io.File

class LevelLoader {

fun load(levelName: String): Level {

val source = File("./resources/levels/$levelName.txt").inputStream()
val source = resourceFile("levels/$levelName.txt").inputStream()

val blocks = mutableListOf<Block>()
val mobSpawns = mutableListOf<Point>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import fr.o80.gamelib.GG
import fr.o80.gamelib.dsl.draw
import fr.o80.gamelib.loop.Dimension
import fr.o80.gamelib.text.TextRenderer
import fr.o80.soulgame.resource
import fr.o80.soulgame.scenes.greenBackground
import fr.o80.soulgame.scenes.level.drawing.EntityDrawer
import fr.o80.soulgame.scenes.level.drawing.ExtraTileSelector
Expand All @@ -24,7 +25,7 @@ class LevelRenderer(

private val entityDrawer: EntityDrawer = EntityDrawer(SpriteDrawer(10))
private val levelDrawer: LevelDrawer = LevelDrawer(SpriteDrawer(10), tileSize)
private val textRenderer: TextRenderer = TextRenderer("./resources/fonts/LaserCutRegular.ttf")
private val textRenderer: TextRenderer = TextRenderer(resource("fonts/LaserCutRegular.ttf"))
private val hud: HUD = HUD(textRenderer, dimension)

fun open() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package fr.o80.soulgame.scenes.level

import fr.o80.gamelib.drawing.Image
import fr.o80.gamelib.drawing.Sprite
import fr.o80.soulgame.resourceFile

class LevelResources {

Expand All @@ -23,20 +24,20 @@ class LevelResources {

private fun loadTextures() {
entitySprite = Sprite(
image = Image("./resources/sprites/knights.png"),
image = Image(resourceFile("sprites/knights.png")),
unitWidth = 57,
unitHeight = 87,
marginTop = 4,
horizontalPadding = 21,
verticalPadding = 21
)
wallsSprite = Sprite(
image = Image("./resources/sprites/walls.png"),
image = Image(resourceFile("sprites/walls.png")),
unitWidth = 70,
unitHeight = 70
)
extrasSprite = Sprite(
image = Image("./resources/sprites/extras.png"),
image = Image(resourceFile("sprites/extras.png")),
unitWidth = 16,
unitHeight = 16
)
Expand Down

0 comments on commit cb840f0

Please sign in to comment.