Commit Graph

338 Commits

Author SHA1 Message Date
alexban011
e4e2696160
Friends list (#7020)
* created files for friends list screen

* redone #3

* fixed some crashes and more additions

* changelog in the comment below

* Update .gitignore

included the FriendsList.json file

* changelog in the comment below, again

* optimized imports to hopefully fix the error in github build check

* replaced imports with the ones from master since OnlineMultiplayer.kt no longer exists

* imported ViewFriendsList

* used the right package for all friendsList related files and a little bit of cleanup

* check if friends list is empty before adding the select friend button

* check if the ID is correct when adding a new friend

* don't set null as playerID if no friend is selected

* added messageTexts for the input TextFields

* don't show already selected friends

* fixed checkmark not updating after selecting a friend

* you can't be your own friend! and other checks for edit button

* fix error

* replaced error type with enum, replaced nested ifs with when loop, added additional checks when editing friends

* fixed error, can't really tell how I managed to do this

* reorganized checks for adding and created settings variable to hopefully fix the github build error

* actually fixed github error

* it now removes selected friends from the list of selectable friends

* fixed not being able to change only the id of a friend

* made it look half decent

* cleanup + improved help button

* updated template.properties

* renamed variable

* some tweaks

* moved friends list to GameSettings

* tested every feature and fixed what didn't work

* removed redundant variables and final cleanup

* little improvements

* string improvements

* removed rightSideButton from ViewFriendsListScreen

* removed unnecesary uniformX and decreased padding to allow seeing more friends in ViewFriendsListScreen
2022-06-01 22:47:43 +03:00
Timo T
5a4f1b0903
Allow non-SSL-encrypted HTTP traffic & warn Dropbox users (#7013)
* Add usesCleartextTrafic permission to Android manifest

* Add warning for starting a multiplayer game with the default Dropbox server

* Improve multiplayer server documentation

* Only update the current game if we're using a custom server or it's not our turn

* Refactor: Nicer variable name

* Fix compilation

* Fix type

Don't know what happened there
2022-06-01 22:40:20 +03:00
OptimizedForDensity
afce951724
Pillaging certain improvements may loot gold or other stat resources (#6993)
* Pillaging loots gold on certain improvements

* Add warning if improvement pillageGold > 0 and has UniqueType.Unpillagable

* Pillage yields as a UniqueType

* Forgot to undo demonstration

* Remove unused line

* Eliminate some redundancy

* Reword unique text

* Slight cleanup and add notification for pillage victim

* Reviews

* Made pillaging notifications more consistent with other hostile action notifications

* Missed a line
2022-06-01 19:13:04 +02:00
MartinP
98d189384c
Update template to add 'wait' (#7021) 2022-05-31 16:33:47 +03:00
SomeTroglodyte
1b008905f6
Save and load reorg and keyboard handling (#6929)
* Load and Save Game Screens rework - Linting

* Load and Save Game Screens rework - Modularize and Keyboard

* Load and Save Game Screens rework - error handling

* Load and Save Game Screens rework - Move other save/load code

* Load and Save Game Screens rework - More Keyboard

* Load and Save Game Screens rework - Increase clipboard limit

* Load and Save Game Screens rework - Post-merge patch

* Load and Save Game Screens rework - Home, End, harden

* Load and Save Game Screens rework - Post-merge patch again

* Load and Save Game Screens rework - reviews
2022-05-31 16:31:19 +03:00
Yair Morgenstern
ad7397de66 Territory steal rewording 2022-05-30 21:59:32 +03:00
Paul Pogonyshev
8ab686cb14
Improve suggestions when constructing an improvement is not possible (#6947)
* Improve suggestions when constructing an improvement is not possible

* Reimplement getImprovementBuildingProblems() as a generator function

* Update documentation of getImprovementBuildingProblems(); forgotten in the last commit

* ImprovementPickerScreen - tr

* Rename a variable for clarity

Co-authored-by: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com>
2022-05-29 22:16:04 +03:00
alexban011
ea31bd164f
Add optional on-screen buttons to zoom in and out (#6933) 2022-05-29 15:32:36 +02:00
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
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
Yair Morgenstern
6836038252 4.1.2 2022-05-22 20:40:51 +03:00
SomeTroglodyte
740886c890
Refactor UncivShowableException (#6899) 2022-05-22 13:55:19 +02: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
SomeTroglodyte
8329d56131
Allow generation of "Default" Deciv redux maps (#6821) 2022-05-16 13:03:06 +03:00
Jack Rainy
c4de3530f6
Possibility to liberate a traded city (#6797) 2022-05-15 17:57:29 +03:00
SomeTroglodyte
816e542e1c
Notifications not scrollable far enough after in-turn notifications got added (#6796) 2022-05-14 23:19:02 +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
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
SomeTroglodyte
7b4833741d
Fix missing translatables, again (#6705) 2022-05-11 00:21:38 +03:00
SomeTroglodyte
4b7edca7a8
Rework of the "Creates improvement on a specific tile" Unique (#6687)
* Make Citadel tile takeover a unique

* CreatesOneImprovement unique overhaul step 1

* CreatesOneImprovement unique overhaul - increase highlights alpha

* Fix missing translatables, again

* CreatesOneImprovement unique overhaul - review suggestions

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2022-05-08 21:22:01 +03:00
Jack Rainy
d00b72806b
Leftovers from previous PRs (#6725)
* Leftovers from #6698

* Leftovers from #6718

* Better naming
2022-05-08 21:19:55 +03:00
letstalkaboutdune
035b6528a7
New Demographics Scoreboard (#6645)
* Healing parity

Adjusted healing values for parity with CV

* New Demographics system for victory screen rankings

Added a new game setup checkbox option to use a ranking system on the victory screen which is more in line with the Civ V Demographics window. Created the UI element and game parameter but the demographics screen still needs to be implemented.

Also removed unnecessary comments from adjustments to healing values in a previous update.

* Demographics table init

Beginning to build structure of Demographics rankings table.

* Update VictoryScreen.kt

Attempt at getting more of the Demographics table implemented

* Update VictoryScreen.kt

Continued building the structure of the Demographics table

* Demographics first implementation

Finished first pass of Demographics screen.

* Minor text formatting

Improved some text formatting in code and comments.

* Update MapUnit.kt

Minor comment cleanup.

* SomeTroglodyte's Feedback, pt. 1

Implemented feedback given by SomeTroglodyte in PR #6645.

* Organized into functions

Split up Rankings table creation and Demographics table creation into new functions

* Update template.properties

Fixed missing space.

* Implementing more PR #6645 feedback

Added needed translation templates, used enum class instead of array for headers, moved checkbox to Options -> Display instead of new game

* Implemented rest of PR #6645 feedback

Simplified logic for finding player's rank, value, best/worst civ value, and filtered out defeated civs from the display and calculations

* Dead Civs get 0 in all categories

Added simple check if a civ is dead when computing score. If they are dead then they get 0 and go to the bottom of the scoreboard.

* Update VictoryScreen.kt

Further cleaned up code for better reuse and simpler logic with fewer loops.

* Update CivilizationInfo.kt

Simplified implementation of return 0 for stats when civ is defeated.

* Update CivilizationInfo.kt

Removed commented-out line of code.

* Fixed duplicate rank bug

Adjusted method of determining best and worst civs so that duplicates don't occur.

* Update VictoryScreen.kt

One-lined the handling of logic in buildDemographicsTable()

* Update VictoryScreen.kt

Moved static header row to new function.
2022-05-05 14:42:35 +02:00
MartinP
342367c72c
Fix typo in new translation line (#6692) 2022-05-05 01:23:22 +03:00
SomeTroglodyte
cec9975b4d
Implement fastlane step 2: Translating (#6643)
* Implement fastlane step 2: Translating

* Placing the Font family Label before the Thread is nicer
2022-05-03 09:16:22 +02:00
heipizhu4
0d80929945
Make 'Followers of this religion" translatable (#6662)
First time editing the template. Is this the correct way to do so?
2022-05-03 08:07:41 +03:00
SomeTroglodyte
515c9bbcae
Show available resources from CityScreen (bottom right info only) (#6667) 2022-05-03 07:59:42 +03:00
SomeTroglodyte
52586a2101
Map editor2.2 (#6641)
* Readability overloads for `getComplexRuleset`

* Enable loading maps containing missing ruleset objects with fix and message

* Fix bungled `noMapsAvailable` and follow minor criticism
2022-04-30 23:58:03 +03:00
SomeTroglodyte
8891883998
Resources UI (#6596)
* More info for Resources in Civilopedia

* Remove duplicates for Resource requirements in Civilopedia

* Resource overview link resource label to Civilopedia

* Resource overview stay if clicking can't notify (resources not existing on map)

* Resource overview display of resources produced by buildings
2022-04-27 09:15:49 +03:00
SomeTroglodyte
996c58e1fb
Some improvements to Map Editor - step 1 (#6622) 2022-04-27 08:19:04 +03:00
MartinP
00b1feb2c2
Added missing "s" (#6599) 2022-04-25 23:13:01 +03:00
Xander Lenstra
34105efdda
Moddable victories (#6161)
* Added a moddable (but not yet functional) file for victories

* Spaceship parts are units now

* Fixed tests

* Added milestone objects

* Made 'our status' table in VictoryScreen dependend on file

* Updated VictoryManager to use the new Milestone system

* Fixed bug where in vanilla too many spaceship parts could beb uild

* Whoops

* Updated global victory table to use the jsons

* Updated the new game screen to show the new victory types
Also started with the deprecation of VictorType

* Did some translation stuff, also finally fixed the tests

* Removed VictoryType and reworked AI to use Milestones instead

* Add some checks for the victory file; tested that custom victories work
Also moves some code to a better spot and fixes compilation errors

* Fixed some things I thought about while falling asleep
Most notably: built -> build; fixed spaceship part construction 
priority; removed more code for the old system

* Fixed translation issues on the victory screen
2022-04-24 22:45:38 +03:00
SomeTroglodyte
9e3df8605e
Request for take-over: Rewritten Map Editor (#5694)
* New Map editor - attempts 1

* New Map editor - attempts 2

* New Map editor - attempts 3

* New Map editor - attempts 4

* New Map editor - attempts 5

* New Map editor - attempts 6

* New Map editor - attempts 7

* New Map editor - attempts 8

* New Map editor - attempts 9

* New Map editor - attempts 10

* New Map editor - merge

* Revert included Stat icons in favour of #f90b22a

* Adapt to renamed TileGroup methods

* Manual merge of some baseruleset code for the map loader only

* Kludge for disappeared `getBaseRuleset`

* Fix after-merge conflicts, run convertTerrains in stepwise map generation

* Fix merge error

* Adapt to latest merge

* Baseruleset control - unpolished draft + max zoom out

* MapEditorV2 - merge fixes, base ruleset and mod control, texture loader fix, pedia links, translation, load mod maps, continent visualization, minor improvements and fixes

* MapEditorV2 - removed old editor
2022-04-19 13:17:44 +03:00
Xander Lenstra
a92057eed5
Made 'go to on map' translatable & fixed crash (#6565) 2022-04-18 11:48:03 +03:00
Yair Morgenstern
06569e6c5f Clearer "owned" resource 2022-04-17 14:18:16 +03:00
Ouaz
b65d30a8ae
Update template.properties (#6484)
* Update template.properties

- Fix untranslatable entry "Revoke protection for" (see comment in #6131)

* Fix capitalization for "protection"
2022-04-06 23:20:02 +03:00
SomeTroglodyte
357800a80e
Missing translations cleanup (#6452) 2022-03-31 23:14:35 +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
Xander Lenstra
8820ae6dad
Generalized a few nation uniques (#6443)
* Generalized a few nation uniques

* Fixed a bug and made random less random

* Implemented requested changes
2022-03-28 17:33:31 +03:00
SomeTroglodyte
7526114281
Empire overview resources (#6442)
* Empire Overview Resources: Vertical option

* Empire Overview Resources: Extra Info

* Empire Overview Resources: Tweaks

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2022-03-28 17:31:19 +03:00
SomeTroglodyte
870659d142
Translation writer conditionals (#6433)
* TranslationFileWriter processes Conditionals

* TranslationFileWriter processes Conditionals - wiki and reprocessed language files
2022-03-28 17:30:16 +03:00
SomeTroglodyte
0b50715fb3
Improve TranslationFileWriter (less hardcoding, fixes PolicyBranch) (#6421)
* Allow TranslationFileWriter to follow several superclass levels (fixes PolicyBranch names)

* Bring German and template up to par as baseline

* Framework to feed TranslationFileWriter from UniqueParameterType, also fixes Fountain of Youth

* TranslationFileWriter legacy guessing now _much_ simpler

* Fix "chance to be destroyed by nukes" case

* Fix tests (allTranslationsHaveCorrectPlaceholders goes cross-language)
2022-03-25 17:27:25 +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
4b55882019 3.19.18 2022-03-17 23:37:33 +02:00
Yair Morgenstern
635d588711 More untranslated items fixed - #6131 2022-03-17 23:34:39 +02:00
SomeTroglodyte
d8e9563a7c
Religion overview improved (#6303)
* Improve handling of Religion PickerScreen with long lists

* Fix mouseover graying Labels bug

* Update Pantheon chooser visuals

* Some Color.lerp simplification

* Religion pickers - Merge common stuff of Pantheon and Religion Pickers

* Religion pickers - Linting

* Religion pickers - Move ReligionOverviewTable extra lines capability to Belief, Fix FormattedLine link+center

* Religion pickers - Belief Civilopedia linked description

* Religion overview tweaked

* Religion overview tweaked - patch1
2022-03-13 22:43:40 +02:00