When calling `Engine.PushGuiPage` a promise is returned. The promise is
settled when the "child" page is closed. That allows to `await` it
inside `async` functions.
Previously the callback was run right inside the call to
`Engine.PopGuiPage`. Now the continuation of the promise is called at
the end of the "tick".
This won't help performance. It will more likely make things worse.
Since gui pages aren't opened or closed that frequently, it doesn't
matter that much.
Refs: 86c151ebaa
For the engine side:
The promise is stored in the `CGUIManager::SGUIPage` (like previously
the callback). When the promise is fulfilled it enqueues a callback in
the `JobQueue` of the `JSContext`.
Original patch by: @wraitii
Comments by: @wraitii, @Stan, @Polakrity, @lyv, @elexis, @vladislavbelov
Differential Revision: https://code.wildfiregames.com/D3807
This was SVN commit r28145.
The code didn't call `this.isCircularMap` but checks if it's defined.
The function returned the wrong values for square maps.
Broken in 480228f964
Comments by: @Stan
Differential Revision: https://code.wildfiregames.com/D5288
This was SVN commit r28122.
- Adding the function signature
- Changing `g_Map.ExportMap()` to `return g_Map`
- Changing `Engine.SetProgress(NN)` to `yield NN`
- Changing `const g_Map = ...` to `globalThis.g_Map = ...`
- On some maps using the argument `mapSettings`
Comments By: @asterix, @sera, @Stan
Differential Revision: https://code.wildfiregames.com/D5258
This was SVN commit r28119.
Summary:
Preparation to use the generator based interface.
Removes many globals. (but doesn't reduce their scope by much)
Refs: #4964
Comments By: @sera@elexis
Differential Revision: https://code.wildfiregames.com/D5285
This was SVN commit r28117.
Arabian Oases: Added "new" keyword
Sporades Islands: Added "new" keyword, gave both players a free starting
Scout Ship. Added a capturable CC on the unoccupied north island. Added
2 Gaia Treasure Ships.
Syria: Added some Ruins and Shrines.
Watering Holes: Minor tweaks to grass placement.
Zagros Mountains: Added some Shrines and swapped out the Gaia fields and
farmsteads for capturable Mill_Fields and Mills.
This was SVN commit r28113.
- Put the actual functions in `unknownMapFunctions` instead of just the
names
- Inline some functions
Comments by: elexis
Differential Revision: https://code.wildfiregames.com/D5280
This was SVN commit r28105.
- whitespace changes
- functions were called in a way that they always used the default
arguments
- deduplicate code in initialization of `heighLimits`
- new structure in `myBiome`, so that the painting can be reduced much.
- also initialization instead of push
- use algorithm to calculate the `areas` and the "midpoints" of the
slope.
Comments by: @elexis
Differential Revision: https://code.wildfiregames.com/D5279
This was SVN commit r28104.
The "biomes" where duplicated between alpine_lakes and alpine_valley.
The biomes can now be selected by the game setup page.
This also remove many `var`'s.
Comments by: @Stan, @elexis
Differential Revision: https://code.wildfiregames.com/D5277
This was SVN commit r28099.
- The heights are now a constant array. Instead of pushing the heights
to an array.
- The terrain are now always constructed in one expression. Instead of
calling `.concat` repeatedly.
- The actors and the probability thereof are now also part of the
object. Separation of data and code.
- Player placement is now a iife.
Comments by: @Stan, @sera
Accepted by: @elexis
Differential Revision: https://code.wildfiregames.com/D5272
This was SVN commit r28098.
This way it's clear what's the input and what's the output of the
computation.
All map generation scripts should reman working. They are adopted in a
future commit.
`Engine.SetProgress` and `Engine.ExportMap` can be removed in a future
commit.
Comments by: @marder, @sera, @Stan
Differential Revision: https://code.wildfiregames.com/D5220
This was SVN commit r28093.
To avoid the appearance of two Roman numerals at the end of bot names
(e.g. "Artaxshasha II II -> here "Artaxshasha II" was the name itself
and the second "II" was added when the name was chosen for the second
time), remove the addition of Roman numerals entirely.
Instead, if possible, a new name is chosen for each bot. If not, the
suffix "(n)" is added counting the duplicates and warning is displayed.
AINames are added to the Iberians, Gauls, and Mauryas bringing their
totel to at least 8 each in order avoid any duplicates in regular
8-player games.
Credit to Norse_Harold for changing the condition for reusing names to
not use a hardcoded assumption about the maximum number of player slots
Patch by @Vantha
Accepted by @phosit, @wowgetoffyourcellphone
Differential Revision: https://code.wildfiregames.com/D5256
This was SVN commit r28082.
In the Han CC I changed `0.8 * 0.75` to `0.8 - 0.2` so it could also be
described the same way.
Accepted By: @Freagarach
Comments By: @sera, @Stan
Trac Tickets: #6755
Differential Revision: https://code.wildfiregames.com/D5031
This was SVN commit r28065.
One should always use the variable declaration with the least possible
scope.
This patch cleans up many (but not all) of the `var` in rmgen and
replaces them with `let` or `const`.
The same is done for `let` -> `const`.
comments by: @sera@Stan
Differential revision: https://code.wildfiregames.com/D5214
This was SVN commit r28036.
Without the "pair" attribute API3..GameState.prototype.canResearch
doesn't check if the other tech is already researched (or is being
researched).
Patch by: @phosit
Accepted by: @wowgetoffyourcellphone
Differential Revision: https://code.wildfiregames.com/D5238
This was SVN commit r28026.
When a wild animal was in a defenseArmy and it was killed, its resource
got into the army as well. This caused a call to GetUnitAIOrder data
which was undefined for the resource.
Fixed by checking for UnitAI-ness and also for attack-ability whilst at
it.
Reported by @seregadushka at the forums:
https://wildfiregames.com/forum/topic/110098-petra-error-winter-is-coming5/.
Investigated and MWE by @Norse_Harold.
Fixes#6899
This was SVN commit r28025.
Warships now use the Unit AI instead of the Building AI. This allows
players to specifically target fire onto desired targets.
Warship combat now revamped with completely new Warship classes, which
soft counter each other, and new behavior for Fire Ships. With an
all-new ship tech tree at the Dock.
Commit includes fixing maps to switch from the old to the new ship
templates. Also includes revamped Cycladic Archipelago skirmish maps and
some other special surprises. And improved/additional ship UI portraits.
New Warship classes:
Scout Ship
Arrow Ship
Ramming Ship
Siege Ship
Forum discussion:
https://wildfiregames.com/forum/topic/104332-naval-overhaul-alpha-27/#comment-539713
Patch by: @wowgetoffyourcellphone
Accepted by: @real_tabasco_sauce
Comments and suggestions by: @borg-, @phosit (more comments and
discussion at the forum link)
Differential Revision: https://code.wildfiregames.com/D5213
Refs #4000 for a sound issue for actors without an attack animation.
This was SVN commit r27996.