Commit Graph

3311 Commits

Author SHA1 Message Date
Timo T
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
Yair Morgenstern
8dadab872c 4.1.3 2022-05-25 19:53:45 +03:00
Yair Morgenstern
1ffbaa668a
Version rollout (#6938)
* Bump version and create initial changelog entry

* Update Traditional_Chinese.properties (#6935)

* Update Italian.properties (#6934)

* Update French.properties (#6926)

* Update Traditional_Chinese.properties (#6924)

* Update Traditional_Chinese.properties

* Update Traditional_Chinese.properties

* Update Spanish.properties (#6923)

* Update Traditional_Chinese.properties (#6920)

* Update German translation (#6919)

* Update Indonesian.properties (#6918)

* Update Simplified_Chinese.properties (#6917)

* Update Simplified_Chinese.properties

* Update Simplified_Chinese.properties

* Update Simplified_Chinese.properties

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Chia-Hung Ni <jameseses@gmail.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: hhpy123 <100397618+hhpy123@users.noreply.github.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>
2022-05-25 19:45:56 +03:00
SomeTroglodyte
e1b76e776d
Fix floodfill abbreviation translation showing on fortify key tooltips (#6909)
* Fix floodfill abbreviation translation showing on fortify key tooltips

* Fix floodfill abbreviation translation - fix case

* Fix floodfill abbreviation translation - existing and comment
2022-05-25 19:39:08 +03:00
SomeTroglodyte
0f63000ac8
Show required resource for upgrades, rework upgrade logic (#6849)
* Show required resource for upgrades, rework upgrade logic

* Show required resource for upgrades - reviews
2022-05-25 19:35:27 +03:00
alexban011
93afb26c62
Added option for confirmation when clicking "next turn" button (#6925) 2022-05-24 21:32:35 +02:00
Azzurite
4eaf3c8355 Regenerate atlas for e672ca6bf4 2022-05-24 17:34:02 +02:00
The Bucketeer
e672ca6bf4
Adding the missing spaceship parts unit sprites for FantasyHex tileset (#6928) 2022-05-24 17:32:20 +02:00
Timo T
b59b890ced
Fix multiplayer turn check worker exception (#6915) 2022-05-23 10:48:08 +03:00
Yair Morgenstern
6836038252 4.1.2 2022-05-22 20:40:51 +03:00
Yair Morgenstern
39adaed6b1
Version rollout (#6911)
* Bump version and create initial changelog entry

* Translations to Brazilian Portuguese (#6900)

* More translations to Brazilian Portuguese

* Adding more translations to Brazilian Portuguese

* Translations to Brazilian Portuguese

* Update Russian.properties (#6898)

* Update Spanish.properties (#6885)

* Update Spanish.properties

* Update Spanish.properties

* Update Italian.properties (#6883)

* Update German translation (#6878)

* Update French.properties (#6874)

* Update Traditional_Chinese.properties (#6872)

* Update Filipino.properties (#6864)

* Update Filipino.properties

* Update Filipino.properties

* Update Indonesian.properties (#6863)

* Update Simplified_Chinese.properties (#6861)

* Correct translation of 'keep it'

* Update Simplified_Chinese.properties

Computer fixed :D

* Fix error

Player report . F not only appers here, but also affects the Fortify's F

* Update Traditional_Chinese.properties (#6858)

* Translation rebuild and fix

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: André Lucas C. da Silva <andr9310@gmail.com>
Co-authored-by: deqtodo <94169613+deqtodo@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Chia-Hung Ni <jameseses@gmail.com>
Co-authored-by: Shann Aurelle Ripalda <shannaurelleg@gmail.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: heipizhu4 <100454479+heipizhu4@users.noreply.github.com>
2022-05-22 20:36:49 +03:00
Timo T
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
SomeTroglodyte
740886c890
Refactor UncivShowableException (#6899) 2022-05-22 13:55:19 +02:00
Timo T
f34b97a421
Fix multiplayer turn checker potentially stopping turn checks for everyone that plays that game if a file was not found remotely (#6901) 2022-05-22 00:13:48 -07:00
Timo T
244f9477df
Initial Event Bus implementation & Event-based multiplayer updates (#6826)
* Add EventBus

* Refactor: Extract multiplayer logic into their own classes & make updates event-based instead of throwaway+rebuild
2022-05-22 00:05:33 +02:00
itanasi
a2bc1a1a29
Assign Population Improvements (#6650)
City management UI to allow focusing automatic worker placement

Improvements to worker / specialist assignment routines
2022-05-20 00:12:23 +02:00
Timo T
07593d7034
Fix turn check worker exception (#6867)
AndroidFileHandle uses Gdx.files internally
2022-05-19 13:43:28 +03:00
SomeTroglodyte
3d6a01d633
Build warnings cleanup (#6827) 2022-05-19 02:12:18 +02:00
Yair Morgenstern
f464ac2544 4.1.1 2022-05-18 23:03:29 +03:00
Yair Morgenstern
c990c6338b
Version rollout (#6855)
* Bump version and create initial changelog entry

* Update Polish.properties a little (#6853)

* Add some random translations

* Translate the abbreviaation WLTK as DUK (Dzień Uwielbiania Króla)

* Add antoher random translation

* Update Simplified_Chinese.properties (#6852)

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Anton <antek@sniec.pl>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>
2022-05-18 21:02:55 +03:00
The Bucketeer
08138c5de7
HexaRealm update (#6850)
* Delete Oil WellC.png

Since now offshore platform is back again, the "coastal" oil rig is obsolete now.

* Add files via upload

* Add files via upload

* Add files via upload

* Update HexaRealm.json
2022-05-18 20:46:03 +03:00
Yair Morgenstern
4513ddb75a
Version rollout (#6851)
* Update Filipino.properties (#6842)

* Ukrainian translations (#6840)

* Update Spanish.properties (#6839)

* Update Spanish.properties

* Update Spanish.properties

* Update French.properties (#6836)

* Update Italian.properties (#6835)

* Update Traditional_Chinese.properties (#6833)

* Update Traditional_Chinese.properties

* Update Traditional_Chinese.properties

* Update Traditional_Chinese.properties

* Update Indonesian.properties (#6831)

Co-authored-by: Shann Aurelle Ripalda <shannaurelleg@gmail.com>
Co-authored-by: Jack Rainy <JackRainy@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
2022-05-18 08:23:28 +03:00
Timo T
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
Jack Rainy
4986505363
Great General typed uniques and improved moddability (#6818)
* Great General UniqueTyped and improved moddability - draft

* Great General UniqueTyped and improved moddability - reviews

* Great General UniqueTyped and improved moddability - no reason not to cache another

* Integration with JackRainy's solution

* Integration with JackRainy's solution - part 2

* Revert of maxGreatGeneralBonusRadius logic

* Minor refactoring

* Code review: minor refactoring

* Keep the warning for the modders about the obsolete unique

* Code review: Better wording for the unique

Co-authored-by: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com>
2022-05-18 00:02:53 +03:00
Xander Lenstra
7079619fe2
Great improvements can again be constructed on forest (#6823)
* Great improvements can again be constructed on forest
This PR fixes a bug where great improvements couldn't be build on 
forests/marshes/jungles/etc. It does so by creating a unique which 
specifically allows for removing features, and checking for that.
Additionally, we only remove these features when we have the tech to 
remove them. For example, you can no longer plonk an Academy down over a 
forest without having researched mining.

* Missed the file for vanilla

* Reviews

* Fixed logic
2022-05-17 20:04:49 +03:00
Timo T
df9b62ff6f
Fix coroutines not being added to desktop:dist (#6822)
* Use kotlin coroutines instead of raw threads (+ refactorings)

Equal to f8e0f572

* Fix coroutine class files not being added to desktop:dist
2022-05-17 08:37:12 -07:00
SomeTroglodyte
8329d56131
Allow generation of "Default" Deciv redux maps (#6821) 2022-05-16 13:03:06 +03:00
Yair Morgenstern
b5a2aa59b6 4.1.0 2022-05-15 20:44:18 +03:00
Yair Morgenstern
01497a14ec
Version rollout (#6820)
* Bump version and create initial changelog entry

* More translations to Brazilian Portuguese (#6814)

* Update Brazilian_Portuguese.properties

* Adding translations to Brazilian Portuguese

* Adding more translations to Brazilian Portuguese

* Adding more Brazilian Portuguese translations

* Update Simplified_Chinese.properties (#6811)

* Update Simplified_Chinese.properties

Fix 2 errors & fill in the space

* Complete translations for Civilopedia

* Update French.properties (#6794)

* Update Indonesian.properties (#6791)

* Update Italian.properties (#6790)

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: André Lucas C. da Silva <andr9310@gmail.com>
Co-authored-by: heipizhu4 <100454479+heipizhu4@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
2022-05-15 19:34:50 +03:00
Timo T
e53303b249
Mark Unciv as an application that may use more memory than usual (#6819) 2022-05-15 19:30:48 +03:00
Yair Morgenstern
7ef2bbc56c Revert "Use kotlin coroutines instead of raw threads (+ refactorings) (#6801)"
This reverts commit f8e0f572
2022-05-15 19:20:23 +03:00
Jack Rainy
c4de3530f6
Possibility to liberate a traded city (#6797) 2022-05-15 17:57:29 +03:00
Timo T
f8e0f572e4
Use kotlin coroutines instead of raw threads (+ refactorings) (#6801)
* Refactor: Move classes into their own files

* Handle 404 FileNotFound in UncivServer

* Refactor: Rename method

* Make GameSaver.saveGame throw the exception by default if it is not handled

* Add possibility to work with FileHandles in GameSaver

* Make OnlineMultiplayerGameSaver load the multiplayerServer setting each time it does something

This theoretically makes it unnecessary for the OnlineMultiplayerGameSaver to be re-instantiated each time it is used

* Refactor: Remove duplicated code

* Refactor: Extract NextTurnButton from WorldScreen

* Refactor: Remove WorldScreen-specific code from OptionsPopup

* Use kotlin coroutines everywhere instead of plain threads

This probably also cuts down on our raw thread usage, improving performance, since we now use a cached thread pool (in addition to coroutines being able to reuse threads anyway)

* Improve deep load from notification

* Refactor: Give music download coroutine the proper name
2022-05-15 00:52:45 +03:00
SomeTroglodyte
816e542e1c
Notifications not scrollable far enough after in-turn notifications got added (#6796) 2022-05-14 23:19:02 +03:00
Yair Morgenstern
e94d109166 4.0.16 2022-05-13 13:00:20 +03:00
Yair Morgenstern
66abc2f779
Version rollout (#6789)
* Bump version and create initial changelog entry

* Update Russian.properties (#6787)

* Update Russian.properties

* Fix translation

* Update Spanish.properties (#6782)

511 - Yes, the double space is intentional

* Add Fastlane_short_description translations (#6781)

Also added Civ V - Vanilla and Civ V - Gods and Kings translation.

* Update German translation (#6778)

* Update French.properties (#6769)

* Update Indonesian.properties (#6768)

* Update Simplified_Chinese.properties (#6766)

* Update Simplified_Chinese.properties

* Make 2 translation together (#1)

* Fetch the latest update
* Update Simplified_Chinese.properties

Correct language defects and ambiguities and fill in gaps

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>

* Update Italian.properties (#6765)

* Update Korean.properties (#6754)

* Update Korean.properties

* Update Korean.properties

* Update Korean.properties

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: deqtodo <94169613+deqtodo@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: nilleh <72703236+niltok64@users.noreply.github.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: heipizhu4 <100454479+heipizhu4@users.noreply.github.com>
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Auvergne <97716654+ARPD-release@users.noreply.github.com>
2022-05-13 12:52:53 +03:00
SomeTroglodyte
345ca0ec25
Pedia from mainmenu (#6788)
* Make Civilopedia independent of worldScreen or gameInfo

* Make Civilopedia callable from Main Menu

* Era category for Civilopedia

* Era category for Civilopedia - atlas
2022-05-13 12:36:06 +03:00
Leonard Günther
09b4e82589
Rate limit handling for Dropbox (#6416)
* Added rate limit handling to dropbox

+ some refactor to make the whole file one object

* Added error messages on rate limit reached

+ refactored some popup code to reduce repetition

* Fixed merge error

* Made variables private

* Fixed file upload not working

because of missing override flag for dropbox

* Stop multiplayer refresher if rate limit reached

* Fixed typo

* Various code changes/fixes

- ErrorResponse var name has to be `error` because that's how DropBox's json property is named
- Change FileStorageRateLimitReached exception to store the seconds remaining as its own property instead of in the message
- Use toIntOrNull to avoid setting defaults in two places

* Fixed missed exception message

Co-authored-by: Azzurite <azzurite@gmail.com>
2022-05-13 09:16:52 +03:00
Yair Morgenstern
3e63be5376 4.0.15-patch1
Extra images fixed and HexaRealm added :)
2022-05-11 17:58:30 +03:00
The Bucketeer
e9ffe7667c
Proposal to add the current HexaRealm tileset as the built-in tileset. (for serious this time.) (#6756)
* Create posh

* HexaRealm tile sprites upload (part 1)

* HexaRealm tile sprites upload (part2)

* HexaRealm tile sprites upload (part 3)

* Upload HexaRealm.json

Should have no problem in terms of most of the layering!

* Delete posh

* Delete bana.png
2022-05-11 17:34:46 +03:00
Yair Morgenstern
cd002699f3 4.0.15 2022-05-11 17:22:31 +03:00
Yair Morgenstern
97b8bd106a
Version rollout (#6762)
* Bump version and create initial changelog entry

* Update Simplified_Chinese.properties (#6753)

Correct some translation errors

* Update Romanian.properties (#6748)

* 1

* 2 - most city names don't have a translation

* 3 - more cities

* Update Turkish.properties (#6746)

* Update French.properties (#6738)

* Update Italian.properties (#6734)

* Update Indonesian.properties (#6733)

* Update German translation (#6732)

* Update Filipino.properties (#6729)

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: xk730 <40309144+xk730@users.noreply.github.com>
Co-authored-by: alexban011 <alexban011@gmail.com>
Co-authored-by: omerfaruk-cakmak <32402595+omerfaruk-cakmak@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: Shann Aurelle Ripalda <shannaurelleg@gmail.com>
2022-05-11 17:05:17 +03:00
alexban011
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
Yair Morgenstern
e348a20d2e Extracted policies, religions, nations and promotions to separate png files in order to fit HexaRealm tileset into the main file - see #6756 2022-05-11 16:57:39 +03:00
SomeTroglodyte
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
Xander Lenstra
8fcfbf752b
Improved clarity and moddability of building improvements (#6712)
* Renamed tile.hasUnique, deprecated `Indestructable`, unique for citadels
Also refactored the consumption of (great) people out of UnitActions.

* Reworked when improvements can be build somewhere for more clarity

* Made resources improvable by multiple improvements; Offshore Platform

* Fix compatability

* WIP

* Fixed the tests, but better

* I suppose I might as well update this now that we're a version later
2022-05-11 00:35:21 +02:00
SomeTroglodyte
7b4833741d
Fix missing translatables, again (#6705) 2022-05-11 00:21:38 +03:00
Yair Morgenstern
ba96bea556 4.0.14 2022-05-08 21:42:19 +03:00
Yair Morgenstern
4fe775c0f5
Version rollout (#6726)
* Bump version and create initial changelog entry

* Update Filipino.properties (#6714)

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Filipino.properties

* Update Romanian.properties (#6713)

* 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

* Revert "Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected"

This reverts commit bae7d7c07f.

* some translations

* merging with 4.0.13

* fixed a little error

* fixed github check error

* Update German translation (#6710)

* Update German translation

* Update German translation

* Update German translation

* Update Italian.properties (#6708)

* Update French.properties (#6697)

* Update French.properties

* Update French.properties to 4.0.13

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Shann Aurelle Ripalda <shannaurelleg@gmail.com>
Co-authored-by: alexban011 <alexban011@gmail.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
2022-05-08 21:29:33 +03:00
SomeTroglodyte
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