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
|
||||
|
||||
[Window][Phoenix Map Editor]
|
||||
Pos=851,698
|
||||
Size=556,101
|
||||
Pos=732,455
|
||||
Size=773,153
|
||||
Collapsed=0
|
||||
|
||||
[Window][Map Editor Tools]
|
||||
Pos=1002,137
|
||||
Pos=860,128
|
||||
Size=357,247
|
||||
Collapsed=0
|
||||
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
struct MapPoint {};
|
||||
|
||||
struct MapData {
|
||||
std::vector<std::string> mapTiles;
|
||||
std::vector<std::string> mapEnemys;
|
||||
|
@ -22,5 +24,6 @@ struct Map {
|
|||
};
|
||||
|
||||
Map PLoadMapFromFile(std::string filepath);
|
||||
Map PCreateNewMap(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
|
||||
MAPSIZE 10x10
|
||||
MAPSCAL 3x3
|
||||
MAPSPWN 32,32
|
||||
MAPSPWN 32,120
|
||||
MAP
|
||||
TILE WALL
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
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 FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
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 FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
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 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 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
|
||||
|
@ -104,39 +38,15 @@ TILE WALL
|
|||
TILE WALL
|
||||
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 WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
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 WALL
|
||||
TILE WALL
|
||||
TILE WALL
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
TILE FLOOR
|
||||
|
@ -147,61 +57,21 @@ TILE FLOOR
|
|||
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 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 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 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 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 "collision.hpp"
|
||||
#include "config.hpp"
|
||||
#include "player.hpp"
|
||||
#include "state.hpp"
|
||||
#include "texture.hpp"
|
||||
#include <SDL.h>
|
||||
|
@ -81,7 +83,7 @@ Map PLoadMapFromFile(std::string filepath) {
|
|||
return map;
|
||||
}
|
||||
|
||||
void PRenderMap(Map *map) {
|
||||
void PRenderMap(Map *map, bool debug) {
|
||||
|
||||
PhoenixTexture *brickWallTexture = PGetTextureById(BRICK_WALL_TEXTURE_ID);
|
||||
PhoenixTexture *floorTexture = PGetTextureById(FLOOR_TEXTURE_ID);
|
||||
|
@ -105,6 +107,27 @@ void PRenderMap(Map *map) {
|
|||
|
||||
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) {
|
||||
|
@ -136,3 +159,19 @@ void PSaveMapToFile(Map *map, std::string filepath) {
|
|||
mapFile << mapContent;
|
||||
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 "collision.hpp"
|
||||
#include "imgui.h"
|
||||
#include "imgui_impl_sdl2.h"
|
||||
#include "imgui_impl_sdlrenderer.h"
|
||||
|
@ -10,6 +11,7 @@
|
|||
#include <SDL.h>
|
||||
#include <SDL_events.h>
|
||||
#include <SDL_keycode.h>
|
||||
#include <SDL_mouse.h>
|
||||
#include <SDL_render.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
@ -77,6 +79,21 @@ void runMapEditor() {
|
|||
while (SDL_PollEvent(&event)) {
|
||||
ImGui_ImplSDL2_ProcessEvent(&event);
|
||||
|
||||
if (editorState.placingPlayerSpawn && event.type == SDL_MOUSEBUTTONDOWN) {
|
||||
if (event.button.button == SDL_BUTTON_LEFT) {
|
||||
int mouseX;
|
||||
int mouseY;
|
||||
SDL_GetMouseState(&mouseX, &mouseY);
|
||||
|
||||
SDL_Log("Player spawn is: (%i,%i)", mouseX, mouseY);
|
||||
|
||||
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()) {
|
||||
|
@ -91,6 +108,7 @@ void runMapEditor() {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.type == SDL_KEYDOWN) {
|
||||
if (event.key.keysym.scancode == SDL_SCANCODE_PAGEDOWN) {
|
||||
editorState.placeTileMode = !editorState.placeTileMode;
|
||||
|
@ -116,10 +134,18 @@ void runMapEditor() {
|
|||
ImGui::Text("The Phoenix map editor outputs .map files which can be loaded "
|
||||
"by phoenix");
|
||||
ImGui::InputText("##Level file path", &editorState.mapFilePath);
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("Load .map file")) {
|
||||
editorState.currentMap = PLoadMapFromFile(editorState.mapFilePath);
|
||||
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();
|
||||
|
||||
|
@ -132,6 +158,10 @@ void runMapEditor() {
|
|||
if (ImGui::Button("Save level file")) {
|
||||
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::SameLine();
|
||||
|
||||
|
@ -182,7 +212,7 @@ void runMapEditor() {
|
|||
SDL_RenderSetScale(state.renderer, editorState.editorScale,
|
||||
editorState.editorScale);
|
||||
if (editorState.loadedMap) {
|
||||
PRenderMap(&editorState.currentMap);
|
||||
PRenderMap(&editorState.currentMap, true);
|
||||
}
|
||||
|
||||
SDL_RenderPresent(state.renderer);
|
||||
|
|
|
@ -6,6 +6,7 @@ struct EditorGlobalState {
|
|||
std::string mapFilePath;
|
||||
bool loadedMap = false;
|
||||
bool placeTileMode = false;
|
||||
bool placingPlayerSpawn = false;
|
||||
Map currentMap;
|
||||
const char *selectedTileName = "WALL";
|
||||
int editorScale = 1;
|
||||
|
|
|
@ -36,7 +36,7 @@ PhoenixGame::PhoenixGame() {
|
|||
// Load textures
|
||||
PRunBoostrap();
|
||||
|
||||
m_currentMap = PLoadMapFromFile("maps/dm_scale.map");
|
||||
m_currentMap = PLoadMapFromFile("maps/ph_example.map");
|
||||
PBuildCollisionFromMap(&m_currentMap);
|
||||
|
||||
state.camera.x = 0;
|
||||
|
|
Loading…
Reference in a new issue