1
0
Fork 0

First commit

This commit is contained in:
Florian 2015-12-23 18:38:34 +01:00
commit 58c64ab472
62 changed files with 29291 additions and 0 deletions

View 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;
}
}

View file

@ -0,0 +1,7 @@
package mrdev023.gameengine;
public class Settings {
public static float sens = 0.5f;
}