From ae74fb2c8a366fd261a6ba95e585f24c7ad3ce7d Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 21 Dec 2023 22:19:47 +0300 Subject: [PATCH 01/11] walpaper removed from base content --- res/content/base/blocks/torch.json | 2 +- res/content/base/blocks/wallpaper.json | 16 ---------------- res/content/base/content.json | 3 +-- .../base/textures/blocks/wallpaper_s.png | Bin 175163 -> 0 bytes 4 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 res/content/base/blocks/wallpaper.json delete mode 100644 res/content/base/textures/blocks/wallpaper_s.png diff --git a/res/content/base/blocks/torch.json b/res/content/base/blocks/torch.json index 93076841a..b5b76e4fc 100644 --- a/res/content/base/blocks/torch.json +++ b/res/content/base/blocks/torch.json @@ -9,7 +9,7 @@ ], "emission": [13, 13, 12], "model": "aabb", - "hitbox": [0.3, 0.0, 0.7, 0.125, 0.5, 0.125], + "hitbox": [0.4375, 0.0, 0.4375, 0.125, 0.5, 0.125], "light-passing": true, "obstacle": false, "rotation": "pipe" diff --git a/res/content/base/blocks/wallpaper.json b/res/content/base/blocks/wallpaper.json deleted file mode 100644 index d8624071e..000000000 --- a/res/content/base/blocks/wallpaper.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "texture-faces": [ - "white", - "white", - "wallpaper_s", - "wallpaper_s", - "white", - "white" - ], - "emission": [0, 0, 0], - "model": "aabb", - "hitbox": [0.0, 0.0, 0.0, 1.0, 0.01, 1.0], - "light-passing": true, - "obstacle": false, - "rotation": "pipe" -} diff --git a/res/content/base/content.json b/res/content/base/content.json index 2429936eb..71b5d16d8 100644 --- a/res/content/base/content.json +++ b/res/content/base/content.json @@ -22,7 +22,6 @@ "pane", "pipe", "lightbulb", - "torch", - "wallpaper" + "torch" ] } diff --git a/res/content/base/textures/blocks/wallpaper_s.png b/res/content/base/textures/blocks/wallpaper_s.png deleted file mode 100644 index c13e1082b6a62dd00ceb96aae74d6480d0fee3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175163 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 &_I7l& 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 From 19c04c8cf36048a96ce4d068e34f1f82fcfad652 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Fri, 22 Dec 2023 13:59:27 +0300 Subject: [PATCH 02/11] MSVC build fix --- src/files/WorldFiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/files/WorldFiles.cpp b/src/files/WorldFiles.cpp index c4c7daa30..a96c6de10 100644 --- a/src/files/WorldFiles.cpp +++ b/src/files/WorldFiles.cpp @@ -20,9 +20,9 @@ #include #include +#include #include #include -#include const int SECTION_POSITION = 1; const int SECTION_ROTATION = 2; From 737e979bcd2b27a684692af2f13ea8f63969ea1e Mon Sep 17 00:00:00 2001 From: Pablo Duboue Date: Fri, 22 Dec 2023 13:19:43 -0800 Subject: [PATCH 03/11] AppImage builder plus GH actions Included also a .desktop file and an icon. --- .github/workflows/appimage.yml | 35 +++++++++++++++ .gitignore | 4 ++ AppImageBuilder.yml | 75 +++++++++++++++++++++++++++++++++ CMakeLists.txt | 22 ++++++++++ VoxelEngine.desktop | 10 +++++ VoxelEngine.png | Bin 0 -> 86500 bytes 6 files changed, 146 insertions(+) create mode 100644 .github/workflows/appimage.yml create mode 100644 AppImageBuilder.yml create mode 100644 VoxelEngine.desktop create mode 100644 VoxelEngine.png diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 000000000..e29553cc8 --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,35 @@ +name: C/C++ AppImage + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build-appimage: + + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + with: + submodules: 'true' + - name: install dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev cmake squashfs-tools + - name: configure + run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DVOXELENGINE_BUILD_APPDIR=1 + - name: build + run: cmake --build build -t install + - name: Build AppImage + uses: AppImageCrafters/build-appimage-action@fe2205a4d6056be47051f7b1b3811106e9814910 + env: + UPDATE_INFO: gh-releases-zsync|MihailRis|VoxelEngine-Cpp|latest|*x86_64.AppImage.zsync + with: + recipe: AppImageBuilder.yml + - uses: actions/upload-artifact@v2 + with: + name: AppImage + path: './*.AppImage*' diff --git a/.gitignore b/.gitignore index a722d6422..cae9b8a13 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,7 @@ Debug/voxel_engine .project .git /Default/ +AppDir +appimage-build/ + +*~ diff --git a/AppImageBuilder.yml b/AppImageBuilder.yml new file mode 100644 index 000000000..6c4bc2834 --- /dev/null +++ b/AppImageBuilder.yml @@ -0,0 +1,75 @@ +version: 1 +AppDir: + path: AppDir + app_info: + id: VoxelEngine + name: VoxelEngine + icon: VoxelEngine + version: latest + exec: usr/bin/VoxelEngine + exec_args: --dir $HOME --res $APPDIR/usr/share/VoxelEngine/res $@ + apt: + arch: amd64 + sources: + - sourceline: deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse + key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32' + key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C' + - sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse + include: + - libbz2-1.0 + - libexpat1 + - libfam0 + - libgcrypt20 + - libglfw3 + - libglew2.1 + - libpng16-16 + - libopenal1 + - libopengl0 + - libasound2 + - libglx0 + exclude: + - hicolor-icon-theme + - sound-theme-freedesktop + - perl + - perl-base + - kwayland-data + - libwacom2 + - libasound2 + - breeze + - breeze-icon-theme + - breeze-cursor-theme + - kwin-style-breeze + - kde-style-breeze + - plasma-integration + files: + exclude: + - usr/share/man + - usr/share/doc/*/README.* + - usr/share/doc/*/changelog.* + - usr/share/doc/*/NEWS.* + - usr/share/doc/*/TODO.* + test: + fedora: + image: appimagecrafters/tests-env:fedora-30 + command: ./AppRun + use_host_x: true + debian: + image: appimagecrafters/tests-env:debian-stable + command: ./AppRun + use_host_x: true + arch: + image: appimagecrafters/tests-env:archlinux-latest + command: ./AppRun + use_host_x: true + centos: + image: appimagecrafters/tests-env:centos-7 + command: ./AppRun + use_host_x: true + ubuntu: + image: appimagecrafters/tests-env:ubuntu-xenial + command: ./AppRun + use_host_x: true +AppImage: + arch: x86_64 diff --git a/CMakeLists.txt b/CMakeLists.txt index d8b2f6320..0ca54e804 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.15) project(VoxelEngine) +option(VOXELENGINE_BUILD_APPDIR OFF) + set(CMAKE_CXX_STANDARD 17) file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp) @@ -8,6 +10,25 @@ file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) add_executable(${PROJECT_NAME} ${HEADERS} ${SOURCES}) +if(VOXELENGINE_BUILD_APPDIR) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/bin) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/lib) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/icons/hicolor/256x256) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/applications) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/VoxelEngine) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/res DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/VoxelEngine) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/icons/hicolor/256x256) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/.dirIcon) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.desktop DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/applications) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.desktop DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/lib) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/lib) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/bin) + install(TARGETS VoxelEngine DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/bin) +endif() + + if(MSVC) target_compile_options(${PROJECT_NAME} PRIVATE /W4 /O2) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /source-charset:UTF-8") @@ -50,3 +71,4 @@ endif() target_link_libraries(${PROJECT_NAME} ${LIBS} glfw OpenGL::GL ${OPENAL_LIBRARY} GLEW::GLEW ${PNGLIB}) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/res DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + diff --git a/VoxelEngine.desktop b/VoxelEngine.desktop new file mode 100644 index 000000000..e5cbb0ab6 --- /dev/null +++ b/VoxelEngine.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=VoxelEngine +Comment=Minecraft-like game engine in C++ with OpenGL +TryExec=VoxelEngine +Exec=VoxelEngine +Icon=VoxelEngine +MimeType=image/x-foo; +Categories=Game; diff --git a/VoxelEngine.png b/VoxelEngine.png new file mode 100644 index 0000000000000000000000000000000000000000..689245472734a26dbb6dbcdd7436f825cd1f432b GIT binary patch literal 86500 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¨kREH$fvfFVRq@rU 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 KMNUMnLSTYMqxN Date: Sat, 23 Dec 2023 14:32:51 +0300 Subject: [PATCH 04/11] settings files location fix --- src/voxel_engine.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/voxel_engine.cpp b/src/voxel_engine.cpp index cc0916779..0023b7366 100644 --- a/src/voxel_engine.cpp +++ b/src/voxel_engine.cpp @@ -22,12 +22,13 @@ int main(int argc, char** argv) { return EXIT_SUCCESS; platform::configure_encoding(); + std::filesystem::path userfiles = paths.getUserfiles(); try { EngineSettings settings; std::unique_ptr wrapper (create_wrapper(settings)); - path settings_file = platform::get_settings_file(); - path controls_file = platform::get_controls_file(); + path settings_file = userfiles/platform::get_settings_file(); + path controls_file = userfiles/platform::get_controls_file(); if (std::filesystem::is_regular_file(settings_file)) { std::cout << "-- loading settings" << std::endl; std::string text = files::read_string(settings_file); From 572734dc80719f048d3549800a891caf64fbab7e Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 24 Dec 2023 10:53:18 +0300 Subject: [PATCH 05/11] No more shaders and fonts reload on world open --- src/assets/AssetsLoader.cpp | 24 ++++++++++++------------ src/assets/AssetsLoader.h | 2 +- src/engine.cpp | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/assets/AssetsLoader.cpp b/src/assets/AssetsLoader.cpp index e8ec09963..8ffacf6a8 100644 --- a/src/assets/AssetsLoader.cpp +++ b/src/assets/AssetsLoader.cpp @@ -50,18 +50,18 @@ void AssetsLoader::createDefaults(AssetsLoader& loader) { loader.addLoader(ASSET_ATLAS, assetload::atlas); } -void AssetsLoader::addDefaults(AssetsLoader& loader) { - loader.add(ASSET_SHADER, SHADERS_FOLDER"/main", "main"); - loader.add(ASSET_SHADER, SHADERS_FOLDER"/lines", "lines"); - loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui", "ui"); - loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui3d", "ui3d"); - loader.add(ASSET_SHADER, SHADERS_FOLDER"/background", "background"); - loader.add(ASSET_SHADER, SHADERS_FOLDER"/skybox_gen", "skybox_gen"); - - loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/blocks", "blocks"); - loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/menubg.png", "menubg"); - - loader.add(ASSET_FONT, FONTS_FOLDER"/font", "normal"); +void AssetsLoader::addDefaults(AssetsLoader& loader, bool allAssets) { + if (allAssets) { + loader.add(ASSET_SHADER, SHADERS_FOLDER"/main", "main"); + loader.add(ASSET_SHADER, SHADERS_FOLDER"/lines", "lines"); + loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui", "ui"); + loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui3d", "ui3d"); + loader.add(ASSET_SHADER, SHADERS_FOLDER"/background", "background"); + loader.add(ASSET_SHADER, SHADERS_FOLDER"/skybox_gen", "skybox_gen"); + loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/menubg.png", "menubg"); + loader.add(ASSET_FONT, FONTS_FOLDER"/font", "normal"); + } + loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/blocks", "blocks"); } const ResPaths* AssetsLoader::getPaths() const { diff --git a/src/assets/AssetsLoader.h b/src/assets/AssetsLoader.h index 9a731780e..13ea12faa 100644 --- a/src/assets/AssetsLoader.h +++ b/src/assets/AssetsLoader.h @@ -36,7 +36,7 @@ class AssetsLoader { bool loadNext(); static void createDefaults(AssetsLoader& loader); - static void addDefaults(AssetsLoader& loader); + static void addDefaults(AssetsLoader& loader, bool allAssets); const ResPaths* getPaths() const; }; diff --git a/src/engine.cpp b/src/engine.cpp index 8a4eecce8..2da0610bd 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -59,7 +59,7 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths) assets.reset(new Assets()); AssetsLoader loader(assets.get(), resPaths.get()); AssetsLoader::createDefaults(loader); - AssetsLoader::addDefaults(loader); + AssetsLoader::addDefaults(loader, true); Shader::preprocessor->setPaths(resPaths.get()); while (loader.hasNext()) { @@ -189,7 +189,7 @@ void Engine::loadContent() { std::cout << "-- loading assets" << std::endl; AssetsLoader loader(new_assets.get(), resPaths.get()); AssetsLoader::createDefaults(loader); - AssetsLoader::addDefaults(loader); + AssetsLoader::addDefaults(loader, false); while (loader.hasNext()) { if (!loader.loadNext()) { new_assets.reset(); From b7ee9a460435481d963a06ed8dddb847198712ef Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 24 Dec 2023 11:18:21 +0300 Subject: [PATCH 06/11] Minor refactor --- src/engine.cpp | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/engine.cpp b/src/engine.cpp index 2da0610bd..72fb14f56 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -36,13 +36,6 @@ #include "definitions.h" -using std::unique_ptr; -using std::shared_ptr; -using std::string; -using std::vector; -using glm::vec3; -using gui::GUI; - namespace fs = std::filesystem; Engine::Engine(EngineSettings& settings, EnginePaths* paths) @@ -71,7 +64,7 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths) } Audio::initialize(); - gui = new GUI(); + gui = new gui::GUI(); if (settings.ui.language == "auto") { settings.ui.language = platform::detect_locale(); } @@ -88,7 +81,7 @@ void Engine::updateTimers() { void Engine::updateHotkeys() { if (Events::jpressed(keycode::F2)) { - unique_ptr image(Window::takeScreenshot()); + std::unique_ptr image(Window::takeScreenshot()); image->flipY(); fs::path filename = paths->getScreenshotFile("png"); png::write_image(filename.string(), image.get()); @@ -100,7 +93,7 @@ void Engine::updateHotkeys() { } void Engine::mainloop() { - setScreen(shared_ptr(new MenuScreen(this))); + setScreen(std::make_shared(this)); std::cout << "-- preparing systems" << std::endl; @@ -135,7 +128,7 @@ Engine::~Engine() { std::cout << "-- engine finished" << std::endl; } -GUI* Engine::getGUI() { +gui::GUI* Engine::getGUI() { return gui; } @@ -147,7 +140,7 @@ Assets* Engine::getAssets() { return assets.get(); } -void Engine::setScreen(shared_ptr screen) { +void Engine::setScreen(std::shared_ptr screen) { this->screen = screen; } @@ -155,7 +148,7 @@ const Content* Engine::getContent() const { return content.get(); } -vector& Engine::getContentPacks() { +std::vector& Engine::getContentPacks() { return contentPacks; } @@ -163,7 +156,7 @@ EnginePaths* Engine::getPaths() { return paths; } -void Engine::setLanguage(string locale) { +void Engine::setLanguage(std::string locale) { settings.ui.language = locale; langs::setup(paths->getResources(), locale, contentPacks); menus::create_menus(this, gui->getMenu()); @@ -174,7 +167,7 @@ void Engine::loadContent() { ContentBuilder contentBuilder; setup_definitions(&contentBuilder); - vector resRoots; + std::vector resRoots; for (auto& pack : contentPacks) { ContentLoader loader(&pack); loader.load(&contentBuilder); @@ -185,7 +178,7 @@ void Engine::loadContent() { Shader::preprocessor->setPaths(resPaths.get()); - unique_ptr new_assets(new Assets()); + std::unique_ptr new_assets(new Assets()); std::cout << "-- loading assets" << std::endl; AssetsLoader loader(new_assets.get(), resPaths.get()); AssetsLoader::createDefaults(loader); From cfcfbee60446e0c81bbe2bd2a55463683a060d67 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 24 Dec 2023 12:02:11 +0300 Subject: [PATCH 07/11] AppImage-related files moved to dev folder --- .github/workflows/appimage.yml | 2 +- CMakeLists.txt | 10 +++++----- AppImageBuilder.yml => dev/AppImageBuilder.yml | 0 VoxelEngine.desktop => dev/VoxelEngine.desktop | 0 VoxelEngine.png => dev/VoxelEngine.png | Bin 5 files changed, 6 insertions(+), 6 deletions(-) rename AppImageBuilder.yml => dev/AppImageBuilder.yml (100%) rename VoxelEngine.desktop => dev/VoxelEngine.desktop (100%) rename VoxelEngine.png => dev/VoxelEngine.png (100%) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index e29553cc8..7ef89090e 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -28,7 +28,7 @@ jobs: env: UPDATE_INFO: gh-releases-zsync|MihailRis|VoxelEngine-Cpp|latest|*x86_64.AppImage.zsync with: - recipe: AppImageBuilder.yml + recipe: dev/AppImageBuilder.yml - uses: actions/upload-artifact@v2 with: name: AppImage diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ca54e804..b7ed2f69e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,11 +17,11 @@ if(VOXELENGINE_BUILD_APPDIR) file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/applications) file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/VoxelEngine) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/res DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/VoxelEngine) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/icons/hicolor/256x256) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/.dirIcon) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.desktop DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/applications) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/VoxelEngine.desktop DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dev/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/icons/hicolor/256x256) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dev/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dev/VoxelEngine.png DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/.dirIcon) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dev/VoxelEngine.desktop DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/share/applications) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dev/VoxelEngine.desktop DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/AppDir/usr/bin) diff --git a/AppImageBuilder.yml b/dev/AppImageBuilder.yml similarity index 100% rename from AppImageBuilder.yml rename to dev/AppImageBuilder.yml diff --git a/VoxelEngine.desktop b/dev/VoxelEngine.desktop similarity index 100% rename from VoxelEngine.desktop rename to dev/VoxelEngine.desktop diff --git a/VoxelEngine.png b/dev/VoxelEngine.png similarity index 100% rename from VoxelEngine.png rename to dev/VoxelEngine.png From abbe4021ba77e423765f1443f2e9236aa19f09aa Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 24 Dec 2023 13:57:00 +0300 Subject: [PATCH 08/11] Minor refactor --- src/util/platform.cpp | 18 +++--------------- src/util/platform.h | 3 --- src/voxel_engine.cpp | 9 ++++++--- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/util/platform.cpp b/src/util/platform.cpp index 95edbbca6..e61329d04 100644 --- a/src/util/platform.cpp +++ b/src/util/platform.cpp @@ -6,20 +6,6 @@ #include "../typedefs.h" -#define SETTINGS_FILE "settings.toml" -#define CONTROLS_FILE "controls.json" - -using std::filesystem::path; - - -path platform::get_settings_file() { - return path(SETTINGS_FILE); -} - -path platform::get_controls_file() { - return path(CONTROLS_FILE); -} - std::string platform::detect_locale() { // TODO: implement std::string name = setlocale(LC_ALL, nullptr); @@ -37,8 +23,10 @@ void platform::configure_encoding() { SetConsoleOutputCP(CP_UTF8); setvbuf(stdout, nullptr, _IOFBF, 1000); } + #else + void platform::configure_encoding(){ } -#endif \ No newline at end of file +#endif diff --git a/src/util/platform.h b/src/util/platform.h index 2a3206989..66b7917cc 100644 --- a/src/util/platform.h +++ b/src/util/platform.h @@ -2,12 +2,9 @@ #define UTIL_PLATFORM_H_ #include -#include namespace platform { extern void configure_encoding(); - extern std::filesystem::path get_settings_file(); - extern std::filesystem::path get_controls_file(); extern std::string detect_locale(); } diff --git a/src/voxel_engine.cpp b/src/voxel_engine.cpp index 0023b7366..b49b50a44 100644 --- a/src/voxel_engine.cpp +++ b/src/voxel_engine.cpp @@ -14,7 +14,10 @@ #include "files/engine_paths.h" #include "util/command_line.h" -using std::filesystem::path; +#define SETTINGS_FILE "settings.toml" +#define CONTROLS_FILE "controls.json" + +namespace fs = std::filesystem; int main(int argc, char** argv) { EnginePaths paths; @@ -27,8 +30,8 @@ int main(int argc, char** argv) { EngineSettings settings; std::unique_ptr wrapper (create_wrapper(settings)); - path settings_file = userfiles/platform::get_settings_file(); - path controls_file = userfiles/platform::get_controls_file(); + fs::path settings_file = userfiles/fs::path(SETTINGS_FILE); + fs::path controls_file = userfiles/fs::path(CONTROLS_FILE); if (std::filesystem::is_regular_file(settings_file)) { std::cout << "-- loading settings" << std::endl; std::string text = files::read_string(settings_file); From ce26f0c22706f6fa5d563dd54cb46f4044f29f37 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 25 Dec 2023 00:07:40 +0300 Subject: [PATCH 09/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5a3fa3e2..baeb197d8 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ git clone --recursive https://github.com/MihailRis/VoxelEngine-Cpp.git cd VoxelEngine-Cpp mkdir build cd build -cmake .. +cmake -DCMAKE_BUILD_TYPE=Release .. cmake --build . ``` From acce49f188db1dcf61815e579aced9b9794d7b9b Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 25 Dec 2023 05:26:03 +0300 Subject: [PATCH 10/11] Scripting WIP (#70) * Scripting introduced * AppImage workflow fixes * AppImage workflow simplified * README.md update * README.md update * small fix --- .github/workflows/appimage.yml | 4 +- .github/workflows/cmake.yml | 8 +- CMakeLists.txt | 6 +- README.md | 40 ++++++- res/content/base/blocks/flower.json | 3 +- res/content/base/blocks/grass.json | 3 +- res/content/base/scripts/grass_block.lua | 20 ++++ res/scripts/world.lua | 0 src/content/ContentLoader.cpp | 10 +- src/engine.cpp | 71 ++++++------ src/files/WorldFiles.cpp | 12 +- src/frontend/WorldRenderer.cpp | 2 +- src/frontend/hud.cpp | 4 +- src/logic/BlocksController.cpp | 120 +++++++++++++++++++ src/logic/BlocksController.h | 46 ++++++++ src/logic/ChunksController.cpp | 19 ++- src/logic/ChunksController.h | 5 +- src/logic/LevelController.cpp | 23 ++-- src/logic/LevelController.h | 2 + src/logic/PlayerController.cpp | 77 +++++++------ src/logic/PlayerController.h | 6 +- src/logic/scripting/api_lua.cpp | 65 +++++++++++ src/logic/scripting/api_lua.h | 14 +++ src/logic/scripting/scripting.cpp | 140 +++++++++++++++++++++++ src/logic/scripting/scripting.h | 26 +++++ src/objects/Player.cpp | 10 +- src/objects/Player.h | 2 +- src/physics/Hitbox.cpp | 6 +- src/physics/Hitbox.h | 10 +- src/voxel_engine.cpp | 6 +- src/voxels/Block.h | 10 ++ src/voxels/Chunks.cpp | 9 +- src/voxels/Chunks.h | 1 + src/world/Level.cpp | 4 +- src/world/Level.h | 3 - 35 files changed, 649 insertions(+), 138 deletions(-) create mode 100644 res/content/base/scripts/grass_block.lua create mode 100644 res/scripts/world.lua create mode 100644 src/logic/BlocksController.cpp create mode 100644 src/logic/BlocksController.h create mode 100644 src/logic/scripting/api_lua.cpp create mode 100644 src/logic/scripting/api_lua.h create mode 100644 src/logic/scripting/scripting.cpp create mode 100644 src/logic/scripting/scripting.h diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 7ef89090e..62f205638 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -18,7 +18,9 @@ jobs: - name: install dependencies run: | sudo apt-get update - sudo apt-get install -y build-essential libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev cmake squashfs-tools + sudo apt-get install -y build-essential libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev libluajit-5.1-dev cmake squashfs-tools + sudo ln -s /usr/lib/x86_64-linux-gnu/libluajit-5.1.a /usr/lib/x86_64-linux-gnu/liblua5.1.a + sudo ln -s /usr/include/luajit-2.1 /usr/include/lua - name: configure run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DVOXELENGINE_BUILD_APPDIR=1 - name: build diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 0d8237ff3..502dd4869 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -21,9 +21,15 @@ jobs: - uses: actions/checkout@v3 - name: Install packages + # If libluajit-5.1-dev is not available, use this: + # git clone https://luajit.org/git/luajit.git + # cd luajit + # make && make install INSTALL_INC=/usr/include/lua run: | sudo apt-get update - sudo apt-get install libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev + sudo apt-get install libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev libluajit-5.1-dev + sudo ln -s /usr/lib/x86_64-linux-gnu/libluajit-5.1.a /usr/lib/x86_64-linux-gnu/liblua-5.1.a + sudo ln -s /usr/include/luajit-2.1 /usr/include/lua - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. diff --git a/CMakeLists.txt b/CMakeLists.txt index b7ed2f69e..2702c2183 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,8 @@ endif() find_package(OpenGL REQUIRED) find_package(GLEW REQUIRED) find_package(OpenAL REQUIRED) +# luajit has no CMakeLists.txt to use it as subdirectory, so install it +find_package(Lua REQUIRED) if (WIN32) set(PNGLIB spng) @@ -67,8 +69,8 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie") endif() - -target_link_libraries(${PROJECT_NAME} ${LIBS} glfw OpenGL::GL ${OPENAL_LIBRARY} GLEW::GLEW ${PNGLIB}) +include_directories(${LUA_INCLUDE_DIR}) +target_link_libraries(${PROJECT_NAME} ${LIBS} glfw OpenGL::GL ${OPENAL_LIBRARY} GLEW::GLEW ${PNGLIB} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS}) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/res DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/README.md b/README.md index baeb197d8..4240d6a67 100644 --- a/README.md +++ b/README.md @@ -27,21 +27,49 @@ cmake --build . ``` ## Install libs: + #### Debian-based distro: -`$ sudo apt install libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev` +```sh +sudo apt install libglfw3-dev libglfw3 libglew-dev libglm-dev libpng-dev libopenal-dev libluajit-5.1-dev +``` + +CMake missing LUA_INCLUDE_DIR and LUA_LIBRARIES fix: +```sh +sudo ln -s /usr/lib/x86_64-linux-gnu/libluajit-5.1.a /usr/lib/x86_64-linux-gnu/liblua5.1.a +sudo ln -s /usr/include/luajit-2.1 /usr/include/lua +``` #### RHEL-based distro: -`$ sudo dnf install glfw-devel glfw glew-devel glm-devel libpng-devel openal-devel` +```sh +sudo dnf install glfw-devel glfw glew-devel glm-devel libpng-devel openal-devel +``` + +\+ install LuaJIT #### Arch-based distro: If you use X11 -`$ sudo pacman -S glfw-x11 glew glm libpng openal` +```sh +sudo pacman -S glfw-x11 glew glm libpng openal +``` If you use Wayland -`$ sudo pacman -S glfw-wayland glew glm libpng openal` +```sh +sudo pacman -S glfw-wayland glew glm libpng openal +``` + +\+ install LuaJIT + +#### LuaJIT installation: +```sh +git clone https://luajit.org/git/luajit.git +cd luajit +make && sudo make install INSTALL_INC=/usr/include/lua +``` #### macOS: -`$ brew install glfw3 glew glm libpng` +``` +brew install glfw3 glew glm libpng +``` -Download, compile and install OpenAL +Download, compile and install OpenAL and LuaJIT diff --git a/res/content/base/blocks/flower.json b/res/content/base/blocks/flower.json index 054bede9b..7d2f9c73f 100644 --- a/res/content/base/blocks/flower.json +++ b/res/content/base/blocks/flower.json @@ -4,6 +4,7 @@ "light-passing": true, "obstacle": false, "replaceable": true, + "grounded": true, "model": "X", "hitbox": [0.15, 0.0, 0.15, 0.7, 0.7, 0.7] -} \ No newline at end of file +} diff --git a/res/content/base/blocks/grass.json b/res/content/base/blocks/grass.json index 944a2a41d..844d7baac 100644 --- a/res/content/base/blocks/grass.json +++ b/res/content/base/blocks/grass.json @@ -4,6 +4,7 @@ "light-passing": true, "obstacle": false, "replaceable": true, + "grounded": true, "model": "X", "hitbox": [0.15, 0.0, 0.15, 0.7, 0.7, 0.7] -} \ No newline at end of file +} diff --git a/res/content/base/scripts/grass_block.lua b/res/content/base/scripts/grass_block.lua new file mode 100644 index 000000000..f1072ab11 --- /dev/null +++ b/res/content/base/scripts/grass_block.lua @@ -0,0 +1,20 @@ +function on_random_update(x, y, z) + local dirtid = block_index('base:dirt'); + if is_solid_at(x, y+1, z) then + set_block(x, y, z, dirtid) + else + local grassblockid = block_index('base:grass_block') + for lx=-1,1 do + for ly=-1,1 do + for lz=-1,1 do + if get_block(x + lx, y + ly, z + lz) == dirtid then + if not is_solid_at(x + lx, y + ly + 1, z + lz) then + set_block(x + lx, y + ly, z + lz, grassblockid) + return + end + end + end + end + end + end +end diff --git a/res/scripts/world.lua b/res/scripts/world.lua new file mode 100644 index 000000000..e69de29bb diff --git a/src/content/ContentLoader.cpp b/src/content/ContentLoader.cpp index d7f0f8df6..5a10b4c40 100644 --- a/src/content/ContentLoader.cpp +++ b/src/content/ContentLoader.cpp @@ -12,6 +12,7 @@ #include "../typedefs.h" #include "ContentPack.h" +#include "../logic/scripting/scripting.h" namespace fs = std::filesystem; @@ -84,6 +85,7 @@ Block* ContentLoader::loadBlock(std::string name, fs::path file) { root->flag("light-passing", def->lightPassing); root->flag("breakable", def->breakable); root->flag("selectable", def->selectable); + root->flag("grounded", def->grounded); root->flag("sky-light-passing", def->skyLightPassing); root->num("draw-group", def->drawGroup); @@ -100,8 +102,14 @@ void ContentLoader::load(ContentBuilder* builder) { if (blocksarr) { for (uint i = 0; i < blocksarr->size(); i++) { std::string name = blocksarr->str(i); + std::string prefix = pack->id+":"+name; fs::path blockfile = folder/fs::path("blocks/"+name+".json"); - builder->add(loadBlock(pack->id+":"+name, blockfile)); + Block* block = loadBlock(prefix, blockfile); + builder->add(block); + fs::path scriptfile = folder/fs::path("scripts/"+name+".lua"); + if (fs::is_regular_file(scriptfile)) { + scripting::load_block_script(prefix, scriptfile, &block->rt.funcsset); + } } } } diff --git a/src/engine.cpp b/src/engine.cpp index 72fb14f56..63762f09d 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -33,6 +33,7 @@ #include "content/ContentPack.h" #include "content/ContentLoader.h" #include "frontend/locale/langs.h" +#include "logic/scripting/scripting.h" #include "definitions.h" @@ -45,6 +46,7 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths) } auto resdir = paths->getResources(); + scripting::initialize(paths); std::cout << "-- loading assets" << std::endl; std::vector roots {resdir}; @@ -117,6 +119,7 @@ void Engine::mainloop() { } Engine::~Engine() { + scripting::close(); screen = nullptr; delete gui; @@ -128,40 +131,6 @@ Engine::~Engine() { std::cout << "-- engine finished" << std::endl; } -gui::GUI* Engine::getGUI() { - return gui; -} - -EngineSettings& Engine::getSettings() { - return settings; -} - -Assets* Engine::getAssets() { - return assets.get(); -} - -void Engine::setScreen(std::shared_ptr screen) { - this->screen = screen; -} - -const Content* Engine::getContent() const { - return content.get(); -} - -std::vector& Engine::getContentPacks() { - return contentPacks; -} - -EnginePaths* Engine::getPaths() { - return paths; -} - -void Engine::setLanguage(std::string locale) { - settings.ui.language = locale; - langs::setup(paths->getResources(), locale, contentPacks); - menus::create_menus(this, gui->getMenu()); -} - void Engine::loadContent() { auto resdir = paths->getResources(); ContentBuilder contentBuilder; @@ -197,3 +166,37 @@ void Engine::loadAllPacks() { contentPacks.clear(); ContentPack::scan(resdir/fs::path("content"), contentPacks); } + +void Engine::setScreen(std::shared_ptr screen) { + this->screen = screen; +} + +void Engine::setLanguage(std::string locale) { + settings.ui.language = locale; + langs::setup(paths->getResources(), locale, contentPacks); + menus::create_menus(this, gui->getMenu()); +} + +gui::GUI* Engine::getGUI() { + return gui; +} + +EngineSettings& Engine::getSettings() { + return settings; +} + +Assets* Engine::getAssets() { + return assets.get(); +} + +const Content* Engine::getContent() const { + return content.get(); +} + +std::vector& Engine::getContentPacks() { + return contentPacks; +} + +EnginePaths* Engine::getPaths() { + return paths; +} diff --git a/src/files/WorldFiles.cpp b/src/files/WorldFiles.cpp index a96c6de10..12195187d 100644 --- a/src/files/WorldFiles.cpp +++ b/src/files/WorldFiles.cpp @@ -20,9 +20,9 @@ #include #include -#include #include #include +#include const int SECTION_POSITION = 1; const int SECTION_ROTATION = 2; @@ -94,7 +94,7 @@ WorldFiles::~WorldFiles(){ } WorldRegion* WorldFiles::getRegion(regionsmap& regions, int x, int z) { - auto found = regions.find(ivec2(x, z)); + auto found = regions.find(glm::ivec2(x, z)); if (found == regions.end()) return nullptr; return found->second; @@ -104,7 +104,7 @@ WorldRegion* WorldFiles::getOrCreateRegion(regionsmap& regions, int x, int z) { WorldRegion* region = getRegion(regions, x, z); if (region == nullptr) { region = new WorldRegion(); - regions[ivec2(x, z)] = region; + regions[glm::ivec2(x, z)] = region; } return region; } @@ -367,7 +367,7 @@ void WorldFiles::writeRegions(regionsmap& regions, const fs::path& folder, int l WorldRegion* region = it.second; if (region->getChunks() == nullptr || !region->isUnsaved()) continue; - ivec2 key = it.first; + glm::ivec2 key = it.first; writeRegion(key.x, key.y, region, folder, layer); } } @@ -458,7 +458,7 @@ bool WorldFiles::readWorldInfo(World* world) { } void WorldFiles::writePlayer(Player* player){ - vec3 position = player->hitbox->position; + glm::vec3 position = player->hitbox->position; json::JObject root; json::JArray& posarr = root.putArray("position"); posarr.put(position.x); @@ -484,7 +484,7 @@ bool WorldFiles::readPlayer(Player* player) { std::unique_ptr root(files::read_json(file)); json::JArray* posarr = root->arr("position"); - vec3& position = player->hitbox->position; + glm::vec3& position = player->hitbox->position; position.x = posarr->num(0); position.y = posarr->num(1); position.z = posarr->num(2); diff --git a/src/frontend/WorldRenderer.cpp b/src/frontend/WorldRenderer.cpp index 6893ffda4..5a6fc8129 100644 --- a/src/frontend/WorldRenderer.cpp +++ b/src/frontend/WorldRenderer.cpp @@ -168,7 +168,7 @@ void WorldRenderer::draw(const GfxContext& pctx, Camera* camera){ shader->uniform3f("u_cameraPos", camera->position); shader->uniform1i("u_cubemap", 1); { - blockid_t id = level->player->choosenBlock; + blockid_t id = level->player->chosenBlock; Block* block = contentIds->getBlockDef(id); assert(block != nullptr); float multiplier = 0.5f; diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index ace6972ce..2bc92468b 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -256,7 +256,7 @@ void HudRenderer::drawContentAccess(const GfxContext& ctx, Player* player) { tint.g *= 1.2f; tint.b *= 1.2f; if (Events::jclicked(mousecode::BUTTON_1)) { - player->choosenBlock = i+1; + player->chosenBlock = i+1; } } else { tint = vec4(1.0f); @@ -335,7 +335,7 @@ void HudRenderer::draw(const GfxContext& ctx){ subctx.depthTest(true); subctx.cullFace(true); - Block* cblock = contentIds->getBlockDef(player->choosenBlock); + Block* cblock = contentIds->getBlockDef(player->chosenBlock); assert(cblock != nullptr); blocksPreview->draw(cblock, width - 56, uicamera->getFov() - 56, 48, vec4(1.0f)); //drawBlockPreview(cblock, width - 56, uicamera->fov - 56, 48, 48, vec4(1.0f)); diff --git a/src/logic/BlocksController.cpp b/src/logic/BlocksController.cpp new file mode 100644 index 000000000..fb9e82e70 --- /dev/null +++ b/src/logic/BlocksController.cpp @@ -0,0 +1,120 @@ +#include "BlocksController.h" + +#include "../voxels/voxel.h" +#include "../voxels/Block.h" +#include "../voxels/Chunk.h" +#include "../voxels/Chunks.h" +#include "../world/Level.h" +#include "../content/Content.h" +#include "../lighting/Lighting.h" +#include "../util/timeutil.h" + +#include "scripting/scripting.h" + +Clock::Clock(int tickRate, int tickParts) + : tickRate(tickRate), + tickParts(tickParts) { +} + +bool Clock::update(float delta) { + tickTimer += delta; + float delay = 1.0f / float(tickRate); + if (tickTimer > delay || tickPartsUndone) { + if (tickPartsUndone) { + tickPartsUndone--; + } else { + tickTimer = fmod(tickTimer, delay); + tickPartsUndone = tickParts-1; + } + return true; + } + return false; +} + +int Clock::getParts() const { + return tickParts; +} + +int Clock::getPart() const { + return tickParts-tickPartsUndone-1; +} + +BlocksController::BlocksController(Level* level, uint padding) + : level(level), + chunks(level->chunks), + lighting(level->lighting), + randTickClock(20, 3), + padding(padding) { +} + +void BlocksController::updateSides(int x, int y, int z) { + updateBlock(x-1, y, z); + updateBlock(x+1, y, z); + updateBlock(x, y-1, z); + updateBlock(x, y+1, z); + updateBlock(x, y, z-1); + updateBlock(x, y, z+1); +} + +void BlocksController::breakBlock(Player* player, const Block* def, int x, int y, int z) { + chunks->set(x,y,z, 0, 0); + lighting->onBlockSet(x,y,z, 0); + if (def->rt.funcsset.onbroken) { + scripting::on_block_broken(player, def, x, y, z); + } + updateSides(x, y, z); +} + +void BlocksController::updateBlock(int x, int y, int z) { + voxel* vox = chunks->get(x, y, z); + if (vox == nullptr) + return; + const Block* def = level->content->indices->getBlockDef(vox->id); + if (def->grounded && !chunks->isSolid(x, y-1, z)) { + breakBlock(nullptr, def, x, y, z); + return; + } + if (def->rt.funcsset.update) { + scripting::update_block(def, x, y, z); + } +} + +void BlocksController::update(float delta) { + if (randTickClock.update(delta)) { + randomTick(randTickClock.getPart(), randTickClock.getParts()); + } +} + +void BlocksController::randomTick(int tickid, int parts) { + // timeutil::ScopeLogTimer timer(5000+tickid); + const int w = chunks->w; + const int d = chunks->d; + auto indices = level->content->indices; + for (uint z = padding; z < d-padding; z++){ + for (uint x = padding; x < w-padding; x++){ + int index = z * w + x; + if ((index + tickid) % parts != 0) + continue; + std::shared_ptr chunk = chunks->chunks[index]; + if (chunk == nullptr || !chunk->isLighted()) + continue; + int segments = 4; + int segheight = CHUNK_H / segments; + for (int s = 0; s < segments; s++) { + for (int i = 0; i < 3; i++) { + int bx = rand() % CHUNK_W; + int by = rand() % segheight + s * segheight; + int bz = rand() % CHUNK_D; + const voxel& vox = chunk->voxels[(by * CHUNK_D + bz) * CHUNK_W + bx]; + Block* block = indices->getBlockDef(vox.id); + if (block->rt.funcsset.randupdate) { + scripting::random_update_block( + block, + chunk->x * CHUNK_W + bx, by, + chunk->z * CHUNK_D + bz); + } + } + } + } + } +} diff --git a/src/logic/BlocksController.h b/src/logic/BlocksController.h new file mode 100644 index 000000000..454bd16bb --- /dev/null +++ b/src/logic/BlocksController.h @@ -0,0 +1,46 @@ +#ifndef LOGIC_BLOCKS_CONTROLLER_H_ +#define LOGIC_BLOCKS_CONTROLLER_H_ + +#include "../typedefs.h" + +class Player; +class Block; +class Level; +class Chunks; +class Lighting; + +class Clock { + int tickRate; + int tickParts; + + float tickTimer = 0.0f; + int tickId = 0; + int tickPartsUndone = 0; +public: + Clock(int tickRate, int tickParts); + + bool update(float delta); + + int getParts() const; + int getPart() const; +}; + +class BlocksController { + Level* level; + Chunks* chunks; + Lighting* lighting; + Clock randTickClock; + uint padding; +public: + BlocksController(Level* level, uint padding); + + void updateSides(int x, int y, int z); + void updateBlock(int x, int y, int z); + + void breakBlock(Player* player, const Block* def, int x, int y, int z); + + void update(float delta); + void randomTick(int tickid, int parts); +}; + +#endif // LOGIC_BLOCKS_CONTROLLER_H_ diff --git a/src/logic/ChunksController.cpp b/src/logic/ChunksController.cpp index 1d3546085..c3d28ead5 100644 --- a/src/logic/ChunksController.cpp +++ b/src/logic/ChunksController.cpp @@ -2,13 +2,13 @@ #include #include +#include #include "../voxels/Block.h" #include "../voxels/Chunk.h" #include "../voxels/Chunks.h" #include "../voxels/ChunksStorage.h" #include "../voxels/WorldGenerator.h" -#include "../content/Content.h" #include "../graphics/Mesh.h" #include "../lighting/Lighting.h" #include "../files/WorldFiles.h" @@ -17,19 +17,14 @@ #include "../maths/voxmaths.h" #include "../util/timeutil.h" + const uint MAX_WORK_PER_FRAME = 64; const uint MIN_SURROUNDING = 9; -using std::unique_ptr; -using std::shared_ptr; - -ChunksController::ChunksController(Level* level, - Chunks* chunks, - Lighting* lighting, - uint padding) +ChunksController::ChunksController(Level* level, uint padding) : level(level), - chunks(chunks), - lighting(lighting), + chunks(level->chunks), + lighting(level->lighting), padding(padding), generator(new WorldGenerator(level->content)) { } @@ -66,7 +61,7 @@ bool ChunksController::loadVisible(){ for (uint z = padding; z < d-padding; z++){ for (uint x = padding; x < w-padding; x++){ int index = z * w + x; - shared_ptr chunk = chunks->chunks[index]; + std::shared_ptr chunk = chunks->chunks[index]; if (chunk != nullptr){ int surrounding = 0; for (int oz = -1; oz <= 1; oz++){ @@ -98,7 +93,7 @@ bool ChunksController::loadVisible(){ } int index = nearZ * w + nearX; - shared_ptr chunk = chunks->chunks[index]; + std::shared_ptr chunk = chunks->chunks[index]; if (chunk != nullptr) { return false; } diff --git a/src/logic/ChunksController.h b/src/logic/ChunksController.h index af6461630..a9fa0fa63 100644 --- a/src/logic/ChunksController.h +++ b/src/logic/ChunksController.h @@ -6,9 +6,6 @@ class Level; class Chunks; class Lighting; -class WorldFiles; -class VoxelRenderer; -class ChunksLoader; class WorldGenerator; /* ChunksController manages chunks dynamic loading/unloading */ @@ -26,7 +23,7 @@ class ChunksController { /* Process one chunk: load it or calculate lights for it */ bool loadVisible(); public: - ChunksController(Level* level, Chunks* chunks, Lighting* lighting, uint padding); + ChunksController(Level* level, uint padding); ~ChunksController(); /* @param maxDuration milliseconds reserved for chunks loading */ diff --git a/src/logic/LevelController.cpp b/src/logic/LevelController.cpp index 05c134b60..2ab74f702 100644 --- a/src/logic/LevelController.cpp +++ b/src/logic/LevelController.cpp @@ -2,28 +2,29 @@ #include "../world/Level.h" #include "PlayerController.h" +#include "BlocksController.h" #include "ChunksController.h" +#include "scripting/scripting.h" + LevelController::LevelController(EngineSettings& settings, Level* level) : settings(settings), level(level) { - chunks = new ChunksController( - level, - level->chunks, - level->lighting, - settings.chunks.padding); - player = new PlayerController(level, settings); + blocks = new BlocksController(level, settings.chunks.padding); + chunks = new ChunksController(level, settings.chunks.padding); + player = new PlayerController(level, settings, blocks); + + scripting::on_world_load(level); } LevelController::~LevelController() { + scripting::on_world_quit(); delete player; delete chunks; } -void LevelController::update( - float delta, - bool input, - bool pause) { +void LevelController::update(float delta, bool input, bool pause) { player->update(delta, input, pause); level->update(); chunks->update(settings.chunks.loadSpeed); -} \ No newline at end of file + blocks->update(delta); +} diff --git a/src/logic/LevelController.h b/src/logic/LevelController.h index a889cd036..f319d5541 100644 --- a/src/logic/LevelController.h +++ b/src/logic/LevelController.h @@ -4,6 +4,7 @@ #include "../settings.h" class Level; +class BlocksController; class ChunksController; class PlayerController; @@ -12,6 +13,7 @@ class LevelController { EngineSettings& settings; Level* level; // Sub-controllers + BlocksController* blocks; ChunksController* chunks; PlayerController* player; public: diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index d0caf2ef5..ba243237d 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -12,6 +12,8 @@ #include "../window/Camera.h" #include "../window/Events.h" #include "../window/input.h" +#include "scripting/scripting.h" +#include "BlocksController.h" #include "../core_defs.h" @@ -25,9 +27,6 @@ const float RUN_ZOOM = 1.1f; const float C_ZOOM = 0.1f; const float CROUCH_SHIFT_Y = -0.2f; -using glm::vec2; -using glm::vec3; -using std::string; CameraControl::CameraControl(Player* player, const CameraSettings& settings) : player(player), @@ -55,27 +54,27 @@ void CameraControl::updateMouse(PlayerInput& input) { float& camY = player->camY; camX += rotX; camY += rotY; - if (camY < -radians(89.9f)){ - camY = -radians(89.9f); + if (camY < -glm::radians(89.9f)){ + camY = -glm::radians(89.9f); } - if (camY > radians(89.9f)){ - camY = radians(89.9f); + if (camY > glm::radians(89.9f)){ + camY = glm::radians(89.9f); } - camera->rotation = mat4(1.0f); + camera->rotation = glm::mat4(1.0f); camera->rotate(camY, camX, 0); } void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { Hitbox* hitbox = player->hitbox; - offset = vec3(0.0f, 0.7f, 0.0f); + offset = glm::vec3(0.0f, 0.7f, 0.0f); if (settings.shaking && !input.cheat) { const float k = CAM_SHAKE_DELTA_K; const float oh = CAM_SHAKE_OFFSET; const float ov = CAM_SHAKE_OFFSET_Y; - const vec3& vel = hitbox->velocity; + const glm::vec3& vel = hitbox->velocity; interpVel = interpVel * (1.0f - delta * 5) + vel * delta * 0.1f; if (hitbox->grounded && interpVel.y < 0.0f){ @@ -83,12 +82,12 @@ void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { } shake = shake * (1.0f - delta * k); if (hitbox->grounded) { - float f = length(vec2(vel.x, vel.z)); + float f = glm::length(glm::vec2(vel.x, vel.z)); shakeTimer += delta * f * CAM_SHAKE_SPEED; shake += f * delta * k; } - offset += camera->right * sin(shakeTimer) * oh * shake; - offset += camera->up * abs(cos(shakeTimer)) * ov * shake; + offset += camera->right * glm::sin(shakeTimer) * oh * shake; + offset += camera->up * glm::abs(glm::cos(shakeTimer)) * ov * shake; offset -= glm::min(interpVel * 0.05f, 1.0f); } @@ -98,7 +97,7 @@ void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { float dt = fmin(1.0f, delta * ZOOM_SPEED); float zoomValue = 1.0f; if (crouch){ - offset += vec3(0.f, CROUCH_SHIFT_Y, 0.f); + offset += glm::vec3(0.f, CROUCH_SHIFT_Y, 0.f); zoomValue = CROUCH_ZOOM; } else if (input.sprint){ zoomValue = RUN_ZOOM; @@ -128,16 +127,20 @@ void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { } } -vec3 PlayerController::selectedBlockPosition; -vec3 PlayerController::selectedPointPosition; -ivec3 PlayerController::selectedBlockNormal; +glm::vec3 PlayerController::selectedBlockPosition; +glm::vec3 PlayerController::selectedPointPosition; +glm::ivec3 PlayerController::selectedBlockNormal; int PlayerController::selectedBlockId = -1; int PlayerController::selectedBlockStates = 0; -PlayerController::PlayerController(Level* level, const EngineSettings& settings) +PlayerController::PlayerController( + Level* level, + const EngineSettings& settings, + BlocksController* blocksController) : level(level), player(level->player), - camControl(level->player, settings.camera) { + camControl(level->player, settings.camera), + blocksController(blocksController) { } void PlayerController::update(float delta, bool input, bool pause) { @@ -177,7 +180,7 @@ void PlayerController::updateKeyboard() { // block choice for (int i = 1; i < 10; i++){ if (Events::jpressed(keycode::NUM_0+i)){ - player->choosenBlock = i; + player->chosenBlock = i; } } } @@ -211,9 +214,9 @@ void PlayerController::updateInteraction(){ Player* player = level->player; Lighting* lighting = level->lighting; Camera* camera = player->camera; - vec3 end; - ivec3 iend; - ivec3 norm; + glm::vec3 end; + glm::ivec3 iend; + glm::ivec3 norm; bool xkey = Events::pressed(keycode::X); bool lclick = Events::jactive(BIND_PLAYER_ATTACK) || @@ -241,9 +244,9 @@ void PlayerController::updateInteraction(){ int z = iend.z; uint8_t states = 0; - Block* def = contentIds->getBlockDef(player->choosenBlock); + Block* def = contentIds->getBlockDef(player->chosenBlock); if (def->rotatable){ - const string& name = def->rotations.name; + const std::string& name = def->rotations.name; if (name == "pipe") { if (norm.x < 0.0f) states = BLOCK_DIR_WEST; else if (norm.x > 0.0f) states = BLOCK_DIR_EAST; @@ -252,7 +255,7 @@ void PlayerController::updateInteraction(){ else if (norm.z > 0.0f) states = BLOCK_DIR_NORTH; else if (norm.z < 0.0f) states = BLOCK_DIR_SOUTH; } else if (name == "pane") { - vec3 vec = camera->dir; + glm::vec3 vec = camera->dir; if (abs(vec.x) > abs(vec.z)){ if (vec.x > 0.0f) states = BLOCK_DIR_EAST; if (vec.x < 0.0f) states = BLOCK_DIR_WEST; @@ -266,8 +269,7 @@ void PlayerController::updateInteraction(){ Block* block = contentIds->getBlockDef(vox->id); if (lclick && block->breakable){ - chunks->set(x,y,z, 0, 0); - lighting->onBlockSet(x,y,z, 0); + blocksController->breakBlock(player, block, x, y, z); } if (rclick){ if (block->model != BlockModel::xsprite){ @@ -276,19 +278,30 @@ void PlayerController::updateInteraction(){ z = (iend.z)+(norm.z); } vox = chunks->get(x, y, z); + int chosenBlock = player->chosenBlock; if (vox && (block = contentIds->getBlockDef(vox->id))->replaceable) { if (!level->physics->isBlockInside(x,y,z, player->hitbox) || !def->obstacle){ - chunks->set(x, y, z, player->choosenBlock, states); - lighting->onBlockSet(x,y,z, player->choosenBlock); + Block* def = contentIds->getBlockDef(chosenBlock); + if (def->grounded && !chunks->isSolid(x, y-1, z)) { + chosenBlock = 0; + } + if (chosenBlock != vox->id) { + chunks->set(x, y, z, chosenBlock, states); + lighting->onBlockSet(x,y,z, chosenBlock); + if (def->rt.funcsset.onplaced) { + scripting::on_block_placed(player, def, x, y, z); + } + blocksController->updateSides(x, y, z); + } } } } if (Events::jactive(BIND_PLAYER_PICK)){ - player->choosenBlock = chunks->get(x,y,z)->id; + player->chosenBlock = chunks->get(x,y,z)->id; } } else { selectedBlockId = -1; selectedBlockStates = 0; } -} \ No newline at end of file +} diff --git a/src/logic/PlayerController.h b/src/logic/PlayerController.h index 6893382b1..ffab1c56c 100644 --- a/src/logic/PlayerController.h +++ b/src/logic/PlayerController.h @@ -8,6 +8,7 @@ class Camera; class Level; +class BlocksController; class CameraControl { Player* player; @@ -29,6 +30,7 @@ class PlayerController { Player* player; PlayerInput input; CameraControl camControl; + BlocksController* blocksController; void updateKeyboard(); void updateCamera(float delta, bool movement); @@ -42,7 +44,9 @@ class PlayerController { static int selectedBlockId; static int selectedBlockStates; - PlayerController(Level* level, const EngineSettings& settings); + PlayerController(Level* level, + const EngineSettings& settings, + BlocksController* blocksController); void update(float delta, bool input, bool pause); }; diff --git a/src/logic/scripting/api_lua.cpp b/src/logic/scripting/api_lua.cpp new file mode 100644 index 000000000..766bc7d0b --- /dev/null +++ b/src/logic/scripting/api_lua.cpp @@ -0,0 +1,65 @@ +#include "api_lua.h" +#include "scripting.h" + +#include "../../world/Level.h" +#include "../../content/Content.h" +#include "../../voxels/Block.h" +#include "../../voxels/Chunks.h" +#include "../../voxels/voxel.h" + +int l_block_name(lua_State* L) { + int id = lua_tointeger(L, 1); + lua_pushstring(L, scripting::content->indices->getBlockDef(id)->name.c_str()); + return 1; +} + +int l_is_solid_at(lua_State* L) { + int x = lua_tointeger(L, 1); + int y = lua_tointeger(L, 2); + int z = lua_tointeger(L, 3); + + lua_pushboolean(L, scripting::level->chunks->isSolid(x, y, z)); + return 1; +} + +int l_blocks_count(lua_State* L) { + lua_pushinteger(L, scripting::content->indices->countBlockDefs()); + return 1; +} + +int l_block_index(lua_State* L) { + auto name = lua_tostring(L, 1); + lua_pushinteger(L, scripting::content->requireBlock(name)->rt.id); + return 1; +} + +int l_set_block(lua_State* L) { + int x = lua_tointeger(L, 1); + int y = lua_tointeger(L, 2); + int z = lua_tointeger(L, 3); + int id = lua_tointeger(L, 4); + scripting::level->chunks->set(x, y, z, id, 0); + return 0; +} + +int l_get_block(lua_State* L) { + int x = lua_tointeger(L, 1); + int y = lua_tointeger(L, 2); + int z = lua_tointeger(L, 3); + voxel* vox = scripting::level->chunks->get(x, y, z); + int id = vox == nullptr ? -1 : vox->id; + lua_pushinteger(L, id); + return 1; +} + +#define lua_addfunc(L, FUNC, NAME) (lua_pushcfunction(L, FUNC),\ + lua_setglobal(L, NAME)) + +void apilua::create_funcs(lua_State* L) { + lua_addfunc(L, l_block_index, "block_index"); + lua_addfunc(L, l_block_name, "block_name"); + lua_addfunc(L, l_blocks_count, "blocks_count"); + lua_addfunc(L, l_is_solid_at, "is_solid_at"); + lua_addfunc(L, l_set_block, "set_block"); + lua_addfunc(L, l_get_block, "get_block"); +} diff --git a/src/logic/scripting/api_lua.h b/src/logic/scripting/api_lua.h new file mode 100644 index 000000000..e48a6548e --- /dev/null +++ b/src/logic/scripting/api_lua.h @@ -0,0 +1,14 @@ +#ifndef LOGIC_SCRIPTING_API_LUA_H_ +#define LOGIC_SCRIPTING_API_LUA_H_ + +#include + +#ifndef LUAJIT_VERSION +#pragma message("better use LuaJIT instead of plain Lua") +#endif // LUAJIT_VERSION + +namespace apilua { + extern void create_funcs(lua_State* L); +} + +#endif // LOGIC_SCRIPTING_API_LUA_H_ diff --git a/src/logic/scripting/scripting.cpp b/src/logic/scripting/scripting.cpp new file mode 100644 index 000000000..ed0b19e08 --- /dev/null +++ b/src/logic/scripting/scripting.cpp @@ -0,0 +1,140 @@ +#include "scripting.h" + +#include +#include +#include + +#include "../../files/engine_paths.h" +#include "../../files/files.h" +#include "../../util/timeutil.h" +#include "../../world/Level.h" +#include "../../voxels/Block.h" +#include "api_lua.h" + +using namespace scripting; + +namespace scripting { + extern lua_State* L; + extern EnginePaths* paths; +} + +lua_State* scripting::L = nullptr; +Level* scripting::level = nullptr; +const Content* scripting::content = nullptr; +EnginePaths* scripting::paths = nullptr; + +void delete_global(lua_State* L, const char* name) { + lua_pushnil(L); + lua_setglobal(L, name); +} + +bool rename_global(lua_State* L, const char* src, const char* dst) { + lua_getglobal(L, src); + if (lua_isnil(L, lua_gettop(L))) { + lua_pop(L, lua_gettop(L)); + return false; + } + lua_setglobal(L, dst); + delete_global(L, src); + return true; +} + +void call_func(lua_State* L, int argc, const std::string& name) { + if (lua_pcall(L, argc, LUA_MULTRET, 0)) { + std::cerr << "Lua error in " << name << ": "; + std::cerr << lua_tostring(L,-1) << std::endl; + } +} + +void scripting::initialize(EnginePaths* paths) { + scripting::paths = paths; + + L = luaL_newstate(); + if (L == nullptr) { + throw std::runtime_error("could not to initialize Lua"); + } + luaopen_base(L); + luaopen_math(L); + + std::cout << LUA_VERSION << std::endl; +# ifdef LUAJIT_VERSION + luaopen_jit(L); + std::cout << LUAJIT_VERSION << std::endl; +# endif // LUAJIT_VERSION + + apilua::create_funcs(L); +} + +void scripting::on_world_load(Level* level) { + scripting::level = level; + scripting::content = level->content; + + fs::path file = paths->getResources()/fs::path("scripts/world.lua"); + std::string src = files::read_string(file); + luaL_loadbuffer(L, src.c_str(), src.length(), file.string().c_str()); + call_func(L, 0, "