Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-architect System Map to operate on Object Tracks #5607

Merged
merged 6 commits into from
Aug 25, 2023

Commits on Aug 23, 2023

  1. SystemView: introduce object track abstraction

    Part one of a general decoupling of the map rendering from game logic. The map consumes a list of Projectables ("object tracks"), but is only responsible for generating and rendering SystemBody tracks for the current system being displayed.
    
    Any external system (e.g. Sensors) can push tracks and orbits into the map to be displayed, including "fake" object tracks (e.g. sensor ghosts, e-war interference, etc.) using a unified interface.
    
    Responsibility for understanding and rendering the contents of an unknown object track is reserved for the consumer of the final screenspace-positioned Projectables. This allows the map to be used in the context of the current game system, rendering cartography data on an unloaded system, or in an editor context.
    sturnclaw committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    ddfdd6c View commit details
    Browse the repository at this point in the history
  2. SystemView: split into View/MapViewport classes

    SystemView is now responsible for only game-related functionality, and the SystemMapViewport is a reusable system inspector which can be used and embedded in various places.
    
    - Added surface distance metric to prevent zooming inside of a planet's surface.
    - Nothing in SystemMapViewport depends on the Pi:: architecture.
    - Ships and associated orbits are now pushed by the SystemView class instead of the map itself.
    sturnclaw committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    2d8187b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a7e6f8b View commit details
    Browse the repository at this point in the history
  4. SystemView: move icon groups to SystemMapViewport

    Make the system map icon group heuristic a reusable function taking a list of special objects.
    sturnclaw committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    915a065 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2023

  1. Merge branch 'master' into system-map-viewport

    Webster Sheets authored Aug 25, 2023
    Configuration menu
    Copy the full SHA
    1382002 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c416e27 View commit details
    Browse the repository at this point in the history