40. [V] As Caleb or Gemma I'd like to zoom the view to follow a boat (my boat) around the course (revised).
Note: in this story we will select a boat and zoom the view to place the boat at the center of a display that shows only the boat's immediate surrounds. The default option will be to zoom on the player's boat.
Acceptance criteria:
- Any particular boat can be chosen (at any time during the race.)
- When a boat is selected for zooming, the view should change to show the boat at the center, with the scale of the view increased.
- The view should remain this way until the boat is unselected, at which point it should revert to the usual display.
- Other information (e.g., the position list) may be removed from the zoomed view.
- Zoomed view follows selected boat as a third person mode
- There must be a keyboard option to zoom in on the player's boat_
- The zoom amount can be fixed (jump between zoom in and zoom out) or scrollable (like control-mousewheel scrolling.)
See merge request !38
- updateDistance zooms between 0 and infinity
- Camera switches from third person to bird's eye when reaching a set distance
- Only one subject can be tracked at a time
#story[1190]
- Race pane listens to scroll delta and sets View3D distance accordingly
- GPSConverter has more applicable property names for infinite 3D
#story[1190]
Vmg fix
Note: there should be a small deadzone between upwind and reaching/running where pressing the key has no effect so that issues in judging the exact TWA of the boat don't lead to a surprising direction change.
Turn off toggle
Remember to close Issue#43 when you have finished DoD'ing
See merge request !37
Wind (story53)
AC:
Note: "Back" means that the wind shifts counterclockwise while "veer" means clockwise. Shifts should follow the following patterns:
1. The wind should usually oscillate regularly around a mean (several minutes per oscillation and no more than 5 degrees either way.)
2. Occasionally it will either "back" or "veer" (a few degrees a minute, up to 180 degrees shift), and then return to oscillations.
Acceptance criteria:
- The wind direction follows the above patterns during a race.
* Test wind works at 0 to small degree amounts.
See merge request !36
- Camera pivot must be manually updated
- GPS coordinates are scaled by an arbitrary amount to make movement visible
- Model has to be flipped 180 degrees to move forward
#story[1261]
- Removed prints from tests
- Added Javadocs in necessary places
- Reenabled boat status message to send
- Added boat average angle
- pulled out modulateAngle function
- Commented harder to read loops
- Disabled toggled VMG
#story[1182]
C keybindings
AC:
* All keybindings can be easily changed in the start screen
* Buttons are replacable on clicking on the current button assigned.
* When the current button assigned is clicked the text should turn "blank" and return to with text after a new button has been pressed or escape has been pressed.
* There cannot be more than one active replace button at a time.
* Reset to default should reset to the keys defined by the P.O (but with UP, DOWN instead of PG_UP, PG_DWN)
* Buttons should not save until the user exits with "save"
See merge request !35
Story 77 task 7 - update xml files at runtime
Task: [S] Adjust race XML so that you can modify the number of boats in a race.
When clients connect they are added to the participant list, and an updated race.xml is sent out.
When they disconnect/timeout, they are unassigned a boat and updated race.xml is sent out.
Also contains code for sending updated boats.xml and regatta.xml.
See merge request !34
- trying to solve jar file reading issue
- learnt a lot about jars including their lack of file structure
- changed location of keybindings settings to outside of jar
- added new folder/file that is generated on first run
#story[1197]
- Updated View3D to use Subject3D wrappers instead of Shape3D
- Fixed HostController for the new architecture
- Made position and heading observable in VisualiserBoat
- Attached listeners to each VisualiserBoat in RaceController
#story[1261]