Commit graph

1837 commits

Author SHA1 Message Date
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
6a9de727ad misc. so they don't get in the way of the main work 2020-01-05 21:45:09 +02:00
Yair Morgenstern
47e998269a Allocation and runtime optimization with sequences 2020-01-04 23:02:57 +02:00
Yair Morgenstern
8f231cd6e1 Can now only start game in NewGamScreen with 2 or more players 2020-01-04 22:09:49 +02:00
Yair Morgenstern
7eb4b0db2d 3.4.8 2020-01-04 21:26:33 +02:00
Yair Morgenstern
c6b96f4f5b Resolved #1608 - added û character 2020-01-04 21:17:15 +02:00
r3versi
e61c4f5f1c Discrete rendering (#1612)
* Named threads for debugging/profiling

* Proposal: Discrete rendering, remove black spinning circle
2020-01-04 21:13:41 +02:00
r3versi
23cfab6001 Stop Exploration sets unit.action to null (#1613)
* Stop Exploration sets unit.action to null

* UnitActions callback Fix #1614
2020-01-04 21:08:23 +02:00
lyrjie
2af847b3a6 Fix: "Sell the building" button being randomly disabled (#1611)
* Fix: "Sell the building" button being randomly disabled based on the sell price

* Fix: `sellBuildingButton` being enabled in puppet cities

Co-authored-by: dumichno <57294813+dumichno@users.noreply.github.com>
2020-01-04 21:01:06 +02:00
r3versi
40c6934ae4 Clear current map removes natural wonders (#1607) 2020-01-04 21:00:18 +02:00
Yair Morgenstern
19c21b64f7 All GetTilesInDistance and GetTilesAtDistance are now without new vector allocation, so much faster and with much less memory! 2020-01-04 20:47:09 +02:00
Yair Morgenstern
9907e4429c Removed game settings from crash report, not very helpful 2020-01-03 15:20:38 +02:00
r3versi
f7b5a506fd HexMath is a singleton (#1603) 2020-01-03 10:33:01 +02:00
r3versi
a1b0c1dcd4 TileMapHolder refactor & Map Editor update (#1584)
* TileMapHolder renamed to MapHolder
* EditorMapHolder and WorldMapHolder inherits from ZoomableScrollPane
* MapEditor Brush Size (from 1 to 5)
* MapEditor painting mode (dragging the pointer on screen paints continuously)
2020-01-02 20:02:38 +02:00
Yair Morgenstern
73816dd470 Resolved #1598 - we now save map options for new games started 2020-01-02 19:37:40 +02:00
Yair Morgenstern
52165e692f Specific automation for Missile units means they won't try to move to tiles that they can't move to 2020-01-02 19:36:19 +02:00
Vladimir Tanakov
03aee45fe3 Refactor sounds and unitactions data class (#1596) 2020-01-02 19:01:51 +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
61050feca1 3.4.6 2019-12-30 18:36:05 +02:00
lyrjie
cedb6ff5e3 Added the notification for the third-party civilizations (#1558)
* Added the notification for the third-party civilizations

If a civilizations knows about some two civilizations, it will be notified when:
* They declare the war
* They make a peace
* They sign the declaration of peace
* One denounce the other

Additionally, when civ enters a new era, all civs that know about it get a notification

* Fixed the translation `.properties`

* Cleanup

* Fix: 2 notifications for each peace treaty

Russia and America...
America and Russia...

* Typo

* Code style changes

* Resolved conflicts

* Simple getCommonKnownCivs() tests
2019-12-30 18:12:14 +02:00
Yair Morgenstern
2132c49d55 jsonParser no longer serialized in CivilizationInfo 2019-12-30 18:07:00 +02:00
Vladimir Tanakov
1cc8227025 Fix civilopedia parsing, fix dialog does not call update to enable next turn button (#1553) 2019-12-30 18:04:12 +02:00
Yair Morgenstern
d3311b3f24 Map editor works again 2019-12-30 18:00:11 +02:00
Yair Morgenstern
d750e369a0 Resolved #1569 - "Patreon" button actually opens Patreon now 2019-12-29 18:03:59 +02:00
Yair Morgenstern
006b2d7690 External merge resolve of #1566
Merge branch 'spain' of https://github.com/r3versi/Unciv into r3versi-spain
2019-12-29 17:56:05 +02:00
Yair Morgenstern
4dd3a69a72 Can now display pixel resources on the map! 2019-12-29 17:51:39 +02:00
Yair Morgenstern
1143356747 Letting players see other players' policies was not a good idea, having it be unknown is part of the challenge methinks 2019-12-29 15:08:31 +02:00
r3versi
aa034d73c2 Fix natural wonders (#1550)
* Natural Wonders Uniques

* Fix Natural Wonders in Map Editor

* Translation files

* Terrain uniques test

* GBR spawn update Fix #1552
2019-12-28 23:11:37 +02:00
Yair Morgenstern
a55e01f004 AI no longer attempts to get rid of barbarian encampments with nuclear strikes. 2019-12-28 23:10:49 +02:00
Yair Morgenstern
e02038d4bf Fixed crashing bug from trying to move the the enemy unit instead of to the place to attack from 2019-12-28 21:15:57 +02:00
r3versi
461f285059 Moving a city to a cityless Civ flags it as capital (#1556) 2019-12-28 19:10:26 +02:00
Yair Morgenstern
9d9700b119 Welp added some lines I shouldn't have 2019-12-27 00:20:02 +02:00
Yair Morgenstern
80be3c276e Small steps towards mods 2019-12-27 00:15:42 +02:00
Yair Morgenstern
87830bf8b2 Code cleanup - ruleset maps are now lowercased 2019-12-26 22:00:49 +02:00
Yair Morgenstern
6c10d1d4f8 Code cleaning - no more direct access to the cached center tile in CityInfo 2019-12-26 18:08:11 +02:00
Yair Morgenstern
8a229c502c Can no longer purchase constructions from cities in resistance 2019-12-26 18:04:02 +02:00
lyrjie
539758b905 Translation placeholder testing (#1542)
* Added translation string placeholders test

* Fixed the placeholder typos in all translations

* [30] to 30 migration
2019-12-26 14:39:15 +02:00
Yair Morgenstern
94f1b074c9 Indonesian is in and has a flag 2019-12-26 12:15:26 +02:00
Yair Morgenstern
fd8528af7a All tests are properly Koltinized! 2019-12-26 12:01:23 +02:00
Vladimir Tanakov
7f06ae0cce Refactor Tutorials and fix some issues, write tests (#1524) 2019-12-26 11:40:48 +02:00
lyrjie
935f598282 Fix: automated units would advance towards enemies they can't attack without dying (#1529)
* Fix: units would advance towards enemies they can't attack without dying

* Code quality
2019-12-26 11:29:40 +02:00
Yair Morgenstern
a95c9ee4cd Ancient Ruins are now spread out instead of randomized 2019-12-25 23:52:09 +02:00
Yair Morgenstern
94414203ef Resolved #1533 - Defeated city states no longer "declare war" if you attack their ally 2019-12-25 23:42:32 +02:00
r3versi
00f26b1510 Fix #1531 + Indonesian.properties added (#1532)
* Fix #1531

* Requested on Discord

* Update Indonesian.properties

Co-authored-by: hyunamae <59202601+hyunamae@users.noreply.github.com>
2019-12-25 23:37:49 +02:00
lyrjie
be09051295 Fix: cities can be connected to capital via coast even if they don't have Harbor building (#1528)
Reported by discord@tap wature
2019-12-25 10:59:53 +02:00
lyrjie
2c07bae6f2 Fix: barbarians won't enter tiles owned by other civs (#1523)
* Fix: barbarians won't enter tiles owned by other civs

* Barbarians ability to enter player tiles is now affected by difficulty setting
2019-12-24 23:43:26 +02:00
Yair Morgenstern
97f3260047 Grand Mesa artwork by The Bucketeer means it's now in the game! 2019-12-24 15:28:59 +02:00
lyrjie
982c326ccd Polynesia ocean fix (#1522)
yarim210/Unciv#1514
2019-12-24 12:49:25 +02:00
r3versi
b6dbc3a833 Fix nat wonder #2 (#1519)
* Fix Natural Wonders tile worked happiness not computed & double bonus from discovering extended (like GBR) Natural Wonder in same turn

* Bugfix Barbarians spawning on Natural Wonder + Notification on Barbarian Spawn

* Added notification text to ranslations
2019-12-23 23:55:19 +02:00
r3versi
303e0493d8 Fix Natural Wonders tile worked happiness not computed & double bonus from discovering extended (like GBR) Natural Wonder in same turn (#1518) 2019-12-23 22:14:02 +02:00
Vladimir Tanakov
25a3467cb3 Add crash reporting controller and email sending on android (#1509) 2019-12-23 22:12:35 +02:00
Yair Morgenstern
dedb46c55c 3.4.3 2019-12-23 19:15:57 +02:00
r3versi
a1aec212bd City states influence, Bugfix Greece (#1512)
* Fix Greece Unique wasn't effective + Added CityState relation notifications

* Greece influence to CityState benefits from unique
* Added notifications when you are about to lose (or lost) friendship and alliance with a city state. Closes #1168
* Introduced restingPoint in DiplomacyManager to support constant shifts in influence

* Autogeneration translation files
2019-12-22 23:08:46 +02:00
Yair Morgenstern
dff886939d Many many people have said that winning cultural victory is too easy, so it's now upped from 4 to 5 policy branches 2019-12-22 22:14:04 +02:00
Yair Morgenstern
707b59cc6a Hopefully solved ANRs when first entering a large multiplayer game 2019-12-22 22:13:05 +02:00
Yair Morgenstern
3ef34f99ff Added missing translations 2019-12-22 20:00:28 +02:00
Yair Morgenstern
9838e0f3a9 Solved rare bug when razing the capital city 2019-12-22 19:58:38 +02:00
Yair Morgenstern
82d8670b16 Fixed super wierd bug where the conquering player hadn't met the civ he was conquering the city from (whaaaaat) 2019-12-22 19:00:58 +02:00
Yair Morgenstern
ca86d9d360 Hopefully fixed crash on specific devices when activating "Conduct trade mission" 2019-12-22 18:54:07 +02:00
Yair Morgenstern
fb244943fb Fixed crash when liberating cities when you haven't met their original owners 2019-12-22 18:50:40 +02:00
Yair Morgenstern
314b620405 Fixed relatively rare crash where the settings were being read but ended up null, not sure how that happened to start with... 2019-12-22 18:35:41 +02:00
r3versi
c2dc0217b6 Rejuvenation icon + Unique promotions are listed in PromotionPickerScreen (#1506) 2019-12-22 15:29:40 +02:00
Yair Morgenstern
ffd5368df4 Added Promotion information to Civilopedia 2019-12-21 21:05:54 +02:00
Yair Morgenstern
1d2bf490b5 People said in the comments they couldn't find the "Create improvement" button, so here. 2019-12-21 20:35:04 +02:00
Yair Morgenstern
884eb672e7 Merge branch 'master' of https://github.com/yairm210/Unciv 2019-12-21 20:07:43 +02:00
Yair Morgenstern
09c8cf221f Resolved #1493 - Added Nation information to Civilopedia 2019-12-21 20:06:58 +02:00
Vladimir Tanakov
0b8145cba5 Fix error due changing language on Android < 4.4 (#1502) 2019-12-21 19:56:23 +02:00
r3versi
383b39c62d Diplomacy graph size scales with screen space available (#1495)
* Diplomacy graph size scales with screen space available

* Deleted debug option left on
2019-12-21 19:50:01 +02:00
r3versi
2afda16095 Added missing translations of Natural Wonders and Civilopedia Tutorials entries (#1498)
* Added missing translations natural wonders related

* Auto generation of translation files

* Missing Tutorial names translation

* Auto generation translation files

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2019-12-21 19:44:11 +02:00
r3versi
6598c76041 Fixes #891 (#1491)
* After a zoom gesture the World Screen needs to be updated
2019-12-21 19:35:27 +02:00
Yair Morgenstern
32621b6611 Game crash popup is no longer a tutorial, so it doesn't get affected by the "displayTutorials" settings and has migrated to the .properties files for translation. 2019-12-21 18:58:14 +02:00
Yair Morgenstern
3f0e33df89 Added try/catch on reading the translation file (some phones don't support UTF-8???)
You can always pass the language screen even if we don't read the percentage files
We read the percentage files from the INTERNAL NOT THE LOCAL OBVIOUSLY
2019-12-20 11:27:26 +02:00
Yair Morgenstern
7d1eaf4338 We no longer need the ugly "Missing translations" dropdown in the Options, now that all missing translations are super easy to find in the translation files themselves =) 2019-12-20 00:08:23 +02:00
Yair Morgenstern
3f1edbf308 We now generate a small "percentage complete of each language" file, so that getting that information doesn't take an entire second on Android (that's a lot at startup!) - down to a couple of ms! 2019-12-19 18:29:18 +02:00
Yair Morgenstern
a41874e1a5 We now load translation percentages on initialization so we won't need to mid-game, fixed "create" and the "resume" both trying to do the same things 2019-12-19 17:48:17 +02:00
Yair Morgenstern
ebfd79636f Natural wonders (and other terrains with no RGB) now have a golden color on the minimap 2019-12-19 17:45:20 +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
Yair Morgenstern
77d00f35bb Translation files now take a huge amount of time to load, moved their loading into a thread and put up a "loading screen" beforehand 2019-12-18 22:24:18 +02:00
Yair Morgenstern
fd7160b785 Added line spacings in the translation files, for organization 2019-12-17 22:57:39 +02:00
Kevin Fisher
52111430ef Add close icon for the UnitTable (#1472) 2019-12-17 21:44:20 +02:00
Yair Morgenstern
b0a0638e84 Hopefully solved ANR when loading the game initially 2019-12-17 20:46:30 +02:00
Yair Morgenstern
e82cdd42fa Solved Application Not Responding when downloading map 2019-12-17 20:39:46 +02:00
Yair Morgenstern
fc4eb01be8 Added tests to ensure we don't miss translations in the future 2019-12-17 19:16:31 +02:00
Yair Morgenstern
113531a695 Spanish Civ is not production-ready, and natural wonders should be opt-in at the beginning 2019-12-17 16:56:07 +02:00
Yair Morgenstern
4f03322565 Tutorial task table now becomes visible when turning displayTutorials on - kudos @r3versi 2019-12-17 14:39:32 +02:00
Yair Morgenstern
0de84e60a9 Not all Natural Wonders look good enough to enter the game as-of-now. 2019-12-17 14:23:17 +02:00
r3versi
aa02a2d321 Natural Wonders (#1456)
* NaturalWonders initial commit
* Created models/ruleset/tile/NaturalWonder and assets/json/NaturalWonders
* MapGenerator now spawns NaturalWonders in random compatible random locations
* MapParameters has a noNaturalWonders option
* TileInfo has naturalWonder property (set to null if none)
* TileInfo and  UnitMovementAlgorithms correctly manages stats and consider the tile unpassable and unimprovable

* Notification and happiness on NaturalWonder discovery

* El Dorado discovery bonus, Spain unique

* Doubled tile yields for Spain

* NaturalWonders implemented as TerrainType + Fountain of Youth promotion

* Images issue #124

* NaturalWonder TileImages (Fantasy) and Overlay (Default)

* NaturalWonderOverlay.png : https://www.flaticon.com/free-icon/mount-fuji_2166259

* Bugfix

* Added translations

* Italian translations

* Fix translation issue
* missing space after = in template.properties breaks translations

* Improved NaturalWonder spawn logic

* Great Barrier Reef spawns on 2 contiguous tiles
* Each wonder has specific spawn requirements
* Number of wonders spawned scales with map radius

* Fix unused import
2019-12-16 20:37:49 +02:00
Yair Morgenstern
0366233be5 Translations will always be read with UTF-8 encoding 2019-12-16 19:47:35 +02:00
Yair Morgenstern
7abd0143c6 Excess settler food to production conversion moved to CityStats, solving the "0 production for settler" bug and also it's now displayed in the stats breakdown =) 2019-12-16 19:41:17 +02:00
Yair Morgenstern
a0dd770a3a 'Show tutorials' setting now controls tutorial tasks as well 2019-12-15 23:12:34 +02:00
Yair Morgenstern
8ae0d9d191 Maybe fixed the 'no languages except Chinese' bug in Android phones, but since I can't check this, I'll stick with both of them. Better safe... 2019-12-15 22:50:51 +02:00
Yair Morgenstern
94a960abc2 All languages should work for everyone 2019-12-15 22:00:12 +02:00
Yair Morgenstern
873f578d9f Added explanations for Great Scientist and overflow things in techManager 2019-12-15 21:32:32 +02:00
Yair Morgenstern
4b99656719 Changed Great Scientist unique and action strings in all languages, and removed BasicHelp - all the important info should be in the tutorials anyway. 2019-12-15 21:21:17 +02:00
lishaoxia1985
418a4968a4 great scienstist does the job like original game (#1453) 2019-12-15 20:41:39 +02:00
lishaoxia1985
e937ea0af1 all codes are writen in Kotlin (#1452) 2019-12-15 20:28:34 +02:00
Yair Morgenstern
ddf2794902 Fixed quote typo 2019-12-14 23:37:29 +02:00
Yair Morgenstern
66af60b107 templates.properties -> template.properties 2019-12-14 23:31:11 +02:00
Yair Morgenstern
7ba5429387 Templates file is now empty for simple creation of new language files! 2019-12-14 23:26:00 +02:00
Yair Morgenstern
04ad012cd9 IT IS DONE
Translations are now split by language, and new translations can be added to all languages by changing the templates.properties file!
2019-12-14 23:18:46 +02:00