Commit Graph

338 Commits

Author SHA1 Message Date
bdc239fd34 chore: moved statsForNextTurn and happiness transients into civ stats 2023-01-18 14:49:25 +02:00
1ae75f22be Better indication of cached-updating functions for civinfo 2023-01-18 13:35:01 +02:00
68daac5660 Advanced game options hidden by default for faster initial game
Better alignment on new game screen for options and mods
2023-01-17 22:30:24 +02:00
0ada7c476e Fixed broken test, faster local tests 2023-01-17 21:49:12 +02:00
879a5b230f Resolved #8387 - Fixed Reliquary belief
Got rid of multiple uniques with the same text
2023-01-16 13:05:11 +02:00
864145acbb Differentiated attackable from visible tiles per Civ V 2023-01-15 11:19:32 +02:00
31acb7e469 Tiles 1 step out of bounds of visibility are visible if they're higher than current tile 2023-01-15 11:05:19 +02:00
d1a9caaa88 New tile visibility framework! 2023-01-15 10:54:41 +02:00
924dbf70d0 Added framework for tile visibility testing 2023-01-15 08:05:43 +02:00
6964c66d73 Fixed tests 2023-01-09 08:56:39 +02:00
f244c36b57 Update all improvement and road writes to use TileInfo setters (#8136) 2022-12-15 07:18:47 +02:00
545b4afc5a Generalized "Stats per policies" unique 2022-11-26 21:39:26 +02:00
2e5e221158 CityStateType overhaul!!!! 2022-11-21 20:30:52 +02:00
7d9db1e119 CityStateType deprecation p1 2022-11-21 20:03:05 +02:00
8530de7de1 Can now use [stats] unique to add happiness globally 2022-11-21 11:33:29 +02:00
0cf5c33475 Can now use [stats] unique for e.g. techs, policies, etc, to add gold/faith/culture/science to the global pool 2022-11-21 11:21:42 +02:00
61b98120a8 Fixed tests failing due to removing "crutches" 2022-11-20 00:24:59 +02:00
4522ab4c6b Added "How to create a UI skin for Unciv" to wiki (#7976)
* Replaced all occurrences of deprecated NinePatch

function calls

This makes a lot of UI elements already moddable but documentation is still missing

* Added "How to create a UI skin for Unciv" to wiki

* Added image

* Fixed two typos and updated directory image

Old image was missing a folder
2022-11-06 22:53:55 +02:00
f0ad7581bc Resolved crash when mods make 2 techs require each other 2022-10-13 22:55:12 +03:00
35eb71c937 Removes the option for disabling religion (#7606)
* Removes the option for disabling religion

* Deprecated religionEnabled variable, set default to `true` and removed in cases where it shouldn't have effect
2022-08-05 11:46:06 -04:00
53d18095ee Add unit test for unique translation template keys (#7557) 2022-07-30 10:32:40 +03:00
8574ad4624 Save all tile terrains and terrain uniques in transients, for better performance (#7490)
* Save all tile terrains and terrain uniques in transients, for better performance
Also minor changes in other places for performance reasons

* CR changes + test fix
2022-07-20 16:38:42 +03:00
160b51d578 Added more unit tests (#7448) 2022-07-14 10:27:06 +03:00
83d5d1ab36 Add a simple GDX application to help with developing UI components (#7411)
* Add a simple GDX application to help with developing UI components

* Add UI development docs
2022-07-13 21:58:43 +03:00
ae5a0221ed Refactorings & three more unit tests for uniques (#7412) 2022-07-10 23:19:45 +02:00
3422e161ad Removed deprecated uniques 2022-07-08 15:48:33 +03:00
64ab79faf3 Moddable prettier Tutorials - Step 1 (#7326)
* Moddable prettier Tutorials - Step 1

* Moddable prettier Tutorials - TranslationFileWriter

* Moddable prettier Tutorials - Kdoc

* Moddable prettier Tutorials - UX for open options task
2022-07-01 09:36:11 +03: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
e69789a683 Allow modded harbor-type buildings to connect cities to capital (#7254) 2022-06-23 20:53:32 +02:00
18b91bba1e Change all translation test output checking for translator's errors back to println 2022-06-20 14:27:52 +02:00
c922f134e6 Moddable game speeds (#6856)
* Move GameSpeed definition to JSON files

* Add game speeds civilopedia page
2022-06-18 23:27:46 +02:00
e2b7891248 Two new Unit Tests (#7001)
* MapGenerator fixes

* MainMenu Background Map scaled to Screen

* Easter Eggs - Code only

* Easter Eggs - Graphics
2022-06-16 21:07:30 +03:00
564f7b476c small fixes (#7181)
* fixes

* relaced translations with _

* better displayCutout
2022-06-16 18:56:18 +03:00
a5f9623dbe Fix OutOfMemory error when loading game state after already having a game loaded (#7145)
* Fix OutOfMemory error when loading game state after already having a game loaded

* Fix screen resize not being handled correctly

* Add withContext shortcut functions

* Add more logging

* Fix multiplayer games sometimes being loaded twice

* Make the loading screen nicer

* Make the loading screen hide previous popups for making the screenshot

* Don't do custom rendering & dispose the texture

Sometimes it makes sense to understand the library you're using...

* Fix missing GL context

* Refactor: increase readability of loadGame function
2022-06-14 21:09:09 +03:00
b6a98e5540 Fix EventBus not being able to listen to events with more than one level of inheritance (#7009) 2022-06-14 21:08:43 +03:00
120c41dd15 Revert "Moddable prettier Tutorials - Step 1 (#7064)"
This reverts commit e91c0ff212.
2022-06-06 09:59:21 +03:00
e91c0ff212 Moddable prettier Tutorials - Step 1 (#7064) 2022-06-06 09:32:23 +03:00
862f368075 Bugfixes to the units' teleportation (#7071)
* Allow to pass other units when teleporting

* Teleport to the closest city tile

* Additional unit tests
2022-06-05 23:17:59 +03:00
868e551ba9 Fix test logging not using format specifiers for arbitrary text (#7073) 2022-06-05 16:57:16 +02:00
12674ed69e Fix aircraft disappearing when their carrier is teleported (#7035)
* Fix carrier teleporting without moving airplanes

* Unit test to ensure aircraft and carriers are teleported togother

* Fix other cases where teleportation may occur

* Simplify unit test condition

* Update linting and move return condition

* Allow override for teleporting transported units

* Make sure test catches if transported units get deleted

* Reviews
2022-06-01 22:28:11 +03:00
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
09195d6b62 More UniqueType unit tests and correct some broken uniques in JSON files (#6965)
* Add ruin reward unique check plus fix broken unique
2022-05-29 16:08:15 +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
a2c646ef8e Fix Autocracy Complete including unit test (#6908) 2022-05-22 19:51:05 +03:00
3754108391 Added more unit tests for uniques; added missing unique implementations (#6886)
* Added more unit tests for uniques; added missing implementations

* This of course shouldn't go here as there is another function for it

* Stylistic changes

* This generates better unique examples

* Reviews

* Reordered for efficiency

* Reverted improvement percentage bonuses applying to tiles
2022-05-22 13:12:10 +03:00
3e95e3f152 Fix effect of new Beliefs not immediately visible in top bar (#6888)
* Fix effect of new Beliefs not immediately visible in top bar

* Fix effect of new Beliefs not immediately visible - reviews
2022-05-21 21:37:06 +03:00
1f3890e2a0 welp these tests kind of existed before 2022-05-19 19:02:57 +03:00