From 1cf3ec5fc08dc27d3ccb39847921fa4ee3034d0e Mon Sep 17 00:00:00 2001 From: Adrian Hedqvist Date: Sun, 31 Dec 2017 21:51:57 +0100 Subject: [PATCH] Rename Tileset to SpriteAtlas --- dungeon.vcxproj | 4 ++-- dungeon.vcxproj.filters | 12 ++++++------ src/PlayState.cpp | 4 ++-- src/PlayState.h | 4 ++-- src/{Tileset.cpp => SpriteAtlas.cpp} | 14 +++++++------- src/{Tileset.h => SpriteAtlas.h} | 6 +++--- src/Tilemap.cpp | 16 +++++++++------- src/Tilemap.h | 5 +++-- 8 files changed, 34 insertions(+), 31 deletions(-) rename src/{Tileset.cpp => SpriteAtlas.cpp} (66%) rename src/{Tileset.h => SpriteAtlas.h} (63%) 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(); };