Commit Graph

200 Commits

Author SHA1 Message Date
SomeTroglodyte
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
Yair Morgenstern
286e800b96 Resolved #6492 - package reorg 2022-04-08 13:01:37 +03:00
Yair Morgenstern
6315a16d98 Changed server connection to URL-based to allow connection to uncivserver.xyz 2022-03-31 23:03:14 +03:00
Tang
ee1af44809
Update UncivServer: (#6427)
- Add `clikt` lib.
- Add custom multiplayer file's folder.
2022-03-28 17:36:42 +03:00
Tang
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
SomeTroglodyte
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
Tang
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
Yair Morgenstern
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
Yair Morgenstern
6babefd3ae Removed documentation of deprecated uniques, with the autoreplace it's no longer important information 2022-02-24 10:55:16 +02:00
Yair Morgenstern
4b921b6006 Mouseover descriptions for simple unique parameters 2022-02-24 10:52:23 +02:00
Yair Morgenstern
40918db1b0 Unique documentation is collapsable 2022-02-24 10:22:47 +02:00
Yair Morgenstern
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
SomeTroglodyte
a7e2d65d22
Lower limit for window size, recover from 0 in settings (#6212) 2022-02-22 11:27:35 +02:00
Yair Morgenstern
fe14918545 Turned 'getDeprecationAnnotation' and 'getReplacementText' to functions for reusability 2022-02-02 10:48:26 +02:00
Xander Lenstra
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
will-ca
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
lishaoxia1985
1d40b8a7de
Dispose object Graphics2D if it isn't used (#5876) 2021-12-30 07:18:12 +02:00
will-ca
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
Xander Lenstra
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
Md. Touhidur Rahman
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
yairm210
a7b880c033 3.18.10 2021-12-15 23:12:28 +02:00
yairm210
c655d69c78 Order unique docs by target type so we don't get reorderings all the time 2021-12-14 19:02:58 +02:00
yairm210
6296f6917f Autogenerated docs wraps conditionals and doesn't give examples for non-parameter-containing uniques 2021-11-28 08:30:31 +02:00
yairm210
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
yairm210
694e862944 Small improvement 2021-11-22 22:01:17 +02:00
yairm210
1b0eaa8a71 Unique autodocs ++ 2021-11-22 21:59:35 +02:00
yairm210
92fd72d895 Better autogenerated unique docs 2021-11-22 21:10:21 +02:00
yairm210
4617bc21a7 Added unique documentation generation when running from Android Studio :) 2021-11-22 20:49:31 +02:00
Yair Morgenstern
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
logic
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
asda488
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
SomeTroglodyte
8161da26de
Texture pack/load for mods also distributes by Images.*X* (#5296) 2021-09-22 22:11:39 +03:00
yairm210
f9e0c39021 3.16.15 2021-09-14 11:37:20 +03:00
SomeTroglodyte
e575399baa
Prevent packaged exe being shot down by mod atlas packing failures (#5169) 2021-09-10 13:02:25 +03:00
yairm210
19837c235a 3.16.13-windows64NewPackrTest 2021-09-10 12:39:15 +03:00
yairm210
2c8bf658ed 3.16.13-windows64NewPackrTest 2021-09-10 12:30:09 +03:00
yairm210
1530389507 3.16.13 2021-09-08 23:19:07 +03:00
SomeTroglodyte
7f386da2bc
Kotlin 1.5 new warnings - partial (#5108)
* Kotlin 1.5 new warnings - partial

* Kotlin 1.5 new warnings - partial
2021-09-06 18:28:20 +03:00
SomeTroglodyte
9c3e621b15
Atlas reorg - packer to loader via json (#5014) 2021-08-29 23:29:24 +03:00
SomeTroglodyte
3b5489a3b4
Persistent new game setup (#5016)
* Persistent new game setup

* Persistent new game setup - comments
2021-08-29 20:40:13 +03:00
SomeTroglodyte
5403f28c77
Remove inactive server code and music (#5017) 2021-08-29 11:33:46 +03:00
SomeTroglodyte
cdc63f71e8
Multi-Atlas / Image packer redo (#4959)
* Atlas reorg

* Atlas reorg - resulting atlases 1

* Atlas reorg - resulting atlases 2

* Atlas reorg - merge
2021-08-24 07:31:21 +03:00
yairm210
a0e0cccea8 Resolved #4970 - Removed MacOS release due to problems 2021-08-23 20:35:20 +03:00
yairm210
8ef0dc99e9 MacOS release!
With the xmargs it needs to run ;)
2021-08-22 22:59:10 +03:00
yairm210
fffedf9a70 MacOS release! 2021-08-22 22:49:49 +03:00
yairm210
79f3aae803 Linux64 is now built with packr JAR file, thus removing the need for JAVA_HOME! 2021-08-22 21:08:26 +03:00
yairm210
85ed8a27d3 Bumped sourceCompatibility to Java 7
Released in 2011 and by now technically out of support for 2 years.
Gotta roll with the times, but roll slowly.
2021-08-20 15:24:02 +03:00
Yair Morgenstern
79b3fb6de4 Resolved #4151 - Discord library load will now catch failed attempts properly 2021-06-25 16:46:18 +03:00
Yair Morgenstern
4d6b4cd957 A possible fix for #4151 2021-06-23 11:17:58 +03:00
Yair Morgenstern
c424c681b5 Maybe resolved #4151 2021-06-23 11:12:09 +03:00
Arthur van der Staaij
d7865f4a81
Made atlas textures use mipmaps again (#4187)
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.
2021-06-18 09:25:11 +03:00
lishaoxia1985
7e284f998b
Redraw skin Images, edit skin load method (#4080) 2021-06-10 23:10:13 +03:00
lishaoxia1985
e77eaf5fa5
Fix the app window changing may lead to that the app can't open in macOS (#4042) 2021-06-03 15:02:46 +03:00
SomeTroglodyte
9ed73d0d3f
Spruced up ModManagementScreen - phase 1 (#3983)
* Spruced up ModManagementScreen - phase 1

* Spruced up ModManagementScreen - phase 1 - patch1
2021-06-01 15:21:31 +03:00
SomeTroglodyte
7c7d4181cc
Fix custom map sizes - saves match, size obeyed, limit UI (#3965)
* Fix custom map sizes - Revive Enum MapSize and fix tech modifier for custom maps

* Fix custom map sizes - Fix saved size not matching tileset, obey custom size

* Fix custom map sizes - limiting custom size and UI

* Fix custom map sizes - linting and reduce warnings

* Fix custom map sizes - less verbose

* Popup gets a KeyPressDispatcher - templates
2021-05-20 22:17:07 +03:00
Yair Morgenstern
482f9ae9e5 Linting - Optimized imports 2021-05-10 22:45:29 +03:00
Alexander Korolyov
453f5588ac
Custom map size (#2876)
* Adding custom map sizes. Initial commit

* Custom map sizes UI update

* Custom map size with rectangular shape

* Added compatibility with older Maps and Game saves

* Fixed build errors and added warning messages

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2021-05-06 18:39:28 +03:00
Yair Morgenstern
4db97dcd1a Added construction production info to city screen 2021-04-29 14:02:27 +03:00
GGGuenni
b7d6bacc5b
Added TileSetConfigs (#3766)
* 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
2021-04-13 07:49:49 +03:00
Yair Morgenstern
bcab751f7c Linting 2021-01-28 16:21:25 +02:00
Yair Morgenstern
80b470e867 Resolved #3497 - city state quests always show correctly when diplomacy screen accessed from city button
Added some scrollbars as per #3495
2021-01-03 21:37:38 +02:00
Yair Morgenstern
3d1e1d7936 Removed some confusing and pointless ": " at the end of translations - #3335 2020-11-22 22:41:12 +02:00
Yair Morgenstern
6d7d698dad Prepacked flag, unit and building images in altas files, so they'll be readable from the jar files 2020-11-22 21:47:46 +02:00
Yair Morgenstern
35554f3ec6 Resolved #3330 - Texture is back to 2048*2048, by taking flags buldings and units out of the main image.
The cost is that there are texture swaps, and so framerate is hurt.
2020-11-19 21:44:09 +02:00
Yair Morgenstern
65524cb7dd Removed exitEvent from the UncivGameParameters, since Gdx.app.exit() does the same thing :) 2020-11-04 00:09:11 +02:00
Yair Morgenstern
87b0af6c1c AI can no longer raze capital cities 2020-11-02 20:21:44 +02:00
Yair Morgenstern
3bf045d354 One high-stakes, no-holds-barred, to-the-death profiling later, and we're left with a much less laggy main screen and a much more profile-able citybutton/ 2020-10-16 00:39:58 +03:00
Yair Morgenstern
3e98e0c00f 3.11.0 2020-10-03 20:48:34 +03:00
CrispyXYZ
ae182fb7b5
fix 'OpenGL is not supported' Exception (#3202) 2020-10-03 20:20:27 +03:00
Billy Brawner
205b5ccfea
Implement custom save locations for Android and Desktop (#3160)
* 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
2020-09-20 23:22:07 +03:00
Yair Morgenstern
bed7fe4c64 Added unit symbols for Strength, Ranged Strength, Range and Movement as 'emojis' 2020-08-24 22:48:00 +03:00
Väinö Mäkelä
742816b759
Fix Gradle deprecation warnings (#2879)
Gradle 7 will remove some features and they need to be replaced
2020-07-24 09:30:00 +03:00
Alexander Korolyov
1c613ac274
Remove unnecessary try catch block. (#2869) 2020-07-22 06:29:12 +03:00
Alexander Korolyov
e74f7608d1
transfer simulateUntilWin from UncivGame to GameInfo class. (#2849)
* transfer simulateUntilWin from UncivGame to GameInfo class.

* update tests

* Update description comments
2020-07-16 13:52:39 +03:00
Yair Morgenstern
c94079c0a7 Fixed tests which broke due to console checking being dependant on UncivGame.Current 2020-07-04 23:57:45 +03:00
Alexander Korolyov
4bcae5f664
Console mode for multiple game automation (#2777)
* 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
2020-07-04 21:47:52 +03:00
Alexander Korolyov
5356e63249
Refactor UncivGame initialization - add UncivGameParameters. (#2779) 2020-06-29 20:05:58 +03:00
Yair Morgenstern
1c04ba50cb Basic structure of Dropbox replacement self-serving 2020-06-01 21:33:59 +03:00
Daniel Bälz
47d7e8ef09
Gradle Kotlin DSL (#2634)
* Ease migration to Gradle Kotlin DSL by changing quotes, function calls and plugin definitions

* Migrate build scripts to Gradle Kotlin DSL
2020-05-19 00:14:01 +03:00
Väinö Mäkelä
4b6bab523f
Rewrite the font system to render the characters incrementally (#2635) 2020-05-18 23:09:38 +03:00
Yair Morgenstern
b7e5d8ac6e Windows 32-bit test 2020-05-17 22:13:25 +03:00
proteus-anguinus
226801bfbd
Texture packer conditionally (#2373)
* Bring Incas into the main game
(also changes slinger withdraw ability to inheritable)

* Update Nations.json

* Desktop debugging - skip unnecessary TexturePacker calls

* Desktop debugging - skip unnecessary TexturePacker calls patch 1
2020-04-10 10:25:34 +03:00
Yair Morgenstern
244d341566 Hopefully solved #2361 for real this time 2020-04-08 16:37:17 +03:00
Yair Morgenstern
eabf17186c Hopefully resolved #2361 - added libdiscord-rpc.so for 32-bit linux 2020-04-08 15:15:04 +03:00
proteus-anguinus
cee794b29c
Discord thread shutdown, last Autosave singlethreaded (#2318)
* 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>
2020-04-06 13:43:40 +03:00
rh-github-2015
4fb7e11354
Mod loader resilience (#2211)
* 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
2020-03-22 22:43:39 +02:00
Jack Rainy
15098d877c
Translations refactoring (#2096)
* 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
2020-03-10 10:17:05 +02:00
Yair Morgenstern
267c98be55 Resolved #1757 - Can now see version when running from a desktop Jar 2020-01-29 21:45:44 +02:00
JackRainy
8a327fa7be Fix for the "Back button can't end Unciv (#1513)" (#1661)
* 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
2020-01-12 23:05:49 +02:00
Yair Morgenstern
ffb562c0aa Should be able to recognize Raspberry Pi and not try and load the Discord RPC (which crashes the game) 2020-01-07 20:32:59 +02:00
Yair Morgenstern
f97c230be8 Images are now packed when running from the .jar as well, so non-coding modders should never need to run from source code =) 2020-01-06 23:56:18 +02:00
Yair Morgenstern
7462aae94c Big changes to mods and rulesets - almost production ready!
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!
2020-01-05 22:11:10 +02:00
Yair Morgenstern
4c51e70283 Managed to load first mini mod, needs some work before this can work for users
(what happens if we started a game with mod A and then we want to start a game with only mod B?)
2019-12-31 17:49:07 +02:00
Yair Morgenstern
3627d4e6e2 Now load only necessary translations
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
2019-12-18 23:32:31 +02:00
lishaoxia1985
e937ea0af1 all codes are writen in Kotlin (#1452) 2019-12-15 20:28:34 +02:00
Yair Morgenstern
a13d6bc82e Package move & civilopedia scroll fix 2019-12-13 13:58:05 +02:00
Yair Morgenstern
eace5a46b4 Disabled GL 3.0 because it causes problems in Mac computers 2019-12-08 09:10:02 +02:00
Yair Morgenstern
110e7b7052 Desktop no longer crashes/bugs on first initialization 2019-12-05 20:59:44 +02:00
Yair Morgenstern
47e214258a FINALLY managed to un-staticify GameBasics, this means the game can potentially recognize different rulesets! 2019-12-04 23:57:54 +02:00
Yair Morgenstern
975531d856 Enabled HDPI for Mac OSX 2019-12-04 19:56:09 +02:00