Created a more efficient rotation function
This commit is contained in:
parent
3a25f34520
commit
90c7707e5a
|
|
@ -86,7 +86,7 @@ public class AudioObject
|
||||||
double z = pos.z;
|
double z = pos.z;
|
||||||
|
|
||||||
// Calculate the rotation
|
// Calculate the rotation
|
||||||
Vec2d rotated = MathHelpers.rotate2(new Vec2d(x, y), angle_r);
|
Vec2d rotated = MathHelpers.rotate2(new Vec2d(x, y), -angle_r);
|
||||||
x = rotated.x;
|
x = rotated.x;
|
||||||
y = rotated.y;
|
y = rotated.y;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,6 @@
|
||||||
package shootergame.display;
|
package shootergame.display;
|
||||||
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_COLOR_BUFFER_BIT;
|
import static org.lwjgl.opengl.GL33.*;
|
||||||
import static org.lwjgl.opengl.GL11.GL_DEPTH_BUFFER_BIT;
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_MODELVIEW;
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA;
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_SRC_ALPHA;
|
|
||||||
import static org.lwjgl.opengl.GL11.glBlendFunc;
|
|
||||||
import static org.lwjgl.opengl.GL11.glClear;
|
|
||||||
import static org.lwjgl.opengl.GL11.glLoadMatrixf;
|
|
||||||
import static org.lwjgl.opengl.GL11.glMatrixMode;
|
|
||||||
import static org.lwjgl.opengl.GL11.glViewport;
|
|
||||||
|
|
||||||
import org.joml.Matrix4f;
|
import org.joml.Matrix4f;
|
||||||
import org.lwjgl.opengl.GL;
|
import org.lwjgl.opengl.GL;
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,8 @@ public class DisplayWindow implements IMainloopTask
|
||||||
|
|
||||||
// Set the window hint
|
// Set the window hint
|
||||||
GLFW.glfwWindowHint(GLFW.GLFW_VISIBLE, GLFW.GLFW_FALSE);
|
GLFW.glfwWindowHint(GLFW.GLFW_VISIBLE, GLFW.GLFW_FALSE);
|
||||||
|
GLFW.glfwWindowHint(GLFW.GLFW_VERSION_MAJOR, 3);
|
||||||
|
GLFW.glfwWindowHint(GLFW.GLFW_VERSION_MINOR, 3);
|
||||||
|
|
||||||
// Create the window
|
// Create the window
|
||||||
this.window = GLFW.glfwCreateWindow(this.width, this.height, this.name, monitor, 0);
|
this.window = GLFW.glfwCreateWindow(this.width, this.height, this.name, monitor, 0);
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import shootergame.display.bossbar.IBossBar;
|
||||||
import shootergame.init.Items;
|
import shootergame.init.Items;
|
||||||
import shootergame.init.Textures;
|
import shootergame.init.Textures;
|
||||||
import shootergame.init.Tiles;
|
import shootergame.init.Tiles;
|
||||||
import shootergame.tiles.Tile;
|
|
||||||
import shootergame.time.GameTimer;
|
import shootergame.time.GameTimer;
|
||||||
import shootergame.util.gl.texture.TextureReference;
|
import shootergame.util.gl.texture.TextureReference;
|
||||||
import shootergame.util.math.ItemStack;
|
import shootergame.util.math.ItemStack;
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,6 @@ public class ParticleBlood extends EntityParticle
|
||||||
// Call super
|
// Call super
|
||||||
super.tick(chunk, layer);
|
super.tick(chunk, layer);
|
||||||
|
|
||||||
Main.player.setHealth(100);
|
|
||||||
|
|
||||||
// Move in the velocity and remove some of it
|
// Move in the velocity and remove some of it
|
||||||
pos.x += velocity.x;
|
pos.x += velocity.x;
|
||||||
pos.y += velocity.y;
|
pos.y += velocity.y;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ import shootergame.entity.EntityHeight;
|
||||||
import shootergame.entity.EntityInventory;
|
import shootergame.entity.EntityInventory;
|
||||||
import shootergame.entity.EntityItem;
|
import shootergame.entity.EntityItem;
|
||||||
import shootergame.entity.EntityVertical;
|
import shootergame.entity.EntityVertical;
|
||||||
import shootergame.init.Items;
|
|
||||||
import shootergame.init.Textures;
|
import shootergame.init.Textures;
|
||||||
import shootergame.inventory.Inventory;
|
import shootergame.inventory.Inventory;
|
||||||
import shootergame.util.gl.GlHelpers;
|
import shootergame.util.gl.GlHelpers;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,20 @@
|
||||||
package shootergame.input;
|
package shootergame.input;
|
||||||
|
|
||||||
import java.io.IOException;
|
import static shootergame.input.GameInput.activateItem_last;
|
||||||
|
import static shootergame.input.GameInput.activateTile_last;
|
||||||
|
import static shootergame.input.GameInput.dropItem_last;
|
||||||
|
import static shootergame.input.GameInput.fireGun;
|
||||||
|
import static shootergame.input.GameInput.hotbar_l;
|
||||||
|
import static shootergame.input.GameInput.hotbar_r;
|
||||||
|
import static shootergame.input.GameInput.moveDown;
|
||||||
|
import static shootergame.input.GameInput.moveUp;
|
||||||
|
import static shootergame.input.GameInput.move_last;
|
||||||
|
import static shootergame.input.GameInput.startButton_last;
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import static shootergame.input.GameInput.*;
|
|
||||||
|
|
||||||
import org.lwjgl.glfw.GLFW;
|
import org.lwjgl.glfw.GLFW;
|
||||||
import org.lwjgl.glfw.GLFWJoystickCallbackI;
|
import org.lwjgl.glfw.GLFWJoystickCallbackI;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,27 @@
|
||||||
package shootergame.input;
|
package shootergame.input;
|
||||||
|
|
||||||
import static org.lwjgl.glfw.GLFW.*;
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_1;
|
||||||
import static shootergame.input.GameInput.*;
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_2;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_3;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_4;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_5;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_6;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_A;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_D;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_E;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_ENTER;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_ESCAPE;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_Q;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_RIGHT_SHIFT;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_S;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_KEY_W;
|
||||||
|
import static org.lwjgl.glfw.GLFW.GLFW_RELEASE;
|
||||||
|
import static shootergame.input.GameInput.fireGun;
|
||||||
|
import static shootergame.input.GameInput.moveDown;
|
||||||
|
import static shootergame.input.GameInput.moveLeft;
|
||||||
|
import static shootergame.input.GameInput.moveRight;
|
||||||
|
import static shootergame.input.GameInput.moveUp;
|
||||||
|
import static shootergame.input.GameInput.move_last;
|
||||||
|
|
||||||
import org.lwjgl.glfw.GLFWKeyCallbackI;
|
import org.lwjgl.glfw.GLFWKeyCallbackI;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package shootergame.input.types;
|
package shootergame.input.types;
|
||||||
|
|
||||||
import shootergame.Main;
|
import shootergame.Main;
|
||||||
import shootergame.menu.MenuGame;
|
|
||||||
import shootergame.menu.MenuGamePause;
|
import shootergame.menu.MenuGamePause;
|
||||||
import shootergame.util.math.MathHelpers;
|
import shootergame.util.math.MathHelpers;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
package shootergame.input.types;
|
package shootergame.input.types;
|
||||||
|
|
||||||
import shootergame.Main;
|
|
||||||
|
|
||||||
public class InputMenu implements Input
|
public class InputMenu implements Input
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package shootergame.time;
|
||||||
|
|
||||||
import java.awt.AWTException;
|
import java.awt.AWTException;
|
||||||
import java.awt.Robot;
|
import java.awt.Robot;
|
||||||
import java.awt.event.InputEvent;
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
import mainloop.task.IMainloopTask;
|
import mainloop.task.IMainloopTask;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package shootergame.util.gl;
|
package shootergame.util.gl;
|
||||||
|
|
||||||
import static org.lwjgl.opengl.GL11.*;
|
import static org.lwjgl.opengl.GL33.*;
|
||||||
|
|
||||||
import shootergame.Main;
|
import shootergame.Main;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,16 +84,28 @@ public class MathHelpers
|
||||||
else return a;
|
else return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
def rotate(point, angle):
|
||||||
|
angle = angle * (math.pi/180)
|
||||||
|
s = math.sin(angle)
|
||||||
|
c = math.cos(angle)
|
||||||
|
x = point[0] * c - point[1] * s
|
||||||
|
y = point[0] * s + point[1] * c
|
||||||
|
return [x, y]
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
public static Vec2d rotate2(Vec2d pos, double angle)
|
public static Vec2d rotate2(Vec2d pos, double angle)
|
||||||
{
|
{
|
||||||
// Get the angle and the distance from the centre to the point
|
// Calculate 2 sin and cos values
|
||||||
double p_angle = Math.atan2(pos.y, pos.x);
|
double s = Math.sin(angle);
|
||||||
double p_distance = Math.sqrt(pos.y*pos.y + pos.x*pos.x);
|
double c = Math.cos(angle);
|
||||||
|
|
||||||
// Return and calculate the new positions
|
// Return and calculate the new positions
|
||||||
return new Vec2d(
|
return new Vec2d(
|
||||||
p_distance * Math.sin(angle + p_angle),
|
pos.x * c - pos.y * s,
|
||||||
p_distance * Math.cos(angle + p_angle));
|
pos.x * s + pos.y * c);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double biggest(double a, double b)
|
public static double biggest(double a, double b)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue