diff --git a/.gitmodules b/.gitmodules index a9f65aeac..f48b34f69 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,52 +1,56 @@ [submodule "ExternalLibrary/googletest"] - path = ExternalLibrary/googletest - url = https://github.com/google/googletest.git - branch = main + path = ExternalLibrary/googletest + url = https://github.com/google/googletest.git + branch = main [submodule "ExternalLibrary/stb"] - path = ExternalLibrary/stb - url = https://github.com/nothings/stb.git - branch = master + path = ExternalLibrary/stb + url = https://github.com/nothings/stb.git + branch = master [submodule "Data/3DModel/KofunOBJ"] - path = Data/3DModel/KofunOBJ - url = https://github.com/Asukana/KofunOBJ.git - branch = main + path = Data/3DModel/KofunOBJ + url = https://github.com/Asukana/KofunOBJ.git + branch = main [submodule "Data/Map/XYZTile/Elevation/Data/Elevation"] - path = Data/Map/XYZTile/Elevation/Data/Elevation - url = https://github.com/Asukana/Elevation.git - branch = main + path = Data/Map/XYZTile/Elevation/Data/Elevation + url = https://github.com/Asukana/Elevation.git + branch = main [submodule "Data/Map/XYZTile/IPCC/Image/IPCC"] - path = Data/Map/XYZTile/IPCC/Image/IPCC - url = https://github.com/Asukana/IPCC.git - branch = main + path = Data/Map/XYZTile/IPCC/Image/IPCC + url = https://github.com/Asukana/IPCC.git + branch = main [submodule "Data/Map/XYZTile/RiversAndLakes/Image/RiversAndLakes"] - path = Data/Map/XYZTile/RiversAndLakes/Image/RiversAndLakes - url = https://github.com/Asukana/RiversAndLakes.git - branch = main + path = Data/Map/XYZTile/RiversAndLakes/Image/RiversAndLakes + url = https://github.com/Asukana/RiversAndLakes.git + branch = main [submodule "Data/Map/XYZTile/RiversAndLakes/Image/RiversAndLakesBW"] - path = Data/Map/XYZTile/RiversAndLakes/Image/RiversAndLakesBW - url = https://github.com/Asukana/RiversAndLakesBW.git - branch = main + path = Data/Map/XYZTile/RiversAndLakes/Image/RiversAndLakesBW + url = https://github.com/Asukana/RiversAndLakesBW.git + branch = main [submodule "Data/Map/XYZTile/RyoseikokuData/Data/RyoseikokuData20230626"] - path = Data/Map/XYZTile/RyoseikokuData/Data/RyoseikokuData20230626 - url = https://github.com/Asukana/RyoseikokuData20230626.git - branch = main + path = Data/Map/XYZTile/RyoseikokuData/Data/RyoseikokuData20230626 + url = https://github.com/Asukana/RyoseikokuData20230626.git + branch = main [submodule "Data/Map/XYZTile/RyoseikokuData/Data/JapanRegionData20230918"] - path = Data/Map/XYZTile/RyoseikokuData/Data/JapanRegionData20230918 - url = https://github.com/Asukana/JapanRegionData20230918.git - branch = main -[submodule "Data/Map/XYZTile/Slope/Image/Slope"] - path = Data/Map/XYZTile/Slope/Image/Slope - url = https://github.com/Asukana/Slope.git - branch = main + path = Data/Map/XYZTile/RyoseikokuData/Data/JapanRegionData20230918 + url = https://github.com/Asukana/JapanRegionData20230918.git + branch = main [submodule "Data/Map/XYZTile/Slope/Data/SlopeData20230514"] - path = Data/Map/XYZTile/Slope/Data/SlopeData20230514 - url = https://github.com/Asukana/SlopeData20230514.git - branch = main + path = Data/Map/XYZTile/Slope/Data/SlopeData20230514 + url = https://github.com/Asukana/SlopeData20230514.git + branch = main +[submodule "Data/Map/XYZTile/Slope/Image/Slope"] + path = Data/Map/XYZTile/Slope/Image/Slope + url = https://github.com/Asukana/Slope.git + branch = main +[submodule "Data/Map/XYZTile/Slope/Image/SlopePale20230920"] + path = Data/Map/XYZTile/Slope/Image/SlopePale20230920 + url = https://github.com/Asukana/SlopePale20230920.git + branch = main [submodule "Data/Map/XYZTile/Soil/Image/Soil"] - path = Data/Map/XYZTile/Soil/Image/Soil - url = https://github.com/Asukana/Soil.git - branch = main + path = Data/Map/XYZTile/Soil/Image/Soil + url = https://github.com/Asukana/Soil.git + branch = main [submodule "Data/Map/XYZTile/Temperature/Image/SoilTemperature"] - path = Data/Map/XYZTile/Temperature/Image/SoilTemperature - url = https://github.com/Asukana/SoilTemperature.git - branch = main + path = Data/Map/XYZTile/Temperature/Image/SoilTemperature + url = https://github.com/Asukana/SoilTemperature.git + branch = main diff --git a/Data/Map/XYZTile/Slope/Image/SlopePale20230920 b/Data/Map/XYZTile/Slope/Image/SlopePale20230920 new file mode 160000 index 000000000..5ae172c72 --- /dev/null +++ b/Data/Map/XYZTile/Slope/Image/SlopePale20230920 @@ -0,0 +1 @@ +Subproject commit 5ae172c72e777e28512c193463080614aae42af3 diff --git a/ExternalLibrary/cpp-httplib b/ExternalLibrary/cpp-httplib new file mode 160000 index 000000000..67f6ff7fa --- /dev/null +++ b/ExternalLibrary/cpp-httplib @@ -0,0 +1 @@ +Subproject commit 67f6ff7fa94cd9c3196bd264db29e65f25b0403d diff --git a/Library/PAX_GRAPHICA/Color.hpp b/Library/PAX_GRAPHICA/Color.hpp index db18e9364..c5240d0c9 100644 --- a/Library/PAX_GRAPHICA/Color.hpp +++ b/Library/PAX_GRAPHICA/Color.hpp @@ -19,7 +19,7 @@ #if defined(PAXS_USING_SIV3D) #include #elif defined(PAXS_USING_SFML) -#include +#include #elif defined(PAXS_USING_DXLIB) #include #endif diff --git a/Library/PAX_GRAPHICA/Rect.hpp b/Library/PAX_GRAPHICA/Rect.hpp index ab57d5f86..59faffc1a 100644 --- a/Library/PAX_GRAPHICA/Rect.hpp +++ b/Library/PAX_GRAPHICA/Rect.hpp @@ -75,32 +75,20 @@ namespace paxg { Rect(const sf::Vector2i& pos, const float w, const float h) : rect(sf::Vector2f(w, h)) { rect.setPosition(pos.x, pos.y); } Rect(const float x, const float y, const sf::Vector2i& size) : rect(sf::Vector2f(size.x, size.y)) { rect.setPosition(x, y); } operator sf::RectangleShape() const { return rect; } - void setX(const float x_) { rect.x = x_; } - void setY(const float y_) { rect.y = y_; } - void setW(const float w_) { rect.w = w_; } - void setH(const float h_) { rect.h = h_; } - float x() const { return rect.x; } - float y() const { return rect.y; } - float w() const { return rect.w; } - float h() const { return rect.h; } - Vec2i pos() const { return Vec2i(rect.x, rect.y); } - Vec2i size() const { return Vec2i(rect.w, rect.h); } - void setPos(const float x_, const float y_) { - rect.x = x_; - rect.y = y_; - } - void setSize(const float w_, const float h_) { - rect.w = w_; - rect.h = h_; - } - void setPos(const Vec2i& pos_) { - rect.x = pos_.x(); - rect.y = pos_.y(); - } - void setSize(const Vec2i& size_) { - rect.w = size_.x(); - rect.h = size_.y(); - } + void setX(const float x_) { rect.setPosition(x_, rect.getPosition().y); } + void setY(const float y_) { rect.setPosition(rect.getPosition().x, y_); } + void setW(const float w_) { rect.setSize(sf::Vector2f(w_, rect.getSize().y)); } + void setH(const float h_) { rect.setSize(sf::Vector2f(rect.getSize().x, h_)); } + float x() const { return rect.getPosition().x; } + float y() const { return rect.getPosition().y; } + float w() const { return rect.getSize().x; } + float h() const { return rect.getSize().y; } + Vec2i pos() const { return Vec2i(static_cast(rect.getPosition().x), static_cast(rect.getPosition().y)); } + Vec2i size() const { return Vec2i(static_cast(rect.getSize().x), static_cast(rect.getSize().y)); } + void setPos(const float x_, const float y_) { rect.setPosition(x_, y_); } + void setSize(const float w_, const float h_) { rect.setSize(sf::Vector2f(w_, h_)); } + void setPos(const Vec2i& pos_) { rect.setPosition(pos_.x(), pos_.y()); } + void setSize(const Vec2i& size_) { rect.setSize(sf::Vector2f(size_.x(), size_.y())); } #else float x0{}, y0{}, w0{}, h0{}; constexpr Rect() = default; @@ -155,7 +143,7 @@ namespace paxg { #if defined(PAXS_USING_SIV3D) rect.draw(c_.color); #elif defined(PAXS_USING_SFML) - Window::window.draw(c_); + Window::window.draw(rect); #elif defined(PAXS_USING_DXLIB) DxLib::DrawBox( static_cast(x0), static_cast(y0), static_cast(x0 + w0), static_cast(y0 + h0), @@ -177,7 +165,7 @@ namespace paxg { #if defined(PAXS_USING_SIV3D) // rect.draw(c_.color); #elif defined(PAXS_USING_SFML) - Window::window.draw(c_); + Window::window.draw(rect); #elif defined(PAXS_USING_DXLIB) DxLib::DrawBox( static_cast(x0 - w0 / 2), static_cast(y0 - h0 / 2), static_cast(x0 + w0 / 2), static_cast(y0 + h0 / 2), @@ -189,7 +177,7 @@ namespace paxg { #if defined(PAXS_USING_SIV3D) rect.drawFrame(inner_thickness, outer_thickness, color_.color); #elif defined(PAXS_USING_SFML) - Window::window.draw(color_); + Window::window.draw(rect); #elif defined(PAXS_USING_DXLIB) DxLib::DrawBox( static_cast(x0 - outer_thickness), static_cast(y0 - outer_thickness), diff --git a/Library/PAX_GRAPHICA/Texture.hpp b/Library/PAX_GRAPHICA/Texture.hpp index 92c7cb651..1ce8197d8 100644 --- a/Library/PAX_GRAPHICA/Texture.hpp +++ b/Library/PAX_GRAPHICA/Texture.hpp @@ -27,6 +27,8 @@ #include #include #include +#include +#include namespace paxg { @@ -44,9 +46,24 @@ namespace paxg { #elif defined(PAXS_USING_SFML) sf::Texture texture{}; Texture(const paxg::Image& image) { texture.loadFromImage(image); } - Texture(const paxg::String& path) { texture.loadFromFile(path); } - Texture(const std::string& path) { - texture.loadFromFile(static_cast(path)); + Texture(const paxg::String& path) { + // svgの場合は読み込めないので、pngに拡張子を変換する + std::string path_str = path.string; + paxs::StringExtensions::replace(path_str, ".svg", ".png"); + + if(!texture.loadFromFile(path_str)) { + paxs::Logger logger("Save/warning_log.txt"); + logger.log(paxs::Logger::Level::PAX_WARNING, __FILE__, __LINE__, "Failed to load texture: " + path.string); + } + } + Texture(std::string path) { + // svgの場合は読み込めないので、pngに拡張子を変換する + paxs::StringExtensions::replace(path, ".svg", ".png"); + + if(!texture.loadFromFile(static_cast(path))) { + paxs::Logger logger("Save/warning_log.txt"); + logger.log(paxs::Logger::Level::PAX_WARNING, __FILE__, __LINE__, "Failed to load texture: " + path); + } } operator sf::Texture() const { return texture; } #elif defined(PAXS_USING_DXLIB) @@ -126,7 +143,7 @@ namespace paxg { DxLib::DrawGraph(pos.x() - (width() / 2), pos.y() - (height() / 2), texture, TRUE); #elif defined(PAXS_USING_SFML) sf::Sprite sprite(texture); - sprite.setPosition(pos); + sprite.setPosition(static_cast(pos.x()), static_cast(pos.y())); paxg::Window::window.draw(sprite); #endif } @@ -193,7 +210,7 @@ namespace paxg { pos.x() + resize.x(), pos.y() + resize.y(), texture, TRUE); #elif defined(PAXS_USING_SFML) - draw(pos); + drawAt(pos); #endif } void resizedDraw(const int resize, const paxg::Vec2i& pos) const @@ -206,7 +223,7 @@ namespace paxg { pos.x() + resize, pos.y() + resize, texture, TRUE); #elif defined(PAXS_USING_SFML) - draw(pos); + drawAt(pos); #endif } void resizedDraw(const paxg::Vec2f& resize, const paxg::Vec2f& pos) const @@ -219,7 +236,7 @@ namespace paxg { pos.x() + resize.x(), pos.y() + resize.y(), texture, TRUE); #elif defined(PAXS_USING_SFML) - draw(pos); + drawAt(pos); #endif } void resizedDraw(const int resize, const paxg::Vec2f& pos) const @@ -232,7 +249,7 @@ namespace paxg { pos.x() + resize, pos.y() + resize, texture, TRUE); #elif defined(PAXS_USING_SFML) - draw(pos); + drawAt(pos); #endif } }; diff --git a/Library/PAX_GRAPHICA/Window.hpp b/Library/PAX_GRAPHICA/Window.hpp index 49211882f..f08d7ee0d 100644 --- a/Library/PAX_GRAPHICA/Window.hpp +++ b/Library/PAX_GRAPHICA/Window.hpp @@ -33,7 +33,7 @@ namespace paxg { namespace Window { #ifdef PAXS_USING_SFML - sf::RenderWindow window; + sf::RenderWindow window(sf::VideoMode(1920, 1080), "PAX SAPIENTICA Library"); #endif // PAXS_USING_SFML void Init(int width, int height, const std::string& title) { diff --git a/Library/PAX_SAPIENTICA/Logger.hpp b/Library/PAX_SAPIENTICA/Logger.hpp index f79af703b..56a4d1421 100644 --- a/Library/PAX_SAPIENTICA/Logger.hpp +++ b/Library/PAX_SAPIENTICA/Logger.hpp @@ -33,8 +33,8 @@ namespace paxs { /// @brief The level of the log. /// @brief ログのレベル。 enum class Level { - INFO, // 情報を示すメッセージ(警告やエラー以外) - WARNING, // 警告メッセージ + PAX_INFO, // 情報を示すメッセージ(警告やエラー以外) + PAX_WARNING, // 警告メッセージ PAX_ERROR // エラーメッセージ }; @@ -75,15 +75,15 @@ namespace paxs { void log(const Level level, const std::string& filename, const int line, const std::string& message) noexcept { const std::string current_time = currentDateTime(); file << "[" << current_time << "] "; - + switch(level) { - case Level::INFO: + case Level::PAX_INFO: file << "[INFO]: "; break; - case Level::WARNING: + case Level::PAX_WARNING: file << "[WARNING]: "; break; - case Level::PAX_ERROR: + case Level::PAX_ERROR: file << "[ERROR]: "; break; } diff --git a/Library/PAX_SAPIENTICA/Simulation/Data.hpp b/Library/PAX_SAPIENTICA/Simulation/Data.hpp index 5505701dd..d6f0e7051 100644 --- a/Library/PAX_SAPIENTICA/Simulation/Data.hpp +++ b/Library/PAX_SAPIENTICA/Simulation/Data.hpp @@ -51,7 +51,7 @@ namespace paxs { catch (const std::exception&) { Logger logger("Save/error_log.txt"); const std::string message = "Failed to load data: " + file_path; - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, message); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, message); throw std::runtime_error(message); } } @@ -109,7 +109,7 @@ namespace paxs { file_names = File::getFileNames(file_path); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File not found: " + file_path); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File not found: " + file_path); throw; } @@ -118,7 +118,7 @@ namespace paxs { if(file_names.size() == 0) { Logger logger("Save/error_log.txt"); const std::string message = "File not found: " + file_path; - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, message); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, message); throw std::runtime_error(message); } @@ -130,7 +130,7 @@ namespace paxs { } else { Logger logger("Save/error_log.txt"); const std::string message = "File type is invalid: " + file_names[0]; - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, message); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, message); throw std::runtime_error(message); } } @@ -149,7 +149,7 @@ namespace paxs { xyz_position = getXAndYFromFileName(file_name); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File name is invalid: " + file_name); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File name is invalid: " + file_name); ++file_count; continue; } @@ -165,7 +165,7 @@ namespace paxs { file = File::readFile(file_name); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File is not found: " + file_name); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File is not found: " + file_name); ++file_count; continue; } @@ -218,7 +218,7 @@ namespace paxs { xyz_position = getXAndYFromFileName(file_name); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File name is invalid: " + file_name); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File name is invalid: " + file_name); ++file_count; continue; } @@ -234,7 +234,7 @@ namespace paxs { file = File::readFile(file_name); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File is not found: " + file_name); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File is not found: " + file_name); ++file_count; continue; } @@ -269,7 +269,7 @@ namespace paxs { xyz_position = getXAndYFromFileName(file_name); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File name is invalid: " + file_name); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File name is invalid: " + file_name); ++file_count; continue; } @@ -285,7 +285,7 @@ namespace paxs { file = File::readFile(file_name); } catch (const std::exception&) { Logger logger("Save/error_log.txt"); - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, "File is not found: " + file_name); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, "File is not found: " + file_name); ++file_count; continue; } diff --git a/Library/PAX_SAPIENTICA/Simulation/Environment.hpp b/Library/PAX_SAPIENTICA/Simulation/Environment.hpp index 0df8629c5..2fdf2a868 100644 --- a/Library/PAX_SAPIENTICA/Simulation/Environment.hpp +++ b/Library/PAX_SAPIENTICA/Simulation/Environment.hpp @@ -97,7 +97,7 @@ namespace paxs { } else { Logger logger("Save/error_log.txt"); const std::string message = "data_type is not found: " + data_type + " in " + setting_file_path; - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, message); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, message); } } } diff --git a/Library/PAX_SAPIENTICA/Simulation/Settlement.hpp b/Library/PAX_SAPIENTICA/Simulation/Settlement.hpp index b5897176e..a9680391f 100644 --- a/Library/PAX_SAPIENTICA/Simulation/Settlement.hpp +++ b/Library/PAX_SAPIENTICA/Simulation/Settlement.hpp @@ -54,7 +54,7 @@ namespace paxs { if (it == agents.end()) { paxs::Logger logger("Save/error_log.txt"); const std::string message = "Agent not found."; - logger.log(Logger::Level::WARNING, __FILE__, __LINE__, message); + logger.log(Logger::Level::PAX_WARNING, __FILE__, __LINE__, message); throw std::runtime_error(message); } return *it; @@ -132,4 +132,4 @@ namespace paxs { } -#endif // !PAX_SAPIENTICA_SETTLEMENT_HPP \ No newline at end of file +#endif // !PAX_SAPIENTICA_SETTLEMENT_HPP diff --git a/Library/PAX_SAPIENTICA/Siv3D/Main.hpp b/Library/PAX_SAPIENTICA/Siv3D/Main.hpp index 5f0ec979c..1a9a4bf06 100644 --- a/Library/PAX_SAPIENTICA/Siv3D/Main.hpp +++ b/Library/PAX_SAPIENTICA/Siv3D/Main.hpp @@ -60,7 +60,7 @@ namespace paxs { visible.emplace("3D", false); // 3D //#ifdef PAXS_USING_SIMULATOR - paxs::Simulator simlator; + paxs::Simulator simulator; // 対馬のみ //paxs::Vector2 start_position = paxs::Vector2{ 879, 406 }; //paxs::Vector2 end_position = paxs::Vector2{ 881, 409 }; @@ -91,6 +91,8 @@ namespace paxs { tm.init(); // タッチ判定を初期化 #ifdef PAXS_USING_SIV3D const s3d::ScopedRenderStates2D sampler{ s3d::SamplerState::ClampNearest }; // 画像の拡大縮小の方式を設定 +#elif defined(PAXS_USING_SFML) + paxg::Window::clear(); #endif /*########################################################################################## 更新処理関連 @@ -142,21 +144,21 @@ namespace paxs { select_language, koyomi_siv, string_siv, - simlator, + simulator, start_position, visible ); // 暦を更新 koyomi_siv.update( language_text, - simlator + simulator ); // 文字を更新 string_siv.update( map_siv.map_view, select_language, language_text, - simlator, + simulator, start_position, end_position, path8, @@ -165,6 +167,9 @@ namespace paxs { visible ); paxs::PaxSapienticaInitSiv3D::secondInit(); // ソフトウェアを実行した最初のフレームの一番最後に実行 +#ifdef PAXS_USING_SFML + paxg::Window::display(); +#endif } } } diff --git a/Project/CMakeLists.txt b/Project/CMakeLists.txt index 3611d9e85..8e23ad509 100644 --- a/Project/CMakeLists.txt +++ b/Project/CMakeLists.txt @@ -31,6 +31,7 @@ endif() add_subdirectory(GeographicDataToSimulationGrid) add_subdirectory(IncludeTest) add_subdirectory(IntegrationTest) +add_subdirectory(MapViewer) add_subdirectory(UnitTest) enable_testing() diff --git a/Project/MapViewer/CMakeLists.txt b/Project/MapViewer/CMakeLists.txt new file mode 100644 index 000000000..013ef092a --- /dev/null +++ b/Project/MapViewer/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.16) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin) +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/../../Library +) + +find_package(SFML 2.5 COMPONENTS graphics) +if(SFML_FOUND) + add_executable(SFMLMapviewer Windows/SFML/Main.cpp) + target_link_libraries(SFMLMapviewer sfml-graphics) +endif() diff --git a/Project/MapViewer/Windows/SFML/Main.cpp b/Project/MapViewer/Windows/SFML/Main.cpp new file mode 100644 index 000000000..61c155b91 --- /dev/null +++ b/Project/MapViewer/Windows/SFML/Main.cpp @@ -0,0 +1,20 @@ +/*########################################################################################## + + PAX SAPIENTICA Library 💀🌿🌏 + + [Planning] 2023 As Project + [Production] 2023 As Project + [Contact Us] wanotaitei@gmail.com https://github.com/AsPJT/PAX_SAPIENTICA + [License] Distributed under the CC0 1.0. https://creativecommons.org/publicdomain/zero/1.0/ + +##########################################################################################*/ + +#define _CRT_SECURE_NO_WARNINGS +#define PAXS_PATH "./../../../" +#define PAXS_USING_SFML + +#include + +int main() { + paxs::startMain(PAXS_PATH); +}