diff --git a/.luarc.json b/.luarc.json new file mode 100644 index 0000000..da19a51 --- /dev/null +++ b/.luarc.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json", + "workspace.checkThirdParty": false, + "workspace.library": ["~/.local/lib/picotron-definitions"], + "runtime.version": "Lua 5.4", + "diagnostics.disable": ["lowercase-global"], + "runtime.nonstandardSymbol": ["!=", "+=", "-=", "*=", "/=", "%=", "^=", "|=", "&=", "<<=", ">>=", "//"], + "runtime.builtin": { + "basic": "enable", + "bit": "disable", + "bit32": "disable", + "builtin": "enable", + "coroutine": "enable", + "debug": "enable", + "ffi": "disable", + "io": "disable", + "jit": "disable", + "math": "enable", + "os": "disable", + "package": "disable", + "string": "enable", + "table": "enable", + "table.clear": "disable", + "table.new": "disable", + "utf8": "enable" + }, + "runtime.special": { + "include": "require" + } +} diff --git a/flake.lock b/flake.lock index f721b97..d6f3973 100644 --- a/flake.lock +++ b/flake.lock @@ -2,12 +2,10 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1728279793, - "narHash": "sha256-W3D5YpNrUVTFPVU4jiEiboaaUDShaiH5fRl9aJLqUnU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f85a2d005e83542784a755ca8da112f4f65c4aa4", - "type": "github" + "lastModified": 0, + "narHash": "sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY=", + "path": "/nix/store/99f9ksfwybf3naavcfs42wjyssqiliq5-source", + "type": "path" }, "original": { "id": "nixpkgs", diff --git a/picotron/wolfenstein_src/main.lua b/picotron/wolfenstein_src/main.lua index 997645d..d2005fb 100644 --- a/picotron/wolfenstein_src/main.lua +++ b/picotron/wolfenstein_src/main.lua @@ -2,9 +2,9 @@ player = { origin = { x = nil, - y = nil + y = nil, }, - dir = nil + dir = nil, } col_bg = 1 @@ -12,22 +12,22 @@ col_ground = 6 fov = (120 / 180) * math.pi -- 120 horizontal function _init() - for i=0,31 do - for j=0,31 do - if mget(i,j) == 5 then -- player id + for i = 0, 31 do + for j = 0, 31 do + if mget(i, j) == 5 then -- player id player.origin.x = i + 0.5 player.origin.y = j + 0.5 player.dir = 0 break end end - if (player.x) break + if player.x then + break + end end end -function cast_ray(origin, angle) - -end +function cast_ray(origin, angle) end function draw_minimap() local tile_size = 4 @@ -48,9 +48,9 @@ end function _draw() cls(col_bg) rectfill(0, 135, 480, 270, col_ground) - local angle_step=(fov / 480) / 360 * math.pi - for x=0,480-1 do - local angle = (player.dir-(fov/2) + x * angle_step) % (2 * math.pi) + local angle_step = (fov / 480) / 360 * math.pi + for x = 0, 480 - 1 do + local angle = (player.dir - (fov / 2) + x * angle_step) % (2 * math.pi) local bloc, dist = cast_ray(player.origin, angle) end draw_minimap() @@ -58,13 +58,17 @@ end function _update() local speed = 0.1 - if (btn(0)) player.dir -= speed - if (btn(1)) player.dir += speed - if (btn(2)) then + if btn(0) then + player.dir -= speed + end + if btn(1) then + player.dir += speed + end + if btn(2) then player.origin.x += math.cos(player.dir) * speed player.origin.y += math.sin(player.dir) * speed end - if (btn(3)) then + if btn(3) then player.origin.x -= math.cos(player.dir) * speed player.origin.y -= math.sin(player.dir) * speed end