Skip to content

IPS - Transmitter Station Replacement #7

@Tmktahu

Description

@Tmktahu

The transmitters for IPS are currently hardcoded, but in the future we may want to change them or even make them dynamic. I need to figure out if this is possible with the mathematical method I used to calculate coordinates.

Fang's Method has specific requirements regarding the first 3 transmitter stations.

  • First station must be [0, 0, 0].
  • Second station must be on the x-axis [x, 0, 0].
  • Third station must be [x, y, 0].

Because of this, we can't just easily swap out transmitter coordinates and have it work. The fourth transmitter station is the easiest to swap out since its coordinates are calculated based on the first three. But even then, the 4th station coordinate requires a selection between 2 possible coordinates.

Swapping the first station is the big problem since it functions as the origin point of the coordinate grid. If you get too far from the first station, then you need to define a new origin point. And by defining a new origin point, you need to define the x-axis all over again, and the second station, and the third, ect. Plus the whole grid changes initial rotation.

While it is possible to automatically do all of these calculations, it would require professional chips. We may get them before we get transmitters, in which case we could theoretically make this whole process automatic. But it would be an extensive system.

A better way may be to do the calculations external to the game and then define different origin points and constants related to them. Then you would flip between origin points dynamically and offset the resulting coordinates to fit the grid as a whole. But, that whole system will be much too large to exist in IPS by itself. It will need to be a separate module dedicated towards managing the origin point and current constants.

TODO:

  • Learn when transmitters will be released in comparison to professional chips.
  • Write up pseudocode for an origin management module.
  • Go back and separate what parts of the math would need to be done per origin point to get the required constants.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions