From 50f5864a7ece2fcd59d5c10022d9d255c5cb618c Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 7 Mar 2022 13:13:51 -0600 Subject: [PATCH] updates --- run_tree/assets/images/kitchen-background.png | Bin 0 -> 181 bytes run_tree/assets/images/spritesheet.png | Bin 6474 -> 6640 bytes run_tree/scenes/level1.scene | 1173 ++++++++++++++--- src/entity/components/player.onyx | 16 +- src/entity/editor.onyx | 10 +- src/entity/schematics/furniture.onyx | 2 +- src/game.onyx | 3 + src/gfx/immediate.onyx | 5 - src/gfx/texture.onyx | 8 + src/utils/colors.onyx | 7 +- 10 files changed, 1007 insertions(+), 217 deletions(-) create mode 100644 run_tree/assets/images/kitchen-background.png diff --git a/run_tree/assets/images/kitchen-background.png b/run_tree/assets/images/kitchen-background.png new file mode 100644 index 0000000000000000000000000000000000000000..db48e9b437ca4ac5836eaf6e8b6edb9749d46dee GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf*#4O^N^))7pUHi~WXMuR3dG=7dz%9{C@o&}I6N%O$T! b_95#jQSG)gTe~DWM4f3?Dz6 literal 0 HcmV?d00001 diff --git a/run_tree/assets/images/spritesheet.png b/run_tree/assets/images/spritesheet.png index 5e02096d001d11fbe621dec2cf4c3ea1dbf43471..af1d3e9878bb74c59ff6ff321c4b42e46934283a 100644 GIT binary patch literal 6640 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 XiZQ!~Qlz8L5rD}RGo$wg$jAQ!dO9hx diff --git a/run_tree/scenes/level1.scene b/run_tree/scenes/level1.scene index 0808b4a..8900186 100644 --- a/run_tree/scenes/level1.scene +++ b/run_tree/scenes/level1.scene @@ -2,7 +2,7 @@ id = 100 flags = 0 pos.x = 422.5000 -pos.y = 311.5000 +pos.y = 343.5000 size.x = 941.0000 size.y = 751.0000 :BackgroundComponent @@ -14,20 +14,6 @@ color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 -[Wall] -id = 10 -flags = 2 -pos.x = 192.0000 -pos.y = 104.0000 -size.x = 352.0000 -size.y = 16.0000 -:RenderComponent -layer = 0 -color.r = 0.2549 -color.g = 0.1720 -color.b = 0.0474 -color.a = 1.0000 - [Wall] id = 11 flags = 3 @@ -42,66 +28,6 @@ color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 -[Door] -id = 13 -flags = 3 -pos.x = 368.0000 -pos.y = 104.0000 -size.x = 160.0000 -size.y = 16.0000 -:DoorComponent -max_openness = 0.8000 -target_openness = 0.8000 -openness = 0.8000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 - -[Wall] -id = 25 -flags = 2 -pos.x = 408.0000 -pos.y = 8.0000 -size.x = 816.0000 -size.y = 16.0000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 - -[Wall] -id = 27 -flags = 2 -pos.x = 8.0000 -pos.y = 312.0000 -size.x = 16.0000 -size.y = 592.0000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 - -[Wall] -id = 28 -flags = 2 -pos.x = 792.0000 -pos.y = 312.0000 -size.x = 16.0000 -size.y = 592.0000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 - [Furniture] id = 30 flags = 2 @@ -426,6 +352,64 @@ color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 +[Wall] +id = 37 +flags = 2 +pos.x = 140.0000 +pos.y = -142.0000 +size.x = 16.0000 +size.y = 16.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Background] +id = 196 +flags = 0 +pos.x = 233.0000 +pos.y = 48.0000 +size.x = 432.0000 +size.y = 128.0000 +:BackgroundComponent +texture_path = "./assets/images/kitchen-background.png" +:RenderComponent +layer = 1 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Wall] +id = 10 +flags = 2 +pos.x = 216.0000 +pos.y = 104.0000 +size.x = 304.0000 +size.y = 16.0000 +:RenderComponent +layer = 2 +color.r = 0.2549 +color.g = 0.1720 +color.b = 0.0474 +color.a = 1.0000 + +[Wall] +id = 27 +flags = 2 +pos.x = 8.0000 +pos.y = 312.0000 +size.x = 16.0000 +size.y = 592.0000 +:RenderComponent +layer = 2 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + [Wall] id = 35 flags = 2 @@ -434,7 +418,7 @@ pos.y = 592.0000 size.x = 352.0000 size.y = 32.0000 :RenderComponent -layer = 0 +layer = 2 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 @@ -448,57 +432,71 @@ pos.y = 592.0000 size.x = 352.0000 size.y = 32.0000 :RenderComponent -layer = 0 +layer = 2 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Wall] -id = 37 +id = 28 flags = 2 -pos.x = 140.0000 -pos.y = -142.0000 +pos.x = 792.0000 +pos.y = 312.0000 size.x = 16.0000 +size.y = 592.0000 +:RenderComponent +layer = 2 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Wall] +id = 25 +flags = 2 +pos.x = 408.0000 +pos.y = 8.0000 +size.x = 816.0000 size.y = 16.0000 :RenderComponent -layer = 0 +layer = 2 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 -[Custom] -id = 14 -flags = 3 -pos.x = 240.0000 -pos.y = 32.0000 -size.x = 32.0000 +[Furniture] +id = 277 +flags = 2 +pos.x = 696.0000 +pos.y = 96.0000 +size.x = 16.0000 size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 0.0000 +sprite.pos.x = 48.0000 sprite.pos.y = 32.0000 -sprite.size.x = 32.0000 +sprite.size.x = -16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 -:DispenserComponent -item = "beer" -max_timeout = 2.0000 [Furniture] -id = 164 +id = 278 flags = 2 -pos.x = 536.0000 +pos.x = 696.0000 pos.y = 176.0000 size.x = 16.0000 size.y = 32.0000 @@ -507,26 +505,26 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 32.0000 +sprite.pos.x = 48.0000 sprite.pos.y = 32.0000 -sprite.size.x = 16.0000 +sprite.size.x = -16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 165 +id = 279 flags = 2 -pos.x = 536.0000 -pos.y = 96.0000 +pos.x = 696.0000 +pos.y = 256.0000 size.x = 16.0000 size.y = 32.0000 :FurnitureComponent @@ -534,26 +532,26 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 32.0000 +sprite.pos.x = 48.0000 sprite.pos.y = 32.0000 -sprite.size.x = 16.0000 +sprite.size.x = -16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 167 +id = 280 flags = 2 -pos.x = 136.0000 -pos.y = 416.0000 +pos.x = 696.0000 +pos.y = 336.0000 size.x = 16.0000 size.y = 32.0000 :FurnitureComponent @@ -561,25 +559,25 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 32.0000 +sprite.pos.x = 48.0000 sprite.pos.y = 32.0000 -sprite.size.x = 16.0000 +sprite.size.x = -16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 168 +id = 281 flags = 2 -pos.x = 536.0000 +pos.x = 696.0000 pos.y = 416.0000 size.x = 16.0000 size.y = 32.0000 @@ -588,25 +586,25 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 32.0000 +sprite.pos.x = 48.0000 sprite.pos.y = 32.0000 -sprite.size.x = 16.0000 +sprite.size.x = -16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 169 +id = 273 flags = 2 -pos.x = 560.0000 +pos.x = 672.0000 pos.y = 96.0000 size.x = 32.0000 size.y = 32.0000 @@ -624,16 +622,16 @@ sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 170 +id = 272 flags = 2 -pos.x = 560.0000 +pos.x = 672.0000 pos.y = 176.0000 size.x = 32.0000 size.y = 32.0000 @@ -651,17 +649,17 @@ sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 171 +id = 275 flags = 2 -pos.x = 560.0000 -pos.y = 416.0000 +pos.x = 672.0000 +pos.y = 256.0000 size.x = 32.0000 size.y = 32.0000 :FurnitureComponent @@ -678,17 +676,17 @@ sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 172 +id = 276 flags = 2 -pos.x = 160.0000 -pos.y = 416.0000 +pos.x = 672.0000 +pos.y = 336.0000 size.x = 32.0000 size.y = 32.0000 :FurnitureComponent @@ -705,44 +703,44 @@ sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 173 +id = 274 flags = 2 -pos.x = 584.0000 +pos.x = 672.0000 pos.y = 416.0000 -size.x = 16.0000 +size.x = 32.0000 size.y = 32.0000 :FurnitureComponent -furniture_type = 0 +furniture_type = 1 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" sprite.pos.x = 48.0000 sprite.pos.y = 32.0000 -sprite.size.x = -16.0000 +sprite.size.x = 32.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 174 +id = 267 flags = 2 -pos.x = 584.0000 -pos.y = 176.0000 +pos.x = 648.0000 +pos.y = 96.0000 size.x = 16.0000 size.y = 32.0000 :FurnitureComponent @@ -750,26 +748,26 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 48.0000 +sprite.pos.x = 32.0000 sprite.pos.y = 32.0000 -sprite.size.x = -16.0000 +sprite.size.x = 16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 175 +id = 268 flags = 2 -pos.x = 584.0000 -pos.y = 96.0000 +pos.x = 648.0000 +pos.y = 176.0000 size.x = 16.0000 size.y = 32.0000 :FurnitureComponent @@ -777,26 +775,26 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 48.0000 +sprite.pos.x = 32.0000 sprite.pos.y = 32.0000 -sprite.size.x = -16.0000 +sprite.size.x = 16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 [Furniture] -id = 176 +id = 269 flags = 2 -pos.x = 184.0000 -pos.y = 416.0000 +pos.x = 648.0000 +pos.y = 256.0000 size.x = 16.0000 size.y = 32.0000 :FurnitureComponent @@ -804,29 +802,830 @@ furniture_type = 0 taken = false :SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" -sprite.pos.x = 48.0000 +sprite.pos.x = 32.0000 sprite.pos.y = 32.0000 -sprite.size.x = -16.0000 +sprite.size.x = 16.0000 sprite.size.y = 32.0000 sprite.color.r = 1.0000 sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 :RenderComponent -layer = 0 +layer = 5 color.r = 1.0000 color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 -[Custom] -id = 157 -flags = 3 -pos.x = 271.0000 -pos.y = 33.0000 -size.x = 32.0000 -size.y = 32.0000 -:SpriteRenderComponent +[Furniture] +id = 270 +flags = 2 +pos.x = 648.0000 +pos.y = 336.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 271 +flags = 2 +pos.x = 648.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 234 +flags = 2 +pos.x = 296.0000 +pos.y = 256.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 235 +flags = 2 +pos.x = 296.0000 +pos.y = 336.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 236 +flags = 2 +pos.x = 296.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 231 +flags = 2 +pos.x = 272.0000 +pos.y = 256.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 233 +flags = 2 +pos.x = 272.0000 +pos.y = 336.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 232 +flags = 2 +pos.x = 272.0000 +pos.y = 416.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 230 +flags = 2 +pos.x = 248.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 229 +flags = 2 +pos.x = 248.0000 +pos.y = 336.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 228 +flags = 2 +pos.x = 248.0000 +pos.y = 256.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 164 +flags = 2 +pos.x = 536.0000 +pos.y = 176.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 165 +flags = 2 +pos.x = 536.0000 +pos.y = 96.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 167 +flags = 2 +pos.x = 136.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 168 +flags = 2 +pos.x = 536.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 169 +flags = 2 +pos.x = 560.0000 +pos.y = 96.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 170 +flags = 2 +pos.x = 560.0000 +pos.y = 176.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 171 +flags = 2 +pos.x = 560.0000 +pos.y = 416.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 172 +flags = 2 +pos.x = 160.0000 +pos.y = 416.0000 +size.x = 32.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 173 +flags = 2 +pos.x = 584.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 174 +flags = 2 +pos.x = 584.0000 +pos.y = 176.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 175 +flags = 2 +pos.x = 584.0000 +pos.y = 96.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 176 +flags = 2 +pos.x = 184.0000 +pos.y = 416.0000 +size.x = 16.0000 +size.y = 32.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 184 +flags = 2 +pos.x = 332.0000 +pos.y = 124.0000 +size.x = 24.0000 +size.y = 24.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 112.0000 +sprite.pos.y = 48.0000 +sprite.size.x = 16.0000 +sprite.size.y = 16.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 185 +flags = 2 +pos.x = 284.0000 +pos.y = 124.0000 +size.x = 24.0000 +size.y = 24.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 112.0000 +sprite.pos.y = 48.0000 +sprite.size.x = 16.0000 +sprite.size.y = 16.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 186 +flags = 2 +pos.x = 236.0000 +pos.y = 124.0000 +size.x = 24.0000 +size.y = 24.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 112.0000 +sprite.pos.y = 48.0000 +sprite.size.x = 16.0000 +sprite.size.y = 16.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 187 +flags = 2 +pos.x = 188.0000 +pos.y = 124.0000 +size.x = 24.0000 +size.y = 24.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 112.0000 +sprite.pos.y = 48.0000 +sprite.size.x = 16.0000 +sprite.size.y = 16.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Furniture] +id = 188 +flags = 2 +pos.x = 140.0000 +pos.y = 124.0000 +size.x = 24.0000 +size.y = 24.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 112.0000 +sprite.pos.y = 48.0000 +sprite.size.x = 16.0000 +sprite.size.y = 16.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Custom] +id = 14 +flags = 3 +pos.x = 240.0000 +pos.y = 32.0000 +size.x = 32.0000 +size.y = 32.0000 +:SpriteRenderComponent +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 0.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 +:RenderComponent +layer = 5 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:DispenserComponent +item = "beer" +max_timeout = 2.0000 + +[Door] +id = 13 +flags = 3 +pos.x = 368.0000 +pos.y = 104.0000 +size.x = 160.0000 +size.y = 16.0000 +:DoorComponent +max_openness = 0.8000 +target_openness = 0.8000 +openness = 0.8000 +:RenderComponent +layer = 10 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 + +[Custom] +id = 157 +flags = 3 +pos.x = 271.0000 +pos.y = 33.0000 +size.x = 32.0000 +size.y = 32.0000 +:SpriteRenderComponent sprite.sheet = "./assets/images/spritesheet.png" sprite.pos.x = 16.0000 sprite.pos.y = 0.0000 @@ -849,8 +1648,8 @@ max_timeout = 4.0000 [Player] id = 152 flags = 2 -pos.x = 277.7525 -pos.y = 229.4651 +pos.x = 392.0000 +pos.y = 232.0000 size.x = 16.0000 size.y = 32.0000 :MovementComponent @@ -865,7 +1664,7 @@ velocity.x = 0.0000 velocity.y = 0.0000 speed = 800.0000 :PlayerComponent -holding = 155 +holding = 0 :RenderComponent layer = 10 color.r = 1.0000 @@ -876,8 +1675,8 @@ color.a = 1.0000 [Player] id = 12 flags = 2 -pos.x = 374.4024 -pos.y = 300.0931 +pos.x = 344.0000 +pos.y = 232.0000 size.x = 16.0000 size.y = 32.0000 :MovementComponent @@ -887,12 +1686,12 @@ controls.left = 65 controls.right = 68 controls.interact = 70 controls.pick_up = 71 -facing = 4 -velocity.x = 0.0000 -velocity.y = 0.0000 +facing = 3 +velocity.x = -0.0015 +velocity.y = -0.0007 speed = 800.0000 :PlayerComponent -holding = 150 +holding = 0 :RenderComponent layer = 10 color.r = 0.0000 @@ -900,38 +1699,6 @@ color.g = 1.0000 color.b = 0.0000 color.a = 1.0000 -[Item_Entity] -id = 150 -flags = 2 -pos.x = 374.4024 -pos.y = 276.0931 -size.x = 16.0000 -size.y = 16.0000 -:RenderComponent -layer = 10 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 -:ItemComponent -item = "burger" - -[Item_Entity] -id = 155 -flags = 0 -pos.x = 277.7524 -pos.y = 205.4651 -size.x = 16.0000 -size.y = 16.0000 -:RenderComponent -layer = 10 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 -:ItemComponent -item = "beer" - [Entryway] id = 156 flags = 0 @@ -962,7 +1729,7 @@ spawned_size.y = 32.0000 enabled = true spawn_timeout_min = 5.0000 spawn_timeout_max = 10.0000 -spawn_timeout = 5.5170 +spawn_timeout = 1.0598 [Custom] id = 163 diff --git a/src/entity/components/player.onyx b/src/entity/components/player.onyx index dbf2a80..e5ac921 100644 --- a/src/entity/components/player.onyx +++ b/src/entity/components/player.onyx @@ -99,16 +99,20 @@ PlayerComponent :: struct { post_render :: (use this: ^PlayerComponent, entity: ^Entity) { if nearby_interact != Entity_Nothing { it := scene->get(nearby_interact); - r := it->get_rect(); - immediate_set_color(.{.2, .2, .8, .7}); - immediate_rectangle(r.x, r.y, r.w, r.h); + if it != null { + r := it->get_rect(); + immediate_set_color(.{.2, .2, .8, .7}); + immediate_rectangle(r.x, r.y, r.w, r.h); + } } if nearby_holding != Entity_Nothing && holding == Entity_Nothing { it := scene->get(nearby_holding); - r := it->get_rect(); - immediate_set_color(.{.2, .8, .2, .7}); - immediate_rectangle(r.x, r.y, r.w, r.h); + if it != null { + r := it->get_rect(); + immediate_set_color(.{.2, .8, .2, .7}); + immediate_rectangle(r.x, r.y, r.w, r.h); + } } } } diff --git a/src/entity/editor.onyx b/src/entity/editor.onyx index 7d123b3..ade6388 100644 --- a/src/entity/editor.onyx +++ b/src/entity/editor.onyx @@ -3,7 +3,7 @@ // Editor features to be added: // // - [x] Create new entity -// - [ ] Edit entity properties in UI +// - [x] Edit entity properties in UI // - [x] Serialize / Deserialize a scene // @@ -42,6 +42,7 @@ editor_update :: (dt: f32) { if is_key_just_up(GLFW_KEY_1) do clicked_tab = .File; if is_key_just_up(GLFW_KEY_2) do clicked_tab = .Edit; if is_key_just_up(GLFW_KEY_3) do clicked_tab = .Create; + if is_key_just_up(GLFW_KEY_4) do clicked_tab = .Actions; if is_key_just_up(GLFW_KEY_G) do editor_grid_shown = !editor_grid_shown; handle_clicking_tab(dt); @@ -275,6 +276,12 @@ editor_draw :: () { render_entity_list(x, y, w, h); } } + + case .Actions { + if draw_button(.{x, y, w, 40}, "Flush Textures") { + texture_cache_clear(); + } + } } } } @@ -601,6 +608,7 @@ editor_draw :: () { File; Edit; Create; + Actions; } active_tab := Tabs.Edit; diff --git a/src/entity/schematics/furniture.onyx b/src/entity/schematics/furniture.onyx index 1a7af35..06375a1 100644 --- a/src/entity/schematics/furniture.onyx +++ b/src/entity/schematics/furniture.onyx @@ -23,4 +23,4 @@ Furniture :: struct { return this; } -} \ No newline at end of file +} diff --git a/src/game.onyx b/src/game.onyx index 24a9a36..e11ab05 100644 --- a/src/game.onyx +++ b/src/game.onyx @@ -64,6 +64,9 @@ game_update :: (dt: f32) { } game_draw :: () { + @REMOVE @DEBUG + Spritesheet', _ := texture_lookup(#cstr "./assets/images/spritesheet.png"); + canvas_use(^scene_canvas); immediate_clear(.{0.15, 0.15, 0.2}); scene->draw(); diff --git a/src/gfx/immediate.onyx b/src/gfx/immediate.onyx index 6756fbe..8a96b18 100644 --- a/src/gfx/immediate.onyx +++ b/src/gfx/immediate.onyx @@ -162,11 +162,6 @@ immediate_set_scroll :: (scroll_x, scroll_y: f32) { immediate_get_scroll :: () => offset; -Color :: struct { - r, g, b : f32; - a := 1.0f; -} - Immediate_Vertex :: struct { pos: Vector2; tex: Vector2; diff --git a/src/gfx/texture.onyx b/src/gfx/texture.onyx index 0df03b8..289eb57 100644 --- a/src/gfx/texture.onyx +++ b/src/gfx/texture.onyx @@ -77,4 +77,12 @@ texture_wrap :: (use tex: ^Texture, wrap: Texture_Wrap) { glBindTexture(GL_TEXTURE_2D, texture); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, ~~ wrap); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, ~~ wrap); +} + +texture_cache_clear :: () { + for^ texture_cache.entries { + glDeleteTextures(1, ^it.value.texture); + } + + map.clear(^texture_cache); } \ No newline at end of file diff --git a/src/utils/colors.onyx b/src/utils/colors.onyx index 886387d..ab6231d 100644 --- a/src/utils/colors.onyx +++ b/src/utils/colors.onyx @@ -1,6 +1,11 @@ use package core +Color :: struct { + r, g, b : f32; + a := 1.0f; +} + color_to_hsl :: (c: Color) -> (h: f32, s: f32, l: f32) { r := c.r / 255; g := c.g / 255; @@ -47,4 +52,4 @@ hsl_to_color :: (h, s, l: f32) -> Color { g = (g + m) * 255; b = (b + m) * 255; return .{ r, g, b, 1 }; -} \ No newline at end of file +} -- 2.25.1