From a82dad10447d918c0bbadd8e6b556737ae166ef2 Mon Sep 17 00:00:00 2001 From: Declan Soper Date: Wed, 6 Mar 2019 18:58:25 +0000 Subject: [PATCH] Add starting maps --- .gitignore | 7 +++++ CMakeLists.txt | 12 ++++++--- main.cpp | 62 ++++++++++++++++++++++++++++++++++++++++++--- main.hpp | 16 ++++++++++++ maps/final_map.map | Bin 0 -> 213 bytes maps/hub.map | Bin 0 -> 42 bytes 6 files changed, 90 insertions(+), 7 deletions(-) create mode 100644 main.hpp create mode 100644 maps/final_map.map create mode 100644 maps/hub.map diff --git a/.gitignore b/.gitignore index a38c04d..a5d106c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,12 @@ # cmake +build/ CMakeFiles/ CMakeCache.txt cmake_install.cmake Makefile + +# output folder +bin/ + +# vscode +.vscode/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 012deee..6bfde88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 2.8) project(grandmaze-game) -add_executable(grandmaze-game main.cpp) -target_link_libraries(grandmaze-game ncurses) -target_link_libraries(grandmaze-game grandmaze) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin") + +# get all cpp and hpp files +file(GLOB source main.cpp main.hpp "*.cpp" "*.hpp") + +add_executable(grandmaze-game ${source}) + +target_link_libraries(grandmaze-game ncurses sqlite3 grandmaze) diff --git a/main.cpp b/main.cpp index 3731897..6499214 100644 --- a/main.cpp +++ b/main.cpp @@ -1,20 +1,74 @@ +#include +#include +#include + #include +#include +#include -#include +#include "main.hpp" -int main(int argc, char *argv[]) +int initialise(void) { + int error = setCwd(); + if (error) + { + return error; + } + + initHub(); + initscr(); cbreak(); noecho(); + start_color(); + curs_set(0); keypad(stdscr, true); - GrandMaze::Room r(GrandMaze::RoomType::Square, 0, 0); - r.draw(stdscr); + GrandMaze::initColour(); + + return 0; +} + +int initHub(void) +{ + GrandMaze::FileMapReader r; + CurrentMap = r.load(Cwd + "/maps/final_map.map"); + + return 0; +} + +int setCwd(void) +{ + // set the current working directory + char *tmp = new char[1024]; + if (getcwd(tmp, 1024) == NULL) + { + return errno; + } + + Cwd = tmp; + delete tmp; + + return 0; +} + +int main(int argc, char *argv[]) +{ + int error = initialise(); + if (error) + { + std::cerr << "An error occurred: " << strerror(error) << std::endl; + return error; + } + + CurrentMap->draw(stdscr); getch(); endwin(); + delete CurrentMap; + return 0; } diff --git a/main.hpp b/main.hpp new file mode 100644 index 0000000..20b13f4 --- /dev/null +++ b/main.hpp @@ -0,0 +1,16 @@ +#ifndef MAIN_H +#define MAIN_H + +#include + +#include + + +GrandMaze::Map *CurrentMap; +std::string Cwd; + +int initialise(void); +int initHub(void); +int setCwd(void); + +#endif diff --git a/maps/final_map.map b/maps/final_map.map new file mode 100644 index 0000000000000000000000000000000000000000..57c75b228143cc13e915732dbef604936b5de905 GIT binary patch literal 213 zcmXwzF$=;l6ol{P*~X?JBE_-b+O=yDbaD_uuxtPSKj~Vq{@pWo7^ZW;O-}Hcp10jLb}&teosX5k?kq1|E