Commit graph

21115 commits

Author SHA1 Message Date
Stan
974d4a4e25 [gameplay] Add a flaming status effect to iber champion cavalry
Accepted by: @borg-
Stats by: @wowgetoffyourcellphone
Differential Revision: https://code.wildfiregames.com/D2737
This was SVN commit r24426.
2020-12-18 23:46:01 +00:00
Stan
a2ad93662d Allow flying objects to be stationary
Discussed with: @Angen, @Freagarach

Differential Revision: https://code.wildfiregames.com/D2453
This was SVN commit r24425.
2020-12-18 22:35:31 +00:00
Freagarach
8c8dab6573 Part of the same rebase missing.
This was SVN commit r24424.
2020-12-18 15:14:21 +00:00
Freagarach
12bdbecd2b Fix production queue of previous commit.
Missed part of a rebase -_-' when committing 2452e3fb97.

This was SVN commit r24423.
2020-12-18 15:11:01 +00:00
Freagarach
2452e3fb97 Tweak Kush Amun temple.
Deprecates elite healer upgrade in favour of training elite healers at
the Amun temple.
Increases stats of Amun temple slightly. Removes production queue of
(unbuildable) Kushite shrine.

Lets Kushites start with a healer on random maps :) (To signify the
importance of the political power of the priesthood of Amun.)

Patch by: @Nescio
Differential revision: D2843
Reviewed by: @borg-
This was SVN commit r24422.
2020-12-18 14:41:51 +00:00
wraitii
25c4bb66f6 Fix persisted matchsettings issues in GameSetup.
Fixed:
- The gamesetup no longer becomes entirely unusable when there is an
error parsing the map data.
- The match settings aren't overwritten in case of an error
- The PopCap / StartingResources control properly check for map data
existence, fixing an underlying error.

Differential Revision: https://code.wildfiregames.com/D3053
This was SVN commit r24421.
2020-12-18 08:40:38 +00:00
Stan
9eb5f338cd [gameplay] reduce slinger attack speed.
Patch by: @borg-
Reviewed by: @ValihrAnt
Differential Revision: https://code.wildfiregames.com/D3232
This was SVN commit r24418.
2020-12-18 00:53:25 +00:00
Stan
3b1bce759b Restore the briton wonder stats for balance.
Add a new model following @genava55's suggestions
Thread:
* https://wildfiregames.com/forum/topic/27889-task-brit-wonder/

Fixes: #5622 bc9116cdfb

This was SVN commit r24417.
2020-12-18 00:05:27 +00:00
bb
070492750c Don't remove const keywords, but update years
This was SVN commit r24416.
2020-12-17 23:43:09 +00:00
bb
42c70cd508 Let units take time actual time for turning while moving. This limits the possibility of "dancing" (making short moves to avoid being hit by arrows) beyond only patrolling.
Reviewed By: wraitii
Gameplay Tests By: FeldFeld
Comments By: Freagarach, Angen
Differential Revision: D2837
refs: #5106

This was SVN commit r24415.
2020-12-17 22:54:14 +00:00
vladislavbelov
051807ffae Using same value for unit and terrain ambient colors for scenarios and tutorial maps.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3160
This was SVN commit r24414.
2020-12-17 22:17:51 +00:00
Stan
596155cede Use C++17 std::size instead of sizeOf
This was SVN commit r24413.
2020-12-17 22:17:46 +00:00
Stan
5bb703bc75 Fix style issues in ea38089853
This was SVN commit r24412.
2020-12-17 22:04:03 +00:00
vladislavbelov
ff18f3dbd9 Using same value for unit and terrain ambient colors for skirmishes maps.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3142
This was SVN commit r24411.
2020-12-17 22:02:13 +00:00
Stan
387b2106ae Fix style issues in archive_zip code. test for more things.
This was SVN commit r24410.
2020-12-17 22:00:31 +00:00
Stan
de1a42d937 Fix test macro introduced in b6114adc8d
This was SVN commit r24409.
2020-12-17 21:17:16 +00:00
bb
686686f2a4 Make buildingAI's arrowcount more transparent
Reviewed By: Freagarach
Comments By: wraitii, Stan
Differential Revision: D3198
This was SVN commit r24408.
2020-12-17 19:55:22 +00:00
wraitii
82d079d06c Add a Dev Overlay checkbox to activate RejoinTest from the session.
This makes this feature, very useful for checking for OOS, more easily
accessible.

Differential Revision: https://code.wildfiregames.com/D3199
This was SVN commit r24407.
2020-12-17 17:53:13 +00:00
wraitii
e22a915351 Add a function to query a global object, including JS classes, from C++
The latter are not properties of the global object but stored within the
global lexical environment.
This is not currently needed, but will be useful for future diffs.
Update Vector2D/3D querying.

Taken from D2746

This was SVN commit r24406.
2020-12-17 17:51:18 +00:00
wraitii
25b8cfc6b8 Only create construction previews when committed.
Missed in bdbd0b9dbf, meaning after serialization uncommited foundations
preview were incorrectly created. This was generally invisible, except
when a decal was present (e.g. with ptolemies).

This was SVN commit r24405.
2020-12-17 17:40:35 +00:00
Freagarach
2e0b9d7a9b Do not let UnitAI listen to HealthChanged messages anymore.
In earlier revisions units fled more slowly with fewer hitpoints.
Since def47cb7ae this is not the case anymore.

Differential revision: D3229
Reviewed by: @wraitii
This was SVN commit r24404.
2020-12-17 13:09:49 +00:00
Freagarach
bc4e75c75c Reverts 2603703d66
Either the default handlers _are_ needed or we don't care much. But
removing (at least the motion one) may give errors.

This was SVN commit r24403.
2020-12-17 12:56:21 +00:00
Freagarach
2603703d66 Remove some unnecessary default handlers.
`ConstructionFinished` is obselete since 88dc6d8e1e.
These messages are only sent when the entity is in a specific state (or
states).

Differential revision: D3044
Discussed with @wraitii

This was SVN commit r24402.
2020-12-17 11:56:18 +00:00
Freagarach
88bc450b79 Correct some strings in the GUI.
Patch by: @Nescio
Differential Revision: D3007
This was SVN commit r24401.
2020-12-17 11:47:04 +00:00
bb
3726db16b1 Treat code between [] and {} as one blob for translations.
Agreed By: wraitii
Comments By: elexis
Differential Revision: D3032
Obsoletes: D2451

This was SVN commit r24400.
2020-12-16 21:12:54 +00:00
Freagarach
d257122bb4 Fix typo from 2dd223af29.
This was SVN commit r24399.
2020-12-16 19:40:45 +00:00
wraitii
dd0b56c8aa Replace DISCARD macro with ignore_result template.
Fixes eb7940b418.
As reported by Vladislav, there is possibly confusion on what exactly is
being ignored when there are multiple statements after DISCARD. Explicit
wrapping avoids that.

Differential Revision: https://code.wildfiregames.com/D3206
This was SVN commit r24397.
2020-12-15 09:03:44 +00:00
wraitii
38c3827d3b Fix UnitMotion updating the visual Actor with the target speed, not the real speed.
Fixes D1901 / a1dc9cadd8

Noted by bb also in D3021

Reviewed By: Freagarach
Differential Revision: https://code.wildfiregames.com/D3221
This was SVN commit r24396.
2020-12-15 07:44:05 +00:00
Freagarach
7f77cf2f3e Move PopulationBonus from cmpCost to new cmpPopulation.
Since PopBonus is not a cost.

Patch by: @lonehawk
Differential Revision: D2948
Comments by: @Angen, @Nescio, @wraitii
Closes #4081

This was SVN commit r24394.
2020-12-14 18:17:59 +00:00
Freagarach
014c2922f2 Give Fortress a territory root.
And consequently reduce the territory radius by 20%.

Patch by: @Nescio
Differential Revision: D1762
Reviewed by: @borg-, @ValihrAnt
Comments by: @elexis
This was SVN commit r24393.
2020-12-14 18:05:41 +00:00
wraitii
b0c3037abc Fix JS incremental GC issue (destroyed realms are not collected).
Further work would be nice to be able to only collect zones that
probably have garbage to collect, but that likely requires splitting our
contexts in more zones.

0 A.D. had been running in incremental GC since 1.8.5. With the SM78
upgrade, I changed this to the new default "ZONE_INCREMENTAL", which GCs
specific zones.
However, I failed to realise that deleted scriptInterfaces and their
corresponding zones would no longer be collected.
This corrects for that.

Fixes d92a2118b0.

Refs #5861

Differential Revision: https://code.wildfiregames.com/D3220
This was SVN commit r24392.
2020-12-14 08:51:29 +00:00
Freagarach
21fa835cff Move a few unit actors and icons.
- move infantry_crossbowman_c.xml from athenians/ to macedonians/
- renames kushites/camelry_* to kushites/camel_*
- renames kushites/infantry_clubman_* to kushites/infantry_maceman_*
- renames persians/cavalry_swordsman_* to persians/cavalry_axeman_*
- renames ptolemies/camelry_* to ptolemies/camel_*

Patch by: @Nescio
Differential Revision: D2688
This was SVN commit r24391.
2020-12-14 08:07:44 +00:00
s0600204
2e27ece0a0 (2/2) Update premake5 to Alpha 15 - shell scripts
Update build shell scripts to use premake5 `gmake2.*` directories.
(The old `gmake.*` directories have been removed from premake5.)


Differential Revision: https://code.wildfiregames.com/D3219
This was SVN commit r24388.
2020-12-14 02:22:58 +00:00
s0600204
a0d2112195 (1/2) Update premake5 to Alpha 15 - premake5 files
See `CHANGES.txt` below for the upstream-composed list of changes.


`premake5.exe` built by Stan

Accepted By: Stan (for Windows)
Trac Tickets: #5869
Differential Revision: https://code.wildfiregames.com/D3219
This was SVN commit r24387.
2020-12-14 02:17:47 +00:00
s0600204
5190bd4c56 Remove old premake5 vs20XX make files
These files contain instructions to build premake and its bundled
dependancies
on versions of Visual Studio we no longer support.


Refs: D3219

This was SVN commit r24386.
2020-12-14 01:41:50 +00:00
wraitii
df9f0bef20 Run a short-pathfinder call occasionally to get unstuck in some situations.
Units can get stuck on passable navcells surrounded by impassable
navcells because the short-pathfinder got them there, and then ordering
them to move far way uses the long-pathfinder.
We can safely run a short-pathfinder call, using the same logic as in
D1424, to get unstuck in at least some of those situations.

Reported by: Angen
Differential Revision: https://code.wildfiregames.com/D3215
This was SVN commit r24385.
2020-12-13 15:25:16 +00:00
wraitii
1b67a079fb Reduce duplication in JSI GUI objects implementation.
- Store the functions in an unordered_map. A no-container implementation
is doable but likely not worth the added code complexity, maybe with
C++20
- Move more things into the _impl.h
- Clear out the un-necessary friends declaration in the specific types
by moving the functions to the public interface, which makes sense.
- Fix a memory leak (JS::PersistentRootedObject weren't deleted).

This doesn't change what one needs to do to add a new type, but it does
reduce the actual code that's necessary, and makes it less error prone.

Differential Revision: https://code.wildfiregames.com/D3214
This was SVN commit r24384.
2020-12-13 15:06:18 +00:00
Stan
876f6d5e50 Improve sound attenuation so that zooming out actually reduce the sound level.
Patch by: @Samulis
Differential Revision: https://code.wildfiregames.com/D3108
This was SVN commit r24382.
2020-12-13 00:04:17 +00:00
Stan
aa3bd08513 Fix non-visual replay on Windows. Use the actual detected resolution.
Differential Revision: https://code.wildfiregames.com/D3208
This was SVN commit r24381.
2020-12-12 08:18:24 +00:00
Imarok
00aeebea6d Add getTextSize() for CButton
Summary: 9c5062147a introduced the `getTextSize()` to all GUIObjects for
getting the rendered size of a text. 8190293f8b made it only available
to CText. `getTextSize()` can also be useful for CButtons so this diff
adds the function back to CButtons. There seem to be no other GUIObjects
besiders CText and CButton where `getTextSize()` makes sense.

Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D3195
This was SVN commit r24378.
2020-12-11 16:12:46 +00:00
wraitii
5e754a86a9 Associate .zip and .pyromod files with 0 A.D. on MacOS
- Change the .Plist to associate 0 A.D. with .pyromod files (as owner,
so the default choice), and .zip (as alternate, so not the default, but
will appaer in the 'open with' dropdown).
- Make 0 A.D. actually load mods opened like that on MacOS. The files
aren't actually opened with command line arguments, but via Cocoa stuff,
which SDL2 handles via the 'DropEvent' event. This ought also work on
windows and linux.

Closes #5357

Differential Revision: https://code.wildfiregames.com/D3190
This was SVN commit r24377.
2020-12-11 15:43:25 +00:00
Stan
bf85e4ac38 Allow boolean and u16 modifications for C++
Allow boolean modifications JavaScript
Allow territory influence weight, and root, to be changed via tech.


Differential Revision: https://code.wildfiregames.com/D3069
This was SVN commit r24373.
2020-12-11 14:07:48 +00:00
wraitii
c013ee3778 Fix usage of remove_if in CHotkeyPicker
I was not aware of the erase-remove idiom and failed to notice that
remove_if simply reorders the elements.
Noted by Stan thanks to VS17 warnings.

Fixes a4852c4c01 / D2814

This was SVN commit r24371.
2020-12-11 10:02:05 +00:00
Stan
14cc771b6d Fix zip with comments triggering assertion on game startup
Fixes #5165

Patch by: @Teiresias
Differential Revision: https://code.wildfiregames.com/D1511
This was SVN commit r24368.
2020-12-10 19:09:10 +00:00
Stan
ea38089853 Fix userreport detection of sound cards
Differential Revision: https://code.wildfiregames.com/D3025
This was SVN commit r24367.
2020-12-10 18:36:05 +00:00
Stan
cc65e0e8a2 Add support for HAIKU detection by the SDL.
This was SVN commit r24366.
2020-12-10 18:15:50 +00:00
Stan
d09c5bf8bc Small cleanup of test_wdbg_sym.h
This was SVN commit r24364.
2020-12-10 16:13:29 +00:00
Stan
b6114adc8d Fix tests on Windows in no pch mode.
This was SVN commit r24363.
2020-12-10 15:58:17 +00:00
Freagarach
c9695dd669 Really remove domestic class from violent arctic wolves.
Failed to be done in 28cb8a4c06, noticed by @Angen.

This was SVN commit r24362.
2020-12-10 10:45:57 +00:00
wraitii
764440e017 Remove the Engine threading when using Atlas
MacOS requires some UI-related API calls to happen on the main thread.
There are several SDL functions that call UI-things, and those were,
since #500 / 08b4d96cf2, in a separate thread.
This crashes on Catalina, instead of simply warning (see #5470).

It is not the first time we had such issues, as originally the Engine
was on the main thread and AtlasUI on a separate thread.
That didn't work on MacOS, so the threading was inverted in #500 /
08b4d96cf2, with AtlasUI on the main thread and the Engine in another
thread.
Unfortunately, this still wasn't enough.

This formally unthreads the engine, running it on a wxTimer, to avoid
these issues.

Future work should focus on:
- Further decoupling the simulation from the engine itself, as what
Atlas really needs is a threaded simulation, not a threaded engine.
- Making the simulation itself more threaded
- Making it possible to do tasks asynchronously under Atlas.

Refs #500
Fixes #5470

Differential Revision: https://code.wildfiregames.com/D2752
This was SVN commit r24361.
2020-12-10 09:42:58 +00:00