|
@@ -42,7 +42,7 @@ public class Game extends Engine
|
|
|
public static final NullTile FALLBACK_TILE = new NullTile();
|
|
|
|
|
|
// tiles
|
|
|
- private final Tile[] registeredTiles = new Tile[73];
|
|
|
+ private final Tile[] registeredTiles = new Tile[75];
|
|
|
|
|
|
// levels
|
|
|
private Level currentLevel = null;
|
|
@@ -603,12 +603,12 @@ public class Game extends Engine
|
|
|
registeredTiles[34] = new DecoShroomTile(0.0625f, 0.21875f, 0.125f, 0.25f);
|
|
|
registeredTiles[35] = new DecoShroomTile(0.0625f, 0.1875f, 0.125f, 0.21875f);
|
|
|
// ramp
|
|
|
- registeredTiles[36] = new Ramp(0.375f, 0.0f, 0.4375f, 0.0625f, 0.0f, Tile.SIZE, Tile.SIZE, 0.0f);
|
|
|
- registeredTiles[37] = new Ramp(0.4375f, 0.0f, 0.5f, 0.0625f, 0.0f, Tile.SIZE, Tile.SIZE, Tile.SIZE * 0.5f);
|
|
|
- registeredTiles[38] = new Ramp(0.5f, 0.0f, 0.5625f, 0.0625f, 0.0f, Tile.SIZE * 0.5f, Tile.SIZE, 0.0f);
|
|
|
- registeredTiles[39] = new Ramp(0.375f, 0.0625f, 0.4375f, 0.125f, Tile.SIZE, Tile.SIZE, 0.0f, 0.0f);
|
|
|
- registeredTiles[40] = new Ramp(0.4375f, 0.0625f, 0.5f, 0.125f, Tile.SIZE, Tile.SIZE, 0.0f, Tile.SIZE * 0.5f);
|
|
|
- registeredTiles[41] = new Ramp(0.5f, 0.0625f, 0.5625f, 0.125f, Tile.SIZE, Tile.SIZE * 0.5f, 0.0f, 0.0f);
|
|
|
+ registeredTiles[36] = new RampTile(0.375f, 0.0f, 0.4375f, 0.0625f, 0.0f, Tile.SIZE, Tile.SIZE, 0.0f);
|
|
|
+ registeredTiles[37] = new RampTile(0.4375f, 0.0f, 0.5f, 0.0625f, 0.0f, Tile.SIZE, Tile.SIZE, Tile.SIZE * 0.5f);
|
|
|
+ registeredTiles[38] = new RampTile(0.5f, 0.0f, 0.5625f, 0.0625f, 0.0f, Tile.SIZE * 0.5f, Tile.SIZE, 0.0f);
|
|
|
+ registeredTiles[39] = new RampTile(0.375f, 0.0625f, 0.4375f, 0.125f, Tile.SIZE, Tile.SIZE, 0.0f, 0.0f);
|
|
|
+ registeredTiles[40] = new RampTile(0.4375f, 0.0625f, 0.5f, 0.125f, Tile.SIZE, Tile.SIZE, 0.0f, Tile.SIZE * 0.5f);
|
|
|
+ registeredTiles[41] = new RampTile(0.5f, 0.0625f, 0.5625f, 0.125f, Tile.SIZE, Tile.SIZE * 0.5f, 0.0f, 0.0f);
|
|
|
|
|
|
// london stuff
|
|
|
// street
|
|
@@ -632,6 +632,10 @@ public class Game extends Engine
|
|
|
registeredTiles[71] = new HeadHitOnceTile(0.625f, 0.0f, 0.6875f, 0.0625f, 0.6875f, 0.0f, 0.75f, 0.0625f);
|
|
|
// button
|
|
|
registeredTiles[72] = new InteractTile(0.75f, 0.0f, 0.8125f, 0.0625f);
|
|
|
+ // wooden pressure plate
|
|
|
+ registeredTiles[73] = new PressureTile(0.568359375f, 0.072265625f, 0.619140625f, 0.078125f);
|
|
|
+ // stone pressure plate
|
|
|
+ registeredTiles[74] = new PressureTile(0.568359375f, 0.087890625f, 0.619140625f, 0.09375f);
|
|
|
}
|
|
|
|
|
|
public Tile getTile(int id)
|
|
@@ -747,6 +751,7 @@ public class Game extends Engine
|
|
|
|
|
|
snuviParser.registerFunction("tile.totilecoord", (sc, in) -> (double) Utils.toBlock(in[0].getFloat(sc)));
|
|
|
snuviParser.registerFunction("tile.tolevelcoord", (sc, in) -> (double) Utils.toCoord(in[0].getInt(sc)));
|
|
|
+ snuviParser.registerFunction("tile.scale", (sc, in) -> in[0].getDouble(sc) * Tile.SIZE_SCALE);
|
|
|
|
|
|
snuviParser.registerFunction("entity.gethero", (sc, in) -> currentLevel.getHero());
|
|
|
snuviParser.registerFunction("entity.getx", (sc, in) -> (double) ((Entity) in[0].get(sc)).getX());
|
|
@@ -801,6 +806,7 @@ public class Game extends Engine
|
|
|
ent.setPosition(0.0f, Float.MAX_VALUE * 0.5f);
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
+ snuviParser.registerFunction("entity.gettype", (sc, in) -> ((Entity) in[0].get(sc)).getType());
|
|
|
|
|
|
snuviParser.registerFunction("platform.spawn", (sc, in) ->
|
|
|
{
|
|
@@ -811,7 +817,12 @@ public class Game extends Engine
|
|
|
snuviParser.registerFunction("platform.addmove", (sc, in) ->
|
|
|
{
|
|
|
PlatformController controller = (PlatformController) ((Entity) in[0].get(sc)).getController();
|
|
|
- controller.addMoveData(in[1].getFloat(sc), in[2].getFloat(sc), in[3].getFloat(sc), in[4].getFloat(sc), in[5].getInt(sc));
|
|
|
+ controller.addMoveData(in[1].getFloat(sc), in[2].getFloat(sc), in[3].getFloat(sc) * Tile.SIZE_SCALE, in[4].getFloat(sc) * Tile.SIZE_SCALE, in[5].getInt(sc));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
+ snuviParser.registerFunction("platform.clear", (sc, in) ->
|
|
|
+ {
|
|
|
+ ((PlatformController) ((Entity) in[0].get(sc)).getController()).clearMoveData();
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
}
|