* 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
* Bring Incas into the main game
(also changes slinger withdraw ability to inheritable)
* Update Nations.json
* Discord thread is now a timer and gets notified to shut down
Solved truncated Autosaves: Made it singlethreaded within shutdown.
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* For #2200: Avoid MacOS tripping us
* Second hidden test in packImages
* Clearer message for a specific mod error, UI message for savegames missing mods
* Fixed obsolete imports from rejected experiments
* Tiny lint issue
* Irrelevant change to test push after rebase
* Rename "translationsByLanguage" folder
* Minor refactoring
* Generate Nations strings
* Use the nations strings while creating the translation files
* Clean up of Nations files
* Transfer existing translations
* Get rid of the nation's translated name
* Transfer just few nations' translations for languages without Nations_Language.json
* Clean up of not used greetings
* Correct marking of not translated strings
* Callback to exit the game by 'Back' button
* Prompt dialog for the game exit
* Additional strings for translations are generated
* Do not show exit prompt dialog twice
Rulesets are heavy to load so we now have a RulesetCache, which can construct "custom" rulesets with a list of mods!
We now pack mod images on Desktop run, and load the atlases for the loaded mods on load game!
Since loading all the translation files was taking around 2.5 seconds on my phone, and I assume much longer on older phones, we now only load the translations of the currently selected file, and if we need to find the translation percentage of all the files we deal with that separately. Down to around 200-300 ms on my phone =)
Also Translations is no longer part of the Ruleset, instead meing located in UncivGame
Apparently some chipsets, like NVIDIA Tegra 3 graphics chipset (used in Asus TF700T tablet), don't support non-power-of-two texture sizes - kudos @yuroller!
* Update Other.json
* Update Notifications.json
* Update Other.json
* Can Change Language With No "ttf" Font
* update
* Update AndroidLauncher.java
* repair app running slowly in using no "tff" class
* Can Change Language with No "ttf" Font (#772)
* Update Other.json
* Update Notifications.json
* Update Other.json
* Can Change Language With No "ttf" Font
* update
* Update AndroidLauncher.java
* repair app running slowly in using no "tff" class
* update nativefont for Desktop and IOS
* Delete NativeFontIOS.java
* can choose nativefont or font downloading from internet
* update
* update
* Update Fonts.kt
* Update Fonts.kt
* update
* update
* update
* update
* Update build.gradle
* update
* update
* update
* can choose native font or "WenquanYiMicroHei"
* update
* update
* update
* update