From 0939c047ada7a5f76581b82f4b79b1f5069def0d Mon Sep 17 00:00:00 2001 From: Azra Victor Date: Thu, 10 Jun 2021 13:28:58 +0200 Subject: [PATCH 1/8] small changes in match --- src/gameplay/Characters/Blue/BlueBaseFrames.java | 2 +- src/gameplay/match/match.java | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/gameplay/Characters/Blue/BlueBaseFrames.java b/src/gameplay/Characters/Blue/BlueBaseFrames.java index 284e4ca..d8ebe93 100644 --- a/src/gameplay/Characters/Blue/BlueBaseFrames.java +++ b/src/gameplay/Characters/Blue/BlueBaseFrames.java @@ -35,7 +35,7 @@ public class BlueBaseFrames { pthb.add(bStandPTHB1); Frame blueStandframe1 = new Frame(0.0,0.0,phb,new ArrayList(),pthb,new ArrayList(), bStandPB1,true,true,true,true,true); - blueStandframe1.setSpriteWrap(112,0,112,120); + blueStandframe1.setSpriteWrap(0,0,112,120); return blueStandframe1; } diff --git a/src/gameplay/match/match.java b/src/gameplay/match/match.java index c39516c..181277b 100644 --- a/src/gameplay/match/match.java +++ b/src/gameplay/match/match.java @@ -41,7 +41,7 @@ public class match { /** * the level of the "ground", used to determine if a character is in the air or not. */ - private static final int groundLevel = 200; + private static final int groundLevel = 1700; private static int timer; private static InputBuffer inputsP1, inputsP2; @@ -69,10 +69,10 @@ public class match { timer = 99; inputsP1 = new InputBuffer(inputBufferSize); inputsP2 = new InputBuffer(inputBufferSize); - p1.setPos(-750, groundLevel); //TODO : change to better values if needed - p2.setPos(-750, groundLevel); //TODO : change to better values if needed - objP1.translate(new Vector3f(p1.getPosX(),p1.getPosY(),0)); - objP1.translate(new Vector3f(p2.getPosX(),p2.getPosY(),0)); + p1.setPos(-2222250, groundLevel); //TODO : change to better values if needed + p2.setPos(222250, groundLevel); //TODO : change to better values if needed + objP1.translate(new Vector3f((float)p1.getPosX(),(float)p1.getPosY(),1f)); + objP1.translate(new Vector3f((float)p2.getPosX(),(float)p2.getPosY(),2f)); } /** @@ -242,9 +242,11 @@ public class match { //read both players inputs case 20: - if (glfwJoystickPresent(GLFW_JOYSTICK_1) && glfwJoystickPresent(GLFW_JOYSTICK_2)) { + if (glfwJoystickPresent(GLFW_JOYSTICK_1)) { gamepad1.inputRefresh(); inputsP1.recordInputsFromGamepad(gamepad1, p1.getPosX() < p2.getPosX()); + } + if(glfwJoystickPresent(GLFW_JOYSTICK_2)) { gamepad2.inputRefresh(); inputsP2.recordInputsFromGamepad(gamepad2, p2.getPosX() <= p1.getPosX()); } From 0d5aaad4f0a94e9910d281c79cee6912ddecff3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o?= Date: Thu, 10 Jun 2021 14:44:46 +0200 Subject: [PATCH 2/8] =?UTF-8?q?erreur=20d'inputRefresh=20contr=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/gameplay/match/match.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6a80a64..5593d30 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ 3.2.3 - natives-linux + natives-windows 11 diff --git a/src/gameplay/match/match.java b/src/gameplay/match/match.java index 181277b..a046db2 100644 --- a/src/gameplay/match/match.java +++ b/src/gameplay/match/match.java @@ -243,10 +243,12 @@ public class match { //read both players inputs case 20: if (glfwJoystickPresent(GLFW_JOYSTICK_1)) { + gamepad1 = new GamepadInput(GLFW_JOYSTICK_1); gamepad1.inputRefresh(); inputsP1.recordInputsFromGamepad(gamepad1, p1.getPosX() < p2.getPosX()); } if(glfwJoystickPresent(GLFW_JOYSTICK_2)) { + gamepad2 = new GamepadInput(GLFW_JOYSTICK_2); gamepad2.inputRefresh(); inputsP2.recordInputsFromGamepad(gamepad2, p2.getPosX() <= p1.getPosX()); } From 4ad12a3a59d9dc6f3b5a8141841c5ca93ecd9d64 Mon Sep 17 00:00:00 2001 From: no Date: Thu, 10 Jun 2021 13:54:16 +0200 Subject: [PATCH 3/8] small change in gameplay.inputbuffer to hopefully prevent stack overflows. --- src/gameplay/input/InputBuffer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gameplay/input/InputBuffer.java b/src/gameplay/input/InputBuffer.java index c7323c8..d2685cc 100644 --- a/src/gameplay/input/InputBuffer.java +++ b/src/gameplay/input/InputBuffer.java @@ -122,7 +122,7 @@ public class InputBuffer { ret = true; search = false; } else { - if(backCounter == pastFramesToCheck) { + if(backCounter >= pastFramesToCheck) { ret = false; search = false; } @@ -132,8 +132,9 @@ public class InputBuffer { else {frameToCheck = startFrameCount - backCounter;} } } - startFrameCount = frameToCheck; + } + startFrameCount = frameToCheck; } return ret; From ea4762c50eafc1a35563c95c8704816265c5c680 Mon Sep 17 00:00:00 2001 From: Azra Victor Date: Thu, 10 Jun 2021 14:06:15 +0200 Subject: [PATCH 4/8] small error corrections --- src/gameplay/frames/nextFrameBuffer.java | 9 +++++++-- src/gameplay/input/InputBuffer.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/gameplay/frames/nextFrameBuffer.java b/src/gameplay/frames/nextFrameBuffer.java index 49c3b06..7c1b8a6 100644 --- a/src/gameplay/frames/nextFrameBuffer.java +++ b/src/gameplay/frames/nextFrameBuffer.java @@ -40,8 +40,13 @@ public class nextFrameBuffer { } public void goToNext() { - this.current = this.next.current; - this.next = this.next.next; + try { + this.current = this.next.current; + this.next = this.next.next; + } catch (NullPointerException n) { + this.setCurrentFrame(null); + this.setNext(new nextFrameBuffer()); + } } public Frame getCurrentFrame() { diff --git a/src/gameplay/input/InputBuffer.java b/src/gameplay/input/InputBuffer.java index d2685cc..097cb4d 100644 --- a/src/gameplay/input/InputBuffer.java +++ b/src/gameplay/input/InputBuffer.java @@ -112,7 +112,7 @@ public class InputBuffer { } catch (ArrayIndexOutOfBoundsException e ) { return true; } - for(int i = command.length - 2; i <= 0 && ret; i--) { + for(int i = command.length - 2; i >= 0 && ret; i--) { backCounter = 1; if(startFrameCount - backCounter < 0) {frameToCheck = this.size - (backCounter - startFrameCount);} else {frameToCheck = startFrameCount - backCounter;} From f6d44128b234f0378d762468407180268b36f691 Mon Sep 17 00:00:00 2001 From: no Date: Thu, 10 Jun 2021 14:20:14 +0200 Subject: [PATCH 5/8] trying to avoid a stack overflow in nextFrameBuffer --- src/gameplay/frames/nextFrameBuffer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gameplay/frames/nextFrameBuffer.java b/src/gameplay/frames/nextFrameBuffer.java index 7c1b8a6..044174c 100644 --- a/src/gameplay/frames/nextFrameBuffer.java +++ b/src/gameplay/frames/nextFrameBuffer.java @@ -41,8 +41,10 @@ public class nextFrameBuffer { public void goToNext() { try { + nextFrameBuffer nfb = new nextFrameBuffer(); + nfb.clone(this.next); this.current = this.next.current; - this.next = this.next.next; + this.next.clone(nfb); } catch (NullPointerException n) { this.setCurrentFrame(null); this.setNext(new nextFrameBuffer()); From b363cbc9c7a4e5939ecc0a174bb93e41c18d3db9 Mon Sep 17 00:00:00 2001 From: Antoine Date: Thu, 10 Jun 2021 14:22:45 +0200 Subject: [PATCH 6/8] Meilleur gestion d'erreur dans Engine.init() --- src/engine/Engine.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/Engine.java b/src/engine/Engine.java index 8b84449..2f4be33 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -66,7 +66,7 @@ public class Engine { */ public void init() { if (!glfwInit()){ - System.exit(1); + System.exit(-1); } this.running = true; @@ -83,7 +83,7 @@ public class Engine { assert getWindow() != NULL; boolean present = glfwJoystickPresent(GLFW_JOYSTICK_1); - System.out.println("Manette détectée : " + present); + System.out.println("Manette détectée: " + present); // On récupère les informations du moniteur principal GLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); From ce0bbf20b46ce3a868ec36958006948183320977 Mon Sep 17 00:00:00 2001 From: Antoine Date: Thu, 10 Jun 2021 15:16:56 +0200 Subject: [PATCH 7/8] Premier fix il faut encore corriger le clignotement --- src/gameplay/match/match.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/gameplay/match/match.java b/src/gameplay/match/match.java index c39516c..77b9f62 100644 --- a/src/gameplay/match/match.java +++ b/src/gameplay/match/match.java @@ -70,9 +70,9 @@ public class match { inputsP1 = new InputBuffer(inputBufferSize); inputsP2 = new InputBuffer(inputBufferSize); p1.setPos(-750, groundLevel); //TODO : change to better values if needed - p2.setPos(-750, groundLevel); //TODO : change to better values if needed + p2.setPos((int) (750 - objP2.getWidth() * objP2.getScalingFactor()), groundLevel); //TODO : change to better values if needed objP1.translate(new Vector3f(p1.getPosX(),p1.getPosY(),0)); - objP1.translate(new Vector3f(p2.getPosX(),p2.getPosY(),0)); + objP2.translate(new Vector3f(p2.getPosX(),p2.getPosY(),0)); } /** @@ -178,10 +178,10 @@ public class match { engine.add_objectGl(objP2); f = p1.getCurrentframe(); - objP1.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.STICK_TOP); + objP1.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.DEFAULT); f = p2.getCurrentframe(); - objP2.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.STICK_TOP); + objP2.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.DEFAULT); objP2.flipTextureWrapH(); if (Joystick1Present) { @@ -197,7 +197,7 @@ public class match { } private static void ac(int i) { - System.out.println(i); +// System.out.println(i); switch (i) { //initiate a round @@ -278,11 +278,12 @@ public class match { updatePos(p1); updatePos(p2); f = p1.getCurrentframe(); - objP1.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.STICK_TOP); - objP1.translate(new Vector3f(p1.getPosX()-oldPosXp1,p1.getPosY()-oldPosYp1,0)); + objP1.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.DEFAULT); + objP1.translate(new Vector3f(p1.getPosX() - oldPosXp1,p1.getPosY() - oldPosYp1,0)); f = p2.getCurrentframe(); - objP2.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.STICK_TOP); - objP2.translate(new Vector3f(p2.getPosX()-oldPosXp2,p2.getPosY()-oldPosYp2,0)); + objP2.setTextureWrap(f.getSprite()[0], f.getSprite()[1], f.getSprite()[2], f.getSprite()[3], ObjectGl.DEFAULT); + objP2.translate(new Vector3f(p2.getPosX() - oldPosXp2,p2.getPosY() - oldPosYp2,0)); + System.out.println(p1.getPosX()); boolean p1LooksRight = p1.getPosX() < p2.getPosX(); if(p1LooksRight) { From 50a32512b74676b53418738b6156a5c7e306a07c Mon Sep 17 00:00:00 2001 From: Antoine Date: Thu, 10 Jun 2021 15:20:20 +0200 Subject: [PATCH 8/8] Premier fix --- src/gameplay/match/match.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gameplay/match/match.java b/src/gameplay/match/match.java index 3c6329b..cc4535e 100644 --- a/src/gameplay/match/match.java +++ b/src/gameplay/match/match.java @@ -41,7 +41,7 @@ public class match { /** * the level of the "ground", used to determine if a character is in the air or not. */ - private static final int groundLevel = 1700; + private static final int groundLevel = -400; private static int timer; private static InputBuffer inputsP1, inputsP2; @@ -70,9 +70,9 @@ public class match { inputsP1 = new InputBuffer(inputBufferSize); inputsP2 = new InputBuffer(inputBufferSize); p1.setPos(-750, groundLevel); //TODO : change to better values if needed - p2.setPos(-750, groundLevel); //TODO : change to better values if needed + p2.setPos((int) (750 - objP2.getWidth() * objP2.getScalingFactor()), groundLevel); //TODO : change to better values if needed objP1.translate(new Vector3f(p1.getPosX(),p1.getPosY(),0)); - objP1.translate(new Vector3f(p2.getPosX(),p2.getPosY(),0)); + objP2.translate(new Vector3f(p2.getPosX(),p2.getPosY(),0)); } /**