diff --git a/src/slaynash/sgengine/gui/button/GUIButton.java b/src/slaynash/sgengine/gui/button/GUIButton.java index fd591ec..2c431d5 100644 --- a/src/slaynash/sgengine/gui/button/GUIButton.java +++ b/src/slaynash/sgengine/gui/button/GUIButton.java @@ -81,7 +81,7 @@ public void render(){ if(event == null) event = new GUIButtonEvent(); listener.mouseEntered(event); } - text.setColour(textColorHover.r, textColorHover.g, textColorHover.b); + if(text != null) text.setColour(textColorHover.r, textColorHover.g, textColorHover.b); } if(mouseIn && isFocused()){ if(UserInputUtil.mouseLeftClicked()) for(GUIButtonListener listener : getGUIButtonListener()){ @@ -98,7 +98,7 @@ public void render(){ if(event == null) event = new GUIButtonEvent(); listener.mouseExited(event); } - text.setColour(textColor.r, textColor.g, textColor.b); + if(text != null) text.setColour(textColor.r, textColor.g, textColor.b); } } diff --git a/src/slaynash/sgengine/playercharacters/PlayerCharacterNoclip.java b/src/slaynash/sgengine/playercharacters/PlayerCharacterNoclip.java index 36046fe..a4b5235 100644 --- a/src/slaynash/sgengine/playercharacters/PlayerCharacterNoclip.java +++ b/src/slaynash/sgengine/playercharacters/PlayerCharacterNoclip.java @@ -3,6 +3,7 @@ import org.lwjgl.input.Mouse; import slaynash.sgengine.Configuration; +import slaynash.sgengine.inputs.ControllersControlManager; import slaynash.sgengine.inputs.KeyboardControlManager; import slaynash.sgengine.utils.DisplayManager; @@ -40,8 +41,8 @@ public void update() { } private void updateAimDir() { - yaw -= (Mouse.getDX())*0.01f*Configuration.getMouseSensibility(); - pitch += (Mouse.getDY())*0.01f*Configuration.getMouseSensibility(); + yaw -= (Mouse.getDX())*0.01f*Configuration.getMouseSensibility() + ControllersControlManager.getValue(0, "cameraX")*.005f*DisplayManager.getFrameTime(); + pitch += (Mouse.getDY())*0.01f*Configuration.getMouseSensibility() + ControllersControlManager.getValue(0, "cameraY")*.005f*DisplayManager.getFrameTime(); if (yaw >= PI*2f){ yaw -= PI*2f; @@ -100,5 +101,11 @@ else if(KeyboardControlManager.isPressed("crouch")) up = -WALK_SPEED; else up = 0; } + + forward += -ControllersControlManager.getValue(0, "forward")*WALK_SPEED; + left += ControllersControlManager.getValue(0, "right")*WALK_SPEED; + + up += ControllersControlManager.isPressed(0, "jump")?WALK_SPEED:0; + up -= ControllersControlManager.isPressed(0, "crouch")?WALK_SPEED:0; } } diff --git a/src/slaynash/sgengine/utils/SceneManager.java b/src/slaynash/sgengine/utils/SceneManager.java index 930294b..7ab85ce 100644 --- a/src/slaynash/sgengine/utils/SceneManager.java +++ b/src/slaynash/sgengine/utils/SceneManager.java @@ -207,7 +207,7 @@ else if(nextScene != null){ start(); } else{ - changePage(); + changeScene(); } } try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(LogSystem.getErrStream()); } @@ -243,11 +243,11 @@ private static void start() { * End current render loop, clear the current GamePage and start a new GamePage instance with his render * @param page is the GamePage to start */ - public static void changePage(Class page){ + public static void changeScene(Class page){ nextScene = page; } - private static void changePage(){ + private static void changeScene(){ LogSystem.out_println("[SceneManager] Changing page from "+currentScene.getClass()+" to "+nextScene); stop(); start();