From 8bad3894dc2cc205b128bc91c8684c64bc8ae20e Mon Sep 17 00:00:00 2001 From: lustlion Date: Sat, 26 Feb 2022 21:19:54 +0100 Subject: [PATCH] a, clean --- code/entities/player.lua | 2 +- e82fdc16_0001-walljumps.patch | 89 +++++++++++++++++++++++++ unused slash dev/to_do.txt | 120 +++++++++++++++++----------------- 3 files changed, 150 insertions(+), 61 deletions(-) create mode 100644 e82fdc16_0001-walljumps.patch diff --git a/code/entities/player.lua b/code/entities/player.lua index 824cc25..f3c1847 100644 --- a/code/entities/player.lua +++ b/code/entities/player.lua @@ -91,7 +91,7 @@ function Player:Smart() self.move_x = self.moveSpeed end - -- jump if on ground (coyotevalue) + -- jump if on ground (coyotevalue) or if on wall (wallHit) if Keybind:CheckDown(Keybind.move.jump) then if self.coyoteValue > 0 then self.vel.y = -self.jumpImpulse diff --git a/e82fdc16_0001-walljumps.patch b/e82fdc16_0001-walljumps.patch new file mode 100644 index 0000000..7408842 --- /dev/null +++ b/e82fdc16_0001-walljumps.patch @@ -0,0 +1,89 @@ +From 1d8685c91e64daedfef9607ec122c3de05be36e5 Mon Sep 17 00:00:00 2001 +From: binarycat +Date: Sat, 26 Feb 2022 15:12:25 -0500 +Subject: [PATCH] walljumps + +--- + code/debug.lua | 1 + + code/entities/player.lua | 12 ++++++++++++ + code/entity.lua | 3 ++- + 3 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/code/debug.lua b/code/debug.lua +index 5a9e094..68c61cf 100644 +--- a/code/debug.lua ++++ b/code/debug.lua +@@ -22,6 +22,7 @@ function DebugUI() + end + end + -- player isOnGroundCheck ++ --love.graphics.main_Player + love.graphics.setColor(1,0,0) + end + +diff --git a/code/entities/player.lua b/code/entities/player.lua +index ea2d811..824cc25 100644 +--- a/code/entities/player.lua ++++ b/code/entities/player.lua +@@ -14,6 +14,8 @@ function Player:New(x,y) + + o.jumpImpulse = 3.5 -- gameworld pixels + ++ self.wallJumpImpulse = { x = 2.5, y = 3.5 } ++ + o.coyoteAmount = 5 -- int + o.coyoteValue = 5 -- frames + +@@ -46,6 +48,7 @@ function Player:New(x,y) + o.canFall = true + o.canFriction = true + o.maskType = animation.moth_mask ++ o.wallHit = 0 + + o.anchorRespawn = { + x = o.pos.x, +@@ -93,6 +96,9 @@ function Player:Smart() + if self.coyoteValue > 0 then + self.vel.y = -self.jumpImpulse + self.coyoteValue = 0 ++ elseif self.wallHit ~= 0 then ++ self.vel.y = -self.wallJumpImpulse.y ++ self.vel.x = -self.wallJumpImpulse.x * self.wallHit + end + end + end +@@ -233,7 +239,9 @@ function Player:DoPhysics() + -- horizontal collision + if not self:isCollidingAt(self.pos.x + self.vel.x + self.move_x, self.pos.y, LoadedObjects.Collisions) then + self.pos.x = self.pos.x + self.vel.x + self.move_x ++ self.wallHit = 0 + else ++ self.wallHit = math.sign(self.vel.x + self.move_x) + self.vel.x = 0 + end + +@@ -313,3 +321,7 @@ function Player:Unhook() + self.isHooked = false + self.hookAnchor = nil + end ++ ++function Player:Debug() ++ love.graphics.print("wallHit: "..self.wallHit) ++end +diff --git a/code/entity.lua b/code/entity.lua +index 9bb582f..b43df21 100644 +--- a/code/entity.lua ++++ b/code/entity.lua +@@ -158,7 +158,8 @@ function Entity:getBoundingBox(animation,top,left,bottom,right) + self.boxCollision.to.y = animation.imgs[1]:getHeight()/2 + bottom + end + +--- returns true if theres a collision at that point. also marks collisioned tile as collision true ++-- checks if the the reciever would collide with an object if it was positioned at the given point. ++-- also marks collisioned tile as collision true + function Entity:isCollidingAt(x,y,object) + for _, collision in pairs(object) do + if collision.disable then +-- +2.35.1 + diff --git a/unused slash dev/to_do.txt b/unused slash dev/to_do.txt index 5efdc04..5e7aa14 100644 --- a/unused slash dev/to_do.txt +++ b/unused slash dev/to_do.txt @@ -1,69 +1,69 @@ (*) Ideas - ( ) DO FLIES - ( ) DO UI - ( ) DO DAMAGE TO PLAYER + ( ) DO FLIES + ( ) DO UI + ( ) DO DAMAGE TO PLAYER ( ) Visual design - (~) Multicolor palette depending on area, with 3 main colors - (X) Library: Gold #fed100 - ( ) - ( ) Dialog - ( ) Fonts - ( ) Characters - ( ) Level design - ( ) Enemy design + (~) Multicolor palette depending on area, with 3 main colors + (X) Library: Gold #fed100 + ( ) + ( ) Dialog + ( ) Fonts + ( ) Characters + ( ) Level design + ( ) Enemy design ( ) Gameplay design - ( ) Level design - ( ) Mechanic design - (X) Swing hook - ( ) Entity design - (~) FAIRY - (X) basic movement - (X) Fairy particles~~ - ( ) more intelligent movement - ( ) avoid getting stuck to walls - ( ) Playtest tools + ( ) Level design + ( ) Mechanic design + (X) Swing hook + ( ) Entity design + (~) FAIRY + (X) basic movement + (X) Fairy particles~~ + ( ) more intelligent movement + ( ) avoid getting stuck to walls + ( ) Playtest tools ( ) Technical design - (?) Input - (X) ADDED KEYBINDS - ( ) - (?) Draw - (X) REHANDLE ANIMATIONS - (X) MAKE LIGHTING SYSTEM - (X) Pixel perfect entity drawing - ( ) Pixel perfect lights - (?) Player - (X) MASKS FUNCTIONALITY - ( ) - (?) Physics - (X) MAKE PHYSICS CONSISTENT - (X) MAKE HITBOXES - (X) PHYSICS BY FRAME - (X) DEACTIVATE ARROWS WHEN STUCK - ( ) - (~) Dialog - (X) Object and Basics - ( ) Fix font and align problems - ( ) Implement portrait - (X) Translating framework - ( ) Debug tools - ( ) Audio and BGM - (~) REMAKE LEVEL EDITOR - (~) ADD WAY TO EDIT A LEVEL (EDITOR MODE) - (X) SHOW PALETTE - (X) PICK UP TILE FROM PALETTE - (X) PLACE PICKED UP TILE - ( ) WAY TO INSERT ENTITIES IN THE LEVEL - (X) ADD WAY TO SAVE A LEVEL + (?) Input + (X) ADDED KEYBINDS + ( ) + (?) Draw + (X) REHANDLE ANIMATIONS + (X) MAKE LIGHTING SYSTEM + (X) Pixel perfect entity drawing + ( ) Pixel perfect lights + (?) Player + (X) MASKS FUNCTIONALITY + ( ) + (?) Physics + (X) MAKE PHYSICS CONSISTENT + (X) MAKE HITBOXES + (X) PHYSICS BY FRAME + (X) DEACTIVATE ARROWS WHEN STUCK + ( ) + (~) Dialog + (X) Object and Basics + ( ) Fix font and align problems + ( ) Implement portrait + (X) Translating framework + ( ) Debug tools + ( ) Audio and BGM + (~) REMAKE LEVEL EDITOR + (~) ADD WAY TO EDIT A LEVEL (EDITOR MODE) + (X) SHOW PALETTE + (X) PICK UP TILE FROM PALETTE + (X) PLACE PICKED UP TILE + ( ) WAY TO INSERT ENTITIES IN THE LEVEL + (X) ADD WAY TO SAVE A LEVEL ( ) Narrative design - ( ) Dialog - ( ) Characters - ( ) Area design - ( ) Translations - ( ) SPA "es_ES" - ( ) ENG "en_UK" - ( ) CAT "ca_ES" - ( ) HEON "Myrheonian" + ( ) Dialog + ( ) Characters + ( ) Area design + ( ) Translations + ( ) SPA "es_ES" + ( ) ENG "en_UK" + ( ) CAT "ca_ES" + ( ) HEON "Myrheonian"