Skip to content

Collision mesh building - #625

Open
IsaacLic wants to merge 5 commits into
developfrom
collisionMeshBuilding
Open

Collision mesh building#625
IsaacLic wants to merge 5 commits into
developfrom
collisionMeshBuilding

Conversation

@IsaacLic

@IsaacLic IsaacLic commented Oct 11, 2021

Copy link
Copy Markdown
Contributor

Description

This PR generifies collision mesh creation. Rather than needing to create a separate system for each type of Body with a new instance of CollisionMeshLoader, the new CollisionMeshBuilderSystem handles all Body creation.

The BodyLinked component has two new fields - one for the JSON path to the mesh data, and another for the schema file that details how the data is laid out. When an entity has a BodyLinked component, the system will build a Body using the mesh data when it receives a GenerateBodyEvent (which will happen at the next tick).

Testing

Shoot the testing asteroid (the golden asteroid visible on startup). The projectile should still collide with it, so the asteroid should be destroyed. Then try flying into the rubble. The ship should not pass through the rubble.

IsaacLic and others added 5 commits October 11, 2021 11:56
# Conflicts:
#	engine/src/main/java/org/destinationsol/asteroids/systems/AsteroidBodyCreationSystem.java
#	engine/src/main/java/org/destinationsol/rubble/systems/RubbleCreationSystem.java
Follow-up fixes to the merged collision mesh builder work, needed because
develop has moved on since the original change was written.

* CollisionMeshBuilderSystem used @in field injection for World and
  EntitySystemManager. EventReceiverServiceRegistry now hands every
  EventReceiver to the gestalt DI container, which only populates @Inject
  members and never touches @in fields, so both would have been null at
  runtime. Switch to @Inject with an @Inject constructor and resolve the
  World lazily via ObjectManager.getWorld(), matching the pattern the
  other body creation systems use.

* Delete RubbleMesh and RubbleBodyCreationSystem, which were added to
  develop after this work was written. Rubble now carries BodyLinked, so
  keeping them would have built two physics bodies per rubble piece.
  Removing the per-type body systems is the point of this change. The
  fixture density they hardcoded is preserved on the RenderableElement.

* Accumulate every rigid body of a collision mesh file into one cached
  model instead of replacing the cache entry per rigid body, which left
  only the last entry of the file usable.

* Compute the graphics offset as origin - (.5, .5), as the surrounding
  comment describes. RenderingSystem already scales the offset by the
  entity size, so scaling it here applied the size twice and skipped the
  centering correction.

Co-authored-by: IsaacLic <IsaacLic@users.noreply.github.com>

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 424 files, which is 324 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a5929512-37d5-4194-9ecd-4503561c28f2

📥 Commits

Reviewing files that changed from the base of the PR and between eb471c7 and 1599301.

⛔ Files ignored due to path filters (8)
  • engine/src/main/resources/org/destinationsol/assets/textures/icons/iconEngine.png is excluded by !**/*.png
  • engine/src/main/resources/org/destinationsol/assets/textures/ui/keyboardKey.png is excluded by !**/*.png
  • engine/src/main/resources/org/destinationsol/assets/textures/ui/mouseClickLeft.png is excluded by !**/*.png
  • engine/src/main/resources/org/destinationsol/assets/textures/ui/mouseClickRight.png is excluded by !**/*.png
  • engine/src/main/resources/org/destinationsol/assets/textures/ui/nui/background.png is excluded by !**/*.png
  • gradle/wrapper/groovy-wrapper.jar is excluded by !**/*.jar
  • modules/core/assets/items/guns/minerGun/minerGun.png is excluded by !**/*.png
  • modules/core/assets/items/guns/minerGun/minerGunIcon.png is excluded by !**/*.png
📒 Files selected for processing (424)
  • .github/CONTRIBUTING.md
  • .github/ISSUE_TEMPLATE/bug_report.yaml
  • .gitignore
  • Jenkinsfile
  • README.md
  • build-logic/build.gradle
  • build-logic/settings.gradle
  • build-logic/src/main/groovy/destination-sol-common.gradle
  • build-logic/src/main/groovy/destination-sol-constants.gradle
  • build-logic/src/main/groovy/destination-sol-ide.gradle
  • build-logic/src/main/groovy/destination-sol-java.gradle
  • build-logic/src/main/groovy/destination-sol-jre.gradle
  • build-logic/src/main/groovy/destination-sol-module.gradle
  • build-logic/src/main/groovy/destination-sol-repositories.gradle
  • build-logic/src/main/groovy/gestalt-8-module.gradle
  • build-logic/src/main/groovy/gestalt-module.gradle
  • build-logic/src/main/groovy/gestalt-repositories.gradle
  • build-logic/src/main/groovy/terasology-metrics.gradle
  • build-logic/src/main/groovy/terasology-publish-common.gradle
  • build.gradle
  • config/gradle/common.gradle
  • config/gradle/ide.gradle
  • config/groovy/common.groovy
  • config/groovy/lib.groovy
  • config/groovy/module.groovy
  • config/groovy/util.groovy
  • desktop/build.gradle
  • desktop/src/main/java/org/destinationsol/desktop/SolDesktop.java
  • engine/build.gradle
  • engine/src/main/java/org/destinationsol/BeanClassFactory.java
  • engine/src/main/java/org/destinationsol/CommonDrawer.java
  • engine/src/main/java/org/destinationsol/Const.java
  • engine/src/main/java/org/destinationsol/ContextWrapper.java
  • engine/src/main/java/org/destinationsol/ContextWrapperService.java
  • engine/src/main/java/org/destinationsol/CoreService.java
  • engine/src/main/java/org/destinationsol/EventReceiverServiceRegistry.java
  • engine/src/main/java/org/destinationsol/FactionDisplay.java
  • engine/src/main/java/org/destinationsol/GameConfigurationServiceRegistry.java
  • engine/src/main/java/org/destinationsol/SolApplication.java
  • engine/src/main/java/org/destinationsol/SolGameServiceRegistry.java
  • engine/src/main/java/org/destinationsol/assets/AssetHelper.java
  • engine/src/main/java/org/destinationsol/assets/Assets.java
  • engine/src/main/java/org/destinationsol/assets/emitters/EmitterFactory.java
  • engine/src/main/java/org/destinationsol/assets/emitters/EmitterFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/emitters/package-info.java
  • engine/src/main/java/org/destinationsol/assets/fonts/Font.java
  • engine/src/main/java/org/destinationsol/assets/fonts/FontFactory.java
  • engine/src/main/java/org/destinationsol/assets/fonts/FontFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/fonts/ScaledFontProducer.java
  • engine/src/main/java/org/destinationsol/assets/fonts/UIFont.java
  • engine/src/main/java/org/destinationsol/assets/fonts/package-info.java
  • engine/src/main/java/org/destinationsol/assets/json/Json.java
  • engine/src/main/java/org/destinationsol/assets/json/JsonDeltaFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/json/JsonFactory.java
  • engine/src/main/java/org/destinationsol/assets/json/JsonFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/json/package-info.java
  • engine/src/main/java/org/destinationsol/assets/music/AndroidOggMusicFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/music/OggMusicFactory.java
  • engine/src/main/java/org/destinationsol/assets/music/OggMusicFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/music/OggMusicManager.java
  • engine/src/main/java/org/destinationsol/assets/package-info.java
  • engine/src/main/java/org/destinationsol/assets/sound/AndroidOggSoundFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/sound/OggSoundFactory.java
  • engine/src/main/java/org/destinationsol/assets/sound/OggSoundFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/sound/OggSoundInfoFormat.java
  • engine/src/main/java/org/destinationsol/assets/sound/OggSoundManager.java
  • engine/src/main/java/org/destinationsol/assets/sound/SpecialSounds.java
  • engine/src/main/java/org/destinationsol/assets/textures/DSTexture.java
  • engine/src/main/java/org/destinationsol/assets/textures/DSTextureFactory.java
  • engine/src/main/java/org/destinationsol/assets/textures/DSTextureFileFormat.java
  • engine/src/main/java/org/destinationsol/assets/textures/package-info.java
  • engine/src/main/java/org/destinationsol/assets/ui/UIFormat.java
  • engine/src/main/java/org/destinationsol/assets/ui/UISkinFormat.java
  • engine/src/main/java/org/destinationsol/asteroids/systems/AsteroidBodyCreationSystem.java
  • engine/src/main/java/org/destinationsol/body/components/BodyLinked.java
  • engine/src/main/java/org/destinationsol/body/systems/BodyHandlerSystem.java
  • engine/src/main/java/org/destinationsol/body/systems/BodyUpdateSystem.java
  • engine/src/main/java/org/destinationsol/common/In.java
  • engine/src/main/java/org/destinationsol/common/package-info.java
  • engine/src/main/java/org/destinationsol/entitysystem/ComponentSystem.java
  • engine/src/main/java/org/destinationsol/entitysystem/ComponentSystemManager.java
  • engine/src/main/java/org/destinationsol/entitysystem/EntitySystemManager.java
  • engine/src/main/java/org/destinationsol/entitysystem/EventReceiver.java
  • engine/src/main/java/org/destinationsol/entitysystem/SerialisationManager.java
  • engine/src/main/java/org/destinationsol/entitysystem/package-info.java
  • engine/src/main/java/org/destinationsol/files/HullConfigManager.java
  • engine/src/main/java/org/destinationsol/files/package-info.java
  • engine/src/main/java/org/destinationsol/force/components/Durability.java
  • engine/src/main/java/org/destinationsol/force/systems/ImpulseHandlingSystem.java
  • engine/src/main/java/org/destinationsol/game/AbilityCommonConfig.java
  • engine/src/main/java/org/destinationsol/game/AbilityCommonConfigs.java
  • engine/src/main/java/org/destinationsol/game/BeaconHandler.java
  • engine/src/main/java/org/destinationsol/game/CollisionMeshLoader.java
  • engine/src/main/java/org/destinationsol/game/DebugOptions.java
  • engine/src/main/java/org/destinationsol/game/FactionInfo.java
  • engine/src/main/java/org/destinationsol/game/FactionManager.java
  • engine/src/main/java/org/destinationsol/game/GalaxyFiller.java
  • engine/src/main/java/org/destinationsol/game/GameColors.java
  • engine/src/main/java/org/destinationsol/game/GameDrawer.java
  • engine/src/main/java/org/destinationsol/game/GridDrawer.java
  • engine/src/main/java/org/destinationsol/game/Hero.java
  • engine/src/main/java/org/destinationsol/game/MapDrawer.java
  • engine/src/main/java/org/destinationsol/game/MountDetectDrawer.java
  • engine/src/main/java/org/destinationsol/game/ObjectManager.java
  • engine/src/main/java/org/destinationsol/game/PlayerCreator.java
  • engine/src/main/java/org/destinationsol/game/Rubble.java
  • engine/src/main/java/org/destinationsol/game/RubbleBuilder.java
  • engine/src/main/java/org/destinationsol/game/SaveManager.java
  • engine/src/main/java/org/destinationsol/game/SolCam.java
  • engine/src/main/java/org/destinationsol/game/SolContactListener.java
  • engine/src/main/java/org/destinationsol/game/SolGame.java
  • engine/src/main/java/org/destinationsol/game/SolObject.java
  • engine/src/main/java/org/destinationsol/game/SolObjectEntityWrapper.java
  • engine/src/main/java/org/destinationsol/game/StarPort.java
  • engine/src/main/java/org/destinationsol/game/UpdateAwareSystem.java
  • engine/src/main/java/org/destinationsol/game/WorldConfig.java
  • engine/src/main/java/org/destinationsol/game/asteroid/Asteroid.java
  • engine/src/main/java/org/destinationsol/game/asteroid/AsteroidBuilder.java
  • engine/src/main/java/org/destinationsol/game/asteroid/package-info.java
  • engine/src/main/java/org/destinationsol/game/attributes/RegisterUpdateSystem.java
  • engine/src/main/java/org/destinationsol/game/attributes/package-info.java
  • engine/src/main/java/org/destinationsol/game/chunk/ChunkFiller.java
  • engine/src/main/java/org/destinationsol/game/chunk/ChunkManager.java
  • engine/src/main/java/org/destinationsol/game/chunk/package-info.java
  • engine/src/main/java/org/destinationsol/game/console/ConsoleImpl.java
  • engine/src/main/java/org/destinationsol/game/console/MethodCommand.java
  • engine/src/main/java/org/destinationsol/game/console/adapter/ParameterAdapter.java
  • engine/src/main/java/org/destinationsol/game/console/adapter/ParameterAdapterManager.java
  • engine/src/main/java/org/destinationsol/game/console/annotations/RegisterCommands.java
  • engine/src/main/java/org/destinationsol/game/console/annotations/package-info.java
  • engine/src/main/java/org/destinationsol/game/console/commands/DieCommandHandler.java
  • engine/src/main/java/org/destinationsol/game/console/commands/ShowNUIScreenCommandHandler.java
  • engine/src/main/java/org/destinationsol/game/console/commands/package-info.java
  • engine/src/main/java/org/destinationsol/game/console/package-info.java
  • engine/src/main/java/org/destinationsol/game/console/suggesters/package-info.java
  • engine/src/main/java/org/destinationsol/game/drawables/DrawableDebugger.java
  • engine/src/main/java/org/destinationsol/game/drawables/DrawableManager.java
  • engine/src/main/java/org/destinationsol/game/drawables/DrawableObject.java
  • engine/src/main/java/org/destinationsol/game/drawables/SpriteManager.java
  • engine/src/main/java/org/destinationsol/game/drawables/animated/AnimatedRectSprite.java
  • engine/src/main/java/org/destinationsol/game/drawables/package-info.java
  • engine/src/main/java/org/destinationsol/game/faction/DamageInflictedReputationEvent.java
  • engine/src/main/java/org/destinationsol/game/faction/DefaultReputationEvent.java
  • engine/src/main/java/org/destinationsol/game/faction/Faction.java
  • engine/src/main/java/org/destinationsol/game/faction/FactionConfig.java
  • engine/src/main/java/org/destinationsol/game/faction/FactionsConfigs.java
  • engine/src/main/java/org/destinationsol/game/faction/ReputationEvent.java
  • engine/src/main/java/org/destinationsol/game/farBg/FarBackgroundManagerOld.java
  • engine/src/main/java/org/destinationsol/game/gun/GunMount.java
  • engine/src/main/java/org/destinationsol/game/gun/SolGun.java
  • engine/src/main/java/org/destinationsol/game/gun/package-info.java
  • engine/src/main/java/org/destinationsol/game/input/AiPilot.java
  • engine/src/main/java/org/destinationsol/game/input/Pilot.java
  • engine/src/main/java/org/destinationsol/game/input/UiControlledPilot.java
  • engine/src/main/java/org/destinationsol/game/input/package-info.java
  • engine/src/main/java/org/destinationsol/game/item/Engine.java
  • engine/src/main/java/org/destinationsol/game/item/ItemManager.java
  • engine/src/main/java/org/destinationsol/game/item/Loot.java
  • engine/src/main/java/org/destinationsol/game/item/LootBuilder.java
  • engine/src/main/java/org/destinationsol/game/item/SolItemTypes.java
  • engine/src/main/java/org/destinationsol/game/item/package-info.java
  • engine/src/main/java/org/destinationsol/game/maze/MazeBuilder.java
  • engine/src/main/java/org/destinationsol/game/maze/MazeConfigManager.java
  • engine/src/main/java/org/destinationsol/game/maze/MazeTileObject.java
  • engine/src/main/java/org/destinationsol/game/maze/package-info.java
  • engine/src/main/java/org/destinationsol/game/package-info.java
  • engine/src/main/java/org/destinationsol/game/particle/EffectTypes.java
  • engine/src/main/java/org/destinationsol/game/particle/LightObject.java
  • engine/src/main/java/org/destinationsol/game/particle/PartMan.java
  • engine/src/main/java/org/destinationsol/game/particle/SpecialEffects.java
  • engine/src/main/java/org/destinationsol/game/particle/package-info.java
  • engine/src/main/java/org/destinationsol/game/planet/BeltConfigManager.java
  • engine/src/main/java/org/destinationsol/game/planet/PlanetConfigManager.java
  • engine/src/main/java/org/destinationsol/game/planet/PlanetManager.java
  • engine/src/main/java/org/destinationsol/game/planet/PlanetObjectsBuilder.java
  • engine/src/main/java/org/destinationsol/game/planet/PlanetSprites.java
  • engine/src/main/java/org/destinationsol/game/planet/Sky.java
  • engine/src/main/java/org/destinationsol/game/planet/SolarSystemConfigManager.java
  • engine/src/main/java/org/destinationsol/game/planet/SunSingleton.java
  • engine/src/main/java/org/destinationsol/game/planet/TileObject.java
  • engine/src/main/java/org/destinationsol/game/planet/package-info.java
  • engine/src/main/java/org/destinationsol/game/projectile/Projectile.java
  • engine/src/main/java/org/destinationsol/game/projectile/package-info.java
  • engine/src/main/java/org/destinationsol/game/screens/BorderDrawer.java
  • engine/src/main/java/org/destinationsol/game/screens/BuyItemsScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/ChangeShipScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/ChooseMercenaryScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/ConsoleScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/GameScreens.java
  • engine/src/main/java/org/destinationsol/game/screens/GiveItemsScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/HireShipsScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/InventoryOperationsScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/InventoryScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/MainGameScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/MapScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/MenuScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/RightPaneLayout.java
  • engine/src/main/java/org/destinationsol/game/screens/SellItems.java
  • engine/src/main/java/org/destinationsol/game/screens/ShipControllerControl.java
  • engine/src/main/java/org/destinationsol/game/screens/ShipMixedControl.java
  • engine/src/main/java/org/destinationsol/game/screens/ShipMouseControl.java
  • engine/src/main/java/org/destinationsol/game/screens/ShowInventory.java
  • engine/src/main/java/org/destinationsol/game/screens/TakeItems.java
  • engine/src/main/java/org/destinationsol/game/screens/TalkScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/WaypointCreationScreen.java
  • engine/src/main/java/org/destinationsol/game/screens/ZoneNameAnnouncer.java
  • engine/src/main/java/org/destinationsol/game/screens/package-info.java
  • engine/src/main/java/org/destinationsol/game/ship/AbilityConfig.java
  • engine/src/main/java/org/destinationsol/game/ship/Door.java
  • engine/src/main/java/org/destinationsol/game/ship/EmWave.java
  • engine/src/main/java/org/destinationsol/game/ship/FarShip.java
  • engine/src/main/java/org/destinationsol/game/ship/ForceBeacon.java
  • engine/src/main/java/org/destinationsol/game/ship/KnockBack.java
  • engine/src/main/java/org/destinationsol/game/ship/ShipBuilder.java
  • engine/src/main/java/org/destinationsol/game/ship/ShipEngine.java
  • engine/src/main/java/org/destinationsol/game/ship/SloMo.java
  • engine/src/main/java/org/destinationsol/game/ship/SolShip.java
  • engine/src/main/java/org/destinationsol/game/ship/Teleport.java
  • engine/src/main/java/org/destinationsol/game/ship/UnShield.java
  • engine/src/main/java/org/destinationsol/game/ship/hulls/Hull.java
  • engine/src/main/java/org/destinationsol/game/ship/hulls/package-info.java
  • engine/src/main/java/org/destinationsol/game/ship/package-info.java
  • engine/src/main/java/org/destinationsol/game/sound/package-info.java
  • engine/src/main/java/org/destinationsol/game/tutorial/TutorialManager.java
  • engine/src/main/java/org/destinationsol/game/tutorial/TutorialStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/ButtonPressStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/BuyItemStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/BuyMercenaryStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/ChangeTutorialSectionStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/CheckGunReloadStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/CheckItemEquippedStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/CloseScreenStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/CreateWaypointStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/DestroyObjectsStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/DestroySpawnedAsteroidAroundHeroStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/DestroySpawnedShipsStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FireGunStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToHeroFirstWaypointStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToNearestStarPortStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToNearestStationStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToPlanetSellingMercenariesStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToPlanetStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToRandomWaypointAroundHeroStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/FlyToWaypointStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/ItemTypesExplanationStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/ManageMercenariesGuidanceStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/MapDragStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/MessageStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/OpenScreenStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/SelectEquippedWeaponStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/SlowVelocityStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/ThrustForwardsStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/TravelThroughStarPortStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/TurnLeftRightStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/UseAbilityStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/WaitUntilFullyRepairedStep.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/package-info.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/wrapper/TrackedFarObjectWrapper.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/wrapper/TrackedSolObjectWrapper.java
  • engine/src/main/java/org/destinationsol/game/tutorial/steps/wrapper/package-info.java
  • engine/src/main/java/org/destinationsol/health/components/Health.java
  • engine/src/main/java/org/destinationsol/health/systems/DamageSystem.java
  • engine/src/main/java/org/destinationsol/location/components/Angle.java
  • engine/src/main/java/org/destinationsol/location/components/Position.java
  • engine/src/main/java/org/destinationsol/location/components/Velocity.java
  • engine/src/main/java/org/destinationsol/location/systems/LocationSystem.java
  • engine/src/main/java/org/destinationsol/menu/InputMapControllerScreen.java
  • engine/src/main/java/org/destinationsol/menu/InputMapKeyboardScreen.java
  • engine/src/main/java/org/destinationsol/menu/InputMapMixedScreen.java
  • engine/src/main/java/org/destinationsol/menu/InputMapOperations.java
  • engine/src/main/java/org/destinationsol/menu/InputMapScreen.java
  • engine/src/main/java/org/destinationsol/menu/LoadingScreen.java
  • engine/src/main/java/org/destinationsol/menu/MainMenuScreen.java
  • engine/src/main/java/org/destinationsol/menu/MenuLayout.java
  • engine/src/main/java/org/destinationsol/menu/MenuScreens.java
  • engine/src/main/java/org/destinationsol/menu/NewGameScreen.java
  • engine/src/main/java/org/destinationsol/menu/NewShipScreen.java
  • engine/src/main/java/org/destinationsol/menu/OptionsScreen.java
  • engine/src/main/java/org/destinationsol/menu/ResolutionScreen.java
  • engine/src/main/java/org/destinationsol/menu/background/MenuBackgroundManager.java
  • engine/src/main/java/org/destinationsol/menu/package-info.java
  • engine/src/main/java/org/destinationsol/mercenary/MercenaryUtils.java
  • engine/src/main/java/org/destinationsol/mercenary/package-info.java
  • engine/src/main/java/org/destinationsol/meshBuilder/CollisionMeshBuilderSystem.java
  • engine/src/main/java/org/destinationsol/modules/FacadeModuleConfig.java
  • engine/src/main/java/org/destinationsol/modules/ModuleManager.java
  • engine/src/main/java/org/destinationsol/moneyDropping/systems/MoneyDroppingSystem.java
  • engine/src/main/java/org/destinationsol/removal/systems/DeletionUpdateSystem.java
  • engine/src/main/java/org/destinationsol/removal/systems/DestroyOnZeroHealthSystem.java
  • engine/src/main/java/org/destinationsol/removal/systems/DestructionSystem.java
  • engine/src/main/java/org/destinationsol/rendering/RenderableElement.java
  • engine/src/main/java/org/destinationsol/rendering/components/Renderable.java
  • engine/src/main/java/org/destinationsol/rendering/systems/RenderingSystem.java
  • engine/src/main/java/org/destinationsol/rubble/systems/RubbleBodyCreationSystem.java
  • engine/src/main/java/org/destinationsol/rubble/systems/RubbleCreationSystem.java
  • engine/src/main/java/org/destinationsol/size/components/Size.java
  • engine/src/main/java/org/destinationsol/ui/Position.java
  • engine/src/main/java/org/destinationsol/ui/SolInputManager.java
  • engine/src/main/java/org/destinationsol/ui/SolInputProcessor.java
  • engine/src/main/java/org/destinationsol/ui/SolLayouts.java
  • engine/src/main/java/org/destinationsol/ui/SolUiSlider.java
  • engine/src/main/java/org/destinationsol/ui/TutorialManager.java
  • engine/src/main/java/org/destinationsol/ui/UiDrawer.java
  • engine/src/main/java/org/destinationsol/ui/Waypoint.java
  • engine/src/main/java/org/destinationsol/ui/nui/NUIManager.java
  • engine/src/main/java/org/destinationsol/ui/nui/NUIScreenLayer.java
  • engine/src/main/java/org/destinationsol/ui/nui/package-info.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/ConsoleScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/InventoryScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/MainGameScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/MapScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/MenuScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/TalkScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/TutorialScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/UIShipControlsScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/WaypointCreationScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/CreditsScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/InputMapScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/LoadingScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/MainMenuScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/ModulesScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/NewGameScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/NewShipScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/OptionsScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/mainMenu/ResolutionScreen.java
  • engine/src/main/java/org/destinationsol/ui/nui/screens/package-info.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/EmptyIfInvisibleContainer.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/InteractHint.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/KeyActivatedButton.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/UIBackingBox.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/UILabelledIcon.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/UIWarnButton.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/UIWarnDrawer.java
  • engine/src/main/java/org/destinationsol/ui/nui/widgets/package-info.java
  • engine/src/main/java/org/destinationsol/ui/package-info.java
  • engine/src/main/java/org/destinationsol/util/InjectionHelper.java
  • engine/src/main/java/org/destinationsol/world/GalaxyBuilder.java
  • engine/src/main/java/org/destinationsol/world/generators/FeatureGenerator.java
  • engine/src/main/java/org/destinationsol/world/generators/LargeSolarSystemGenerator.java
  • engine/src/main/java/org/destinationsol/world/generators/SolarSystemGenerator.java
  • engine/src/main/java/org/destinationsol/world/generators/SolarSystemGeneratorImpl.java
  • engine/src/main/java/org/destinationsol/world/generators/package-info.java
  • engine/src/main/java/org/destinationsol/world/package-info.java
  • engine/src/main/resources/debugOptions.ini
  • engine/src/main/resources/org/destinationsol/assets/configs/factions.json
  • engine/src/main/resources/org/destinationsol/assets/factions/ehar.json
  • engine/src/main/resources/org/destinationsol/assets/factions/laani.json
  • engine/src/main/resources/org/destinationsol/assets/factions/player.json
  • engine/src/main/resources/org/destinationsol/assets/schemas/schemaAbilitiesConfig.json
  • engine/src/main/resources/org/destinationsol/assets/schemas/schemaFaction.json
  • engine/src/main/resources/org/destinationsol/assets/schemas/schemaFactions.json
  • engine/src/main/resources/org/destinationsol/assets/skins/default.skin
  • engine/src/main/resources/org/destinationsol/assets/skins/inventoryScreen.skin
  • engine/src/main/resources/org/destinationsol/assets/skins/mainGameScreen.skin
  • engine/src/main/resources/org/destinationsol/assets/skins/mainMenu.skin
  • engine/src/main/resources/org/destinationsol/assets/skins/mapScreen.skin
  • engine/src/main/resources/org/destinationsol/assets/skins/talkScreen.skin
  • engine/src/main/resources/org/destinationsol/assets/skins/tutorialScreen.skin
  • engine/src/main/resources/org/destinationsol/assets/ui/inventoryScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainGameScreen_desktop.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainGameScreen_mobile.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/creditsScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/inputMapScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/loadingScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/mainMenuScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/modulesScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/newGameScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/newShipScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/optionsScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mainMenu/resolutionScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mapScreen_desktop.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/mapScreen_mobile.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/menuScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/talkScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/tutorialScreen.ui
  • engine/src/main/resources/org/destinationsol/assets/ui/waypointCreationScreen.ui
  • engine/src/main/resources/org/destinationsol/module.json
  • engine/src/test/java/org/destinationsol/game/PlayerCreatorTest.java
  • engine/src/test/java/org/destinationsol/game/RubbleTest.java
  • engine/src/test/java/org/destinationsol/systems/DamageSystemTests/NonNegativeDamageTest.java
  • engine/src/test/java/org/destinationsol/systems/DamageSystemTests/NonNegativeHealthTest.java
  • engine/src/test/java/org/destinationsol/systems/DamageSystemTests/OnDamageTest.java
  • engine/src/test/java/org/destinationsol/systems/DamageSystemTests/ZeroHealthCausesDestructionTest.java
  • engine/src/test/java/org/destinationsol/systems/DestroyOnZeroHealthSystemTests/DestroyAtZeroHealthTest.java
  • engine/src/test/java/org/destinationsol/systems/DestructionSystemTests/DestructionTest.java
  • engine/src/test/java/org/destinationsol/systems/DestructionSystemTests/RemovalForOptimizationTest.java
  • engine/src/test/java/org/destinationsol/systems/LocationSystemTests/AngleUpdateTest.java
  • engine/src/test/java/org/destinationsol/systems/LocationSystemTests/PositionUpdateTest.java
  • engine/src/test/java/org/destinationsol/systems/LocationSystemTests/VelocityUpdateTest.java
  • engine/src/test/java/org/destinationsol/testingUtilities/InitializationUtilities.java
  • engine/src/test/java/org/destinationsol/testingUtilities/MockGL.java
  • engine/src/test/java/org/destinationsol/testsupport/AssetsHelperInitializer.java
  • engine/src/test/java/org/destinationsol/testsupport/TestModuleConfig.java
  • engine/src/test/java/org/destinationsol/world/GalaxyBuilderTest.java
  • engine/src/test/java/org/destinationsol/world/generators/BeltGeneratorTest.java
  • engine/src/test/java/org/destinationsol/world/generators/MazeGeneratorTest.java
  • engine/src/test/java/org/destinationsol/world/generators/PlanetGeneratorTest.java
  • engine/src/test/java/org/destinationsol/world/generators/SolarSystemGeneratorTest.java
  • gradle/wrapper/gradle-wrapper.properties
  • groovyw
  • groovyw.bat
  • launcher/solOSX.sh
  • libs/subprojects.gradle
  • modules/core/assets/configs/factions.json
  • modules/core/assets/configs/systemsConfig.json
  • modules/core/assets/factions/desert.json
  • modules/core/assets/factions/imperial.json
  • modules/core/assets/factions/miner.json
  • modules/core/assets/factions/pirate.json
  • modules/core/assets/factions/techie.json
  • modules/core/assets/factions/trader.json
  • modules/core/assets/items/engines/desertBigEngine/desertBigEngine.json
  • modules/core/assets/items/engines/desertEngine/desertEngine.json
  • modules/core/assets/items/engines/imperialBigEngine/imperialBigEngine.json
  • modules/core/assets/items/engines/imperialEngine/imperialEngine.json
  • modules/core/assets/items/engines/minerEngine/minerEngine.json
  • modules/core/assets/items/engines/pirateBigEngine/pirateBigEngine.json
  • modules/core/assets/items/engines/pirateEngine/pirateEngine.json
  • modules/core/assets/items/engines/techieEngine/techieEngine.json
  • modules/core/assets/items/guns/minerGun/minerGun.json
  • modules/core/assets/items/types.json
  • modules/core/module.json
  • settings.gradle
  • templates/build.gradle

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@NicholasBatesNZ
NicholasBatesNZ changed the base branch from develop to master August 14, 2026 22:41
@NicholasBatesNZ
NicholasBatesNZ changed the base branch from master to develop August 14, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants