// Path: src/chu/engine/Game.java
// public abstract class Game {
// 	
// 	protected static int windowWidth = 640;
// 	protected static int windowHeight = 480;
// 	protected static int scaleX = 2;
// 	protected static int scaleY = 2;
// 	protected boolean paused = false;
// 	protected static List<KeyboardEvent> keys;
// 	protected static List<MouseEvent> mouseEvents;
// 	protected static CopyOnWriteArrayList<Message> messages;
// 	protected long time;
// 	protected static long timeDelta;
// 	protected static boolean glContextExists;
// 	
// 	public void init(int width, int height, String name) {
// 		time = System.nanoTime();
// 		
// 		windowWidth = width*scaleX;
// 		windowHeight = height*scaleY;
// 
// 		try {
// 			Display.setDisplayMode(new DisplayMode(windowWidth, windowHeight));
// 			Display.create();
// 			Display.setTitle(name);
// 			Keyboard.create();
// 			Keyboard.enableRepeatEvents(true);
// 			Mouse.create();
// 			glContextExists = true;
// 		} catch (LWJGLException e) {
// 			e.printStackTrace();
// 			System.exit(0);
// 		}
// 		
// 		//init OpenGL
// 		glEnable(GL_DEPTH_TEST);
// 		glDepthFunc(GL_LEQUAL);
// 		glEnable(GL_ALPHA_TEST);
// 		glAlphaFunc(GL_GREATER, 0.01f);
// 		glEnable(GL_TEXTURE_2D);
// 		glShadeModel(GL_SMOOTH);
// 		glClearDepth(1.0f);
// 		glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
// 		glEnable(GL_BLEND);
// 		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// 		glViewport(0, 0, windowWidth, windowHeight);
// 		glMatrixMode(GL_PROJECTION);
// 		glLoadIdentity();
// 		glOrtho(0, windowWidth/scaleX, windowHeight/scaleY, 0, 1, -1);		//It's basically a camera
// 		glMatrixMode(GL_MODELVIEW);
// 		
// 		keys = new ArrayList<KeyboardEvent>();
// 		mouseEvents = new ArrayList<MouseEvent>();
// 	}
// 	
// 	public abstract void loop();
// 
// 
// 	public static void getInput() {
// 		Keyboard.poll();
// 		keys.clear();
// 		while(Keyboard.next()) {
// 			KeyboardEvent ke = new KeyboardEvent(
// 					Keyboard.getEventKey(),
// 					Keyboard.getEventCharacter(),
// 					Keyboard.isRepeatEvent(),
// 					Keyboard.getEventKeyState());
// 			keys.add(ke);
// 		}
// 		Mouse.poll();
// 		mouseEvents.clear();
// 		while(Mouse.next()) {
// 			MouseEvent me = new MouseEvent(
// 					Mouse.getEventX(),
// 					Mouse.getEventY(),
// 					Mouse.getEventDWheel(),
// 					Mouse.getEventButton(),
// 					Mouse.getEventButtonState());
// 			mouseEvents.add(me);
// 		}
// 	}
// 	
// 	public static List<KeyboardEvent> getKeys() {
// 		return keys;
// 	}
// 	
// 	public static List<MouseEvent> getMouseEvents() {
// 		return mouseEvents;
// 	}
// 	
// 	public static List<Message> getMessages() {
// 		return messages;
// 	}
// 
// 	public static long getDelta() {
// 		return timeDelta;
// 	}
// 	
// 	public static float getDeltaMillis() {
// 		return timeDelta/1000000.0f;
// 	}
// 	
// 	public static float getDeltaSeconds() {
// 		return timeDelta/1000000000.0f;
// 	}
// 	
// 	public static int getWindowWidth() {
// 		return windowWidth;
// 	}
// 	
// 	public static int getWindowHeight() {
// 		return windowHeight;
// 	}
// 
// 	public static boolean glContextExists() {
// 		return glContextExists;
// 	}
// 	
// 	public static int getScaleX() {
// 		return scaleX;
// 	}
// 	
// 	public static int getScaleY() {
// 		return scaleY;
// 	}
// }


import chu.engine.Game;
import chu.engine.AnimationData;
import chu.engine.anim.Animation;
package net.fe.fightStage.anim;


public class DodgeAnimation extends Animation {
	
	public static final float DODGE_DURATION = 0.25f;
	public static final float NORMAL_SPEED = .06f;
	
	private float dodgeTimer;
	private boolean dodging;

	public DodgeAnimation(AnimationData data) {
		super(data.getTexture(), data.frameWidth, data.frameHeight, data.frames,
				data.columns, data.offsetX, data.offsetY,
				DodgeAnimation.NORMAL_SPEED);
		dodgeTimer = 0;
	}
	
	@Override
	public void update() {
// Path: src/chu/engine/Game.java
// public abstract class Game {
// 	
// 	protected static int windowWidth = 640;
// 	protected static int windowHeight = 480;
// 	protected static int scaleX = 2;
// 	protected static int scaleY = 2;
// 	protected boolean paused = false;
// 	protected static List<KeyboardEvent> keys;
// 	protected static List<MouseEvent> mouseEvents;
// 	protected static CopyOnWriteArrayList<Message> messages;
// 	protected long time;
// 	protected static long timeDelta;
// 	protected static boolean glContextExists;
// 	
// 	public void init(int width, int height, String name) {
// 		time = System.nanoTime();
// 		
// 		windowWidth = width*scaleX;
// 		windowHeight = height*scaleY;
// 
// 		try {
// 			Display.setDisplayMode(new DisplayMode(windowWidth, windowHeight));
// 			Display.create();
// 			Display.setTitle(name);
// 			Keyboard.create();
// 			Keyboard.enableRepeatEvents(true);
// 			Mouse.create();
// 			glContextExists = true;
// 		} catch (LWJGLException e) {
// 			e.printStackTrace();
// 			System.exit(0);
// 		}
// 		
// 		//init OpenGL
// 		glEnable(GL_DEPTH_TEST);
// 		glDepthFunc(GL_LEQUAL);
// 		glEnable(GL_ALPHA_TEST);
// 		glAlphaFunc(GL_GREATER, 0.01f);
// 		glEnable(GL_TEXTURE_2D);
// 		glShadeModel(GL_SMOOTH);
// 		glClearDepth(1.0f);
// 		glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
// 		glEnable(GL_BLEND);
// 		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// 		glViewport(0, 0, windowWidth, windowHeight);
// 		glMatrixMode(GL_PROJECTION);
// 		glLoadIdentity();
// 		glOrtho(0, windowWidth/scaleX, windowHeight/scaleY, 0, 1, -1);		//It's basically a camera
// 		glMatrixMode(GL_MODELVIEW);
// 		
// 		keys = new ArrayList<KeyboardEvent>();
// 		mouseEvents = new ArrayList<MouseEvent>();
// 	}
// 	
// 	public abstract void loop();
// 
// 
// 	public static void getInput() {
// 		Keyboard.poll();
// 		keys.clear();
// 		while(Keyboard.next()) {
// 			KeyboardEvent ke = new KeyboardEvent(
// 					Keyboard.getEventKey(),
// 					Keyboard.getEventCharacter(),
// 					Keyboard.isRepeatEvent(),
// 					Keyboard.getEventKeyState());
// 			keys.add(ke);
// 		}
// 		Mouse.poll();
// 		mouseEvents.clear();
// 		while(Mouse.next()) {
// 			MouseEvent me = new MouseEvent(
// 					Mouse.getEventX(),
// 					Mouse.getEventY(),
// 					Mouse.getEventDWheel(),
// 					Mouse.getEventButton(),
// 					Mouse.getEventButtonState());
// 			mouseEvents.add(me);
// 		}
// 	}
// 	
// 	public static List<KeyboardEvent> getKeys() {
// 		return keys;
// 	}
// 	
// 	public static List<MouseEvent> getMouseEvents() {
// 		return mouseEvents;
// 	}
// 	
// 	public static List<Message> getMessages() {
// 		return messages;
// 	}
// 
// 	public static long getDelta() {
// 		return timeDelta;
// 	}
// 	
// 	public static float getDeltaMillis() {
// 		return timeDelta/1000000.0f;
// 	}
// 	
// 	public static float getDeltaSeconds() {
// 		return timeDelta/1000000000.0f;
// 	}
// 	
// 	public static int getWindowWidth() {
// 		return windowWidth;
// 	}
// 	
// 	public static int getWindowHeight() {
// 		return windowHeight;
// 	}
// 
// 	public static boolean glContextExists() {
// 		return glContextExists;
// 	}
// 	
// 	public static int getScaleX() {
// 		return scaleX;
// 	}
// 	
// 	public static int getScaleY() {
// 		return scaleY;
// 	}
// }


// Path: src/net/fe/fightStage/anim/DodgeAnimation.java
import chu.engine.Game;
import chu.engine.AnimationData;
import chu.engine.anim.Animation;

package net.fe.fightStage.anim;


public class DodgeAnimation extends Animation {
	
	public static final float DODGE_DURATION = 0.25f;
	public static final float NORMAL_SPEED = .06f;
	
	private float dodgeTimer;
	private boolean dodging;

	public DodgeAnimation(AnimationData data) {
		super(data.getTexture(), data.frameWidth, data.frameHeight, data.frames,
				data.columns, data.offsetX, data.offsetY,
				DodgeAnimation.NORMAL_SPEED);
		dodgeTimer = 0;
	}
	
	@Override
	public void update() {
		super.update();