Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 <sigonasr2@gmail.com>main
parent
9ba0af090e
commit
8d943ef526
Binary file not shown.
@ -0,0 +1,23 @@ |
||||
package sig; |
||||
|
||||
import java.io.File; |
||||
|
||||
import sig.engine.Map; |
||||
|
||||
public enum Maps { |
||||
|
||||
WORLD1("world1.map"), |
||||
; |
||||
|
||||
final public static String MAPS_DIR = "maps"; |
||||
Map map; |
||||
|
||||
Maps(String filename) { |
||||
File map_loc = new File(new File("..",MAPS_DIR),filename); |
||||
this.map=Map.LoadMap(map_loc); |
||||
} |
||||
|
||||
public Map getMap() { |
||||
return map; |
||||
} |
||||
} |
@ -0,0 +1,44 @@ |
||||
package sig.engine; |
||||
|
||||
import java.io.DataInputStream; |
||||
import java.io.DataOutputStream; |
||||
import java.io.File; |
||||
import java.io.FileInputStream; |
||||
import java.io.FileOutputStream; |
||||
import java.io.IOException; |
||||
|
||||
public class Map { |
||||
//Maps contain 512x288 tiles, allowing for 16384x9216 pixels of action per map.
|
||||
//294912 bytes = 294KB of memory storage per map.
|
||||
//Since a screen normally fits 16x9 tiles, you get 32x32 (1024) screens of gameplay per world.
|
||||
char[] tiles = new char[512*288]; |
||||
|
||||
public static Map LoadMap(File mapFile) { |
||||
try { |
||||
Map newMap = new Map(); |
||||
DataInputStream stream = new DataInputStream(new FileInputStream(mapFile)); |
||||
int marker=0; |
||||
while (stream.available()!=0) { |
||||
newMap.tiles[marker++]=stream.readChar(); |
||||
} |
||||
stream.close(); |
||||
return newMap; |
||||
} catch (IOException e) { |
||||
e.printStackTrace(); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
public static void SaveMap(Map map, File mapFile) { |
||||
try { |
||||
int marker=0; |
||||
DataOutputStream stream = new DataOutputStream(new FileOutputStream(mapFile)); |
||||
while (marker<map.tiles.length) { |
||||
stream.writeChar(map.tiles[marker++]); |
||||
} |
||||
stream.close(); |
||||
} catch (IOException e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
} |
Binary file not shown.
Loading…
Reference in new issue