Commit Graph

213 Commits

Author SHA1 Message Date
68a0e25c9e Fix uniques.md being generated with wrong line endings (#6825)
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
2022-05-16 09:50:38 +03:00
ab82328211 Missing typed uniques for the units - part 2 (#6749)
* 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
2022-05-13 12:34:10 +03:00
dc8dadfcab Fixed proxy issues when starting a new multiplayer game (#6757)
* 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>
2022-05-11 16:58:20 +03:00
eb5e8ae226 Switchable gzipping of saved games (#6735)
* Switchable gzipping of saved games

* Switchable gzipping of saved games - consensus says default off
2022-05-11 16:23:11 +03:00
4290373cf1 Move UncivServer to own module (and jar) (#6468)
* 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>
2022-05-08 21:22:43 +03:00
3ea9c6503b Font choice rework (#6670)
* Font choice rework

* Font choice rework - naming

* Font choice rework - fix default font selection
2022-05-08 21:22:23 +03:00
86d5011da1 In-depth serialization improvement, fixes Barbarian Camps revealed by Honor not showing immediately in multiplayer
* 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
2022-05-08 12:35:41 +02:00
ceeb547fb8 Create turn notifier for when the game is running for Windows (#6682)
* 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
2022-05-06 08:42:30 +03:00
a938fffb99 Fix of the broken link in the uniques.md (once again) (#6665)
* Fix of misprint (once again)

* Usage of CRLF endings
2022-05-03 07:52:20 +03:00
898b1ca056 check for internet before starting a mp game to avoid freeze (#6679)
* 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.
2022-05-02 23:41:08 +02:00
23c23e5566 Unique docs writer makeover (#6516)
* 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
2022-04-24 22:47:19 +03:00
0a5fc3cf33 Fixed the internal name & parameter of a unique (#6577) 2022-04-20 17:02:31 +03:00
8b5665a73f Resolved #6445 - problems in hosting Unciv server
Solution from https://stackoverflow.com/questions/56533497/how-to-replace-blocking-code-for-reading-bytes-in-kotlin
2022-04-17 13:26:04 +03:00
04c9be38c7 MusicController - Can catch exceptions from Gdx.app.loop and replaces Timer on desktop with a callback from OpenALLwjgl3Audio.update (#6526) 2022-04-13 18:30:01 +03:00
286e800b96 Resolved #6492 - package reorg 2022-04-08 13:01:37 +03:00
6315a16d98 Changed server connection to URL-based to allow connection to uncivserver.xyz 2022-03-31 23:03:14 +03:00
ee1af44809 Update UncivServer: (#6427)
- Add `clikt` lib.
- Add custom multiplayer file's folder.
2022-03-28 17:36:42 +03:00
f6a0a5595f Custom server port (#6406)
* 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>
2022-03-25 17:40:13 +03:00
7f3b075ac4 Implement a rudimentary CrashReportSysInfoDesktop (#6400)
* Implement a rudimentary CrashReportSysInfoDesktop

* Now gets Windows info the hard way
2022-03-25 17:29:09 +03:00
c1737b6183 Custom desktop font (#6377)
* Custom desktop font

* Add `getDesktopAllFonts` to setting custom desktop font.

* Custom font.
`desktopFontFamily` change to `fontFamily`.
Add GameSettings.getSettingsForPlatformLaunchers().

* Add `Custom font` setting UI.

* Add `Custom font` on Android.

* `Default Font` use translations.

* format

* remove open fun.

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2022-03-21 21:12:16 +02:00
2b1251258c Unciv server (#6384)
* 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
2022-03-21 21:05:02 +02:00
6babefd3ae Removed documentation of deprecated uniques, with the autoreplace it's no longer important information 2022-02-24 10:55:16 +02:00
4b921b6006 Mouseover descriptions for simple unique parameters 2022-02-24 10:52:23 +02:00
40918db1b0 Unique documentation is collapsable 2022-02-24 10:22:47 +02:00
1fcc59adb3 More readable unique docs - this is the easiest way I've found to have the uniques themselves stand out 2022-02-23 16:26:07 +02:00
a7e2d65d22 Lower limit for window size, recover from 0 in settings (#6212) 2022-02-22 11:27:35 +02:00
fe14918545 Turned 'getDeprecationAnnotation' and 'getReplacementText' to functions for reusability 2022-02-02 10:48:26 +02:00
39ed8bd269 Typed some uniques, added more examples for parameters in unique documentation (#6020)
* 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>
2022-01-24 11:03:40 +02:00
fe67dfa1c4 Make "Help" button clearer and translatable, random nation indicators and labels translatable. (#6013)
* Make unknown nation placeholder translatable.

* Make MultiplayerScreen help button clearer and translatable.

* Use `Constants.spectator` more.

* Make random/unknown nation icon translatable.
2022-01-23 09:39:28 +01:00
1d40b8a7de Dispose object Graphics2D if it isn't used (#5876) 2021-12-30 07:18:12 +02:00
90df253783 Disable -XstartOnFirstThread when not on Mac. (#5782)
* Disable `-XstartOnFirstThread` when not on Mac.

* Update desktop Mac arguments.

* Disable JVM Mac args only for `desktop:run`.
2021-12-22 19:17:50 +02:00
c9628c7fa7 Extended use for "in [tileFilter] tiles" conditionals (#5827)
* 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
2021-12-20 13:53:03 +02:00
237016d3d6 Fixes warnings in desktop-file-validate (#5822)
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.
2021-12-18 20:06:27 +02:00
a7b880c033 3.18.10 2021-12-15 23:12:28 +02:00
c655d69c78 Order unique docs by target type so we don't get reorderings all the time 2021-12-14 19:02:58 +02:00
6296f6917f Autogenerated docs wraps conditionals and doesn't give examples for non-parameter-containing uniques 2021-11-28 08:30:31 +02:00
05742e02f3 Added documentation for Mac parameters as per #5679 and future-proofing build.gradle for eventual mac releases 2021-11-27 21:05:11 +02:00
694e862944 Small improvement 2021-11-22 22:01:17 +02:00
1b0eaa8a71 Unique autodocs ++ 2021-11-22 21:59:35 +02:00
92fd72d895 Better autogenerated unique docs 2021-11-22 21:10:21 +02:00
4617bc21a7 Added unique documentation generation when running from Android Studio :) 2021-11-22 20:49:31 +02:00
a1e0b686b1 Upgrading to LWJGL 3, which is now the default, as of LibGDX 1.10.1 (#5614)
* 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
2021-11-03 00:15:47 +02:00
f53435e612 Made rich presence text not change with language (#5613)
* 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
2021-11-02 17:24:37 +02:00
72ffeaddce Remove Discord RPC checks for unsuitable devices (#5594)
* Allow Discord RPC disabiling on ARM devices

* Remove Discord RPC check
2021-10-30 19:02:24 +03:00
8161da26de Texture pack/load for mods also distributes by Images.*X* (#5296) 2021-09-22 22:11:39 +03:00
f9e0c39021 3.16.15 2021-09-14 11:37:20 +03:00
e575399baa Prevent packaged exe being shot down by mod atlas packing failures (#5169) 2021-09-10 13:02:25 +03:00
19837c235a 3.16.13-windows64NewPackrTest 2021-09-10 12:39:15 +03:00
2c8bf658ed 3.16.13-windows64NewPackrTest 2021-09-10 12:30:09 +03:00
1530389507 3.16.13 2021-09-08 23:19:07 +03:00