From fe51c443c43bb8c3da1e1e1a2207d7dc69fe83c1 Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Wed, 15 Jun 2022 19:55:40 +0000 Subject: [PATCH] Include a player collision mapping Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 --- bin/RabiClone.jar | Bin 273719 -> 276694 bytes src/sig/RabiClone.java | 30 ++++++++++++++++++++++ src/sig/objects/Erinoah.java | 5 ++++ src/sig/objects/LevelRenderer.java | 12 +++++++++ src/sig/objects/Player.java | 5 ++++ src/sig/objects/actor/RenderedObject.java | 1 + 6 files changed, 53 insertions(+) diff --git a/bin/RabiClone.jar b/bin/RabiClone.jar index 562f09215c53bd9d1f6a57a52d4878daa02d3ad0..99ebcdcbedabb4cefad9843546916ce64fe9f537 100644 GIT binary patch delta 26973 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%0Dk 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 Tb&ug5gP$n_L&+F?nal8hlZj*L diff --git a/src/sig/RabiClone.java b/src/sig/RabiClone.java index bbcae28..155067d 100644 --- a/src/sig/RabiClone.java +++ b/src/sig/RabiClone.java @@ -11,6 +11,8 @@ import java.util.List; import sig.engine.Panel; import sig.engine.Point; +import sig.engine.Transform; +import sig.engine.objects.AnimatedObject; import sig.engine.objects.Object; import sig.map.Map; import sig.map.Maps; @@ -18,6 +20,7 @@ import sig.map.Tile; import sig.objects.ConfigureControls; import sig.objects.LevelRenderer; import sig.objects.Player; +import sig.objects.actor.RenderedObject; import sig.engine.Key; import sig.engine.KeyBind; import sig.engine.PaletteColor; @@ -46,6 +49,11 @@ public class RabiClone { public static int SIZE_MULTIPLIER = 1; public static Point MOUSE_POS; + public static boolean PLAYER_COLLISION[] = new boolean[RabiClone.BASE_WIDTH*RabiClone.BASE_HEIGHT]; + public static boolean ENEMY_COLLISION[] = new boolean[RabiClone.BASE_WIDTH*RabiClone.BASE_HEIGHT]; + public static boolean PLAYER_WEAPON_COLLISION[] = new boolean[RabiClone.BASE_WIDTH*RabiClone.BASE_HEIGHT]; + public static boolean ENEMY_WEAPON_COLLISION[] = new boolean[RabiClone.BASE_WIDTH*RabiClone.BASE_HEIGHT]; + public static PaletteColor BACKGROUND_COLOR = PaletteColor.DARK_ORCHID; public static LevelRenderer level_renderer; @@ -125,7 +133,29 @@ public class RabiClone { lastControllerScan = System.currentTimeMillis(); } + Arrays.fill(PLAYER_COLLISION,false); + Arrays.fill(ENEMY_COLLISION,false); for (int i = 0; i < OBJ.size(); i++) { + if (OBJ.get(i) instanceof RenderedObject) { + RenderedObject r = (RenderedObject)OBJ.get(i); + if (r.isFriendlyObject()) { + if (OBJ.get(i) instanceof AnimatedObject) { + AnimatedObject a = ((AnimatedObject)OBJ.get(i)); + double xpos = a.getX()-level_renderer.getX()-a.getAnimatedSpr().getWidth()/2; + double ypos = a.getY()-level_renderer.getY()-a.getAnimatedSpr().getHeight()/2; + int xindex = (int)a.getCurrentFrame()%a.getAnimatedSpr().getFrame_count(); + int yindex = ((int)a.getCurrentFrame()%a.getAnimatedSpr().getFrame_count())/a.getAnimatedSpr().getFrame_count(); + for (int y=0;y=0&&index0&&!moveDir; } + + @Override + public boolean isFriendlyObject() { + return false; + } } diff --git a/src/sig/objects/LevelRenderer.java b/src/sig/objects/LevelRenderer.java index 5e8e5a4..f4338ef 100644 --- a/src/sig/objects/LevelRenderer.java +++ b/src/sig/objects/LevelRenderer.java @@ -107,6 +107,18 @@ public class LevelRenderer extends Object{ @Override public void drawOverlay(byte[] p) { //RenderCollisionGrid(p); + //RenderPlayerCollisionGrid(p); + } + + @SuppressWarnings("unused") + private void RenderPlayerCollisionGrid(byte[] p) { + for (int y=0;y