Commit Graph
778 Commits
Author SHA1 Message Date
hba56 afadabfecc small fix for the sparkline so that it goes from 1 to 6 rather than 0 to 7 for a 6 boat race
#story[1087]
2017-07-25 14:14:36 +12:00
Fan-Wu Yang eec0cb3493 Added fairness to mockOuput list so the index will correspond to the player in order that they entered the hosted game, #story[1010] 2017-07-24 17:40:46 +12:00
Jessica McAuslin 4ba9c6b774 Added a pretty title screen to the application.
- Created a GUI title screen
- Drew images to be display on the title
- Created controller for the title
- Changed visualiser main to initially display title
- Added functionality for host button

#story[1087]
2017-07-24 17:38:46 +12:00
Fan-Wu Yang cfd858194e Removed Unecessary Print Messages
- Removed xml's printing at the start as well as the amount of visualisers connected from spamming the log.
- Issue of visualisers connecting when not actually connecting was actually an visual issue as the log spits out the number of visualisers right now before the loop has gotten rid of the useless sockets.
#story[1010]
2017-07-24 17:36:47 +12:00
Fan-Wu Yang 9f99e21232 Added functionality for more than one visualiser to connect to the mock.
- more than one visualiser can now connect to the mock.
- Created class ConnectionAcceptor that will accept and allocate to each socket
- Issue of sockets connecting after the race starts then disconnecting will use a socket slot.
#story[1010]
2017-07-24 17:27:49 +12:00
hba56 9d9321522d Linked the first fxml id tags from the fxml files for the new start up screens
#story[1087]
2017-07-24 12:36:45 +12:00
hba56 eda7d062ec merged in the changes from the master branch so that latter mergers can run smoothly
#story[1087]
2017-07-24 12:12:12 +12:00
hba56 595e1a8727 Merge remote-tracking branch 'remotes/origin/master' into css 2017-07-24 12:06:56 +12:00
hba56 1ebbb8d4c7 merged in the changes from the master branch so that latter mergers can run smoothly
#story[1087]
2017-07-24 12:05:00 +12:00
hba56 738a765a0a Merge remote-tracking branch 'remotes/origin/master' into Game_Controller 2017-07-24 11:58:01 +12:00
Hamish Ball 86851c6181 Merge branch 'sprint5_refactor' into 'master'
Sprint5 refactor

This branch refactors most of the codebase and merges everything into a single module (racevisionGame).
This has feature parity with the master branch from what I can tell, and fixes a few bugs/issues.
However, the sparkline y axis labelling isn't exactly the same. Instead of being labelled 1, 2, 3, 4, 5, 6, it's labelled (1, 7).

Acceptance criteria:
1. Feature parity with master branch. (There's an app class in each of the mock and visualiser packages.
2. Tests all pass.
3. Code is actually tidier and easier to reason about, and documented.

See merge request !16
2017-07-24 11:48:54 +12:00
hba56 a140e532e8 Merge remote-tracking branch 'origin/css' into css 2017-07-24 11:31:24 +12:00
Fan-Wu Yang ec50310137 Added Messages to Controller For Testing Purposes
- Added Pressed, Released, and Held Messages to Controller
#story[1006]
2017-07-24 02:16:02 +12:00
Fan-Wu Yang d6d195f381 Added Modularity to Input Checker.
- Added onHold
 - Added onRelease
 - Added ManualTesting Class in the tests
 - Added Unimplemented new methods to classes
 #story[1006]
2017-07-24 02:03:33 +12:00
David Wu 8514c98805 Created FXML files for new start up U-I. #story[1087] 2017-07-23 19:32:57 +12:00
fjc40 0598724117 Added two more missing javadocs. 2017-07-23 14:37:24 +12:00
hba56 956ad1f59b merged in the changes from the sprint5_refactor branch
# Conflicts:
#	visualiser/src/main/java/seng302/Model/ResizableRaceMap.java
#story[1087]
2017-07-21 10:58:02 +12:00
hba56 0d5bede349 java doc fixes to fix the ci build problems
#story[1003]
2017-07-21 10:25:36 +12:00
hba56 08f74f608f trying to see if ci works while logged in to the ienabler when ssh
#story[1003]
2017-07-21 09:32:04 +12:00
fjc40 38f3fe16a0 Revert "Added travis_wait to test CI build order."
This reverts commit 350ec41beb.
2017-07-20 12:30:54 +12:00
fjc40 350ec41beb Added travis_wait to test CI build order. 2017-07-20 12:29:20 +12:00
fjc40 ba21d81c91 Reordered modules in the main pom.xml file. Dunno :( 2017-07-20 12:10:38 +12:00
fjc40 5cddaaed8e mock.app.App now tells mock.app.Event that the xml file strings are XMLFileType.Contents.
Made network.MessageEncoders.RaceVisionByteEncoder methods static (they were effectively static already).

shared.dataInput.XMLReader#readXMLFileToString(..) now throws an XMLReaderException if the file cannot be found.

visualiser.Controllers.StartController assumed XML messages were resource paths instead of file contents - fixed.

Testing:
networking tests now work again.
2017-07-20 01:01:29 +12:00
fjc40 4bcfc01ceb shared.dataInput:
Added shared.enums.XMLFileType, which is used to specify if a string contains a file path or file contents.
Updated the XML readers to use it.

Testing:
Moved the networking tests and resources into racevisionGame module.
Moved the remaining tests from visualiser into racevisionGame, and added a few empty tests to implement later.
2017-07-19 23:18:52 +12:00
fjc40 10e80bca05 Moved mock.app.App#readFile(...) to shared.dataInput.XMLReader#readXMLFileToString(...).
Did the bare minimum to get the mock.model, mock.dataInput, shared.model tests working - many of them need to be tidied/refactored/moved as they don't take into account most of the refactorings.
2017-07-19 22:30:21 +12:00
fjc40 d0c6b5f716 Moved mock.model and mock.dataInput tests into the racevisionGame.tests.mock package. 2017-07-19 19:25:16 +12:00
hba56 db42b3f1bb changed css to be day and night
#story[1003]
2017-07-18 23:19:00 +12:00
fjc40 1cb2829015 Removed some .idea/... files that had been commited ages ago. 2017-07-17 12:25:53 +12:00
hba56 a0a7db9f0f update the css to include a black on black option and update the colour of the water to better fit with the other colours
#story[1003]
2017-07-17 10:36:23 +12:00
hba56 01625a7bb8 added an icon for the window and basic red black and white style sheet
#story[1003]
2017-07-15 23:24:29 +12:00
hba56 fb37831ec0 added an icon for the window and basic red black and white style sheet
#story[1003]
2017-07-15 23:14:00 +12:00
Fan-Wu Yang f9b2a62f8d The Controller now takes in key presses.
- Each key is now registered in an Abstract Factory which takes in an action to perform.
- Comments are added behind each function in to give some indication of how it could be extended/modified in the future.
#story[1006]
2017-07-15 20:40:23 +12:00
hba56 054816c15a fix for the pom files
#story[1006]
2017-07-14 17:07:10 +12:00
hba56 b7e2427528 fix for the pom files
#story[1006]
2017-07-14 16:48:28 +12:00
hba56 fef8540b10 fix for the pom files
#story[1006]
2017-07-12 12:09:34 +12:00
hba56 83ac3e4e33 updated the game controller to use the visualiser as the scene
#story[1006]
2017-07-12 11:59:59 +12:00
fjc40 46150bd3c6 Actually commited the previous pom.xml changes. 2017-07-11 03:21:10 +12:00
fjc40 2c5380f5d8 Removed old network files.
Renamed each test folder to test_old as tests haven't been updated to use new code!

Removed unused stuff from mock/visualiser pom.xml.
2017-07-11 03:20:49 +12:00
fjc40 2a82298571 Removed the old mock/network/visualiser files. 2017-07-11 03:13:32 +12:00
fjc40 3a85fad211 Currently, mock/pom.xml and visualiser/pom.xml build racevisionGame mock and visualiser.
Now using jetbrains nullable/notnull instead of sun (was causing maven issues).
2017-07-11 03:10:29 +12:00
fjc40 cab9bf9574 RaceClock no has run(), or is runnable, as it wasn't needed.
Refactored Sparkline a bit. Now listens to our data model instead of being manually updated. Boat position labels don't work currently, though.
VisualiserRace now also tracks the order in which boats pass each leg.
2017-07-11 02:04:53 +12:00
hba56 6ae23f039b Added basic structure for the controller module of the game application
#story[1006]
2017-07-11 00:36:49 +12:00
fjc40 7d3cf6ee80 I had accidentally broken the raceXML construction - fixed it.
Fixed a few issues where boat didn't have nextMark/previousMark times under certain circumstances.
LatestMessages wasn't actually notifying properly - fixed.
The various XML readers now treat a string constructor as containing file contents, not file name - this was how it was mostly already used.
Fixed some issues in RaceXMLReader, including where element.getChildNodes() was used instead of element.getElementsByName(...).
Boat: changes speed to a doubleProperty. Changed leg to a Property<Leg>.
Race.lastFps is now an IntegerProperty.
Added breaks to the case statements in VisualiserInput. Whoops.
ResizableRaceCanvas now handles drawing the race boundary. Tidied up code a bit.
Removed ResizableRaceMap.

Started refactoring Sparkline. Currently doesn't work.
2017-07-10 08:35:43 +12:00
fjc40 abbbf70146 Refactored Race, MockRace, and VisualiserRace to use RaceClock instead of keeping their own timers.
Moved FPS tracking to Race class, so both VisualiserRace and MockRace can monitor their FPS.
LatestMessages is now observable. It notifies observers when an XMLMessage is received.
Boat now has StringProperty for name and country/abbreviation.
Moved the MockRace timescale value to Constants.RaceTimeScale. This is passed in to MockRace on construction.
Tidied up StartController.
Copied the visualiser's resources into the resources folder.
Refactored RaceClock. Added comments. Tidied code a bit. Moved to shared.model.

Started work on RaceController.
2017-07-08 23:21:29 +12:00
fjc40 f057ad58b7 LatestMessages can hold MarkRounding messages. It also holds XMLMessage for each message type.
MockOutput now uses LatestMessages for xml messages.
Moved xml message encoding into RaceVisionByteEncoder. Removed XMLMessageEncoder.
Moved XML message sub types into an enumeration (XMLMessageType).
XMLMessage can now be queried for its attributes (like timestamp, length, etc...).

VisualiserInput now uses LatestMessages.
VisualiserInput now (as it did previously) uses switch statements for checking packet type, instead of if statements.
VisualiserRace now uses LatestMessages instead of VisualiserInput.
2017-07-07 02:05:21 +12:00
fjc40 8e18ad62ca Added LatestMessages to network.Messages. This is an object that encapsulates the latest up to date set of race messages.
Race stores a reference to it. MockRace writes to it, and eventually, VisualiserRace will read from it.
Updated MockRace, MockOutput, Event to use it.

Angle now implements hashCode().
2017-07-06 16:02:11 +12:00
fjc40 3a0b81834f Refactored mock.Event to work with MockRace.
Fixed the networking imports.
Race now keeps a reference to its Race, Boat, and Regatta data sources.
VisualiserRace can be provided with new Race/Boat/Regatta data sources during runtime. Currently it updates boundary and legs with a new RaceDataSource, and marker boats with a new BoatDataSource.
2017-07-06 15:25:00 +12:00
fjc40 8d36d89570 Refactored and moved RaceXMLReader to shared/dataInput.
RaceStatus can provide windspeed in knots in addition to mm/sec.
RaceDataSource now provides a list of participating boat sourceIDs instead of boats.
Added a RegattaDataSource interface.
Angle, Azimuth, Bearing and mutable - careful.
Boat has positionInRace.
CompoundMarks have an ID and name.
Marks can be moved (setPosition(...)).

Refactored Mock.Race, Visualiser.StreamedCourse, Visualiser.StreamedRace, into (shared) Race, MockRace, VisualiserRace.

VisualiserBoat has color.
Added xml and polar files into resources folder.
2017-07-06 01:30:55 +12:00
fjc40 7f027c8cc5 Refactored and moved XMLReader, RaceDataSource, BoatXMLReader, BoatDataSource, RegattaXMLReader to shared/dataInput. 2017-07-04 17:50:43 +12:00
fjc40 d0d63ca236 Copied remaining files into appropriate package. These need to be refactored and put into the shared package. 2017-07-04 16:22:25 +12:00