diff --git a/dungeon.vcxproj b/dungeon.vcxproj
index eb539b1..d5d31b3 100644
--- a/dungeon.vcxproj
+++ b/dungeon.vcxproj
@@ -154,7 +154,7 @@
-
+
@@ -203,7 +203,7 @@
-
+
diff --git a/dungeon.vcxproj.filters b/dungeon.vcxproj.filters
index 6843e85..93f884f 100644
--- a/dungeon.vcxproj.filters
+++ b/dungeon.vcxproj.filters
@@ -123,9 +123,6 @@
Source Files
-
- Source Files
-
Source Files
@@ -138,6 +135,9 @@
Source Files
+
+ Source Files
+
@@ -266,9 +266,6 @@
Header Files
-
- Header Files
-
Header Files
@@ -287,5 +284,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/src/PlayState.cpp b/src/PlayState.cpp
index 2a629d2..283d0a6 100644
--- a/src/PlayState.cpp
+++ b/src/PlayState.cpp
@@ -7,7 +7,7 @@
#include "Renderer.h"
#include "Actor.h"
#include "App.h"
-#include "Tileset.h"
+#include "SpriteAtlas.h"
#include "Mapgen.h"
#include "FieldOfView.h"
#include "imgui.h"
@@ -22,7 +22,7 @@ InputAction player_action;
void PlayState::load() {
SDL_LogVerbose(SDL_LOG_CATEGORY_SYSTEM, "Creating ascii tileset...\n");
- ascii = new Tileset(app->renderer, "./assets/12x12.bmp", 192, 192, 12, 12);
+ ascii = new SpriteAtlas(app->renderer, "./assets/12x12.bmp", 192, 192, 12, 12);
SDL_LogVerbose(SDL_LOG_CATEGORY_SYSTEM, "Created ascii tileset.\n");
app->input->bind_key(SDLK_ESCAPE, ACTION_ESCAPE_MENU);
diff --git a/src/PlayState.h b/src/PlayState.h
index 24cdb42..3aa0155 100644
--- a/src/PlayState.h
+++ b/src/PlayState.h
@@ -4,11 +4,11 @@
#include "Tilemap.h"
#include "FieldOfView.h"
-class Tileset;
+class SpriteAtlas;
class Actor;
class PlayState : public Gamestate {
- Tileset* ascii;
+ SpriteAtlas* ascii;
Tilemap tilemap;
Actor * player_actor;
FieldOfView fov;
diff --git a/src/Tileset.cpp b/src/SpriteAtlas.cpp
similarity index 66%
rename from src/Tileset.cpp
rename to src/SpriteAtlas.cpp
index 88c4a99..237b538 100644
--- a/src/Tileset.cpp
+++ b/src/SpriteAtlas.cpp
@@ -1,7 +1,7 @@
-#include "Tileset.h"
+#include "SpriteAtlas.h"
#include "Renderer.h"
-Tileset::Tileset(Renderer* renderer, std::string imgPath, int imgWidth, int imgHeight, int tileWidth, int tileHeight) {
+SpriteAtlas::SpriteAtlas(Renderer* renderer, std::string imgPath, int imgWidth, int imgHeight, int tileWidth, int tileHeight) {
int tilesX = imgWidth / tileWidth;
int tilesY = imgHeight / tileHeight;
tile_width = tileWidth;
@@ -20,25 +20,25 @@ Tileset::Tileset(Renderer* renderer, std::string imgPath, int imgWidth, int imgH
}
}
-Tileset::~Tileset() {
+SpriteAtlas::~SpriteAtlas() {
delete sprites;
}
-int Tileset::get_amount() {
+int SpriteAtlas::get_amount() {
return amount;
}
-Sprite * Tileset::get_sprite(int tileId) {
+Sprite * SpriteAtlas::get_sprite(int tileId) {
if (tileId >= 0 && tileId < amount) {
return &sprites[tileId];
}
return nullptr;
}
-int Tileset::get_tile_width() {
+int SpriteAtlas::get_tile_width() {
return tile_width;
}
-int Tileset::get_tile_height() {
+int SpriteAtlas::get_tile_height() {
return tile_height;
}
diff --git a/src/Tileset.h b/src/SpriteAtlas.h
similarity index 63%
rename from src/Tileset.h
rename to src/SpriteAtlas.h
index cbdce38..10484e2 100644
--- a/src/Tileset.h
+++ b/src/SpriteAtlas.h
@@ -5,14 +5,14 @@ class Renderer;
struct Sprite;
// Automatically splits a tileset image to seperate sprites.
-class Tileset {
+class SpriteAtlas {
Sprite* sprites;
int amount;
int tile_width;
int tile_height;
public:
- Tileset(Renderer* renderer, std::string imgPath, int imgWidth, int imgHeight, int tileWidth, int tileHeight);
- ~Tileset();
+ SpriteAtlas(Renderer* renderer, std::string imgPath, int imgWidth, int imgHeight, int tileWidth, int tileHeight);
+ ~SpriteAtlas();
int get_amount();
int get_tile_width();
int get_tile_height();
diff --git a/src/Tilemap.cpp b/src/Tilemap.cpp
index cd42a41..584f825 100644
--- a/src/Tilemap.cpp
+++ b/src/Tilemap.cpp
@@ -2,7 +2,7 @@
#include "vec2i.h"
#include "Actor.h"
#include "Renderer.h"
-#include "Tileset.h"
+#include "SpriteAtlas.h"
#include "FieldOfView.h"
#include
@@ -16,11 +16,7 @@ Tilemap::Tilemap(int width, int height) {
tilemap = std::vector(width*height, 0);
}
-Tilemap::~Tilemap() {
- for (auto var : actors) {
- delete var;
- }
-}
+Tilemap::~Tilemap() {}
int Tilemap::get_width() {
return width;
@@ -128,7 +124,13 @@ std::vector* Tilemap::get_actor_list() {
return &actors;
}
-void Tilemap::draw(Renderer *renderer, Tileset* tileset, int x, int y, int tx, int ty, int tw, int th, FieldOfView* view) {
+void Tilemap::delete_actors() {
+ for (auto var : actors) {
+ delete var;
+ }
+}
+
+void Tilemap::draw(Renderer *renderer, SpriteAtlas* tileset, int x, int y, int tx, int ty, int tw, int th, FieldOfView* view) {
int w = tileset->get_tile_width();
int h = tileset->get_tile_height();
for (int ix = 0; ix < tw; ix++) {
diff --git a/src/Tilemap.h b/src/Tilemap.h
index 2efd8dc..3c40fdf 100644
--- a/src/Tilemap.h
+++ b/src/Tilemap.h
@@ -1,7 +1,7 @@
#pragma once
#include
#include
-#include "Tileset.h"
+#include "SpriteAtlas.h"
#include "Actor.h"
struct vec2i;
@@ -26,7 +26,7 @@ public:
int get_tile(int x, int y);
bool is_blocked(int x, int y); // Checks if there is an actor blocking the tile.
- void draw(Renderer *renderer, Tileset *tileset, int x, int y, int tx, int ty, int tw, int th, FieldOfView* view);
+ void draw(Renderer *renderer, SpriteAtlas *tileset, int x, int y, int tx, int ty, int tw, int th, FieldOfView* view);
void add_actor(Actor *actor);
void remove_actor(Actor *actor);
@@ -36,5 +36,6 @@ public:
Entity* get_entity(int x, int y, EntityTypes type);
std::vector get_actors(int x, int y, int range);
std::vector* get_actor_list();
+ void delete_actors();
};