diff --git a/apps/demos/crawl/data/scripts/game.lua b/apps/demos/crawl/data/scripts/game.lua index f5a73a2..817ba83 100644 --- a/apps/demos/crawl/data/scripts/game.lua +++ b/apps/demos/crawl/data/scripts/game.lua @@ -57,9 +57,9 @@ function game_tick() draw_camera { position = { - x = ctx.udata.player.position_lerp.y * 2 + 1 - ctx.udata.player.direction.x / 2, - y = 1, - z = ctx.udata.player.position_lerp.x * 2 + 1 - ctx.udata.player.direction.z / 2, + x = ctx.udata.player.position_lerp.y + 0.5 - ctx.udata.player.direction.x / 2, + y = 0.5, + z = ctx.udata.player.position_lerp.x + 0.5 - ctx.udata.player.direction.z / 2, }, direction = ctx.udata.player.direction_lerp, } diff --git a/apps/demos/crawl/data/scripts/render.lua b/apps/demos/crawl/data/scripts/render.lua index 805fb33..c59be03 100644 --- a/apps/demos/crawl/data/scripts/render.lua +++ b/apps/demos/crawl/data/scripts/render.lua @@ -5,52 +5,52 @@ function render_dungeon(dungeon) if dungeon.grid[y][x].wall_texture ~= nil then draw_quad { texture = dungeon.grid[y][x].wall_texture, - v3 = { x = y * 2, y = 2, z = x * 2 }, - v2 = { x = y * 2, y = 0, z = x * 2 }, - v1 = { x = y * 2 + 2, y = 0, z = x * 2 }, - v0 = { x = y * 2 + 2, y = 2, z = x * 2 }, + v3 = { x = y, y = 1, z = x }, + v2 = { x = y, y = 0, z = x }, + v1 = { x = y + 1, y = 0, z = x }, + v0 = { x = y + 1, y = 1, z = x }, texture_region = { w = 128, h = 128 }, } draw_quad { texture = dungeon.grid[y][x].wall_texture, - v3 = { x = y * 2 + 2, y = 2, z = x * 2 }, - v2 = { x = y * 2 + 2, y = 0, z = x * 2 }, - v1 = { x = y * 2 + 2, y = 0, z = x * 2 + 2 }, - v0 = { x = y * 2 + 2, y = 2, z = x * 2 + 2 }, + v3 = { x = y + 1, y = 1, z = x }, + v2 = { x = y + 1, y = 0, z = x }, + v1 = { x = y + 1, y = 0, z = x + 1 }, + v0 = { x = y + 1, y = 1, z = x + 1 }, texture_region = { w = 128, h = 128 }, } draw_quad { texture = dungeon.grid[y][x].wall_texture, - v3 = { x = y * 2 + 2, y = 2, z = x * 2 + 2 }, - v2 = { x = y * 2 + 2, y = 0, z = x * 2 + 2 }, - v1 = { x = y * 2, y = 0, z = x * 2 + 2 }, - v0 = { x = y * 2, y = 2, z = x * 2 + 2 }, + v3 = { x = y + 1, y = 1, z = x + 1 }, + v2 = { x = y + 1, y = 0, z = x + 1 }, + v1 = { x = y, y = 0, z = x + 1 }, + v0 = { x = y, y = 1, z = x + 1 }, texture_region = { w = 128, h = 128 }, } draw_quad { texture = dungeon.grid[y][x].wall_texture, - v3 = { x = y * 2, y = 2, z = x * 2 + 2 }, - v2 = { x = y * 2, y = 0, z = x * 2 + 2 }, - v1 = { x = y * 2, y = 0, z = x * 2 }, - v0 = { x = y * 2, y = 2, z = x * 2 }, + v3 = { x = y, y = 1, z = x + 1 }, + v2 = { x = y, y = 0, z = x + 1 }, + v1 = { x = y, y = 0, z = x }, + v0 = { x = y, y = 1, z = x }, texture_region = { w = 128, h = 128 }, } elseif dungeon.grid[y][x].tile_texture ~= nil then draw_quad { texture = dungeon.grid[y][x].tile_texture, - v0 = { x = y * 2 + 2, y = 0, z = x * 2 }, - v1 = { x = y * 2, y = 0, z = x * 2 }, - v2 = { x = y * 2, y = 0, z = x * 2 + 2 }, - v3 = { x = y * 2 + 2, y = 0, z = x * 2 + 2}, + v0 = { x = y + 1, y = 0, z = x }, + v1 = { x = y, y = 0, z = x }, + v2 = { x = y, y = 0, z = x + 1 }, + v3 = { x = y + 1, y = 0, z = x + 1}, texture_region = { w = 128, h = 128 }, } draw_quad { texture = dungeon.grid[y][x].tile_texture, - v3 = { x = y * 2 + 2, y = 2, z = x * 2 }, - v2 = { x = y * 2, y = 2, z = x * 2 }, - v1 = { x = y * 2, y = 2, z = x * 2 + 2 }, - v0 = { x = y * 2 + 2, y = 2, z = x * 2 + 2}, + v3 = { x = y + 1, y = 1, z = x }, + v2 = { x = y, y = 1, z = x }, + v1 = { x = y, y = 1, z = x + 1 }, + v0 = { x = y + 1, y = 1, z = x + 1}, texture_region = { w = 128, h = 128 }, } end @@ -59,25 +59,25 @@ function render_dungeon(dungeon) if dungeon.grid[y][x].face == "horizon" then draw_quad { texture = dungeon.grid[y][x].face_texture, - v3 = { x = y * 2, y = 2, z = x * 2 + 1 }, - v2 = { x = y * 2, y = 0, z = x * 2 + 1 }, - v1 = { x = y * 2 + 2, y = 0, z = x * 2 + 1 }, - v0 = { x = y * 2 + 2, y = 2, z = x * 2 + 1 }, + v3 = { x = y, y = 1, z = x + 1 }, + v2 = { x = y, y = 0, z = x + 1 }, + v1 = { x = y + 1, y = 0, z = x + 1 }, + v0 = { x = y + 1, y = 1, z = x + 1 }, texture_region = { w = 64, h = 96 }, } draw_quad { texture = dungeon.grid[y][x].face_texture, - v3 = { x = y * 2 + 2, y = 2, z = x * 2 + 1 }, - v2 = { x = y * 2 + 2, y = 0, z = x * 2 + 1 }, - v1 = { x = y * 2, y = 0, z = x * 2 + 1 }, - v0 = { x = y * 2, y = 2, z = x * 2 + 1 }, + v3 = { x = y + 1, y = 1, z = x + 1 }, + v2 = { x = y + 1, y = 0, z = x + 1 }, + v1 = { x = y, y = 0, z = x + 1 }, + v0 = { x = y, y = 1, z = x + 1 }, texture_region = { w = 64, h = 96 }, } elseif dungeon.grid[y][x].face == "observer" then draw_billboard { texture = dungeon.grid[y][x].face_texture, - position = { x = y * 2 + 1, y = 1, z = x * 2 + 1 }, - size = { x = 1, y = 1 }, + position = { x = y + 0.5, y = 0.5, z = x + 0.5 }, + size = { x = 0.5, y = 0.5 }, } end end