From 19e1c76494846386ca51281e09ea31886adea3cb Mon Sep 17 00:00:00 2001 From: Gaboouu <99047760+xGabou@users.noreply.github.com> Date: Mon, 6 Apr 2026 13:53:06 -0400 Subject: [PATCH 01/23] feat: implement hurricane system with state synchronization and rendering support --- .idea/workspace.xml | 28 +- CHANGES.md | 14 +- .../client/ClientTickHandler.java | 3 + .../hurricane/ClientHurricaneStateCache.java | 114 +++++ .../ClientForecastLoadingLifecycle.java | 4 + .../manager/AtmosphereManager.java | 2 + .../manager/ForecastOrchestrator.java | 14 +- .../mixin/CloudMeshGeneratorShaderMixin.java | 31 ++ .../MultiRegionCloudMeshGeneratorMixin.java | 346 ++++++++++++-- .../mixin/SimpleCloudsRendererMixin.java | 34 -- .../modules/hurricane/HurricaneCommand.java | 13 +- .../modules/hurricane/HurricaneInstance.java | 92 +++- .../modules/hurricane/HurricaneManager.java | 39 +- .../hurricane/HurricaneRenderSnapshot.java | 56 +++ .../modules/hurricane/HurricaneState.java | 4 - .../network/NetworkHandler.java | 10 +- .../network/SyncHurricaneStatePacket.java | 47 ++ .../render/HurricaneMeshRenderer.java | 72 --- .../render/HurricaneStateProvider.java | 36 -- .../util/HurricaneUpload.java | 17 + .../projectatmosphere/util/RegionUpload.java | 7 + .../projectatmosphere/util/TornadoUpload.java | 7 + .../shaders/compute/cloud_regions.comp | 207 ++++++++ .../shaders/compute/cube_mesh.comp | 447 ++++++++++++++++++ .../shaders/compute/cloud_regions.comp | 190 ++++++-- .../shaders/compute/cube_mesh.comp | 14 +- .../simpleclouds/cloud_types/hurricane.json | 49 ++ .../resources/projectatmosphere.mixins.json | 4 +- 28 files changed, 1614 insertions(+), 287 deletions(-) create mode 100644 src/main/java/net/Gabou/projectatmosphere/client/hurricane/ClientHurricaneStateCache.java create mode 100644 src/main/java/net/Gabou/projectatmosphere/mixin/CloudMeshGeneratorShaderMixin.java delete mode 100644 src/main/java/net/Gabou/projectatmosphere/mixin/SimpleCloudsRendererMixin.java create mode 100644 src/main/java/net/Gabou/projectatmosphere/modules/hurricane/HurricaneRenderSnapshot.java delete mode 100644 src/main/java/net/Gabou/projectatmosphere/modules/hurricane/HurricaneState.java create mode 100644 src/main/java/net/Gabou/projectatmosphere/network/SyncHurricaneStatePacket.java delete mode 100644 src/main/java/net/Gabou/projectatmosphere/render/HurricaneMeshRenderer.java delete mode 100644 src/main/java/net/Gabou/projectatmosphere/render/HurricaneStateProvider.java create mode 100644 src/main/java/net/Gabou/projectatmosphere/util/HurricaneUpload.java create mode 100644 src/main/java/net/Gabou/projectatmosphere/util/RegionUpload.java create mode 100644 src/main/java/net/Gabou/projectatmosphere/util/TornadoUpload.java create mode 100644 src/main/resources/assets/projectatmosphere/shaders/compute/cloud_regions.comp create mode 100644 src/main/resources/assets/projectatmosphere/shaders/compute/cube_mesh.comp create mode 100644 src/main/resources/data/simpleclouds/cloud_types/hurricane.json diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6e1c8b6d..e0585302 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,9 +5,28 @@ + + + - + + + + + + + + + + + + + + + + + @@ -244,8 +263,9 @@ "RunOnceActivity.git.unshallow": "true", "RunOnceActivity.typescript.service.memoryLimit.init": "true", "SHARE_PROJECT_CONFIGURATION_FILES": "true", + "codeWithMe.voiceChat.enabledByDefault": "false", "extract.method.default.visibility": "private", - "git-widget-placeholder": "Dynamic-Forge-1.20.1", + "git-widget-placeholder": "Dynamic-Forge-1.20.1-Hurricane", "ignore.virus.scanning.warn.message": "true", "junie.onboarding.icon.badge.shown": "true", "kotlin-language-version-configured": "true", @@ -677,6 +697,8 @@ + + - - -