From 3666b9e7e9d7f9e1c4b3de746d7a26ec6b8db199 Mon Sep 17 00:00:00 2001 From: Teo-CD Date: Fri, 7 Jun 2019 22:20:34 +0200 Subject: [PATCH] Entities are now constructable Added utility function to display error window Added textures Added font Added a way to choose resources location --- README.md | 6 ++--- resources/Building.png | Bin 0 -> 930 bytes resources/Head_Boy.png | Bin 0 -> 770 bytes resources/Head_Significant_Boy.png | Bin 0 -> 829 bytes resources/test_level.xml | 3 ++- resources/verdana.ttf | Bin 0 -> 153540 bytes src/CMakeLists.txt | 5 ++-- src/Entity.cpp | 33 +++++++++++++++--------- src/Entity.h | 9 ++++--- src/Game.cpp | 40 ++++++++++++++++++++++++----- src/Game.h | 6 +++-- src/Level.cpp | 15 ++++++++--- src/Level.h | 2 +- src/Utils.cpp | 39 ++++++++++++++++++++++++++++ src/Utils.h | 11 ++++++-- tests/CMakeLists.txt | 8 +++++- tests/gTests.cpp | 17 ++++++++++++ 17 files changed, 155 insertions(+), 39 deletions(-) create mode 100644 resources/Building.png create mode 100644 resources/Head_Boy.png create mode 100644 resources/Head_Significant_Boy.png create mode 100644 resources/verdana.ttf create mode 100644 src/Utils.cpp diff --git a/README.md b/README.md index 576b9e4..5830649 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,11 @@ This game is aimed to be a puzzle game in which the player sets different laws f - [ ] Level - [x] Structure - - [ ] Parsing from XML + - [x] Parsing from XML - [ ] A* - [ ] Entities - [x] Structure - - [ ] Parsing from XML + - [x] Parsing from XML - [ ] Moving - [ ] Decorators (Rules) - [ ] Rules @@ -25,7 +25,7 @@ This game is aimed to be a puzzle game in which the player sets different laws f - [ ] Interaction with entities - [ ] Parsing of rules and creation of subsequent decorators - [ ] Graphics - - [ ] Scene rendering + - [x] Scene rendering - [ ] UI - [ ] Menu ? - [ ] Gameloop diff --git a/resources/Building.png b/resources/Building.png new file mode 100644 index 0000000000000000000000000000000000000000..32fc6fa391363f2f958a2bec75de6903fa912c87 GIT binary patch literal 930 zcmV;T16}-yP)EX>4Tx04R}tkv&MmKpe$iTeTt)5j%)DWT;LSL`5963Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLxH>7iNQwVT3N2zhIPS;0dyl(!K(JnBn$ z;Ji;9VMSRbJ|`YC>4L5=1DdqJ%PR#Aww?v5=zuxQ~Cx^-JVZ$W;O( z#{w$QAiI9>Klt6Pm7kpOl7u+W`QkVqBS3f;Xw)3%``B?BCqU>KxYAqxN*$Q_B)!(s zqDMgAHgIv>(v&^mat9cEGGtSBr4Y?vJ`cQ~(Kls*fm@(w&FihXkJASrO?wxXS8*o!@00006VoOIv0H^?{0I0TdNGbpT010qNS#tmY zE+YT{E+YYWr9XB6000McNliru;|2#2Brge08!Z3;02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00DYQL_t(o!|hj1PJ}QN{@QQ?6BlkxoVd{F1vmq%w&4=2 z;RG}5xkLk9aRx4+(S^~(tqT*60IneXv}FhdOq_26eQkK(dwu=-0RB5j{SpL0wWi}d z&j|o{ZDSaQt2mcZHt*ip0v%iu^-L4K?`!QvQCL6t^7(F@yT9I@PGAo19v=p_*QaOg zTDtWqSR@0cXeSXE+v~A?Zr6ft@2vz}RQbo-3<552bGzHF2F@99mI1~XC>=^gS(Z>r zSyix|0o#c%65yPJ5P~#K2XjIQaL$osnN|hkD8b>lZ*28grw`N=xyd;Iq-hF52pD67 zxj0I2ae0L}O0?sX2vABp&V>-2XH7!4J%{5SKi^+X2KwVw?t;EElk-Ug+R=}ppKeq7 zClN5!!y+{>H~mv;pwpDrmr#BFZBYv$26|xYhT1wHrPMd2HI!1|oI?m<)Pbt124ZAW zyva(KWf>S_+Tt@Qq4SQ&l@l8_?+O1_Q#$rTa>f$)1$()t`a}hj6951J07*qoM6N<$ Ef=yG3zyJUM literal 0 HcmV?d00001 diff --git a/resources/Head_Boy.png b/resources/Head_Boy.png new file mode 100644 index 0000000000000000000000000000000000000000..3a741fc75533529f00ccbae6a5b68f36e3cf54ce GIT binary patch literal 770 zcmV+d1O5DoP)EX>4Tx04R}tkv&MmKpe$iQ?(*h5j%)DWT@g`K~%(1t5Adrp;l;i>s5Oi_^|?Psx08P93mETO{_FA%bObU6meM9bjlY} z9;=+UIBUf+tKXBqFqqL-mbp%I2r(>T2@*soD5HQPY(!|)NwJWi{b&pSpzD{&rI4!t zMveuPph0&1;D7MDTPr&`;Uxv5K>Lg1d<+ADU7%KRobO}Dsht4+XW&Y2_)Aq_=9BbF zLkk}Pz1zUWbwgA3fXf|V;K`6p*_He>g=`jhKcjC-1O2x^*P7Q`eIKU}K$5zO-v9@P zz(|g=*IT^1v$?l_&(!<-0Xd3tkaKeFhX4Qo24YJ`L;$D&r~s(8a!4uw000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jd0@5i1Q_wnhd30090;L_t(I%bim(3c^4ToLo{x zQ>F}Q{6Gr9%3easAi>%P*om!R>jSj4@EcZwMcxq7i-lSVYoR&!&buHE1TLA~natju zvz{-|pzC*Nx?W&2Tj6@YIbg7H0sx9MLy=|#0Cav4c@R?Xa;H29DGx%0E7FXLH2Vku zAOIM-KDNshMy@ZN%esPvBQAi);V26mBvH&$Nba=TLy5pq)|GTMaXLKiUe?u@s|iUI z%O0T<-vw#6{bKEX>4Tx04R}tkv&MmKpe$iQ)@*kB6bjQ$WWauh>AFB6^c+H)C#RSm|WUgXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;i>s5Oi`}MJK}OLmVNQS;nj+rQkch?h)YYU7Tn6pZjz4sCkP40g-ry8KzCVPCT_~ z8=UuvqijP~iO-2gO}ZfQBi9v=-#8at7IZL8>U7)NgPu(o$`gO z$13M7&RV(3n)l={jO6v@C9cyPLJ|vDgai=^swklhoBAq2C&faV_7gt-LDw&lOCeVY zj2!c*K!fc1!T;cQw^m_d+)IiifY6KMd<+BOU7%5OobO}DX`BGTXW&Y2`73o``jhlp zON$)=z1zUWbxTwBfXf|V;K`6p*_DDcg+c*%KcjET0sXf?_o~-hb04PdH)!y5`XPW)}0570&jE0y-X#fBK24YJ`L;(K){{a7>y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jd0@5jG8^+A10V00B8kL_t(I%cYV(O9Md=#eeq) zLe9HNA~rFNUm%5`jeR(;400q@z~)j}MbZjsQ<=uJDXjGq*hH}KGl;b!7*h#rk<7BY zX9{&-xx1P7-pssPZ+B;pL9Yuy9Brwy@sR8D5sT%ghY_1<{-D<-Pc!l~Qvm91RcI$Q zwg0|U?WCsKNzJO|X{PctTM4X%6hJG8m|l)(1(ELj^zzJxngR&r>+AkO0|AaESLO!H zi@vTs&Tcs9oMH(`xI{NUFZxzKG`q{V03V%K3z*Ed^?S44&>Y_c6}NYq984?L5kYrC z-!%&$m{v+F{FKuICi%DFn|u9PK*-{7RE - + + \ No newline at end of file diff --git a/resources/verdana.ttf b/resources/verdana.ttf new file mode 100644 index 0000000000000000000000000000000000000000..017695057efc2d67b4dbe244ebbff8b95c9e1dc5 GIT binary patch literal 153540 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
Pi6hBUrs~M|H|Lhbp3z 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 z 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 d%HF8Uw4EM((K_h6+E Entity::entityTypeLookup = { {"Citizen",EntityType::Citizen}, - {"Player",EntityType::Player}, + {"Significant",EntityType::Significant}, {"House",EntityType::House}, {"Car",EntityType::Car}}; -Entity::Entity(int x, int y, EntityType type, int width, int height) +Entity::Entity(int x, int y, EntityType type, sf::Texture* texture, int width, int height) : type(type) { + shape = sf::RectangleShape(sf::Vector2f(width*pro_maat::pixelsPerUnit,height*pro_maat::pixelsPerUnit)); + // Sets the origin at the center of the entity + shape.setOrigin(shape.getSize()/2.0f); + // Adjust position for offset origin + shape.setPosition((x+0.5*width)*pro_maat::pixelsPerUnit,(y+0.5*width)*pro_maat::pixelsPerUnit); + shape.setTexture(texture); + currentState = State::Idle; + nextState = State::Idle; + target = sf::Vector2i(shape.getPosition()); + nextTarget = target; } -Entity::Entity(const pugi::xml_node& entityNode) -{ - -} - -void Entity::render(sf::RenderWindow& renderWindow) const -{ - -} +Entity::Entity(const pugi::xml_node& entityNode, sf::Texture* texture) + : Entity(entityNode.attribute("x").as_int(), + entityNode.attribute("y").as_int(), + entityTypeLookup.at(entityNode.attribute("type").as_string()), + texture, + entityNode.attribute("w").as_int(1), + entityNode.attribute("h").as_int(1)) {} void Entity::move() { - + // FIXME : Testing purposes + shape.setRotation(shape.getRotation()+90); } void Entity::update() diff --git a/src/Entity.h b/src/Entity.h index be52d46..32ddfb9 100644 --- a/src/Entity.h +++ b/src/Entity.h @@ -14,7 +14,7 @@ enum class EntityType { Citizen, - Player, + Significant, House, Car, }; @@ -40,10 +40,9 @@ class Entity { public: /// x,y, width and height are in grid coordinates - Entity(int x, int y, EntityType type, int width = 1, int height = 1); - Entity(const pugi::xml_node& entityNode); + Entity(int x, int y, EntityType type, sf::Texture* texture, int width = 1, int height = 1); + explicit Entity(const pugi::xml_node& entityNode, sf::Texture* texture); - void render(sf::RenderWindow& renderWindow) const; void move(); void update(); @@ -54,6 +53,8 @@ public: private: static const std::map entityTypeLookup; + EntityType type; + // As it contains position, size and orientation, we do not need anything more sf::RectangleShape shape; diff --git a/src/Game.cpp b/src/Game.cpp index 6983d39..0262418 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -7,22 +7,22 @@ #include "Game.h" -Game::Game(const std::vector& levels, const std::vector& textures) +Game::Game(std::vector& levels, std::vector& textures) : levelFiles(std::move(levels)), + textureFiles(std::move(textures)) { - - loadTextures(); } void Game::loadLevel(int levelId) { pugi::xml_document document; - pugi::xml_parse_result result = document.load_file(levelFiles.at(levelId).c_str()); + pugi::xml_parse_result result = document.load_file((pro_maat::levelFolder+levelFiles.at(levelId)).c_str()); if(!result) { - std::cerr << "Error while loading level :\n" << "\t" << result.description() << std::endl; - exit(-1); +// std::cerr << "Error while loading level :\n" << "\t" << result.description() << std::endl; +// exit(-1); + pro_maat::errorWindow(result.description()); } currentLevel = std::make_unique(document,textures); @@ -34,11 +34,37 @@ void Game::loadTextures() for(const std::string& filePath : textureFiles) { textures.emplace_back(std::make_unique()); - textures.back()->loadFromFile(filePath); + textures.back()->loadFromFile(pro_maat::textureFolder+filePath); } } void Game::runGame() { + sf::RenderWindow window(sf::VideoMode(1280,1024),"Project Maat"); + while (window.isOpen()) + { + sf::Event event; + while (window.pollEvent(event)) + { + if (event.type == sf::Event::Closed) + { + window.close(); + } + // FIXME : For testing purposes + if (event.type == sf::Event::KeyPressed) + { + currentLevel->runStep(); + } + } + window.clear(sf::Color::White); + // TODO : Consider drawing in a sf::RenderTexture to allow positioning the level at a fixed position ? + currentLevel->render(window); + window.display(); + } +} + +Game::operator bool() const +{ + return (currentLevel ? true : false); } diff --git a/src/Game.h b/src/Game.h index da9f7b2..aa149d7 100644 --- a/src/Game.h +++ b/src/Game.h @@ -11,14 +11,14 @@ #include "Level.h" #include "Entity.h" - +#include "Utils.h" // Used for convenience using TextureStore = std::vector>; class Game { public: - Game(const std::vector& levels, const std::vector& textures); + Game(std::vector& levels, std::vector& textures); /// Loads the level of corresponding ID from Game::levelFiles /// Closes the program if there is a fatal error (Missing file, bad file...) @@ -29,6 +29,8 @@ public: // This should not be called before a level has been loaded void runGame(); + explicit operator bool() const; + private: /// Store the paths to level files const std::vector levelFiles; diff --git a/src/Level.cpp b/src/Level.cpp index 1c0903b..20fbfb3 100644 --- a/src/Level.cpp +++ b/src/Level.cpp @@ -14,17 +14,24 @@ Level::Level(const pugi::xml_document& xmlDoc, const TextureStore& textureStore) { if(!strncmp(child.name(),"Entity",6)) { - entities.emplace_back(child); + entities.emplace_back(child,textures.at(child.attribute("textureId").as_int(0)).get()); } } } void Level::render(sf::RenderWindow& renderWindow) const { - + for(const Entity& entity : entities) + { + renderWindow.draw(entity.getShape()); + } } -void Level::runStep() const +void Level::runStep() { - + for(Entity& entity: entities) + { + // FIXME : For testing purposes + entity.move(); + } } diff --git a/src/Level.h b/src/Level.h index 63379f9..52d9f07 100644 --- a/src/Level.h +++ b/src/Level.h @@ -20,7 +20,7 @@ public: Level(const pugi::xml_document& xmlDoc, const TextureStore& textureStore); void render(sf::RenderWindow& renderWindow) const; - void runStep() const; + void runStep(); private: const sf::Vector2i size; diff --git a/src/Utils.cpp b/src/Utils.cpp new file mode 100644 index 0000000..4c75c2f --- /dev/null +++ b/src/Utils.cpp @@ -0,0 +1,39 @@ +// +// Created by trotfunky on 07/06/19. +// + +#include "Utils.h" + +namespace pro_maat +{ + void errorWindow(const std::string& error) + { + sf::Font font; + if(!font.loadFromFile(std::string(pro_maat::fontFolder)+"verdana.ttf")) + { + std::cerr << "Error while loading font for error :" << std::endl; + std::cerr << error << std::endl; + } + + sf::Text errorMessage(error,font); + errorMessage.setFillColor(sf::Color::Red); + sf::Rect errorArea = errorMessage.getGlobalBounds(); + errorMessage.setPosition(errorArea.width*(1.5/2-0.5),errorArea.height*(0.5)); + sf::RenderWindow window(sf::VideoMode(errorArea.width*1.5,errorArea.height*2),"ERROR"); + while (window.isOpen()) + { + sf::Event event; + while(window.pollEvent(event)) + { + if (event.type == sf::Event::Closed || event.type == sf::Event::KeyPressed || event.type == sf::Event::MouseButtonPressed) + { + window.close(); + exit(-1); + } + } + window.clear(sf::Color::White); + window.draw(errorMessage); + window.display(); + } + } +} \ No newline at end of file diff --git a/src/Utils.h b/src/Utils.h index 8fa40a5..4b837d3 100644 --- a/src/Utils.h +++ b/src/Utils.h @@ -6,12 +6,19 @@ #define PROJECT_MAAT_UTILS_H #include - +#include +#include +#include namespace pro_maat { -static constexpr uint8_t pixelsPerUnit = 20; +static constexpr uint8_t pixelsPerUnit = 25; +static constexpr char levelFolder[] = "resources/"; +static constexpr char textureFolder[] = "resources/"; +static constexpr char fontFolder[] = "resources/"; + +void errorWindow(const std::string& error); } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0924c9a..bdde3da 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -6,7 +6,13 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH}) add_executable(gTests gTests.cpp gTests.cpp) +target_include_directories(gTests PRIVATE ${PROJECT_SOURCE_DIR}/../src) + target_link_libraries(gTests engine gtest - pthread) \ No newline at end of file + pthread + sfml-window + sfml-graphics + sfml-system + pugixml) \ No newline at end of file diff --git a/tests/gTests.cpp b/tests/gTests.cpp index 0eccc74..6997d4a 100644 --- a/tests/gTests.cpp +++ b/tests/gTests.cpp @@ -3,6 +3,23 @@ // #include +#include + +#include "Game.h" + +TEST(Setup,LevelSetup) +{ + // TODO : Think about parsing from file ? Currently cumbersome and error-prone + std::vector textures = {"Head_Boy.png","Head_Significant_Boy.png","Building.png"}; + std::vector levels = {"test_level.xml"}; + + Game game(levels,textures); + ASSERT_FALSE(game); + game.loadLevel(0); + ASSERT_TRUE(game); + game.runGame(); +} + int main(int argc, char** argv) {