diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 2590050..b6416bc 100755 Binary files a/C++ProjectTemplate and b/C++ProjectTemplate differ diff --git a/assets/terrainmap.png b/assets/terrainmap.png index 91de3fc..df5d8b0 100644 Binary files a/assets/terrainmap.png and b/assets/terrainmap.png differ diff --git a/assets/terrainmap.xcf b/assets/terrainmap.xcf index f1a7f50..c2d537f 100644 Binary files a/assets/terrainmap.xcf and b/assets/terrainmap.xcf differ diff --git a/main.cpp b/main.cpp index b5976e8..38813db 100644 --- a/main.cpp +++ b/main.cpp @@ -84,11 +84,12 @@ public: state::GameState GAME_STATE = state::EDITOR; vi2d SELECTED_TILE={0,0}; vi2d HIGHLIGHTED_TILE={0,0}; + int EDITING_LAYER=2; bool MOUSE_PRESSED_DOWN=false,MOUSE_DOWN=false,MOUSE_RELEASED=false; //TODO Implement Mouse things. - std::vector> MAP; - std::vector> MAP2; //The foreground layer. + std::vector> MAP; //The foreground layer. + std::vector> MAP2; std::map SPRITES; std::map ANIMATIONS; std::map OBJ_INFO; @@ -162,6 +163,12 @@ public: if (TabHeld()) { GAME_STATE=state::TILE_SELECT; } + if (GetKey(K1).bHeld) { + EDITING_LAYER=2; + } + if (GetKey(K2).bHeld) { + EDITING_LAYER=3; + } if (UpHeld()) { cameraPos.y-=CAMERA_MOVESPD; } @@ -180,9 +187,18 @@ public: HIGHLIGHTED_TILE={selectedTileX,selectedTileY}; } if (GetMouse(0).bHeld) { - TILE*tile=MAP[HIGHLIGHTED_TILE.y][HIGHLIGHTED_TILE.x]; - tile->tileX=SELECTED_TILE.x; - tile->tileY=SELECTED_TILE.y; + switch (EDITING_LAYER) { + case 2:{ + TILE*tile=MAP[HIGHLIGHTED_TILE.y][HIGHLIGHTED_TILE.x]; + tile->tileX=SELECTED_TILE.x; + tile->tileY=SELECTED_TILE.y; + }break; + case 3:{ + TILE*tile=MAP2[HIGHLIGHTED_TILE.y][HIGHLIGHTED_TILE.x]; + tile->tileX=SELECTED_TILE.x; + tile->tileY=SELECTED_TILE.y; + }break; + } } }break; } @@ -231,7 +247,9 @@ public: } } } + SetDrawTarget(nullptr); DrawRectDecal((HIGHLIGHTED_TILE)*32-cameraPos,{32,32},YELLOW); + DrawStringPropDecal({2,2},"Editing Layer "+std::to_string(EDITING_LAYER)); }break; case state::TILE_SELECT:{ //14x14 pixels per tile.