diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameSaver.java b/core/src/ru/deadsoftware/cavedroid/game/GameSaver.java
index edc29e3f01c2ff97b16c60fade7ab31b1fb5921f..38e295931f27b864ed98fa94ecad05698e323e94 100644 (file)
private static final int VERSION = 0;
+
private static byte[] intToBytes(int i) {
return ByteBuffer.allocate(4).putInt(i).array();
}
for (int y = 0; y < height; y++) {
bl = map[0][y];
rl = 0;
- for (int x = 0; x < width; x++) {
- if (map[x][y] != bl) {
+ for (int[] ints : map) {
+ if (ints[y] != bl) {
out.write(intToBytes(rl));
out.write(intToBytes(bl));
rl = 0;
- bl = map[x][y];
+ bl = ints[y];
}
rl++;
}
out.close();
}
+
private static int[][] loadMap(FileHandle file) throws Exception {
int[][] map;
int ver, width, height;
if (VERSION == ver) gameProc = (GameProc) in.readObject();
else throw new Exception("version mismatch");
in.close();
- gameProc.world = new GameWorld();
- gameProc.world.setMaps(
+ gameProc.world = new GameWorld(
loadMap(Gdx.files.absolute(CaveGame.GAME_FOLDER + "/saves/foremap.sav")),
loadMap(Gdx.files.absolute(CaveGame.GAME_FOLDER + "/saves/backmap.sav"))
);
gameProc.physics = new GamePhysics();
- gameProc.resetRenderer();
+ gameProc.input = new GameInput();
} catch (Exception e) {
Gdx.app.error("GameSaver", e.getMessage(), e);
Gdx.app.exit();