diff --git a/data/images/trident/tilemap.png b/data/images/trident/tilemap.png new file mode 100644 index 0000000..63d6051 Binary files /dev/null and b/data/images/trident/tilemap.png differ diff --git a/data/projectRegistry.bson b/data/projectRegistry.bson index 488d730..2777d63 100644 --- a/data/projectRegistry.bson +++ b/data/projectRegistry.bson @@ -1,4 +1,2 @@ { projects -string new scene stuff makings -string 3d } diff --git a/data/projects/3d/data/animations/intro.anim b/data/projects/3d/data/animations/intro.anim deleted file mode 100644 index e93c287..0000000 --- a/data/projects/3d/data/animations/intro.anim +++ /dev/null @@ -1,17 +0,0 @@ -intro -false -1.0 -0.0 -0.0 -0.0 -1000 -0.0 -0.0 -0.0 -0.0 -3000 -0.0 -0.0 -1.0 -0.0 -1000 diff --git a/data/projects/3d/data/icon.png b/data/projects/3d/data/icon.png deleted file mode 100644 index 0cc600b..0000000 Binary files a/data/projects/3d/data/icon.png and /dev/null differ diff --git a/data/projects/3d/data/images/npc/puter.png b/data/projects/3d/data/images/npc/puter.png deleted file mode 100644 index 6965266..0000000 Binary files a/data/projects/3d/data/images/npc/puter.png and /dev/null differ diff --git a/data/projects/3d/data/images/npc/station.png b/data/projects/3d/data/images/npc/station.png deleted file mode 100644 index 20091d3..0000000 Binary files a/data/projects/3d/data/images/npc/station.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/idleE.png b/data/projects/3d/data/images/player/idleE.png deleted file mode 100644 index fc1896b..0000000 Binary files a/data/projects/3d/data/images/player/idleE.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/idleN.png b/data/projects/3d/data/images/player/idleN.png deleted file mode 100644 index e86f6cc..0000000 Binary files a/data/projects/3d/data/images/player/idleN.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/idleS.png b/data/projects/3d/data/images/player/idleS.png deleted file mode 100644 index cb923cc..0000000 Binary files a/data/projects/3d/data/images/player/idleS.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/idleW.png b/data/projects/3d/data/images/player/idleW.png deleted file mode 100644 index e706b7d..0000000 Binary files a/data/projects/3d/data/images/player/idleW.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/walkE.png b/data/projects/3d/data/images/player/walkE.png deleted file mode 100644 index b9e2df3..0000000 Binary files a/data/projects/3d/data/images/player/walkE.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/walkN.png b/data/projects/3d/data/images/player/walkN.png deleted file mode 100644 index 63aef9b..0000000 Binary files a/data/projects/3d/data/images/player/walkN.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/walkS.png b/data/projects/3d/data/images/player/walkS.png deleted file mode 100644 index ff3366a..0000000 Binary files a/data/projects/3d/data/images/player/walkS.png and /dev/null differ diff --git a/data/projects/3d/data/images/player/walkW.png b/data/projects/3d/data/images/player/walkW.png deleted file mode 100644 index 3ab625d..0000000 Binary files a/data/projects/3d/data/images/player/walkW.png and /dev/null differ diff --git a/data/projects/3d/data/images/prop/puter.png b/data/projects/3d/data/images/prop/puter.png deleted file mode 100644 index 6965266..0000000 Binary files a/data/projects/3d/data/images/prop/puter.png and /dev/null differ diff --git a/data/projects/3d/data/images/textures/dirtymetal.jpg b/data/projects/3d/data/images/textures/dirtymetal.jpg deleted file mode 100644 index 70bd4fc..0000000 Binary files a/data/projects/3d/data/images/textures/dirtymetal.jpg and /dev/null differ diff --git a/data/projects/3d/data/images/textures/door.jpg b/data/projects/3d/data/images/textures/door.jpg deleted file mode 100644 index 5da16e1..0000000 Binary files a/data/projects/3d/data/images/textures/door.jpg and /dev/null differ diff --git a/data/projects/3d/data/images/textures/panel.jpg b/data/projects/3d/data/images/textures/panel.jpg deleted file mode 100644 index 906c1df..0000000 Binary files a/data/projects/3d/data/images/textures/panel.jpg and /dev/null differ diff --git a/data/projects/3d/data/images/textures/warning.jpg b/data/projects/3d/data/images/textures/warning.jpg deleted file mode 100644 index 9a064e4..0000000 Binary files a/data/projects/3d/data/images/textures/warning.jpg and /dev/null differ diff --git a/data/projects/3d/data/images/trident/box.png b/data/projects/3d/data/images/trident/box.png deleted file mode 100644 index 2095f6a..0000000 Binary files a/data/projects/3d/data/images/trident/box.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/boxColl.png b/data/projects/3d/data/images/trident/boxColl.png deleted file mode 100644 index e63707b..0000000 Binary files a/data/projects/3d/data/images/trident/boxColl.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/collision.png b/data/projects/3d/data/images/trident/collision.png deleted file mode 100644 index 77597a8..0000000 Binary files a/data/projects/3d/data/images/trident/collision.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/consolebg.png b/data/projects/3d/data/images/trident/consolebg.png deleted file mode 100644 index fc0a33e..0000000 Binary files a/data/projects/3d/data/images/trident/consolebg.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/customEnt.png b/data/projects/3d/data/images/trident/customEnt.png deleted file mode 100644 index bb10f72..0000000 Binary files a/data/projects/3d/data/images/trident/customEnt.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/light.png b/data/projects/3d/data/images/trident/light.png deleted file mode 100644 index 6f7887c..0000000 Binary files a/data/projects/3d/data/images/trident/light.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/plrStart.png b/data/projects/3d/data/images/trident/plrStart.png deleted file mode 100644 index 58d0ff2..0000000 Binary files a/data/projects/3d/data/images/trident/plrStart.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/splash.png b/data/projects/3d/data/images/trident/splash.png deleted file mode 100644 index 0d40d89..0000000 Binary files a/data/projects/3d/data/images/trident/splash.png and /dev/null differ diff --git a/data/projects/3d/data/images/trident/trigger.png b/data/projects/3d/data/images/trident/trigger.png deleted file mode 100644 index fcb46cd..0000000 Binary files a/data/projects/3d/data/images/trident/trigger.png and /dev/null differ diff --git a/data/projects/3d/data/resources.bson b/data/projects/3d/data/resources.bson deleted file mode 100644 index a759422..0000000 --- a/data/projects/3d/data/resources.bson +++ /dev/null @@ -1,13 +0,0 @@ -{ wallTextures -string dirtymetal.jpg -string panel.jpg -string warning.jpg -string door.jpg -} -{ npcTextures -string station.png -string puter.png -} -{ propTextures -string puter.png -} \ No newline at end of file diff --git a/data/projects/3d/data/scenes/default.bson b/data/projects/3d/data/scenes/default.bson deleted file mode 100644 index 69aed40..0000000 --- a/data/projects/3d/data/scenes/default.bson +++ /dev/null @@ -1,57 +0,0 @@ -string name default -string dir south -int light 255 -{ bgColor -int 255 -int 255 -int 255 -} -{ entities -string plrstart -double -300.0 -double 0.0 -boolean false -string boxcoll -double -268.0 -double -128.0 -boolean true -int 426 -int 59 -int 0 -int 0 -int 255 -string boxcoll -double -240.5 -double 152.0 -boolean true -int 86 -int 53 -int 0 -int 255 -int 0 -string boxcoll -double -381.5 -double 90.0 -boolean true -int 46 -int 101 -int 255 -int 0 -int 0 -string rend3d -double -171.0 -double 2.0 -boolean false -string hud -double -169.0 -double 49.0 -boolean false -string texWall -double -584.0 -double 138.0 -boolean true -int 91 -int 245 -int 0 -int 100 -} diff --git a/data/projects/3d/lib/BLib.jar b/data/projects/3d/lib/BLib.jar deleted file mode 100644 index 558b0ae..0000000 Binary files a/data/projects/3d/lib/BLib.jar and /dev/null differ diff --git a/data/projects/3d/lib/JHLabs Filters.jar b/data/projects/3d/lib/JHLabs Filters.jar deleted file mode 100644 index 2ce3ec6..0000000 Binary files a/data/projects/3d/lib/JHLabs Filters.jar and /dev/null differ diff --git a/data/projects/3d/src/custom/Dialog.java b/data/projects/3d/src/custom/Dialog.java deleted file mode 100644 index 4661ae0..0000000 --- a/data/projects/3d/src/custom/Dialog.java +++ /dev/null @@ -1,37 +0,0 @@ -package custom; - -import java.awt.Font; - -import javax.swing.*; -import blib.util.*; -public class Dialog { - - public String text, name; - long scrollTime = 25; - Font customFont = new Font("Porky's", Font.PLAIN, 25); - - public Dialog(String txt, String name){ - text = txt; - this.name = name; - } - public Dialog(String txt, String name, long t){ - text = txt; - this.name = name; - scrollTime = t; - } - public Dialog(String txt, String name, Font f){ - text = txt; - this.name = name; - customFont = f; - } - public Dialog(String txt, String name, long t, Font f){ - text = txt; - this.name = name; - scrollTime = t; - customFont = f; - } - - public String getText(){ - return text; - } -} diff --git a/data/projects/3d/src/custom/DialogString.java b/data/projects/3d/src/custom/DialogString.java deleted file mode 100644 index b8e6652..0000000 --- a/data/projects/3d/src/custom/DialogString.java +++ /dev/null @@ -1,111 +0,0 @@ -package custom; - -import java.awt.Font; -import java.util.ArrayList; -import blib.util.*; -import javax.swing.*; -public class DialogString { - - public static DialogString[] dialogStrings = { - new DialogString(new Dialog[]{ // 0 - new Dialog("Hello World!", "Test"), - new Dialog("I am a wall", "Wall"), - new Dialog("HELP I'M TRAPPED IN THIS WALL I CAN'T BREATHE AAAAAAAAAAAAAAAAAAAAAAAAA", "Oland"), - }), - new DialogString(new Dialog[]{ // 1 - new Dialog("Yoooo no way its me I'm in the game", "Blocky"), - new Dialog("I feel a little s t r e t c h e d though", "Blocky"), - new Dialog("idk it's prolly fine", "Blocky"), - new Dialog("also why is transparency so hard :<", "Blocky"), - }), - new DialogString(new Dialog[]{ // 2 - new Dialog("Hello I'm OLand", "OLand"), - new Dialog("I took forever to get to render properly because Blocky kept running into infinite loops", "OLand"), - }), - new DialogString(new Dialog[]{ // 3 - new Dialog("Hai hai cafegoer!", "Blocky"), - new Dialog("Yo what's good", "Oland"), - new Dialog("Welcome to chat-1", "Blocky"), - new Dialog("Don't let the crowd scare you off, I promise it's chill once you get used to it!", "Blocky"), - }), - }; - - public ArrayList dialogs = new ArrayList(); - private int currentDialog = 0; - private int dialogPos = 0; - private long dialogTime = 0; - - public DialogString(Dialog[] dia){ - for(Dialog d: dia){ - dialogs.add(d); - } - } - public static DialogString get(int i){ - return dialogStrings[i]; - } - - public void addDialog(Dialog d){ - dialogs.add(d); - } - - public void update(long elapsedTime){ - if(currentDialog >= dialogs.size()) return; - if(dialogPos >= dialogs.get(currentDialog).getText().length()){ - dialogPos = dialogs.get(currentDialog).getText().length(); - return; - } - dialogTime += elapsedTime; - while(dialogTime >= dialogs.get(currentDialog).scrollTime){ - dialogTime -= dialogs.get(currentDialog).scrollTime; - dialogPos++; - if(dialogPos >= dialogs.get(currentDialog).getText().length()){ - dialogPos = dialogs.get(currentDialog).getText().length(); - return; - } - } - } - - public void next(){ - if(dialogPos < dialogs.get(currentDialog).getText().length()){ - dialogPos = dialogs.get(currentDialog).getText().length(); - return; - } - dialogPos = 0; - dialogTime = 0; - currentDialog++; - } - - public String getText(){ - if(currentDialog >= dialogs.size()) return ""; - String text = dialogs.get(currentDialog).getText(); - String scrolledText = ""; - for(int i = 0; i < dialogPos; i++){ - scrolledText += text.charAt(i); - } - return scrolledText; - } - - public boolean scrollDone(){ - return dialogPos == dialogs.get(currentDialog).getText().length(); - } - - public String getName(){ - return dialogs.get(currentDialog).name; - } - - public Font getFont(){ - if(currentDialog >= dialogs.size()) return null; - return dialogs.get(currentDialog).customFont; - } - - public boolean moreText(){ - if(currentDialog >= dialogs.size()) return false; - return true; - } - - public void reset(){ - dialogPos = 0; - dialogTime = 0; - currentDialog = 0; - } -} diff --git a/data/projects/3d/src/custom/WallManager.java b/data/projects/3d/src/custom/WallManager.java deleted file mode 100644 index f180150..0000000 --- a/data/projects/3d/src/custom/WallManager.java +++ /dev/null @@ -1,10 +0,0 @@ -package custom; - -import java.util.ArrayList; -import blib.b3d.*; -import blib.util.*; -public class WallManager { - - public static ArrayList walls = null; - public static Camera camera = new Camera(new Position(), 0); -} diff --git a/data/projects/3d/src/ent/ExampleEntity.java b/data/projects/3d/src/ent/ExampleEntity.java deleted file mode 100644 index 98fabb0..0000000 --- a/data/projects/3d/src/ent/ExampleEntity.java +++ /dev/null @@ -1,36 +0,0 @@ -package ent; - -import blib.util.*; -import trident.*; -import javax.swing.*; -import java.awt.*; -public class ExampleEntity extends TridEntity { - - // Constructor, runs when the entity is created - public ExampleEntity(Position pos){ - super(pos); - } - // Registry constructor, used only for adding to the registry - public ExampleEntity(){ - super("example", false, 0); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new ExampleEntity(pos); - } - - // Render while in game - public void render(Graphics g, JPanel panel, int x, int y){ - - } - - // Runs every tick while the game is running - public void update(long elapsedTime){ - - } - - // Runs at the beginning of the scene - public void sceneStart(String scene){ - - } -} diff --git a/data/projects/3d/src/ent/HUD.java b/data/projects/3d/src/ent/HUD.java deleted file mode 100644 index a9f4295..0000000 --- a/data/projects/3d/src/ent/HUD.java +++ /dev/null @@ -1,82 +0,0 @@ -package ent; - -import blib.util.*; -import trident.*; -import javax.swing.*; -import java.awt.*; -import custom.*; -public class HUD extends TridEntity { - - public static DialogString currentDialog = null; - - // Constructor, runs when the entity is created - public HUD(Position pos){ - super(pos); - renderType = TOPPRIORITY; - } - // Registry constructor, used only for adding to the registry - public HUD(){ - super("hud", false, 0); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new HUD(pos); - } - - // Render while in game - public void render(Graphics g, JPanel panel, int x, int y){ - try{ - if(currentDialog != null && currentDialog.getText() != null){ - g.setColor(Color.black); - g.fillRect(0, Trident.getFrameHeight() - 150, Trident.getFrameWidth(), 150); - g.setColor(Color.white); - g.setFont(currentDialog.getFont()); - TextBox.draw(currentDialog.getText(), g, 10, Trident.getFrameHeight() - 150 + currentDialog.getFont().getSize() / 2, TextBox.LEFT, (int)(Trident.getFrameWidth() * 0.75)); - g.setFont(new Font("Arial", Font.BOLD, 20)); - int width = g.getFontMetrics().stringWidth(currentDialog.getName()); - g.setColor(Color.black); - g.fillRect(5, Trident.getFrameHeight() - 175, width + 10, 25); - g.setColor(Color.white); - TextBox.draw(currentDialog.getName(), g, 10, Trident.getFrameHeight() - 160); - - if(currentDialog.scrollDone()){ - TextBox.draw("V", g, Trident.getFrameWidth() - 5, Trident.getFrameHeight() - 15, TextBox.RIGHT); - } - }else{ - for(TridEntity e: Trident.getEntities()){ - if(e instanceof NPC){ - NPC npc = (NPC)e; - if(BTools.getDistance(Trident.getPlrPos(), npc.position) < 200){ - double dir = BTools.normalizeRadians(BTools.getAngle(Trident.getPlrPos(), npc.position)); - double dirDiff = Math.abs(dir - WallManager.camera.direction); - if(dirDiff < Math.toRadians(45)){ - g.setColor(Color.white); - g.setFont(new Font("Arial", Font.PLAIN, 25)); - TextBox.draw("Talk\n(E)", g, Trident.getFrameWidth() / 2, Trident.getFrameHeight() / 2 + 15, TextBox.CENTER); - break; - } - - } - } - } - } - }catch(Exception e){} - - } - - // Runs every tick while the game is running - public void update(long elapsedTime){ - position = new Position(Trident.getPlrPos().x, Trident.getPlrPos().y + 10); - if(currentDialog != null){ - currentDialog.update(elapsedTime); - if(!currentDialog.moreText()){ - currentDialog.reset(); - currentDialog = null; - } - } - } - - public static void setDialog(int dia){ - currentDialog = DialogString.get(dia); - } -} diff --git a/data/projects/3d/src/ent/NPC.java b/data/projects/3d/src/ent/NPC.java deleted file mode 100644 index 11afe8f..0000000 --- a/data/projects/3d/src/ent/NPC.java +++ /dev/null @@ -1,82 +0,0 @@ -package ent; - -import blib.util.*; -import custom.WallManager; -import trident.*; -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; - -import blib.b3d.*; -import blib.bson.BSonList; -import blib.bson.BSonObject; -import blib.bson.BSonParser; -public class NPC extends TridEntity { - - private static ImageIcon[] imgs; - private static boolean loadedTextures = false; - - Wall wall; - public int dialog; - - boolean addedWalls = false; - - // Constructor, runs when the entity is created - public NPC(Position pos, int dia, int tex){ - super(pos, new Dimension(64, 64)); - if(!loadedTextures) loadTextures(); - wall = new Wall(new Position(-16, 0), new Position(16, 0), Color.magenta, true, imgs[tex], 64, true); - dialog = dia; - } - // Registry constructor, used only for adding to the registry - public NPC(){ - super("npc", false, 2); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new NPC(pos, data[0], data[1]); - } - - // Runs every tick while the game is running - public void update(long elapsedTime){ - if(!addedWalls){ - if(WallManager.walls != null){ - WallManager.walls.add(wall); - addedWalls = true; - } - } - - double dir = BTools.getAngle(position, Trident.getPlrPos()); - double startDir = dir + Math.PI / 2; - double endDir = dir - Math.PI / 2; - - Position start = BTools.angleToVector(startDir); - start.x *= 32; - start.y *= 32; - start.x += position.x; - start.y += position.y; - Position end = BTools.angleToVector(endDir); - end.x *= 32; - end.y *= 32; - end.x += position.x; - end.y += position.y; - - wall.start = start; - wall.end = end; - } - - private static void loadTextures(){ - ArrayList objects = BSonParser.readFile("data/resources.bson"); - BSonObject obj = BSonParser.getObject("npcTextures", objects); - BSonList asList = (BSonList)obj; - imgs = new ImageIcon[asList.list.size()]; - for(int i = 0; i < asList.list.size(); i++){ - imgs[i] = new ImageIcon("data/images/npc/" + asList.list.get(i).getString()); - } - loadedTextures = true; - } - - public void sceneStart(String scene){ - addedWalls = false; - } -} diff --git a/data/projects/3d/src/ent/Prop.java b/data/projects/3d/src/ent/Prop.java deleted file mode 100644 index b06a8d3..0000000 --- a/data/projects/3d/src/ent/Prop.java +++ /dev/null @@ -1,80 +0,0 @@ -package ent; - -import blib.util.*; -import custom.WallManager; -import trident.*; -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; - -import blib.b3d.*; -import blib.bson.BSonList; -import blib.bson.BSonObject; -import blib.bson.BSonParser; -public class Prop extends TridEntity { - - private static ImageIcon[] imgs; - private static boolean loadedTextures = false; - - Wall wall; - - boolean addedWalls = false; - - // Constructor, runs when the entity is created - public Prop(Position pos, int tex){ - super(pos, new Dimension(64, 64)); - if(!loadedTextures) loadTextures(); - wall = new Wall(new Position(-16, 0), new Position(16, 0), Color.magenta, true, imgs[tex], 64, true); - } - // Registry constructor, used only for adding to the registry - public Prop(){ - super("prop", false, 1); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new Prop(pos, data[0]); - } - - // Runs every tick while the game is running - public void update(long elapsedTime){ - if(!addedWalls){ - if(WallManager.walls != null){ - WallManager.walls.add(wall); - addedWalls = true; - } - } - - double dir = BTools.getAngle(position, Trident.getPlrPos()); - double startDir = dir + Math.PI / 2; - double endDir = dir - Math.PI / 2; - - Position start = BTools.angleToVector(startDir); - start.x *= 32; - start.y *= 32; - start.x += position.x; - start.y += position.y; - Position end = BTools.angleToVector(endDir); - end.x *= 32; - end.y *= 32; - end.x += position.x; - end.y += position.y; - - wall.start = start; - wall.end = end; - } - - private static void loadTextures(){ - ArrayList objects = BSonParser.readFile("data/resources.bson"); - BSonObject obj = BSonParser.getObject("propTextures", objects); - BSonList asList = (BSonList)obj; - imgs = new ImageIcon[asList.list.size()]; - for(int i = 0; i < asList.list.size(); i++){ - imgs[i] = new ImageIcon("data/images/prop/" + asList.list.get(i).getString()); - } - loadedTextures = true; - } - - public void sceneStart(String scene){ - addedWalls = false; - } -} diff --git a/data/projects/3d/src/ent/Rend3D.java b/data/projects/3d/src/ent/Rend3D.java deleted file mode 100644 index f8c6ec2..0000000 --- a/data/projects/3d/src/ent/Rend3D.java +++ /dev/null @@ -1,53 +0,0 @@ -package ent; - -import blib.util.*; -import trident.*; -import javax.swing.*; -import java.awt.*; -import custom.*; -public class Rend3D extends TridEntity { - - public static int offset = 0; - public static double totalMovement = 0; - public static boolean enabled = true; - - // Constructor, runs when the entity is created - public Rend3D(Position pos){ - super(pos); - renderType = TOPPRIORITY; - alwaysRender = true; - } - // Registry constructor, used only for adding to the registry - public Rend3D(){ - super("rend3d", false, 0); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new Rend3D(pos); - } - - // Render while in game - public void render(Graphics g, JPanel panel, int x, int y){ - WallManager.camera.render(panel, g, WallManager.walls, offset); - if(Trident.drawCollision){ - Line leftSide = Line.ray(new Position(x, y), WallManager.camera.direction - WallManager.camera.fov / 2, WallManager.camera.rendDist); - Line rightSide = Line.ray(new Position(x, y), WallManager.camera.direction + WallManager.camera.fov / 2, WallManager.camera.rendDist); - - g.setColor(Color.blue); - g.drawLine((int)leftSide.start.x, (int)leftSide.start.y, (int)leftSide.end.x, (int)leftSide.end.y); - g.setColor(Color.cyan); - g.drawLine((int)rightSide.start.x, (int)rightSide.start.y, (int)rightSide.end.x, (int)rightSide.end.y); - } - } - - // Runs every tick while the game is running - public void update(long elapsedTime){ - WallManager.camera.position = Trident.getPlrPos(); - position = Trident.getPlrPos(); - } - - // Runs at the beginning of the scene - public void sceneStart(String scene){ - enabled = true; - } -} diff --git a/data/projects/3d/src/ent/TexWall.java b/data/projects/3d/src/ent/TexWall.java deleted file mode 100644 index 0751f28..0000000 --- a/data/projects/3d/src/ent/TexWall.java +++ /dev/null @@ -1,42 +0,0 @@ -package ent; - -import blib.util.*; -import trident.*; -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; -import blib.bson.*; -public class TexWall extends TridEntity { - - private static ImageIcon[] textures; - public ImageIcon texture; - public int texLen; - private static boolean loadedTextures = false; - - // Constructor, runs when the entity is created - public TexWall(Position pos, Dimension coll, int tex, int length){ - super(pos, coll); - if(!loadedTextures) loadTextures(); - texture = textures[tex]; - texLen = length; - } - // Registry constructor, used only for adding to the registry - public TexWall(){ - super("texWall", true, 2); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new TexWall(pos, collision, data[0], data[1]); - } - - public static void loadTextures(){ - ArrayList objects = BSonParser.readFile("data/resources.bson"); - BSonObject obj = BSonParser.getObject("wallTextures", objects); - BSonList asList = (BSonList)obj; - textures = new ImageIcon[asList.list.size()]; - for(int i = 0; i < asList.list.size(); i++){ - textures[i] = new ImageIcon("data/images/textures/" + asList.list.get(i).getString()); - } - loadedTextures = true; - } -} diff --git a/data/projects/3d/src/ent/TexWallT.java b/data/projects/3d/src/ent/TexWallT.java deleted file mode 100644 index 61dce57..0000000 --- a/data/projects/3d/src/ent/TexWallT.java +++ /dev/null @@ -1,42 +0,0 @@ -package ent; - -import blib.util.*; -import trident.*; -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; -import blib.bson.*; -public class TexWallT extends TridEntity { - - private static ImageIcon[] textures; - public ImageIcon texture; - public int texLen; - private static boolean loadedTextures = false; - - // Constructor, runs when the entity is created - public TexWallT(Position pos, Dimension coll, int tex, int length){ - super(pos, coll); - if(!loadedTextures) loadTextures(); - texture = textures[tex]; - texLen = length; - } - // Registry constructor, used only for adding to the registry - public TexWallT(){ - super("texWallT", true, 2); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new TexWallT(pos, collision, data[0], data[1]); - } - - public static void loadTextures(){ - ArrayList objects = BSonParser.readFile("data/resources.bson"); - BSonObject obj = BSonParser.getObject("wallTextures", objects); - BSonList asList = (BSonList)obj; - textures = new ImageIcon[asList.list.size()]; - for(int i = 0; i < asList.list.size(); i++){ - textures[i] = new ImageIcon("data/images/textures/" + asList.list.get(i).getString()); - } - loadedTextures = true; - } -} diff --git a/data/projects/3d/src/trident/Main.java b/data/projects/3d/src/trident/Main.java deleted file mode 100644 index 68cd638..0000000 --- a/data/projects/3d/src/trident/Main.java +++ /dev/null @@ -1,18 +0,0 @@ -package trident; - -import javax.swing.*; -import java.awt.*; -public class Main{ - public static JFrame window = new JFrame("3D Trident Project"); - public static void main(String[] args){ - window.setSize(700, 500); - window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - window.setMinimumSize(new Dimension(700, 500)); - window.setIconImage(new ImageIcon("data/icon.png").getImage()); - // panel - MainPanel panel = new MainPanel(); - window.add(panel); - // - window.setVisible(true); - } -} diff --git a/data/projects/3d/src/trident/MainPanel.java b/data/projects/3d/src/trident/MainPanel.java deleted file mode 100644 index fecbecb..0000000 --- a/data/projects/3d/src/trident/MainPanel.java +++ /dev/null @@ -1,229 +0,0 @@ -package trident; - -import javax.swing.*; -import java.awt.*; -import blib.game.*; -import blib.util.*; -import java.awt.event.*; -import blib.input.*; -import java.util.ArrayList; -import blib.anim.*; -import trident.ent.*; -import update.*; -public class MainPanel extends JPanel { - - protected FrameManager frameManager = new FrameManager(); - public static Server server; - public KeyManager km = new InputListener(this); - private Animator introAnim; - public static Position introPos = new Position(); - public static ImageIcon splash = new ImageIcon("data/images/trident/splash.png"); - public static boolean inIntro = false; - private RenderingThread rendThread = new RenderingThread(); - - public MainPanel(){ - - Trident.panel = this; - - System.setProperty("sun.java2d.opengl", "true"); // hardware acceleration? - - setBackground(Color.black); - - Trident.player = new Player(new Position(), km, 0.1, this, "data/images/player", 16, 16); - Trident.player.camera.setDimension = new Dimension(frameManager.WIDTH, frameManager.HEIGHT); - Trident.player.resizeImages(32, 32); - Trident.currentScene = new Scene("Test Scene"); - Trident.camShake = new CamShake(Trident.player.camera); - Trident.lightManager.blur.setRadius(100); - - Trident.addCustomEntity(new BoxColl()); - Trident.addCustomEntity(new BoxNoColl()); - Trident.addCustomEntity(new InvisColl()); - Trident.addCustomEntity(new PlrStart()); - Trident.addCustomEntity(new Trigger()); - Trident.addCustomEntity(new TridLight()); - - setFocusTraversalKeysEnabled(false); - - Update.setup(); - - Trident.setupScenes(); - - Trident.loadScene(Trident.defaultScene); - - for(String s: Update.fonts){ - BTools.addFont(s, this); - } - - try{ - ArrayList anims = new ArrayList(); - anims.add(new Animation("data/animations/intro")); - - introAnim = new Animator(introPos, anims); - }catch(Exception e){ - Trident.intro = false; - } - if(Trident.intro){ - introAnim.play("intro"); - inIntro = true; - } - if(Trident.splash != null && BTools.hasImage(Trident.splash)){ - BTools.resizeImgIcon(Trident.splash, 160, 160); - } - - Trident.consoleError = false; - rendThread.start(); - - server = new Server(new ServerListener(), this); - } - - public void paintComponent(Graphics graphics){ - super.paintComponent(graphics); - Graphics g = frameManager.newFrame(); - - frameManager.bgColor = Trident.currentScene.bgColor; - - if(rendThread.lastFrame != null){ - g.drawImage(rendThread.lastFrame, 0, 0, null); - } - - frameManager.renderFrame(this, graphics); - } - - public MainPanel panel = this; - private class InputListener extends InputAdapter { - public InputListener(JPanel panel){ - super(panel); - } - - public void onKeyPressed(int key){ - if(key == KeyEvent.VK_F12){ - frameManager.saveScreenshot("data/screenshots"); - Update.tridentEvent(Trident.EVENT_SCREENSHOT); - } - if(key == KeyEvent.VK_F11){ - Trident.fullscreen = !Trident.fullscreen; - Main.window = BTools.getWindowFullscreen(Main.window, Trident.fullscreen, panel); - Update.tridentEvent(Trident.EVENT_FULLSCREEN); - return; - } - if(!inIntro){ - if(key == 192 && Trident.consoleEnabled){ - Trident.consoleOpen = !Trident.consoleOpen; - Trident.consoleType = ""; - Trident.consoleError = false; - } - if(Trident.consoleOpen){ - if(key >= KeyEvent.VK_A && key <= KeyEvent.VK_Z){ - char c = KeyEvent.getKeyText(key).charAt(0); - if(!km.getKeyDown(KeyEvent.VK_SHIFT)){ - c = Character.toLowerCase(c); - } - Trident.consoleType += c; - } - if(key >= KeyEvent.VK_0 && key <= KeyEvent.VK_9){ - char c = KeyEvent.getKeyText(key).charAt(0); - Trident.consoleType += c; - } - if(key == KeyEvent.VK_SPACE){ - Trident.consoleType += " "; - } - if(key == KeyEvent.VK_MINUS){ - Trident.consoleType += "-"; - } - if(key == KeyEvent.VK_PERIOD){ - Trident.consoleType += "."; - } - if(key == KeyEvent.VK_BACK_SPACE){ - if(Trident.consoleType.length() > 0) Trident.consoleType = Trident.consoleType.substring(0, Trident.consoleType.length() - 1); - } - if(key == KeyEvent.VK_UP){ - Trident.consoleType = Trident.lastCommand; - } - - if(key == KeyEvent.VK_ENTER){ - Trident.runCommand(Trident.consoleType); - Trident.consoleType = ""; - } - return; - } - Inputs.keyPressed(key); - } - } - - public void onMousePressed(int mb, Point mousePos){ - mousePos = frameManager.getMousePos(panel, mousePos); - Position worldPos = Trident.player.camera.mouseToPos(mousePos); - if(!inIntro) Inputs.mousePressed(mb, mousePos, worldPos); - } - - public void onScroll(int scroll){ - if(!inIntro) Inputs.onScroll(scroll); - } - } - - private class ServerListener implements ActionListener { - public void actionPerformed(ActionEvent event){ - if(inIntro){ - introAnim.update(server.getElapsedTime()); - if(!introAnim.isPlaying()){ - inIntro = false; - } - repaint(); - return; - } - - if(!hasFocus()) km.reset(); - - if(!Trident.consoleOpen){ - Trident.mousePos = frameManager.getMousePos(panel, km.getMousePos()); - Trident.mouseDelta = km.getMouseDelta(); - Trident.mouseWorldPos = Trident.player.camera.mouseToPos(Trident.mousePos); - - Trident.camShake.update(server.getElapsedTime()); - - if(!Trident.noclip) Trident.player.updateWithCollision(server.getElapsedTime(), Trident.currentScene.getCollision()); - else Trident.player.update(server.getElapsedTime()); - - for(int i = 0; i < Trident.getEntities().size(); i++){ - TridEntity e = Trident.getEntities().get(i); - e.update(server.getElapsedTime()); - if(e instanceof Trigger){ - Trigger trig = (Trigger)e; - if(trig.containsPos(Trident.player.getPos())){ - Update.trigger(trig.id); - } - } - } - - if(Trident.reset){ - km.reset(); - Trident.reset = false; - } - for(int i = 0; i < 255; i++){ - Trident.keys[i] = km.getKeyDown(i); - } - Trident.m1 = km.getMouseDown(1); - Trident.m2 = km.getMouseDown(2); - Trident.m3 = km.getMouseDown(3); - Trident.m4 = km.getMouseDown(4); - Trident.m5 = km.getMouseDown(5); - - if(Trident.newSprite != null){ - Trident.player = new Player(Trident.player.getPos(), km, 0.2, panel, Trident.newSprite, 16, 16); - Trident.newSprite = null; - Trident.player.resizeImages(32, 32); - Trident.player.camera.setDimension = new Dimension(frameManager.WIDTH, frameManager.HEIGHT); - Trident.camShake = new CamShake(Trident.player.camera); - Trident.player.shortCollision = true; - } - - Update.update(server.getElapsedTime()); - } - - - - try {Trident.getEntities().sort((o1, o2) -> o2.compareSort(o1));} catch(Exception e){} - } - } -} diff --git a/data/projects/3d/src/trident/RenderingThread.java b/data/projects/3d/src/trident/RenderingThread.java deleted file mode 100644 index b1dbaa3..0000000 --- a/data/projects/3d/src/trident/RenderingThread.java +++ /dev/null @@ -1,152 +0,0 @@ -package trident; - -import java.awt.image.*; -import java.util.ArrayList; -import java.util.ConcurrentModificationException; -import blib.util.*; -import java.awt.*; -import blib.game.*; -import javax.swing.*; -import ent.*; -public class RenderingThread extends Thread { - - public BufferedImage lastFrame = null; - private long elapsedTime, previousStartTime = -1; - - private ImageIcon consoleBg = new ImageIcon("data/images/trident/consolebg.png"); - private long errorFlashTime = 0; - - public RenderingThread(){ - BTools.resizeImgIcon(consoleBg, Trident.getFrameWidth(), 483); - } - - public void run(){ - while(true){ - try{ - - long now = System.currentTimeMillis(); - elapsedTime = previousStartTime != -1 ? now - previousStartTime : 0; - previousStartTime = now; - int WIDTH = Trident.getFrameWidth(), HEIGHT = Trident.getFrameHeight(); - int offX, offY; - offX = Trident.camShake.offX; - offY = Trident.camShake.offY; - BufferedImage newFrame = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB); - Graphics g = newFrame.getGraphics(); - - if(Trident.engineDraw){ - for(TridEntity e: Trident.currentScene.entities){ - Point p = Trident.player.camera.worldToScreen(e.position); - e.engineRender(g, null, p.x, p.y); - } - } - - ArrayList> splitEnt = Trident.player.camera.splitEntities(Trident.tridArrToEntArr(Trident.currentScene.entities), 16); - if(!Rend3D.enabled){ - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(2), offX, offY); - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(0), offX, offY); - if(Trident.drawPlayer){ - Trident.player.render(null, g, WIDTH / 2 - offX, HEIGHT / 2 - offY); - } - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(1), offX, offY); - - Trident.lightManager.render(Trident.player.camera, Trident.lights, g, offX, offY); - } - - - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(3), offX, offY); - - - - - if(Trident.drawCollision){ - g.setColor(Color.red); - ArrayList collision = Trident.currentScene.getCollision(); - collision.add(Trident.player.getCollision()); - for(Rectangle r: collision){ - Point p = Trident.player.camera.worldToScreen(new Position(r.x, r.y)); - g.drawRect(p.x, p.y, r.width, r.height); - g.drawLine(p.x, p.y, p.x + r.width, p.y + r.height); - } - } - - if(Trident.drawPos){ - g.setColor(Trident.debugColor); - g.setFont(new Font("Arial", Font.ITALIC, 10)); - TextBox.draw(Trident.player.getPos().toStringSimple(), g, 10, 20); - } - if(Trident.drawFrames){ - g.setColor(Trident.debugColor); - g.setFont(new Font("Arial", Font.ITALIC, 10)); - TextBox.draw("TPS: " + (1000 / Math.max(MainPanel.server.getElapsedTime(), 1)) + " (" + MainPanel.server.getElapsedTime() + " ms)", g, 10, 30); - TextBox.draw("FPS: " + (1000 / Math.max(elapsedTime, 1)) + " (" + elapsedTime + " ms)", g, 10, 40); - } - - // Apply Post Processing - if(Trident.enableExposure){ - Trident.exposure.filter(newFrame, newFrame); - } - if(Trident.enableBloom){ - Trident.bloom.filter(newFrame, newFrame); - } - - if(MainPanel.inIntro){ - g.setColor(Color.black); - g.fillRect(0, 0, 700, 500); - - if(Trident.splash != null && BTools.hasImage(Trident.splash)){ - // Trident splash + custom splash - MainPanel.splash.paintIcon(null, g, WIDTH / 2 - 80, 40); - Trident.splash.paintIcon(null, g, WIDTH / 2 - 80, HEIGHT - 200); - }else{ - // Trident splash only - MainPanel.splash.paintIcon(null, g, WIDTH / 2 - 80, HEIGHT / 2 - 80); - } - - float alpha = (float)MainPanel.introPos.x; - g.setColor(new Color(0f, 0f, 0f, alpha)); - g.fillRect(0, 0, 700, 500); - } - - if(Trident.consoleOpen){ - // bg - consoleBg.paintIcon(null, g, 0, -252); - g.setColor(new Color(0f, 0f, 0f, 0.7f)); - g.fillRect(0, 0, Trident.getFrameWidth(), Trident.getFrameHeight() / 2); - - // text - g.setColor(Color.white); - g.setFont(new Font("Arial", Font.PLAIN, 10)); - for(int i = 0; i < Trident.consoleLines.size(); i++){ - int index = BTools.flip(i, Trident.consoleLines.size() - 1); - TextBox.draw(Trident.consoleLines.get(index), g, 5, Trident.getFrameHeight() / 2 - 25 - (i * 10)); - } - - // borders - g.setColor(new Color(32, 12, 121)); - g.drawRect(0, 0, Trident.getFrameWidth() - 1, Trident.getFrameHeight() / 2); - g.drawLine(0, Trident.getFrameHeight() / 2 - 10, Trident.getFrameWidth(), Trident.getFrameHeight() / 2 - 10); - - // text entry box - g.setColor(Color.white); - g.setFont(new Font("Arial", Font.PLAIN, 10)); - TextBox.draw("> " + Trident.consoleType + "_", g, 3, Trident.getFrameHeight() / 2 - 5); - } - if(Trident.consoleError){ - errorFlashTime += elapsedTime; - g.setColor(new Color(1f, (float)(Math.min(1, Math.sin(errorFlashTime / 500.0) / 2 + 0.5)), (float)(Math.min(1, Math.sin(errorFlashTime / 500.0) / 2 + 0.5)))); - g.setFont(new Font("Arial", Font.BOLD, 20)); - TextBox.draw("ERROR\nOpen console with [~](tilde)", g, Trident.getFrameWidth() / 2, 10, TextBox.CENTER); - } - - lastFrame = newFrame; - }catch(Exception e){ - if(!(e instanceof ConcurrentModificationException)){ - e.printStackTrace(); - } - } - - - } - } -} diff --git a/data/projects/3d/src/trident/Scene.java b/data/projects/3d/src/trident/Scene.java deleted file mode 100644 index 1d634ee..0000000 --- a/data/projects/3d/src/trident/Scene.java +++ /dev/null @@ -1,120 +0,0 @@ -package trident; - -import java.util.ArrayList; -import java.awt.*; -import java.io.*; -import blib.bson.*; -import blib.util.*; -import trident.ent.*; -import blib.game.*; -public class Scene { - - public final String name; - public boolean loaded = false; - public String filePath = null; - public ArrayList entities; - protected Position plrStart = new Position(); - protected int plrDir = Player.SOUTH; - protected Color bgColor = Color.white; - protected int defaultLight = 255; - - public Scene(String n){ // Empty scene - name = n; - entities = new ArrayList(); - loaded = true; - } - public Scene(File f){ - filePath = f.getAbsolutePath(); - - ArrayList objects = BSonParser.readFile(filePath); - BSonObject obj = BSonParser.getObject("name", objects); - name = obj.getString(); - } - - public void preload(){ - entities = new ArrayList(); - ArrayList objects = BSonParser.readFile(filePath); - BSonObject obj = BSonParser.getObject("dir", objects); - if(obj != null){ - String str = obj.getString(); - if(str.equals("west")) plrDir = Player.WEST; - if(str.equals("north")) plrDir = Player.NORTH; - if(str.equals("east")) plrDir = Player.EAST; - } - obj = BSonParser.getObject("bgColor", objects); - BSonList asList = (BSonList)obj; - int r, g, b; - r = asList.list.get(0).getInt(); - g = asList.list.get(1).getInt(); - b = asList.list.get(2).getInt(); - bgColor = new Color(r, g, b); - obj = BSonParser.getObject("light", objects); - defaultLight = obj.getInt(); - obj = BSonParser.getObject("entities", objects); - asList = (BSonList)obj; - for(int i = 0; i < asList.list.size(); i++){ - String objName = asList.list.get(i).getString(); - i++; - boolean foundEnt = false; - for(TridEntity e: Trident.entRegistry){ - if(e.name.equals(objName)){ - double x, y; - x = asList.list.get(i).getDouble(); - i++; - y = asList.list.get(i).getDouble(); - i++; - int w = 0, h = 0; - i++; - if(e.HASCOLLISION){ - w = asList.list.get(i).getInt(); - i++; - h = asList.list.get(i).getInt(); - i++; - } - int[] data = new int[e.numData]; - for(int j = 0; j < e.numData; j++){ - data[j] = asList.list.get(i).getInt(); - i++; - } - i--; - entities.add(e.construct(new Position(x, y), (e.HASCOLLISION ? (new Dimension(w, h)) : null), data)); - foundEnt = true; - break; - } - } - if(!foundEnt) Trident.printConsole("ERROR: no entity type '" + objName + "' found"); - } - - // Check for plrstart - for(TridEntity e: entities){ - if(e instanceof PlrStart){ - plrStart = e.position.copy(); - break; - } - } - - loaded = true; - } - - public void unload(){ - entities = null; - loaded = false; - } - - public static Scene loadScene(String path){ // stub method ::: Load a scene from a file - return null; - } - - public ArrayList getCollision(){ - ArrayList collision = new ArrayList(); - for(int i = 0; i < entities.size(); i++){ - TridEntity e = entities.get(i); - if(e.HASCOLLISION){ - collision.add(e.getCollision()); - } - } - - return collision; - } - -} diff --git a/data/projects/3d/src/trident/TridEntity.java b/data/projects/3d/src/trident/TridEntity.java deleted file mode 100644 index 9e172c4..0000000 --- a/data/projects/3d/src/trident/TridEntity.java +++ /dev/null @@ -1,101 +0,0 @@ -package trident; - -import blib.game.*; -import blib.util.*; - -import javax.swing.*; -import java.awt.*; -public class TridEntity extends Entity { - - public final boolean HASCOLLISION; - private final Dimension collision; - public String engineRenderData = ""; - private ImageIcon engineImg = new ImageIcon("data/images/trident/customEnt.png"); - protected String name; - protected int numData; - - public TridEntity(Position pos){ - super(pos); - HASCOLLISION = false; - collision = null; - } - public TridEntity(Position pos, Dimension collision){ - super(pos); - if(collision.equals(new Dimension(0, 0))) HASCOLLISION = false; - else HASCOLLISION = true; - this.collision = collision; - } - public TridEntity(String n, boolean hasColl, int numData){ - super(new Position()); - HASCOLLISION = hasColl; - collision = null; - name = n; - this.numData = numData; - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - System.out.println("Error: tried to create an empty entity"); - return null; - } - - public Rectangle getCollision(){ - return new Rectangle((int)position.x - (collision.width / 2), (int)position.y - (collision.height / 2), collision.width, collision.height); - } - - public void render(Graphics g, JPanel panel, int x, int y){ - - } - - protected void engineRender(Graphics g, JPanel panel, int x, int y){ - if(HASCOLLISION){ - g.setColor(Color.red); - g.drawRect(x - getCollision().width / 2, y - getCollision().height / 2, getCollision().width, getCollision().height); - g.drawLine(x - getCollision().width / 2, y - getCollision().height / 2, x + getCollision().width / 2, y + getCollision().height / 2); - } - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } - - public void update(long elapsedTime){ - - } - - public void sceneStart(String scene){ - - } - - public int getRendDatSort(){ - if(renderType == Entity.TALL){ - return 2; - } - if(renderType == Entity.UNDER){ - return 1; - } - if(renderType == Entity.ABOVE){ - return 3; - } - if(renderType == Entity.BOTTOMPRIORITY){ - return 0; - } - if(renderType == Entity.TOPPRIORITY){ - return 4; - } - return 2; - } - - public int compareSort(TridEntity e){ - if(e.getRendDatSort() > getRendDatSort()){ - // e should be above - return 1; - }else if(e.getRendDatSort() < getRendDatSort()){ - return -1; - } - - if(e.position.y > position.y){ - return 1; - }else if(e.position.y < position.y){ - return -1; - } - - return 0; - } - -} diff --git a/data/projects/3d/src/trident/Trident.java b/data/projects/3d/src/trident/Trident.java deleted file mode 100644 index 38c8e66..0000000 --- a/data/projects/3d/src/trident/Trident.java +++ /dev/null @@ -1,599 +0,0 @@ -package trident; - -import blib.game.*; -import blib.util.*; -import ent.Rend3D; - -import java.awt.*; -import java.util.ArrayList; -import java.util.Scanner; - -import javax.swing.*; -import update.*; -import java.io.*; -import trident.ent.*; -import com.jhlabs.image.GlowFilter; -import com.jhlabs.image.ExposureFilter; -public class Trident { - - // Debug Settings - public static boolean drawPos = false; - public static boolean drawCollision = false; - public static boolean noclip = false; - public static boolean engineDraw = false; - public static Color debugColor = Color.red; - public static boolean intro = true; - public static ImageIcon splash = null; - public static boolean drawFrames = false; - public static boolean consoleEnabled = true; - public static boolean consoleOpen = false; - public static boolean consoleError = false; - public static String lastCommand = ""; - - // Public Variables - public static Point mousePos; - public static Point mouseDelta; - public static boolean drawPlayer = true; - public static Position mouseWorldPos = new Position(); - public static boolean enableBloom = true, enableExposure = true; - public static boolean captureCursor = false; - public static MainPanel panel = null; - - - // Trident Variables - protected static Player player; - protected static Scene currentScene; - protected static boolean fullscreen = false; - protected static ArrayList loadedScenes = new ArrayList(); - protected static ArrayList entRegistry = new ArrayList(); - protected static String defaultScene = "default"; - protected static boolean m1 = false, m2 = false, m3 = false, m4 = false, m5 = false; - protected static boolean[] keys = new boolean[255]; - protected static CamShake camShake; - protected static ArrayList lights = new ArrayList(); - protected static LightManager lightManager = new LightManager(255); - protected static GlowFilter bloom = new GlowFilter(); - protected static ExposureFilter exposure = new ExposureFilter(); - protected static boolean reset = false; - protected static String newSprite = null; - - // Trident events - public static final int EVENT_SCREENSHOT = 0, EVENT_FULLSCREEN = 1; - - - // Setting methods - public static void setPlrSpeed(double speed){ - player.speed = speed; - } - public static void setPlrPos(Position pos){ - player.goToPos(pos); - } - public static void setShortCollision(boolean b){ - player.shortCollision = b; - } - public static void setWindowTitle(String title){ - Main.window.setTitle(title); - } - public static void setupScenes(){ - try{ - loadedScenes = new ArrayList(); - File dir = new File("data/scenes"); - File[] files = dir.listFiles(); - ArrayList sceneFiles = new ArrayList(); - for(File f: files){ - if(BTools.hasExtension(f, "bson")) sceneFiles.add(f); - } - - for(File f: sceneFiles){ - loadedScenes.add(new Scene(f)); - } - }catch(Exception e){ - printException("Error setting up scenes", e); - } - - } - public static void loadScene(String name){ - loadScene(name, false); - } - public static void loadScene(String name, boolean unload){ - lights = new ArrayList(); - for(Scene s: loadedScenes){ - if(s.name.equals(name)){ - Scene oldScene = currentScene; - - if(!s.loaded) s.preload(); - currentScene = s; - if(unload) oldScene.unload(); - player.goToPos(s.plrStart); - player.setDirection(s.plrDir); - for(TridEntity e: s.entities){ - if(e instanceof TridLight){ - TridLight asLight = (TridLight)e; - lights.add(new Light(asLight.position, asLight.radius)); - } - e.sceneStart(s.name); - } - lightManager.defaultLight = s.defaultLight; - Update.sceneStart(name); - return; - } - } - printConsole("***********************************************************************************"); - printConsole("Error loading scene: No scene with name '" + name + "' found."); - printError("***********************************************************************************"); - } - public static void unloadScene(String name){ - for(Scene s: loadedScenes){ - if(s.name.equals(name)){ - if(s.equals(currentScene)){ - printError("ERROR: tried to unload current scene"); - return; - }else{ - s.unload(); - return; - } - } - } - printConsole("***********************************************************************************"); - printConsole("Error unloading scene: No scene with name '" + name + "' found."); - printError("***********************************************************************************"); - } - public static void preloadScene(String name){ - for(Scene s: loadedScenes){ - if(s.name.equals(name)){ - s.preload(); - return; - } - } - printConsole("***********************************************************************************"); - printConsole("Error preloading scene: No scene with name '" + name + "' found."); - printError("***********************************************************************************"); - } - public static void addCustomEntity(TridEntity e){ // Add a cutsom entity to the registry - entRegistry.add(e); - } - public static void spawnEntity(TridEntity e){ - currentScene.entities.add(e); - } - public static void setDefaultScene(String s){ - defaultScene = s; - } - public static void destroy(TridEntity object){ - getEntities().remove(object); - } - public static void shakeCam(double intensity){ - camShake.addTrauma(intensity); - } - public static void removeShake(){ - camShake.trauma = 0; - } - public static void setShakeStrength(int str){ - camShake.strength = str; - } - public static void setShakeLoss(double loss){ - camShake.traumaLoss = loss; - } - public static void setBloom(double amount){ - bloom.setAmount((float)amount); - } - public static void setExposure(double exp){ - exposure.setExposure((float)exp); - } - public static void setLightBlur(int level){ - lightManager.blur.setIterations(level); - } - public static void addLight(Light l){ - lights.add(l); - } - public static void resetKeys(){ - reset = true; - } - public static void setPlrSprite(String path){ - newSprite = path; - } - public static void removeLight(Light l){ - lights.remove(l); - } - public static void setDefaultLight(int level){ - lightManager.defaultLight = level; - } - public static void stopShake(){ - camShake.trauma = 0; - } - - // Getting methods - public static double getPlrSpeed(){ - return player.speed; - } - public static Position getPlrPos(){ - return player.getPos().copy(); - } - public static Scene getCurrentScene(){ - return currentScene; - } - public static boolean getFullscreen(){ - return fullscreen; - } - public static ArrayList tridArrToEntArr(ArrayList entities){ - ArrayList newEntities = new ArrayList(); - for(TridEntity e: entities){ - newEntities.add((Entity)e); - } - return newEntities; - } - public static ArrayList entArrToTridArr(ArrayList entities){ - ArrayList newEntities = new ArrayList(); - for(Entity e: entities){ - newEntities.add((TridEntity)e); - } - return newEntities; - } - public static ArrayList getEntities(){ - return currentScene.entities; - } - public static ArrayList getCollision(){ - return currentScene.getCollision(); - } - public static boolean getMouseDown(int mb){ - if(mb == 1){ - return m1; - } - if(mb == 2){ - return m2; - } - if(mb == 3){ - return m3; - } - if(mb == 4){ - return m4; - } - if(mb == 5){ - return m5; - } - return false; - } - public static boolean getKeyDown(int key){ - return keys[key]; - } - public static Player getPlr(){ - return player; - } - public static int getFrameWidth(){ - return 684; - } - public static int getFrameHeight(){ - return 462; - } - public static Point getShakeOffset(){ - return new Point(camShake.offX, camShake.offY); - } - - - // Commands - public static ArrayList consoleLines = new ArrayList(); - public static String consoleType = ""; // What the user is typing - - public static void runCommand(String command){ - if(command != null && command.length() > 0){ - lastCommand = command; - printConsole(" > " + command); - - ArrayList cmdParts = new ArrayList(); - Scanner scanner = new Scanner(command); - while(scanner.hasNext()){ - cmdParts.add(scanner.next()); - } - scanner.close(); - - if(cmdParts.size() == 0) return; - try{ - switch(cmdParts.get(0)){ - case "drawCollision": - if(cmdParts.size() == 1){ - printConsole("drawCollision is " + Trident.drawCollision); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.drawCollision = true; - printConsole("set drawCollision to " + Trident.drawCollision); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.drawCollision = false; - printConsole("set drawCollision to " + Trident.drawCollision); - } - break; - case "engineDraw": - if(cmdParts.size() == 1){ - printConsole("engineDraw is " + Trident.engineDraw); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.engineDraw = true; - printConsole("set engineDraw to " + Trident.engineDraw); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.engineDraw = false; - printConsole("set engineDraw to " + Trident.engineDraw); - } - break; - case "drawPos": - if(cmdParts.size() == 1){ - printConsole("drawPos is " + Trident.drawPos); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.drawPos = true; - printConsole("set drawPos to " + Trident.drawPos); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.drawPos = false; - printConsole("set drawPos to " + Trident.drawPos); - } - break; - case "noclip": - if(cmdParts.size() == 1){ - printConsole("noclip is " + Trident.noclip); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.noclip = true; - printConsole("set noclip to " + Trident.noclip); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.noclip = false; - printConsole("set noclip to " + Trident.noclip); - } - break; - case "tp": - int x = Integer.parseInt(cmdParts.get(1)); - int y = Integer.parseInt(cmdParts.get(2)); - Trident.setPlrPos(new Position(x, y)); - printConsole("teleported player to (" + x + ", " + y + ")"); - break; - case "loadMap": - String map = ""; - for(int i = 1; i < cmdParts.size(); i++){ - map += cmdParts.get(i); - if(i != cmdParts.size() - 1) map += " "; - } - Trident.loadScene(map); - break; - case "drawFrames": - if(cmdParts.size() == 1){ - printConsole("drawFrames is " + Trident.drawFrames); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.drawFrames = true; - printConsole("set drawFrames to " + Trident.drawFrames); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.drawFrames = false; - printConsole("set drawFrames to " + Trident.drawFrames); - } - break; - case "debugColor": - int r, g, b; - float alpha = -1; - r = Integer.parseInt(cmdParts.get(1)); - g = Integer.parseInt(cmdParts.get(2)); - b = Integer.parseInt(cmdParts.get(3)); - if(cmdParts.size() == 5){ - alpha = Float.parseFloat(cmdParts.get(4)); - } - if(alpha != -1){ - Trident.debugColor = new Color(r / 255f, g / 255f, b / 255f, alpha); - printConsole("set debugColor to (" + r + ", " + g + ", " + b + ", " + alpha + ")"); - }else{ - Trident.debugColor = new Color(r, g, b); - printConsole("set debugColor to (" + r + ", " + g + ", " + b + ")"); - } - break; - case "enableBloom": - if(cmdParts.size() == 1){ - printConsole("enableBloom is " + Trident.enableBloom); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.enableBloom = true; - printConsole("set enableBloom to " + Trident.enableBloom); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.enableBloom = false; - printConsole("set enableBloom to " + Trident.enableBloom); - } - break; - case "enableExposure": - if(cmdParts.size() == 1){ - printConsole("enableExposure is " + Trident.enableExposure); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.enableExposure = true; - printConsole("set enableExposure to " + Trident.enableExposure); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.enableExposure = false; - printConsole("set enableExposure to " + Trident.enableExposure); - } - break; - case "setBloom": - double amount = Double.parseDouble(cmdParts.get(1)); - Trident.setBloom(amount); - printConsole("set bloom to " + amount); - break; - case "setExposure": - double expo = Double.parseDouble(cmdParts.get(1)); - Trident.setExposure(expo); - printConsole("set exposure to " + expo); - break; - case "setLightBlur": - int blurLevel = Integer.parseInt(cmdParts.get(1)); - Trident.setLightBlur(blurLevel); - printConsole("set lightBlur to " + blurLevel + " (recommended: 1)"); - break; - case "clear": - consoleLines = new ArrayList(); - break; - case "help": - int page = 1; - if(cmdParts.size() > 1) page = Integer.parseInt(cmdParts.get(1)); - printHelp(page); - break; - case "customHelp": - int p = 1; - if(cmdParts.size() > 1) p = Integer.parseInt(cmdParts.get(1)); - printCustomHelp(p); - break; - case "credits": - runCommand("clear"); - printConsole("Trident Engine built in Java by Blocky"); - printConsole("---"); - printConsole("Github: @HeyIts-Blocky"); - printConsole("Insta: @heyits_blocky"); - printConsole("Itch.io: blockmanblue.itch.io "); - printConsole("---"); - printConsole(""); - break; - case "openItch": - BTools.openWebsite("https://blockmanblue.itch.io/"); - break; - case "errorTest": - consoleOpen = false; - printError("Error test"); - break; - case "roll": - printConsole("You got " + BTools.randInt(0, 101) + " points"); - break; - case "trigger": - int trig = Integer.parseInt(cmdParts.get(1)); - Update.trigger(trig); - printConsole("ran trigger " + trig); - break; - case "mapList": - page = 1; - if(cmdParts.size() > 1) page = Integer.parseInt(cmdParts.get(1)); - printMaps(page); - break; - case "unloadMap": - unloadScene(cmdParts.get(1)); - break; - case "preloadMap": - preloadScene(cmdParts.get(1)); - break; - case "currentMap": - printConsole("Current map: " + currentScene.name); - break; - default: - int cmd = Update.command(cmdParts); - if(cmd != 0){ - printConsole("Unknown command: " + cmdParts.get(0)); - } - break; - } - }catch(Exception e){ - printConsole("Something went wrong while running your command."); - printException("", e); - } - } - } - public static void printConsole(String text){ - consoleLines.add(text); - if(consoleLines.size() > 30) consoleLines.remove(0); - } - public static void printError(String text){ - consoleError = true; - printConsole(text); - } - public static void printException(String text, Exception e){ - consoleError = true; - printConsole(text); - printConsole("Error type: " + e.getClass().getName()); - } - public static void printExceptionSilent(String text, Exception e){ - printConsole(text); - printConsole("Error type: " + e.getClass().getName()); - } - private static String[] cmds = { - "credits", - "drawCollision [0/1, false/true]", - "engineDraw [0/1, false/true]", - "drawPos [0/1, false/true]", - "noclip [0/1, false/true]", - "tp ", - "loadMap ", - "drawFrames [0/1, false/true]", - "debugColor [a]", - "enableBloom [0/1, false/true]", - "enableExposure [0/1, false/true]", - "setBloom ", - "setExposure ", - "setLightBlur ", - "clear", - "help [page]", - "customHelp [page]", - "errorTest", - "roll", - "trigger ", - "mapList [page]", - "unloadMap ", - "preloadMap ", - "currentMap", - }; - - public static void printHelp(int page){ - int startIndex = (page - 1) * 10; - if(startIndex > cmds.length - 1){ - printConsole("page beyond bounds: " + page); - printConsole("number of pages: " + (cmds.length / 10 + ((cmds.length % 10 != 0) ? 1 : 0))); - return; - } - - printConsole("-- BUILT-IN COMMANDS --"); - printConsole("Page " + page + " of " + (cmds.length / 10 + ((cmds.length % 10 != 0) ? 1 : 0))); - printConsole(""); - for(int i = startIndex; (i < cmds.length && i < startIndex + 10); i++){ - printConsole("} " + cmds[i]); - } - printConsole(""); - } - - public static void printMaps(int page){ - int startIndex = (page - 1) * 10; - if(startIndex > loadedScenes.size() - 1){ - printConsole("page beyond bounds: " + page); - printConsole("number of pages: " + (loadedScenes.size() / 10 + ((loadedScenes.size() % 10 != 0) ? 1 : 0))); - return; - } - - printConsole("-- MAPS --"); - printConsole("Page " + page + " of " + (loadedScenes.size() / 10 + ((loadedScenes.size() % 10 != 0) ? 1 : 0))); - printConsole(""); - for(int i = startIndex; (i < loadedScenes.size() && i < startIndex + 10); i++){ - Scene s = loadedScenes.get(i); - String str = ""; - if(!s.loaded) str += " [UNLOADED]"; - if(s.equals(currentScene)) str += " [CURRENT]"; - printConsole("} " + s.name + str); - } - printConsole(""); - } - - public static void printCustomHelp(int page){ - int startIndex = (page - 1) * 10; - if(startIndex > Update.commands.length - 1){ - printConsole("page beyond bounds: " + page); - printConsole("number of pages: " + (Update.commands.length / 10 + ((Update.commands.length % 10 != 0) ? 1 : 0))); - return; - } - - printConsole("-- GAME-SPECIFIC COMMANDS --"); - printConsole("Page " + page + " of " + (Update.commands.length / 10 + ((Update.commands.length % 10 != 0) ? 1 : 0))); - printConsole(""); - for(int i = startIndex; (i < Update.commands.length && i < startIndex + 10); i++){ - printConsole("} " + Update.commands[i]); - } - printConsole(""); - } - -} diff --git a/data/projects/3d/src/trident/ent/BoxColl.java b/data/projects/3d/src/trident/ent/BoxColl.java deleted file mode 100644 index 8201a9d..0000000 --- a/data/projects/3d/src/trident/ent/BoxColl.java +++ /dev/null @@ -1,37 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class BoxColl extends TridEntity{ - - public Color color = Color.white; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/boxColl.png"); - - public BoxColl(Position pos, Dimension size, Color c){ - super(pos, size); - color = c; - } - public BoxColl(Position pos, Dimension size){ - super(pos, size); - } - public BoxColl(){ - super("boxcoll", true, 3); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new BoxColl(pos, collision, new Color(data[0], data[1], data[2])); - } - - public void render(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.fillRect(x - getCollision().width / 2, y - getCollision().height / 2, getCollision().width, getCollision().height); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - render(g, panel, x, y); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/3d/src/trident/ent/BoxNoColl.java b/data/projects/3d/src/trident/ent/BoxNoColl.java deleted file mode 100644 index e12beb7..0000000 --- a/data/projects/3d/src/trident/ent/BoxNoColl.java +++ /dev/null @@ -1,45 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; -import blib.game.*; - -import trident.*; -public class BoxNoColl extends TridEntity{ - - public Color color = Color.white; - public int width, height; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/box.png"); - - public BoxNoColl(Position pos, Color c, int w, int h){ - super(pos); - color = c; - width = w; - height = h; - renderType = Entity.UNDER; - } - public BoxNoColl(Position pos, int w, int h){ - super(pos); - width = w; - height = h; - renderType = Entity.UNDER; - } - public BoxNoColl(){ - super("boxnocoll", false, 5); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new BoxNoColl(pos, new Color(data[2], data[3], data[4]), data[0], data[1]); - } - - public void render(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.fillRect(x - width / 2, y - height / 2, width, height); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - render(g, panel, x, y); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/3d/src/trident/ent/InvisColl.java b/data/projects/3d/src/trident/ent/InvisColl.java deleted file mode 100644 index 7736536..0000000 --- a/data/projects/3d/src/trident/ent/InvisColl.java +++ /dev/null @@ -1,30 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class InvisColl extends TridEntity{ - - public Color color = Color.red; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/collision.png"); - - public InvisColl(Position pos, Dimension size){ - super(pos, size); - } - public InvisColl(){ - super("inviscoll", true, 0); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new InvisColl(pos, collision); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.drawRect(x - getCollision().width / 2, y - getCollision().height / 2, getCollision().width, getCollision().height); - g.drawLine(x - getCollision().width / 2, y - getCollision().height / 2, x + getCollision().width / 2, y + getCollision().height / 2); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/3d/src/trident/ent/PlrStart.java b/data/projects/3d/src/trident/ent/PlrStart.java deleted file mode 100644 index 26fe13d..0000000 --- a/data/projects/3d/src/trident/ent/PlrStart.java +++ /dev/null @@ -1,26 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class PlrStart extends TridEntity{ - public Color color = Color.red; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/plrStart.png"); - - public PlrStart(Position pos){ - super(pos); - } - public PlrStart(){ - super("plrstart", false, 0); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new PlrStart(pos); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/3d/src/trident/ent/TridLight.java b/data/projects/3d/src/trident/ent/TridLight.java deleted file mode 100644 index 888bf49..0000000 --- a/data/projects/3d/src/trident/ent/TridLight.java +++ /dev/null @@ -1,28 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class TridLight extends TridEntity{ - - public int radius; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/light.png"); - - public TridLight(Position pos, int r){ - super(pos); - radius = r; - } - public TridLight(){ - super("light", false, 1); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new TridLight(pos, data[0]); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/3d/src/trident/ent/Trigger.java b/data/projects/3d/src/trident/ent/Trigger.java deleted file mode 100644 index d52126d..0000000 --- a/data/projects/3d/src/trident/ent/Trigger.java +++ /dev/null @@ -1,41 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class Trigger extends TridEntity{ - - public Color color = Color.blue; - public Dimension box; - public int id; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/trigger.png"); - - public Trigger(Position pos, Dimension size, int i){ - super(pos); - name = "trigger"; - box = size; - id = i; - } - public Trigger(){ - super("trigger", false, 3); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new Trigger(pos, new Dimension(data[0], data[1]), data[2]); - } - - public boolean containsPos(Position pos){ - Point p = new Point((int)pos.x, (int)pos.y); - Rectangle rect = new Rectangle((int)position.x - box.width / 2, (int)position.y - box.height / 2, box.width, box.height); - return rect.contains(p); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.drawRect(x - box.width / 2, y - box.height / 2, box.width, box.height); - g.drawLine(x - box.width / 2, y - box.height / 2, x + box.width / 2, y + box.height / 2); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/3d/src/update/Inputs.java b/data/projects/3d/src/update/Inputs.java deleted file mode 100644 index e772367..0000000 --- a/data/projects/3d/src/update/Inputs.java +++ /dev/null @@ -1,53 +0,0 @@ -package update; - -import java.awt.*; -import java.awt.event.*; -import blib.util.*; -import trident.*; -import ent.*; -import custom.*; -public class Inputs { - - public static void keyPressed(int key){ - if(HUD.currentDialog != null){ - if(key == KeyEvent.VK_E){ - HUD.currentDialog.next(); - } - }else{ - if(key == KeyEvent.VK_E){ - // look for npc - for(TridEntity e: Trident.getEntities()){ - if(e instanceof NPC){ - NPC npc = (NPC)e; - - if(BTools.getDistance(Trident.getPlrPos(), npc.position) < 200){ - double dir = BTools.normalizeRadians(BTools.getAngle(Trident.getPlrPos(), npc.position)); - double dirDiff = Math.abs(dir - WallManager.camera.direction); - if(dirDiff < Math.toRadians(45)){ - if(npc.dialog >= 0){ - HUD.setDialog(npc.dialog); - }else{ - Update.trigger(npc.dialog); - } - - } - } - } - } - } - if(key == KeyEvent.VK_ESCAPE){ - Trident.captureCursor = false; - } - // if(key == KeyEvent.VK_DOWN) Rend3D.offset++; - // if(key == KeyEvent.VK_UP) Rend3D.offset--; - } - } - - public static void mousePressed(int mb, Point mousePos, Position worldPos){ - Trident.captureCursor = true; - } - - public static void onScroll(int scroll){ - - } -} diff --git a/data/projects/3d/src/update/Update.java b/data/projects/3d/src/update/Update.java deleted file mode 100644 index 022b604..0000000 --- a/data/projects/3d/src/update/Update.java +++ /dev/null @@ -1,205 +0,0 @@ -package update; - -import trident.*; -import trident.ent.*; -import ent.*; -import java.util.ArrayList; - -import blib.b3d.*; -import blib.game.*; -import blib.util.*; -import custom.*; -import java.awt.*; -import java.awt.event.*; -public class Update { - - public static final String[] fonts = {}; // add fonts here - - public static void setup(){ - // Add custom entities to the registry here. Required in order to load them properly - Trident.addCustomEntity(new ExampleEntity()); // Use the empty constructor - Trident.addCustomEntity(new Rend3D()); - Trident.addCustomEntity(new TexWall()); - Trident.addCustomEntity(new TexWallT()); - Trident.addCustomEntity(new HUD()); - Trident.addCustomEntity(new NPC()); - Trident.addCustomEntity(new Prop()); - - // Set settings - Trident.setShortCollision(false); - WallManager.camera.size = new Dimension(Trident.getFrameWidth(), Trident.getFrameHeight()); - WallManager.camera.rendDist = 2000; - WallManager.camera.fhp = -25; - - // Post Processing - Trident.setBloom(0.2); - Trident.setExposure(1); - Trident.enableBloom = false; - Trident.enableExposure = false; - Trident.setLightBlur(1); - } - - public static void sceneStart(String scene){ - WallManager.walls = new ArrayList(); - for(TridEntity e: Trident.getEntities()){ - if(e instanceof BoxColl){ - BoxColl box = (BoxColl)e; - Wall[] walls = Wall.rectToWalls(box.getCollision(), box.color); - for(Wall w: walls) WallManager.walls.add(w); - } - if(e instanceof TexWall){ - TexWall box = (TexWall)e; - Wall[] walls = Wall.rectToWalls(box.getCollision(), Color.magenta, box.texture, box.texLen); - for(Wall w: walls) WallManager.walls.add(w); - } - if(e instanceof TexWallT){ - TexWallT box = (TexWallT)e; - Wall[] walls = Wall.rectToWalls(box.getCollision(), Color.magenta, box.texture, box.texLen, true); - for(Wall w: walls) WallManager.walls.add(w); - } - } - - Wall.lightWalls(WallManager.walls, Math.toRadians(50)); - - int plrDir = Trident.getCurrentScene().plrDir; - if(plrDir == Player.EAST){ - WallManager.camera.direction = 0; - } - if(plrDir == Player.SOUTH){ - WallManager.camera.direction = Math.toRadians(90); - } - if(plrDir == Player.NORTH){ - WallManager.camera.direction = Math.toRadians(-90); - } - if(plrDir == Player.WEST){ - WallManager.camera.direction = Math.toRadians(180); - } - - Trident.resetKeys(); - } - - public static void update(long elapsedTime){ - if(Rend3D.enabled){ - int mouseDelta = 0; - if(Trident.captureCursor){ - int startX = Trident.panel.km.getMousePos().x; - Point p = new Point(Main.window.getWidth() / 2 + Main.window.getX(), Main.window.getHeight() / 2 + Main.window.getY()); - mouseDelta = startX - Main.window.getWidth() / 2; - if(!Trident.getFullscreen()) mouseDelta += 8; - GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); - GraphicsDevice[] gs = ge.getScreenDevices(); - - // Search the devices for the one that draws the specified point. - for (GraphicsDevice device: gs) { - GraphicsConfiguration[] configurations = - device.getConfigurations(); - - - boolean gtfo = false; - for (GraphicsConfiguration config: configurations) { - Rectangle bounds = config.getBounds(); - if(bounds.contains(p)) { - // Set point to screen coordinates. - - try { - Robot r = new Robot(device); - r.mouseMove(p.x, p.y); - } catch (AWTException e) { - e.printStackTrace(); - } - - gtfo = true; - break; - } - } - - if(gtfo) break; - } - - Trident.panel.setCursor(BTools.getBlankCursor()); - }else{ - Trident.panel.setCursor(Cursor.getDefaultCursor()); - } - - Trident.setPlrSpeed(0); - if(HUD.currentDialog == null){ // only move when there's no dialog - - if(Trident.captureCursor) WallManager.camera.direction += Math.toRadians(mouseDelta * 0.007) * elapsedTime; - - Position startPos = Trident.getPlrPos().copy(); - Point move = new Point(); - if(Trident.getKeyDown(KeyEvent.VK_W)) move.y++; - if(Trident.getKeyDown(KeyEvent.VK_S)) move.y--; - if(Trident.getKeyDown(KeyEvent.VK_A)) move.x++; - if(Trident.getKeyDown(KeyEvent.VK_D)) move.x--; - if(!move.equals(new Point())){ - Position mov = new Position(move.x, move.y); - double dir = BTools.vectorToAngle(mov) - Math.toRadians(90); - dir += WallManager.camera.direction; - mov = BTools.angleToVector(dir); - Trident.getPlr().move(mov.x * 0.1 * elapsedTime, mov.y * 0.1 * elapsedTime); - } - if(!Trident.noclip){ - Rectangle plrRect = Trident.getPlr().getCollision(); - for(Rectangle rect: Trident.getCollision()){ - // check x - if(rect.intersects(plrRect)){ - Position pos = Trident.getPlr().getPos().copy(); - Trident.getPlr().goToPos(startPos.x, Trident.getPlr().getY()); - plrRect = Trident.getPlr().getCollision(); - if(rect.intersects(plrRect)){ - Trident.getPlr().goToPos(pos); - plrRect = Trident.getPlr().getCollision(); - } - } - // check y - if(rect.intersects(plrRect)){ - Trident.getPlr().goToPos(Trident.getPlr().getX(), startPos.y); - plrRect = Trident.getPlr().getCollision(); - - // check x - if(rect.intersects(plrRect)){ - Trident.getPlr().goToPos(startPos.x, Trident.getPlr().getY()); - plrRect = Trident.getPlr().getCollision(); - } - } - } - } - - - double moveDist = BTools.getDistance(startPos, Trident.getPlrPos()) * 0.1; - Rend3D.totalMovement += moveDist; - Rend3D.offset = (int)(Math.sin(Rend3D.totalMovement) * 2); - } - }else{ - Trident.setPlrSpeed(0.2); - } - - } - - public static void trigger(int id){ - - } - - public static void tridentEvent(int id){ - if(id == Trident.EVENT_SCREENSHOT){ - Trident.printConsole("Took a screenshot!"); - } - } - - public static int command(ArrayList cmdParts){ // cmdParts.get(0) is the command, while the rest are arguments for the command. - switch(cmdParts.get(0)){ - case "helloWorld": - Trident.printConsole("Hello, World!"); - return 0; - case "ping": - Trident.printConsole("pong"); - return 0; - } - return 1; // return 1 if command is not recognized - } - public static String[] commands = { // Fill this with the format for all custom commands - "helloWorld", - "ping", - }; -} diff --git a/data/projects/new scene stuff makings/data/animations/intro.anim b/data/projects/new scene stuff makings/data/animations/intro.anim deleted file mode 100644 index e93c287..0000000 --- a/data/projects/new scene stuff makings/data/animations/intro.anim +++ /dev/null @@ -1,17 +0,0 @@ -intro -false -1.0 -0.0 -0.0 -0.0 -1000 -0.0 -0.0 -0.0 -0.0 -3000 -0.0 -0.0 -1.0 -0.0 -1000 diff --git a/data/projects/new scene stuff makings/data/icon.png b/data/projects/new scene stuff makings/data/icon.png deleted file mode 100644 index 75679b4..0000000 Binary files a/data/projects/new scene stuff makings/data/icon.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/idleE.png b/data/projects/new scene stuff makings/data/images/player/idleE.png deleted file mode 100644 index fc1896b..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/idleE.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/idleN.png b/data/projects/new scene stuff makings/data/images/player/idleN.png deleted file mode 100644 index e86f6cc..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/idleN.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/idleS.png b/data/projects/new scene stuff makings/data/images/player/idleS.png deleted file mode 100644 index cb923cc..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/idleS.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/idleW.png b/data/projects/new scene stuff makings/data/images/player/idleW.png deleted file mode 100644 index e706b7d..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/idleW.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/walkE.png b/data/projects/new scene stuff makings/data/images/player/walkE.png deleted file mode 100644 index b9e2df3..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/walkE.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/walkN.png b/data/projects/new scene stuff makings/data/images/player/walkN.png deleted file mode 100644 index 63aef9b..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/walkN.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/walkS.png b/data/projects/new scene stuff makings/data/images/player/walkS.png deleted file mode 100644 index ff3366a..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/walkS.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/player/walkW.png b/data/projects/new scene stuff makings/data/images/player/walkW.png deleted file mode 100644 index 3ab625d..0000000 Binary files a/data/projects/new scene stuff makings/data/images/player/walkW.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/box.png b/data/projects/new scene stuff makings/data/images/trident/box.png deleted file mode 100644 index 2095f6a..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/box.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/boxColl.png b/data/projects/new scene stuff makings/data/images/trident/boxColl.png deleted file mode 100644 index e63707b..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/boxColl.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/collision.png b/data/projects/new scene stuff makings/data/images/trident/collision.png deleted file mode 100644 index 77597a8..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/collision.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/consolebg.png b/data/projects/new scene stuff makings/data/images/trident/consolebg.png deleted file mode 100644 index fc0a33e..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/consolebg.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/customEnt.png b/data/projects/new scene stuff makings/data/images/trident/customEnt.png deleted file mode 100644 index bb10f72..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/customEnt.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/light.png b/data/projects/new scene stuff makings/data/images/trident/light.png deleted file mode 100644 index 6f7887c..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/light.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/plrStart.png b/data/projects/new scene stuff makings/data/images/trident/plrStart.png deleted file mode 100644 index 58d0ff2..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/plrStart.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/splash.png b/data/projects/new scene stuff makings/data/images/trident/splash.png deleted file mode 100644 index 0d40d89..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/splash.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/images/trident/trigger.png b/data/projects/new scene stuff makings/data/images/trident/trigger.png deleted file mode 100644 index fcb46cd..0000000 Binary files a/data/projects/new scene stuff makings/data/images/trident/trigger.png and /dev/null differ diff --git a/data/projects/new scene stuff makings/data/scenes/default.bson b/data/projects/new scene stuff makings/data/scenes/default.bson deleted file mode 100644 index d98016b..0000000 --- a/data/projects/new scene stuff makings/data/scenes/default.bson +++ /dev/null @@ -1,43 +0,0 @@ -string name default -string dir east -int light 25 -{ bgColor -int 255 -int 255 -int 255 -} -{ entities -string boxcoll -double -200 -double 0 -boolean true -int 100 -int 100 -int 0 -int 255 -int 0 -string plrstart -double -300 -double 0 -boolean false -string inviscoll -double -200 -double 100 -boolean true -int 100 -int 100 -string boxnocoll -double -200 -double -100 -boolean false -int 100 -int 100 -int 255 -int 0 -int 0 -string light -double -200 -double 200 -boolean false -int 100 -} diff --git a/data/projects/new scene stuff makings/data/scenes/scene2.bson b/data/projects/new scene stuff makings/data/scenes/scene2.bson deleted file mode 100644 index 2245af6..0000000 --- a/data/projects/new scene stuff makings/data/scenes/scene2.bson +++ /dev/null @@ -1,28 +0,0 @@ -string name scene2 -string dir south -int light 255 -{ bgColor -int 255 -int 255 -int 255 -} -{ entities -string boxcoll -double 4.0 -double -98.0 -boolean true -int 240 -int 45 -int 255 -int 0 -int 0 -string boxnocoll -double 5.0 -double 16.0 -boolean false -int 311 -int 186 -int 0 -int 0 -int 0 -} diff --git a/data/projects/new scene stuff makings/lib/BLib.jar b/data/projects/new scene stuff makings/lib/BLib.jar deleted file mode 100644 index 558b0ae..0000000 Binary files a/data/projects/new scene stuff makings/lib/BLib.jar and /dev/null differ diff --git a/data/projects/new scene stuff makings/lib/JHLabs Filters.jar b/data/projects/new scene stuff makings/lib/JHLabs Filters.jar deleted file mode 100644 index 2ce3ec6..0000000 Binary files a/data/projects/new scene stuff makings/lib/JHLabs Filters.jar and /dev/null differ diff --git a/data/projects/new scene stuff makings/src/ent/ExampleEntity.java b/data/projects/new scene stuff makings/src/ent/ExampleEntity.java deleted file mode 100644 index 98fabb0..0000000 --- a/data/projects/new scene stuff makings/src/ent/ExampleEntity.java +++ /dev/null @@ -1,36 +0,0 @@ -package ent; - -import blib.util.*; -import trident.*; -import javax.swing.*; -import java.awt.*; -public class ExampleEntity extends TridEntity { - - // Constructor, runs when the entity is created - public ExampleEntity(Position pos){ - super(pos); - } - // Registry constructor, used only for adding to the registry - public ExampleEntity(){ - super("example", false, 0); - } - // Custom constructor, used by the engine when building a scene - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new ExampleEntity(pos); - } - - // Render while in game - public void render(Graphics g, JPanel panel, int x, int y){ - - } - - // Runs every tick while the game is running - public void update(long elapsedTime){ - - } - - // Runs at the beginning of the scene - public void sceneStart(String scene){ - - } -} diff --git a/data/projects/new scene stuff makings/src/trident/Main.java b/data/projects/new scene stuff makings/src/trident/Main.java deleted file mode 100644 index 339cb42..0000000 --- a/data/projects/new scene stuff makings/src/trident/Main.java +++ /dev/null @@ -1,18 +0,0 @@ -package trident; - -import javax.swing.*; -import java.awt.*; -public class Main{ - protected static JFrame window = new JFrame("2D Trident Project"); - public static void main(String[] args){ - window.setSize(700, 500); - window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - window.setMinimumSize(new Dimension(700, 500)); - window.setIconImage(new ImageIcon("data/icon.png").getImage()); - // panel - MainPanel panel = new MainPanel(); - window.add(panel); - // - window.setVisible(true); - } -} diff --git a/data/projects/new scene stuff makings/src/trident/MainPanel.java b/data/projects/new scene stuff makings/src/trident/MainPanel.java deleted file mode 100644 index 8fffdd7..0000000 --- a/data/projects/new scene stuff makings/src/trident/MainPanel.java +++ /dev/null @@ -1,227 +0,0 @@ -package trident; - -import javax.swing.*; -import java.awt.*; -import blib.game.*; -import blib.util.*; -import java.awt.event.*; -import blib.input.*; -import java.util.ArrayList; -import blib.anim.*; -import trident.ent.*; -import update.*; -public class MainPanel extends JPanel { - - protected FrameManager frameManager = new FrameManager(); - public static Server server; - protected KeyManager km = new InputListener(this); - private Animator introAnim; - public static Position introPos = new Position(); - public static ImageIcon splash = new ImageIcon("data/images/trident/splash.png"); - public static boolean inIntro = false; - private RenderingThread rendThread = new RenderingThread(); - - public MainPanel(){ - - System.setProperty("sun.java2d.opengl", "true"); // hardware acceleration? - - setBackground(Color.black); - - Trident.player = new Player(new Position(), km, 0.1, this, "data/images/player", 16, 16); - Trident.player.camera.setDimension = new Dimension(frameManager.WIDTH, frameManager.HEIGHT); - Trident.player.resizeImages(32, 32); - Trident.currentScene = new Scene("Test Scene"); - Trident.camShake = new CamShake(Trident.player.camera); - Trident.lightManager.blur.setRadius(100); - - Trident.addCustomEntity(new BoxColl()); - Trident.addCustomEntity(new BoxNoColl()); - Trident.addCustomEntity(new InvisColl()); - Trident.addCustomEntity(new PlrStart()); - Trident.addCustomEntity(new Trigger()); - Trident.addCustomEntity(new TridLight()); - - setFocusTraversalKeysEnabled(false); - - Update.setup(); - - Trident.setupScenes(); - - Trident.loadScene(Trident.defaultScene); - - for(String s: Update.fonts){ - BTools.addFont(s, this); - } - - try{ - ArrayList anims = new ArrayList(); - anims.add(new Animation("data/animations/intro")); - - introAnim = new Animator(introPos, anims); - }catch(Exception e){ - Trident.intro = false; - } - if(Trident.intro){ - introAnim.play("intro"); - inIntro = true; - } - if(Trident.splash != null && BTools.hasImage(Trident.splash)){ - BTools.resizeImgIcon(Trident.splash, 160, 160); - } - - Trident.consoleError = false; - rendThread.start(); - - server = new Server(new ServerListener(), this); - } - - public void paintComponent(Graphics graphics){ - super.paintComponent(graphics); - Graphics g = frameManager.newFrame(); - - frameManager.bgColor = Trident.currentScene.bgColor; - - if(rendThread.lastFrame != null){ - g.drawImage(rendThread.lastFrame, 0, 0, null); - } - - frameManager.renderFrame(this, graphics); - } - - public MainPanel panel = this; - private class InputListener extends InputAdapter { - public InputListener(JPanel panel){ - super(panel); - } - - public void onKeyPressed(int key){ - if(key == KeyEvent.VK_F12){ - frameManager.saveScreenshot("data/screenshots"); - Update.tridentEvent(Trident.EVENT_SCREENSHOT); - } - if(key == KeyEvent.VK_F11){ - Trident.fullscreen = !Trident.fullscreen; - Main.window = BTools.getWindowFullscreen(Main.window, Trident.fullscreen, panel); - Update.tridentEvent(Trident.EVENT_FULLSCREEN); - return; - } - if(!inIntro){ - if(key == 192 && Trident.consoleEnabled){ - Trident.consoleOpen = !Trident.consoleOpen; - Trident.consoleType = ""; - Trident.consoleError = false; - } - if(Trident.consoleOpen){ - if(key >= KeyEvent.VK_A && key <= KeyEvent.VK_Z){ - char c = KeyEvent.getKeyText(key).charAt(0); - if(!km.getKeyDown(KeyEvent.VK_SHIFT)){ - c = Character.toLowerCase(c); - } - Trident.consoleType += c; - } - if(key >= KeyEvent.VK_0 && key <= KeyEvent.VK_9){ - char c = KeyEvent.getKeyText(key).charAt(0); - Trident.consoleType += c; - } - if(key == KeyEvent.VK_SPACE){ - Trident.consoleType += " "; - } - if(key == KeyEvent.VK_MINUS){ - Trident.consoleType += "-"; - } - if(key == KeyEvent.VK_PERIOD){ - Trident.consoleType += "."; - } - if(key == KeyEvent.VK_BACK_SPACE){ - if(Trident.consoleType.length() > 0) Trident.consoleType = Trident.consoleType.substring(0, Trident.consoleType.length() - 1); - } - if(key == KeyEvent.VK_UP){ - Trident.consoleType = Trident.lastCommand; - } - - if(key == KeyEvent.VK_ENTER){ - Trident.runCommand(Trident.consoleType); - Trident.consoleType = ""; - } - return; - } - Inputs.keyPressed(key); - } - } - - public void onMousePressed(int mb, Point mousePos){ - mousePos = frameManager.getMousePos(panel, mousePos); - Position worldPos = Trident.player.camera.mouseToPos(mousePos); - if(!inIntro) Inputs.mousePressed(mb, mousePos, worldPos); - } - - public void onScroll(int scroll){ - if(!inIntro) Inputs.onScroll(scroll); - } - } - - private class ServerListener implements ActionListener { - public void actionPerformed(ActionEvent event){ - if(inIntro){ - introAnim.update(server.getElapsedTime()); - if(!introAnim.isPlaying()){ - inIntro = false; - } - repaint(); - return; - } - - if(!hasFocus()) km.reset(); - - if(!Trident.consoleOpen){ - Trident.mousePos = frameManager.getMousePos(panel, km.getMousePos()); - Trident.mouseDelta = km.getMouseDelta(); - Trident.mouseWorldPos = Trident.player.camera.mouseToPos(Trident.mousePos); - - Trident.camShake.update(server.getElapsedTime()); - - if(!Trident.noclip) Trident.player.updateWithCollision(server.getElapsedTime(), Trident.currentScene.getCollision()); - else Trident.player.update(server.getElapsedTime()); - - for(int i = 0; i < Trident.getEntities().size(); i++){ - TridEntity e = Trident.getEntities().get(i); - e.update(server.getElapsedTime()); - if(e instanceof Trigger){ - Trigger trig = (Trigger)e; - if(trig.containsPos(Trident.player.getPos())){ - Update.trigger(trig.id); - } - } - } - - if(Trident.reset){ - km.reset(); - Trident.reset = false; - } - for(int i = 0; i < 255; i++){ - Trident.keys[i] = km.getKeyDown(i); - } - Trident.m1 = km.getMouseDown(1); - Trident.m2 = km.getMouseDown(2); - Trident.m3 = km.getMouseDown(3); - Trident.m4 = km.getMouseDown(4); - Trident.m5 = km.getMouseDown(5); - - if(Trident.newSprite != null){ - Trident.player = new Player(Trident.player.getPos(), km, 0.2, panel, Trident.newSprite, 16, 16); - Trident.newSprite = null; - Trident.player.resizeImages(32, 32); - Trident.player.camera.setDimension = new Dimension(frameManager.WIDTH, frameManager.HEIGHT); - Trident.camShake = new CamShake(Trident.player.camera); - Trident.player.shortCollision = true; - } - - Update.update(server.getElapsedTime()); - } - - - - try {Trident.getEntities().sort((o1, o2) -> o2.compareSort(o1));} catch(Exception e){} - } - } -} diff --git a/data/projects/new scene stuff makings/src/trident/RenderingThread.java b/data/projects/new scene stuff makings/src/trident/RenderingThread.java deleted file mode 100644 index 65220e3..0000000 --- a/data/projects/new scene stuff makings/src/trident/RenderingThread.java +++ /dev/null @@ -1,148 +0,0 @@ -package trident; - -import java.awt.image.*; -import java.util.ArrayList; -import java.util.ConcurrentModificationException; -import blib.util.*; -import java.awt.*; -import blib.game.*; -import javax.swing.*; -public class RenderingThread extends Thread { - - public BufferedImage lastFrame = null; - private long elapsedTime, previousStartTime = -1; - - private ImageIcon consoleBg = new ImageIcon("data/images/trident/consolebg.png"); - private long errorFlashTime = 0; - - public RenderingThread(){ - BTools.resizeImgIcon(consoleBg, Trident.getFrameWidth(), 483); - } - - public void run(){ - while(true){ - try{ - - long now = System.currentTimeMillis(); - elapsedTime = previousStartTime != -1 ? now - previousStartTime : 0; - previousStartTime = now; - int WIDTH = Trident.getFrameWidth(), HEIGHT = Trident.getFrameHeight(); - int offX, offY; - offX = Trident.camShake.offX; - offY = Trident.camShake.offY; - BufferedImage newFrame = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB); - Graphics g = newFrame.getGraphics(); - - if(Trident.engineDraw){ - for(TridEntity e: Trident.currentScene.entities){ - Point p = Trident.player.camera.worldToScreen(e.position); - e.engineRender(g, null, p.x, p.y); - } - } - - ArrayList> splitEnt = Trident.player.camera.splitEntities(Trident.tridArrToEntArr(Trident.currentScene.entities), 16); - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(2), offX, offY); - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(0), offX, offY); - if(Trident.drawPlayer){ - Trident.player.render(null, g, WIDTH / 2 - offX, HEIGHT / 2 - offY); - } - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(1), offX, offY); - - Trident.lightManager.render(Trident.player.camera, Trident.lights, g, offX, offY); - - if(!Trident.engineDraw) Trident.player.camera.render(g, splitEnt.get(3), offX, offY); - - - - - if(Trident.drawCollision){ - g.setColor(Color.red); - ArrayList collision = Trident.currentScene.getCollision(); - collision.add(Trident.player.getCollision()); - for(Rectangle r: collision){ - Point p = Trident.player.camera.worldToScreen(new Position(r.x, r.y)); - g.drawRect(p.x, p.y, r.width, r.height); - g.drawLine(p.x, p.y, p.x + r.width, p.y + r.height); - } - } - - if(Trident.drawPos){ - g.setColor(Trident.debugColor); - g.setFont(new Font("Arial", Font.ITALIC, 10)); - TextBox.draw(Trident.player.getPos().toStringSimple(), g, 10, 20); - } - if(Trident.drawFrames){ - g.setColor(Trident.debugColor); - g.setFont(new Font("Arial", Font.ITALIC, 10)); - TextBox.draw("TPS: " + (1000 / Math.max(MainPanel.server.getElapsedTime(), 1)) + " (" + MainPanel.server.getElapsedTime() + " ms)", g, 10, 30); - TextBox.draw("FPS: " + (1000 / Math.max(elapsedTime, 1)) + " (" + elapsedTime + " ms)", g, 10, 40); - } - - // Apply Post Processing - if(Trident.enableExposure){ - Trident.exposure.filter(newFrame, newFrame); - } - if(Trident.enableBloom){ - Trident.bloom.filter(newFrame, newFrame); - } - - if(MainPanel.inIntro){ - g.setColor(Color.black); - g.fillRect(0, 0, 700, 500); - - if(Trident.splash != null && BTools.hasImage(Trident.splash)){ - // Trident splash + custom splash - MainPanel.splash.paintIcon(null, g, WIDTH / 2 - 80, 40); - Trident.splash.paintIcon(null, g, WIDTH / 2 - 80, HEIGHT - 200); - }else{ - // Trident splash only - MainPanel.splash.paintIcon(null, g, WIDTH / 2 - 80, HEIGHT / 2 - 80); - } - - float alpha = (float)MainPanel.introPos.x; - g.setColor(new Color(0f, 0f, 0f, alpha)); - g.fillRect(0, 0, 700, 500); - } - - if(Trident.consoleOpen){ - // bg - consoleBg.paintIcon(null, g, 0, -252); - g.setColor(new Color(0f, 0f, 0f, 0.7f)); - g.fillRect(0, 0, Trident.getFrameWidth(), Trident.getFrameHeight() / 2); - - // text - g.setColor(Color.white); - g.setFont(new Font("Arial", Font.PLAIN, 10)); - for(int i = 0; i < Trident.consoleLines.size(); i++){ - int index = BTools.flip(i, Trident.consoleLines.size() - 1); - TextBox.draw(Trident.consoleLines.get(index), g, 5, Trident.getFrameHeight() / 2 - 25 - (i * 10)); - } - - // borders - g.setColor(new Color(32, 12, 121)); - g.drawRect(0, 0, Trident.getFrameWidth() - 1, Trident.getFrameHeight() / 2); - g.drawLine(0, Trident.getFrameHeight() / 2 - 10, Trident.getFrameWidth(), Trident.getFrameHeight() / 2 - 10); - - // text entry box - g.setColor(Color.white); - g.setFont(new Font("Arial", Font.PLAIN, 10)); - TextBox.draw("> " + Trident.consoleType + "_", g, 3, Trident.getFrameHeight() / 2 - 5); - } - if(Trident.consoleError){ - errorFlashTime += elapsedTime; - g.setColor(new Color(1f, (float)(Math.min(1, Math.sin(errorFlashTime / 500.0) / 2 + 0.5)), (float)(Math.min(1, Math.sin(errorFlashTime / 500.0) / 2 + 0.5)))); - g.setFont(new Font("Arial", Font.BOLD, 20)); - TextBox.draw("ERROR\nOpen console with [~](tilde)", g, Trident.getFrameWidth() / 2, 10, TextBox.CENTER); - } - - lastFrame = newFrame; - }catch(Exception e){ - if(!(e instanceof ConcurrentModificationException)){ - e.printStackTrace(); - } - } - - - } - } -} diff --git a/data/projects/new scene stuff makings/src/trident/Scene.java b/data/projects/new scene stuff makings/src/trident/Scene.java deleted file mode 100644 index 1d634ee..0000000 --- a/data/projects/new scene stuff makings/src/trident/Scene.java +++ /dev/null @@ -1,120 +0,0 @@ -package trident; - -import java.util.ArrayList; -import java.awt.*; -import java.io.*; -import blib.bson.*; -import blib.util.*; -import trident.ent.*; -import blib.game.*; -public class Scene { - - public final String name; - public boolean loaded = false; - public String filePath = null; - public ArrayList entities; - protected Position plrStart = new Position(); - protected int plrDir = Player.SOUTH; - protected Color bgColor = Color.white; - protected int defaultLight = 255; - - public Scene(String n){ // Empty scene - name = n; - entities = new ArrayList(); - loaded = true; - } - public Scene(File f){ - filePath = f.getAbsolutePath(); - - ArrayList objects = BSonParser.readFile(filePath); - BSonObject obj = BSonParser.getObject("name", objects); - name = obj.getString(); - } - - public void preload(){ - entities = new ArrayList(); - ArrayList objects = BSonParser.readFile(filePath); - BSonObject obj = BSonParser.getObject("dir", objects); - if(obj != null){ - String str = obj.getString(); - if(str.equals("west")) plrDir = Player.WEST; - if(str.equals("north")) plrDir = Player.NORTH; - if(str.equals("east")) plrDir = Player.EAST; - } - obj = BSonParser.getObject("bgColor", objects); - BSonList asList = (BSonList)obj; - int r, g, b; - r = asList.list.get(0).getInt(); - g = asList.list.get(1).getInt(); - b = asList.list.get(2).getInt(); - bgColor = new Color(r, g, b); - obj = BSonParser.getObject("light", objects); - defaultLight = obj.getInt(); - obj = BSonParser.getObject("entities", objects); - asList = (BSonList)obj; - for(int i = 0; i < asList.list.size(); i++){ - String objName = asList.list.get(i).getString(); - i++; - boolean foundEnt = false; - for(TridEntity e: Trident.entRegistry){ - if(e.name.equals(objName)){ - double x, y; - x = asList.list.get(i).getDouble(); - i++; - y = asList.list.get(i).getDouble(); - i++; - int w = 0, h = 0; - i++; - if(e.HASCOLLISION){ - w = asList.list.get(i).getInt(); - i++; - h = asList.list.get(i).getInt(); - i++; - } - int[] data = new int[e.numData]; - for(int j = 0; j < e.numData; j++){ - data[j] = asList.list.get(i).getInt(); - i++; - } - i--; - entities.add(e.construct(new Position(x, y), (e.HASCOLLISION ? (new Dimension(w, h)) : null), data)); - foundEnt = true; - break; - } - } - if(!foundEnt) Trident.printConsole("ERROR: no entity type '" + objName + "' found"); - } - - // Check for plrstart - for(TridEntity e: entities){ - if(e instanceof PlrStart){ - plrStart = e.position.copy(); - break; - } - } - - loaded = true; - } - - public void unload(){ - entities = null; - loaded = false; - } - - public static Scene loadScene(String path){ // stub method ::: Load a scene from a file - return null; - } - - public ArrayList getCollision(){ - ArrayList collision = new ArrayList(); - for(int i = 0; i < entities.size(); i++){ - TridEntity e = entities.get(i); - if(e.HASCOLLISION){ - collision.add(e.getCollision()); - } - } - - return collision; - } - -} diff --git a/data/projects/new scene stuff makings/src/trident/TridEntity.java b/data/projects/new scene stuff makings/src/trident/TridEntity.java deleted file mode 100644 index 9e172c4..0000000 --- a/data/projects/new scene stuff makings/src/trident/TridEntity.java +++ /dev/null @@ -1,101 +0,0 @@ -package trident; - -import blib.game.*; -import blib.util.*; - -import javax.swing.*; -import java.awt.*; -public class TridEntity extends Entity { - - public final boolean HASCOLLISION; - private final Dimension collision; - public String engineRenderData = ""; - private ImageIcon engineImg = new ImageIcon("data/images/trident/customEnt.png"); - protected String name; - protected int numData; - - public TridEntity(Position pos){ - super(pos); - HASCOLLISION = false; - collision = null; - } - public TridEntity(Position pos, Dimension collision){ - super(pos); - if(collision.equals(new Dimension(0, 0))) HASCOLLISION = false; - else HASCOLLISION = true; - this.collision = collision; - } - public TridEntity(String n, boolean hasColl, int numData){ - super(new Position()); - HASCOLLISION = hasColl; - collision = null; - name = n; - this.numData = numData; - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - System.out.println("Error: tried to create an empty entity"); - return null; - } - - public Rectangle getCollision(){ - return new Rectangle((int)position.x - (collision.width / 2), (int)position.y - (collision.height / 2), collision.width, collision.height); - } - - public void render(Graphics g, JPanel panel, int x, int y){ - - } - - protected void engineRender(Graphics g, JPanel panel, int x, int y){ - if(HASCOLLISION){ - g.setColor(Color.red); - g.drawRect(x - getCollision().width / 2, y - getCollision().height / 2, getCollision().width, getCollision().height); - g.drawLine(x - getCollision().width / 2, y - getCollision().height / 2, x + getCollision().width / 2, y + getCollision().height / 2); - } - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } - - public void update(long elapsedTime){ - - } - - public void sceneStart(String scene){ - - } - - public int getRendDatSort(){ - if(renderType == Entity.TALL){ - return 2; - } - if(renderType == Entity.UNDER){ - return 1; - } - if(renderType == Entity.ABOVE){ - return 3; - } - if(renderType == Entity.BOTTOMPRIORITY){ - return 0; - } - if(renderType == Entity.TOPPRIORITY){ - return 4; - } - return 2; - } - - public int compareSort(TridEntity e){ - if(e.getRendDatSort() > getRendDatSort()){ - // e should be above - return 1; - }else if(e.getRendDatSort() < getRendDatSort()){ - return -1; - } - - if(e.position.y > position.y){ - return 1; - }else if(e.position.y < position.y){ - return -1; - } - - return 0; - } - -} diff --git a/data/projects/new scene stuff makings/src/trident/Trident.java b/data/projects/new scene stuff makings/src/trident/Trident.java deleted file mode 100644 index 2d2cd17..0000000 --- a/data/projects/new scene stuff makings/src/trident/Trident.java +++ /dev/null @@ -1,595 +0,0 @@ -package trident; - -import blib.game.*; -import blib.util.*; -import java.awt.*; -import java.util.ArrayList; -import java.util.Scanner; - -import javax.swing.*; -import update.*; -import java.io.*; -import trident.ent.*; -import com.jhlabs.image.GlowFilter; -import com.jhlabs.image.ExposureFilter; -public class Trident { - - // Debug Settings - public static boolean drawPos = false; - public static boolean drawCollision = false; - public static boolean noclip = false; - public static boolean engineDraw = false; - public static Color debugColor = Color.red; - public static boolean intro = true; - public static ImageIcon splash = null; - public static boolean drawFrames = false; - public static boolean consoleEnabled = true; - public static boolean consoleOpen = false; - public static boolean consoleError = false; - public static String lastCommand = ""; - - // Public Variables - public static Point mousePos; - public static Point mouseDelta; - public static boolean drawPlayer = true; - public static Position mouseWorldPos = new Position(); - public static boolean enableBloom = true, enableExposure = true; - - - // Trident Variables - protected static Player player; - protected static Scene currentScene; - protected static boolean fullscreen = false; - protected static ArrayList loadedScenes = new ArrayList(); - protected static ArrayList entRegistry = new ArrayList(); - protected static String defaultScene = "default"; - protected static boolean m1 = false, m2 = false, m3 = false, m4 = false, m5 = false; - protected static boolean[] keys = new boolean[255]; - protected static CamShake camShake; - protected static ArrayList lights = new ArrayList(); - protected static LightManager lightManager = new LightManager(255); - protected static GlowFilter bloom = new GlowFilter(); - protected static ExposureFilter exposure = new ExposureFilter(); - protected static boolean reset = false; - protected static String newSprite = null; - - // Trident events - public static final int EVENT_SCREENSHOT = 0, EVENT_FULLSCREEN = 1; - - - // Setting methods - public static void setPlrSpeed(double speed){ - player.speed = speed; - } - public static void setPlrPos(Position pos){ - player.goToPos(pos); - } - public static void setShortCollision(boolean b){ - player.shortCollision = b; - } - public static void setWindowTitle(String title){ - Main.window.setTitle(title); - } - public static void setupScenes(){ - try{ - loadedScenes = new ArrayList(); - File dir = new File("data/scenes"); - File[] files = dir.listFiles(); - ArrayList sceneFiles = new ArrayList(); - for(File f: files){ - if(BTools.hasExtension(f, "bson")) sceneFiles.add(f); - } - - for(File f: sceneFiles){ - loadedScenes.add(new Scene(f)); - } - }catch(Exception e){ - printException("Error setting up scenes", e); - } - - } - public static void loadScene(String name){ - loadScene(name, false); - } - public static void loadScene(String name, boolean unload){ - lights = new ArrayList(); - for(Scene s: loadedScenes){ - if(s.name.equals(name)){ - Scene oldScene = currentScene; - - if(!s.loaded) s.preload(); - currentScene = s; - if(unload) oldScene.unload(); - player.goToPos(s.plrStart); - player.setDirection(s.plrDir); - for(TridEntity e: s.entities){ - if(e instanceof TridLight){ - TridLight asLight = (TridLight)e; - lights.add(new Light(asLight.position, asLight.radius)); - } - e.sceneStart(s.name); - } - lightManager.defaultLight = s.defaultLight; - Update.sceneStart(name); - return; - } - } - printConsole("***********************************************************************************"); - printConsole("Error loading scene: No scene with name '" + name + "' found."); - printError("***********************************************************************************"); - } - public static void unloadScene(String name){ - for(Scene s: loadedScenes){ - if(s.name.equals(name)){ - if(s.equals(currentScene)){ - printError("ERROR: tried to unload current scene"); - return; - }else{ - s.unload(); - return; - } - } - } - printConsole("***********************************************************************************"); - printConsole("Error unloading scene: No scene with name '" + name + "' found."); - printError("***********************************************************************************"); - } - public static void preloadScene(String name){ - for(Scene s: loadedScenes){ - if(s.name.equals(name)){ - s.preload(); - return; - } - } - printConsole("***********************************************************************************"); - printConsole("Error preloading scene: No scene with name '" + name + "' found."); - printError("***********************************************************************************"); - } - public static void addCustomEntity(TridEntity e){ // Add a cutsom entity to the registry - entRegistry.add(e); - } - public static void spawnEntity(TridEntity e){ - currentScene.entities.add(e); - } - public static void setDefaultScene(String s){ - defaultScene = s; - } - public static void destroy(TridEntity object){ - getEntities().remove(object); - } - public static void shakeCam(double intensity){ - camShake.addTrauma(intensity); - } - public static void removeShake(){ - camShake.trauma = 0; - } - public static void setShakeStrength(int str){ - camShake.strength = str; - } - public static void setShakeLoss(double loss){ - camShake.traumaLoss = loss; - } - public static void setBloom(double amount){ - bloom.setAmount((float)amount); - } - public static void setExposure(double exp){ - exposure.setExposure((float)exp); - } - public static void setLightBlur(int level){ - lightManager.blur.setIterations(level); - } - public static void addLight(Light l){ - lights.add(l); - } - public static void resetKeys(){ - reset = true; - } - public static void setPlrSprite(String path){ - newSprite = path; - } - public static void removeLight(Light l){ - lights.remove(l); - } - public static void setDefaultLight(int level){ - lightManager.defaultLight = level; - } - public static void stopShake(){ - camShake.trauma = 0; - } - - // Getting methods - public static double getPlrSpeed(){ - return player.speed; - } - public static Position getPlrPos(){ - return player.getPos().copy(); - } - public static Scene getCurrentScene(){ - return currentScene; - } - public static boolean getFullscreen(){ - return fullscreen; - } - public static ArrayList tridArrToEntArr(ArrayList entities){ - ArrayList newEntities = new ArrayList(); - for(TridEntity e: entities){ - newEntities.add((Entity)e); - } - return newEntities; - } - public static ArrayList entArrToTridArr(ArrayList entities){ - ArrayList newEntities = new ArrayList(); - for(Entity e: entities){ - newEntities.add((TridEntity)e); - } - return newEntities; - } - public static ArrayList getEntities(){ - return currentScene.entities; - } - public static ArrayList getCollision(){ - return currentScene.getCollision(); - } - public static boolean getMouseDown(int mb){ - if(mb == 1){ - return m1; - } - if(mb == 2){ - return m2; - } - if(mb == 3){ - return m3; - } - if(mb == 4){ - return m4; - } - if(mb == 5){ - return m5; - } - return false; - } - public static boolean getKeyDown(int key){ - return keys[key]; - } - public static Player getPlr(){ - return player; - } - public static int getFrameWidth(){ - return 684; - } - public static int getFrameHeight(){ - return 462; - } - public static Point getShakeOffset(){ - return new Point(camShake.offX, camShake.offY); - } - - - // Commands - public static ArrayList consoleLines = new ArrayList(); - public static String consoleType = ""; // What the user is typing - - public static void runCommand(String command){ - if(command != null && command.length() > 0){ - lastCommand = command; - printConsole(" > " + command); - - ArrayList cmdParts = new ArrayList(); - Scanner scanner = new Scanner(command); - while(scanner.hasNext()){ - cmdParts.add(scanner.next()); - } - scanner.close(); - - if(cmdParts.size() == 0) return; - try{ - switch(cmdParts.get(0)){ - case "drawCollision": - if(cmdParts.size() == 1){ - printConsole("drawCollision is " + Trident.drawCollision); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.drawCollision = true; - printConsole("set drawCollision to " + Trident.drawCollision); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.drawCollision = false; - printConsole("set drawCollision to " + Trident.drawCollision); - } - break; - case "engineDraw": - if(cmdParts.size() == 1){ - printConsole("engineDraw is " + Trident.engineDraw); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.engineDraw = true; - printConsole("set engineDraw to " + Trident.engineDraw); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.engineDraw = false; - printConsole("set engineDraw to " + Trident.engineDraw); - } - break; - case "drawPos": - if(cmdParts.size() == 1){ - printConsole("drawPos is " + Trident.drawPos); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.drawPos = true; - printConsole("set drawPos to " + Trident.drawPos); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.drawPos = false; - printConsole("set drawPos to " + Trident.drawPos); - } - break; - case "noclip": - if(cmdParts.size() == 1){ - printConsole("noclip is " + Trident.noclip); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.noclip = true; - printConsole("set noclip to " + Trident.noclip); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.noclip = false; - printConsole("set noclip to " + Trident.noclip); - } - break; - case "tp": - int x = Integer.parseInt(cmdParts.get(1)); - int y = Integer.parseInt(cmdParts.get(2)); - Trident.setPlrPos(new Position(x, y)); - printConsole("teleported player to (" + x + ", " + y + ")"); - break; - case "loadMap": - String map = ""; - for(int i = 1; i < cmdParts.size(); i++){ - map += cmdParts.get(i); - if(i != cmdParts.size() - 1) map += " "; - } - Trident.loadScene(map); - break; - case "drawFrames": - if(cmdParts.size() == 1){ - printConsole("drawFrames is " + Trident.drawFrames); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.drawFrames = true; - printConsole("set drawFrames to " + Trident.drawFrames); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.drawFrames = false; - printConsole("set drawFrames to " + Trident.drawFrames); - } - break; - case "debugColor": - int r, g, b; - float alpha = -1; - r = Integer.parseInt(cmdParts.get(1)); - g = Integer.parseInt(cmdParts.get(2)); - b = Integer.parseInt(cmdParts.get(3)); - if(cmdParts.size() == 5){ - alpha = Float.parseFloat(cmdParts.get(4)); - } - if(alpha != -1){ - Trident.debugColor = new Color(r / 255f, g / 255f, b / 255f, alpha); - printConsole("set debugColor to (" + r + ", " + g + ", " + b + ", " + alpha + ")"); - }else{ - Trident.debugColor = new Color(r, g, b); - printConsole("set debugColor to (" + r + ", " + g + ", " + b + ")"); - } - break; - case "enableBloom": - if(cmdParts.size() == 1){ - printConsole("enableBloom is " + Trident.enableBloom); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.enableBloom = true; - printConsole("set enableBloom to " + Trident.enableBloom); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.enableBloom = false; - printConsole("set enableBloom to " + Trident.enableBloom); - } - break; - case "enableExposure": - if(cmdParts.size() == 1){ - printConsole("enableExposure is " + Trident.enableExposure); - break; - } - if(cmdParts.get(1).equals("1") || cmdParts.get(1).equals("true")){ - Trident.enableExposure = true; - printConsole("set enableExposure to " + Trident.enableExposure); - } - if(cmdParts.get(1).equals("0") || cmdParts.get(1).equals("false")){ - Trident.enableExposure = false; - printConsole("set enableExposure to " + Trident.enableExposure); - } - break; - case "setBloom": - double amount = Double.parseDouble(cmdParts.get(1)); - Trident.setBloom(amount); - printConsole("set bloom to " + amount); - break; - case "setExposure": - double expo = Double.parseDouble(cmdParts.get(1)); - Trident.setExposure(expo); - printConsole("set exposure to " + expo); - break; - case "setLightBlur": - int blurLevel = Integer.parseInt(cmdParts.get(1)); - Trident.setLightBlur(blurLevel); - printConsole("set lightBlur to " + blurLevel + " (recommended: 1)"); - break; - case "clear": - consoleLines = new ArrayList(); - break; - case "help": - int page = 1; - if(cmdParts.size() > 1) page = Integer.parseInt(cmdParts.get(1)); - printHelp(page); - break; - case "customHelp": - int p = 1; - if(cmdParts.size() > 1) p = Integer.parseInt(cmdParts.get(1)); - printCustomHelp(p); - break; - case "credits": - runCommand("clear"); - printConsole("Trident Engine built in Java by Blocky"); - printConsole("---"); - printConsole("Github: @HeyIts-Blocky"); - printConsole("Insta: @heyits_blocky"); - printConsole("Itch.io: blockmanblue.itch.io "); - printConsole("---"); - printConsole(""); - break; - case "openItch": - BTools.openWebsite("https://blockmanblue.itch.io/"); - break; - case "errorTest": - consoleOpen = false; - printError("Error test"); - break; - case "roll": - printConsole("You got " + BTools.randInt(0, 101) + " points"); - break; - case "trigger": - int trig = Integer.parseInt(cmdParts.get(1)); - Update.trigger(trig); - printConsole("ran trigger " + trig); - break; - case "mapList": - page = 1; - if(cmdParts.size() > 1) page = Integer.parseInt(cmdParts.get(1)); - printMaps(page); - break; - case "unloadMap": - unloadScene(cmdParts.get(1)); - break; - case "preloadMap": - preloadScene(cmdParts.get(1)); - break; - case "currentMap": - printConsole("Current map: " + currentScene.name); - break; - default: - int cmd = Update.command(cmdParts); - if(cmd != 0){ - printConsole("Unknown command: " + cmdParts.get(0)); - } - break; - } - }catch(Exception e){ - printConsole("Something went wrong while running your command."); - printException("", e); - } - } - } - public static void printConsole(String text){ - consoleLines.add(text); - if(consoleLines.size() > 30) consoleLines.remove(0); - } - public static void printError(String text){ - consoleError = true; - printConsole(text); - } - public static void printException(String text, Exception e){ - consoleError = true; - printConsole(text); - printConsole("Error type: " + e.getClass().getName()); - } - public static void printExceptionSilent(String text, Exception e){ - printConsole(text); - printConsole("Error type: " + e.getClass().getName()); - } - private static String[] cmds = { - "credits", - "drawCollision [0/1, false/true]", - "engineDraw [0/1, false/true]", - "drawPos [0/1, false/true]", - "noclip [0/1, false/true]", - "tp ", - "loadMap ", - "drawFrames [0/1, false/true]", - "debugColor [a]", - "enableBloom [0/1, false/true]", - "enableExposure [0/1, false/true]", - "setBloom ", - "setExposure ", - "setLightBlur ", - "clear", - "help [page]", - "customHelp [page]", - "errorTest", - "roll", - "trigger ", - "mapList [page]", - "unloadMap ", - "preloadMap ", - "currentMap", - }; - - public static void printHelp(int page){ - int startIndex = (page - 1) * 10; - if(startIndex > cmds.length - 1){ - printConsole("page beyond bounds: " + page); - printConsole("number of pages: " + (cmds.length / 10 + ((cmds.length % 10 != 0) ? 1 : 0))); - return; - } - - printConsole("-- BUILT-IN COMMANDS --"); - printConsole("Page " + page + " of " + (cmds.length / 10 + ((cmds.length % 10 != 0) ? 1 : 0))); - printConsole(""); - for(int i = startIndex; (i < cmds.length && i < startIndex + 10); i++){ - printConsole("} " + cmds[i]); - } - printConsole(""); - } - - public static void printMaps(int page){ - int startIndex = (page - 1) * 10; - if(startIndex > loadedScenes.size() - 1){ - printConsole("page beyond bounds: " + page); - printConsole("number of pages: " + (loadedScenes.size() / 10 + ((loadedScenes.size() % 10 != 0) ? 1 : 0))); - return; - } - - printConsole("-- MAPS --"); - printConsole("Page " + page + " of " + (loadedScenes.size() / 10 + ((loadedScenes.size() % 10 != 0) ? 1 : 0))); - printConsole(""); - for(int i = startIndex; (i < loadedScenes.size() && i < startIndex + 10); i++){ - Scene s = loadedScenes.get(i); - String str = ""; - if(!s.loaded) str += " [UNLOADED]"; - if(s.equals(currentScene)) str += " [CURRENT]"; - printConsole("} " + s.name + str); - } - printConsole(""); - } - - public static void printCustomHelp(int page){ - int startIndex = (page - 1) * 10; - if(startIndex > Update.commands.length - 1){ - printConsole("page beyond bounds: " + page); - printConsole("number of pages: " + (Update.commands.length / 10 + ((Update.commands.length % 10 != 0) ? 1 : 0))); - return; - } - - printConsole("-- GAME-SPECIFIC COMMANDS --"); - printConsole("Page " + page + " of " + (Update.commands.length / 10 + ((Update.commands.length % 10 != 0) ? 1 : 0))); - printConsole(""); - for(int i = startIndex; (i < Update.commands.length && i < startIndex + 10); i++){ - printConsole("} " + Update.commands[i]); - } - printConsole(""); - } - -} diff --git a/data/projects/new scene stuff makings/src/trident/ent/BoxColl.java b/data/projects/new scene stuff makings/src/trident/ent/BoxColl.java deleted file mode 100644 index 8201a9d..0000000 --- a/data/projects/new scene stuff makings/src/trident/ent/BoxColl.java +++ /dev/null @@ -1,37 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class BoxColl extends TridEntity{ - - public Color color = Color.white; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/boxColl.png"); - - public BoxColl(Position pos, Dimension size, Color c){ - super(pos, size); - color = c; - } - public BoxColl(Position pos, Dimension size){ - super(pos, size); - } - public BoxColl(){ - super("boxcoll", true, 3); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new BoxColl(pos, collision, new Color(data[0], data[1], data[2])); - } - - public void render(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.fillRect(x - getCollision().width / 2, y - getCollision().height / 2, getCollision().width, getCollision().height); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - render(g, panel, x, y); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/new scene stuff makings/src/trident/ent/BoxNoColl.java b/data/projects/new scene stuff makings/src/trident/ent/BoxNoColl.java deleted file mode 100644 index e12beb7..0000000 --- a/data/projects/new scene stuff makings/src/trident/ent/BoxNoColl.java +++ /dev/null @@ -1,45 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; -import blib.game.*; - -import trident.*; -public class BoxNoColl extends TridEntity{ - - public Color color = Color.white; - public int width, height; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/box.png"); - - public BoxNoColl(Position pos, Color c, int w, int h){ - super(pos); - color = c; - width = w; - height = h; - renderType = Entity.UNDER; - } - public BoxNoColl(Position pos, int w, int h){ - super(pos); - width = w; - height = h; - renderType = Entity.UNDER; - } - public BoxNoColl(){ - super("boxnocoll", false, 5); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new BoxNoColl(pos, new Color(data[2], data[3], data[4]), data[0], data[1]); - } - - public void render(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.fillRect(x - width / 2, y - height / 2, width, height); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - render(g, panel, x, y); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/new scene stuff makings/src/trident/ent/InvisColl.java b/data/projects/new scene stuff makings/src/trident/ent/InvisColl.java deleted file mode 100644 index 7736536..0000000 --- a/data/projects/new scene stuff makings/src/trident/ent/InvisColl.java +++ /dev/null @@ -1,30 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class InvisColl extends TridEntity{ - - public Color color = Color.red; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/collision.png"); - - public InvisColl(Position pos, Dimension size){ - super(pos, size); - } - public InvisColl(){ - super("inviscoll", true, 0); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new InvisColl(pos, collision); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.drawRect(x - getCollision().width / 2, y - getCollision().height / 2, getCollision().width, getCollision().height); - g.drawLine(x - getCollision().width / 2, y - getCollision().height / 2, x + getCollision().width / 2, y + getCollision().height / 2); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/new scene stuff makings/src/trident/ent/PlrStart.java b/data/projects/new scene stuff makings/src/trident/ent/PlrStart.java deleted file mode 100644 index 26fe13d..0000000 --- a/data/projects/new scene stuff makings/src/trident/ent/PlrStart.java +++ /dev/null @@ -1,26 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class PlrStart extends TridEntity{ - public Color color = Color.red; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/plrStart.png"); - - public PlrStart(Position pos){ - super(pos); - } - public PlrStart(){ - super("plrstart", false, 0); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new PlrStart(pos); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/new scene stuff makings/src/trident/ent/TridLight.java b/data/projects/new scene stuff makings/src/trident/ent/TridLight.java deleted file mode 100644 index 888bf49..0000000 --- a/data/projects/new scene stuff makings/src/trident/ent/TridLight.java +++ /dev/null @@ -1,28 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class TridLight extends TridEntity{ - - public int radius; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/light.png"); - - public TridLight(Position pos, int r){ - super(pos); - radius = r; - } - public TridLight(){ - super("light", false, 1); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new TridLight(pos, data[0]); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/new scene stuff makings/src/trident/ent/Trigger.java b/data/projects/new scene stuff makings/src/trident/ent/Trigger.java deleted file mode 100644 index d52126d..0000000 --- a/data/projects/new scene stuff makings/src/trident/ent/Trigger.java +++ /dev/null @@ -1,41 +0,0 @@ -package trident.ent; - -import blib.util.*; -import java.awt.*; -import javax.swing.*; - -import trident.*; -public class Trigger extends TridEntity{ - - public Color color = Color.blue; - public Dimension box; - public int id; - - private ImageIcon engineImg = new ImageIcon("data/images/trident/trigger.png"); - - public Trigger(Position pos, Dimension size, int i){ - super(pos); - name = "trigger"; - box = size; - id = i; - } - public Trigger(){ - super("trigger", false, 3); - } - public TridEntity construct(Position pos, Dimension collision, int[] data){ - return new Trigger(pos, new Dimension(data[0], data[1]), data[2]); - } - - public boolean containsPos(Position pos){ - Point p = new Point((int)pos.x, (int)pos.y); - Rectangle rect = new Rectangle((int)position.x - box.width / 2, (int)position.y - box.height / 2, box.width, box.height); - return rect.contains(p); - } - - public void engineRender(Graphics g, JPanel panel, int x, int y){ - g.setColor(color); - g.drawRect(x - box.width / 2, y - box.height / 2, box.width, box.height); - g.drawLine(x - box.width / 2, y - box.height / 2, x + box.width / 2, y + box.height / 2); - engineImg.paintIcon(panel, g, x - engineImg.getIconWidth() / 2, y - engineImg.getIconHeight() / 2); - } -} diff --git a/data/projects/new scene stuff makings/src/update/Inputs.java b/data/projects/new scene stuff makings/src/update/Inputs.java deleted file mode 100644 index 0fc6ecc..0000000 --- a/data/projects/new scene stuff makings/src/update/Inputs.java +++ /dev/null @@ -1,19 +0,0 @@ -package update; - -import java.awt.*; -import java.awt.event.*; -import blib.util.*; -public class Inputs { - - public static void keyPressed(int key){ - - } - - public static void mousePressed(int mb, Point mousePos, Position worldPos){ - - } - - public static void onScroll(int scroll){ - - } -} diff --git a/data/projects/new scene stuff makings/src/update/Update.java b/data/projects/new scene stuff makings/src/update/Update.java deleted file mode 100644 index 57a2e9b..0000000 --- a/data/projects/new scene stuff makings/src/update/Update.java +++ /dev/null @@ -1,59 +0,0 @@ -package update; - -import trident.*; -import ent.*; -import java.util.ArrayList; -public class Update { - - public static final String[] fonts = {}; // add fonts here - - public static void setup(){ - // Add custom entities to the registry here. Required in order to load them properly - Trident.addCustomEntity(new ExampleEntity()); // Use the empty constructor - - // Set settings - Trident.setPlrSpeed(0.2); - Trident.setShortCollision(true); - - // Post Processing - Trident.setBloom(0.2); - Trident.setExposure(1); - Trident.enableBloom = false; - Trident.enableExposure = false; - Trident.setLightBlur(1); - } - - public static void sceneStart(String scene){ - - } - - public static void update(long elapsedTime){ - - } - - public static void trigger(int id){ - - } - - public static void tridentEvent(int id){ - if(id == Trident.EVENT_SCREENSHOT){ - Trident.printConsole("Took a screenshot!"); - } - } - - public static int command(ArrayList cmdParts){ // cmdParts.get(0) is the command, while the rest are arguments for the command. - switch(cmdParts.get(0)){ - case "helloWorld": - Trident.printConsole("Hello, World!"); - return 0; - case "ping": - Trident.printConsole("pong"); - return 0; - } - return 1; // return 1 if command is not recognized - } - public static String[] commands = { // Fill this with the format for all custom commands - "helloWorld", - "ping", - }; -} diff --git a/data/templates/blank2d/data/images/trident/tilemap.png b/data/templates/blank2d/data/images/trident/tilemap.png new file mode 100644 index 0000000..63d6051 Binary files /dev/null and b/data/templates/blank2d/data/images/trident/tilemap.png differ diff --git a/data/templates/blank3d/data/images/trident/tilemap.png b/data/templates/blank3d/data/images/trident/tilemap.png new file mode 100644 index 0000000..63d6051 Binary files /dev/null and b/data/templates/blank3d/data/images/trident/tilemap.png differ