123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- package me.hammerle.supersnuvi.rendering;
- import me.hammerle.supersnuvi.javafx.IJavaRenderer;
- import me.hammerle.supersnuvi.javafx.Image;
- public class OldGame implements IRenderer
- {
- // constants
- public final static int TILE_SIZE = 64;
- public final static double SCALE = TILE_SIZE / 32.0;
-
- // basic graphic stuff
- private final IJavaRenderer renderer;
-
- // rendering
- private double cameraX;
- private double cameraY;
- private double offsetX;
- private double offsetY;
-
- public OldGame(IJavaRenderer renderer)
- {
- // basic graphic stuff
- this.renderer = renderer;
- // rendering
- this.cameraX = 0;
- this.cameraY = 0;
- this.offsetX = 0;
- this.offsetY = 0;
- }
-
- public void update()
- {
- }
-
- public void render()
- {
- offsetX = -cameraX;
- offsetY = renderer.getHeight() + cameraY;
- renderer.prepareRendering();
- }
-
- // -------------------------------------------------------------------------
- // image rendering
- // -------------------------------------------------------------------------
-
- @Override
- public void drawImage(Image image, double x, double y)
- {
- renderer.drawImage(image, offsetX + x, offsetY - y);
- }
-
- @Override
- public void drawImage(Image image, double x, double y, boolean flipped)
- {
- if(flipped)
- {
- renderer.drawImage(image, 0, 0, image.getWidth(), image.getHeight(),
- offsetX + x + image.getWidth(), offsetY - y, -image.getWidth(), image.getHeight());
- }
- else
- {
- renderer.drawImage(image, offsetX + x, offsetY - y);
- }
- }
-
- @Override
- public void drawImage(Image image, double x, double y, double w, double h, boolean flipped)
- {
- if(flipped)
- {
- renderer.drawImage(image, 0, 0, image.getWidth(), image.getHeight(),
- offsetX + x + w, offsetY - y, -w, h);
- }
- else
- {
- renderer.drawImage(image, offsetX + x, offsetY - y, w, h);
- }
- }
-
- @Override
- public void drawFixedImage(Image image, double x, double y)
- {
- renderer.drawImage(image, x, y);
- }
-
- @Override
- public void drawFixedImage(Image image, double x, double y, double w, double h)
- {
- renderer.drawImage(image, x, y, w, h);
- }
-
- @Override
- public void drawFixedImagePart(Image image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)
- {
- renderer.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh);
- }
-
- @Override
- public void drawBlockImage(Image image, int x, int y, double offX, double offY)
- {
- renderer.drawImage(image, offsetX + x * TILE_SIZE + offX, offsetY - (y + 1) * TILE_SIZE + offY);
- }
-
- // -------------------------------------------------------------------------
- // primitive rendering
- // -------------------------------------------------------------------------
-
- @Override
- public double getWidth()
- {
- return renderer.getWidth();
- }
- @Override
- public double getHeight()
- {
- return renderer.getHeight();
- }
-
- @Override
- public void save()
- {
- renderer.save();
- }
- @Override
- public void restore()
- {
- renderer.restore();
- }
- @Override
- public void setFillColor(int r, int g, int b, double alpha)
- {
- renderer.setFillColor(r, g, b, alpha);
- }
- @Override
- public void setStrokeColor(int r, int g, int b, double alpha)
- {
- renderer.setStrokeColor(r, g, b, alpha);
- }
-
- @Override
- public void fillRectangle(double x, double y, double w, double h)
- {
- renderer.fillRectangle(x, y, w, h);
- }
-
- @Override
- public void setScale(double scale)
- {
- renderer.setScale(scale);
- }
-
- // -------------------------------------------------------------------------
- // text rendering
- // -------------------------------------------------------------------------
-
- @Override
- public void prepareTextDrawing(int r, int g, int b, double alpha, int width)
- {
- renderer.prepareTextDrawing(r, g, b, alpha, width);
- }
-
- @Override
- public void stopTextDrawing()
- {
- renderer.stopTextDrawing();
- }
- @Override
- public void drawText(double x, double y, char[] text)
- {
- renderer.drawText(x, y, text, text.length);
- }
-
- @Override
- public void drawText(double x, double y, char[] text, int max)
- {
- renderer.drawText(x, y, text, max);
- }
- @Override
- public double getTextWidth(int chars)
- {
- return renderer.getTextWidth(chars);
- }
- @Override
- public double getTextHeight(int lines)
- {
- return renderer.getTextHeight(lines);
- }
-
- // -------------------------------------------------------------------------
- // rendering utils
- // -------------------------------------------------------------------------
-
- @Override
- public int getFirstVisibleBlockX()
- {
- return Math.max(0, (int) (cameraX / TILE_SIZE) - 1);
- }
-
- @Override
- public int getFirstVisibleBlockY()
- {
- return Math.max(0, (int) (cameraY / TILE_SIZE) - 1);
- }
-
- @Override
- public int getLastVisibleBlockX()
- {
- return getFirstVisibleBlockX() + (int) (renderer.getWidth() / TILE_SIZE) + 2;
- }
-
- @Override
- public int getLastVisibleBlockY()
- {
- return getFirstVisibleBlockY() + (int) (renderer.getHeight()/ TILE_SIZE) + 2;
- }
-
- @Override
- public void setViewCenter(double x, double y)
- {
- cameraX = x;
- cameraY = y;
- }
- @Override
- public void setGlobalAlpha(double alpha)
- {
- renderer.setGlobalAlpha(alpha);
- }
- }
|