From 8342b0d502f03bf7f60cf8b072ea7dce27565355 Mon Sep 17 00:00:00 2001 From: ttmso Date: Mon, 9 Sep 2024 10:35:29 +0200 Subject: [PATCH 1/3] #702 --- src/game.zig | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/src/game.zig b/src/game.zig index 8e1443e87..4f58bf3c6 100644 --- a/src/game.zig +++ b/src/game.zig @@ -684,16 +684,55 @@ pub fn update(deltaTime: f64) void { // MARK: update() } } if(KeyBoard.key("backward").pressed) { - movementSpeed = @max(movementSpeed, 4); - movementDir += forward*@as(Vec3d, @splat(-4)); + if(KeyBoard.key("sprint").pressed) { + if(Player.isGhost.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 128); + movementDir += forward*@as(Vec3d, @splat(-128)); + } else if(Player.isFlying.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 32); + movementDir += forward*@as(Vec3d, @splat(-32)); + } else { + movementSpeed = @max(movementSpeed, 4); + movementDir += forward*@as(Vec3d, @splat(-4)); + } + } else { + movementSpeed = @max(movementSpeed, 4); + movementDir += forward*@as(Vec3d, @splat(-4)); + } } if(KeyBoard.key("left").pressed) { - movementSpeed = @max(movementSpeed, 4); - movementDir += right*@as(Vec3d, @splat(4)); + if(KeyBoard.key("sprint").pressed) { + if(Player.isGhost.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 128); + movementDir += right*@as(Vec3d, @splat(128)); + } else if(Player.isFlying.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 32); + movementDir += right*@as(Vec3d, @splat(32)); + } else { + movementSpeed = @max(movementSpeed, 4); + movementDir += right*@as(Vec3d, @splat(4)); + } + } else { + movementSpeed = @max(movementSpeed, 4); + movementDir += right*@as(Vec3d, @splat(4)); + } } if(KeyBoard.key("right").pressed) { - movementSpeed = @max(movementSpeed, 4); - movementDir += right*@as(Vec3d, @splat(-4)); + if(KeyBoard.key("sprint").pressed) { + if(Player.isGhost.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 128); + movementDir += right*@as(Vec3d, @splat(-128)); + } else if(Player.isFlying.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 32); + movementDir += right*@as(Vec3d, @splat(-32)); + } else { + movementSpeed = @max(movementSpeed, 4); + movementDir += right*@as(Vec3d, @splat(-4)); + } + } else { + movementSpeed = @max(movementSpeed, 4); + movementDir += right*@as(Vec3d, @splat(-4)); + } } if(KeyBoard.key("jump").pressed) { if(Player.isFlying.load(.monotonic)) { From 99f7b13722480a73e7fc78622de0377a2ffff467 Mon Sep 17 00:00:00 2001 From: ttmso Date: Tue, 10 Sep 2024 10:56:28 +0200 Subject: [PATCH 2/3] Improved the code --- src/game.zig | 75 +++++++++++----------------------------------------- 1 file changed, 15 insertions(+), 60 deletions(-) diff --git a/src/game.zig b/src/game.zig index 4f58bf3c6..ec5df6ab8 100644 --- a/src/game.zig +++ b/src/game.zig @@ -665,74 +665,29 @@ pub fn update(deltaTime: f64) void { // MARK: update() const right = Vec3d{-forward[1], forward[0], 0}; var movementDir: Vec3d = .{0, 0, 0}; var movementSpeed: f64 = 0; + if(KeyBoard.key("sprint").pressed) { + if(Player.isGhost.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 128); + } else if(Player.isFlying.load(.monotonic)) { + movementSpeed = @max(movementSpeed, 32); + } else { + movementSpeed = @max(movementSpeed, 8); + } + } else { + movementSpeed = @max(movementSpeed, 4); + } if(main.Window.grabbed) { if(KeyBoard.key("forward").pressed) { - if(KeyBoard.key("sprint").pressed) { - if(Player.isGhost.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 128); - movementDir += forward*@as(Vec3d, @splat(128)); - } else if(Player.isFlying.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 32); - movementDir += forward*@as(Vec3d, @splat(32)); - } else { - movementSpeed = @max(movementSpeed, 8); - movementDir += forward*@as(Vec3d, @splat(8)); - } - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += forward*@as(Vec3d, @splat(4)); - } + movementDir += forward*@as(Vec3d, @splat(movementSpeed)); } if(KeyBoard.key("backward").pressed) { - if(KeyBoard.key("sprint").pressed) { - if(Player.isGhost.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 128); - movementDir += forward*@as(Vec3d, @splat(-128)); - } else if(Player.isFlying.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 32); - movementDir += forward*@as(Vec3d, @splat(-32)); - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += forward*@as(Vec3d, @splat(-4)); - } - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += forward*@as(Vec3d, @splat(-4)); - } + movementDir += forward*@as(Vec3d, @splat(-movementSpeed)); } if(KeyBoard.key("left").pressed) { - if(KeyBoard.key("sprint").pressed) { - if(Player.isGhost.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 128); - movementDir += right*@as(Vec3d, @splat(128)); - } else if(Player.isFlying.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 32); - movementDir += right*@as(Vec3d, @splat(32)); - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += right*@as(Vec3d, @splat(4)); - } - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += right*@as(Vec3d, @splat(4)); - } + movementDir += right*@as(Vec3d, @splat(movementSpeed)); } if(KeyBoard.key("right").pressed) { - if(KeyBoard.key("sprint").pressed) { - if(Player.isGhost.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 128); - movementDir += right*@as(Vec3d, @splat(-128)); - } else if(Player.isFlying.load(.monotonic)) { - movementSpeed = @max(movementSpeed, 32); - movementDir += right*@as(Vec3d, @splat(-32)); - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += right*@as(Vec3d, @splat(-4)); - } - } else { - movementSpeed = @max(movementSpeed, 4); - movementDir += right*@as(Vec3d, @splat(-4)); - } + movementDir += right*@as(Vec3d, @splat(-movementSpeed)); } if(KeyBoard.key("jump").pressed) { if(Player.isFlying.load(.monotonic)) { From bbe6e88b7c31c5fafd6f20063d1c19b695e1de40 Mon Sep 17 00:00:00 2001 From: ttmso Date: Tue, 10 Sep 2024 18:29:10 +0200 Subject: [PATCH 3/3] Added a check --- src/game.zig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/game.zig b/src/game.zig index ec5df6ab8..54e9e41c5 100644 --- a/src/game.zig +++ b/src/game.zig @@ -671,7 +671,11 @@ pub fn update(deltaTime: f64) void { // MARK: update() } else if(Player.isFlying.load(.monotonic)) { movementSpeed = @max(movementSpeed, 32); } else { - movementSpeed = @max(movementSpeed, 8); + if(KeyBoard.key("forward").pressed) { + movementSpeed = @max(movementSpeed, 8); + } else { + movementSpeed = @max(movementSpeed, 4); + } } } else { movementSpeed = @max(movementSpeed, 4);