update level editor so the player spawn point can be selected
This commit is contained in:
parent
553ab7c1df
commit
b7384adc5e
|
@ -4,12 +4,12 @@ Size=400,400
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Phoenix Map Editor]
|
[Window][Phoenix Map Editor]
|
||||||
Pos=851,698
|
Pos=732,455
|
||||||
Size=556,101
|
Size=773,153
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Map Editor Tools]
|
[Window][Map Editor Tools]
|
||||||
Pos=1002,137
|
Pos=860,128
|
||||||
Size=357,247
|
Size=357,247
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
struct MapPoint {};
|
||||||
|
|
||||||
struct MapData {
|
struct MapData {
|
||||||
std::vector<std::string> mapTiles;
|
std::vector<std::string> mapTiles;
|
||||||
std::vector<std::string> mapEnemys;
|
std::vector<std::string> mapEnemys;
|
||||||
|
@ -22,5 +24,6 @@ struct Map {
|
||||||
};
|
};
|
||||||
|
|
||||||
Map PLoadMapFromFile(std::string filepath);
|
Map PLoadMapFromFile(std::string filepath);
|
||||||
|
Map PCreateNewMap(std::string filepath);
|
||||||
void PSaveMapToFile(Map *map, std::string filepath);
|
void PSaveMapToFile(Map *map, std::string filepath);
|
||||||
void PRenderMap(Map *map);
|
void PRenderMap(Map *map, bool debug = false);
|
||||||
|
|
|
@ -3,97 +3,31 @@ MAPVERS 1
|
||||||
MAPAUTH Interfiber
|
MAPAUTH Interfiber
|
||||||
MAPSIZE 10x10
|
MAPSIZE 10x10
|
||||||
MAPSCAL 3x3
|
MAPSCAL 3x3
|
||||||
MAPSPWN 32,32
|
MAPSPWN 32,120
|
||||||
MAP
|
MAP
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
|
@ -104,39 +38,15 @@ TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
TILE FLOOR
|
TILE FLOOR
|
||||||
|
@ -147,61 +57,21 @@ TILE FLOOR
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE FLOOR
|
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
TILE WALL
|
TILE WALL
|
||||||
|
|
608
maps/ph_example.map
Normal file
608
maps/ph_example.map
Normal file
|
@ -0,0 +1,608 @@
|
||||||
|
MAPNAME ph_exampleMap
|
||||||
|
MAPVERS b1
|
||||||
|
MAPAUTH JohnDoe
|
||||||
|
MAPSIZE 20x20
|
||||||
|
MAPSCAL 3x3
|
||||||
|
MAPSPWN 499,666
|
||||||
|
MAP
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE FLOOR
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
TILE WALL
|
||||||
|
ENDMAP
|
41
src/map.cpp
41
src/map.cpp
|
@ -1,5 +1,7 @@
|
||||||
#include "assets.hpp"
|
#include "assets.hpp"
|
||||||
|
#include "collision.hpp"
|
||||||
#include "config.hpp"
|
#include "config.hpp"
|
||||||
|
#include "player.hpp"
|
||||||
#include "state.hpp"
|
#include "state.hpp"
|
||||||
#include "texture.hpp"
|
#include "texture.hpp"
|
||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
|
@ -81,7 +83,7 @@ Map PLoadMapFromFile(std::string filepath) {
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PRenderMap(Map *map) {
|
void PRenderMap(Map *map, bool debug) {
|
||||||
|
|
||||||
PhoenixTexture *brickWallTexture = PGetTextureById(BRICK_WALL_TEXTURE_ID);
|
PhoenixTexture *brickWallTexture = PGetTextureById(BRICK_WALL_TEXTURE_ID);
|
||||||
PhoenixTexture *floorTexture = PGetTextureById(FLOOR_TEXTURE_ID);
|
PhoenixTexture *floorTexture = PGetTextureById(FLOOR_TEXTURE_ID);
|
||||||
|
@ -105,6 +107,27 @@ void PRenderMap(Map *map) {
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (debug) {
|
||||||
|
SDL_Rect playerSpawnRect = PGetPlayerRect(&state.player);
|
||||||
|
playerSpawnRect.x = map->mapPlayerSpawnX;
|
||||||
|
playerSpawnRect.y = map->mapPlayerSpawnY;
|
||||||
|
PhoenixTexture *playerTexture =
|
||||||
|
PGetTextureById(PLAYER_WALK_DOWN_TEXTURE_ID);
|
||||||
|
|
||||||
|
PRenderTexture(playerTexture, map->mapPlayerSpawnX, map->mapPlayerSpawnY);
|
||||||
|
|
||||||
|
SDL_SetRenderDrawColor(state.renderer, 255, 255, 255, 1);
|
||||||
|
|
||||||
|
// Check collision
|
||||||
|
if (!PCanMoveTo(map->mapPlayerSpawnX, map->mapPlayerSpawnY)) {
|
||||||
|
SDL_SetRenderDrawColor(state.renderer, 255, 0, 0, 1);
|
||||||
|
} else {
|
||||||
|
SDL_SetRenderDrawColor(state.renderer, 255, 255, 255, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_RenderDrawRect(state.renderer, &playerSpawnRect);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PSaveMapToFile(Map *map, std::string filepath) {
|
void PSaveMapToFile(Map *map, std::string filepath) {
|
||||||
|
@ -136,3 +159,19 @@ void PSaveMapToFile(Map *map, std::string filepath) {
|
||||||
mapFile << mapContent;
|
mapFile << mapContent;
|
||||||
mapFile.close();
|
mapFile.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map PCreateNewMap(std::string filepath) {
|
||||||
|
Map map{};
|
||||||
|
map.mapName = "ph_exampleMap";
|
||||||
|
map.mapVersion = "b1";
|
||||||
|
map.mapAuthor = "John Doe";
|
||||||
|
map.mapPlayerSpawnX = 32;
|
||||||
|
map.mapPlayerSpawnY = 32;
|
||||||
|
map.mapWidth = 20;
|
||||||
|
map.mapHeight = 20;
|
||||||
|
|
||||||
|
// Write the map to disk
|
||||||
|
PSaveMapToFile(&map, filepath);
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "mapEditor.hpp"
|
#include "mapEditor.hpp"
|
||||||
|
#include "collision.hpp"
|
||||||
#include "imgui.h"
|
#include "imgui.h"
|
||||||
#include "imgui_impl_sdl2.h"
|
#include "imgui_impl_sdl2.h"
|
||||||
#include "imgui_impl_sdlrenderer.h"
|
#include "imgui_impl_sdlrenderer.h"
|
||||||
|
@ -10,6 +11,7 @@
|
||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
#include <SDL_events.h>
|
#include <SDL_events.h>
|
||||||
#include <SDL_keycode.h>
|
#include <SDL_keycode.h>
|
||||||
|
#include <SDL_mouse.h>
|
||||||
#include <SDL_render.h>
|
#include <SDL_render.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -77,17 +79,33 @@ void runMapEditor() {
|
||||||
while (SDL_PollEvent(&event)) {
|
while (SDL_PollEvent(&event)) {
|
||||||
ImGui_ImplSDL2_ProcessEvent(&event);
|
ImGui_ImplSDL2_ProcessEvent(&event);
|
||||||
|
|
||||||
if (event.type == SDL_MOUSEBUTTONDOWN && !ImGui::IsAnyItemActive() &&
|
if (editorState.placingPlayerSpawn && event.type == SDL_MOUSEBUTTONDOWN) {
|
||||||
!ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow) &&
|
|
||||||
!ImGui::IsAnyItemHovered()) {
|
|
||||||
if (event.button.button == SDL_BUTTON_LEFT) {
|
if (event.button.button == SDL_BUTTON_LEFT) {
|
||||||
if (editorState.placeTileMode) {
|
int mouseX;
|
||||||
editorState.currentMap.data.mapTiles.push_back(
|
int mouseY;
|
||||||
editorState.selectedTileName);
|
SDL_GetMouseState(&mouseX, &mouseY);
|
||||||
}
|
|
||||||
} else if (event.button.button == SDL_BUTTON_RIGHT) {
|
SDL_Log("Player spawn is: (%i,%i)", mouseX, mouseY);
|
||||||
if (editorState.placeTileMode) {
|
|
||||||
editorState.currentMap.data.mapTiles.pop_back();
|
editorState.currentMap.mapPlayerSpawnX = mouseX;
|
||||||
|
editorState.currentMap.mapPlayerSpawnY = mouseY;
|
||||||
|
|
||||||
|
SDL_Log("Placed player spawn point");
|
||||||
|
editorState.placingPlayerSpawn = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (event.type == SDL_MOUSEBUTTONDOWN && !ImGui::IsAnyItemActive() &&
|
||||||
|
!ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow) &&
|
||||||
|
!ImGui::IsAnyItemHovered()) {
|
||||||
|
if (event.button.button == SDL_BUTTON_LEFT) {
|
||||||
|
if (editorState.placeTileMode) {
|
||||||
|
editorState.currentMap.data.mapTiles.push_back(
|
||||||
|
editorState.selectedTileName);
|
||||||
|
}
|
||||||
|
} else if (event.button.button == SDL_BUTTON_RIGHT) {
|
||||||
|
if (editorState.placeTileMode) {
|
||||||
|
editorState.currentMap.data.mapTiles.pop_back();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,10 +134,18 @@ void runMapEditor() {
|
||||||
ImGui::Text("The Phoenix map editor outputs .map files which can be loaded "
|
ImGui::Text("The Phoenix map editor outputs .map files which can be loaded "
|
||||||
"by phoenix");
|
"by phoenix");
|
||||||
ImGui::InputText("##Level file path", &editorState.mapFilePath);
|
ImGui::InputText("##Level file path", &editorState.mapFilePath);
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("Load .map file")) {
|
if (ImGui::Button("Load .map file")) {
|
||||||
editorState.currentMap = PLoadMapFromFile(editorState.mapFilePath);
|
editorState.currentMap = PLoadMapFromFile(editorState.mapFilePath);
|
||||||
editorState.loadedMap = true;
|
editorState.loadedMap = true;
|
||||||
|
|
||||||
|
PBuildCollisionFromMap(&editorState.currentMap);
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Create .map file")) {
|
||||||
|
editorState.currentMap = PCreateNewMap(editorState.mapFilePath);
|
||||||
|
editorState.loadedMap = true;
|
||||||
|
|
||||||
|
PBuildCollisionFromMap(&editorState.currentMap);
|
||||||
}
|
}
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
|
||||||
|
@ -132,6 +158,10 @@ void runMapEditor() {
|
||||||
if (ImGui::Button("Save level file")) {
|
if (ImGui::Button("Save level file")) {
|
||||||
PSaveMapToFile(&editorState.currentMap, editorState.mapFilePath);
|
PSaveMapToFile(&editorState.currentMap, editorState.mapFilePath);
|
||||||
}
|
}
|
||||||
|
if (ImGui::Button("Place player spawn")) {
|
||||||
|
editorState.placingPlayerSpawn = true;
|
||||||
|
SDL_Log("Enabled player spawn point placing mode");
|
||||||
|
}
|
||||||
ImGui::Text("Viewport scale");
|
ImGui::Text("Viewport scale");
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
|
@ -182,7 +212,7 @@ void runMapEditor() {
|
||||||
SDL_RenderSetScale(state.renderer, editorState.editorScale,
|
SDL_RenderSetScale(state.renderer, editorState.editorScale,
|
||||||
editorState.editorScale);
|
editorState.editorScale);
|
||||||
if (editorState.loadedMap) {
|
if (editorState.loadedMap) {
|
||||||
PRenderMap(&editorState.currentMap);
|
PRenderMap(&editorState.currentMap, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_RenderPresent(state.renderer);
|
SDL_RenderPresent(state.renderer);
|
||||||
|
|
|
@ -6,6 +6,7 @@ struct EditorGlobalState {
|
||||||
std::string mapFilePath;
|
std::string mapFilePath;
|
||||||
bool loadedMap = false;
|
bool loadedMap = false;
|
||||||
bool placeTileMode = false;
|
bool placeTileMode = false;
|
||||||
|
bool placingPlayerSpawn = false;
|
||||||
Map currentMap;
|
Map currentMap;
|
||||||
const char *selectedTileName = "WALL";
|
const char *selectedTileName = "WALL";
|
||||||
int editorScale = 1;
|
int editorScale = 1;
|
||||||
|
|
|
@ -36,7 +36,7 @@ PhoenixGame::PhoenixGame() {
|
||||||
// Load textures
|
// Load textures
|
||||||
PRunBoostrap();
|
PRunBoostrap();
|
||||||
|
|
||||||
m_currentMap = PLoadMapFromFile("maps/dm_scale.map");
|
m_currentMap = PLoadMapFromFile("maps/ph_example.map");
|
||||||
PBuildCollisionFromMap(&m_currentMap);
|
PBuildCollisionFromMap(&m_currentMap);
|
||||||
|
|
||||||
state.camera.x = 0;
|
state.camera.x = 0;
|
||||||
|
|
Loading…
Reference in a new issue