From aac26f47f469e56b43216e9c21cf5c9c263bb4d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sun, 4 May 2014 21:09:16 +0200 Subject: [PATCH] new graphics for logo --- res/img/dudes.xcf | Bin 9195 -> 9195 bytes res/img/logo.png | Bin 0 -> 20715 bytes res/img/logo.xcf | Bin 0 -> 108635 bytes res/img/logo2.png | Bin 0 -> 1638 bytes res/img/logo2.xcf | Bin 0 -> 11940 bytes .../gui/components/painters/ImagePainter.java | 22 ++++++++++-------- .../resources/fonts/impl/CachedFont.java | 16 ++++++++++--- .../resources/textures/DeferredTexture.java | 3 ++- .../util/math/constraints/rect/Rect.java | 14 +++++++++++ .../util/math/constraints/rect/RectConst.java | 16 +++++++++++++ src/mightypork/rogue/Res.java | 5 ++++ .../rogue/screens/menu/MenuLayer.java | 18 +++++++------- 12 files changed, 72 insertions(+), 22 deletions(-) create mode 100644 res/img/logo.png create mode 100644 res/img/logo.xcf create mode 100644 res/img/logo2.png create mode 100644 res/img/logo2.xcf diff --git a/res/img/dudes.xcf b/res/img/dudes.xcf index f019eff54f96b6975dcf08973f2deeb40b184b3a..62218e1c6f99150a4b91026383529465215cbb58 100644 GIT binary patch delta 17 ZcmaFu{@Q)RDc=lt&BobAAN@2l?f^{7j}D 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

rgBOW=tPNqcM`V%ado&W-sP6Kcn8y} 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

u*QIqE&mC*%wOzVt#k&EHRf`FaN#|nkz2ZK zNj^BE?OhEr@DCFCqRR_})wSk9cchfZ2YYb4CAZeA|7ID6Au;hlXz>@=*Bc6{xGqvR?Evo@xA$toDk(Xq_IeQ=~Dln z>zwK3s7xYQ;>u?&xJS$jBh25v_;}PPlAEHMUvbY`b<|e-e0agtN>f*5YyY1iD^!g4 V9MHBuVbcFK6b_5Wuug+Rpo0)U=ob@_3aT2+e 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 literal 0 HcmV?d00001 diff --git a/src/mightypork/gamecore/gui/components/painters/ImagePainter.java b/src/mightypork/gamecore/gui/components/painters/ImagePainter.java index 9694810..2195adf 100644 --- a/src/mightypork/gamecore/gui/components/painters/ImagePainter.java +++ b/src/mightypork/gamecore/gui/components/painters/ImagePainter.java @@ -4,6 +4,8 @@ package mightypork.gamecore.gui.components.painters; import mightypork.gamecore.gui.components.VisualComponent; import mightypork.gamecore.render.Render; import mightypork.gamecore.resources.textures.TxQuad; +import mightypork.gamecore.util.math.constraints.num.Num; +import mightypork.gamecore.util.math.constraints.rect.Rect; /** @@ -13,31 +15,31 @@ import mightypork.gamecore.resources.textures.TxQuad; */ public class ImagePainter extends VisualComponent { - private TxQuad texture; + private final TxQuad txQuad; + private boolean aspratio = false; + private Rect asprRect; /** - * @param texture drawn image + * @param txQuad drawn image */ - public ImagePainter(TxQuad texture) + public ImagePainter(TxQuad txQuad) { - this.texture = texture; + this.txQuad = txQuad; + this.asprRect = ((Rect) this).axisV().grow(height().div(txQuad.uvs.height()).mul(txQuad.uvs.width()).half(), Num.ZERO);; } - /** - * @param texture texture to use - */ - public void setTexture(TxQuad texture) + public void keepAspectRatio() { - this.texture = texture; + aspratio = true; } @Override public void renderComponent() { - Render.quadTextured(getRect(), texture); + Render.quadTextured(aspratio ? asprRect : this, txQuad); } } diff --git a/src/mightypork/gamecore/resources/fonts/impl/CachedFont.java b/src/mightypork/gamecore/resources/fonts/impl/CachedFont.java index b0fe3de..de023a8 100644 --- a/src/mightypork/gamecore/resources/fonts/impl/CachedFont.java +++ b/src/mightypork/gamecore/resources/fonts/impl/CachedFont.java @@ -310,13 +310,13 @@ public class CachedFont implements GLFont { glGenTextures(textureId); glBindTexture(GL_TEXTURE_2D, textureId.get(0)); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter.num); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter.num); GLU.gluBuild2DMipmaps(GL_TEXTURE_2D, internalFormat, width, height, format, GL_UNSIGNED_BYTE, byteBuffer); return textureId.get(0); @@ -381,7 +381,17 @@ public class CachedFont implements GLFont { glPushAttrib(GL_ENABLE_BIT); glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, textureID); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter.num); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter.num); + glColor4d(color.r(), color.g(), color.b(), color.a()); glBegin(GL_QUADS); diff --git a/src/mightypork/gamecore/resources/textures/DeferredTexture.java b/src/mightypork/gamecore/resources/textures/DeferredTexture.java index 0bfd50e..924f7cd 100644 --- a/src/mightypork/gamecore/resources/textures/DeferredTexture.java +++ b/src/mightypork/gamecore/resources/textures/DeferredTexture.java @@ -75,6 +75,8 @@ public class DeferredTexture extends DeferredResource implements GLTexture { if (lastBind != this) { lastBind = this; + GL11.glBindTexture(GL11.GL_TEXTURE_2D, getTextureID()); + GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, wrap.num); @@ -83,7 +85,6 @@ public class DeferredTexture extends DeferredResource implements GLTexture { GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, filter.num); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, filter.num); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, getTextureID()); } } diff --git a/src/mightypork/gamecore/util/math/constraints/rect/Rect.java b/src/mightypork/gamecore/util/math/constraints/rect/Rect.java index 3abe653..8e2d400 100644 --- a/src/mightypork/gamecore/util/math/constraints/rect/Rect.java +++ b/src/mightypork/gamecore/util/math/constraints/rect/Rect.java @@ -191,6 +191,8 @@ public abstract class Rect implements RectBound, Digestable { private Rect p_edge_r; private Rect p_edge_t; private Rect p_edge_b; + private Rect p_axis_v; + private Rect p_axis_h; private final DigestCache dc = new DigestCache() { @@ -912,6 +914,17 @@ public abstract class Rect implements RectBound, Digestable { return p_edge_b != null ? p_edge_b : (p_edge_b = bottomLeft().expand(Num.ZERO, width(), Num.ZERO, Num.ZERO)); } + + public Rect axisV() + { + return p_axis_v != null ? p_axis_v : (p_axis_v = topCenter().expand(Num.ZERO, Num.ZERO, Num.ZERO, height())); + } + + public Rect axisH() + { + return p_axis_h != null ? p_axis_h : (p_axis_h = centerLeft().expand(Num.ZERO, width(), Num.ZERO, Num.ZERO)); + } + /** * Center to given point @@ -1045,5 +1058,6 @@ public abstract class Rect implements RectBound, Digestable { // overflow || intersect return ((rw < rx || rw > tx) && (rh < ry || rh > ty) && (tw < tx || tw > rx) && (th < ty || th > ry)); } + } diff --git a/src/mightypork/gamecore/util/math/constraints/rect/RectConst.java b/src/mightypork/gamecore/util/math/constraints/rect/RectConst.java index 8e1a131..613ac94 100644 --- a/src/mightypork/gamecore/util/math/constraints/rect/RectConst.java +++ b/src/mightypork/gamecore/util/math/constraints/rect/RectConst.java @@ -38,6 +38,8 @@ public class RectConst extends Rect { private RectDigest digest; private RectConst v_floor; private RectConst v_ceil; + private RectConst v_axis_v; + private RectConst v_axis_h; /** @@ -315,6 +317,20 @@ public class RectConst extends Rect { } + @Override + public Rect axisV() + { + return (v_axis_v != null) ? v_axis_v : (v_axis_v = super.axisV().freeze()); + } + + + @Override + public Rect axisH() + { + return (v_axis_h != null) ? v_axis_h : (v_axis_h = super.axisH().freeze()); + } + + @Override public Rect shrink(Vect shrink) { diff --git a/src/mightypork/rogue/Res.java b/src/mightypork/rogue/Res.java index a65672b..99d5dfb 100644 --- a/src/mightypork/rogue/Res.java +++ b/src/mightypork/rogue/Res.java @@ -10,6 +10,7 @@ import mightypork.gamecore.resources.fonts.GLFont; import mightypork.gamecore.resources.fonts.Glyphs; import mightypork.gamecore.resources.fonts.impl.DeferredFont; import mightypork.gamecore.resources.textures.*; +import mightypork.gamecore.util.math.constraints.rect.Rect; /** @@ -81,6 +82,10 @@ public final class Res { textures.addSheet("sprite.player", tiles.makeSheet(0, 0, 4, 1)); textures.addSheet("sprite.rat", tiles.makeSheet(0, 1, 4, 1)); + // sprites + texture = textures.loadTexture("logo2", "/res/img/logo2.png", FilterMode.NEAREST, WrapMode.CLAMP); + textures.addQuad("logo", texture.makeQuad(Rect.make(0, 0, 0.543, 0.203))); + // small sheet texture = textures.loadTexture("tiles", "/res/img/tiles16.png", FilterMode.NEAREST, WrapMode.CLAMP); tiles = texture.grid(8, 8); diff --git a/src/mightypork/rogue/screens/menu/MenuLayer.java b/src/mightypork/rogue/screens/menu/MenuLayer.java index 25992ca..2ad5c8b 100644 --- a/src/mightypork/rogue/screens/menu/MenuLayer.java +++ b/src/mightypork/rogue/screens/menu/MenuLayer.java @@ -4,11 +4,13 @@ package mightypork.rogue.screens.menu; import mightypork.gamecore.gui.Action; import mightypork.gamecore.gui.AlignX; import mightypork.gamecore.gui.components.layout.GridLayout; +import mightypork.gamecore.gui.components.painters.ImagePainter; import mightypork.gamecore.gui.components.painters.QuadPainter; import mightypork.gamecore.gui.components.painters.TextPainter; import mightypork.gamecore.gui.events.CrossfadeRequest; import mightypork.gamecore.gui.screens.Screen; import mightypork.gamecore.gui.screens.ScreenLayer; +import mightypork.gamecore.util.math.color.Color; import mightypork.gamecore.util.math.color.pal.COMMODORE; import mightypork.gamecore.util.math.color.pal.PAL16; import mightypork.gamecore.util.math.color.pal.RGB; @@ -30,28 +32,28 @@ class MenuLayer extends ScreenLayer { private void init() { - final Rect menuBox = root.shrink(Num.ZERO, root.height().mul(0.18)); //.moveY(root.height().mul(-0.03)) + final Rect menuBox = root.shrink(Num.ZERO, root.height().mul(0.15)).moveY(root.height().mul(-0.04)); - final GridLayout layout = new GridLayout(root, menuBox, 17, 1); + final GridLayout layout = new GridLayout(root, menuBox, 14, 1); layout.enableCaching(true); - final QuadPainter bg = QuadPainter.gradV(PAL16.NIGHTBLUE, PAL16.SEABLUE); + final QuadPainter bg = QuadPainter.gradV(Color.fromHex(0x007eb3), PAL16.SEABLUE); bg.setRect(root); root.add(bg); root.add(layout); int r = 0; - final TextPainter tp = new TextPainter(Res.getFont("main_menu_title"), AlignX.CENTER, COMMODORE.PURPLE, "Rats"); - tp.setShadow(RGB.BLACK.withAlpha(0.6), Vect.make(tp.height().div(16))); - layout.put(tp, r, 0, 3, 1); - r += 5; + ImagePainter ip = new ImagePainter(Res.getTxQuad("logo")); + ip.keepAspectRatio(); + layout.put(ip, r, 0, 5, 1); + r += 6; MenuButton btn; // world button - btn = new MenuButton("World Test", PAL16.SLIMEGREEN); + btn = new MenuButton("Game", PAL16.SLIMEGREEN); btn.setAction(new Action() { @Override