Commit Graph
96 Commits
Author SHA1 Message Date
Connor Taylor-Brown 0ee448e17d Created wrapper for controlling the position and heading of rendered 3D models.
- 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]
2017-09-04 01:27:29 +12:00
Connor Taylor-Brown fb7bf572d8 Changed View3D add-remove interface to an ObservableList
#story[1196]
2017-08-31 00:59:36 +12:00
Connor Taylor-Brown b6e56d815c ResizableRaceCanvas no longer depends on VisualiserRaceEvent
#story[1196]
2017-08-30 18:52:29 +12:00
Connor Taylor-Brown c2fd5c9bae Changed box to boat mesh
- Mesh needs to be rotated -90 degrees on X
- STL file has been added to assets

#story[1196]
2017-08-30 15:49:20 +12:00
Connor Taylor-Brown cc66d63096 Removed unused shapes list from View3D
#story[1196]
2017-08-30 15:18:08 +12:00
Connor Taylor-Brown bb7eb7cb44 Added adapter interface for PerspectiveCamera frustum and transformations in View3D.
- Tested interface while initialising HostController

#story[1196]
2017-08-30 15:05:08 +12:00
Connor Taylor-Brown e7164d8a78 View3D perspective camera is now operational
#story[1196]
2017-08-30 13:57:15 +12:00
Connor Taylor-Brown cf838f2072 Added View3D control for rendering 3D shapes under a PerspectiveCamera, which is not currently working.
#story[1196]
2017-08-30 01:30:05 +12:00
Fan-Wu Yang 43ec179d79 Merge branch 'story86-3D' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into story86-3D 2017-08-29 20:36:15 +12:00
Fan-Wu Yang ea41c64c34 Added dependency for stl converter #story[1191] 2017-08-29 20:36:08 +12:00
fjc40 a9fde95b39 Updated maven version to 2.0.
Added a dedicatedServer module.
Removed Visualiser module.
Removed mock module.
Removed network module.
Fixed weird exception non-handling that appeared for some reason.
2017-08-18 22:55:50 +12:00
hba56 b886cb426f guide line last leg fix 2017-08-17 22:38:31 +12:00
David Wu 5234cdea66 Merge branch 'master' into new_issue#19
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/TitleController.java
2017-08-17 17:00:39 +12:00
David Wu f1ef75fb81 Merge branch 'master' into new_issue#19 2017-08-17 16:34:19 +12:00
Joseph Gardner d41e52766b Merge branch 'master' into story_64_sails
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserBoat.java
2017-08-17 16:04:53 +12:00
David Wu 5a188f0582 Merge branch 'master' into new_issue#19 2017-08-17 13:52:04 +12:00
David Wu c08bafa566 Fixed most of issue #19 with new master? 2017-08-17 13:49:43 +12:00
fjc40 2656efcb4d Marks are a bit darker.
Wake no longer has circle at end.
2017-08-17 13:30:10 +12:00
Joseph Gardner a50d460222 Merged master. 2017-08-17 13:02:14 +12:00
fjc40 0f58270c10 Merge branch 'master' into issue_18_track_alpha
# Conflicts:
#	racevisionGame/src/main/java/visualiser/model/VisualiserRaceState.java
2017-08-17 13:00:13 +12:00
Joseph Gardner 20c9870fea Merge branch 'master' into story_64_sails
# Conflicts:
#	racevisionGame/src/main/java/shared/model/Boat.java
#	racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatLocationCommand.java
2017-08-17 12:59:25 +12:00
fjc40 62f400b924 Trackpoint line color fades out. 2017-08-17 12:56:11 +12:00
fjc40 fa26abe10c Minor tidy. 2017-08-17 12:18:17 +12:00
Joseph d7e0bfa86c Trackpoints are only shown for the player's boat. #story[1098] 2017-08-17 10:13:30 +12:00
Joseph 47fc55245c Merged master. 2017-08-17 09:27:41 +12:00
Joseph f60809bdd4 Merge branch 'master' into story_64_sails
# Conflicts:
#	racevisionGame/src/main/java/mock/app/MockOutput.java
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java
#	racevisionGame/src/main/java/network/MessageDecoders/BoatActionDecoder.java
#	racevisionGame/src/main/java/network/MessageDecoders/BoatLocationDecoder.java
#	racevisionGame/src/main/java/visualiser/app/VisualiserInput.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
#	racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserRace.java
#	racevisionGame/src/main/resources/visualiser/scenes/connect.fxml
#	racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml
#	racevisionGame/src/test/java/mock/model/MockRaceTest.java
#	racevisionGame/src/test/java/network/Utils/AC35UnitConverterTest.java
#	racevisionGame/src/test/java/network/XMLMessageEncoderTest.java
2017-08-17 09:13:49 +12:00
fjc40 114c18763b Reduced track point period to 1000ms.
issue #18
2017-08-16 19:44:42 +12:00
fjc40 20055b1883 Removed redunant calls in VisualiserRaceState.initialiseBoats().
Slightly refactored ResizableRaceCanvas - removed a redundant drawPoint() function, functions which alter the gc stroke call save/restore.
Text is drawn black, at 20pts.
The drawBoats() function: instead of drawing everything for each boat, one boat at a time, it draws the track points for all boats, then wake for all boats, etc..., to have better layering.
issue #18
2017-08-16 18:10:30 +12:00
fjc40 f1e41d5d8f Merge branch 'master' into issue_18_trackpoint 2017-08-16 16:52:32 +12:00
cbt24 f44929f376 Spun off Locatable interface to make collision code more reusable
#story[1100]
2017-08-16 16:05:25 +12:00
fjc40 85e703cba5 RaceController/info table now makes a copy of the boat list, to avoid race conditions.
#story[1095]
2017-08-15 23:10:32 +12:00
fjc40 bcb6b79f8d Fixed player boat not being highlighted.
#story[1095]
2017-08-15 22:41:43 +12:00
fjc40 a4755ed88b Maybe fixed updating boat list on FX thread. 2017-08-15 21:08:56 +12:00
fjc40 0483859c40 Fixed sparkline y axis labelling. Reverted it to how it previously worked (negative data values instead of negative scale).
issue #32
2017-08-15 20:40:29 +12:00
fjc40 dc4610d6eb Fixed sparkline not updating.
#story[1095]
2017-08-15 18:41:28 +12:00
fjc40 5ae8393126 Fixed null pointer exception when a boat finishes the race.
Boats now default to have position (0, 0).
Added mark rounding data to single player race.xml
2017-08-15 17:13:12 +12:00
fjc40 3a0bd10a57 Merge remote-tracking branch 'origin/master' into story_61
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerClient.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
#	racevisionGame/src/main/resources/visualiser/scenes/race.fxml
2017-08-15 14:49:58 +12:00
fjc40 c9875f3987 RaceLogic no longer uses AnimationTimer for its main loop (since that ran in javafx thread). 2017-08-15 14:37:36 +12:00
fjc40 5a03d97713 Added comment. 2017-08-14 13:01:27 +12:00
fjc40 b07c30704a The trackpoint line is now a line (poly-line) instead of a sequence of circles. A point along the poly-line is added every 250ms.
issue #18
2017-08-14 12:58:05 +12:00
Jessica Syder 0558629dc6 Added luffing sails image.
- Created transparent gif of luffing sail
- Displayed image when sail is luffing
- Repositioned luffing sail

#story[1098]
2017-08-14 10:42:28 +12:00
fjc40 175fb11178 Javadoc fixes.
#story[1095]
2017-08-14 01:02:58 +12:00
fjc40 7366aba5ec Added empty data sources, to be used by VisualiserRace.
Created FrameRateTracker which can be used to track framerate.
Updated RequestToJoinEnum and JoinAcceptanceEnum to match the agreed connection API.
Added AssignPlayerBoat message, which is used internally on the client to assign the player a source ID once they have connected.
Fixed some race conditions in the MessageRouter.
Updated ConnectionAcceptor.CheckClientConnection to wait slightly longer before removing connection (there was a slight race condition before).
Race no longer has a reference to LatestMessages. LatestMessages no longer has specific messages types in it.
Created RaceState class, which contains the state that is shared between VisualiserRaceState and MockRaceState (currently only used on visualiser).
Split VisualiserRace into VisualiserRaceState and VisualiserRaceService.
Added the VisualiserRace commands (BoatLocatonCommand, RaceStatusCommand, etc...).
Slightly increased the preferred width of race.fxml table columns.
issues #27 #37 #35
#story[1095]
2017-08-14 00:53:05 +12:00
fjc40 89b0aa8b77 Implemented MessageRouter.
Added ConnectionToServerCommandFactory, and JoinSuccessfulCommand, RaceParticipantsFullCOmmand, ServerFullCommand.
Added IncomingHeartBeatCommandFactory, and IncomingHeartBeatCommand.
Added ConnectionToServerState, which represents the client's connection state to server.
Renamed VisualiserInput to VisualiserRaceController.
Added ConnectionToServer, which tracks the client's connection to server.
Added ConnectionToServerController, which accepts JoinAcceptance messages, turns them into commands, and passes them to ConnectionToServer.
Added IncomingHeartBeatService, which tracks the heart beat status of the connection.
Added IncomingHeartBeatController, which accepts HeartBeat messages, turns them into commands, and passes them to IncomingHeartBeatService.
Refactored ServerConnection a bit.
#story[1095]
2017-08-12 19:58:47 +12:00
hba56 d70a711a3d Merge branch 'master' into story68
-updated port and starboard boat checks
-added gps method to check if on correct side of a line
-updated pos check method to make boats round marks with the new tech

# Conflicts:
#	racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/model/commandFactory/TackGybeCommand.java
#	racevisionGame/src/main/java/mock/model/commandFactory/VMGCommand.java
2017-08-12 03:26:28 +12:00
hba56 499a409d4f Merge branch 'master' into story68
-updated port and starboard boat checks
-added gps method to check if on correct side of a line
-updated pos check method to make boats round marks with the new tech

# Conflicts:
#	racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/model/commandFactory/TackGybeCommand.java
#	racevisionGame/src/main/java/mock/model/commandFactory/VMGCommand.java
2017-08-12 03:24:20 +12:00
zwu18 e4b72fdfeb Update appearance on client arrow.
#story[1095]
2017-08-11 20:38:54 +12:00
fjc40 19984772c0 Merge branch 'master' into story_61
Also got client-server handshake working. Multiple clients can connect and control their own boat.
The client's boat has a larger black triangle drawn around it. Probably needs tidying up.
Added isClientBoat boolean to VisualiserBoat.

WindGenerator is now an interface, implemented by ConstantWindGenerator (useful for testing) and RandomWindGenerator. Added ConstantWindGeneratorTest.
RandomWindGenerator was formerly WindGenerator.
The WindGenerator is passed in to MockRace.

CommandFactory throws a CommandConstructionException if it cannot create a command.

MessageSerialiser and MessageDeserialiser correctly terminate on error.

Readded VisualiserInput's switch statement in the main loop, pending a refactor.

Removed the sleep statement from LobbyController - it was blocking javaFX thread.

Lobby.fxml: moved buttons and text input into grid panes, so they don't break when you resize screen.

Added some test object creation functions in several test classes (MockRaceTest.createMockRace(), BoatXMLReaderTest.createBoatDataSource(), etc...).

#story[1095]
2017-08-10 23:49:21 +12:00
Joseph Gardner d8628b4289 Boats now start the race with sails out. #story[1098] 2017-08-10 13:25:57 +12:00
fjc40 805c12bf41 Merge remote-tracking branch 'origin/master' into issue_28_36_decoders
# Conflicts:
#	racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
2017-08-10 13:12:26 +12:00