diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c98e9a02..90d83edd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,19 +3,27 @@ name: 🛠️ CI on: [pull_request] jobs: - clang-format: - uses: ./.github/workflows/clang-format.yml - secrets: inherit - clang-tidy: - uses: ./.github/workflows/clang-tidy.yml - secrets: inherit - windows: - uses: ./.github/workflows/windows.yml - secrets: inherit - linux: - uses: ./.github/workflows/linux.yml - secrets: inherit - mac-armv8: - uses: ./.github/workflows/mac.yml - secrets: inherit - \ No newline at end of file + clang-format: + uses: engine3d-dev/ci/.github/workflows/clang-format.yml@main + secrets: inherit + + windows: + uses: engine3d-dev/ci/.github/workflows/windows.yml@main + with: + package_name: "TheAtlasEngine" + version: "0.5" + secrets: inherit + + linux: + uses: engine3d-dev/ci/.github/workflows/linux.yml@main + with: + package_name: "TheAtlasEngine" + version: "0.5" + secrets: inherit + + mac: + uses: engine3d-dev/ci/.github/workflows/mac.yml@main + with: + package_name: "TheAtlasEngine" + version: "0.5" + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml deleted file mode 100644 index bb2ad93f..00000000 --- a/.github/workflows/linux.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Linux - -on: [workflow_call] - -jobs: - ubuntu: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Install LLVM's C++ Standard Library - run: sudo apt-get install libc++-20-dev libc++abi-20-dev - - - name: Installing pipx - run: sudo apt install pipx - - - name: Installing Prerequisites for Linux - run: | - sudo apt-get update - sudo apt install software-properties-common -y - sudo add-apt-repository ppa:deadsnakes/ppa - - - name: Install Vulkan SDK - uses: humbletim/setup-vulkan-sdk@v1.2.1 - with: - vulkan-query-version: 1.4.304.1 - vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true - - - name: Installing Conan - run: pipx install "conan>=2.18.1" - - - name: Setting up Conan Profiles - run: conan config install -sf profiles/x86_64/linux/ -tf profiles https://github.com/engine3d-dev/conan-config.git - - - name: Setting up Conan - run: | - conan config install https://github.com/engine3d-dev/conan-config.git - conan atlas setup - - - name: Creating Release build for TheAtlasEngine - run: conan atlas create . -s build_type=Release - - - name: Creating Debug build for TheAtlasEngine - run: conan atlas create . -s build_type=Debug - - - name: Creating MinSizeRel build for TheAtlasEngine - run: conan atlas create . -s build_type=MinSizeRel - diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml deleted file mode 100644 index 276b90c7..00000000 --- a/.github/workflows/mac.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: MacOS - -on: [workflow_call] - -jobs: - armv8: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - - name: Install Homebrew - run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - - - name: Install LLVM - run: | - brew install python pipx - - - name: Install Vulkan SDK - uses: humbletim/setup-vulkan-sdk@v1.2.1 - with: - vulkan-query-version: 1.4.304.1 - vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true - - - - name: Installing conan - run: | - pipx install "conan>=2.18.2" - pipx upgrade conan - - - name: Installing clang-tidy - run: sudo ln -s $(brew --prefix llvm)/bin/clang-tidy /usr/local/bin/ - - - name: Install Rosetta - run: /usr/sbin/softwareupdate --install-rosetta --agree-to-license - - - name: Setting up Conan configuration - run: | - conan config install https://github.com/engine3d-dev/conan-config.git - conan atlas setup - - - name: Creating Release build for TheAtlasEngine - run: conan atlas create . -s build_type=Release - - - name: Creating Debug build for TheAtlasEngine - run: conan atlas create . -s build_type=Debug - - - name: Creating MinSizeRel build for TheAtlasEngine - run: conan atlas create . -s build_type=MinSizeRel \ No newline at end of file diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 8b6d79c0..00000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Windows - -on: [workflow_call] - -jobs: - x86_64: - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - - name: Installing Choco - shell: pwsh - run: Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) - - - name: Installing Git - shell: pwsh - run: choco install git - - - name: Install Vulkan SDK - uses: humbletim/setup-vulkan-sdk@v1.2.1 - with: - vulkan-query-version: 1.4.304.1 - vulkan-components: Vulkan-Headers, Vulkan-Loader - vulkan-use-cache: true - - - name: Pip installing conan - shell: pwsh - run: pip install conan - - - name: Setting up Conan configuration - shell: pwsh - run: | - conan config install https://github.com/engine3d-dev/conan-config.git - conan atlas setup - - - name: Creating Release build for TheAtlasEngine - shell: pwsh - run: conan atlas create . -s build_type=Release - - - name: Creating Debug build for TheAtlasEngine - shell: pwsh - run: conan atlas create . -s build_type=Debug - - - name: Creating MinSizeRel build for TheAtlasEngine - shell: pwsh - run: conan atlas create . -s build_type=MinSizeRel \ No newline at end of file diff --git a/atlas/core/scene/components.cppm b/atlas/core/scene/components.cppm index 61ce7999..41d36647 100644 --- a/atlas/core/scene/components.cppm +++ b/atlas/core/scene/components.cppm @@ -26,7 +26,7 @@ export namespace atlas { }; struct environment { - std::string filepath=""; + std::string filepath = ""; }; struct material_metadata { diff --git a/atlas/core/scene/scene.cppm b/atlas/core/scene/scene.cppm index 4b8c6899..746222f7 100644 --- a/atlas/core/scene/scene.cppm +++ b/atlas/core/scene/scene.cppm @@ -230,7 +230,6 @@ export namespace atlas { */ [[nodiscard]] uint64_t unique_id() const { return m_scene_uuid; } - void set_environment_map(const std::string& p_filepath) { environment environment_mapping = { .filepath = p_filepath, diff --git a/atlas/core/scene/uuid.cppm b/atlas/core/scene/uuid.cppm index 9148dc22..590c6199 100644 --- a/atlas/core/scene/uuid.cppm +++ b/atlas/core/scene/uuid.cppm @@ -4,7 +4,6 @@ module; export module atlas.core.scene.uuid; - export namespace atlas { class uuid { @@ -12,7 +11,9 @@ export namespace atlas { uuid() { std::random_device rd; std::mt19937_64 engine(rd()); - std::uniform_int_distribution distribution(std::numeric_limits::min(), std::numeric_limits::max()); + std::uniform_int_distribution distribution( + std::numeric_limits::min(), + std::numeric_limits::max()); m_uuid_value = distribution(engine); } @@ -22,6 +23,6 @@ export namespace atlas { operator uint64_t() const { return m_uuid_value; } private: - uint64_t m_uuid_value=0; + uint64_t m_uuid_value = 0; }; }; \ No newline at end of file diff --git a/atlas/core/scene/world.cppm b/atlas/core/scene/world.cppm index f753c2c4..0616e4de 100644 --- a/atlas/core/scene/world.cppm +++ b/atlas/core/scene/world.cppm @@ -38,7 +38,8 @@ export namespace atlas { * with it */ world(const std::string& p_name, level_streamer& p_level_streamer) - : m_name(p_name), m_level_streamer(&p_level_streamer) {} + : m_name(p_name) + , m_level_streamer(&p_level_streamer) {} virtual ~world() = default; @@ -46,17 +47,16 @@ export namespace atlas { [[nodiscard]] std::string name() const { return m_name; } /** - * @brief Retrieves the currently active scene - */ - ref current() { - return m_current; - } + * @brief Retrieves the currently active scene + */ + ref current() { return m_current; } /** - * @brief sets the default scene to an implementation-specific scene - */ + * @brief sets the default scene to an implementation-specific scene + */ template - void default_custom_scene(const std::string& p_name, event::bus& p_bus) { + void default_custom_scene(const std::string& p_name, + event::bus& p_bus) { m_level_streamer->default_scene(p_name, p_bus); } @@ -67,6 +67,6 @@ export namespace atlas { private: ref m_current; std::string m_name = "Undefined Tag"; - level_streamer* m_level_streamer=nullptr; + level_streamer* m_level_streamer = nullptr; }; }; \ No newline at end of file diff --git a/atlas/core/serialize/serializer.cppm b/atlas/core/serialize/serializer.cppm index 9cb3c0a2..cdeaeb06 100644 --- a/atlas/core/serialize/serializer.cppm +++ b/atlas/core/serialize/serializer.cppm @@ -236,11 +236,12 @@ namespace atlas { } console_log_info("Before loading environment mappings!"); - std::string environment_map_data=""; - if(data["Environment"]) { + std::string environment_map_data = ""; + if (data["Environment"]) { environment_map_data = data["Environment"].as(); - console_log_info("Environment Map Loaded Path (from yaml): {}", environment_map_data); + console_log_info("Environment Map Loaded Path (from yaml): {}", + environment_map_data); } p_registry.set({ .filepath = environment_map_data }); diff --git a/atlas/core/utilities/poll_state.cppm b/atlas/core/utilities/poll_state.cppm index be383e2d..ebc93631 100644 --- a/atlas/core/utilities/poll_state.cppm +++ b/atlas/core/utilities/poll_state.cppm @@ -7,11 +7,16 @@ module; export module atlas.core.utilities.poll_state; export namespace atlas { - inline std::unordered_map>> s_update{}; - inline std::unordered_map>> s_defer_update{}; - inline std::unordered_map>> s_ui_update{}; - inline std::unordered_map>> s_physica_update{}; - inline std::unordered_map>> s_start{}; + inline std::unordered_map>> + s_update{}; + inline std::unordered_map>> + s_defer_update{}; + inline std::unordered_map>> + s_ui_update{}; + inline std::unordered_map>> + s_physica_update{}; + inline std::unordered_map>> + s_start{}; void poll_update(void* p_address, const std::function& p_callback) { @@ -81,7 +86,7 @@ export namespace atlas { // on_update(p_delta_time); // } - for(auto& on_update : s_update[p_scene]) { + for (auto& on_update : s_update[p_scene]) { on_update(p_delta_time); } } diff --git a/atlas/drivers/vulkan/render_system.cppm b/atlas/drivers/vulkan/render_system.cppm index 4fa8dcdc..b60866ec 100644 --- a/atlas/drivers/vulkan/render_system.cppm +++ b/atlas/drivers/vulkan/render_system.cppm @@ -279,11 +279,13 @@ export namespace atlas::vulkan { // m_skybox = environment_map(m_device, faces, // m_physical.memory_properties(), m_final_renderpass); std::string - const environment* environment_data = m_current_scene->get(); - m_skybox = environment_map(m_device, - std::filesystem::path(environment_data->filepath), - m_physical.memory_properties(), - m_final_renderpass); + const environment* environment_data = + m_current_scene->get(); + m_skybox = + environment_map(m_device, + std::filesystem::path(environment_data->filepath), + m_physical.memory_properties(), + m_final_renderpass); flecs::query<> caching = m_current_scene->query_builder().build(); diff --git a/editor/level_scene.cppm b/editor/level_scene.cppm index b43de61f..7ebacf37 100644 --- a/editor/level_scene.cppm +++ b/editor/level_scene.cppm @@ -420,7 +420,8 @@ public: flecs::world registry = *this; - // TODO: Should consider having this be a custom UI property to the editor. + // TODO: Should consider having this be a custom UI property to the + // editor. auto viking_room = entity("Viking Room"); atlas::mesh_source* src = viking_room.get_mut(); src->flip = true;