diff --git a/log.txt b/log.txt index 49a141e..0d3f635 100644 --- a/log.txt +++ b/log.txt @@ -1 +1,18 @@ -2007-04-08 17:55:07:843 # Loading texture: data/units/tank.png +2007-04-12 15:05:12:500 # Loading texture: data/map/sand.jpg +2007-04-12 15:05:13:015 # Loading texture: data/cursor/cursor.png +2007-04-12 15:05:13:203 # Loading texture: data/units/tank.png +2007-04-12 15:05:13:625 # Adding State: InGameState +2007-04-12 15:05:13:625 # Loading texture: data/loadbar_front.png +2007-04-12 15:05:13:734 # Loading texture: data/loadbar.png +2007-04-12 15:05:13:750 # Loading texture: data/loadbar_back.png +2007-04-12 15:05:13:765 # Adding State: LoadingState +2007-04-12 15:05:13:781 # Loading texture: data/splash.png +2007-04-12 15:05:14:531 # Adding State: SplashState +2007-04-12 15:05:14:531 # Enabling(true) State: SplashState +2007-04-12 15:05:20:968 # Removing State: SplashState +2007-04-12 15:05:20:968 # Enabling(true) State: LoadingState +2007-04-12 15:05:22:593 # Removing State: LoadingState +2007-04-12 15:05:22:593 # Enabling(true) State: InGameState +2007-04-12 15:05:24:562 # Moving: 2, 1 +2007-04-12 15:05:25:781 # Moving: 1, 1 +2007-04-12 15:05:26:234 # Moving: 4, 3 diff --git a/raw/media/splash.xcf b/raw/media/splash.xcf new file mode 100644 index 0000000..e39d46d Binary files /dev/null and b/raw/media/splash.xcf differ diff --git a/src/data/splash.png b/src/data/splash.png new file mode 100644 index 0000000..2057411 Binary files /dev/null and b/src/data/splash.png differ diff --git a/src/ei/engine/effects/Fade.java b/src/ei/engine/effects/Fade.java index dd9b7e5..7753e62 100644 --- a/src/ei/engine/effects/Fade.java +++ b/src/ei/engine/effects/Fade.java @@ -57,7 +57,6 @@ public class Fade extends Entity{ life += fade; } entity.update(); - System.out.println(life); } public void setEntity(Entity e){ diff --git a/src/ei/engine/state/GameState.java b/src/ei/engine/state/GameState.java index 8fd75e6..932f434 100644 --- a/src/ei/engine/state/GameState.java +++ b/src/ei/engine/state/GameState.java @@ -1,6 +1,7 @@ package ei.engine.state; import ei.engine.input.InputHandler; +import ei.engine.util.MultiPrintStream; public abstract class GameState { private String name; @@ -27,6 +28,7 @@ public abstract class GameState { */ public void setEnabled(boolean b){ enabled = b; + MultiPrintStream.out.println("Enabling("+b+") State: "+getName()); } /** diff --git a/src/ei/engine/state/GameStateManager.java b/src/ei/engine/state/GameStateManager.java index 47d4f45..0cb1917 100644 --- a/src/ei/engine/state/GameStateManager.java +++ b/src/ei/engine/state/GameStateManager.java @@ -2,6 +2,8 @@ package ei.engine.state; import java.util.ArrayList; +import ei.engine.util.MultiPrintStream; + public class GameStateManager { private static GameStateManager instance; private ArrayList gameStates; @@ -17,6 +19,7 @@ public class GameStateManager { */ public boolean addState(GameState g){ if(!gameStates.contains(g)){ + MultiPrintStream.out.println("Adding State: "+g.getName()); gameStates.add(g); return true; } @@ -30,6 +33,7 @@ public class GameStateManager { */ public boolean removeState(GameState g){ if(gameStates.contains(g)){ + MultiPrintStream.out.println("Removing State: "+g.getName()); gameStates.remove(g); return true; } @@ -44,6 +48,7 @@ public class GameStateManager { public boolean removeStateByName(String name){ int i = getId(name); if(i >= 0){ + MultiPrintStream.out.println("Removing State: "+gameStates.get(i).getName()); gameStates.remove(i); return true; } diff --git a/src/ei/game/EI.java b/src/ei/game/EI.java index d4e2b92..a13479a 100644 --- a/src/ei/game/EI.java +++ b/src/ei/game/EI.java @@ -4,6 +4,7 @@ import ei.engine.LWJGLGameWindow; import ei.engine.state.GameStateManager; import ei.game.gamestate.InGameState; import ei.game.gamestate.LoadingState; +import ei.game.gamestate.SplashState; public class EI extends LWJGLGameWindow{ public static void main(String[] args){ @@ -17,6 +18,7 @@ public class EI extends LWJGLGameWindow{ protected void init(){ GameStateManager.getInstance().addState(new InGameState("InGameState")); GameStateManager.getInstance().addState(new LoadingState("LoadingState","InGameState")); - GameStateManager.getInstance().setActive("LoadingState"); + GameStateManager.getInstance().addState(new SplashState("SplashState","LoadingState")); + GameStateManager.getInstance().setActive("SplashState"); } } diff --git a/src/ei/game/gamestate/SplashState.java b/src/ei/game/gamestate/SplashState.java new file mode 100644 index 0000000..d14e6ba --- /dev/null +++ b/src/ei/game/gamestate/SplashState.java @@ -0,0 +1,51 @@ +package ei.game.gamestate; + +import ei.engine.LWJGLGameWindow; +import ei.engine.effects.Fade; +import ei.engine.math.Vector2f; +import ei.engine.scene.Sprite; +import ei.engine.state.GameState; +import ei.engine.state.GameStateManager; + +public class SplashState extends GameState{ + private Fade splash; + private boolean fadeInDone; + private int time; + private String nextState; + + public SplashState(String name,String next) { + super(name); + nextState = next; + splash = new Fade("Splash"); + + Sprite s = new Sprite("Splash","data/splash.png"); + s.setLocation(new Vector2f(LWJGLGameWindow.getWidth()/2,LWJGLGameWindow.getHeight()/2)); + splash.setEntity(s); + splash.fadeOut(false); + fadeInDone = false; + + time = 200; + } + + @Override + public void render() { + splash.render(); + } + + @Override + public void update() { + splash.update(); + if(!fadeInDone && splash.isDone()){ + time--; + if(time <= 0){ + fadeInDone = true; + splash.fadeOut(true); + } + } + else if(fadeInDone && splash.isDone()){ + GameStateManager.getInstance().removeState(this); + GameStateManager.getInstance().setActive(nextState); + } + } + +}