diff --git a/src/junk/DisplaySystem.java b/src/junk/DisplaySystem.java new file mode 100644 index 0000000..ddd089c --- /dev/null +++ b/src/junk/DisplaySystem.java @@ -0,0 +1,299 @@ +//package junk; +// +// +//import static org.lwjgl.opengl.GL11.*; +// +//import java.nio.ByteBuffer; +// +//import mightypork.gamecore.backend.lwjgl.AwtScreenshot; +//import mightypork.gamecore.core.modules.AppAccess; +//import mightypork.gamecore.core.modules.AppModule; +//import mightypork.gamecore.render.events.DisplayReadyEvent; +//import mightypork.gamecore.render.events.ViewportChangeEvent; +//import mightypork.utils.logging.Log; +//import mightypork.utils.math.constraints.rect.Rect; +//import mightypork.utils.math.constraints.rect.RectBound; +//import mightypork.utils.math.constraints.vect.Vect; +//import mightypork.utils.math.timing.FpsMeter; +// +//import org.lwjgl.BufferUtils; +//import org.lwjgl.LWJGLException; +//import org.lwjgl.opengl.Display; +//import org.lwjgl.opengl.DisplayMode; +// +// +///** +// * Display system +// * +// * @author Ondřej Hruška (MightyPork) +// */ +//@Deprecated +//public class DisplaySystem extends AppModule implements RectBound { +// +// private DisplayMode windowDisplayMode; +// private int targetFps; +// private FpsMeter fpsMeter; +// private boolean fullscreenSwitchRequested; +// +// /** Current screen size */ +// private static final Vect screenSize = new Vect() { +// +// @Override +// public double y() +// { +// return Display.getHeight(); +// } +// +// +// @Override +// public double x() +// { +// return Display.getWidth(); +// } +// }; +// +// private static final Rect rect = Rect.make(screenSize); +// +// +// /** +// * @param app app access +// */ +// public DisplaySystem(AppAccess app) { +// super(app); +// } +// +// +// @Override +// protected void deinit() +// { +// Display.destroy(); +// } +// +// +// /** +// * Set target fps (for syncing in endFrame() call).
+// * With vsync enabled, the target fps may not be met. +// * +// * @param fps requested fps +// */ +// public void setTargetFps(int fps) +// { +// this.targetFps = fps; +// } +// +// +// /** +// * Create a main window +// * +// * @param width requested width +// * @param height requested height +// * @param resizable is resizable by the user +// * @param fullscreen is in fullscreen +// * @param title window title +// */ +// public void createMainWindow(int width, int height, boolean resizable, boolean fullscreen, String title) +// { +// try { +// Display.setDisplayMode(windowDisplayMode = new DisplayMode(width, height)); +// Display.setResizable(resizable); +// Display.setVSyncEnabled(true); +// Display.setTitle(title); +// Display.create(); +// +// fpsMeter = new FpsMeter(); +// +// if (fullscreen) { +// switchFullscreen(); +// Display.update(); +// } +// +// getEventBus().send(new DisplayReadyEvent()); +// +// } catch (final LWJGLException e) { +// throw new RuntimeException("Could not initialize screen", e); +// } +// } +// +// +// /** +// * Toggle FS if possible +// */ +// public void switchFullscreen() +// { +// fullscreenSwitchRequested = true; +// } +// +// +// private void doSwitchFullscreen() +// { +// try { +// +// if (!Display.isFullscreen()) { +// Log.f3("Entering fullscreen."); +// // save window resize +// windowDisplayMode = new DisplayMode(Display.getWidth(), Display.getHeight()); +// +// Display.setDisplayMode(Display.getDesktopDisplayMode()); +// Display.setFullscreen(true); +// Display.update(); +// } else { +// Log.f3("Leaving fullscreen."); +// Display.setDisplayMode(windowDisplayMode); +// Display.update(); +// } +// +// getEventBus().send(new ViewportChangeEvent(getSize())); +// +// } catch (final Throwable t) { +// Log.e("Failed to toggle fullscreen mode.", t); +// try { +// Display.setDisplayMode(windowDisplayMode); +// Display.update(); +// } catch (final Throwable t1) { +// throw new RuntimeException("Failed to revert failed fullscreen toggle.", t1); +// } +// } +// } +// +// +// /** +// * Take screenshot (expensive processing is done on-demand when screenshot +// * is processed). +// * +// * @return screenshot object +// */ +// public static AwtScreenshot prepareScreenshot() +// { +// glReadBuffer(GL_FRONT); +// final int width = Display.getWidth(); +// final int height = Display.getHeight(); +// final int bpp = 4; +// final ByteBuffer buffer = BufferUtils.createByteBuffer(width * height * bpp); +// glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); +// +// final AwtScreenshot sc = new AwtScreenshot(width, height, bpp, buffer); +// +// return sc; +// } +// +// +// /** +// * @return true if close was requested (i.e. click on cross) +// */ +// public static boolean isCloseRequested() +// { +// return Display.isCloseRequested(); +// } +// +// +// /** +// * Get fullscreen state +// * +// * @return is fullscreen +// */ +// public static boolean isFullscreen() +// { +// return Display.isFullscreen(); +// } +// +// +// /** +// * Get screen size. This Vect is final and views at it can safely be made. +// * +// * @return size +// */ +// public static Vect getSize() +// { +// return screenSize; +// } +// +// +// /** +// * Get screen rect. Static version of getRect(). +// * +// * @return size +// */ +// public static Rect getBounds() +// { +// return rect; +// } +// +// +// /** +// * @return screen width +// */ +// public static int getWidth() +// { +// return screenSize.xi(); +// } +// +// +// /** +// * @return screen height +// */ +// public static int getHeight() +// { +// return screenSize.yi(); +// } +// +// +// /** +// * Start a OpenGL frame +// */ +// public void beginFrame() +// { +// // handle resize +// if (Display.wasResized()) { +// getEventBus().send(new ViewportChangeEvent(getSize())); +// } +// +// if (fullscreenSwitchRequested) { +// fullscreenSwitchRequested = false; +// doSwitchFullscreen(); +// } +// +// glLoadIdentity(); +// glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +// fpsMeter.frame(); +// } +// +// +// /** +// * End an OpenGL frame, flip buffers, sync to fps. +// */ +// public void endFrame() +// { +// Display.update(false); // don't poll input devices +// Display.sync(targetFps); +// } +// +// +// /** +// * Get screen rect. This Rect is final and views at it can safely be made. +// */ +// @Override +// public Rect getRect() +// { +// return getBounds(); +// } +// +// +// /** +// * @return current FPS +// */ +// public long getFps() +// { +// return fpsMeter.getFPS(); +// } +// +// +// /** +// * Get screen center. This vect is final and views at it can safely be made. +// * +// * @return screen center. +// */ +// public static Vect getCenter() +// { +// return rect.center(); +// } +//} diff --git a/src/junk/Render.java b/src/junk/Render.java new file mode 100644 index 0000000..7182d30 --- /dev/null +++ b/src/junk/Render.java @@ -0,0 +1,542 @@ +//package junk; +// +// +//import static org.lwjgl.opengl.GL11.*; +// +//import java.io.IOException; +// +//import mightypork.gamecore.resources.textures.FilterMode; +//import mightypork.gamecore.resources.textures.ITexture; +//import mightypork.gamecore.resources.textures.TxQuad; +//import mightypork.utils.files.FileUtils; +//import mightypork.utils.logging.Log; +//import mightypork.utils.math.color.Color; +//import mightypork.utils.math.color.pal.RGB; +//import mightypork.utils.math.constraints.rect.Rect; +//import mightypork.utils.math.constraints.rect.caching.RectDigest; +//import mightypork.utils.math.constraints.vect.Vect; +//import mightypork.utils.math.constraints.vect.VectConst; +// +//import org.lwjgl.opengl.GL11; +//import org.newdawn.slick.opengl.Texture; +//import org.newdawn.slick.opengl.TextureLoader; +// +// +///** +// * Render utilities +// * +// * @author Ondřej Hruška (MightyPork) +// */ +//@Deprecated +//public class Render { +// +// public static final VectConst AXIS_X = Vect.make(1, 0, 0); +// public static final VectConst AXIS_Y = Vect.make(0, 1, 0); +// public static final VectConst AXIS_Z = Vect.make(0, 0, 1); +// +// +// /** +// * Bind GL color +// * +// * @param color Color color +// */ +// public static void setColor(Color color) +// { +// if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a()); +// } +// +// +// /** +// * Bind GL color +// * +// * @param color Color color +// * @param alpha alpha multiplier +// */ +// public static void setColor(Color color, double alpha) +// { +// if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a() * alpha); +// } +// +// +// /** +// * Translate +// * +// * @param x +// * @param y +// */ +// public static void translate(double x, double y) +// { +// glTranslated(x, y, 0); +// } +// +// +// /** +// * Translate +// * +// * @param x +// * @param y +// * @param z +// */ +// public static void translate(double x, double y, double z) +// { +// glTranslated(x, y, z); +// } +// +// +// /** +// * Translate with coord +// * +// * @param coord coord +// */ +// public static void translate(Vect coord) +// { +// glTranslated(coord.x(), coord.y(), coord.z()); +// } +// +// +// /** +// * Translate with coord, discard Z +// * +// * @param coord coord +// */ +// public static void translateXY(Vect coord) +// { +// glTranslated(coord.x(), coord.y(), 0); +// } +// +// +// /** +// * Scale +// * +// * @param x +// * @param y +// */ +// public static void scale(double x, double y) +// { +// glScaled(x, y, 0); +// } +// +// +// /** +// * Scale +// * +// * @param x +// * @param y +// * @param z +// */ +// public static void scale(double x, double y, double z) +// { +// glScaled(x, y, z); +// } +// +// +// /** +// * Scale +// * +// * @param factor vector of scaling factors +// */ +// public static void scale(Vect factor) +// { +// glScaled(factor.x(), factor.y(), factor.z()); +// } +// +// +// /** +// * Scale by X factor +// * +// * @param factor scaling factor +// */ +// public static void scaleXY(double factor) +// { +// glScaled(factor, factor, 1); +// } +// +// +// /** +// * Scale by X factor +// * +// * @param factor scaling factor +// */ +// public static void scaleX(double factor) +// { +// glScaled(factor, 1, 1); +// } +// +// +// /** +// * Scale by Y factor +// * +// * @param factor scaling factor +// */ +// public static void scaleY(double factor) +// { +// glScaled(1, factor, 1); +// } +// +// +// /** +// * Scale by Z factor +// * +// * @param factor scaling factor +// */ +// public static void scaleZ(double factor) +// { +// glScaled(1, 1, factor); +// } +// +// +// /** +// * Rotate around X axis +// * +// * @param angle deg +// */ +// public static void rotateX(double angle) +// { +// rotate(angle, AXIS_X); +// } +// +// +// /** +// * Rotate around Y axis +// * +// * @param angle deg +// */ +// public static void rotateY(double angle) +// { +// rotate(angle, AXIS_Y); +// } +// +// +// /** +// * Rotate around Z axis +// * +// * @param angle deg +// */ +// public static void rotateZ(double angle) +// { +// rotate(angle, AXIS_Z); +// } +// +// +// /** +// * Rotate +// * +// * @param angle rotate angle +// * @param axis rotation axis +// */ +// public static void rotate(double angle, Vect axis) +// { +// final Vect vec = axis.norm(1); +// glRotated(angle, vec.x(), vec.y(), vec.z()); +// } +// +// private static int pushed = 0; +// /** Can be used to avoid texture binding and glBegin/glEnd in textured quads */ +// public static boolean batchTexturedQuadMode; +// +// +// /** +// * Store GL state +// */ +// public static void pushState() +// { +// pushed++; +// +// if (pushed >= 100) { +// Log.w("Suspicious number of state pushes: " + pushed); +// } +// +// GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); +// GL11.glPushClientAttrib(GL11.GL_ALL_CLIENT_ATTRIB_BITS); +// GL11.glMatrixMode(GL11.GL_MODELVIEW); +// GL11.glPushMatrix(); +// GL11.glMatrixMode(GL11.GL_PROJECTION); +// GL11.glPushMatrix(); +// GL11.glMatrixMode(GL11.GL_MODELVIEW); +// } +// +// +// /** +// * Restore Gl state +// */ +// public static void popState() +// { +// if (pushed == 0) { +// Log.w("Pop without push."); +// } +// +// pushed--; +// +// GL11.glMatrixMode(GL11.GL_PROJECTION); +// GL11.glPopMatrix(); +// GL11.glMatrixMode(GL11.GL_MODELVIEW); +// GL11.glPopMatrix(); +// GL11.glPopClientAttrib(); +// GL11.glPopAttrib(); +// } +// +// +// /** +// * Store matrix +// */ +// public static void pushMatrix() +// { +// GL11.glPushMatrix(); +// } +// +// +// /** +// * Restore Gl state +// */ +// public static void popMatrix() +// { +// GL11.glPopMatrix(); +// } +// +// +// /** +// * Load texture +// * +// * @param resourcePath +// * @param filtering filtering mode to use while loading. +// * @return the loaded texture +// */ +// public synchronized static Texture loadSlickTexture(String resourcePath, FilterMode filtering) +// { +// +// try { +// +// final String ext = FileUtils.getExtension(resourcePath).toUpperCase(); +// +// final Texture texture = TextureLoader.getTexture(ext, FileUtils.getResource(resourcePath), false, filtering.num); +// +// if (texture == null) { +// Log.w("Texture " + resourcePath + " could not be loaded."); +// } +// +// return texture; +// +// } catch (final IOException e) { +// Log.e("Loading of texture " + resourcePath + " failed.", e); +// throw new RuntimeException("Could not load texture " + resourcePath + ".", e); +// } +// +// } +// +// +// /** +// * Render quad 2D +// * +// * @param rect rectangle +// * @param color draw color +// */ +// public static void quad(Rect rect, Color color) +// { +// setColor(color); +// quad(rect); +// } +// +// +// /** +// * Render quad +// * +// * @param quad the quad to draw (px) +// */ +// public static void quad(Rect quad) +// { +// final RectDigest q = quad.digest(); +// +// // draw with color +// +// glDisable(GL_TEXTURE_2D); +// +// // quad +// glBegin(GL_QUADS); +// glVertex2d(q.left, q.bottom); +// glVertex2d(q.right, q.bottom); +// glVertex2d(q.right, q.top); +// glVertex2d(q.left, q.top); +// glEnd(); +// } +// +// +// /** +// * Draw quad with horizontal gradient +// * +// * @param quad drawn quad bounds +// * @param color1 left color +// * @param color2 right color +// */ +// public static void quadGradH(Rect quad, Color color1, Color color2) +// { +// quadColor(quad, color1, color2, color2, color1); +// } +// +// +// public static void quadColor(Rect quad, Color color) +// { +// quadColor(quad, color, color, color, color); +// } +// +// +// /** +// * Draw quad with coloured vertices. +// * +// * @param quad drawn quad bounds +// * @param colorHMinVMin +// * @param colorHMaxVMin +// * @param colorHMaxVMax +// * @param colorHMinVMax +// */ +// public static void quadColor(Rect quad, Color colorHMinVMin, Color colorHMaxVMin, Color colorHMaxVMax, Color colorHMinVMax) +// { +// final RectDigest r = quad.digest(); +// +// // draw with color +// +// glDisable(GL_TEXTURE_2D); +// +// glBegin(GL_QUADS); +// setColor(colorHMinVMax); +// glVertex2d(r.left, r.bottom); +// +// setColor(colorHMaxVMax); +// glVertex2d(r.right, r.bottom); +// +// setColor(colorHMaxVMin); +// glVertex2d(r.right, r.top); +// +// setColor(colorHMinVMin); +// glVertex2d(r.left, r.top); +// glEnd(); +// } +// +// +// /** +// * Draw quad with vertical gradient +// * +// * @param quad drawn quad bounds +// * @param color1 top color +// * @param color2 bottom color +// */ +// public static void quadGradV(Rect quad, Color color1, Color color2) +// { +// quadColor(quad, color1, color1, color2, color2); +// } +// +// +// /** +// * Render textured rect +// * +// * @param quad rectangle (px) +// * @param txquad texture quad +// */ +// public static void quadTextured(Rect quad, TxQuad txquad) +// { +// quadTextured(quad, txquad, RGB.WHITE); +// } +// +// +// /** +// * Render textured rect +// * +// * @param quad rectangle (px) +// * @param txquad texture instance +// * @param tint color tint +// */ +// public static void quadTextured(Rect quad, TxQuad txquad, Color tint) +// { +// if (!batchTexturedQuadMode) { +// glEnable(GL_TEXTURE_2D); +// txquad.tx.bind(); +// glBegin(GL_QUADS); +// setColor(tint); +// } +// +// final RectDigest q = quad.digest(); +// final RectDigest u = txquad.uvs.digest(); +// +// final double offs = 0.0001;// hack to avoid white stitching +// +// double tL = u.left + offs, tR = u.right - offs, tT = u.top + offs, tB = u.bottom - offs; +// +// // handle flip +// if (txquad.isFlippedY()) { +// final double swap = tT; +// tT = tB; +// tB = swap; +// } +// +// if (txquad.isFlippedX()) { +// final double swap = tL; +// tL = tR; +// tR = swap; +// } +// +// final double w = txquad.tx.getWidth01(); +// final double h = txquad.tx.getHeight01(); +// +// // quad with texture +// glTexCoord2d(tL * w, tB * h); +// glVertex2d(q.left, q.bottom); +// +// glTexCoord2d(tR * w, tB * h); +// glVertex2d(q.right, q.bottom); +// +// glTexCoord2d(tR * w, tT * h); +// glVertex2d(q.right, q.top); +// +// glTexCoord2d(tL * w, tT * h); +// glVertex2d(q.left, q.top); +// +// if (!batchTexturedQuadMode) glEnd(); +// } +// +// +// /** +// * Setup Ortho projection for 2D graphics +// * +// * @param size viewport size (screen size) +// */ +// public static void setupOrtho(Vect size) +// { +// // fix projection for changed size +// glMatrixMode(GL_PROJECTION); +// glLoadIdentity(); +// glViewport(0, 0, size.xi(), size.yi()); +// glOrtho(0, size.xi(), size.yi(), 0, -1000, 1000); +// +// // back to modelview +// glMatrixMode(GL_MODELVIEW); +// +// glLoadIdentity(); +// +// glDisable(GL_LIGHTING); +// +// glClearDepth(1f); +// glEnable(GL_DEPTH_TEST); +// glDepthFunc(GL_LEQUAL); +// +// glEnable(GL_NORMALIZE); +// +// glShadeModel(GL_SMOOTH); +// +// glEnable(GL_BLEND); +// glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +// } +// +// +// public static void enterBatchTexturedQuadMode(ITexture texture) +// { +// texture.bind(); +// glBegin(GL11.GL_QUADS); +// batchTexturedQuadMode = true; +// } +// +// +// public static void leaveBatchTexturedQuadMode() +// { +// glEnd(); +// batchTexturedQuadMode = false; +// } +//} diff --git a/src/mightypork/gamecore/backend/Backend.java b/src/mightypork/gamecore/backend/Backend.java index e347dce..3d2b133 100644 --- a/src/mightypork/gamecore/backend/Backend.java +++ b/src/mightypork/gamecore/backend/Backend.java @@ -7,16 +7,14 @@ import mightypork.utils.eventbus.clients.RootBusNode; /** - * Application backend interface (set of core modules) + * Application backend interface (set of core modules).
+ * Backend is created without a bus access, which will be assigned during app + * initialization. * * @author MightyPork */ public abstract class Backend extends RootBusNode { - public Backend(BusAccess busAccess) { - super(busAccess); - } - /** * Initialize backend modules, add them to event bus.
diff --git a/src/mightypork/gamecore/backend/BackendModule.java b/src/mightypork/gamecore/backend/BackendModule.java index f9d65e8..0515086 100644 --- a/src/mightypork/gamecore/backend/BackendModule.java +++ b/src/mightypork/gamecore/backend/BackendModule.java @@ -1,7 +1,7 @@ package mightypork.gamecore.backend; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.eventbus.BusAccess; import mightypork.utils.eventbus.clients.BusNode; import mightypork.utils.interfaces.Destroyable; @@ -23,10 +23,11 @@ public abstract class BackendModule extends BusNode implements Destroyable { super(busAccess); } + @Override - @DefaultImpl + @Stub public void destroy() - { + { } } diff --git a/src/mightypork/gamecore/backend/lwjgl/AwtScreenshot.java b/src/mightypork/gamecore/backend/lwjgl/AwtScreenshot.java index 0609da6..5a3ced1 100644 --- a/src/mightypork/gamecore/backend/lwjgl/AwtScreenshot.java +++ b/src/mightypork/gamecore/backend/lwjgl/AwtScreenshot.java @@ -33,8 +33,7 @@ public class AwtScreenshot implements Screenshot { * @param bpp bits per pixel (typically 4) * @param buffer */ - public AwtScreenshot(int width, int height, int bpp, ByteBuffer buffer) - { + public AwtScreenshot(int width, int height, int bpp, ByteBuffer buffer) { this.width = width; this.height = height; this.bpp = bpp; diff --git a/src/mightypork/gamecore/backend/lwjgl/LwjglBackend.java b/src/mightypork/gamecore/backend/lwjgl/LwjglBackend.java index cc00bb2..a4a2ce5 100644 --- a/src/mightypork/gamecore/backend/lwjgl/LwjglBackend.java +++ b/src/mightypork/gamecore/backend/lwjgl/LwjglBackend.java @@ -13,11 +13,6 @@ import mightypork.utils.eventbus.BusAccess; */ public class LwjglBackend extends Backend { - public LwjglBackend(BusAccess busAccess) { - super(busAccess); - } - - private LwjglRenderModule renderer; diff --git a/src/mightypork/gamecore/backend/lwjgl/LwjglRenderModule.java b/src/mightypork/gamecore/backend/lwjgl/LwjglRenderModule.java index 7141cb1..9c11771 100644 --- a/src/mightypork/gamecore/backend/lwjgl/LwjglRenderModule.java +++ b/src/mightypork/gamecore/backend/lwjgl/LwjglRenderModule.java @@ -6,12 +6,6 @@ import static org.lwjgl.opengl.GL11.*; import java.nio.ByteBuffer; import java.util.Stack; -import org.lwjgl.BufferUtils; -import org.lwjgl.LWJGLException; -import org.lwjgl.opengl.Display; -import org.lwjgl.opengl.DisplayMode; -import org.lwjgl.opengl.GL11; - import mightypork.gamecore.render.Grad; import mightypork.gamecore.render.RenderModule; import mightypork.gamecore.render.Screenshot; @@ -29,6 +23,12 @@ import mightypork.utils.math.constraints.rect.caching.RectDigest; import mightypork.utils.math.constraints.vect.Vect; import mightypork.utils.math.timing.FpsMeter; +import org.lwjgl.BufferUtils; +import org.lwjgl.LWJGLException; +import org.lwjgl.opengl.Display; +import org.lwjgl.opengl.DisplayMode; +import org.lwjgl.opengl.GL11; + /** * LWJGL rendering module @@ -376,13 +376,17 @@ public class LwjglRenderModule extends RenderModule { @Override - public void setupProjection(Vect screenSize) + public void setupProjection() { // fix projection for changed size glMatrixMode(GL_PROJECTION); glLoadIdentity(); - glViewport(0, 0, screenSize.xi(), screenSize.yi()); - glOrtho(0, screenSize.xi(), screenSize.yi(), 0, -1000, 1000); + + int w = Display.getWidth(); + int h = Display.getHeight(); + + glViewport(0, 0, w, h); + glOrtho(0, w, h, 0, -1000, 1000); // back to modelview glMatrixMode(GL_MODELVIEW); diff --git a/src/mightypork/gamecore/backend/lwjgl/SlickLazyTexture.java b/src/mightypork/gamecore/backend/lwjgl/SlickLazyTexture.java index 90e4203..c6c412e 100644 --- a/src/mightypork/gamecore/backend/lwjgl/SlickLazyTexture.java +++ b/src/mightypork/gamecore/backend/lwjgl/SlickLazyTexture.java @@ -4,10 +4,11 @@ package mightypork.gamecore.backend.lwjgl; import java.io.IOException; import mightypork.gamecore.resources.TextureBasedResource; -import mightypork.gamecore.resources.textures.*; +import mightypork.gamecore.resources.textures.LazyTexture; import mightypork.utils.annotations.Alias; import mightypork.utils.files.FileUtils; import mightypork.utils.logging.Log; + import org.lwjgl.opengl.GL11; import org.newdawn.slick.opengl.Texture; import org.newdawn.slick.opengl.TextureLoader; @@ -26,6 +27,7 @@ public class SlickLazyTexture extends LazyTexture { private boolean alpha; private boolean alphal; + /** * @param resourcePath resource path */ @@ -33,6 +35,7 @@ public class SlickLazyTexture extends LazyTexture { super(resourcePath); } + @Override protected synchronized void loadResource(String path) { diff --git a/src/mightypork/gamecore/core/config/Config.java b/src/mightypork/gamecore/core/config/Config.java index 9762953..1a2422a 100644 --- a/src/mightypork/gamecore/core/config/Config.java +++ b/src/mightypork/gamecore/core/config/Config.java @@ -116,6 +116,7 @@ public class Config { /** * Add "key." before the given config file key + * * @param cfgKey config key * @return key. + cfgKey */ diff --git a/src/mightypork/gamecore/core/config/ConfigSetup.java b/src/mightypork/gamecore/core/config/ConfigSetup.java index 1680753..4db01e0 100644 --- a/src/mightypork/gamecore/core/config/ConfigSetup.java +++ b/src/mightypork/gamecore/core/config/ConfigSetup.java @@ -1,11 +1,13 @@ package mightypork.gamecore.core.config; + import mightypork.utils.files.config.PropertyManager; + /** * Config setup, class used to populate the config file. */ public interface ConfigSetup { void addOptions(PropertyManager prop); -} \ No newline at end of file +} diff --git a/src/mightypork/gamecore/core/config/KeyOpts.java b/src/mightypork/gamecore/core/config/KeyOpts.java index a28f3bf..df8271d 100644 --- a/src/mightypork/gamecore/core/config/KeyOpts.java +++ b/src/mightypork/gamecore/core/config/KeyOpts.java @@ -1,13 +1,14 @@ package mightypork.gamecore.core.config; + import mightypork.gamecore.input.KeyStroke; + /** * Key options - restricted access to {@link Config} for keys */ public class KeyOpts { - public void add(String cfgKey, String dataString) { add(cfgKey, dataString, null); @@ -16,7 +17,8 @@ public class KeyOpts { /** * @param cfgKey key in config file - * @param dataString string representing the keystroke (format for {@link KeyStroke}) + * @param dataString string representing the keystroke (format for + * {@link KeyStroke}) * @param comment optional comment */ public void add(String cfgKey, String dataString, String comment) @@ -25,4 +27,4 @@ public class KeyOpts { Config.strokes.put(Config.prefixKey(cfgKey), kprop); Config.cfg.putProperty(kprop); } -} \ No newline at end of file +} diff --git a/src/mightypork/gamecore/core/config/KeyProperty.java b/src/mightypork/gamecore/core/config/KeyProperty.java index d5586ec..fe893ba 100644 --- a/src/mightypork/gamecore/core/config/KeyProperty.java +++ b/src/mightypork/gamecore/core/config/KeyProperty.java @@ -1,9 +1,11 @@ package mightypork.gamecore.core.config; + import mightypork.gamecore.input.KeyStroke; import mightypork.gamecore.input.Keys; import mightypork.utils.files.config.Property; + /** * Key property.
* The stored value must be invariant ({@link KeyStroke} is mutable). @@ -12,8 +14,7 @@ import mightypork.utils.files.config.Property; */ public class KeyProperty extends Property { - public KeyProperty(String key, KeyStroke defaultValue, String comment) - { + public KeyProperty(String key, KeyStroke defaultValue, String comment) { super(key, defaultValue, comment); } @@ -50,4 +51,4 @@ public class KeyProperty extends Property { // keep it invariant getValue().setTo(((KeyStroke) value).getKey(), ((KeyStroke) value).getMod()); } -} \ No newline at end of file +} diff --git a/src/mightypork/gamecore/core/config/KeySetup.java b/src/mightypork/gamecore/core/config/KeySetup.java index bca57a0..6573273 100644 --- a/src/mightypork/gamecore/core/config/KeySetup.java +++ b/src/mightypork/gamecore/core/config/KeySetup.java @@ -7,4 +7,4 @@ package mightypork.gamecore.core.config; public interface KeySetup { public void addKeys(KeyOpts keys); -} \ No newline at end of file +} diff --git a/src/mightypork/gamecore/core/events/MainLoopRequest.java b/src/mightypork/gamecore/core/events/MainLoopRequest.java index 7034aa9..855531b 100644 --- a/src/mightypork/gamecore/core/events/MainLoopRequest.java +++ b/src/mightypork/gamecore/core/events/MainLoopRequest.java @@ -22,8 +22,7 @@ public class MainLoopRequest extends BusEvent { * @param task task to run on main thread in rendering context * @param priority if true, skip other tasks in queue */ - public MainLoopRequest(Runnable task, boolean priority) - { + public MainLoopRequest(Runnable task, boolean priority) { this.task = task; this.priority = priority; } diff --git a/src/mightypork/gamecore/core/modules/AppAccess.java b/src/mightypork/gamecore/core/modules/AppAccess.java index 0b98452..0f35bd7 100644 --- a/src/mightypork/gamecore/core/modules/AppAccess.java +++ b/src/mightypork/gamecore/core/modules/AppAccess.java @@ -2,7 +2,6 @@ package mightypork.gamecore.core.modules; import mightypork.gamecore.input.InputSystem; -import mightypork.gamecore.render.DisplaySystem; import mightypork.gamecore.resources.audio.SoundSystem; import mightypork.utils.eventbus.BusAccess; @@ -26,12 +25,6 @@ public interface AppAccess extends BusAccess { abstract InputSystem getInput(); - /** - * @return display system - */ - abstract DisplaySystem getDisplay(); - - /** * Quit to OS
* Destroy app & exit VM diff --git a/src/mightypork/gamecore/core/modules/AppAccessAdapter.java b/src/mightypork/gamecore/core/modules/AppAccessAdapter.java index 897757b..93085bc 100644 --- a/src/mightypork/gamecore/core/modules/AppAccessAdapter.java +++ b/src/mightypork/gamecore/core/modules/AppAccessAdapter.java @@ -2,7 +2,6 @@ package mightypork.gamecore.core.modules; import mightypork.gamecore.input.InputSystem; -import mightypork.gamecore.render.DisplaySystem; import mightypork.gamecore.resources.audio.SoundSystem; import mightypork.utils.eventbus.EventBus; @@ -20,8 +19,7 @@ public class AppAccessAdapter implements AppAccess { /** * @param app app access */ - public AppAccessAdapter(AppAccess app) - { + public AppAccessAdapter(AppAccess app) { if (app == null) throw new NullPointerException("AppAccess instance cannot be null."); this.app = app; @@ -42,13 +40,6 @@ public class AppAccessAdapter implements AppAccess { } - @Override - public final DisplaySystem getDisplay() - { - return app.getDisplay(); - } - - @Override public final EventBus getEventBus() { diff --git a/src/mightypork/gamecore/core/modules/AppInitOptions.java b/src/mightypork/gamecore/core/modules/AppInitOptions.java new file mode 100644 index 0000000..a3bf507 --- /dev/null +++ b/src/mightypork/gamecore/core/modules/AppInitOptions.java @@ -0,0 +1,151 @@ +package mightypork.gamecore.core.modules; + + +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; + +import mightypork.gamecore.backend.Backend; +import mightypork.gamecore.core.WorkDir.RouteSetup; +import mightypork.gamecore.core.config.ConfigSetup; +import mightypork.gamecore.core.config.KeySetup; +import mightypork.gamecore.resources.AsyncResourceLoader; +import mightypork.gamecore.resources.ResourceLoader; +import mightypork.gamecore.resources.ResourceSetup; + + +/** + * Init options holder class + */ +public class AppInitOptions { + + boolean singleInstance = false; + + Backend backend = null; + File workdir = null; + + String logDir = "log"; + String logFilePrefix = "runtime"; + + String screenshotDir = "screenshots"; + + int logArchiveCount = 0; + boolean busLogging = false; + + String configFile = "settings.cfg"; + String configComment = "Main config file"; + + public String lockFile = ".lock"; + + final List resourceLists = new ArrayList<>(); + final List keyLists = new ArrayList<>(); + final List configLists = new ArrayList<>(); + final List routeLists = new ArrayList<>(); + + ResourceLoader resourceLoader = new AsyncResourceLoader(); + Level logLevel = Level.ALL; + public boolean sigleInstance = true; + Level logSoutLevel = Level.ALL; + + + public void setConfigFile(String filename, String comment) + { + configFile = filename; + configComment = comment; + } + + + public void addConfig(ConfigSetup cfg) + { + configLists.add(cfg); + } + + + public void addKeys(KeySetup keys) + { + keyLists.add(keys); + } + + + public void addRoutes(RouteSetup keys) + { + routeLists.add(keys); + } + + + public void addResources(ResourceSetup res) + { + resourceLists.add(res); + } + + + public void setBackend(Backend backend) + { + this.backend = backend; + } + + + /** + * Set whether to run in single instance mode, or allow multiple instances.
+ * Multiple instances running can cause various collisions (eg. when writing + * config file or logging). + * + * @param sigleInstance true to allow only one instance + */ + public void setSigleInstance(boolean sigleInstance) + { + this.sigleInstance = sigleInstance; + } + + + /** + * Set working directory path. If not exists, it will be created. + * + * @param workdir work dir path + */ + public void setWorkdir(File workdir) + { + this.workdir = workdir; + } + + + public void setBusLogging(boolean yes) + { + busLogging = yes; + } + + + public void setLogOptions(String logDir, String filePrefix, int archivedCount, Level logLevel) + { + this.logDir = logDir; + this.logFilePrefix = filePrefix; + this.logArchiveCount = archivedCount; + this.logLevel = logLevel; + } + + + public void setResourceLoader(ResourceLoader resLoader) + { + resourceLoader = resLoader; + } + + + public void setScreenshotDir(String path) + { + this.screenshotDir = path; + } + + + public void setLockFile(String lockFile) + { + this.lockFile = lockFile; + } + + + public void setLogLevel(Level logLevel, Level soutLevel) + { + this.logLevel = logLevel; + this.logSoutLevel = soutLevel; + } +} diff --git a/src/mightypork/gamecore/core/modules/AppModule.java b/src/mightypork/gamecore/core/modules/AppModule.java index 074f588..2ff0bd0 100644 --- a/src/mightypork/gamecore/core/modules/AppModule.java +++ b/src/mightypork/gamecore/core/modules/AppModule.java @@ -2,7 +2,6 @@ package mightypork.gamecore.core.modules; import mightypork.gamecore.input.InputSystem; -import mightypork.gamecore.render.DisplaySystem; import mightypork.gamecore.resources.audio.SoundSystem; import mightypork.utils.eventbus.clients.RootBusNode; @@ -23,8 +22,7 @@ public abstract class AppModule extends RootBusNode implements AppAccess { * * @param app access to app systems */ - public AppModule(AppAccess app) - { + public AppModule(AppAccess app) { super(app); this.app = app; @@ -45,13 +43,6 @@ public abstract class AppModule extends RootBusNode implements AppAccess { } - @Override - public final DisplaySystem getDisplay() - { - return app.getDisplay(); - } - - @Override public final void shutdown() { diff --git a/src/mightypork/gamecore/core/modules/AppSubModule.java b/src/mightypork/gamecore/core/modules/AppSubModule.java index 0433539..4668f38 100644 --- a/src/mightypork/gamecore/core/modules/AppSubModule.java +++ b/src/mightypork/gamecore/core/modules/AppSubModule.java @@ -2,7 +2,6 @@ package mightypork.gamecore.core.modules; import mightypork.gamecore.input.InputSystem; -import mightypork.gamecore.render.DisplaySystem; import mightypork.gamecore.resources.audio.SoundSystem; import mightypork.utils.eventbus.clients.BusNode; import mightypork.utils.eventbus.clients.DelegatingClient; @@ -25,8 +24,7 @@ public class AppSubModule extends BusNode implements AppAccess { * * @param app access to app systems */ - public AppSubModule(AppAccess app) - { + public AppSubModule(AppAccess app) { super(app); this.app = app; @@ -47,13 +45,6 @@ public class AppSubModule extends BusNode implements AppAccess { } - @Override - public final DisplaySystem getDisplay() - { - return app.getDisplay(); - } - - @Override public final void shutdown() { diff --git a/src/mightypork/gamecore/core/modules/BaseApp.java b/src/mightypork/gamecore/core/modules/BaseApp.java index bf51e46..0e5ac8a 100644 --- a/src/mightypork/gamecore/core/modules/BaseApp.java +++ b/src/mightypork/gamecore/core/modules/BaseApp.java @@ -4,9 +4,6 @@ package mightypork.gamecore.core.modules; import java.io.File; import java.io.IOException; import java.lang.Thread.UncaughtExceptionHandler; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; import javax.swing.JOptionPane; @@ -19,14 +16,12 @@ import mightypork.gamecore.core.config.KeySetup; import mightypork.gamecore.gui.screens.ScreenRegistry; import mightypork.gamecore.gui.screens.impl.CrossfadeOverlay; import mightypork.gamecore.input.InputSystem; -import mightypork.gamecore.render.DisplaySystem; -import mightypork.gamecore.resources.AsyncResourceLoader; +import mightypork.gamecore.render.RenderModule; import mightypork.gamecore.resources.Res; -import mightypork.gamecore.resources.ResourceLoader; import mightypork.gamecore.resources.ResourceSetup; import mightypork.gamecore.resources.audio.SoundSystem; import mightypork.gamecore.util.SlickLogRedirector; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.eventbus.EventBus; import mightypork.utils.eventbus.events.DestroyEvent; import mightypork.utils.files.InstanceLock; @@ -48,109 +43,8 @@ import mightypork.utils.math.algo.Move; */ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptionHandler { - /** - * Init options holder class - */ - public class AppInitOptions { - - private String logDir = "log"; - private String logFilePrefix = "runtime"; - - private String screenshotDir = "screenshots"; - - private int logArchiveCount = 0; - private boolean busLogging = false; - - private String configFile = "settings.cfg"; - private String configComment = "Main config file"; - - public String lockFile = ".lock"; - - private final List resourceLists = new ArrayList<>(); - private final List keyLists = new ArrayList<>(); - private final List configLists = new ArrayList<>(); - private final List routeLists = new ArrayList<>(); - - private ResourceLoader resourceLoader = new AsyncResourceLoader(); - private Level logLevel = Level.ALL; - public boolean sigleInstance; - private Level logSoutLevel; - - - public void setConfigFile(String filename, String comment) - { - configFile = filename; - configComment = comment; - } - - - public void addConfig(ConfigSetup cfg) - { - configLists.add(cfg); - } - - - public void addKeys(KeySetup keys) - { - keyLists.add(keys); - } - - - public void addRoutes(RouteSetup keys) - { - routeLists.add(keys); - } - - - public void addResources(ResourceSetup res) - { - resourceLists.add(res); - } - - - public void setBusLogging(boolean yes) - { - busLogging = yes; - } - - - public void setLogOptions(String logDir, String filePrefix, int archivedCount, Level logLevel) - { - this.logDir = logDir; - this.logFilePrefix = filePrefix; - this.logArchiveCount = archivedCount; - this.logLevel = logLevel; - } - - - public void setResourceLoader(ResourceLoader resLoader) - { - resourceLoader = resLoader; - } - - - public void setScreenshotDir(String path) - { - this.screenshotDir = path; - } - - - public void setLockFile(String lockFile) - { - this.lockFile = lockFile; - } - - - public void setLogLevel(Level logLevel, Level soutLevel) - { - this.logLevel = logLevel; - this.logSoutLevel = soutLevel; - } - } - // modules private InputSystem inputSystem; - private DisplaySystem displaySystem; private SoundSystem soundSystem; private EventBus eventBus; private MainLoop gameLoop; @@ -177,11 +71,11 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio } - public BaseApp(File workdir, boolean singleInstance) { + public BaseApp(Backend backend) { - WorkDir.init(workdir); - - opt.sigleInstance = singleInstance; + eventBus = new EventBus(); + setBackend(backend); + backend.setBusAccess(this); } @@ -207,6 +101,8 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio */ protected void initialize() { + WorkDir.init(opt.workdir); + if (opt.sigleInstance) initLock(); lockObtained = true; @@ -265,8 +161,7 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio * Display */ Log.f2("Initializing Display System..."); - displaySystem = new DisplaySystem(this); - initDisplay(displaySystem); + initDisplay(gfx()); /* * Audio @@ -393,7 +288,7 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio * Called at the beginning of the initialization sequence, right after lock * was obtained. */ - @DefaultImpl + @Stub protected void preInit() { } @@ -402,22 +297,26 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio /** * Called at the end of init sequence, before main loop starts. */ - @DefaultImpl + @Stub protected void postInit() { } /** - * Create window and configure display system + * Create window and configure rendering system * - * @param display + * @param gfx Graphics module */ - @DefaultImpl - protected void initDisplay(DisplaySystem display) + @Stub + protected void initDisplay(RenderModule gfx) { - display.createMainWindow(800, 600, true, false, "LWJGL game"); - display.setTargetFps(60); + gfx.setSize(800, 600); + gfx.setResizable(true); + gfx.setTitle("New Game"); + gfx.setTargetFps(60); + + gfx.createDisplay(); } @@ -426,7 +325,7 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio * * @param audio */ - @DefaultImpl + @Stub protected void initSoundSystem(SoundSystem audio) { } @@ -467,7 +366,7 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio } - @DefaultImpl + @Stub protected void initInputSystem(InputSystem input) { } @@ -508,13 +407,6 @@ public abstract class BaseApp extends App implements AppAccess, UncaughtExceptio } - @Override - public final DisplaySystem getDisplay() - { - return displaySystem; - } - - @Override public final EventBus getEventBus() { diff --git a/src/mightypork/gamecore/core/modules/MainLoop.java b/src/mightypork/gamecore/core/modules/MainLoop.java index 92be51c..138515e 100644 --- a/src/mightypork/gamecore/core/modules/MainLoop.java +++ b/src/mightypork/gamecore/core/modules/MainLoop.java @@ -9,7 +9,7 @@ import mightypork.gamecore.render.Renderable; import mightypork.gamecore.render.TaskTakeScreenshot; import mightypork.gamecore.render.events.ScreenshotRequestListener; import mightypork.utils.Support; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.eventbus.events.UpdateEvent; import mightypork.utils.logging.Log; import mightypork.utils.math.timing.Profiler; @@ -35,8 +35,7 @@ public class MainLoop extends AppModule implements ScreenshotRequestListener { /** * @param app {@link AppAccess} instance */ - public MainLoop(AppAccess app) - { + public MainLoop(AppAccess app) { super(app); } @@ -61,7 +60,7 @@ public class MainLoop extends AppModule implements ScreenshotRequestListener { timer = new TimerDelta(); while (running) { - getDisplay().beginFrame(); + App.gfx().beginFrame(); double delta = timer.getDelta(); if (delta > MAX_DELTA) { @@ -90,7 +89,7 @@ public class MainLoop extends AppModule implements ScreenshotRequestListener { afterRender(); - getDisplay().endFrame(); + App.gfx().endFrame(); } } @@ -98,7 +97,7 @@ public class MainLoop extends AppModule implements ScreenshotRequestListener { /** * Called before render */ - @DefaultImpl + @Stub protected void beforeRender() { // @@ -108,7 +107,7 @@ public class MainLoop extends AppModule implements ScreenshotRequestListener { /** * Called after render */ - @DefaultImpl + @Stub protected void afterRender() { // diff --git a/src/mightypork/gamecore/gui/components/BaseComponent.java b/src/mightypork/gamecore/gui/components/BaseComponent.java index 083783c..a4210c8 100644 --- a/src/mightypork/gamecore/gui/components/BaseComponent.java +++ b/src/mightypork/gamecore/gui/components/BaseComponent.java @@ -6,7 +6,7 @@ import mightypork.gamecore.gui.events.LayoutChangeListener; import mightypork.gamecore.input.InputSystem; import mightypork.gamecore.render.Renderable; import mightypork.utils.Support; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.interfaces.Enableable; import mightypork.utils.logging.Log; import mightypork.utils.math.color.Color; @@ -33,8 +33,7 @@ public abstract class BaseComponent extends AbstractRectCache implements Compone private Num alphaMul = Num.ONE; - public BaseComponent() - { + public BaseComponent() { enableCaching(false); } @@ -110,7 +109,7 @@ public abstract class BaseComponent extends AbstractRectCache implements Compone @Override - @DefaultImpl + @Stub public void updateLayout() { } diff --git a/src/mightypork/gamecore/gui/components/LayoutComponent.java b/src/mightypork/gamecore/gui/components/LayoutComponent.java index 46759a9..916170b 100644 --- a/src/mightypork/gamecore/gui/components/LayoutComponent.java +++ b/src/mightypork/gamecore/gui/components/LayoutComponent.java @@ -7,7 +7,6 @@ import java.util.LinkedList; import mightypork.gamecore.core.modules.AppAccess; import mightypork.gamecore.core.modules.AppSubModule; import mightypork.gamecore.input.InputSystem; -import mightypork.gamecore.render.DisplaySystem; import mightypork.gamecore.resources.audio.SoundSystem; import mightypork.utils.eventbus.EventBus; import mightypork.utils.eventbus.clients.ClientHub; @@ -20,16 +19,14 @@ public abstract class LayoutComponent extends BaseComponent implements ClientHub final LinkedList components = new LinkedList<>(); - public LayoutComponent(AppAccess app, RectBound context) - { + public LayoutComponent(AppAccess app, RectBound context) { this.subModule = new AppSubModule(app); setRect(context); enableCaching(true); // layout is typically updated only when screen resizes. } - public LayoutComponent(AppAccess app) - { + public LayoutComponent(AppAccess app) { this(app, null); } @@ -76,13 +73,6 @@ public abstract class LayoutComponent extends BaseComponent implements ClientHub } - @Override - public DisplaySystem getDisplay() - { - return subModule.getDisplay(); - } - - @Override public void shutdown() { diff --git a/src/mightypork/gamecore/gui/components/LinearComponent.java b/src/mightypork/gamecore/gui/components/LinearComponent.java index 893149c..665d545 100644 --- a/src/mightypork/gamecore/gui/components/LinearComponent.java +++ b/src/mightypork/gamecore/gui/components/LinearComponent.java @@ -52,8 +52,7 @@ public abstract class LinearComponent extends BaseComponent implements DynamicWi private Num height; - public LinearComponent() - { + public LinearComponent() { super.setRect(rect); } diff --git a/src/mightypork/gamecore/gui/components/input/ClickableWrapper.java b/src/mightypork/gamecore/gui/components/input/ClickableWrapper.java index 45dc6b7..ac6b8aa 100644 --- a/src/mightypork/gamecore/gui/components/input/ClickableWrapper.java +++ b/src/mightypork/gamecore/gui/components/input/ClickableWrapper.java @@ -14,8 +14,7 @@ public class ClickableWrapper extends ClickableComponent implements DelegatingCl private final ClientList list; - public ClickableWrapper(Component wrapped) - { + public ClickableWrapper(Component wrapped) { this.wrapped = wrapped; wrapped.setRect(this); diff --git a/src/mightypork/gamecore/gui/components/input/TextButton.java b/src/mightypork/gamecore/gui/components/input/TextButton.java index 40eb506..992c838 100644 --- a/src/mightypork/gamecore/gui/components/input/TextButton.java +++ b/src/mightypork/gamecore/gui/components/input/TextButton.java @@ -32,8 +32,7 @@ public class TextButton extends ClickableComponent implements DynamicWidthCompon private boolean hoverMove = true; - public TextButton(GLFont font, String text, Color color) - { + public TextButton(GLFont font, String text, Color color) { this.color = color; this.textPainter = new TextPainter(font, AlignX.CENTER, this.color, text); diff --git a/src/mightypork/gamecore/gui/components/layout/ColumnLayout.java b/src/mightypork/gamecore/gui/components/layout/ColumnLayout.java index abbdf2a..9a2470d 100644 --- a/src/mightypork/gamecore/gui/components/layout/ColumnLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/ColumnLayout.java @@ -11,14 +11,12 @@ public class ColumnLayout extends GridLayout { private int col = 0; - public ColumnLayout(AppAccess app, int rows) - { + public ColumnLayout(AppAccess app, int rows) { this(app, null, rows); } - public ColumnLayout(AppAccess app, RectBound context, int cols) - { + public ColumnLayout(AppAccess app, RectBound context, int cols) { super(app, context, 1, cols); } diff --git a/src/mightypork/gamecore/gui/components/layout/ConstraintLayout.java b/src/mightypork/gamecore/gui/components/layout/ConstraintLayout.java index 3bf0ae8..e0e6c96 100644 --- a/src/mightypork/gamecore/gui/components/layout/ConstraintLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/ConstraintLayout.java @@ -14,14 +14,12 @@ import mightypork.utils.math.constraints.rect.RectBound; */ public class ConstraintLayout extends LayoutComponent { - public ConstraintLayout(AppAccess app) - { + public ConstraintLayout(AppAccess app) { super(app); } - public ConstraintLayout(AppAccess app, RectBound context) - { + public ConstraintLayout(AppAccess app, RectBound context) { super(app, context); } diff --git a/src/mightypork/gamecore/gui/components/layout/FlowColumnLayout.java b/src/mightypork/gamecore/gui/components/layout/FlowColumnLayout.java index b00d8e3..fb9697a 100644 --- a/src/mightypork/gamecore/gui/components/layout/FlowColumnLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/FlowColumnLayout.java @@ -28,8 +28,7 @@ public class FlowColumnLayout extends LayoutComponent { * @param elementWidth width of all elements * @param align component align. Legal values are LEFT and RIGHT. */ - public FlowColumnLayout(AppAccess app, RectBound context, Num elementWidth, AlignX align) - { + public FlowColumnLayout(AppAccess app, RectBound context, Num elementWidth, AlignX align) { super(app, context); this.elementWidth = elementWidth; this.align = align; @@ -48,8 +47,7 @@ public class FlowColumnLayout extends LayoutComponent { * @param elementWidth width of all elements * @param align component align. Legal values are LEFT and RIGHT. */ - public FlowColumnLayout(AppAccess app, Num elementWidth, AlignX align) - { + public FlowColumnLayout(AppAccess app, Num elementWidth, AlignX align) { this(app, null, elementWidth, align); } diff --git a/src/mightypork/gamecore/gui/components/layout/FlowRowLayout.java b/src/mightypork/gamecore/gui/components/layout/FlowRowLayout.java index 180a1e6..17db112 100644 --- a/src/mightypork/gamecore/gui/components/layout/FlowRowLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/FlowRowLayout.java @@ -28,8 +28,7 @@ public class FlowRowLayout extends LayoutComponent { * @param elementHeight height of all elements * @param align component align. Legal values are TOP and BOTTOM. */ - public FlowRowLayout(AppAccess app, RectBound context, Num elementHeight, AlignY align) - { + public FlowRowLayout(AppAccess app, RectBound context, Num elementHeight, AlignY align) { super(app, context); this.elementHeight = elementHeight; this.align = align; @@ -48,8 +47,7 @@ public class FlowRowLayout extends LayoutComponent { * @param elementHeight height of all elements * @param align component align. Legal values are TOP and BOTTOM. */ - public FlowRowLayout(AppAccess app, Num elementHeight, AlignY align) - { + public FlowRowLayout(AppAccess app, Num elementHeight, AlignY align) { this(app, null, elementHeight, align); } diff --git a/src/mightypork/gamecore/gui/components/layout/GridLayout.java b/src/mightypork/gamecore/gui/components/layout/GridLayout.java index 56da8b5..d672f41 100644 --- a/src/mightypork/gamecore/gui/components/layout/GridLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/GridLayout.java @@ -24,8 +24,7 @@ public class GridLayout extends LayoutComponent { * @param rows number of rows * @param cols number of columns */ - public GridLayout(AppAccess app, RectBound context, int rows, int cols) - { + public GridLayout(AppAccess app, RectBound context, int rows, int cols) { super(app, context); this.tiler = tiles(cols, rows); } @@ -39,8 +38,7 @@ public class GridLayout extends LayoutComponent { * @param rows number of rows * @param cols number of columns */ - public GridLayout(AppAccess app, int rows, int cols) - { + public GridLayout(AppAccess app, int rows, int cols) { this(app, null, rows, cols); } diff --git a/src/mightypork/gamecore/gui/components/layout/RowLayout.java b/src/mightypork/gamecore/gui/components/layout/RowLayout.java index 0db4442..5592a20 100644 --- a/src/mightypork/gamecore/gui/components/layout/RowLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/RowLayout.java @@ -11,14 +11,12 @@ public class RowLayout extends GridLayout { private int row = 0; - public RowLayout(AppAccess app, int rows) - { + public RowLayout(AppAccess app, int rows) { this(app, null, rows); } - public RowLayout(AppAccess app, RectBound context, int rows) - { + public RowLayout(AppAccess app, RectBound context, int rows) { super(app, context, rows, 1); } diff --git a/src/mightypork/gamecore/gui/components/layout/linear/AbstractLinearWrapper.java b/src/mightypork/gamecore/gui/components/layout/linear/AbstractLinearWrapper.java index d2142b5..f7ef0ed 100644 --- a/src/mightypork/gamecore/gui/components/layout/linear/AbstractLinearWrapper.java +++ b/src/mightypork/gamecore/gui/components/layout/linear/AbstractLinearWrapper.java @@ -23,8 +23,7 @@ public abstract class AbstractLinearWrapper extends LinearComponent implements D /** * @param wrapped wrapped component. Can be null. */ - public AbstractLinearWrapper(Component wrapped) - { + public AbstractLinearWrapper(Component wrapped) { this.wrapped = wrapped; if (wrapped != null) { if (wrapped instanceof LinearComponent) { diff --git a/src/mightypork/gamecore/gui/components/layout/linear/LinearGap.java b/src/mightypork/gamecore/gui/components/layout/linear/LinearGap.java index d5f6d25..a5bf526 100644 --- a/src/mightypork/gamecore/gui/components/layout/linear/LinearGap.java +++ b/src/mightypork/gamecore/gui/components/layout/linear/LinearGap.java @@ -12,14 +12,12 @@ import mightypork.utils.math.constraints.num.Num; */ public class LinearGap extends LinearRectangle { - public LinearGap(Num width) - { + public LinearGap(Num width) { super(new NullComponent(), width); } - public LinearGap(double heightPercent) - { + public LinearGap(double heightPercent) { this(Num.ZERO); setWidth(height().perc(heightPercent)); } diff --git a/src/mightypork/gamecore/gui/components/layout/linear/LinearLayout.java b/src/mightypork/gamecore/gui/components/layout/linear/LinearLayout.java index bee938d..d2985cb 100644 --- a/src/mightypork/gamecore/gui/components/layout/linear/LinearLayout.java +++ b/src/mightypork/gamecore/gui/components/layout/linear/LinearLayout.java @@ -15,15 +15,13 @@ import mightypork.utils.math.constraints.vect.proxy.VectAdapter; public class LinearLayout extends LayoutComponent { - public LinearLayout(AppAccess app, AlignX align) - { + public LinearLayout(AppAccess app, AlignX align) { super(app); this.align = align; } - public LinearLayout(AppAccess app, RectBound context, AlignX align) - { + public LinearLayout(AppAccess app, RectBound context, AlignX align) { super(app, context); this.align = align; } diff --git a/src/mightypork/gamecore/gui/components/layout/linear/LinearRectangle.java b/src/mightypork/gamecore/gui/components/layout/linear/LinearRectangle.java index 78e3f9c..9fa3fe8 100644 --- a/src/mightypork/gamecore/gui/components/layout/linear/LinearRectangle.java +++ b/src/mightypork/gamecore/gui/components/layout/linear/LinearRectangle.java @@ -10,8 +10,7 @@ public class LinearRectangle extends AbstractLinearWrapper { private Num width; - public LinearRectangle(Component wrapped, Num width) - { + public LinearRectangle(Component wrapped, Num width) { super(wrapped); this.width = width; } diff --git a/src/mightypork/gamecore/gui/components/layout/linear/LinearSquare.java b/src/mightypork/gamecore/gui/components/layout/linear/LinearSquare.java index a3c37ee..bb3a813 100644 --- a/src/mightypork/gamecore/gui/components/layout/linear/LinearSquare.java +++ b/src/mightypork/gamecore/gui/components/layout/linear/LinearSquare.java @@ -6,8 +6,7 @@ import mightypork.gamecore.gui.components.Component; public class LinearSquare extends AbstractLinearWrapper { - public LinearSquare(Component wrapped) - { + public LinearSquare(Component wrapped) { super(wrapped); } diff --git a/src/mightypork/gamecore/gui/components/layout/linear/LinearWrapper.java b/src/mightypork/gamecore/gui/components/layout/linear/LinearWrapper.java index 2fe8896..0acd7d8 100644 --- a/src/mightypork/gamecore/gui/components/layout/linear/LinearWrapper.java +++ b/src/mightypork/gamecore/gui/components/layout/linear/LinearWrapper.java @@ -6,8 +6,7 @@ import mightypork.gamecore.gui.components.DynamicWidthComponent; public class LinearWrapper extends AbstractLinearWrapper { - public LinearWrapper(DynamicWidthComponent wrapped) - { + public LinearWrapper(DynamicWidthComponent wrapped) { super(wrapped); } diff --git a/src/mightypork/gamecore/gui/components/painters/ImagePainter.java b/src/mightypork/gamecore/gui/components/painters/ImagePainter.java index c4c87a4..fb47e7b 100644 --- a/src/mightypork/gamecore/gui/components/painters/ImagePainter.java +++ b/src/mightypork/gamecore/gui/components/painters/ImagePainter.java @@ -20,8 +20,7 @@ public class ImagePainter extends BaseComponent implements DynamicWidthComponent /** * @param txQuad drawn image */ - public ImagePainter(TxQuad txQuad) - { + public ImagePainter(TxQuad txQuad) { this.txQuad = txQuad; } diff --git a/src/mightypork/gamecore/gui/events/LayoutChangeEvent.java b/src/mightypork/gamecore/gui/events/LayoutChangeEvent.java index 99e66ec..0a9e378 100644 --- a/src/mightypork/gamecore/gui/events/LayoutChangeEvent.java +++ b/src/mightypork/gamecore/gui/events/LayoutChangeEvent.java @@ -18,8 +18,7 @@ import mightypork.utils.eventbus.events.flags.NonRejectableEvent; @NonRejectableEvent public class LayoutChangeEvent extends BusEvent { - public LayoutChangeEvent() - { + public LayoutChangeEvent() { } diff --git a/src/mightypork/gamecore/gui/events/ScreenRequest.java b/src/mightypork/gamecore/gui/events/ScreenRequest.java index eaa7f4c..c48fc8e 100644 --- a/src/mightypork/gamecore/gui/events/ScreenRequest.java +++ b/src/mightypork/gamecore/gui/events/ScreenRequest.java @@ -19,8 +19,7 @@ public class ScreenRequest extends BusEvent { /** * @param screenKey screen name */ - public ScreenRequest(String screenKey) - { + public ScreenRequest(String screenKey) { scrName = screenKey; } diff --git a/src/mightypork/gamecore/gui/screens/LayeredScreen.java b/src/mightypork/gamecore/gui/screens/LayeredScreen.java index 0f0e5e1..a5ee636 100644 --- a/src/mightypork/gamecore/gui/screens/LayeredScreen.java +++ b/src/mightypork/gamecore/gui/screens/LayeredScreen.java @@ -50,8 +50,7 @@ public abstract class LayeredScreen extends Screen { /** * @param app app access */ - public LayeredScreen(AppAccess app) - { + public LayeredScreen(AppAccess app) { super(app); addChildClient(layersClient); } diff --git a/src/mightypork/gamecore/gui/screens/Overlay.java b/src/mightypork/gamecore/gui/screens/Overlay.java index 15e3bfa..8522085 100644 --- a/src/mightypork/gamecore/gui/screens/Overlay.java +++ b/src/mightypork/gamecore/gui/screens/Overlay.java @@ -4,17 +4,19 @@ package mightypork.gamecore.gui.screens; import java.util.ArrayList; import java.util.Collection; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.core.modules.AppAccess; import mightypork.gamecore.core.modules.AppSubModule; import mightypork.gamecore.gui.Hideable; import mightypork.gamecore.gui.components.layout.ConstraintLayout; import mightypork.gamecore.gui.events.LayoutChangeListener; +import mightypork.gamecore.input.InputSystem; import mightypork.gamecore.input.KeyBinder; import mightypork.gamecore.input.KeyBindingPool; import mightypork.gamecore.input.KeyStroke; import mightypork.gamecore.input.KeyStroke.Edge; import mightypork.gamecore.render.Renderable; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.interfaces.Enableable; import mightypork.utils.interfaces.Updateable; import mightypork.utils.math.color.Color; @@ -28,8 +30,7 @@ import mightypork.utils.math.constraints.vect.Vect; * * @author Ondřej Hruška (MightyPork) */ -public abstract class Overlay extends AppSubModule implements Comparable, Updateable, Renderable, KeyBinder, Hideable, Enableable, - LayoutChangeListener { +public abstract class Overlay extends AppSubModule implements Comparable, Updateable, Renderable, KeyBinder, Hideable, Enableable, LayoutChangeListener { private boolean visible = true; private boolean enabled = true; @@ -50,13 +51,13 @@ public abstract class Overlay extends AppSubModule implements Comparable */ @Override - @DefaultImpl + @Stub public void onLayoutChanged() { } diff --git a/src/mightypork/gamecore/gui/screens/Screen.java b/src/mightypork/gamecore/gui/screens/Screen.java index dd5da90..ca40b25 100644 --- a/src/mightypork/gamecore/gui/screens/Screen.java +++ b/src/mightypork/gamecore/gui/screens/Screen.java @@ -10,9 +10,8 @@ import mightypork.gamecore.input.KeyBinder; import mightypork.gamecore.input.KeyBindingPool; import mightypork.gamecore.input.KeyStroke; import mightypork.gamecore.input.KeyStroke.Edge; -import mightypork.gamecore.render.DisplaySystem; import mightypork.gamecore.render.Renderable; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.math.constraints.rect.Rect; import mightypork.utils.math.constraints.rect.RectBound; @@ -112,7 +111,7 @@ public abstract class Screen extends AppSubModule implements Renderable, RectBou @Override public final Rect getRect() { - return getDisplay().getRect(); + return App.gfx().getRect(); } @@ -122,7 +121,7 @@ public abstract class Screen extends AppSubModule implements Renderable, RectBou if (!isActive()) return; if (needSetupViewport) { - App.gfx().setupProjection(DisplaySystem.getSize()); + App.gfx().setupProjection(); } App.gfx().pushState(); @@ -136,7 +135,7 @@ public abstract class Screen extends AppSubModule implements Renderable, RectBou /** * Called when the screen becomes active */ - @DefaultImpl + @Stub protected void onScreenEnter() { } @@ -145,7 +144,7 @@ public abstract class Screen extends AppSubModule implements Renderable, RectBou /** * Called when the screen is no longer active */ - @DefaultImpl + @Stub protected void onScreenLeave() { } diff --git a/src/mightypork/gamecore/gui/screens/ScreenLayer.java b/src/mightypork/gamecore/gui/screens/ScreenLayer.java index 6465918..64334d1 100644 --- a/src/mightypork/gamecore/gui/screens/ScreenLayer.java +++ b/src/mightypork/gamecore/gui/screens/ScreenLayer.java @@ -1,7 +1,7 @@ package mightypork.gamecore.gui.screens; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; /** @@ -17,8 +17,7 @@ public abstract class ScreenLayer extends Overlay { /** * @param screen parent screen */ - public ScreenLayer(Screen screen) - { + public ScreenLayer(Screen screen) { super(screen); // screen as AppAccess this.screen = screen; @@ -37,7 +36,7 @@ public abstract class ScreenLayer extends Overlay { /** * Called when the screen becomes active */ - @DefaultImpl + @Stub protected void onScreenEnter() { } @@ -46,7 +45,7 @@ public abstract class ScreenLayer extends Overlay { /** * Called when the screen is no longer active */ - @DefaultImpl + @Stub protected void onScreenLeave() { } diff --git a/src/mightypork/gamecore/gui/screens/ScreenRegistry.java b/src/mightypork/gamecore/gui/screens/ScreenRegistry.java index 7d2ac24..8b80c9a 100644 --- a/src/mightypork/gamecore/gui/screens/ScreenRegistry.java +++ b/src/mightypork/gamecore/gui/screens/ScreenRegistry.java @@ -13,7 +13,7 @@ import mightypork.gamecore.gui.events.ScreenRequestListener; import mightypork.gamecore.render.Renderable; import mightypork.gamecore.render.events.ViewportChangeEvent; import mightypork.gamecore.render.events.ViewportChangeListener; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.logging.Log; @@ -32,8 +32,7 @@ public class ScreenRegistry extends AppModule implements ScreenRequestListener, /** * @param app app access */ - public ScreenRegistry(AppAccess app) - { + public ScreenRegistry(AppAccess app) { super(app); } @@ -102,7 +101,7 @@ public class ScreenRegistry extends AppModule implements ScreenRequestListener, @Override - @DefaultImpl + @Stub protected void deinit() { // diff --git a/src/mightypork/gamecore/gui/screens/impl/CrossfadeOverlay.java b/src/mightypork/gamecore/gui/screens/impl/CrossfadeOverlay.java index 0a09842..a50927c 100644 --- a/src/mightypork/gamecore/gui/screens/impl/CrossfadeOverlay.java +++ b/src/mightypork/gamecore/gui/screens/impl/CrossfadeOverlay.java @@ -41,8 +41,7 @@ public class CrossfadeOverlay extends Overlay { }; - public CrossfadeOverlay(AppAccess app) - { + public CrossfadeOverlay(AppAccess app) { super(app); final QuadPainter qp = new QuadPainter(RGB.BLACK); // TODO allow custom colors diff --git a/src/mightypork/gamecore/gui/screens/impl/CrossfadeRequest.java b/src/mightypork/gamecore/gui/screens/impl/CrossfadeRequest.java index ec14232..29982e2 100644 --- a/src/mightypork/gamecore/gui/screens/impl/CrossfadeRequest.java +++ b/src/mightypork/gamecore/gui/screens/impl/CrossfadeRequest.java @@ -19,8 +19,7 @@ public class CrossfadeRequest extends BusEvent { * @param screen screen key to show. Null = exit the app. * @param fromDark true to fade from full black (ie. start of the game) */ - public CrossfadeRequest(String screen, boolean fromDark) - { + public CrossfadeRequest(String screen, boolean fromDark) { super(); this.screen = screen; this.fromDark = fromDark; @@ -30,8 +29,7 @@ public class CrossfadeRequest extends BusEvent { /** * @param screen screen key to show. Null = exit the app. */ - public CrossfadeRequest(String screen) - { + public CrossfadeRequest(String screen) { super(); this.screen = screen; this.fromDark = false; diff --git a/src/mightypork/gamecore/gui/screens/impl/FadingLayer.java b/src/mightypork/gamecore/gui/screens/impl/FadingLayer.java index 34d97f0..82e87cc 100644 --- a/src/mightypork/gamecore/gui/screens/impl/FadingLayer.java +++ b/src/mightypork/gamecore/gui/screens/impl/FadingLayer.java @@ -3,7 +3,7 @@ package mightypork.gamecore.gui.screens.impl; import mightypork.gamecore.gui.screens.Screen; import mightypork.gamecore.gui.screens.ScreenLayer; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.math.animation.Easing; import mightypork.utils.math.animation.NumAnimated; import mightypork.utils.math.timing.TimedTask; @@ -47,8 +47,7 @@ public abstract class FadingLayer extends ScreenLayer { * * @param screen */ - public FadingLayer(Screen screen) - { + public FadingLayer(Screen screen) { this(screen, new NumAnimated(1, Easing.QUADRATIC_OUT, 0.3)); } @@ -57,8 +56,7 @@ public abstract class FadingLayer extends ScreenLayer { * @param screen * @param easingAnim the animation num */ - public FadingLayer(Screen screen, NumAnimated easingAnim) - { + public FadingLayer(Screen screen, NumAnimated easingAnim) { super(screen); numa = easingAnim; @@ -74,7 +72,7 @@ public abstract class FadingLayer extends ScreenLayer { /** * Called after the fade-out was completed */ - @DefaultImpl + @Stub protected void onHideFinished() { } @@ -83,7 +81,7 @@ public abstract class FadingLayer extends ScreenLayer { /** * Called after the fade-in was completed */ - @DefaultImpl + @Stub protected void onShowFinished() { } diff --git a/src/mightypork/gamecore/gui/screens/impl/LayerColor.java b/src/mightypork/gamecore/gui/screens/impl/LayerColor.java index b4f2451..b1b67a2 100644 --- a/src/mightypork/gamecore/gui/screens/impl/LayerColor.java +++ b/src/mightypork/gamecore/gui/screens/impl/LayerColor.java @@ -12,8 +12,7 @@ public class LayerColor extends ScreenLayer { private final int zIndex; - public LayerColor(Screen screen, Color color, int zIndex) - { + public LayerColor(Screen screen, Color color, int zIndex) { super(screen); final QuadPainter qp = new QuadPainter(color); diff --git a/src/mightypork/gamecore/input/InputSystem.java b/src/mightypork/gamecore/input/InputSystem.java index 4413fd2..4f685d2 100644 --- a/src/mightypork/gamecore/input/InputSystem.java +++ b/src/mightypork/gamecore/input/InputSystem.java @@ -58,8 +58,7 @@ public class InputSystem extends RootBusNode implements Updateable, KeyBinder { /** * @param app app access */ - public InputSystem(AppAccess app) - { + public InputSystem(AppAccess app) { super(app); initDevices(); diff --git a/src/mightypork/gamecore/input/KeyBinding.java b/src/mightypork/gamecore/input/KeyBinding.java index c77c0d6..1b32c8d 100644 --- a/src/mightypork/gamecore/input/KeyBinding.java +++ b/src/mightypork/gamecore/input/KeyBinding.java @@ -25,8 +25,7 @@ public class KeyBinding implements KeyEventHandler, InputReadyListener { * @param stroke trigger keystroke * @param handler action */ - public KeyBinding(KeyStroke stroke, Edge edge, Runnable handler) - { + public KeyBinding(KeyStroke stroke, Edge edge, Runnable handler) { this.keystroke = stroke; this.handler = handler; this.edge = edge; diff --git a/src/mightypork/gamecore/input/KeyStroke.java b/src/mightypork/gamecore/input/KeyStroke.java index 4957ac9..23e9277 100644 --- a/src/mightypork/gamecore/input/KeyStroke.java +++ b/src/mightypork/gamecore/input/KeyStroke.java @@ -28,8 +28,7 @@ public class KeyStroke { //implements Pollable * @param key key code * @param mod_mask mods mask */ - public KeyStroke(int key, int mod_mask) - { + public KeyStroke(int key, int mod_mask) { setTo(key, mod_mask); } @@ -39,8 +38,7 @@ public class KeyStroke { //implements Pollable * * @param key key code */ - public KeyStroke(int key) - { + public KeyStroke(int key) { this(key, Keys.MOD_NONE); } diff --git a/src/mightypork/gamecore/input/events/KeyEvent.java b/src/mightypork/gamecore/input/events/KeyEvent.java index 27cd820..4c97912 100644 --- a/src/mightypork/gamecore/input/events/KeyEvent.java +++ b/src/mightypork/gamecore/input/events/KeyEvent.java @@ -25,8 +25,7 @@ public class KeyEvent extends BusEvent { * @param c typed char (can be zero char) * @param down true = pressed, false = released. */ - public KeyEvent(int key, char c, boolean down) - { + public KeyEvent(int key, char c, boolean down) { this.key = key; this.c = c; this.down = down; diff --git a/src/mightypork/gamecore/input/events/MouseButtonEvent.java b/src/mightypork/gamecore/input/events/MouseButtonEvent.java index e116804..3696afe 100644 --- a/src/mightypork/gamecore/input/events/MouseButtonEvent.java +++ b/src/mightypork/gamecore/input/events/MouseButtonEvent.java @@ -34,8 +34,7 @@ public class MouseButtonEvent extends BusEvent { * @param down button pressed * @param wheeld wheel change */ - public MouseButtonEvent(Vect pos, int button, boolean down, int wheeld) - { + public MouseButtonEvent(Vect pos, int button, boolean down, int wheeld) { this.button = button; this.down = down; this.pos = pos.freeze(); diff --git a/src/mightypork/gamecore/input/events/MouseMotionEvent.java b/src/mightypork/gamecore/input/events/MouseMotionEvent.java index 06fda84..5131644 100644 --- a/src/mightypork/gamecore/input/events/MouseMotionEvent.java +++ b/src/mightypork/gamecore/input/events/MouseMotionEvent.java @@ -23,8 +23,7 @@ public class MouseMotionEvent extends BusEvent { * @param pos end pos * @param move move vector */ - public MouseMotionEvent(Vect pos, Vect move) - { + public MouseMotionEvent(Vect pos, Vect move) { this.move = move.freeze(); this.pos = pos.freeze(); } diff --git a/src/mightypork/gamecore/render/DisplaySystem.java b/src/mightypork/gamecore/render/DisplaySystem.java deleted file mode 100644 index 53c6e5f..0000000 --- a/src/mightypork/gamecore/render/DisplaySystem.java +++ /dev/null @@ -1,300 +0,0 @@ -package mightypork.gamecore.render; - - -import static org.lwjgl.opengl.GL11.*; - -import java.nio.ByteBuffer; - -import mightypork.gamecore.backend.lwjgl.AwtScreenshot; -import mightypork.gamecore.core.modules.AppAccess; -import mightypork.gamecore.core.modules.AppModule; -import mightypork.gamecore.render.events.DisplayReadyEvent; -import mightypork.gamecore.render.events.ViewportChangeEvent; -import mightypork.utils.logging.Log; -import mightypork.utils.math.constraints.rect.Rect; -import mightypork.utils.math.constraints.rect.RectBound; -import mightypork.utils.math.constraints.vect.Vect; -import mightypork.utils.math.timing.FpsMeter; - -import org.lwjgl.BufferUtils; -import org.lwjgl.LWJGLException; -import org.lwjgl.opengl.Display; -import org.lwjgl.opengl.DisplayMode; - - -/** - * Display system - * - * @author Ondřej Hruška (MightyPork) - */ -@Deprecated -public class DisplaySystem extends AppModule implements RectBound { - - private DisplayMode windowDisplayMode; - private int targetFps; - private FpsMeter fpsMeter; - private boolean fullscreenSwitchRequested; - - /** Current screen size */ - private static final Vect screenSize = new Vect() { - - @Override - public double y() - { - return Display.getHeight(); - } - - - @Override - public double x() - { - return Display.getWidth(); - } - }; - - private static final Rect rect = Rect.make(screenSize); - - - /** - * @param app app access - */ - public DisplaySystem(AppAccess app) - { - super(app); - } - - - @Override - protected void deinit() - { - Display.destroy(); - } - - - /** - * Set target fps (for syncing in endFrame() call).
- * With vsync enabled, the target fps may not be met. - * - * @param fps requested fps - */ - public void setTargetFps(int fps) - { - this.targetFps = fps; - } - - - /** - * Create a main window - * - * @param width requested width - * @param height requested height - * @param resizable is resizable by the user - * @param fullscreen is in fullscreen - * @param title window title - */ - public void createMainWindow(int width, int height, boolean resizable, boolean fullscreen, String title) - { - try { - Display.setDisplayMode(windowDisplayMode = new DisplayMode(width, height)); - Display.setResizable(resizable); - Display.setVSyncEnabled(true); - Display.setTitle(title); - Display.create(); - - fpsMeter = new FpsMeter(); - - if (fullscreen) { - switchFullscreen(); - Display.update(); - } - - getEventBus().send(new DisplayReadyEvent()); - - } catch (final LWJGLException e) { - throw new RuntimeException("Could not initialize screen", e); - } - } - - - /** - * Toggle FS if possible - */ - public void switchFullscreen() - { - fullscreenSwitchRequested = true; - } - - - private void doSwitchFullscreen() - { - try { - - if (!Display.isFullscreen()) { - Log.f3("Entering fullscreen."); - // save window resize - windowDisplayMode = new DisplayMode(Display.getWidth(), Display.getHeight()); - - Display.setDisplayMode(Display.getDesktopDisplayMode()); - Display.setFullscreen(true); - Display.update(); - } else { - Log.f3("Leaving fullscreen."); - Display.setDisplayMode(windowDisplayMode); - Display.update(); - } - - getEventBus().send(new ViewportChangeEvent(getSize())); - - } catch (final Throwable t) { - Log.e("Failed to toggle fullscreen mode.", t); - try { - Display.setDisplayMode(windowDisplayMode); - Display.update(); - } catch (final Throwable t1) { - throw new RuntimeException("Failed to revert failed fullscreen toggle.", t1); - } - } - } - - - /** - * Take screenshot (expensive processing is done on-demand when screenshot - * is processed). - * - * @return screenshot object - */ - public static AwtScreenshot prepareScreenshot() - { - glReadBuffer(GL_FRONT); - final int width = Display.getWidth(); - final int height = Display.getHeight(); - final int bpp = 4; - final ByteBuffer buffer = BufferUtils.createByteBuffer(width * height * bpp); - glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); - - final AwtScreenshot sc = new AwtScreenshot(width, height, bpp, buffer); - - return sc; - } - - - /** - * @return true if close was requested (i.e. click on cross) - */ - public static boolean isCloseRequested() - { - return Display.isCloseRequested(); - } - - - /** - * Get fullscreen state - * - * @return is fullscreen - */ - public static boolean isFullscreen() - { - return Display.isFullscreen(); - } - - - /** - * Get screen size. This Vect is final and views at it can safely be made. - * - * @return size - */ - public static Vect getSize() - { - return screenSize; - } - - - /** - * Get screen rect. Static version of getRect(). - * - * @return size - */ - public static Rect getBounds() - { - return rect; - } - - - /** - * @return screen width - */ - public static int getWidth() - { - return screenSize.xi(); - } - - - /** - * @return screen height - */ - public static int getHeight() - { - return screenSize.yi(); - } - - - /** - * Start a OpenGL frame - */ - public void beginFrame() - { - // handle resize - if (Display.wasResized()) { - getEventBus().send(new ViewportChangeEvent(getSize())); - } - - if (fullscreenSwitchRequested) { - fullscreenSwitchRequested = false; - doSwitchFullscreen(); - } - - glLoadIdentity(); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - fpsMeter.frame(); - } - - - /** - * End an OpenGL frame, flip buffers, sync to fps. - */ - public void endFrame() - { - Display.update(false); // don't poll input devices - Display.sync(targetFps); - } - - - /** - * Get screen rect. This Rect is final and views at it can safely be made. - */ - @Override - public Rect getRect() - { - return getBounds(); - } - - - /** - * @return current FPS - */ - public long getFps() - { - return fpsMeter.getFPS(); - } - - - /** - * Get screen center. This vect is final and views at it can safely be made. - * - * @return screen center. - */ - public static Vect getCenter() - { - return rect.center(); - } -} diff --git a/src/mightypork/gamecore/render/Render.java b/src/mightypork/gamecore/render/Render.java deleted file mode 100644 index ca4d781..0000000 --- a/src/mightypork/gamecore/render/Render.java +++ /dev/null @@ -1,542 +0,0 @@ -package mightypork.gamecore.render; - - -import static org.lwjgl.opengl.GL11.*; - -import java.io.IOException; - -import mightypork.gamecore.resources.textures.FilterMode; -import mightypork.gamecore.resources.textures.ITexture; -import mightypork.gamecore.resources.textures.TxQuad; -import mightypork.utils.files.FileUtils; -import mightypork.utils.logging.Log; -import mightypork.utils.math.color.Color; -import mightypork.utils.math.color.pal.RGB; -import mightypork.utils.math.constraints.rect.Rect; -import mightypork.utils.math.constraints.rect.caching.RectDigest; -import mightypork.utils.math.constraints.vect.Vect; -import mightypork.utils.math.constraints.vect.VectConst; - -import org.lwjgl.opengl.GL11; -import org.newdawn.slick.opengl.Texture; -import org.newdawn.slick.opengl.TextureLoader; - - -/** - * Render utilities - * - * @author Ondřej Hruška (MightyPork) - */ -@Deprecated -public class Render { - - public static final VectConst AXIS_X = Vect.make(1, 0, 0); - public static final VectConst AXIS_Y = Vect.make(0, 1, 0); - public static final VectConst AXIS_Z = Vect.make(0, 0, 1); - - - /** - * Bind GL color - * - * @param color Color color - */ - public static void setColor(Color color) - { - if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a()); - } - - - /** - * Bind GL color - * - * @param color Color color - * @param alpha alpha multiplier - */ - public static void setColor(Color color, double alpha) - { - if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a() * alpha); - } - - - /** - * Translate - * - * @param x - * @param y - */ - public static void translate(double x, double y) - { - glTranslated(x, y, 0); - } - - - /** - * Translate - * - * @param x - * @param y - * @param z - */ - public static void translate(double x, double y, double z) - { - glTranslated(x, y, z); - } - - - /** - * Translate with coord - * - * @param coord coord - */ - public static void translate(Vect coord) - { - glTranslated(coord.x(), coord.y(), coord.z()); - } - - - /** - * Translate with coord, discard Z - * - * @param coord coord - */ - public static void translateXY(Vect coord) - { - glTranslated(coord.x(), coord.y(), 0); - } - - - /** - * Scale - * - * @param x - * @param y - */ - public static void scale(double x, double y) - { - glScaled(x, y, 0); - } - - - /** - * Scale - * - * @param x - * @param y - * @param z - */ - public static void scale(double x, double y, double z) - { - glScaled(x, y, z); - } - - - /** - * Scale - * - * @param factor vector of scaling factors - */ - public static void scale(Vect factor) - { - glScaled(factor.x(), factor.y(), factor.z()); - } - - - /** - * Scale by X factor - * - * @param factor scaling factor - */ - public static void scaleXY(double factor) - { - glScaled(factor, factor, 1); - } - - - /** - * Scale by X factor - * - * @param factor scaling factor - */ - public static void scaleX(double factor) - { - glScaled(factor, 1, 1); - } - - - /** - * Scale by Y factor - * - * @param factor scaling factor - */ - public static void scaleY(double factor) - { - glScaled(1, factor, 1); - } - - - /** - * Scale by Z factor - * - * @param factor scaling factor - */ - public static void scaleZ(double factor) - { - glScaled(1, 1, factor); - } - - - /** - * Rotate around X axis - * - * @param angle deg - */ - public static void rotateX(double angle) - { - rotate(angle, AXIS_X); - } - - - /** - * Rotate around Y axis - * - * @param angle deg - */ - public static void rotateY(double angle) - { - rotate(angle, AXIS_Y); - } - - - /** - * Rotate around Z axis - * - * @param angle deg - */ - public static void rotateZ(double angle) - { - rotate(angle, AXIS_Z); - } - - - /** - * Rotate - * - * @param angle rotate angle - * @param axis rotation axis - */ - public static void rotate(double angle, Vect axis) - { - final Vect vec = axis.norm(1); - glRotated(angle, vec.x(), vec.y(), vec.z()); - } - - private static int pushed = 0; - /** Can be used to avoid texture binding and glBegin/glEnd in textured quads */ - public static boolean batchTexturedQuadMode; - - - /** - * Store GL state - */ - public static void pushState() - { - pushed++; - - if (pushed >= 100) { - Log.w("Suspicious number of state pushes: " + pushed); - } - - GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); - GL11.glPushClientAttrib(GL11.GL_ALL_CLIENT_ATTRIB_BITS); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glPushMatrix(); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glPushMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - } - - - /** - * Restore Gl state - */ - public static void popState() - { - if (pushed == 0) { - Log.w("Pop without push."); - } - - pushed--; - - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glPopMatrix(); - GL11.glPopClientAttrib(); - GL11.glPopAttrib(); - } - - - /** - * Store matrix - */ - public static void pushMatrix() - { - GL11.glPushMatrix(); - } - - - /** - * Restore Gl state - */ - public static void popMatrix() - { - GL11.glPopMatrix(); - } - - - /** - * Load texture - * - * @param resourcePath - * @param filtering filtering mode to use while loading. - * @return the loaded texture - */ - public synchronized static Texture loadSlickTexture(String resourcePath, FilterMode filtering) - { - - try { - - final String ext = FileUtils.getExtension(resourcePath).toUpperCase(); - - final Texture texture = TextureLoader.getTexture(ext, FileUtils.getResource(resourcePath), false, filtering.num); - - if (texture == null) { - Log.w("Texture " + resourcePath + " could not be loaded."); - } - - return texture; - - } catch (final IOException e) { - Log.e("Loading of texture " + resourcePath + " failed.", e); - throw new RuntimeException("Could not load texture " + resourcePath + ".", e); - } - - } - - - /** - * Render quad 2D - * - * @param rect rectangle - * @param color draw color - */ - public static void quad(Rect rect, Color color) - { - setColor(color); - quad(rect); - } - - - /** - * Render quad - * - * @param quad the quad to draw (px) - */ - public static void quad(Rect quad) - { - final RectDigest q = quad.digest(); - - // draw with color - - glDisable(GL_TEXTURE_2D); - - // quad - glBegin(GL_QUADS); - glVertex2d(q.left, q.bottom); - glVertex2d(q.right, q.bottom); - glVertex2d(q.right, q.top); - glVertex2d(q.left, q.top); - glEnd(); - } - - - /** - * Draw quad with horizontal gradient - * - * @param quad drawn quad bounds - * @param color1 left color - * @param color2 right color - */ - public static void quadGradH(Rect quad, Color color1, Color color2) - { - quadColor(quad, color1, color2, color2, color1); - } - - - public static void quadColor(Rect quad, Color color) - { - quadColor(quad, color, color, color, color); - } - - - /** - * Draw quad with coloured vertices. - * - * @param quad drawn quad bounds - * @param colorHMinVMin - * @param colorHMaxVMin - * @param colorHMaxVMax - * @param colorHMinVMax - */ - public static void quadColor(Rect quad, Color colorHMinVMin, Color colorHMaxVMin, Color colorHMaxVMax, Color colorHMinVMax) - { - final RectDigest r = quad.digest(); - - // draw with color - - glDisable(GL_TEXTURE_2D); - - glBegin(GL_QUADS); - setColor(colorHMinVMax); - glVertex2d(r.left, r.bottom); - - setColor(colorHMaxVMax); - glVertex2d(r.right, r.bottom); - - setColor(colorHMaxVMin); - glVertex2d(r.right, r.top); - - setColor(colorHMinVMin); - glVertex2d(r.left, r.top); - glEnd(); - } - - - /** - * Draw quad with vertical gradient - * - * @param quad drawn quad bounds - * @param color1 top color - * @param color2 bottom color - */ - public static void quadGradV(Rect quad, Color color1, Color color2) - { - quadColor(quad, color1, color1, color2, color2); - } - - - /** - * Render textured rect - * - * @param quad rectangle (px) - * @param txquad texture quad - */ - public static void quadTextured(Rect quad, TxQuad txquad) - { - quadTextured(quad, txquad, RGB.WHITE); - } - - - /** - * Render textured rect - * - * @param quad rectangle (px) - * @param txquad texture instance - * @param tint color tint - */ - public static void quadTextured(Rect quad, TxQuad txquad, Color tint) - { - if (!batchTexturedQuadMode) { - glEnable(GL_TEXTURE_2D); - txquad.tx.bind(); - glBegin(GL_QUADS); - setColor(tint); - } - - final RectDigest q = quad.digest(); - final RectDigest u = txquad.uvs.digest(); - - final double offs = 0.0001;// hack to avoid white stitching - - double tL = u.left + offs, tR = u.right - offs, tT = u.top + offs, tB = u.bottom - offs; - - // handle flip - if (txquad.isFlippedY()) { - final double swap = tT; - tT = tB; - tB = swap; - } - - if (txquad.isFlippedX()) { - final double swap = tL; - tL = tR; - tR = swap; - } - - final double w = txquad.tx.getWidth01(); - final double h = txquad.tx.getHeight01(); - - // quad with texture - glTexCoord2d(tL * w, tB * h); - glVertex2d(q.left, q.bottom); - - glTexCoord2d(tR * w, tB * h); - glVertex2d(q.right, q.bottom); - - glTexCoord2d(tR * w, tT * h); - glVertex2d(q.right, q.top); - - glTexCoord2d(tL * w, tT * h); - glVertex2d(q.left, q.top); - - if (!batchTexturedQuadMode) glEnd(); - } - - - /** - * Setup Ortho projection for 2D graphics - * - * @param size viewport size (screen size) - */ - public static void setupOrtho(Vect size) - { - // fix projection for changed size - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glViewport(0, 0, size.xi(), size.yi()); - glOrtho(0, size.xi(), size.yi(), 0, -1000, 1000); - - // back to modelview - glMatrixMode(GL_MODELVIEW); - - glLoadIdentity(); - - glDisable(GL_LIGHTING); - - glClearDepth(1f); - glEnable(GL_DEPTH_TEST); - glDepthFunc(GL_LEQUAL); - - glEnable(GL_NORMALIZE); - - glShadeModel(GL_SMOOTH); - - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - } - - - public static void enterBatchTexturedQuadMode(ITexture texture) - { - texture.bind(); - glBegin(GL11.GL_QUADS); - batchTexturedQuadMode = true; - } - - - public static void leaveBatchTexturedQuadMode() - { - glEnd(); - batchTexturedQuadMode = false; - } -} diff --git a/src/mightypork/gamecore/render/RenderModule.java b/src/mightypork/gamecore/render/RenderModule.java index e6dcf28..53a2b6c 100644 --- a/src/mightypork/gamecore/render/RenderModule.java +++ b/src/mightypork/gamecore/render/RenderModule.java @@ -260,11 +260,9 @@ public abstract class RenderModule extends BackendModule { /** - * Setup projection for 2D graphics - * - * @param screenSize current viewport size + * Setup projection for 2D graphics, using current scren size */ - public abstract void setupProjection(Vect screenSize); + public abstract void setupProjection(); /** @@ -286,7 +284,7 @@ public abstract class RenderModule extends BackendModule { /** - * Create a main window + * Create a main window, if needed */ public abstract void createDisplay(); diff --git a/src/mightypork/gamecore/render/TaskTakeScreenshot.java b/src/mightypork/gamecore/render/TaskTakeScreenshot.java index 8866743..45306e9 100644 --- a/src/mightypork/gamecore/render/TaskTakeScreenshot.java +++ b/src/mightypork/gamecore/render/TaskTakeScreenshot.java @@ -4,7 +4,6 @@ package mightypork.gamecore.render; import java.io.File; import java.io.IOException; -import mightypork.gamecore.backend.lwjgl.AwtScreenshot; import mightypork.gamecore.core.WorkDir; import mightypork.gamecore.core.modules.App; import mightypork.utils.Support; diff --git a/src/mightypork/gamecore/render/events/FullscreenToggleRequest.java b/src/mightypork/gamecore/render/events/FullscreenToggleRequest.java index 10aaa64..e8cff95 100644 --- a/src/mightypork/gamecore/render/events/FullscreenToggleRequest.java +++ b/src/mightypork/gamecore/render/events/FullscreenToggleRequest.java @@ -1,16 +1,16 @@ package mightypork.gamecore.render.events; -import mightypork.gamecore.render.DisplaySystem; +import mightypork.gamecore.render.RenderModule; import mightypork.utils.eventbus.BusEvent; import mightypork.utils.eventbus.events.flags.SingleReceiverEvent; @SingleReceiverEvent -public class FullscreenToggleRequest extends BusEvent { +public class FullscreenToggleRequest extends BusEvent { @Override - protected void handleBy(DisplaySystem handler) + protected void handleBy(RenderModule handler) { handler.switchFullscreen(); } diff --git a/src/mightypork/gamecore/render/events/ViewportChangeEvent.java b/src/mightypork/gamecore/render/events/ViewportChangeEvent.java index 92f1017..8851451 100644 --- a/src/mightypork/gamecore/render/events/ViewportChangeEvent.java +++ b/src/mightypork/gamecore/render/events/ViewportChangeEvent.java @@ -22,8 +22,7 @@ public class ViewportChangeEvent extends BusEvent { /** * @param size new screen size */ - public ViewportChangeEvent(Vect size) - { + public ViewportChangeEvent(Vect size) { this.screenSize = size; } diff --git a/src/mightypork/gamecore/resources/AsyncResourceLoader.java b/src/mightypork/gamecore/resources/AsyncResourceLoader.java index 1dbd1f7..adbeb1d 100644 --- a/src/mightypork/gamecore/resources/AsyncResourceLoader.java +++ b/src/mightypork/gamecore/resources/AsyncResourceLoader.java @@ -43,8 +43,7 @@ public class AsyncResourceLoader extends Thread implements ResourceLoader, Destr } - public AsyncResourceLoader() - { + public AsyncResourceLoader() { super("Deferred loader"); } diff --git a/src/mightypork/gamecore/resources/BaseLazyResource.java b/src/mightypork/gamecore/resources/BaseLazyResource.java index 7094fca..709ea5c 100644 --- a/src/mightypork/gamecore/resources/BaseLazyResource.java +++ b/src/mightypork/gamecore/resources/BaseLazyResource.java @@ -27,8 +27,7 @@ public abstract class BaseLazyResource implements LazyResource, Destroyable { * @param resource resource path / name; this string is later used in * loadResource() */ - public BaseLazyResource(String resource) - { + public BaseLazyResource(String resource) { this.resource = resource; } diff --git a/src/mightypork/gamecore/resources/ResourceLoadRequest.java b/src/mightypork/gamecore/resources/ResourceLoadRequest.java index 33abc64..b4d68b4 100644 --- a/src/mightypork/gamecore/resources/ResourceLoadRequest.java +++ b/src/mightypork/gamecore/resources/ResourceLoadRequest.java @@ -19,8 +19,7 @@ public class ResourceLoadRequest extends BusEvent { /** * @param resource resource to load */ - public ResourceLoadRequest(LazyResource resource) - { + public ResourceLoadRequest(LazyResource resource) { this.resource = resource; } diff --git a/src/mightypork/gamecore/resources/TextureBasedResource.java b/src/mightypork/gamecore/resources/TextureBasedResource.java index ab74205..8bc5612 100644 --- a/src/mightypork/gamecore/resources/TextureBasedResource.java +++ b/src/mightypork/gamecore/resources/TextureBasedResource.java @@ -1,12 +1,7 @@ package mightypork.gamecore.resources; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import java.lang.annotation.*; /** diff --git a/src/mightypork/gamecore/resources/audio/JointVolume.java b/src/mightypork/gamecore/resources/audio/JointVolume.java index 393b17d..52c92f3 100644 --- a/src/mightypork/gamecore/resources/audio/JointVolume.java +++ b/src/mightypork/gamecore/resources/audio/JointVolume.java @@ -20,8 +20,7 @@ public class JointVolume extends Volume { * @param volumes individual volumes to join */ @SafeVarargs - public JointVolume(Volume... volumes) - { + public JointVolume(Volume... volumes) { super(1D); this.volumes = volumes; } diff --git a/src/mightypork/gamecore/resources/audio/LazyAudio.java b/src/mightypork/gamecore/resources/audio/LazyAudio.java index 4b844ad..2dde728 100644 --- a/src/mightypork/gamecore/resources/audio/LazyAudio.java +++ b/src/mightypork/gamecore/resources/audio/LazyAudio.java @@ -43,8 +43,7 @@ public class LazyAudio extends BaseLazyResource { * * @param resourceName resource to load when needed */ - public LazyAudio(String resourceName) - { + public LazyAudio(String resourceName) { super(resourceName); } @@ -92,7 +91,7 @@ public class LazyAudio extends BaseLazyResource { { final String ext = FileUtils.getExtension(resource); - try(final InputStream stream = FileUtils.getResource(resource)) { + try (final InputStream stream = FileUtils.getResource(resource)) { if (ext.equalsIgnoreCase("ogg")) { backingAudio = SoundStore.get().getOgg(resource, stream); diff --git a/src/mightypork/gamecore/resources/audio/SoundRegistry.java b/src/mightypork/gamecore/resources/audio/SoundRegistry.java index a938215..467515f 100644 --- a/src/mightypork/gamecore/resources/audio/SoundRegistry.java +++ b/src/mightypork/gamecore/resources/audio/SoundRegistry.java @@ -24,8 +24,7 @@ public class SoundRegistry extends AppAccessAdapter { /** * @param app app access */ - public SoundRegistry(AppAccess app) - { + public SoundRegistry(AppAccess app) { super(app); if (getSoundSystem() == null) throw new NullPointerException("SoundSystem cannot be null."); } diff --git a/src/mightypork/gamecore/resources/audio/SoundSystem.java b/src/mightypork/gamecore/resources/audio/SoundSystem.java index 9267d07..77f1fa2 100644 --- a/src/mightypork/gamecore/resources/audio/SoundSystem.java +++ b/src/mightypork/gamecore/resources/audio/SoundSystem.java @@ -78,8 +78,7 @@ public class SoundSystem extends RootBusNode implements Updateable { /** * @param app app access */ - public SoundSystem(AppAccess app) - { + public SoundSystem(AppAccess app) { super(app); if (!soundSystemInited) { @@ -90,7 +89,6 @@ public class SoundSystem extends RootBusNode implements Updateable { SoundStore.get().init(); setListener(INITIAL_LISTENER_POS); - getEventBus().send(new AudioReadyEvent()); } catch (final Throwable t) { Log.e("Error initializing sound system.", t); diff --git a/src/mightypork/gamecore/resources/audio/Volume.java b/src/mightypork/gamecore/resources/audio/Volume.java index c801c11..49b36f2 100644 --- a/src/mightypork/gamecore/resources/audio/Volume.java +++ b/src/mightypork/gamecore/resources/audio/Volume.java @@ -15,8 +15,7 @@ public class Volume extends Mutable { /** * @param d initial value */ - public Volume(Double d) - { + public Volume(Double d) { super(d); } diff --git a/src/mightypork/gamecore/resources/audio/players/BaseAudioPlayer.java b/src/mightypork/gamecore/resources/audio/players/BaseAudioPlayer.java index 740c28f..27ee4ec 100644 --- a/src/mightypork/gamecore/resources/audio/players/BaseAudioPlayer.java +++ b/src/mightypork/gamecore/resources/audio/players/BaseAudioPlayer.java @@ -32,8 +32,7 @@ public abstract class BaseAudioPlayer implements Destroyable { * @param baseGain base gain (volume multiplier) * @param volume colume control */ - public BaseAudioPlayer(LazyAudio track, double basePitch, double baseGain, Volume volume) - { + public BaseAudioPlayer(LazyAudio track, double basePitch, double baseGain, Volume volume) { this.audio = track; this.baseGain = baseGain; diff --git a/src/mightypork/gamecore/resources/audio/players/EffectPlayer.java b/src/mightypork/gamecore/resources/audio/players/EffectPlayer.java index 859f1b7..7b8ad66 100644 --- a/src/mightypork/gamecore/resources/audio/players/EffectPlayer.java +++ b/src/mightypork/gamecore/resources/audio/players/EffectPlayer.java @@ -19,8 +19,7 @@ public class EffectPlayer extends BaseAudioPlayer { * @param baseGain base gain (volume multiplier) * @param volume volume control */ - public EffectPlayer(LazyAudio track, double basePitch, double baseGain, Volume volume) - { + public EffectPlayer(LazyAudio track, double basePitch, double baseGain, Volume volume) { super(track, (float) basePitch, (float) baseGain, volume); } diff --git a/src/mightypork/gamecore/resources/audio/players/LoopPlayer.java b/src/mightypork/gamecore/resources/audio/players/LoopPlayer.java index 97a76ef..26d46ad 100644 --- a/src/mightypork/gamecore/resources/audio/players/LoopPlayer.java +++ b/src/mightypork/gamecore/resources/audio/players/LoopPlayer.java @@ -40,8 +40,7 @@ public class LoopPlayer extends BaseAudioPlayer implements Updateable, Pauseable * @param baseGain base gain (volume multiplier) * @param volume volume control */ - public LoopPlayer(LazyAudio track, double basePitch, double baseGain, Volume volume) - { + public LoopPlayer(LazyAudio track, double basePitch, double baseGain, Volume volume) { super(track, (float) basePitch, (float) baseGain, volume); paused = true; diff --git a/src/mightypork/gamecore/resources/fonts/FontRegistry.java b/src/mightypork/gamecore/resources/fonts/FontRegistry.java index 6e097ce..8d4596d 100644 --- a/src/mightypork/gamecore/resources/fonts/FontRegistry.java +++ b/src/mightypork/gamecore/resources/fonts/FontRegistry.java @@ -21,8 +21,7 @@ public class FontRegistry extends AppAccessAdapter { /** * @param app app access */ - public FontRegistry(AppAccess app) - { + public FontRegistry(AppAccess app) { super(app); } diff --git a/src/mightypork/gamecore/resources/fonts/FontRenderer.java b/src/mightypork/gamecore/resources/fonts/FontRenderer.java index 01d5bc7..122e766 100644 --- a/src/mightypork/gamecore/resources/fonts/FontRenderer.java +++ b/src/mightypork/gamecore/resources/fonts/FontRenderer.java @@ -24,8 +24,7 @@ public class FontRenderer { /** * @param font used font */ - public FontRenderer(GLFont font) - { + public FontRenderer(GLFont font) { this(font, RGB.WHITE); } @@ -34,8 +33,7 @@ public class FontRenderer { * @param font used font * @param color drawing color */ - public FontRenderer(GLFont font, Color color) - { + public FontRenderer(GLFont font, Color color) { this.font = font; this.color = color; } diff --git a/src/mightypork/gamecore/resources/fonts/impl/LazyFont.java b/src/mightypork/gamecore/resources/fonts/impl/LazyFont.java index 19291d3..c65320a 100644 --- a/src/mightypork/gamecore/resources/fonts/impl/LazyFont.java +++ b/src/mightypork/gamecore/resources/fonts/impl/LazyFont.java @@ -32,8 +32,7 @@ public class LazyFont extends BaseLazyResource implements GLFont { int numval; - private FontStyle(int style) - { + private FontStyle(int style) { this.numval = style; } } @@ -56,8 +55,7 @@ public class LazyFont extends BaseLazyResource implements GLFont { * @param chars chars to load; null to load basic chars only * @param size size (px) */ - public LazyFont(String resourcePath, String chars, double size) - { + public LazyFont(String resourcePath, String chars, double size) { this(resourcePath, chars, size, FontStyle.PLAIN, false, FilterMode.NEAREST); } @@ -72,8 +70,7 @@ public class LazyFont extends BaseLazyResource implements GLFont { * @param antialias use antialiasing for caching texture * @param filter gl filtering mode */ - public LazyFont(String resourcePath, String chars, double size, FontStyle style, boolean antialias, FilterMode filter) - { + public LazyFont(String resourcePath, String chars, double size, FontStyle style, boolean antialias, FilterMode filter) { super(resourcePath); this.size = size; this.style = style; @@ -134,7 +131,7 @@ public class LazyFont extends BaseLazyResource implements GLFont { */ protected Font getAwtFont(String resource, float size, int style) throws IOException { - try(InputStream in = FileUtils.getResource(resource)) { + try (InputStream in = FileUtils.getResource(resource)) { Font awtFont = Font.createFont(Font.TRUETYPE_FONT, in); diff --git a/src/mightypork/gamecore/resources/fonts/impl/LazyFontNative.java b/src/mightypork/gamecore/resources/fonts/impl/LazyFontNative.java index f373770..7bf55f3 100644 --- a/src/mightypork/gamecore/resources/fonts/impl/LazyFontNative.java +++ b/src/mightypork/gamecore/resources/fonts/impl/LazyFontNative.java @@ -26,8 +26,7 @@ public class LazyFontNative extends LazyFont { * @param antialias use antialiasing when drawn on the cache texture * @param filter GL filtering mode */ - public LazyFontNative(String fontName, String extraChars, double size, FontStyle style, boolean antialias, FilterMode filter) - { + public LazyFontNative(String fontName, String extraChars, double size, FontStyle style, boolean antialias, FilterMode filter) { super(fontName, extraChars, size, style, antialias, filter); } diff --git a/src/mightypork/gamecore/resources/fonts/impl/TextureBackedFont.java b/src/mightypork/gamecore/resources/fonts/impl/TextureBackedFont.java index 8fe2084..839f49b 100644 --- a/src/mightypork/gamecore/resources/fonts/impl/TextureBackedFont.java +++ b/src/mightypork/gamecore/resources/fonts/impl/TextureBackedFont.java @@ -20,7 +20,6 @@ import java.util.Map; import mightypork.gamecore.resources.fonts.GLFont; import mightypork.gamecore.resources.textures.FilterMode; -import mightypork.gamecore.resources.textures.LazyTexture; import mightypork.utils.logging.Log; import mightypork.utils.math.color.Color; import mightypork.utils.math.constraints.vect.Vect; @@ -90,8 +89,7 @@ public class TextureBackedFont implements GLFont { * @param filter used Gl filter * @param chars chars to load */ - public TextureBackedFont(java.awt.Font font, boolean antialias, FilterMode filter, String chars) - { + public TextureBackedFont(java.awt.Font font, boolean antialias, FilterMode filter, String chars) { this(font, antialias, filter, (" " + chars).toCharArray()); } @@ -104,8 +102,7 @@ public class TextureBackedFont implements GLFont { * @param filter used Gl filter * @param chars chars to load */ - public TextureBackedFont(java.awt.Font font, boolean antialias, FilterMode filter, char[] chars) - { + public TextureBackedFont(java.awt.Font font, boolean antialias, FilterMode filter, char[] chars) { GLUtils.checkGLContext(); this.font = font; @@ -165,8 +162,7 @@ public class TextureBackedFont implements GLFont { public int height; - public LoadedGlyph(char c, BufferedImage image) - { + public LoadedGlyph(char c, BufferedImage image) { this.image = image; this.c = c; this.width = image.getWidth(); @@ -302,8 +298,7 @@ public class TextureBackedFont implements GLFont { byteBuffer = ByteBuffer.allocateDirect(width * height * (bpp / 8)).order(ByteOrder.nativeOrder()).put(newI); } else { - byteBuffer = ByteBuffer.allocateDirect(width * height * (bpp / 8)).order(ByteOrder.nativeOrder()) - .put(((DataBufferByte) (bufferedImage.getData().getDataBuffer())).getData()); + byteBuffer = ByteBuffer.allocateDirect(width * height * (bpp / 8)).order(ByteOrder.nativeOrder()).put(((DataBufferByte) (bufferedImage.getData().getDataBuffer())).getData()); } byteBuffer.flip(); diff --git a/src/mightypork/gamecore/resources/textures/FilterMode.java b/src/mightypork/gamecore/resources/textures/FilterMode.java index bf1d933..bbaeb40 100644 --- a/src/mightypork/gamecore/resources/textures/FilterMode.java +++ b/src/mightypork/gamecore/resources/textures/FilterMode.java @@ -16,8 +16,7 @@ public enum FilterMode public final int num; - private FilterMode(int gl) - { + private FilterMode(int gl) { this.num = gl; } } diff --git a/src/mightypork/gamecore/resources/textures/QuadGrid.java b/src/mightypork/gamecore/resources/textures/QuadGrid.java index 86c4c04..afa05a4 100644 --- a/src/mightypork/gamecore/resources/textures/QuadGrid.java +++ b/src/mightypork/gamecore/resources/textures/QuadGrid.java @@ -18,8 +18,7 @@ public class QuadGrid { private final double tileH; - public QuadGrid(ITexture tx, int tilesX, int tilesY) - { + public QuadGrid(ITexture tx, int tilesX, int tilesY) { this.tx = tx; this.txWidth = tilesX; this.txHeight = tilesY; diff --git a/src/mightypork/gamecore/resources/textures/TextureRegistry.java b/src/mightypork/gamecore/resources/textures/TextureRegistry.java index ba67ad1..058d0c5 100644 --- a/src/mightypork/gamecore/resources/textures/TextureRegistry.java +++ b/src/mightypork/gamecore/resources/textures/TextureRegistry.java @@ -27,8 +27,7 @@ public class TextureRegistry extends AppAccessAdapter { /** * @param app app access */ - public TextureRegistry(AppAccess app) - { + public TextureRegistry(AppAccess app) { super(app); } diff --git a/src/mightypork/gamecore/resources/textures/TxQuad.java b/src/mightypork/gamecore/resources/textures/TxQuad.java index 3b76a48..34ca4d2 100644 --- a/src/mightypork/gamecore/resources/textures/TxQuad.java +++ b/src/mightypork/gamecore/resources/textures/TxQuad.java @@ -65,8 +65,7 @@ public class TxQuad { * @param x2 right bottom X (0-1) * @param y2 right bottom Y (0-1) */ - public TxQuad(ITexture tx, double x1, double y1, double x2, double y2) - { + public TxQuad(ITexture tx, double x1, double y1, double x2, double y2) { this(tx, Rect.make(x1, y1, x2, y2)); } @@ -75,8 +74,7 @@ public class TxQuad { * @param tx Texture * @param uvs Rect of texture UVs (0-1); will be frozen. */ - public TxQuad(ITexture tx, Rect uvs) - { + public TxQuad(ITexture tx, Rect uvs) { this.tx = tx; this.uvs = uvs.freeze(); } @@ -87,8 +85,7 @@ public class TxQuad { * * @param txQuad a copied quad */ - public TxQuad(TxQuad txQuad) - { + public TxQuad(TxQuad txQuad) { this.tx = txQuad.tx; this.uvs = txQuad.uvs; this.flipX = txQuad.flipX; diff --git a/src/mightypork/gamecore/resources/textures/TxSheet.java b/src/mightypork/gamecore/resources/textures/TxSheet.java index 918a634..3ace5a0 100644 --- a/src/mightypork/gamecore/resources/textures/TxSheet.java +++ b/src/mightypork/gamecore/resources/textures/TxSheet.java @@ -22,8 +22,7 @@ public class TxSheet { private final int count; - public TxSheet(TxQuad tx, int width, int height) - { + public TxSheet(TxQuad tx, int width, int height) { this.original = tx; this.width = width; this.count = width * height; diff --git a/src/mightypork/gamecore/resources/textures/WrapMode.java b/src/mightypork/gamecore/resources/textures/WrapMode.java index e646e5a..7a25488 100644 --- a/src/mightypork/gamecore/resources/textures/WrapMode.java +++ b/src/mightypork/gamecore/resources/textures/WrapMode.java @@ -16,8 +16,7 @@ public enum WrapMode public final int num; - private WrapMode(int gl) - { + private WrapMode(int gl) { this.num = gl; } } diff --git a/src/mightypork/gamecore/util/SlickLogRedirector.java b/src/mightypork/gamecore/util/SlickLogRedirector.java index 7af26b2..fe33d49 100644 --- a/src/mightypork/gamecore/util/SlickLogRedirector.java +++ b/src/mightypork/gamecore/util/SlickLogRedirector.java @@ -19,8 +19,7 @@ public class SlickLogRedirector implements org.newdawn.slick.util.LogSystem { /** * @param log log to redirect into */ - public SlickLogRedirector(LogWriter log) - { + public SlickLogRedirector(LogWriter log) { this.writer = log; } diff --git a/src/mightypork/rogue/Launcher.java b/src/mightypork/rogue/Launcher.java index c0ec058..4fb98ff 100644 --- a/src/mightypork/rogue/Launcher.java +++ b/src/mightypork/rogue/Launcher.java @@ -77,7 +77,10 @@ public class Launcher { System.exit(1); } - final BaseApp app = new RogueApp(workdir, true); + final BaseApp app = new RogueApp(); + + app.getInitOptions().setWorkdir(workdir); + app.getInitOptions().setSigleInstance(true); app.getInitOptions().setLogLevel(llFile, llSyso); app.getInitOptions().setBusLogging(logBus); diff --git a/src/mightypork/rogue/RogueApp.java b/src/mightypork/rogue/RogueApp.java index 87d45c9..57971db 100644 --- a/src/mightypork/rogue/RogueApp.java +++ b/src/mightypork/rogue/RogueApp.java @@ -8,11 +8,12 @@ import mightypork.gamecore.core.config.Config; import mightypork.gamecore.core.events.MainLoopRequest; import mightypork.gamecore.core.events.ShudownRequest; import mightypork.gamecore.core.events.UserQuitRequest; +import mightypork.gamecore.core.modules.AppInitOptions; import mightypork.gamecore.core.modules.BaseApp; import mightypork.gamecore.gui.screens.ScreenRegistry; import mightypork.gamecore.input.InputSystem; import mightypork.gamecore.input.KeyStroke.Edge; -import mightypork.gamecore.render.DisplaySystem; +import mightypork.gamecore.render.RenderModule; import mightypork.gamecore.render.events.FullscreenToggleRequest; import mightypork.gamecore.render.events.ScreenshotRequest; import mightypork.gamecore.render.events.ScreenshotRequestListener; @@ -42,11 +43,8 @@ import mightypork.utils.logging.Log; */ public final class RogueApp extends BaseApp implements ViewportChangeListener, ScreenshotRequestListener { - public RogueApp(File workdir, boolean singleInstance) - { - super(workdir, singleInstance); - - setBackend(new LwjglBackend(this)); + public RogueApp() { + super(new LwjglBackend()); AppInitOptions opt = getInitOptions(); @@ -72,15 +70,20 @@ public final class RogueApp extends BaseApp implements ViewportChangeListener, S @Override - protected void initDisplay(DisplaySystem display) + protected void initDisplay(RenderModule gfx) { // init based on config final int w = Config.getValue("display.width"); final int h = Config.getValue("display.height"); final boolean fs = Config.getValue("display.fullscreen"); - display.createMainWindow(w, h, true, fs, Const.TITLEBAR); - display.setTargetFps(Const.FPS_RENDER); + gfx.setSize(w, h); + gfx.setResizable(true); + gfx.setFullscreen(fs); + gfx.setTitle(Const.TITLEBAR); + gfx.setTargetFps(Const.FPS_RENDER); + + gfx.createDisplay(); } @@ -93,7 +96,6 @@ public final class RogueApp extends BaseApp implements ViewportChangeListener, S WorldProvider.init(this); getEventBus().subscribe(new RogueStateManager(this)); - screens.addScreen("main_menu", new ScreenMainMenu(this)); screens.addScreen("select_world", new ScreenSelectWorld(this)); screens.addScreen("game", new ScreenGame(this)); @@ -133,7 +135,6 @@ public final class RogueApp extends BaseApp implements ViewportChangeListener, S protected void postInit() { - getEventBus().send(new MainLoopRequest(new Runnable() { @Override @@ -154,13 +155,13 @@ public final class RogueApp extends BaseApp implements ViewportChangeListener, S public void onViewportChanged(ViewportChangeEvent event) { // save viewport size to config file - final boolean fs = DisplaySystem.isFullscreen(); + final boolean fs = gfx().isFullscreen(); Config.setValue("display.fullscreen", fs); if (!fs) { - Config.setValue("display.width", DisplaySystem.getWidth()); - Config.setValue("display.height", DisplaySystem.getHeight()); + Config.setValue("display.width", gfx().getWidth()); + Config.setValue("display.height", gfx().getHeight()); } } diff --git a/src/mightypork/rogue/RogueResources.java b/src/mightypork/rogue/RogueResources.java index 60992a4..f2fce52 100644 --- a/src/mightypork/rogue/RogueResources.java +++ b/src/mightypork/rogue/RogueResources.java @@ -16,7 +16,6 @@ import mightypork.utils.math.constraints.rect.Rect; public class RogueResources implements ResourceSetup { - @Override public void addFonts(FontRegistry fonts) { @@ -111,7 +110,6 @@ public class RogueResources implements ResourceSetup { textures.add("inv.slot.base", grid.makeQuad(0, 5)); textures.add("inv.slot.selected", grid.makeQuad(1, 5)); - // sprites texture = textures.addTexture("/res/img/sprites.png", FilterMode.NEAREST, WrapMode.CLAMP); grid = texture.grid(8, 8); @@ -121,7 +119,6 @@ public class RogueResources implements ResourceSetup { textures.add("sprite.rat.boss", grid.makeSheet(0, 3, 4, 1)); textures.add("sprite.zzz", grid.makeQuad(0, 7)); // sleep thingy - // logo texture = textures.addTexture("/res/img/logo.png", FilterMode.NEAREST, WrapMode.CLAMP); textures.add("logo", texture.makeQuad(Rect.make(0, 0, 0.543, 0.203))); @@ -135,7 +132,6 @@ public class RogueResources implements ResourceSetup { textures.add("story_2", grid.makeQuad(3, 2, 3, 1)); textures.add("story_3", grid.makeQuad(0, 3, 3, 1)); - // tiles texture = textures.addTexture("tiles", "/res/img/tiles.png", FilterMode.NEAREST, WrapMode.CLAMP); grid = texture.grid(8, 8); @@ -176,7 +172,6 @@ public class RogueResources implements ResourceSetup { textures.add("tile.ufog.se", grid.makeQuad(5, 7).flipY().flipX()); textures.add("tile.ufog.full", grid.makeQuad(6, 7)); - texture = textures.addTexture("items", "/res/img/items.png", FilterMode.NEAREST, WrapMode.CLAMP); grid = texture.grid(8, 8); textures.add("item.meat", grid.makeQuad(0, 0)); diff --git a/src/mightypork/rogue/RogueStateManager.java b/src/mightypork/rogue/RogueStateManager.java index b4743a8..f761393 100644 --- a/src/mightypork/rogue/RogueStateManager.java +++ b/src/mightypork/rogue/RogueStateManager.java @@ -9,8 +9,7 @@ import mightypork.utils.logging.Log; public class RogueStateManager extends AppModule { - public RogueStateManager(AppAccess app) - { + public RogueStateManager(AppAccess app) { super(app); } @@ -49,5 +48,4 @@ public class RogueStateManager extends AppModule { } } - } diff --git a/src/mightypork/rogue/events/LoadingOverlayRequest.java b/src/mightypork/rogue/events/LoadingOverlayRequest.java index e8f2fbd..1b503fd 100644 --- a/src/mightypork/rogue/events/LoadingOverlayRequest.java +++ b/src/mightypork/rogue/events/LoadingOverlayRequest.java @@ -22,8 +22,7 @@ public class LoadingOverlayRequest extends BusEvent { * @param msg task description * @param task task runnable */ - public LoadingOverlayRequest(String msg, Runnable task) - { + public LoadingOverlayRequest(String msg, Runnable task) { this.task = task; this.msg = msg; } diff --git a/src/mightypork/rogue/events/RogueStateRequest.java b/src/mightypork/rogue/events/RogueStateRequest.java index 8865200..611c41a 100644 --- a/src/mightypork/rogue/events/RogueStateRequest.java +++ b/src/mightypork/rogue/events/RogueStateRequest.java @@ -17,15 +17,13 @@ public class RogueStateRequest extends BusEvent { private final boolean fromDark; - public RogueStateRequest(RogueState requested) - { + public RogueStateRequest(RogueState requested) { this.requested = requested; this.fromDark = false; } - public RogueStateRequest(RogueState requested, boolean fromDark) - { + public RogueStateRequest(RogueState requested, boolean fromDark) { this.requested = requested; this.fromDark = fromDark; } diff --git a/src/mightypork/rogue/screens/FpsOverlay.java b/src/mightypork/rogue/screens/FpsOverlay.java index eedaa39..ba9e48d 100644 --- a/src/mightypork/rogue/screens/FpsOverlay.java +++ b/src/mightypork/rogue/screens/FpsOverlay.java @@ -2,6 +2,7 @@ package mightypork.rogue.screens; import mightypork.gamecore.core.config.Config; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.core.modules.AppAccess; import mightypork.gamecore.gui.Action; import mightypork.gamecore.gui.AlignX; @@ -27,8 +28,7 @@ public class FpsOverlay extends Overlay { TextPainter tp; - public FpsOverlay(AppAccess screen) - { + public FpsOverlay(AppAccess screen) { super(screen); /* @@ -53,7 +53,7 @@ public class FpsOverlay extends Overlay { @Override public String getString() { - return getDisplay().getFps() + " fps"; + return App.gfx().getFps() + " fps"; } }); diff --git a/src/mightypork/rogue/screens/LoadingOverlay.java b/src/mightypork/rogue/screens/LoadingOverlay.java index 125df45..f98f35d 100644 --- a/src/mightypork/rogue/screens/LoadingOverlay.java +++ b/src/mightypork/rogue/screens/LoadingOverlay.java @@ -64,8 +64,7 @@ public class LoadingOverlay extends Overlay { }; - public LoadingOverlay(AppAccess app) - { + public LoadingOverlay(AppAccess app) { super(app); final QuadPainter qp = new QuadPainter(PAL16.SEABLUE); diff --git a/src/mightypork/rogue/screens/RogueScreen.java b/src/mightypork/rogue/screens/RogueScreen.java index deb4215..cb54d44 100644 --- a/src/mightypork/rogue/screens/RogueScreen.java +++ b/src/mightypork/rogue/screens/RogueScreen.java @@ -7,19 +7,18 @@ import mightypork.gamecore.core.modules.AppAccess; import mightypork.gamecore.gui.screens.LayeredScreen; import mightypork.rogue.RogueStateManager.RogueState; import mightypork.rogue.events.RogueStateRequest; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; public class RogueScreen extends LayeredScreen implements UserQuitRequestListener { - public RogueScreen(AppAccess app) - { + public RogueScreen(AppAccess app) { super(app); } @Override - @DefaultImpl + @Stub public void onQuitRequest(UserQuitRequest event) { getEventBus().send(new RogueStateRequest(RogueState.EXIT)); diff --git a/src/mightypork/rogue/screens/game/HeartBar.java b/src/mightypork/rogue/screens/game/HeartBar.java index d000636..3b2eb19 100644 --- a/src/mightypork/rogue/screens/game/HeartBar.java +++ b/src/mightypork/rogue/screens/game/HeartBar.java @@ -1,9 +1,9 @@ package mightypork.rogue.screens.game; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.gui.AlignX; import mightypork.gamecore.gui.components.BaseComponent; -import mightypork.gamecore.render.Render; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.utils.math.constraints.num.Num; import mightypork.utils.math.constraints.num.var.NumVar; @@ -22,8 +22,7 @@ public class HeartBar extends BaseComponent { private final Rect heart; - public HeartBar(Num total, Num active, TxQuad img_on, TxQuad img_half, TxQuad img_off, AlignX align) - { + public HeartBar(Num total, Num active, TxQuad img_on, TxQuad img_half, TxQuad img_off, AlignX align) { super(); this.total = total; this.active = active; @@ -58,7 +57,7 @@ public class HeartBar extends BaseComponent { index.setTo(i); final double rem = active.value() - i; - Render.quadTextured(heart, (rem > 0.6 ? img_on : rem > 0.25 ? img_half : img_off)); + App.gfx().quad(heart, (rem > 0.6 ? img_on : rem > 0.25 ? img_half : img_off)); } } diff --git a/src/mightypork/rogue/screens/game/IngameNav.java b/src/mightypork/rogue/screens/game/IngameNav.java index 66f1340..4f56f5a 100644 --- a/src/mightypork/rogue/screens/game/IngameNav.java +++ b/src/mightypork/rogue/screens/game/IngameNav.java @@ -1,11 +1,11 @@ package mightypork.rogue.screens.game; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.core.modules.AppAccess; import mightypork.gamecore.gui.AlignX; import mightypork.gamecore.gui.components.LayoutComponent; import mightypork.gamecore.gui.components.layout.FlowColumnLayout; -import mightypork.gamecore.render.Render; import mightypork.gamecore.resources.Res; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.utils.math.constraints.rect.Rect; @@ -21,21 +21,18 @@ public class IngameNav extends LayoutComponent { private final TxQuad bg; - public IngameNav(AppAccess app) - { + public IngameNav(AppAccess app) { this(app, null); } - public IngameNav(AppAccess app, RectBound context) - { + public IngameNav(AppAccess app, RectBound context) { super(app, context); final Rect shr = this.shrink(height().perc(5)); leftFlow = new FlowColumnLayout(app, context, shr.height(), AlignX.LEFT); rightFlow = new FlowColumnLayout(app, context, shr.height(), AlignX.RIGHT); - leftFlow.setRect(shr); rightFlow.setRect(shr); attach(leftFlow); @@ -64,11 +61,10 @@ public class IngameNav extends LayoutComponent { { // draw BG (manually repeat) for (int i = 0; i < Math.ceil(width().value() / paintHelper.width().value()); i++) { - Render.quadTextured(paintHelper.moveX(paintHelper.width().value() * i), bg); + App.gfx().quad(paintHelper.moveX(paintHelper.width().value() * i), bg); } super.renderComponent(); } - } diff --git a/src/mightypork/rogue/screens/game/InvSlot.java b/src/mightypork/rogue/screens/game/InvSlot.java index 34b493e..d6bf45e 100644 --- a/src/mightypork/rogue/screens/game/InvSlot.java +++ b/src/mightypork/rogue/screens/game/InvSlot.java @@ -1,11 +1,11 @@ package mightypork.rogue.screens.game; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.gui.Action; import mightypork.gamecore.gui.AlignX; import mightypork.gamecore.gui.components.input.ClickableComponent; import mightypork.gamecore.gui.components.painters.TextPainter; -import mightypork.gamecore.render.Render; import mightypork.gamecore.resources.Res; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.rogue.world.PlayerFacade; @@ -47,8 +47,7 @@ public class InvSlot extends ClickableComponent { private final Num hAlpha = Num.make(0.7); - public InvSlot(int index, InvSlot[] allSlots) - { + public InvSlot(int index, InvSlot[] allSlots) { super(); this.txBase = Res.getTxQuad("inv.slot.base"); this.txSelected = Res.getTxQuad("inv.slot.selected"); @@ -117,7 +116,7 @@ public class InvSlot extends ClickableComponent { bg = txBase; } - Render.quadTextured(this, bg); + App.gfx().quad(this, bg); final PlayerFacade pl = WorldProvider.get().getPlayer(); @@ -148,17 +147,16 @@ public class InvSlot extends ClickableComponent { rtTxP.render(); } - if (itm.isDamageable()) { Color.pushAlpha(hAlpha); - Render.quadColor(usesRect, RGB.BLACK); + App.gfx().quad(usesRect, RGB.BLACK); final double useRatio = (itm.getRemainingUses() / (double) itm.getMaxUses()); final Color barColor = (useRatio > 0.6 ? RGB.GREEN : useRatio > 0.2 ? RGB.ORANGE : RGB.RED); - Render.quadColor(usesRect.shrinkRight(usesRect.width().value() * (1 - useRatio)), barColor); + App.gfx().quad(usesRect.shrinkRight(usesRect.width().value() * (1 - useRatio)), barColor); Color.popAlpha(); } diff --git a/src/mightypork/rogue/screens/game/LayerAskSave.java b/src/mightypork/rogue/screens/game/LayerAskSave.java index 4ba7e22..d96d4cc 100644 --- a/src/mightypork/rogue/screens/game/LayerAskSave.java +++ b/src/mightypork/rogue/screens/game/LayerAskSave.java @@ -44,8 +44,7 @@ public class LayerAskSave extends FadingLayer { } - public LayerAskSave(final ScreenGame screen) - { + public LayerAskSave(final ScreenGame screen) { super(screen); this.gscreen = screen; diff --git a/src/mightypork/rogue/screens/game/LayerDeath.java b/src/mightypork/rogue/screens/game/LayerDeath.java index 8ccc78b..25dd4d5 100644 --- a/src/mightypork/rogue/screens/game/LayerDeath.java +++ b/src/mightypork/rogue/screens/game/LayerDeath.java @@ -28,8 +28,7 @@ import mightypork.utils.math.constraints.num.Num; public class LayerDeath extends FadingLayer { - public LayerDeath(final ScreenGame screen) - { + public LayerDeath(final ScreenGame screen) { super(screen); // darker down to cover console. @@ -54,7 +53,6 @@ public class LayerDeath extends FadingLayer { linl = new LinearLayout(root, AlignX.CENTER); rl.add(linl); - final TextButton btn1 = new TextButton(thick_font, "Retry", ScreenGame.COLOR_BTN_GOOD); btn1.textPainter.setVPaddingPercent(25); linl.add(btn1); diff --git a/src/mightypork/rogue/screens/game/LayerGameUi.java b/src/mightypork/rogue/screens/game/LayerGameUi.java index ab36839..70adca3 100644 --- a/src/mightypork/rogue/screens/game/LayerGameUi.java +++ b/src/mightypork/rogue/screens/game/LayerGameUi.java @@ -40,8 +40,7 @@ public class LayerGameUi extends ScreenLayer { private final ScreenGame gameScreen; - public LayerGameUi(ScreenGame screen) - { + public LayerGameUi(ScreenGame screen) { super(screen); this.gameScreen = screen; @@ -127,7 +126,6 @@ public class LayerGameUi extends ScreenLayer { nav.addRight(btn = new NavButton(Res.getTxQuad("nav.button.fg.pause"))); btn.setAction(gameScreen.actionTogglePause); - // TODO actions //nav.addLeft(new NavButton(Res.txq("nav.button.fg.options"))); //nav.addLeft(new NavButton(Res.txq("nav.button.fg.help"))); diff --git a/src/mightypork/rogue/screens/game/LayerInv.java b/src/mightypork/rogue/screens/game/LayerInv.java index b122eab..a7da722 100644 --- a/src/mightypork/rogue/screens/game/LayerInv.java +++ b/src/mightypork/rogue/screens/game/LayerInv.java @@ -102,8 +102,7 @@ public class LayerInv extends FadingLayer { } - public LayerInv(final ScreenGame screen) - { + public LayerInv(final ScreenGame screen) { super(screen); this.gscreen = screen; diff --git a/src/mightypork/rogue/screens/game/LayerMapView.java b/src/mightypork/rogue/screens/game/LayerMapView.java index cf26ec7..43d7a61 100644 --- a/src/mightypork/rogue/screens/game/LayerMapView.java +++ b/src/mightypork/rogue/screens/game/LayerMapView.java @@ -14,8 +14,7 @@ public class LayerMapView extends ScreenLayer { protected final MapView map; - public LayerMapView(Screen screen) - { + public LayerMapView(Screen screen) { super(screen); // render component diff --git a/src/mightypork/rogue/screens/game/LayerWin.java b/src/mightypork/rogue/screens/game/LayerWin.java index 4f19b7f..90a1900 100644 --- a/src/mightypork/rogue/screens/game/LayerWin.java +++ b/src/mightypork/rogue/screens/game/LayerWin.java @@ -25,8 +25,7 @@ import mightypork.utils.math.constraints.num.Num; public class LayerWin extends FadingLayer { - public LayerWin(final ScreenGame screen) - { + public LayerWin(final ScreenGame screen) { super(screen); // darker down to cover console. diff --git a/src/mightypork/rogue/screens/game/NavButton.java b/src/mightypork/rogue/screens/game/NavButton.java index 68a5000..111ce16 100644 --- a/src/mightypork/rogue/screens/game/NavButton.java +++ b/src/mightypork/rogue/screens/game/NavButton.java @@ -1,8 +1,8 @@ package mightypork.rogue.screens.game; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.gui.components.input.ClickableComponent; -import mightypork.gamecore.render.Render; import mightypork.gamecore.resources.Res; import mightypork.gamecore.resources.textures.TxQuad; @@ -17,8 +17,7 @@ public class NavButton extends ClickableComponent { private final TxQuad base, hover, down, fg; - public NavButton(TxQuad fg) - { + public NavButton(TxQuad fg) { super(); this.base = Res.getTxQuad("nav.button.bg.base"); this.hover = Res.getTxQuad("nav.button.bg.hover"); @@ -41,9 +40,9 @@ public class NavButton extends ClickableComponent { } if (!isEnabled()) bg = base; // override effects - - Render.quadTextured(this, bg); - Render.quadTextured(this, fg); + + App.gfx().quad(this, bg); + App.gfx().quad(this, fg); } } diff --git a/src/mightypork/rogue/screens/game/ScreenGame.java b/src/mightypork/rogue/screens/game/ScreenGame.java index 49daa1b..ae0431c 100644 --- a/src/mightypork/rogue/screens/game/ScreenGame.java +++ b/src/mightypork/rogue/screens/game/ScreenGame.java @@ -64,7 +64,6 @@ public class ScreenGame extends RogueScreen implements PlayerDeathHandler, GameW public Action actionToggleInv = new Action() { - @Override public void execute() { @@ -183,7 +182,6 @@ public class ScreenGame extends RogueScreen implements PlayerDeathHandler, GameW worldActions.setEnabled(false); // disable world actions } - if (nstate != GScrState.DEATH) deathLayer.hide(); if (nstate != GScrState.WIN) winLayer.hide(); if (nstate != GScrState.INV) invLayer.hide(); @@ -239,8 +237,7 @@ public class ScreenGame extends RogueScreen implements PlayerDeathHandler, GameW } - public ScreenGame(AppAccess app) - { + public ScreenGame(AppAccess app) { super(app); addLayer(invLayer = new LayerInv(this)); diff --git a/src/mightypork/rogue/screens/menu/ScreenMainMenu.java b/src/mightypork/rogue/screens/menu/ScreenMainMenu.java index 2b921a7..f09192e 100644 --- a/src/mightypork/rogue/screens/menu/ScreenMainMenu.java +++ b/src/mightypork/rogue/screens/menu/ScreenMainMenu.java @@ -32,7 +32,6 @@ import mightypork.utils.math.constraints.rect.Rect; */ public class ScreenMainMenu extends RogueScreen { - /** * The layer * @@ -40,8 +39,7 @@ public class ScreenMainMenu extends RogueScreen { */ class MenuLayer extends ScreenLayer { - public MenuLayer(Screen screen) - { + public MenuLayer(Screen screen) { super(screen); init(); @@ -52,7 +50,6 @@ public class ScreenMainMenu extends RogueScreen { { final Rect menuBox = root.shrink(Num.ZERO, root.height().perc(15)).moveY(root.height().perc(-4)); - final QuadPainter bg = QuadPainter.gradV(Color.fromHex(0x007eb3), PAL16.SEABLUE); bg.setRect(root); root.add(bg); @@ -83,7 +80,6 @@ public class ScreenMainMenu extends RogueScreen { rows.add(btn, 2); rows.skip(1); - btn = new TextButton(btnFont, "Story", PAL16.CLOUDBLUE); btn.setAction(new Action() { @@ -108,7 +104,6 @@ public class ScreenMainMenu extends RogueScreen { }); rows.add(btn, 2); - bindKey(Config.getKey("general.close"), Edge.RISING, new Runnable() { @Override @@ -129,8 +124,7 @@ public class ScreenMainMenu extends RogueScreen { } - public ScreenMainMenu(AppAccess app) - { + public ScreenMainMenu(AppAccess app) { super(app); addLayer(new MenuLayer(this)); diff --git a/src/mightypork/rogue/screens/select_world/ScreenSelectWorld.java b/src/mightypork/rogue/screens/select_world/ScreenSelectWorld.java index f1db4a6..8069284 100644 --- a/src/mightypork/rogue/screens/select_world/ScreenSelectWorld.java +++ b/src/mightypork/rogue/screens/select_world/ScreenSelectWorld.java @@ -29,15 +29,12 @@ import mightypork.utils.math.constraints.rect.Rect; */ public class ScreenSelectWorld extends RogueScreen { - - public ScreenSelectWorld(AppAccess app) - { + public ScreenSelectWorld(AppAccess app) { super(app); addLayer(new WorldsLayer(this)); } - class WorldsLayer extends ScreenLayer { private WorldSlot slot1; @@ -45,8 +42,7 @@ public class ScreenSelectWorld extends RogueScreen { private WorldSlot slot3; - public WorldsLayer(Screen screen) - { + public WorldsLayer(Screen screen) { super(screen); init(); @@ -57,7 +53,6 @@ public class ScreenSelectWorld extends RogueScreen { { final Rect menuBox = root.shrink(root.width().perc(25), root.height().perc(30)).moveY(root.height().perc(-10)); - final QuadPainter bg = QuadPainter.gradV(Color.fromHex(0x007eb3), PAL16.SEABLUE); bg.setRect(root); root.add(bg); diff --git a/src/mightypork/rogue/screens/select_world/WorldSlot.java b/src/mightypork/rogue/screens/select_world/WorldSlot.java index 5e1c551..1e93aa4 100644 --- a/src/mightypork/rogue/screens/select_world/WorldSlot.java +++ b/src/mightypork/rogue/screens/select_world/WorldSlot.java @@ -46,8 +46,7 @@ public class WorldSlot extends ConstraintLayout { private TextButton delBtn; - public WorldSlot(AppAccess app, File worldFile) - { + public WorldSlot(AppAccess app, File worldFile) { super(app); this.file = worldFile; @@ -173,7 +172,7 @@ public class WorldSlot extends ConstraintLayout { final int lvl = worldBundle.get("level", -1); if (lvl == -1) throw new RuntimeException("Invalid save format."); // let the catch block handle it - + label = "Level " + (lvl + 1); } catch (final Exception e) { Log.w("Error loading world save.", e); diff --git a/src/mightypork/rogue/screens/story/ScreenStory.java b/src/mightypork/rogue/screens/story/ScreenStory.java index cfdfb60..c18c8c3 100644 --- a/src/mightypork/rogue/screens/story/ScreenStory.java +++ b/src/mightypork/rogue/screens/story/ScreenStory.java @@ -103,12 +103,10 @@ public class ScreenStory extends RogueScreen implements MouseButtonHandler { private final Color textColor = Color.fromHex(0x7ad8ff); - public LayerSlide(Screen screen) - { + public LayerSlide(Screen screen) { super(screen); - final TextPainter help = new TextPainter(Res.getFont("tiny"), AlignX.CENTER, RGB.WHITE.withAlpha(txProceedAlpha.mul(0.3)), - "Space / click to proceed."); + final TextPainter help = new TextPainter(Res.getFont("tiny"), AlignX.CENTER, RGB.WHITE.withAlpha(txProceedAlpha.mul(0.3)), "Space / click to proceed."); help.setRect(root.bottomEdge().growUp(root.height().perc(4))); help.setVPaddingPercent(5); root.add(help); @@ -210,14 +208,12 @@ public class ScreenStory extends RogueScreen implements MouseButtonHandler { }; - public ScreenStory(AppAccess app) - { + public ScreenStory(AppAccess app) { super(app); addLayer(new LayerColor(this, Color.fromHex(0x040c1e), 0)); addLayer(slideLayer = new LayerSlide(this)); - bindKey(new KeyStroke(Keys.SPACE), Edge.RISING, next); bindKey(new KeyStroke(Keys.RIGHT), Edge.RISING, next); bindKey(new KeyStroke(Keys.BACKSPACE), Edge.RISING, prev); diff --git a/src/mightypork/rogue/world/Inventory.java b/src/mightypork/rogue/world/Inventory.java index 030eff2..ab9af32 100644 --- a/src/mightypork/rogue/world/Inventory.java +++ b/src/mightypork/rogue/world/Inventory.java @@ -17,14 +17,12 @@ public class Inventory implements IonBinary { private int lastAddIndex = 0; - public Inventory(int size) - { + public Inventory(int size) { this.items = new Item[size]; } - public Inventory() - { + public Inventory() { // ION constructor } @@ -184,8 +182,10 @@ public class Inventory implements IonBinary { s += i + ": "; final Item itm = getItem(i); - if (itm == null) s += ""; - else s += itm; + if (itm == null) + s += ""; + else + s += itm; } s += "]"; return s; diff --git a/src/mightypork/rogue/world/PlayerControl.java b/src/mightypork/rogue/world/PlayerControl.java index d990721..da4e60b 100644 --- a/src/mightypork/rogue/world/PlayerControl.java +++ b/src/mightypork/rogue/world/PlayerControl.java @@ -120,7 +120,7 @@ public abstract class PlayerControl { final Tile t = getLevel().getTile(Coord.fromVect(pos)); if (!t.isPotentiallyWalkable()) return false; // no point in attacking entity thru wall, right? - + //try to hit entity final Entity prey = getLevel().getClosestEntity(pos, EntityType.MONSTER, 1); if (prey != null) { diff --git a/src/mightypork/rogue/world/PlayerData.java b/src/mightypork/rogue/world/PlayerData.java index 9db30e6..fd57455 100644 --- a/src/mightypork/rogue/world/PlayerData.java +++ b/src/mightypork/rogue/world/PlayerData.java @@ -19,7 +19,6 @@ public class PlayerData implements IonBundled { /** Attack str with bare hands */ public static final int BARE_ATTACK = 1; - private int eid = -1; // marks not initialized private int level; diff --git a/src/mightypork/rogue/world/PlayerFacade.java b/src/mightypork/rogue/world/PlayerFacade.java index 1585360..758d238 100644 --- a/src/mightypork/rogue/world/PlayerFacade.java +++ b/src/mightypork/rogue/world/PlayerFacade.java @@ -38,8 +38,7 @@ public class PlayerFacade { /** * @param world */ - PlayerFacade(World world) - { + PlayerFacade(World world) { this.world = world; } diff --git a/src/mightypork/rogue/world/WorldConsole.java b/src/mightypork/rogue/world/WorldConsole.java index a324c5e..8fc4f75 100644 --- a/src/mightypork/rogue/world/WorldConsole.java +++ b/src/mightypork/rogue/world/WorldConsole.java @@ -34,8 +34,7 @@ public class WorldConsole implements Updateable { private double elapsed = 0; - private Entry(String text) - { + private Entry(String text) { this.text = text; this.fadeout = new NumAnimated(1, Easing.LINEAR); this.fadeout.setDefaultDuration(0.5); diff --git a/src/mightypork/rogue/world/WorldProvider.java b/src/mightypork/rogue/world/WorldProvider.java index c59a5f0..d1c7454 100644 --- a/src/mightypork/rogue/world/WorldProvider.java +++ b/src/mightypork/rogue/world/WorldProvider.java @@ -28,8 +28,7 @@ public class WorldProvider extends RootBusNode { } - public WorldProvider(BusAccess busAccess) - { + public WorldProvider(BusAccess busAccess) { super(busAccess); setListening(false); } diff --git a/src/mightypork/rogue/world/WorldRenderer.java b/src/mightypork/rogue/world/WorldRenderer.java index 4597e33..b291026 100644 --- a/src/mightypork/rogue/world/WorldRenderer.java +++ b/src/mightypork/rogue/world/WorldRenderer.java @@ -1,7 +1,12 @@ package mightypork.rogue.world; -import mightypork.gamecore.render.Render; +import java.awt.GradientPaint; + +import mightypork.gamecore.core.modules.App; +import mightypork.gamecore.render.GradH; +import mightypork.gamecore.render.GradV; +import mightypork.gamecore.render.RenderModule; import mightypork.gamecore.resources.Res; import mightypork.rogue.Const; import mightypork.rogue.world.entity.Entity; @@ -40,8 +45,7 @@ public class WorldRenderer extends RectProxy { private TileRenderContext trc; - public WorldRenderer(Rect viewport, Num tileSize) - { + public WorldRenderer(Rect viewport, Num tileSize) { super(viewport); this.tileSize = tileSize; @@ -80,11 +84,13 @@ public class WorldRenderer extends RectProxy { { prepareRenderContextIfNeeded(); - Render.pushMatrix(); - Render.setColor(RGB.WHITE); - Render.translate(center()); - Render.scaleXY(tileSize.value()); - Render.translate(getOffset()); + final RenderModule gfx = App.gfx(); + + gfx.pushGeometry(); + gfx.setColor(RGB.WHITE); + gfx.translate(center()); + gfx.scaleXY(tileSize.value()); + gfx.translate(getOffset()); // tiles to render @@ -105,17 +111,19 @@ public class WorldRenderer extends RectProxy { // === TILES === // batch rendering of the tiles - if (USE_BATCH_RENDERING) { - Render.enterBatchTexturedQuadMode(Res.getTexture("tiles")); - } + // TODO +// if (USE_BATCH_RENDERING) { +// gfx.enterBatchTexturedQuadMode(Res.getTexture("tiles")); +// } for (trc.pos.x = x1; trc.pos.x <= x2; trc.pos.x++) { for (trc.pos.y = y1; trc.pos.y <= y2; trc.pos.y++) { trc.renderTile(); } } - if (USE_BATCH_RENDERING) { - Render.leaveBatchTexturedQuadMode(); - } + // TODO +// if (USE_BATCH_RENDERING) { +// gfx.leaveBatchTexturedQuadMode(); +// } // === ITEMS ON TILES === @@ -143,28 +151,32 @@ public class WorldRenderer extends RectProxy { // === unexplored fog === // batch rendering of the tiles - if (USE_BATCH_RENDERING) { - Render.setColor(RGB.WHITE, Const.RENDER_UFOG ? 1 : 0.6); - Render.enterBatchTexturedQuadMode(Res.getTexture("tiles")); - } + // TODO +// if (USE_BATCH_RENDERING) { +// gfx.setColor(RGB.WHITE, Const.RENDER_UFOG ? 1 : 0.6); +// gfx.enterBatchTexturedQuadMode(Res.getTexture("tiles")); +// } + // TODO use Const.RENDER_UFOG for (trc.pos.x = x1; trc.pos.x <= x2; trc.pos.x++) { for (trc.pos.y = y1; trc.pos.y <= y2; trc.pos.y++) { trc.renderUFog(); } } - if (USE_BATCH_RENDERING) { - Render.leaveBatchTexturedQuadMode(); - } + // TODO +// if (USE_BATCH_RENDERING) { +// gfx.leaveBatchTexturedQuadMode(); +// } // === OVERLAY SHADOW === - Render.popMatrix(); + gfx.popGeometry(); + - Render.quadGradH(leftShadow, RGB.BLACK, RGB.NONE); - Render.quadGradH(rightShadow, RGB.NONE, RGB.BLACK); + gfx.quad(leftShadow, new GradH(RGB.BLACK, RGB.NONE)); + gfx.quad(rightShadow, new GradH(RGB.NONE, RGB.BLACK)); - Render.quadGradV(topShadow, RGB.BLACK, RGB.NONE); - Render.quadGradV(bottomShadow, RGB.NONE, RGB.BLACK); + gfx.quad(topShadow, new GradV(RGB.BLACK, RGB.NONE)); + gfx.quad(bottomShadow, new GradV(RGB.NONE, RGB.BLACK)); } diff --git a/src/mightypork/rogue/world/entity/AiTimer.java b/src/mightypork/rogue/world/entity/AiTimer.java index 2e4545a..d73baf6 100644 --- a/src/mightypork/rogue/world/entity/AiTimer.java +++ b/src/mightypork/rogue/world/entity/AiTimer.java @@ -8,8 +8,7 @@ import mightypork.utils.math.timing.TaskRepeater; public abstract class AiTimer extends TaskRepeater implements IonBundled { - public AiTimer(double duration) - { + public AiTimer(double duration) { super(duration); } diff --git a/src/mightypork/rogue/world/entity/Entity.java b/src/mightypork/rogue/world/entity/Entity.java index 3014b4a..87f9fdf 100644 --- a/src/mightypork/rogue/world/entity/Entity.java +++ b/src/mightypork/rogue/world/entity/Entity.java @@ -11,7 +11,7 @@ import mightypork.rogue.world.entity.modules.EntityModuleHealth; import mightypork.rogue.world.entity.modules.EntityModulePosition; import mightypork.rogue.world.level.Level; import mightypork.rogue.world.level.render.MapRenderContext; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.eventbus.clients.DelegatingClient; import mightypork.utils.exceptions.IllegalValueException; import mightypork.utils.interfaces.Updateable; @@ -44,8 +44,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient private boolean freed; - public Entity(EntityModel model, int eid) - { + public Entity(EntityModel model, int eid) { this.entityId = eid; this.model = model; @@ -72,7 +71,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient } - @DefaultImpl + @Stub protected void saveExtra(IonDataBundle bundle) { } @@ -95,7 +94,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient } - @DefaultImpl + @Stub protected void loadExtra(IonDataBundle bundle) { } @@ -154,7 +153,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient public abstract PathFinder getPathFinder(); - @DefaultImpl + @Stub public final void render(MapRenderContext context) { getRenderer().render(context); @@ -202,7 +201,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient /** * Called right after the entity's health reaches zero. */ - @DefaultImpl + @Stub public void onKilled() { } @@ -220,7 +219,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient /** * @return whether this dead entity can be removed from level */ - @DefaultImpl + @Stub public boolean canRemoveCorpse() { return isDead() && health.getTimeSinceLastDamage() > despawnDelay; @@ -230,7 +229,7 @@ public abstract class Entity implements IonBundled, Updateable, DelegatingClient /** * Called after the corpse has been cleaned from level. */ - @DefaultImpl + @Stub public void onCorpseRemoved() { } diff --git a/src/mightypork/rogue/world/entity/EntityModel.java b/src/mightypork/rogue/world/entity/EntityModel.java index db533f3..10ea1c5 100644 --- a/src/mightypork/rogue/world/entity/EntityModel.java +++ b/src/mightypork/rogue/world/entity/EntityModel.java @@ -21,8 +21,7 @@ public final class EntityModel { public final Class tileClass; - public EntityModel(int id, Class entity) - { + public EntityModel(int id, Class entity) { Entities.register(id, this); this.id = id; this.tileClass = entity; diff --git a/src/mightypork/rogue/world/entity/EntityModule.java b/src/mightypork/rogue/world/entity/EntityModule.java index 6b217b0..38e910f 100644 --- a/src/mightypork/rogue/world/entity/EntityModule.java +++ b/src/mightypork/rogue/world/entity/EntityModule.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.entity; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.interfaces.Updateable; import mightypork.utils.ion.IonBundled; import mightypork.utils.ion.IonDataBundle; @@ -18,8 +18,7 @@ public abstract class EntityModule implements IonBundled, Updateable { protected final Entity entity; - public EntityModule(Entity entity) - { + public EntityModule(Entity entity) { this.entity = entity; } @@ -31,21 +30,21 @@ public abstract class EntityModule implements IonBundled, Updateable { @Override - @DefaultImpl + @Stub public void load(IonDataBundle bundle) { } @Override - @DefaultImpl + @Stub public void save(IonDataBundle bundle) { } @Override - @DefaultImpl + @Stub public void update(double delta) { } diff --git a/src/mightypork/rogue/world/entity/EntityPathFinder.java b/src/mightypork/rogue/world/entity/EntityPathFinder.java index 95a0d0f..29a336a 100644 --- a/src/mightypork/rogue/world/entity/EntityPathFinder.java +++ b/src/mightypork/rogue/world/entity/EntityPathFinder.java @@ -20,8 +20,7 @@ public class EntityPathFinder extends PathFinder { protected final Entity entity; - public EntityPathFinder(Entity entity) - { + public EntityPathFinder(Entity entity) { this.entity = entity; } diff --git a/src/mightypork/rogue/world/entity/impl/BossRatAi.java b/src/mightypork/rogue/world/entity/impl/BossRatAi.java index 3ec6525..46cce11 100644 --- a/src/mightypork/rogue/world/entity/impl/BossRatAi.java +++ b/src/mightypork/rogue/world/entity/impl/BossRatAi.java @@ -18,8 +18,7 @@ public class BossRatAi extends GrayRatAi { }; - public BossRatAi(Entity entity) - { + public BossRatAi(Entity entity) { super(entity); setAttackTime(0.3); diff --git a/src/mightypork/rogue/world/entity/impl/BrownRatAi.java b/src/mightypork/rogue/world/entity/impl/BrownRatAi.java index 70e7a91..39b9f3a 100644 --- a/src/mightypork/rogue/world/entity/impl/BrownRatAi.java +++ b/src/mightypork/rogue/world/entity/impl/BrownRatAi.java @@ -7,8 +7,7 @@ import mightypork.utils.math.Calc; public class BrownRatAi extends GrayRatAi { - public BrownRatAi(Entity entity) - { + public BrownRatAi(Entity entity) { super(entity); setAttackTime(1.2); diff --git a/src/mightypork/rogue/world/entity/impl/EntityBossRat.java b/src/mightypork/rogue/world/entity/impl/EntityBossRat.java index 67a09c4..4782b77 100644 --- a/src/mightypork/rogue/world/entity/impl/EntityBossRat.java +++ b/src/mightypork/rogue/world/entity/impl/EntityBossRat.java @@ -21,8 +21,7 @@ public class EntityBossRat extends Entity { private final BossRatAi ai = new BossRatAi(this); - public EntityBossRat(EntityModel model, int eid) - { + public EntityBossRat(EntityModel model, int eid) { super(model, eid); addModule("ai", ai); diff --git a/src/mightypork/rogue/world/entity/impl/EntityBrownRat.java b/src/mightypork/rogue/world/entity/impl/EntityBrownRat.java index 5dcc581..080e792 100644 --- a/src/mightypork/rogue/world/entity/impl/EntityBrownRat.java +++ b/src/mightypork/rogue/world/entity/impl/EntityBrownRat.java @@ -21,8 +21,7 @@ public class EntityBrownRat extends Entity { private final BrownRatAi ai = new BrownRatAi(this); - public EntityBrownRat(EntityModel model, int eid) - { + public EntityBrownRat(EntityModel model, int eid) { super(model, eid); addModule("ai", ai); diff --git a/src/mightypork/rogue/world/entity/impl/EntityGrayRat.java b/src/mightypork/rogue/world/entity/impl/EntityGrayRat.java index 28a96ff..6efe03a 100644 --- a/src/mightypork/rogue/world/entity/impl/EntityGrayRat.java +++ b/src/mightypork/rogue/world/entity/impl/EntityGrayRat.java @@ -21,8 +21,7 @@ public class EntityGrayRat extends Entity { private EntityRenderer renderer; - public EntityGrayRat(EntityModel model, int eid) - { + public EntityGrayRat(EntityModel model, int eid) { super(model, eid); addModule("ai", ai); diff --git a/src/mightypork/rogue/world/entity/impl/EntityPlayer.java b/src/mightypork/rogue/world/entity/impl/EntityPlayer.java index 9bdb395..159dcbc 100644 --- a/src/mightypork/rogue/world/entity/impl/EntityPlayer.java +++ b/src/mightypork/rogue/world/entity/impl/EntityPlayer.java @@ -1,12 +1,7 @@ package mightypork.rogue.world.entity.impl; -import mightypork.rogue.world.entity.Entity; -import mightypork.rogue.world.entity.EntityModel; -import mightypork.rogue.world.entity.EntityModule; -import mightypork.rogue.world.entity.EntityPathFinder; -import mightypork.rogue.world.entity.EntityRenderer; -import mightypork.rogue.world.entity.EntityType; +import mightypork.rogue.world.entity.*; import mightypork.rogue.world.entity.modules.EntityMoveListener; import mightypork.rogue.world.entity.render.EntityRendererMobLR; import mightypork.rogue.world.events.PlayerKilledEvent; @@ -21,8 +16,7 @@ public class EntityPlayer extends Entity { class PlayerAi extends EntityModule implements EntityMoveListener { - public PlayerAi(Entity entity) - { + public PlayerAi(Entity entity) { super(entity); setDespawnDelay(2); @@ -86,8 +80,7 @@ public class EntityPlayer extends Entity { private final PlayerAi ai = new PlayerAi(this); - public EntityPlayer(EntityModel model, int eid) - { + public EntityPlayer(EntityModel model, int eid) { super(model, eid); pos.setStepTime(0.25); diff --git a/src/mightypork/rogue/world/entity/impl/GrayRatAi.java b/src/mightypork/rogue/world/entity/impl/GrayRatAi.java index 0f8bf61..8fbb4b0 100644 --- a/src/mightypork/rogue/world/entity/impl/GrayRatAi.java +++ b/src/mightypork/rogue/world/entity/impl/GrayRatAi.java @@ -7,8 +7,7 @@ import mightypork.utils.math.Calc; public class GrayRatAi extends MonsterAi { - public GrayRatAi(Entity entity) - { + public GrayRatAi(Entity entity) { super(entity); setAttackTime(1.2); diff --git a/src/mightypork/rogue/world/entity/impl/MonsterAi.java b/src/mightypork/rogue/world/entity/impl/MonsterAi.java index 50cef70..d99c910 100644 --- a/src/mightypork/rogue/world/entity/impl/MonsterAi.java +++ b/src/mightypork/rogue/world/entity/impl/MonsterAi.java @@ -9,7 +9,7 @@ import mightypork.rogue.world.entity.EntityModule; import mightypork.rogue.world.entity.EntityType; import mightypork.rogue.world.entity.modules.EntityMoveListener; import mightypork.rogue.world.tile.Tile; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.ion.IonDataBundle; import mightypork.utils.math.Calc; import mightypork.utils.math.algo.Coord; @@ -75,8 +75,7 @@ public class MonsterAi extends EntityModule implements EntityMoveListener { private int preyId = -1; - public MonsterAi(final Entity entity) - { + public MonsterAi(final Entity entity) { super(entity); noDoorPf = new PathFinderProxy(entity.getPathFinder()) { @@ -208,7 +207,7 @@ public class MonsterAi extends EntityModule implements EntityMoveListener { final List noDoorPath = noDoorPf.findPath(entity.getCoord(), prey.getCoord()); if (noDoorPath == null) return; // cant reach, give up - + startChasing(prey); } } @@ -313,35 +312,35 @@ public class MonsterAi extends EntityModule implements EntityMoveListener { } - @DefaultImpl + @Stub protected double getScanRadius() { return isIdle() ? Calc.randInt(1, 3) : Calc.randInt(4, 8); // For override } - @DefaultImpl + @Stub protected int getPreyAbandonDistance() { return Calc.randInt(5, 8); // For override } - @DefaultImpl + @Stub protected double getAttackDistance() { return 1; } - @DefaultImpl + @Stub protected int getAttackStrength() { return 1; // For override } - @DefaultImpl + @Stub protected double getStepTime() { return isIdle() ? 0.7 : 0.4; diff --git a/src/mightypork/rogue/world/entity/modules/EntityModuleHealth.java b/src/mightypork/rogue/world/entity/modules/EntityModuleHealth.java index 0ba29f8..fecc629 100644 --- a/src/mightypork/rogue/world/entity/modules/EntityModuleHealth.java +++ b/src/mightypork/rogue/world/entity/modules/EntityModuleHealth.java @@ -10,8 +10,7 @@ import mightypork.utils.math.Calc; public class EntityModuleHealth extends EntityModule { - public EntityModuleHealth(Entity entity) - { + public EntityModuleHealth(Entity entity) { super(entity); } diff --git a/src/mightypork/rogue/world/entity/modules/EntityModulePosition.java b/src/mightypork/rogue/world/entity/modules/EntityModulePosition.java index 80c5b1d..c7bb5c5 100644 --- a/src/mightypork/rogue/world/entity/modules/EntityModulePosition.java +++ b/src/mightypork/rogue/world/entity/modules/EntityModulePosition.java @@ -32,8 +32,7 @@ public class EntityModulePosition extends EntityModule { private final Set moveListeners = new LinkedHashSet<>(); - public EntityModulePosition(Entity entity) - { + public EntityModulePosition(Entity entity) { super(entity); } @@ -112,7 +111,7 @@ public class EntityModulePosition extends EntityModule { public void update(double delta) { if (entity.isDead()) return; // corpses dont walk - + if (!entityPos.isFinished()) { entityPos.update(delta); } diff --git a/src/mightypork/rogue/world/entity/modules/EntityPos.java b/src/mightypork/rogue/world/entity/modules/EntityPos.java index 9af9005..0106475 100644 --- a/src/mightypork/rogue/world/entity/modules/EntityPos.java +++ b/src/mightypork/rogue/world/entity/modules/EntityPos.java @@ -23,20 +23,17 @@ class EntityPos implements IonBundled, Updateable { private final VectAnimated walkOffset = new VectAnimated(Vect.ZERO, Easing.LINEAR); - public EntityPos(Coord pos) - { + public EntityPos(Coord pos) { this.coord.setTo(pos); } - public EntityPos(int x, int y) - { + public EntityPos(int x, int y) { this.coord.setTo(x, y); } - public EntityPos() - { + public EntityPos() { } diff --git a/src/mightypork/rogue/world/entity/render/EntityRendererMobLR.java b/src/mightypork/rogue/world/entity/render/EntityRendererMobLR.java index a70dcdb..380ed33 100644 --- a/src/mightypork/rogue/world/entity/render/EntityRendererMobLR.java +++ b/src/mightypork/rogue/world/entity/render/EntityRendererMobLR.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.entity.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.Res; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.gamecore.resources.textures.TxSheet; @@ -34,8 +34,7 @@ public class EntityRendererMobLR extends EntityRenderer { private final Color hue = Color.rgb(Num.ONE, animRedVar, animRedVar); - public EntityRendererMobLR(Entity entity, String sheetKey) - { + public EntityRendererMobLR(Entity entity, String sheetKey) { this.entity = entity; this.sheet = Res.getTxSheet(sheetKey); } @@ -56,26 +55,22 @@ public class EntityRendererMobLR extends EntityRenderer { final double hurtOffset = (1 - Calc.clamp(hurtTime / 0.1, 0, 1)) * (entity.isDead() ? 0.3 : 0.05); - Rect spriteRect = Rect.make(visualPos.x() * w, (visualPos.y() - hurtOffset) * w, w, w); spriteRect = spriteRect.shrink(w * 0.05); animRedVar.setTo(hurtTime / 0.3); - Render.pushMatrix(); + App.gfx().pushGeometry(); - Render.translate(spriteRect.center()); + App.gfx().translate(spriteRect.center()); if (entity.isDead()) { - Render.rotateZ(Calc.clamp(hurtTime / 0.3, 0, 1) * 90); + App.gfx().rotateZ(Calc.clamp(hurtTime / 0.3, 0, 1) * 90); } final double hw = spriteRect.width().half().value(); - Render.quadTextured( - Vect.ZERO.expand(hw, hw, hw, hw), - q, - hue.withAlpha(entity.isDead() ? 1 - Easing.CIRC_IN.get(hurtTime / entity.getDespawnDelay()) : 1)); - Render.popMatrix(); + App.gfx().quad(Vect.ZERO.expand(hw, hw, hw, hw), q, hue.withAlpha(entity.isDead() ? 1 - Easing.CIRC_IN.get(hurtTime / entity.getDespawnDelay()) : 1)); + App.gfx().popGeometry(); } } diff --git a/src/mightypork/rogue/world/events/PlayerStepEndEvent.java b/src/mightypork/rogue/world/events/PlayerStepEndEvent.java index a6dc4d1..910b4b8 100644 --- a/src/mightypork/rogue/world/events/PlayerStepEndEvent.java +++ b/src/mightypork/rogue/world/events/PlayerStepEndEvent.java @@ -12,8 +12,7 @@ public class PlayerStepEndEvent extends BusEvent { private final EntityPlayer player; - public PlayerStepEndEvent(EntityPlayer player) - { + public PlayerStepEndEvent(EntityPlayer player) { super(); this.player = player; } diff --git a/src/mightypork/rogue/world/events/WorldPauseRequest.java b/src/mightypork/rogue/world/events/WorldPauseRequest.java index 33a951b..cb1ac19 100644 --- a/src/mightypork/rogue/world/events/WorldPauseRequest.java +++ b/src/mightypork/rogue/world/events/WorldPauseRequest.java @@ -20,8 +20,7 @@ public class WorldPauseRequest extends BusEvent { private final PauseAction op; - public WorldPauseRequest(PauseAction op) - { + public WorldPauseRequest(PauseAction op) { super(); this.op = op; } diff --git a/src/mightypork/rogue/world/gen/LevelBuilder.java b/src/mightypork/rogue/world/gen/LevelBuilder.java index 04da72c..261983e 100644 --- a/src/mightypork/rogue/world/gen/LevelBuilder.java +++ b/src/mightypork/rogue/world/gen/LevelBuilder.java @@ -29,8 +29,7 @@ public class LevelBuilder { boolean important; - public RoomEntry(RoomBuilder room, int count, boolean important) - { + public RoomEntry(RoomBuilder room, int count, boolean important) { this.count = count; this.room = room; this.important = important; @@ -43,8 +42,7 @@ public class LevelBuilder { boolean important; - public ItemEntry(Item item, boolean important) - { + public ItemEntry(Item item, boolean important) { this.item = item; this.important = important; } @@ -56,8 +54,7 @@ public class LevelBuilder { boolean important; - public EntityEntry(Entity item, boolean important) - { + public EntityEntry(Entity item, boolean important) { this.entity = item; this.important = important; } @@ -82,8 +79,7 @@ public class LevelBuilder { * @param theme tiles theme * @param seed level seed */ - public LevelBuilder(int max_size, MapTheme theme, long seed) - { + public LevelBuilder(int max_size, MapTheme theme, long seed) { this.rand = new Random(seed); this.map = new ScratchMap(max_size, theme, rand); } diff --git a/src/mightypork/rogue/world/gen/RoomEntry.java b/src/mightypork/rogue/world/gen/RoomEntry.java index 5418a97..a93af9c 100644 --- a/src/mightypork/rogue/world/gen/RoomEntry.java +++ b/src/mightypork/rogue/world/gen/RoomEntry.java @@ -15,8 +15,7 @@ public class RoomEntry { final Coord max; - public RoomEntry(Coord min, Coord max) - { + public RoomEntry(Coord min, Coord max) { super(); this.min = min; this.max = max; diff --git a/src/mightypork/rogue/world/gen/Rooms.java b/src/mightypork/rogue/world/gen/Rooms.java index f363849..86a399a 100644 --- a/src/mightypork/rogue/world/gen/Rooms.java +++ b/src/mightypork/rogue/world/gen/Rooms.java @@ -1,14 +1,7 @@ package mightypork.rogue.world.gen; -import mightypork.rogue.world.gen.rooms.BasicRoom; -import mightypork.rogue.world.gen.rooms.BossRoom; -import mightypork.rogue.world.gen.rooms.DeadEndRoom; -import mightypork.rogue.world.gen.rooms.EntranceRoom; -import mightypork.rogue.world.gen.rooms.ExitRoom; -import mightypork.rogue.world.gen.rooms.ItemShrineRoom; -import mightypork.rogue.world.gen.rooms.StorageRoom; -import mightypork.rogue.world.gen.rooms.TreasureChestRoom; +import mightypork.rogue.world.gen.rooms.*; import mightypork.rogue.world.item.Item; diff --git a/src/mightypork/rogue/world/gen/ScratchMap.java b/src/mightypork/rogue/world/gen/ScratchMap.java index 98dc3af..afcc70c 100644 --- a/src/mightypork/rogue/world/gen/ScratchMap.java +++ b/src/mightypork/rogue/world/gen/ScratchMap.java @@ -121,8 +121,7 @@ public class ScratchMap { private static final boolean FIX_GLITCHES = true; - public ScratchMap(int max_size, MapTheme theme, Random rand) - { + public ScratchMap(int max_size, MapTheme theme, Random rand) { map = new Tile[max_size][max_size]; genMin = Coord.make((max_size / 2) - 1, (max_size / 2) - 1); @@ -409,7 +408,7 @@ public class ScratchMap { final Tile current = getTile(c); if (!current.isNull() && (current.isPotentiallyWalkable() || current.isStairs())) continue; // floor already, let it be - + if (i == 0 && j == 0) { set(c, theme.floor()); } else { @@ -714,7 +713,7 @@ public class ScratchMap { if (!isIn(pos)) return false; if (pos.dist(enterPoint) < 4) return false; // protected distance. - + final Tile t = getTile(pos); if (!t.isWalkable()) return false; diff --git a/src/mightypork/rogue/world/gen/WorldGenError.java b/src/mightypork/rogue/world/gen/WorldGenError.java index 46988b5..7e18291 100644 --- a/src/mightypork/rogue/world/gen/WorldGenError.java +++ b/src/mightypork/rogue/world/gen/WorldGenError.java @@ -8,26 +8,22 @@ package mightypork.rogue.world.gen; */ public class WorldGenError extends RuntimeException { - public WorldGenError() - { + public WorldGenError() { super(); } - public WorldGenError(String message, Throwable cause) - { + public WorldGenError(String message, Throwable cause) { super(message, cause); } - public WorldGenError(String message) - { + public WorldGenError(String message) { super(message); } - public WorldGenError(Throwable cause) - { + public WorldGenError(Throwable cause) { super(cause); } diff --git a/src/mightypork/rogue/world/gen/rooms/AbstractRectRoom.java b/src/mightypork/rogue/world/gen/rooms/AbstractRectRoom.java index a14fbcb..cfc7761 100644 --- a/src/mightypork/rogue/world/gen/rooms/AbstractRectRoom.java +++ b/src/mightypork/rogue/world/gen/rooms/AbstractRectRoom.java @@ -9,7 +9,7 @@ import mightypork.rogue.world.gen.RoomEntry; import mightypork.rogue.world.gen.ScratchMap; import mightypork.rogue.world.gen.TileProtectLevel; import mightypork.rogue.world.tile.TileModel; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.math.algo.Coord; import mightypork.utils.math.algo.Moves; @@ -92,7 +92,7 @@ public abstract class AbstractRectRoom implements RoomBuilder { } - @DefaultImpl + @Stub protected void buildExtras(ScratchMap map, MapTheme theme, Random rand, Coord min, Coord max) { } diff --git a/src/mightypork/rogue/world/gen/rooms/BasicRoom.java b/src/mightypork/rogue/world/gen/rooms/BasicRoom.java index d5c26c8..d02b696 100644 --- a/src/mightypork/rogue/world/gen/rooms/BasicRoom.java +++ b/src/mightypork/rogue/world/gen/rooms/BasicRoom.java @@ -11,7 +11,6 @@ import mightypork.utils.math.algo.Coord; public class BasicRoom extends AbstractRectRoom { - @Override protected TileModel getDoorType(MapTheme theme, Random rand) { diff --git a/src/mightypork/rogue/world/gen/rooms/ItemShrineRoom.java b/src/mightypork/rogue/world/gen/rooms/ItemShrineRoom.java index 9683122..dcb5681 100644 --- a/src/mightypork/rogue/world/gen/rooms/ItemShrineRoom.java +++ b/src/mightypork/rogue/world/gen/rooms/ItemShrineRoom.java @@ -16,8 +16,7 @@ public class ItemShrineRoom extends SecretRoom { private final Item item; - public ItemShrineRoom(Item item) - { + public ItemShrineRoom(Item item) { this.item = item; } diff --git a/src/mightypork/rogue/world/gen/rooms/StorageRoom.java b/src/mightypork/rogue/world/gen/rooms/StorageRoom.java index 5e58e79..94356e2 100644 --- a/src/mightypork/rogue/world/gen/rooms/StorageRoom.java +++ b/src/mightypork/rogue/world/gen/rooms/StorageRoom.java @@ -50,6 +50,5 @@ public class StorageRoom extends SecretRoom { if (--maxStuff == 0) return; } - } } diff --git a/src/mightypork/rogue/world/gen/rooms/TreasureChestRoom.java b/src/mightypork/rogue/world/gen/rooms/TreasureChestRoom.java index cf551e8..3eec048 100644 --- a/src/mightypork/rogue/world/gen/rooms/TreasureChestRoom.java +++ b/src/mightypork/rogue/world/gen/rooms/TreasureChestRoom.java @@ -12,8 +12,7 @@ import mightypork.utils.math.algo.Coord; public class TreasureChestRoom extends ItemShrineRoom { - public TreasureChestRoom(Item item) - { + public TreasureChestRoom(Item item) { super(item); } diff --git a/src/mightypork/rogue/world/gui/MapView.java b/src/mightypork/rogue/world/gui/MapView.java index 0b160a7..d5fd9fe 100644 --- a/src/mightypork/rogue/world/gui/MapView.java +++ b/src/mightypork/rogue/world/gui/MapView.java @@ -5,10 +5,10 @@ import java.util.Collection; import java.util.LinkedHashSet; import java.util.Set; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.gui.components.InputComponent; import mightypork.gamecore.input.events.MouseButtonEvent; import mightypork.gamecore.input.events.MouseButtonHandler; -import mightypork.gamecore.render.Render; import mightypork.rogue.world.PlayerControl; import mightypork.rogue.world.World; import mightypork.rogue.world.WorldProvider; @@ -32,8 +32,7 @@ import mightypork.utils.math.timing.TimedTask; * * @author Ondřej Hruška (MightyPork) */ -public class MapView extends InputComponent implements DelegatingClient, MouseButtonHandler, Updateable, WorldAscendRequestListener, - WorldDescendRequestListener { +public class MapView extends InputComponent implements DelegatingClient, MouseButtonHandler, Updateable, WorldAscendRequestListener, WorldDescendRequestListener { private static final double transition_time = 0.8; @@ -73,7 +72,6 @@ public class MapView extends InputComponent implements DelegatingClient, MouseBu } }; - private final Num tileSize; @@ -92,8 +90,7 @@ public class MapView extends InputComponent implements DelegatingClient, MouseBu } - public MapView() - { + public MapView() { this.tileSize = height().min(width()).div(9).max(32).mul(Num.make(1).sub(zoom.mul(0.5))); this.worldRenderer = new WorldRenderer(this, tileSize); plc = WorldProvider.get().getPlayerControl(); @@ -107,7 +104,7 @@ public class MapView extends InputComponent implements DelegatingClient, MouseBu { worldRenderer.render(); - Render.quadColor(this, blackColor); + App.gfx().quad(this, blackColor); } diff --git a/src/mightypork/rogue/world/gui/Minimap.java b/src/mightypork/rogue/world/gui/Minimap.java index 2e137a7..3aa31a6 100644 --- a/src/mightypork/rogue/world/gui/Minimap.java +++ b/src/mightypork/rogue/world/gui/Minimap.java @@ -1,10 +1,10 @@ package mightypork.rogue.world.gui; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.gui.components.InputComponent; import mightypork.gamecore.input.events.MouseButtonEvent; import mightypork.gamecore.input.events.MouseButtonHandler; -import mightypork.gamecore.render.Render; import mightypork.rogue.Const; import mightypork.rogue.world.PlayerFacade; import mightypork.rogue.world.WorldProvider; @@ -60,7 +60,7 @@ public class Minimap extends InputComponent implements MouseButtonHandler { final Color clr = t.getMapColor(); - Render.setColor(clr); + App.gfx().setColor(clr); GL11.glVertex2i(point.x, point.y); GL11.glVertex2i(point.x + unit, point.y); @@ -70,7 +70,7 @@ public class Minimap extends InputComponent implements MouseButtonHandler { } // player - Render.setColor(playerColor); + App.gfx().setColor(playerColor); final double plx = tl.xi() + plCoord.x() * unit; final double ply = tl.yi() + plCoord.y() * unit; diff --git a/src/mightypork/rogue/world/gui/WorldConsoleRenderer.java b/src/mightypork/rogue/world/gui/WorldConsoleRenderer.java index 575521c..a4e901c 100644 --- a/src/mightypork/rogue/world/gui/WorldConsoleRenderer.java +++ b/src/mightypork/rogue/world/gui/WorldConsoleRenderer.java @@ -27,8 +27,7 @@ public class WorldConsoleRenderer extends BaseComponent { private final Rect itemViewRect; - public WorldConsoleRenderer(Num rowHeight) - { + public WorldConsoleRenderer(Num rowHeight) { this.rowHeight = rowHeight; this.fr = new FontRenderer(Res.getFont("tiny")); @@ -72,7 +71,6 @@ public class WorldConsoleRenderer extends BaseComponent { Log.e(e); // this should not happen } - if (console.lastPickupItem != null) { double alpha = 1; diff --git a/src/mightypork/rogue/world/gui/interaction/MIPKeyboard.java b/src/mightypork/rogue/world/gui/interaction/MIPKeyboard.java index 63846c8..c47daec 100644 --- a/src/mightypork/rogue/world/gui/interaction/MIPKeyboard.java +++ b/src/mightypork/rogue/world/gui/interaction/MIPKeyboard.java @@ -56,8 +56,7 @@ public class MIPKeyboard extends MapInteractionPlugin implements DelegatingClien } - public MIPKeyboard(MapView mapView) - { + public MIPKeyboard(MapView mapView) { super(mapView); // bind keys diff --git a/src/mightypork/rogue/world/gui/interaction/MIPMouse.java b/src/mightypork/rogue/world/gui/interaction/MIPMouse.java index 8bac7c6..d59a93f 100644 --- a/src/mightypork/rogue/world/gui/interaction/MIPMouse.java +++ b/src/mightypork/rogue/world/gui/interaction/MIPMouse.java @@ -20,8 +20,7 @@ public class MIPMouse extends MapInteractionPlugin implements PlayerStepEndListe private static final int RIGHT = 1; // left - public MIPMouse(MapView mapView) - { + public MIPMouse(MapView mapView) { super(mapView); } diff --git a/src/mightypork/rogue/world/gui/interaction/MapInteractionPlugin.java b/src/mightypork/rogue/world/gui/interaction/MapInteractionPlugin.java index 5d24107..8fde371 100644 --- a/src/mightypork/rogue/world/gui/interaction/MapInteractionPlugin.java +++ b/src/mightypork/rogue/world/gui/interaction/MapInteractionPlugin.java @@ -13,8 +13,7 @@ public abstract class MapInteractionPlugin { protected final MapView mapView; - public MapInteractionPlugin(MapView mapView) - { + public MapInteractionPlugin(MapView mapView) { super(); this.mapView = mapView; } diff --git a/src/mightypork/rogue/world/item/Item.java b/src/mightypork/rogue/world/item/Item.java index 6527142..2a71f54 100644 --- a/src/mightypork/rogue/world/item/Item.java +++ b/src/mightypork/rogue/world/item/Item.java @@ -3,7 +3,7 @@ package mightypork.rogue.world.item; import mightypork.rogue.world.PlayerFacade; import mightypork.utils.Support; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.ion.IonBundled; import mightypork.utils.ion.IonDataBundle; import mightypork.utils.math.Calc; @@ -18,8 +18,7 @@ public abstract class Item implements IonBundled { private int uses = 1; - public Item(ItemModel model) - { + public Item(ItemModel model) { this.model = model; } @@ -38,7 +37,7 @@ public abstract class Item implements IonBundled { @Override - @DefaultImpl + @Stub public void save(IonDataBundle out) { out.put("c", amount); @@ -47,7 +46,7 @@ public abstract class Item implements IonBundled { @Override - @DefaultImpl + @Stub public void load(IonDataBundle in) { amount = in.get("c", amount); @@ -61,7 +60,7 @@ public abstract class Item implements IonBundled { } - @DefaultImpl + @Stub protected int getMaxStackSize() { return isStackable() ? 65535 : 1; @@ -188,7 +187,7 @@ public abstract class Item implements IonBundled { public abstract String getVisualName(); - @DefaultImpl + @Stub public boolean pickUp(PlayerFacade pl) { return pl.addItem(this); diff --git a/src/mightypork/rogue/world/item/ItemModel.java b/src/mightypork/rogue/world/item/ItemModel.java index 972954e..a12032d 100644 --- a/src/mightypork/rogue/world/item/ItemModel.java +++ b/src/mightypork/rogue/world/item/ItemModel.java @@ -19,8 +19,7 @@ public final class ItemModel { public final Class itemClass; - public ItemModel(int id, Class item) - { + public ItemModel(int id, Class item) { Items.register(id, this); this.id = id; this.itemClass = item; diff --git a/src/mightypork/rogue/world/item/ItemRenderer.java b/src/mightypork/rogue/world/item/ItemRenderer.java index 4c85492..18bca5d 100644 --- a/src/mightypork/rogue/world/item/ItemRenderer.java +++ b/src/mightypork/rogue/world/item/ItemRenderer.java @@ -9,8 +9,7 @@ public abstract class ItemRenderer { protected final Item item; - public ItemRenderer(Item item) - { + public ItemRenderer(Item item) { this.item = item; } diff --git a/src/mightypork/rogue/world/item/Items.java b/src/mightypork/rogue/world/item/Items.java index acb2255..a6f675e 100644 --- a/src/mightypork/rogue/world/item/Items.java +++ b/src/mightypork/rogue/world/item/Items.java @@ -8,13 +8,7 @@ import mightypork.rogue.world.item.impl.active.ItemHeartPiece; import mightypork.rogue.world.item.impl.food.ItemCheese; import mightypork.rogue.world.item.impl.food.ItemMeat; import mightypork.rogue.world.item.impl.food.ItemSandwich; -import mightypork.rogue.world.item.impl.weapons.ItemAxe; -import mightypork.rogue.world.item.impl.weapons.ItemBone; -import mightypork.rogue.world.item.impl.weapons.ItemClub; -import mightypork.rogue.world.item.impl.weapons.ItemKnife; -import mightypork.rogue.world.item.impl.weapons.ItemRock; -import mightypork.rogue.world.item.impl.weapons.ItemSword; -import mightypork.rogue.world.item.impl.weapons.ItemTwig; +import mightypork.rogue.world.item.impl.weapons.*; import mightypork.utils.ion.IonDataBundle; import mightypork.utils.ion.IonInput; import mightypork.utils.ion.IonOutput; diff --git a/src/mightypork/rogue/world/item/impl/ItemBaseFood.java b/src/mightypork/rogue/world/item/impl/ItemBaseFood.java index e03b624..029e618 100644 --- a/src/mightypork/rogue/world/item/impl/ItemBaseFood.java +++ b/src/mightypork/rogue/world/item/impl/ItemBaseFood.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.item.ItemType; public abstract class ItemBaseFood extends Item { - public ItemBaseFood(ItemModel model) - { + public ItemBaseFood(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/ItemBaseWeapon.java b/src/mightypork/rogue/world/item/impl/ItemBaseWeapon.java index 869fcaa..a2ccdbd 100644 --- a/src/mightypork/rogue/world/item/impl/ItemBaseWeapon.java +++ b/src/mightypork/rogue/world/item/impl/ItemBaseWeapon.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.item.ItemType; public abstract class ItemBaseWeapon extends Item { - public ItemBaseWeapon(ItemModel model) - { + public ItemBaseWeapon(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/active/ItemHeartPiece.java b/src/mightypork/rogue/world/item/impl/active/ItemHeartPiece.java index 0ff6341..a440114 100644 --- a/src/mightypork/rogue/world/item/impl/active/ItemHeartPiece.java +++ b/src/mightypork/rogue/world/item/impl/active/ItemHeartPiece.java @@ -12,8 +12,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemHeartPiece extends Item { - public ItemHeartPiece(ItemModel model) - { + public ItemHeartPiece(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/food/ItemCheese.java b/src/mightypork/rogue/world/item/impl/food/ItemCheese.java index 152d805..b26f007 100644 --- a/src/mightypork/rogue/world/item/impl/food/ItemCheese.java +++ b/src/mightypork/rogue/world/item/impl/food/ItemCheese.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemCheese extends ItemBaseFood { - public ItemCheese(ItemModel model) - { + public ItemCheese(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/food/ItemMeat.java b/src/mightypork/rogue/world/item/impl/food/ItemMeat.java index 8d65ead..e8f58f2 100644 --- a/src/mightypork/rogue/world/item/impl/food/ItemMeat.java +++ b/src/mightypork/rogue/world/item/impl/food/ItemMeat.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemMeat extends ItemBaseFood { - public ItemMeat(ItemModel model) - { + public ItemMeat(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/food/ItemSandwich.java b/src/mightypork/rogue/world/item/impl/food/ItemSandwich.java index 713b6e8..f655ab6 100644 --- a/src/mightypork/rogue/world/item/impl/food/ItemSandwich.java +++ b/src/mightypork/rogue/world/item/impl/food/ItemSandwich.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemSandwich extends ItemBaseFood { - public ItemSandwich(ItemModel model) - { + public ItemSandwich(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemAxe.java b/src/mightypork/rogue/world/item/impl/weapons/ItemAxe.java index d384bbc..2fbdb4d 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemAxe.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemAxe.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemAxe extends ItemBaseWeapon { - public ItemAxe(ItemModel model) - { + public ItemAxe(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemBone.java b/src/mightypork/rogue/world/item/impl/weapons/ItemBone.java index 9b12682..51aee39 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemBone.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemBone.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemBone extends ItemBaseWeapon { - public ItemBone(ItemModel model) - { + public ItemBone(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemClub.java b/src/mightypork/rogue/world/item/impl/weapons/ItemClub.java index bf15b73..caff2f2 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemClub.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemClub.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemClub extends ItemBaseWeapon { - public ItemClub(ItemModel model) - { + public ItemClub(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemKnife.java b/src/mightypork/rogue/world/item/impl/weapons/ItemKnife.java index 0fb4f74..2fe3691 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemKnife.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemKnife.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemKnife extends ItemBaseWeapon { - public ItemKnife(ItemModel model) - { + public ItemKnife(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemRock.java b/src/mightypork/rogue/world/item/impl/weapons/ItemRock.java index 1d142f5..4328e89 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemRock.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemRock.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemRock extends ItemBaseWeapon { - public ItemRock(ItemModel model) - { + public ItemRock(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemSword.java b/src/mightypork/rogue/world/item/impl/weapons/ItemSword.java index 8aaf119..bb7d9b9 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemSword.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemSword.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemSword extends ItemBaseWeapon { - public ItemSword(ItemModel model) - { + public ItemSword(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/impl/weapons/ItemTwig.java b/src/mightypork/rogue/world/item/impl/weapons/ItemTwig.java index 297eddc..24c86bd 100644 --- a/src/mightypork/rogue/world/item/impl/weapons/ItemTwig.java +++ b/src/mightypork/rogue/world/item/impl/weapons/ItemTwig.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.item.render.QuadItemRenderer; public class ItemTwig extends ItemBaseWeapon { - public ItemTwig(ItemModel model) - { + public ItemTwig(ItemModel model) { super(model); } diff --git a/src/mightypork/rogue/world/item/render/QuadItemRenderer.java b/src/mightypork/rogue/world/item/render/QuadItemRenderer.java index 12239d5..197c963 100644 --- a/src/mightypork/rogue/world/item/render/QuadItemRenderer.java +++ b/src/mightypork/rogue/world/item/render/QuadItemRenderer.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.item.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.rogue.world.item.Item; import mightypork.rogue.world.item.ItemRenderer; @@ -13,8 +13,7 @@ public class QuadItemRenderer extends ItemRenderer { private final TxQuad txq; - public QuadItemRenderer(Item item, TxQuad txq) - { + public QuadItemRenderer(Item item, TxQuad txq) { super(item); this.txq = txq; } @@ -23,7 +22,7 @@ public class QuadItemRenderer extends ItemRenderer { @Override public void render(Rect r) { - Render.quadTextured(r, txq); + App.gfx().quad(r, txq); } } diff --git a/src/mightypork/rogue/world/level/Level.java b/src/mightypork/rogue/world/level/Level.java index a1eca23..d69e18a 100644 --- a/src/mightypork/rogue/world/level/Level.java +++ b/src/mightypork/rogue/world/level/Level.java @@ -2,16 +2,7 @@ package mightypork.rogue.world.level; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import mightypork.rogue.world.World; import mightypork.rogue.world.entity.Entities; @@ -48,7 +39,6 @@ import mightypork.utils.math.noise.NoiseGen; */ public class Level implements BusAccess, Updateable, DelegatingClient, ToggleableClient, IonBinary { - private final FloodFill exploreFiller = new FloodFill() { @Override @@ -112,13 +102,11 @@ public class Level implements BusAccess, Updateable, DelegatingClient, Toggleabl private double timeSinceLastEntitySort; - public Level() - { + public Level() { } - public Level(int width, int height) - { + public Level(int width, int height) { size.setTo(width, height); buildArray(); } @@ -154,7 +142,7 @@ public class Level implements BusAccess, Updateable, DelegatingClient, Toggleabl public final Tile getTile(Coord pos) { if (!pos.isInRange(0, 0, size.x - 1, size.y - 1)) return Tiles.NULL.createTile(); // out of range - + return tiles[pos.y][pos.x]; } diff --git a/src/mightypork/rogue/world/level/render/EntityRenderContext.java b/src/mightypork/rogue/world/level/render/EntityRenderContext.java index edb3b33..25f955b 100644 --- a/src/mightypork/rogue/world/level/render/EntityRenderContext.java +++ b/src/mightypork/rogue/world/level/render/EntityRenderContext.java @@ -7,8 +7,7 @@ import mightypork.utils.math.constraints.rect.Rect; public class EntityRenderContext extends MapRenderContext { - public EntityRenderContext(Level map, Rect drawArea) - { + public EntityRenderContext(Level map, Rect drawArea) { super(map, drawArea); } diff --git a/src/mightypork/rogue/world/level/render/MapRenderContext.java b/src/mightypork/rogue/world/level/render/MapRenderContext.java index 82e2a0e..98ff03e 100644 --- a/src/mightypork/rogue/world/level/render/MapRenderContext.java +++ b/src/mightypork/rogue/world/level/render/MapRenderContext.java @@ -15,8 +15,7 @@ public abstract class MapRenderContext { private final Rect mapRect; - public MapRenderContext(Level map, Rect drawArea) - { + public MapRenderContext(Level map, Rect drawArea) { this.map = map; this.tiler = drawArea.tiles(map.getWidth(), map.getHeight()); diff --git a/src/mightypork/rogue/world/level/render/TileRenderContext.java b/src/mightypork/rogue/world/level/render/TileRenderContext.java index 1f637f8..cfab2ba 100644 --- a/src/mightypork/rogue/world/level/render/TileRenderContext.java +++ b/src/mightypork/rogue/world/level/render/TileRenderContext.java @@ -21,8 +21,7 @@ public final class TileRenderContext extends MapRenderContext implements RectBou private final NoiseGen noise; - public TileRenderContext(Level map, Rect drawArea) - { + public TileRenderContext(Level map, Rect drawArea) { super(map, drawArea); //this.tiler.setOverlap(0.002); // avoid gaps (rounding error?) diff --git a/src/mightypork/rogue/world/tile/Tile.java b/src/mightypork/rogue/world/tile/Tile.java index ca6bd1b..536c7d6 100644 --- a/src/mightypork/rogue/world/tile/Tile.java +++ b/src/mightypork/rogue/world/tile/Tile.java @@ -9,7 +9,7 @@ import mightypork.rogue.world.item.Item; import mightypork.rogue.world.level.Level; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.utils.Support; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.eventbus.BusAccess; import mightypork.utils.eventbus.EventBus; import mightypork.utils.ion.IonBinary; @@ -40,8 +40,7 @@ public abstract class Tile implements BusAccess, IonBinary { private TileRenderer renderer; - public Tile(TileModel model) - { + public Tile(TileModel model) { this.model = model; } @@ -51,7 +50,7 @@ public abstract class Tile implements BusAccess, IonBinary { * * @param context rendering ctx */ - @DefaultImpl + @Stub public void renderTile(TileRenderContext context) { if (!isExplored() && Const.RENDER_UFOG) return; @@ -64,7 +63,7 @@ public abstract class Tile implements BusAccess, IonBinary { } - @DefaultImpl + @Stub public void renderUFog(TileRenderContext context) { initRenderer(); @@ -96,7 +95,7 @@ public abstract class Tile implements BusAccess, IonBinary { * * @param context */ - @DefaultImpl + @Stub public void renderExtra(TileRenderContext context) { initRenderer(); @@ -172,7 +171,7 @@ public abstract class Tile implements BusAccess, IonBinary { } - @DefaultImpl + @Stub public void updateTile(double delta) { initRenderer(); @@ -186,7 +185,7 @@ public abstract class Tile implements BusAccess, IonBinary { * * @return true if currently walkable */ - @DefaultImpl + @Stub public boolean isWalkable() { return isPotentiallyWalkable(); @@ -205,7 +204,7 @@ public abstract class Tile implements BusAccess, IonBinary { public abstract boolean doesCastShadow(); - @DefaultImpl + @Stub public boolean doesReceiveShadow() { return !doesCastShadow(); @@ -252,7 +251,7 @@ public abstract class Tile implements BusAccess, IonBinary { * * @return true if the tile is interactive and did something. */ - @DefaultImpl + @Stub public boolean onClick() { return false; diff --git a/src/mightypork/rogue/world/tile/TileModel.java b/src/mightypork/rogue/world/tile/TileModel.java index f02922b..5cc214a 100644 --- a/src/mightypork/rogue/world/tile/TileModel.java +++ b/src/mightypork/rogue/world/tile/TileModel.java @@ -19,8 +19,7 @@ public final class TileModel { public final Class tileClass; - public TileModel(int id, Class tile) - { + public TileModel(int id, Class tile) { Tiles.register(id, this); this.id = id; this.tileClass = tile; diff --git a/src/mightypork/rogue/world/tile/TileRenderer.java b/src/mightypork/rogue/world/tile/TileRenderer.java index 81c1572..c2e1a20 100644 --- a/src/mightypork/rogue/world/tile/TileRenderer.java +++ b/src/mightypork/rogue/world/tile/TileRenderer.java @@ -1,12 +1,13 @@ package mightypork.rogue.world.tile; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; +import mightypork.gamecore.render.RenderModule; import mightypork.gamecore.resources.Res; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.rogue.world.tile.render.NullTileRenderer; -import mightypork.utils.annotations.DefaultImpl; +import mightypork.utils.annotations.Stub; import mightypork.utils.interfaces.Updateable; import mightypork.utils.math.algo.Moves; import mightypork.utils.math.constraints.rect.Rect; @@ -40,8 +41,7 @@ public abstract class TileRenderer implements Updateable { } - public TileRenderer(Tile tile) - { + public TileRenderer(Tile tile) { this.tile = tile; if (!inited) { @@ -90,21 +90,24 @@ public abstract class TileRenderer implements Updateable { if (shadows == 0) return; final Rect rect = context.getRect(); + + + final RenderModule gfx = App.gfx(); - if ((shadows & Moves.BITS_NW_CORNER) == Moves.BIT_NW) Render.quadTextured(rect, SH_NW); - if ((shadows & Moves.BIT_N) != 0) Render.quadTextured(rect, SH_N); - if ((shadows & Moves.BITS_NE_CORNER) == Moves.BIT_NE) Render.quadTextured(rect, SH_NE); + if ((shadows & Moves.BITS_NW_CORNER) == Moves.BIT_NW) gfx.quad(rect, SH_NW); + if ((shadows & Moves.BIT_N) != 0) gfx.quad(rect, SH_N); + if ((shadows & Moves.BITS_NE_CORNER) == Moves.BIT_NE) gfx.quad(rect, SH_NE); - if ((shadows & Moves.BIT_W) != 0) Render.quadTextured(rect, SH_W); - if ((shadows & Moves.BIT_E) != 0) Render.quadTextured(rect, SH_E); + if ((shadows & Moves.BIT_W) != 0) gfx.quad(rect, SH_W); + if ((shadows & Moves.BIT_E) != 0) gfx.quad(rect, SH_E); - if ((shadows & Moves.BITS_SW_CORNER) == Moves.BIT_SW) Render.quadTextured(rect, SH_SW); - if ((shadows & Moves.BIT_S) != 0) Render.quadTextured(rect, SH_S); - if ((shadows & Moves.BITS_SE_CORNER) == Moves.BIT_SE) Render.quadTextured(rect, SH_SE); + if ((shadows & Moves.BITS_SW_CORNER) == Moves.BIT_SW) gfx.quad(rect, SH_SW); + if ((shadows & Moves.BIT_S) != 0) gfx.quad(rect, SH_S); + if ((shadows & Moves.BITS_SE_CORNER) == Moves.BIT_SE) gfx.quad(rect, SH_SE); } - @DefaultImpl + @Stub public void renderExtra(TileRenderContext context) { } @@ -113,11 +116,13 @@ public abstract class TileRenderer implements Updateable { public void renderUnexploredFog(TileRenderContext context) { // TODO cache values, update neighbouring tiles upon "explored" flag changed. + + final RenderModule gfx = App.gfx(); final Rect rect = context.getRect(); if (!context.getTile().isExplored()) { - Render.quadTextured(rect, UFOG_FULL); + gfx.quad(rect, UFOG_FULL); return; } @@ -132,16 +137,17 @@ public abstract class TileRenderer implements Updateable { if (ufog == 0) return; - if ((ufog & Moves.BITS_NW_CORNER) == Moves.BIT_NW) Render.quadTextured(rect, UFOG_NW); - if ((ufog & Moves.BIT_N) != 0) Render.quadTextured(rect, UFOG_N); - if ((ufog & Moves.BITS_NE_CORNER) == Moves.BIT_NE) Render.quadTextured(rect, UFOG_NE); - if ((ufog & Moves.BIT_W) != 0) Render.quadTextured(rect, UFOG_W); - if ((ufog & Moves.BIT_E) != 0) Render.quadTextured(rect, UFOG_E); + if ((ufog & Moves.BITS_NW_CORNER) == Moves.BIT_NW) gfx.quad(rect, UFOG_NW); + if ((ufog & Moves.BIT_N) != 0) gfx.quad(rect, UFOG_N); + if ((ufog & Moves.BITS_NE_CORNER) == Moves.BIT_NE) gfx.quad(rect, UFOG_NE); + + if ((ufog & Moves.BIT_W) != 0) gfx.quad(rect, UFOG_W); + if ((ufog & Moves.BIT_E) != 0) gfx.quad(rect, UFOG_E); - if ((ufog & Moves.BITS_SW_CORNER) == Moves.BIT_SW) Render.quadTextured(rect, UFOG_SW); - if ((ufog & Moves.BIT_S) != 0) Render.quadTextured(rect, UFOG_S); - if ((ufog & Moves.BITS_SE_CORNER) == Moves.BIT_SE) Render.quadTextured(rect, UFOG_SE); + if ((ufog & Moves.BITS_SW_CORNER) == Moves.BIT_SW) gfx.quad(rect, UFOG_SW); + if ((ufog & Moves.BIT_S) != 0) gfx.quad(rect, UFOG_S); + if ((ufog & Moves.BITS_SE_CORNER) == Moves.BIT_SE) gfx.quad(rect, UFOG_SE); } diff --git a/src/mightypork/rogue/world/tile/TileType.java b/src/mightypork/rogue/world/tile/TileType.java index eba8593..86fcba0 100644 --- a/src/mightypork/rogue/world/tile/TileType.java +++ b/src/mightypork/rogue/world/tile/TileType.java @@ -28,8 +28,7 @@ public enum TileType private final boolean potentiallyWalkable; - private TileType(Color defaultMapColor, boolean potentiallyWalkable) - { + private TileType(Color defaultMapColor, boolean potentiallyWalkable) { this.mapColor = defaultMapColor; this.potentiallyWalkable = potentiallyWalkable; } diff --git a/src/mightypork/rogue/world/tile/Tiles.java b/src/mightypork/rogue/world/tile/Tiles.java index a2b85b6..0d81029 100644 --- a/src/mightypork/rogue/world/tile/Tiles.java +++ b/src/mightypork/rogue/world/tile/Tiles.java @@ -4,14 +4,7 @@ package mightypork.rogue.world.tile; import java.io.IOException; import mightypork.rogue.world.tile.impl.NullTile; -import mightypork.rogue.world.tile.impl.brick.TileBrickChest; -import mightypork.rogue.world.tile.impl.brick.TileBrickDoor; -import mightypork.rogue.world.tile.impl.brick.TileBrickEntrance; -import mightypork.rogue.world.tile.impl.brick.TileBrickExit; -import mightypork.rogue.world.tile.impl.brick.TileBrickFloor; -import mightypork.rogue.world.tile.impl.brick.TileBrickPassage; -import mightypork.rogue.world.tile.impl.brick.TileBrickSecretDoor; -import mightypork.rogue.world.tile.impl.brick.TileBrickWall; +import mightypork.rogue.world.tile.impl.brick.*; import mightypork.utils.ion.IonInput; import mightypork.utils.ion.IonOutput; diff --git a/src/mightypork/rogue/world/tile/impl/NullTile.java b/src/mightypork/rogue/world/tile/impl/NullTile.java index a785cb6..7519eb7 100644 --- a/src/mightypork/rogue/world/tile/impl/NullTile.java +++ b/src/mightypork/rogue/world/tile/impl/NullTile.java @@ -11,8 +11,7 @@ import mightypork.rogue.world.tile.TileType; public class NullTile extends Tile { - public NullTile(TileModel model) - { + public NullTile(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseChest.java b/src/mightypork/rogue/world/tile/impl/TileBaseChest.java index 9ce45c0..cc6607c 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseChest.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseChest.java @@ -19,8 +19,7 @@ public abstract class TileBaseChest extends TileWithItems { private int clicks = 1; - public TileBaseChest(TileModel model) - { + public TileBaseChest(TileModel model) { super(model); } @@ -67,7 +66,6 @@ public abstract class TileBaseChest extends TileWithItems { } } - return true; } diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseDoor.java b/src/mightypork/rogue/world/tile/impl/TileBaseDoor.java index 34b9bfc..83cdd2d 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseDoor.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseDoor.java @@ -18,8 +18,7 @@ public abstract class TileBaseDoor extends TileSolid { protected boolean locked = false; - public TileBaseDoor(TileModel model, TxSheet locked, TxSheet closed, TxSheet open) - { + public TileBaseDoor(TileModel model, TxSheet locked, TxSheet closed, TxSheet open) { super(model); this.renderer = new DoorTileRenderer(this, locked, closed, open); diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseEntrance.java b/src/mightypork/rogue/world/tile/impl/TileBaseEntrance.java index 0242620..69fc01c 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseEntrance.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseEntrance.java @@ -10,8 +10,7 @@ import mightypork.utils.math.color.Color; public abstract class TileBaseEntrance extends TileBaseStairs { - public TileBaseEntrance(TileModel model) - { + public TileBaseEntrance(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseExit.java b/src/mightypork/rogue/world/tile/impl/TileBaseExit.java index 69e5768..f9264e6 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseExit.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseExit.java @@ -10,8 +10,7 @@ import mightypork.utils.math.color.Color; public abstract class TileBaseExit extends TileBaseStairs { - public TileBaseExit(TileModel model) - { + public TileBaseExit(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseFloor.java b/src/mightypork/rogue/world/tile/impl/TileBaseFloor.java index 9532ed5..a71446e 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseFloor.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseFloor.java @@ -13,8 +13,7 @@ public abstract class TileBaseFloor extends TileWithItems { private final BasicTileRenderer renderer; - public TileBaseFloor(TileModel model, TxSheet sheet) - { + public TileBaseFloor(TileModel model, TxSheet sheet) { super(model); this.renderer = new BasicTileRenderer(this, sheet); } diff --git a/src/mightypork/rogue/world/tile/impl/TileBasePassage.java b/src/mightypork/rogue/world/tile/impl/TileBasePassage.java index af9f9dd..56ae2d1 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBasePassage.java +++ b/src/mightypork/rogue/world/tile/impl/TileBasePassage.java @@ -18,8 +18,7 @@ public abstract class TileBasePassage extends TileSolid { private final BasicTileRenderer renderer; - public TileBasePassage(TileModel model, TxSheet sheet) - { + public TileBasePassage(TileModel model, TxSheet sheet) { super(model); this.renderer = new BasicTileRenderer(this, sheet); diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseSecretDoor.java b/src/mightypork/rogue/world/tile/impl/TileBaseSecretDoor.java index 941367b..0f6f7d3 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseSecretDoor.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseSecretDoor.java @@ -16,8 +16,7 @@ public abstract class TileBaseSecretDoor extends TileBaseDoor { private int clicks = 2; - public TileBaseSecretDoor(TileModel model, TxSheet secret, TxSheet closed, TxSheet open) - { + public TileBaseSecretDoor(TileModel model, TxSheet secret, TxSheet closed, TxSheet open) { super(model, secret, closed, open); } diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseStairs.java b/src/mightypork/rogue/world/tile/impl/TileBaseStairs.java index 27ebcaf..19949de 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseStairs.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseStairs.java @@ -7,8 +7,7 @@ import mightypork.rogue.world.tile.TileType; public abstract class TileBaseStairs extends TileSolid { - public TileBaseStairs(TileModel model) - { + public TileBaseStairs(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/TileBaseWall.java b/src/mightypork/rogue/world/tile/impl/TileBaseWall.java index 61eb70a..ab316cd 100644 --- a/src/mightypork/rogue/world/tile/impl/TileBaseWall.java +++ b/src/mightypork/rogue/world/tile/impl/TileBaseWall.java @@ -12,8 +12,7 @@ public abstract class TileBaseWall extends TileSolid { private final BasicTileRenderer renderer; - public TileBaseWall(TileModel model, TxSheet sheet) - { + public TileBaseWall(TileModel model, TxSheet sheet) { super(model); this.renderer = new BasicTileRenderer(this, sheet); } diff --git a/src/mightypork/rogue/world/tile/impl/TileSolid.java b/src/mightypork/rogue/world/tile/impl/TileSolid.java index c7cc1f6..0ef40ce 100644 --- a/src/mightypork/rogue/world/tile/impl/TileSolid.java +++ b/src/mightypork/rogue/world/tile/impl/TileSolid.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.tile.TileModel; public abstract class TileSolid extends Tile { - public TileSolid(TileModel model) - { + public TileSolid(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/TileWithItems.java b/src/mightypork/rogue/world/tile/impl/TileWithItems.java index 44c3d9d..f7e9336 100644 --- a/src/mightypork/rogue/world/tile/impl/TileWithItems.java +++ b/src/mightypork/rogue/world/tile/impl/TileWithItems.java @@ -22,8 +22,7 @@ public abstract class TileWithItems extends Tile { protected final Stack items = new Stack<>(); - public TileWithItems(TileModel model) - { + public TileWithItems(TileModel model) { super(model); } @@ -106,7 +105,6 @@ public abstract class TileWithItems extends Tile { return !items.isEmpty(); } - // @Override // public boolean onClick() // { diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickChest.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickChest.java index 03d9c62..794c80c 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickChest.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickChest.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.tile.render.ChestRenderer; public class TileBrickChest extends TileBaseChest { - public TileBrickChest(TileModel model) - { + public TileBrickChest(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickDoor.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickDoor.java index 70ccb4d..cd60cad 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickDoor.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickDoor.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.tile.impl.TileBaseDoor; public class TileBrickDoor extends TileBaseDoor { - public TileBrickDoor(TileModel model) - { + public TileBrickDoor(TileModel model) { //@formatter:off super( model, diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickEntrance.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickEntrance.java index 16eb3d6..97c6ca1 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickEntrance.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickEntrance.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.tile.render.OneFrameTileRenderer; public class TileBrickEntrance extends TileBaseEntrance { - public TileBrickEntrance(TileModel model) - { + public TileBrickEntrance(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickExit.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickExit.java index e7549d5..337e0f0 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickExit.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickExit.java @@ -10,8 +10,7 @@ import mightypork.rogue.world.tile.render.OneFrameTileRenderer; public class TileBrickExit extends TileBaseExit { - public TileBrickExit(TileModel model) - { + public TileBrickExit(TileModel model) { super(model); } diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickFloor.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickFloor.java index 86eb660..b50c1c6 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickFloor.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickFloor.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.tile.impl.TileBaseFloor; public class TileBrickFloor extends TileBaseFloor { - public TileBrickFloor(TileModel model) - { + public TileBrickFloor(TileModel model) { super(model, Res.getTxSheet("tile.brick.floor")); } diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickPassage.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickPassage.java index 94e7cee..9265712 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickPassage.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickPassage.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.tile.impl.TileBasePassage; public class TileBrickPassage extends TileBasePassage { - public TileBrickPassage(TileModel model) - { + public TileBrickPassage(TileModel model) { super(model, Res.getTxSheet("tile.brick.passage")); } diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickSecretDoor.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickSecretDoor.java index b88665c..b87db09 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickSecretDoor.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickSecretDoor.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.tile.impl.TileBaseSecretDoor; public class TileBrickSecretDoor extends TileBaseSecretDoor { - public TileBrickSecretDoor(TileModel model) - { + public TileBrickSecretDoor(TileModel model) { //@formatter:off super( model, diff --git a/src/mightypork/rogue/world/tile/impl/brick/TileBrickWall.java b/src/mightypork/rogue/world/tile/impl/brick/TileBrickWall.java index 0d745f0..90d1c70 100644 --- a/src/mightypork/rogue/world/tile/impl/brick/TileBrickWall.java +++ b/src/mightypork/rogue/world/tile/impl/brick/TileBrickWall.java @@ -8,8 +8,7 @@ import mightypork.rogue.world.tile.impl.TileBaseWall; public class TileBrickWall extends TileBaseWall { - public TileBrickWall(TileModel model) - { + public TileBrickWall(TileModel model) { super(model, Res.getTxSheet("tile.brick.wall")); } diff --git a/src/mightypork/rogue/world/tile/render/BasicTileRenderer.java b/src/mightypork/rogue/world/tile/render/BasicTileRenderer.java index 2edc79f..7f2a746 100644 --- a/src/mightypork/rogue/world/tile/render/BasicTileRenderer.java +++ b/src/mightypork/rogue/world/tile/render/BasicTileRenderer.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.tile.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.textures.TxSheet; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.rogue.world.tile.Tile; @@ -14,8 +14,7 @@ public class BasicTileRenderer extends TileRenderer { private final TxSheet sheet; - public BasicTileRenderer(Tile tile, TxSheet sheet) - { + public BasicTileRenderer(Tile tile, TxSheet sheet) { super(tile); this.sheet = sheet; } @@ -25,6 +24,6 @@ public class BasicTileRenderer extends TileRenderer { public void renderTile(TileRenderContext context) { final Rect rect = context.getRect(); - Render.quadTextured(rect, sheet.getRandomQuad(context.getTileNoise())); + App.gfx().quad(rect, sheet.getRandomQuad(context.getTileNoise())); } } diff --git a/src/mightypork/rogue/world/tile/render/ChestRenderer.java b/src/mightypork/rogue/world/tile/render/ChestRenderer.java index 0db3ad8..731ce56 100644 --- a/src/mightypork/rogue/world/tile/render/ChestRenderer.java +++ b/src/mightypork/rogue/world/tile/render/ChestRenderer.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.tile.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.rogue.world.tile.TileRenderer; @@ -17,8 +17,7 @@ public class ChestRenderer extends TileRenderer { private final TxQuad txqChestOpen; - public ChestRenderer(TileBaseChest tile, TxQuad txq, TxQuad chest, TxQuad chestOpen) - { + public ChestRenderer(TileBaseChest tile, TxQuad txq, TxQuad chest, TxQuad chestOpen) { super(tile); this.chestTile = tile; @@ -32,7 +31,7 @@ public class ChestRenderer extends TileRenderer { @Override public void renderTile(TileRenderContext context) { - Render.quadTextured(context.getRect(), txqFloor); + App.gfx().quad(context.getRect(), txqFloor); } @@ -40,10 +39,10 @@ public class ChestRenderer extends TileRenderer { public void renderExtra(TileRenderContext context) { if (!chestTile.opened) { - Render.quadTextured(context.getRect(), txqChest); + App.gfx().quad(context.getRect(), txqChest); } else { if (!chestTile.removed) { - Render.quadTextured(context.getRect(), txqChestOpen); + App.gfx().quad(context.getRect(), txqChestOpen); } } } diff --git a/src/mightypork/rogue/world/tile/render/DoorTileRenderer.java b/src/mightypork/rogue/world/tile/render/DoorTileRenderer.java index 9020ea9..ec87daf 100644 --- a/src/mightypork/rogue/world/tile/render/DoorTileRenderer.java +++ b/src/mightypork/rogue/world/tile/render/DoorTileRenderer.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.tile.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.textures.TxSheet; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.rogue.world.tile.TileRenderer; @@ -28,8 +28,7 @@ public class DoorTileRenderer extends TileRenderer { }; - public DoorTileRenderer(TileBaseDoor doorTile, TxSheet locked, TxSheet closed, TxSheet open) - { + public DoorTileRenderer(TileBaseDoor doorTile, TxSheet locked, TxSheet closed, TxSheet open) { super(doorTile); this.locked = locked; @@ -50,10 +49,10 @@ public class DoorTileRenderer extends TileRenderer { } if (visuallyOpen) { - Render.quadTextured(rect, open.getRandomQuad(context.getTileNoise())); + App.gfx().quad(rect, open.getRandomQuad(context.getTileNoise())); } else { final TxSheet sheet = (((TileBaseDoor) tile).isLocked() ? locked : closed); - Render.quadTextured(rect, sheet.getRandomQuad(context.getTileNoise())); + App.gfx().quad(rect, sheet.getRandomQuad(context.getTileNoise())); } } diff --git a/src/mightypork/rogue/world/tile/render/NullTileRenderer.java b/src/mightypork/rogue/world/tile/render/NullTileRenderer.java index a06296c..5564cb8 100644 --- a/src/mightypork/rogue/world/tile/render/NullTileRenderer.java +++ b/src/mightypork/rogue/world/tile/render/NullTileRenderer.java @@ -12,8 +12,7 @@ import mightypork.rogue.world.tile.TileRenderer; */ public class NullTileRenderer extends TileRenderer { - public NullTileRenderer() - { + public NullTileRenderer() { super(null); } diff --git a/src/mightypork/rogue/world/tile/render/OneFrameTileRenderer.java b/src/mightypork/rogue/world/tile/render/OneFrameTileRenderer.java index ac7f7bc..945f11e 100644 --- a/src/mightypork/rogue/world/tile/render/OneFrameTileRenderer.java +++ b/src/mightypork/rogue/world/tile/render/OneFrameTileRenderer.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.tile.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.rogue.world.tile.Tile; @@ -18,8 +18,7 @@ public class OneFrameTileRenderer extends TileRenderer { private final TxQuad txq; - public OneFrameTileRenderer(Tile tile, TxQuad txq) - { + public OneFrameTileRenderer(Tile tile, TxQuad txq) { super(tile); this.txq = txq; } @@ -28,6 +27,6 @@ public class OneFrameTileRenderer extends TileRenderer { @Override public void renderTile(TileRenderContext context) { - Render.quadTextured(context.getRect(), txq); + App.gfx().quad(context.getRect(), txq); } } diff --git a/src/mightypork/rogue/world/tile/render/TwoHighTileRenderer.java b/src/mightypork/rogue/world/tile/render/TwoHighTileRenderer.java index f01d703..a3ad6b7 100644 --- a/src/mightypork/rogue/world/tile/render/TwoHighTileRenderer.java +++ b/src/mightypork/rogue/world/tile/render/TwoHighTileRenderer.java @@ -1,7 +1,7 @@ package mightypork.rogue.world.tile.render; -import mightypork.gamecore.render.Render; +import mightypork.gamecore.core.modules.App; import mightypork.gamecore.resources.textures.TxQuad; import mightypork.rogue.world.level.render.TileRenderContext; import mightypork.rogue.world.tile.Tile; @@ -19,8 +19,7 @@ public class TwoHighTileRenderer extends TileRenderer { private final TxQuad txq; - public TwoHighTileRenderer(Tile tile, TxQuad txq) - { + public TwoHighTileRenderer(Tile tile, TxQuad txq) { super(tile); this.txq = txq; } @@ -30,6 +29,6 @@ public class TwoHighTileRenderer extends TileRenderer { public void renderTile(TileRenderContext context) { final Rect rect = context.getRect(); - Render.quadTextured(rect.growUp(rect.height()), txq); + App.gfx().quad(rect.growUp(rect.height()), txq); } }