* Load and Save Game Screens rework - Linting
* Load and Save Game Screens rework - Modularize and Keyboard
* Load and Save Game Screens rework - error handling
* Load and Save Game Screens rework - Move other save/load code
* Load and Save Game Screens rework - More Keyboard
* Load and Save Game Screens rework - Increase clipboard limit
* Load and Save Game Screens rework - Post-merge patch
* Load and Save Game Screens rework - Home, End, harden
* Load and Save Game Screens rework - Post-merge patch again
* Load and Save Game Screens rework - reviews
* Refactor: change GameSaver from singleton to single instance pattern & move autosave logic info GameSaver
Singleton just doesn't make sense anymore when we have to `init(..)` with different arguments, then we should just make a normal class out of it
* Fix not correctly checking for missing external files dir
* Refactor: use more appropriate library method
* Add logging for external files dir
In the repository, this file definitely has Unix line endings (\n). So generating it with \r\n causes it to always show changes, even though there aren't any
* Replacements for existing UniqueTypes
* More typed uniques are added
* Migration to the typed uniques
* Minor optimization
* More general approach on UniqueType usage
* Better wording for the UniqueType
* vpn/proxy issues when creating new mp game
replaced redundant ping with opening a connection to dropbox to fix the proxy issue
* updated error message to include dropbox
* check multiplayerServer url if the user is playing on it
* use `https://content.dropboxapi.com` instead of `https://www.dropbox.com`
* fixed proxy issues on android
if connected to proxy but no internet access it will freeze for a couple seconds (until it finishes the for loop) but it works
* forgot to add the imports
* removed android sdk network check to fix proxy issues
* check for internet now separate from check for multiplayerServer
removed frunctions from PlatformSpecificHelpers__
* added improvements made by touhidurrr
* removed unused imports and replaced setter with property access syntax
Co-authored-by: Md. Touhidur Rahman <46617994+touhidurrr@users.noreply.github.com>
* Move UncivServer to own module (and jar)
* UncivServer isalive logged
* Separate UncivServer - some wiki hints
* Separate UncivServer - how to build UncivServer.jar
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Fix Barbarian Camp Spawned notification not revealing the camp on the map in multiplayer
* Fix lastSeenImprovement not being cloned
* Use HashMapVector2 in BarbarianManager
* Fix value not having its class written out for proper deserializing
* Refactor: various code improvements
* Create turn notifier for when the game is running for Windows
If playing on Desktop, you often put the game into background, but still want to know if it's your turn. A standard Windows function for that is `FlashWindow` from winuser.h, which is implemented here
* Fix: Use the window from the listener instead of the static one from libGDL
* Only notify if it's the turn of the player that is playing
* Always notify spectators of the next players' turn
* Refactor: Move notifier into GeneralPlatformSpecificHelpers
* Only load Windows DLL when we're actually on Windows
* Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected
Many thanks to SomeTroglodyte for most of the code and for explanations
* check for internet before starting a mp game to avoid freeze
Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected.
Many thanks to SomeTroglodyte for most of the code and for explanations. A slight modification has been done to the code to catch an error caused by InetAddress
* Revert "Merge remote-tracking branch 'origin/master-noInternet' into master-noInternet"
This reverts commit bd6474b50d, reversing
changes made to f52ad60b51.
* Comments to 'link' implementation (matchFilter) to UniqueParameterType
* Comments to 'link' UniqueParameterType to implementation (matchFilter)
* Fix two mistakes in UniqueParameterType
* Make "and" filter logic for MapUnit and BaseUnit modular, fix mistake
* Make UnitMovementMemory immutable and without lateinit
* Keep UniqueType comment promise that instances can override parameter types
* Reorg UniqueDocsWriter so UniqueParameterType-specific text is moved to the enum
Also some minor improvements - e.g. abbreviations sorted & consistent punctuation, less memory allocations, a/b/c type params get an example,...
* New abilities for UniqueDocsWriter concerning UniqueTarget and inheritsFrom (initially deactivated)
* Actually implement the wish for distinction between absolute and relative amounts
* Change UniqueParameterType.UnitName.docExample to Xander's choice
* custom server port
* format
* format
* Modify port range.
* Custom server port in client.
* replace `rangeTo`.
* format: Rename `getUrlWithPort` to `checkMultiplayerServerWithPort`.
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Background implementation for Unciv server with ktor.
Server ip in settings, able to copy your own ip and copy ip from clipboard for easy sharing, created stub for the client-server data transfer. No actual data storage or server implementation.
* Unciv server round 2 - implementing crud for files and it works!
metadata seems to only be in use for mutex, which is currently unused
That's all for today
* When starting a new multiplayer game the files are correctly saved in the server, and the server can return the files, but the function in the game to retrieve the game info is non-blocking so it doesn't work. Still, progress!
* Changed the Gdx http to basic Java http, as used for Dropbox, and now everything works!!!!
* Documentation for running and using the server
* Better texts, translations, etc
* Trog is right this should be a PUT not POST
* Typed some uniques, etc.
* Missed a few square braces
* Missed a parameter
* Missed another parameter
* Made a conditional, spelling, added check to `isStatRelated`
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Make unknown nation placeholder translatable.
* Make MultiplayerScreen help button clearer and translatable.
* Use `Constants.spectator` more.
* Make random/unknown nation icon translatable.
* Changed 'in [tileFilter] tiles' to also apply outside of combat
* Changed unique docs writer to also sort applicables, so these are also not regenerated constantly
Trying to validate this desktop entry with `desktop-file-validate` (default tool for desktop entry validation) shows the following warnings.
```bash
~$ desktop-file-validate unciv.desktop
unciv.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
unciv.desktop: warning: boolean key "Terminal" in group "Desktop Entry" has value "0", which is deprecated: boolean values should be "false" or "true"
```
Thus deprecated lines were removed or edited.
* Upgrading to LWJGL 3, which is now the default, as of LibGDX 1.10.1
MacOS running problem solved by adding JVM args to desktop build.gradle
Should resolve#5601
* Apparently, keyTyped is ONLY for character keys. Esc and f12 are non-character keys, so we need to change from keyTyped to keyDown.
How does this affect out ctrl combinations? Dunno yet :) I couldn't find any actual uses in code, but it shouldn't be worse than keyTyped
This commit can be cherry-picked into the master branch as a preparation for the move to lwjgl3
* update for no reason
* bruuhhhhhhhhh
* bruuhhhhhhhhh
* rebase... this probably wont work
* bruuhhhhhhhhh
* fix comments..?
* bruuhhhhhhhhh
* equalize with upstream/master
* made the game not change the text shown in rich presence with the current language, added a language override functionality to String.tr() which is probably inefficient as hell, also the reason why i had to keep the .tr in leader name is because it showed the parantheses
* i have no idea why github or git keeps bugging me on this but this line randomly appears then disappears
* i have no idea why github or git keeps bugging me on this but this line randomly appears then disappears
* revert changes to .tr(), use what @yairm210 suggested
A previous commit changed the atlas textures to use nearest filtering,
making the game look significantly jaggier. This commit makes them use
mipmap filtering again.
Using mipmaps with atlas textures can cause the edges of the images to
bleed into each other, an effect that was indeed present before the
filtering was changed to nearest. This commit adds some additional
padding and sets the padding to duplicate the edges of images to
mitigate this effect. Note that altough this makes some of the atlas
images look very strange, the in-game result is improved.
* First iteration of TileSet json
* Adding json support for mods
* Renamed TilesetConfig to TileSetConfig
+ changed the config for FHex to fix the mountain natural wonder problem
* Implement custom save locations for Android and Desktop
* Request write permission to save to external storage
* Fix race condition for custom saves/loads caused by autosaves
* Remove unnecessary WRITE_EXTERNAL_STORAGE permission for saving files
* Fix padding for custom save/load location buttons
* Use nullability checks as defined in coding style guide
* Use nullability checks as defined in coding style guide
* Use early return for readability
* Rename save/load completion callbacks for custom locations and implement error handling
* Remove ruleset from GameSetupInfo class
* Remove dependency from Gdx for file IO:
- load Ruleset
- save/init in GameSettings
- get settings in GameSaver
* Remove simulation logging from GameInfo class
* MapGenerator: add switch for RNG seed verbose
* PlayerPickerTable small refactor
* Basic console mode
* Add multithreading to console mode and refactoring.
* Merge branch 'master' into console
* Small refactor