First commit
This commit is contained in:
commit
58c64ab472
62 changed files with 29291 additions and 0 deletions
177
src/mrdev023/gameengine/GameEngine.java
Normal file
177
src/mrdev023/gameengine/GameEngine.java
Normal file
|
@ -0,0 +1,177 @@
|
|||
package mrdev023.gameengine;
|
||||
|
||||
|
||||
import java.util.concurrent.*;
|
||||
|
||||
import org.lwjgl.opengl.*;
|
||||
|
||||
import mrdev023.audio.Audio;
|
||||
import mrdev023.entity.*;
|
||||
import mrdev023.gamestate.*;
|
||||
import mrdev023.gamestate.main.*;
|
||||
import mrdev023.opengl.*;
|
||||
import mrdev023.rendering.*;
|
||||
import mrdev023.utils.*;
|
||||
|
||||
public class GameEngine {
|
||||
|
||||
public static String TITLE = "";
|
||||
|
||||
private static GameState state = GameState.MAIN_MENU;
|
||||
private static boolean IsRunning = true;
|
||||
private static int FPS = 0,TICKS = 0;
|
||||
private static int FPS_LIMIT = 12000000;
|
||||
private static Camera camera = new Camera();
|
||||
private static Audio a;
|
||||
|
||||
public static void start(String title,int width,int height){
|
||||
TITLE = title;
|
||||
Display.create(title, width, height);
|
||||
Display.createContext();
|
||||
System.out.println("OpenGL " + GL11.glGetString(GL11.GL_VERSION));
|
||||
|
||||
init();
|
||||
loop();
|
||||
}
|
||||
|
||||
public static void init(){
|
||||
Audio.create();
|
||||
Shader.init();
|
||||
Texture.init();
|
||||
state.init();
|
||||
Timer.init();
|
||||
Input.init();
|
||||
DisplayManager.init();
|
||||
Timer.addTimer("info");
|
||||
Timer.addTimer("ticks");
|
||||
Timer.addTimer("fps");
|
||||
Display.setMouseGrabbed(true);
|
||||
try {
|
||||
a = new Audio("res/audio/test.ogg");
|
||||
System.err.println(a.getDurationInSeconds());
|
||||
a.playSound();
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void loop(){
|
||||
while(IsRunning){
|
||||
if(Display.isCloseRequested())IsRunning = false;
|
||||
if(Display.wasResized())GL11.glViewport(0, 0, Display.getDisplayMode().getWidth(), Display.getDisplayMode().getHeight());
|
||||
update();
|
||||
if(Timer.getNanoTime("ticks") >= 1000000000/60){
|
||||
Timer.deltaUpdate();
|
||||
Display.updateEvent();
|
||||
Input.update();
|
||||
state.updateKeyboard();
|
||||
state.updateMouse();
|
||||
state.update();
|
||||
TICKS++;
|
||||
Timer.setValue("ticks", Timer.getNanoTime("ticks") - 1000000000/60);
|
||||
}else if(Timer.getNanoTime("fps") >= 1000000000/FPS_LIMIT){
|
||||
DisplayManager.clearScreen();
|
||||
DisplayManager.preRender3D();
|
||||
DisplayManager.render3D();
|
||||
DisplayManager.preRender2D();
|
||||
DisplayManager.render2D();
|
||||
DisplayManager.preRenderGUI();
|
||||
DisplayManager.renderGUI();
|
||||
FPS++;
|
||||
Display.updateFrame();
|
||||
Timer.setValue("fps", Timer.getNanoTime("fps") - 1000000000/FPS_LIMIT);
|
||||
}
|
||||
|
||||
if(Timer.getMillisTime("info") >= 1000){
|
||||
Display.setTitle(TITLE + " | Fps:" + FPS + " Ticks:" + TICKS + " | " + camera.getPos() + " " + camera.getRot());
|
||||
System.out.println(a.getPosition());
|
||||
FPS = 0;
|
||||
TICKS = 0;
|
||||
Timer.setValue("info", Timer.getNanoTime("info") - 1000000000);
|
||||
}
|
||||
|
||||
}
|
||||
destroy();
|
||||
}
|
||||
|
||||
public static void update(){
|
||||
Timer.udpate();
|
||||
}
|
||||
|
||||
public static void destroy(){
|
||||
state.destroy();
|
||||
Input.destroy();
|
||||
Audio.destroy();
|
||||
Display.destroy();
|
||||
}
|
||||
|
||||
public static void changeGameState(GameState gameState){
|
||||
state.destroy();
|
||||
state = gameState;
|
||||
state.init();
|
||||
}
|
||||
|
||||
public static GameState getGameState(){
|
||||
return state;
|
||||
}
|
||||
|
||||
public static String getTITLE() {
|
||||
return TITLE;
|
||||
}
|
||||
|
||||
public static void setTITLE(String tITLE) {
|
||||
TITLE = tITLE;
|
||||
}
|
||||
|
||||
public static GameState getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public static void setState(GameState state) {
|
||||
GameEngine.state = state;
|
||||
}
|
||||
|
||||
public static boolean isIsRunning() {
|
||||
return IsRunning;
|
||||
}
|
||||
|
||||
public static void setIsRunning(boolean isRunning) {
|
||||
IsRunning = isRunning;
|
||||
}
|
||||
|
||||
public static int getFPS() {
|
||||
return FPS;
|
||||
}
|
||||
|
||||
public static void setFPS(int fPS) {
|
||||
FPS = fPS;
|
||||
}
|
||||
|
||||
public static int getTICKS() {
|
||||
return TICKS;
|
||||
}
|
||||
|
||||
public static void setTICKS(int tICKS) {
|
||||
TICKS = tICKS;
|
||||
}
|
||||
|
||||
public static int getFPS_LIMIT() {
|
||||
return FPS_LIMIT;
|
||||
}
|
||||
|
||||
public static void setFPS_LIMIT(int fPS_LIMIT) {
|
||||
FPS_LIMIT = fPS_LIMIT;
|
||||
}
|
||||
|
||||
public static Camera getCamera() {
|
||||
return camera;
|
||||
}
|
||||
|
||||
public static void setCamera(Camera camera) {
|
||||
GameEngine.camera = camera;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
7
src/mrdev023/gameengine/Settings.java
Normal file
7
src/mrdev023/gameengine/Settings.java
Normal file
|
@ -0,0 +1,7 @@
|
|||
package mrdev023.gameengine;
|
||||
|
||||
public class Settings {
|
||||
|
||||
public static float sens = 0.5f;
|
||||
|
||||
}
|
Reference in a new issue