25 Commits

Author SHA1 Message Date
90b28158be Fix P7 compile target 2026-01-18 21:05:59 +03:00
0ff3a35ed3 Refactor and Magnum integration 2026-01-18 20:47:45 +03:00
67b2b64d2f Refactor modules architecture 2026-01-14 17:32:32 +03:00
945cf4b1cc UBO base 2026-01-14 15:26:09 +03:00
fd6437a94b Index buffers 2025-10-09 20:24:57 +03:00
2e0369ee2b Vertex buffers
- Fix RenderObject comparator for storing in set
- RenderObjects get ID on register
- Transfer queue family and queue
- Command buffers for transfer queue
- PipelineFactory constructor parameters combined in PipelineBinding structure
- GPU_Vertex and GPU_Buffer structures to map GPU memory data
- Vertex buffers for world and UI RenderObjects with staging
2025-10-04 20:46:15 +03:00
16bd65c35a Window minimization handle
- Getter for Renderer isRunning
- Disabling drawing with isDrawing
- Disabling drawing on zero size
- Recreate swapchain on GLFW resize event
2025-10-01 14:52:37 +03:00
1d65039e2f Swapchain presentation and GLFW
- Render objects list
- SDL2 replaced with GLFW
- Swapchain synchronization, presentation and recreation on resize
2025-09-27 12:30:00 +03:00
389ed599c8 Pipeline factory and materials
- AssetManager uses static assets ID from path hash
- PipelineFactory creates Vulkan pipelines using PipelineConfig structure depending on AssetMaterial and creation flags
- AssetMaterial describes pipelines (e.g. used shaders)
- Materials are described with JSON in sources with path references to other assets
- AssetMaterial is parsed from binary file with asset IDs in references
- compile_config tool compiles material JSON file to binary file with path references replaced with asset IDs
- Allocator supports type's constructors with arguments
- NativeFileSystem: fixed empty bufferSize and buffer trash
2025-08-29 13:13:11 +03:00
b0be28ff2c p7lib warnings fix 2025-08-24 15:27:51 +03:00
7ad2ec4dc8 Shaders assets and loading fix
- a = { ... } definitions replaced with a { ... }
- GetOverlappedResult replaced with waiting for event in Windows async file loading
- FileHandles and AssetHandles stored in heap for container element adresses consistence
- Shader assets examples
2025-08-24 14:56:17 +03:00
9a258f7443 Asset Manager
- Class for threaded load and read assets from virtual file system
2025-08-23 16:28:12 +03:00
2a8abd04d8 Frame Views 2025-08-19 16:32:26 +03:00
1aae507c11 Vulkan swapchain
- Filter devices with swapchain present support
- Configure swapchain and images
2025-08-13 23:59:48 +03:00
7e59a9d2d7 Vulkan surface and queues
- Vulkan SDL surface creation
- Present support check in device selection
- Present queue family and queue
2025-08-12 16:48:13 +03:00
721e5afbac Vulkan device initialization and compilation utils
- Vulkan initialization moved to InitVulkan()
- Renderer thread processes commands from main thread
- SetupDevice() for select physical device and queue families, create logical device and queues.
2025-08-11 23:51:08 +03:00
0062aa85e5 Renderer thread base
- Renderer class
- Vulkan and RmlUi moved from main to Renderer thread
2025-08-08 20:25:47 +03:00
32f4597c4d Base frontend module
- Naming style migrated to camel-case
- P7lib logger sources added
- Vcpkg manifest, CMake presets and build moved to root
- SDL2, Vulkan and RmlUi dependencies added
- Logger LOG macro added
- Logger  configuration
- SDL2 window configuration
- Vulkan configuration
- RmlUi configuration
- SDL event loop
2025-08-08 00:07:32 +03:00
06ecfe88c1 root gitignore 2025-08-06 18:17:53 +03:00
eb480f02b8 Static linking instead of DLL 2025-08-06 18:14:50 +03:00
ff6c146153 Enterprise salary and API
- Enterprises have action type, money, salary and bankruption status
- Enterprise add and multiply functions replaced with setters
- Delivery contracts have cost, distance and sponsor reference. Value renamed to amount
- Integer values use static sizes types
- Action CONTAIN renamed to STORE
- Enterprises skip their action if is bankrupt
- Delivering transfers money from sponsor to deliverer due contract
- Enterprise routine system processes salaries and bankruptcy
- ee_ecs data structures renamed with snake_case
- Get enterprises info request
2025-08-06 17:52:37 +03:00
bbf45e832c Delivering and tests
- Deliverer component added
- Delivering system added
- Delivery tests
- Spawn enterprises tests (miner and deliverer)
- Base, factor and total efficiency of enterprise added
- Value of resource mined per tick moved from miner to enterprise efficiency
2025-07-08 19:01:31 +03:00
74042175f8 State and enterprises register, move namespaces 2025-07-04 18:20:45 +03:00
Пригарин Олег Юрьевич
80e025afed Project structure refactor 2025-07-04 00:34:28 +03:00
Пригарин Олег Юрьевич
c8b6287b76 Economy ECS API base 2025-07-03 21:51:21 +03:00