Commit Graph

56 Commits

Author SHA1 Message Date
abb0dcbaae Mod name defense attempt II (#9645)
* Improve Load game error label readability

* Fix threading on load game screen

* Miscellaneous tweaks

* Compatibility with Mods using trailing dashes on Windows
2023-06-25 09:38:18 +03:00
650a43aa3b Make UncivGame.isInitialized inaccessible outside of the class hierarchy (#9651)
* Make UncivGame.isInitialized inaccessible outside of the class hierarchy

* Fix JvmName
2023-06-25 09:03:44 +03:00
ba63f9a62b Fixed the positioning of popups after changing the screen orientation on Android (#8927) 2023-03-16 20:48:24 +02:00
b57232c992 Android: selectable orientation (#8822)
* Android: selectable orientation

* Fix visible rectangle bug, fix auto-rotate behaviour, add translations

* Fix translation

---------

Co-authored-by: vegeta1k95 <vfylfhby>
2023-03-06 10:35:14 +02:00
f55e010451 Android: "Screen Mode" option (#8785)
* Android: "Screen Mode" option

* Fix broken tests, code cleanup

* Fix broken tests, code cleanup

* Fix broken tests, code cleanup

---------

Co-authored-by: vegeta1k95 <vfylfhby>
2023-03-04 19:22:09 +02:00
494fde53cf Cleaning: platform specifics and UncivGame (#8773)
* Cleanup: platform specifics + UncivGame

* Fix tests

* Fix requests not clearing

---------

Co-authored-by: vegeta1k95 <vfylfhby>
2023-02-28 18:56:57 +02:00
b5ce086860 Android: use best possible device frame rate (#8728)
* Android: use best possible device frame rate

* Add support for devices with Android 6.0+

---------

Co-authored-by: vegeta1k95 <vfylfhby>
2023-02-23 22:40:58 +02:00
c593056e42 Modding: allow mods to supply custom fonts (#8715)
* Modding: allow mods to supply custom fonts

* Cleanup

* Code cleanup

---------

Co-authored-by: vegeta1k95 <vfylfhby>
2023-02-21 23:09:11 +02:00
c6b888e6ed Fix android build 2023-02-19 16:35:20 +02:00
211a637e31 Fixed Android build, hopefully 2023-01-18 19:28:16 +02:00
57ed61af41 Save compatibility handling (#7255)
* Add serialization version to GameInfo

* Add handling of incompatible saves due to a dfiferent save version

* Fix compilation?

* Fix ios compilation

* Refactor: Make it clearer that GameInfo serialization version is only supposed to be incremented when it's guaranteed to cause issues & rename to compatibility version

* Update initial version

* Update initial version

* Fix merge mistake
2022-07-01 09:34:41 +03:00
bc9a42e452 Save uncaught exception to file (#7247)
* Refactor: Rename GameSaver to UncivFiles

* Save last uncaught exception to file

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2022-06-25 22:30:27 +03:00
51ba657b75 Added option to select font size (#7238) 2022-06-25 13:46:12 +02:00
68cc4303ec Make popups and text fields nicer to interact with on Android (#7211)
* Make popups and text fields nicer to interact with on Android

* Refactor: Rename createTextField to UncivTextField.create

* Fix multiplayer save delete text
2022-06-22 09:32:20 +03:00
0585194eaf Fix cutout options crash (#7169) 2022-06-15 15:59:58 +02:00
fc926420e8 added cutout support (#7044)
* added support

* now toggleable in settings

* translation

* added note that it requires restart

* made it enabled by default

* padded buttons to the right if there is a cutout

* checking for cutout instead of android

* reverted button changes

* moved option to advancedTab
2022-06-14 20:34:30 +03:00
9008d242a3 Refactor: Change UncivGame.worldScreen and UncivGame.gameInfo to be of nullable type (#7114)
* Refactor: Make Popups work on Stages instead of BaseScreens

* Refactor: Change UncivGame.worldScreen and UncivGame.gameInfo to be of nullable type

* Fix "Resume" game loading not fully handling exceptions

* Fix one missed refactoring

* Refactor: remove useless postRunnable
2022-06-11 22:14:44 +03:00
3a03799074 Refactor: Extract all cross-platform code from CustomSaveLocationHelpers into core module (#6962)
* Also fixes the GameInfo.customSaveLocation to work for Android
2022-05-27 15:53:18 +02:00
214fae6f59 Add simple logging solution (#6952)
* Add simple logging solution

* Fix Android compilation

For some reason I stashed this and didn't unstash.

* Add better logging explanation
2022-05-27 13:45:13 +03:00
ea03b97639 #6914 Multiplayer Status Display (#6916)
* Handle subclassing of Events properly

Previously, you could only listen to the exact class

* Add relevant parent classes for the multiplayer events

* Refactor: use the old name as the main name in MultiplayerGameNameChanged event

* Add being able to stop listening to events in the EventBus

* Add tests for EventBus

* Refactor: Extract GameList into standalone file

* Refactor: safeUpdateIf to more generic throttle function

* Refactor: Extract multiplayer UI helper functions into separate file

* Refactor: Extract load/download multiplayer game into logic class from UI

* Make loading a multiplayer game automatically update the in-memory game in OnlineMultiplayer

* Refactor: Extract multiplayer settings into separate object

* Add multiplayer status display

* Fix error with multiplayer games not correctly being cleaned up after successful update

* Prevent loadLatestMultiplayerState() while next turn update is running

* Show "Working..." while waiting for next turn calculations instead of "Waiting for [civ]..."

* Fix race condition while updating online game state
2022-05-25 22:22:58 +02:00
fc9668f2d0 Refactor: change GameSaver from singleton to single instance pattern & move autosave logic into GameSaver (#6846)
* 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
2022-05-22 19:51:35 +03:00
5353f3337c Fix Gdx.files being garbage collected in MultiplayerTurnCheckWorker (#6817)
* Add logging to MultiplayerTurnCheckWorker

* Fix NullPointerException in turn check worker: Gdx.files is null
2022-05-18 07:35:00 +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
90a172ab02 Remove re-orientation for OptionsPopup (#6466) 2022-03-31 23:03:57 +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
0e26ea2cc8 Added deep link to multiplayer games (#6273) 2022-03-05 20:00:56 +02:00
24dfad696c New crash handler screen Part 2: Threads, runnables, more informative reports. (#5810)
* Add crashHandlingThread.

* Replace all uses of `thread` with `crashHandlingThread`.

* Add `postCrashHandlingRunnable`.

* Replace all uses of `Gdx.app.postRunnable` with `postCrashHandlingRunnable`.

* Remove CrashController and CrashReport; Strip down CrashReportSender to CrashReportSysInfo; Fold their functionality into CrashScreen.

* Typo in comments, rename `SafeCrashStage` to `CrashHandlingStage`.

* Tweak docs.

* Tweak docs, comments, text. Undo an accidentally recursive Replace All change.

* Remove replaced translations.

* More readable indentation handling in report template.
2022-01-09 11:33:45 +02:00
3220206bce Added game name to turn notification (#5350) 2021-09-29 17:38:27 +03:00
3e3bda42e5 Follow screen rotation even to Portrait on Android with Opt-in (#3936) 2021-05-19 23:27:23 +03:00
4db97dcd1a Added construction production info to city screen 2021-04-29 14:02:27 +03:00
55ef131fb2 3.14.3 2021-04-21 22:12:46 +03:00
ed8d642036 3.13.3-patch1 2021-02-27 23:47:08 +02:00
0feb9bdefc First attempt at making Unciv Android-TV-compatible 2020-12-01 23:26:01 +02:00
65524cb7dd Removed exitEvent from the UncivGameParameters, since Gdx.app.exit() does the same thing :) 2020-11-04 00:09:11 +02:00
e690e3bcea Copied files in Android should now overwrite existing files 2020-10-07 14:02:38 +03:00
010497e095 Don't delete existing mods when copying mods from the external diretory on Android app startup 2020-10-05 14:40:23 +03:00
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
bed7fe4c64 Added unit symbols for Strength, Ranged Strength, Range and Movement as 'emojis' 2020-08-24 22:48:00 +03:00
5356e63249 Refactor UncivGame initialization - add UncivGameParameters. (#2779) 2020-06-29 20:05:58 +03:00
18b2c5868b Hopefully mitigated some very odd multiplayer-checker-related crashes 2020-06-27 23:57:22 +03:00
3e31be1801 Natural wonders spawned before rivers, so we don't retroactively get rivers on coast tiles
Other small improvements for catching and avoiding crashes
2020-06-03 18:44:03 +03:00
43f8fa89c0 Game now saves save files in external storage on Android when possible.
May the lord have mercy on our souls.
2020-05-31 19:48:36 +03:00
4b6bab523f Rewrite the font system to render the characters incrementally (#2635) 2020-05-18 23:09:38 +03:00
6e03910097 Fixed crashing error when loading mods
Load game now shows user ShowableUncivExceptions
2020-04-27 19:23:59 +03:00
9f46ceea24 Fix Back=Leave game on Android, ESC=Back, both in Popups (#2356)
* Bring Incas into the main game
(also changes slinger withdraw ability to inheritable)

* Update Nations.json

* Back button fix, ESC, and behaviour of them in popups

* ESC/Back now work if there's no exitEvent

* ESC/Back: JackRainy is right, exit prompt now cancellable with same key
2020-04-08 15:55:00 +03:00
31d9bb0c5d Removed pebble symbol from Unciv icon when showing persistent notification (#2003)
Optimized Notification service texts
https://github.com/yairm210/Unciv/issues/1680
2020-02-23 20:45:25 +02:00
da9c65d288 Hopefully fixed access to uninitialized settings when pausing 2020-02-22 21:49:08 +02:00
cf84f5a0b5 Small bug fixes (#1968)
* Fixed access to unitialized variable
Fixed possible concurrency issue (long has visibility issues)
https://github.com/yairm210/Unciv/issues/1680

* Added comments
https://github.com/yairm210/Unciv/issues/1680
2020-02-19 13:18:40 +02:00
bc15d97de7 Added Multiplayer Turn Notification Service (#1947)
* Added Multiplayer Turn Notification Service
https://github.com/yairm210/Unciv/issues/1680

* Minor update on Credits.md (#1949)

# Nations
- Fix typo on word "crescent"
- Fix link that flew off on word "sword"

* 3.5.14-patch1

* Edit startgame screen. (#1950)

Co-authored-by: u-ndefine <41176671+u-ndefine@users.noreply.github.com>

* Small improvements suggested in pull request review
https://github.com/yairm210/Unciv/pull/1947

* Removed potential concurrency hazzards caused by access to non-final variables. Added option to turn off persistent notification (may be necessary on pre-Oreo phones.)
Added suggested comments. https://github.com/yairm210/Unciv/pull/1947

* Fixed miscommited debug code. https://github.com/yairm210/Unciv/pull/1947

Co-authored-by: u-ndefine <41176671+u-ndefine@users.noreply.github.com>
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
Co-authored-by: lishaoxia1985 <49801619+lishaoxia1985@users.noreply.github.com>
2020-02-17 18:34:46 +02:00
ddf86ecf2f Add support for loading mods on Android (#1825)
* Add support for loading mods

* Move mod folder copying into its own function

* Only request permission to read storage, not write

* Only allow mods on KK+ (removes storage permission)
2020-02-09 10:28:31 +02:00