Changes in this Release:
f2ee3ff- Add missing tracks with duplicate namesfa40ee2- Fix servers incorrect counting of playerStrokesae533ba- Merge pull request #94 from pehala/fix_server_stroke75c3cd5- Remove .iml files6b89f91- Merge pull request #95 from pehala/remove_iml38eef4b- add --norandom to client to disable shot randomization1dc921b- Merge pull request #100 from thewavelength/master6c4ccdc- Remove editor.imlf9b69f3- Improve .gitignoree93fc7b- Merge pull request #101 from pehala/remove_iml_again2be2b7f- Copy files into virtual filesystem using its separatordc8b995- Upgrade to Java 1716aaac1- Deobfuscate some client codec9836b0- Deobfuscate SoundClip codea786b57- Deobfuscate SoundManager code4836e4d- Deobfuscate SoundPlayer code06f0e00- Use resources directory for SoundManager audio files1d797ed- Play sound on each stroke27d27e3- Deobfuscate some code in GamePlayerInfoPanel407868b- Send game winner information from server at the end of a gamed7cdeb8- Play win/draw/lose sound at the end of a game19d9b18- Remove unused res directoryca95244- Remove unused assets for Pool, Draw and Cannons games129c55b- Merge pull request #103 from StenAL/sound0de067d- Delete duplicate assetsaabe7b3- Server: Add CLI option to specify where to look for tracks6149aa9- Server: Move tracks to resources, use them instead of local folder448a991- Merge pull request #104 from StenAL/master1d96763- Delete unused code from com.aapeli package392c17d- Merge pull request #105 from StenAL/remove-dead-code64eef1a- Rename GamePlayerInfoPanelThread -> GamePlayerInfoPanelTimerThread5742b1d- Deobfuscate code around drawing player names46ee568- Deobfuscate and clarify GamePanel and GamePlayerInfoPanel code8744009- Merge pull request #106 from StenAL/deobfuscate-gamepanel90747a6- Remove static blocks initializing write-only String arraysc75ccb9- Deobfuscate SynchronizedInteger5a16e6b- Deobfuscate code UI code about rating tracksc42c613- Deobfuscate UI code about skipping tracks6eadcf2- Deobfuscate UI code about track score multipliers6853366- Deobfuscate some code around leaving an ongoing game36e3cb0- Deobfuscate some code around track score comparisons8128b05- Add comments to GamePlayerInfoPanel UI drawing code87324a3- Miscellaneous deobfuscation in client code641457b- Deobfuscate code around map parsing and rendering74fec6e- Invert boolean parameter in tryStroke1021c9b- Deobfuscate TextManager3064727- Rename get_upd -> add in SynchronizedIntegere77d7f7- Deobfuscate Parameters class472b64d- Deobfuscate more code in GamePlayerInfoPanel068ddc1- Miscellaneous cleanup in server code718b60f- Merge pull request #107 from StenAL/deobfuscatione864272- Remove "Game" prefix from most classes in agolf package3332165- Use AWT keyReleased events for username field validation65c00a1- Display remaining time for other players to shoot2f60325- Add CLI flag to set username45afa56- Delete server Database class08c5fb9- Implement track set fetching in FileSystemTrackManagerf85615a- Deobfuscate RetryCanvas and surrounding codedc2b5b3- Merge pull request #108 from StenAL/features4cc50ed- Deobfuscate start-up code in AAppletb530afa- Deobfuscate lobby selection and chat code36ae773- Fix layout shift when resizing the game while in a lobby8bd754d- Fix client connection retry behaviourb87ac4d- Deobfuscate lobby joining code6759ad7- Set lobby join delay to 1 secondee9374e- Merge pull request #109 from StenAL/featuresbf4801c- Deobfuscate StringDraw class7d67b17- Deobfuscate Choicer classa64bc49- Add setting to enable/disable audio output1c71756- Deobfuscate more start-up code8dbb360- Paint app content in the center of the applet3a6fe29- Increase default window size to 720pdb5983e- Merge pull request #110 from StenAL/features36eb736- Client: Remove uses of deprecated boxed number constructorsd5b8529- Client: Fix most warnings about unchecked collection usageb186c14- Client: Remove all redundant casts2a2a58f- Client: Automated code-quality improvements by IntelliJ055acc9- Client: Remove all unused imports2ebcf63- Client: Convert UsernameValidator line separators from CRLF to LFa42cf4d- Merge pull request #111 from StenAL/features268fa42- Server: Sort TrackSets when they are created5d8ab60- Server: Add stop methodeb75473- Server: Add single player network flow testa8dd482- Build: Upgrade to Java 21411acb0- Build: Fix Docker imageecb22cf- Shared: Remove dependency on softsmithy-lib-core8b22d01- Build: Do not create dependency reduced POMs for shaded JARs3f9354a- Build: Add metadata required by Launch4j to project POM396f275- Server: Remove null argument passed to varargs parameter in removePlayerb9b705e- Build: Upgrade dependencies (except Netty)1749814- Merge pull request #112 from StenAL/features87e33e5- Update build.ymle08fe5e- Merge pull request #113 from PhilippvK/ci-docker-hub8de5d44- Update build.yml996141c- Update build.ymla785c44- CI: build local image with "playforia-minigolf:latest" tag20af5f6- ci: move docker jobs to other filead7dc66- Server: Upgrade Netty to version 4.199053b6- Merge pull request #114 from StenAL/features868bb9b- add new contributor to README053ee33- readme: fix whitespace369a19c- README: add missing commit step9b24154- Increase version to v2.2.1.0-BETA