1
0
forked from mirrors/0ad
Commit Graph

19937 Commits

Author SHA1 Message Date
Gallaecio 5faf540980 -ise → -ize
Summary: This patch corrects two occurrences of -ise into -ize in the
quotes, because US spelling.

Test Plan: Ought to be unproblematic.

Reviewers: Gallaecio

Reviewed By: Gallaecio
Subscribers: Itms, Stan, Freagarach, O8 JS GUI

Differential Revision: https://code.wildfiregames.com/D2246
This was SVN commit r22907.
2019-09-15 11:52:59 +00:00
Gallaecio 740ba4cb78 standardize gather technology tooltips
Summary:
This patch standardizes the tooltips of gather technologies, per
https://trac.wildfiregames.com/wiki/EnglishStyleGuide#Stats
Flavour text strings are moved from the "tooltip" to the "description"
entry.

Test Plan: Check for mistakes and omissions.

Reviewers: Gallaecio

Reviewed By: Gallaecio
Subscribers: Freagarach

Differential Revision: https://code.wildfiregames.com/D2253
This was SVN commit r22906.
2019-09-15 11:51:59 +00:00
Gallaecio 5cc49c2326 standardized hero aura descriptions
Summary:
This patch rephrases the aura descriptions of hero auras to an uniform
standard, to ensure descriptions follow the actual modifications:
[player] [class] [change] [attributes], e.g. "Spearmen +1 capture attack
strength, +25% melee attack damage." instead of "+25% attack and +1
capture for spear soldiers."

See also D1720, D1806, D1807.

The `formation` and `garrison` type aura descriptions are ugly;
improvement suggestions are welcome.

Test Plan: Check for mistakes and omissions.

Reviewers: Gallaecio, Freagarach

Reviewed By: Gallaecio, Freagarach
Subscribers: Freagarach, elexis, Vulcan

Differential Revision: https://code.wildfiregames.com/D1808
This was SVN commit r22905.
2019-09-15 11:48:59 +00:00
Gallaecio 795f453eb7 manual/intro.txt corrections
Summary:
Another follow-up to D1719 and D1744. This one does the following:
* [font="sans-14"] (default) at the end of the line that used a
different font, rather than at the beginning of the next line (no net
change, but looks better in the file)
* two spaces for indentation of hotkeys (looks better in game)
* ` – ` (space en-dash space) instead of `: ` (colon space) to separate
hotkey and description, for better visibility and consistency.
* `6400px by 4800px` → `6400×4800 pixels`
* removed Alt+W entry (superseded by Alt+Shift+W above)
* inserted Esc entry under save game for completeness
* rephrased several descriptions

Before: {F1014718}
After: {F1014719}

Test Plan: Launch the game and open the manual.

Reviewers: O7 Catchall, Gallaecio, elexis, Itms

Reviewed By: Gallaecio
Subscribers: Freagarach, O8 JS GUI, Stan, elexis

Differential Revision: https://code.wildfiregames.com/D2110
This was SVN commit r22904.
2019-09-15 11:44:48 +00:00
elexis 98b8775cd9 Fix glooxwrapper::Message::when() memory leak in f2c76cc75d, refs #3156.
Differential Revision: https://code.wildfiregames.com/D2291
Tested on: clang 8.0.1

This was SVN commit r22903.
2019-09-15 10:28:23 +00:00
wraitii d592bf9cb6 Move path computations to an actual worker to prepare for threading.
This moves the "async" pathfinding computations to a worker, preparing
the architecture for threading.

Tested By: Kuba386, Stan`
Differential Revision: https://code.wildfiregames.com/D1918
This was SVN commit r22902.
2019-09-15 09:27:10 +00:00
wraitii 2333b1814e GUI support for Status Effects and extend their functionality to all attack effects following 16b452cf91
This fixes status effects following 16b452cf91 where the GiveStatus name
change broke them.

This lets status effects deal all types of damage, capture, or inflict
other status effects, like any attack.
This further adds some basic GUI spport to status effects, by showing up
to 5 icons in the top-right of the portrait, and including status
effects in the tooltips.

Status effects can specify a custom icon.

Differential Revision: https://code.wildfiregames.com/D2218
This was SVN commit r22901.
2019-09-15 09:24:52 +00:00
elexis 89e511def9 Allow JS GUI pages to find out if the game is running.
Differential Revision: https://code.wildfiregames.com/D2289
Tested on: clang 8.0.1.

This was SVN commit r22900.
2019-09-14 15:33:46 +00:00
elexis cab920696c Implement glooxwrapper::MUCRoom argument for muc event handlers.
I.e. don't dereference NULL if the user of the glooxwrapper library
reads from the provided room argument.
A step towards being able to use XmppClient with multiple rooms.

Differential Revision: https://code.wildfiregames.com/D2287
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22898.
2019-09-13 15:24:44 +00:00
elexis a84e2e57df Use ScriptInterface::CreateObject for ToJSVal<CColor>, and for ToJSVal<Grid<u8> >, ToJSVal<Grid<u16> > used by the AIManager obtaining the pathfinder grid.
Make that function static, so that it can be used for these functions
without slowly having to obtain the ScriptInterface instance using
GetScriptInterfaceAndCBData just to get the JSContext again.
Remove few redundant conversions for CreateObject arguments.

Differential Revision: https://code.wildfiregames.com/D2128
Tested on: gcc 9.1.0, clang 8.0.1, Jenkins
Tedious performance testing in: D2128, D2127

This was SVN commit r22894.
2019-09-13 00:56:51 +00:00
elexis 7f943b07b7 Enable no-caller and no-irregular-whitespace in ESLint, refs #5524.
https://eslint.org/docs/rules/no-caller
https://eslint.org/docs/rules/no-irregular-whitespace

Differential Revision: https://code.wildfiregames.com/D2237
Patch By: Krinkle
This was SVN commit r22893.
2019-09-12 21:36:42 +00:00
elexis cbc04ba83b Use all three color channels when loading heightmaps following 204b04f2d4, refs #5018.
Removes wrong debug leftover line from 204b04f2d4 and unneeded clamp
from c9abf6f68c.

Differential Revision: https://code.wildfiregames.com/D1816
Patch By: Angen
Comments By: Vladislav
This was SVN commit r22892.
2019-09-12 19:30:43 +00:00
elexis 4c454f3eee Fix missing wstring_from_utf8 for multi-user-chat messages and translated strings following 9023f4bebb / D2264.
The commit introduced support for arbitrary lobby CreateGUIMessage
JS::Value arguments but didn't transfer wstring_from_utf8 appropriately.
Instead of enlengthening the code by reintroducing utf8_from_wstring
everyhwere, shorten the code and specialize ToJSVal for
glooxwrapper::string and gloox enums.

Avoid string copies for XmppClient getters, refs D1668:
Change GetPresence() and GetRole() to return the pointer to the string
literal instead of copy constructing a std::string each call.
Don't reintroduce the unneeded utf8_from_wstring conversions for the
untranslatable ASCII identifiers returned by GetPresence() and
GetRole().
Change GetSubject() to return a const ref to the member instead of copy
assigning the std::string to an output value.
Change m_Subject to std::wstring to avoid constructing a copy using
wstring_from_utf8 each GetSubject() call.
Change gloox enum to translatable string functions to be static, so as
to use them in the new ToJSVal functions (enabled by not calling
CertificateErrorToString from ConnectionErrorToString anyymore in
92fc34c87c/D2274).

Avoid per-player string copies in m_PlayerMap:
Change m_PlayerMap value type from std::vector<std::string> to a new
PlayerMap struct with named members for readability.
Use gloox enums as PlayerMap values to avoid constructing (performance)
and storing (memory footprint) std::strings.
The JS String is created from the pointer to the ASCII string literal
without intermediaries.
Use glooxwrapper::string for nickname and m_Rating since it's the data
source type received in relevant places, but that might be improved for
performance with std::wstring.

Construct map values in place where possible and post error instead of
silently inserting if an existing value is to be modified.
Avoid repeated std::map lookups on string keys by caching the
PlayerMap::iterator where available.

Remove some glooxwrapper::string to_string() calls redundant with its
operator<< and improve DbgXMPP gloox enum output.
Transfer rating too upon nickchange.

Differential Revision: https://code.wildfiregames.com/D2271
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22891.
2019-09-12 17:23:33 +00:00
Stan 8f3277cb99 Add new improved berry bushes based on the old grapes actor.
Discussed with: @elexis
Refs: 4981cdedad
Thread:
https://wildfiregames.com/forum/index.php?/topic/17326-your-screenshots/page/23/

This was SVN commit r22889.
2019-09-11 12:51:16 +00:00
elexis 28aa7c20e4 Fix lobby playerlist rebuild following presence update message removal in 6bf74902a7/D2265.
Update the list when the data it is built from changes, not only for
presence changes.

Differential Revision: https://code.wildfiregames.com/D2283
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22888.
2019-09-11 11:51:34 +00:00
elexis f77a3e289c Fix historic lobby kick messages following arbitrary CreateGUIMessage arguments in 9023f4bebb/D2264.
Perform the freezing for historic messages equally.

Differential Revision: https://code.wildfiregames.com/D2282
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22887.
2019-09-11 10:15:13 +00:00
wraitii 2233a76e2a Fix units sometimes turning around when fleeing (introduced by D1987/99a341f379)
D1987/99a341f379 introduced logic to predict the target movement, which
fixed unit chasing. However, sometimes fleeing units would then predict
that their target will end up in front of them, so they turned around
towards the attacker.

This is fixed by not anticipating the position when it would cause the
vector towards to target to change direction.

Reported By: Freagarach
Tested By: Freagarach
Fixes #5541

Differential Revision: https://code.wildfiregames.com/D2275
This was SVN commit r22885.
2019-09-10 18:11:07 +00:00
Stan 4b0b545fa9 Use the pyrogenesis logo instead of the 0 A.D. logo for the modmod when there is no mod selected because 0 A.D. Empires ascendant is just a mod of Pyrogenesis
Fixes #4782

refs: a89bcf837b f46d721630, 27d99765bb

This was SVN commit r22884.
2019-09-10 13:51:50 +00:00
Stan 68705aa4b2 Fix the walk/feeding animation of the gazelle.
Assign the basic_trans material.
Reported by: @Freagarach
This was SVN commit r22883.
2019-09-10 07:54:16 +00:00
LordGood d59472fd42 ptolemy houses, Enrique's pines
This was SVN commit r22881.
2019-09-09 23:21:28 +00:00
elexis 92fc34c87c Pass XmppClient CertificateErrorToString independent of ConnectionErrorToString to JS using D2264 / 9023f4bebb, refs #4482.
This also allows making the enum to string functions static, refs D2271.

Differential Revision: https://code.wildfiregames.com/D2274
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22880.
2019-09-09 21:26:58 +00:00
elexis 158ba53a46 Fix missing XmppClient m_certStatus and m_PresenceUpdate member initialization following 0e2adda813 and 6bf74902a7.
This might explain unexpected TLS certificate error strings upon failed
TLS handshake, refs #4705.
Might or might not fix a conditional valgrind conditional jump depending
on uninitialized value error reported in P170 for the XmppClient
constructor (inconsistent test results).

Differential Revision: https://code.wildfiregames.com/D2278
Tested on: clang 8.0.1, gcc 9.1.0, Jenkins

This was SVN commit r22879.
2019-09-09 20:50:17 +00:00
wraitii fcc7a831bb Fix issues with MakeGoalReachable when the goal wasn't reachable following D1882/208fc30ddd
This fixes the issue and adds a regression test.

Differential Revision: https://code.wildfiregames.com/D2277
This was SVN commit r22878.
2019-09-09 18:57:59 +00:00
wraitii 9cc8a579f5 Silence uninitialized variable warnings on MakeGoalReachable and FindNearestNavcellInRegions in 208fc30ddd
These variables might be used uninitialised in very odd cases that don't
happen in svn.

Reported By: elexis
Differential Revision: https://code.wildfiregames.com/D2250
This was SVN commit r22877.
2019-09-09 18:56:49 +00:00
elexis d7e08a848a Beautify civinfo page with bullet points.
Differential Revision: https://code.wildfiregames.com/D2221
Patch By: Nescio
Comments By: Freagarach
This was SVN commit r22876.
2019-09-09 18:40:42 +00:00
elexis ee726a155c Translate lobby TLS certificate error strings following 0e2adda813 and string freeze lift, refs #4705.
Differential Revision: https://code.wildfiregames.com/D2272
This was SVN commit r22875.
2019-09-09 14:33:30 +00:00
Alexandermb 452c376fc0 Delete old roman helmet prop actor from roman infantry swordsman elite.
This was SVN commit r22872.
2019-09-08 12:50:49 +00:00
Stan efd77bd83d Fix a missing stoa template in the Miletus scenario following 97ee3211d4
This was SVN commit r22871.
2019-09-08 12:39:05 +00:00
Stan 1b8dcec53d Fix ptol temple's (from 7943d82bfe) rubble size and foundation size using the closest matching rubble and foundation. Rubble is currently not using correct units and is close to the size of the 5x9 foundation. The temple is a bit bigger than that one but we don't currently have anything bigger.
Reported by: @Nescio
This was SVN commit r22870.
2019-09-08 09:44:33 +00:00
LordGood 06fe767ffe fixed garrison flag on ptolemaic temple
This was SVN commit r22869.
2019-09-08 00:26:57 +00:00
elexis bfc34f3f58 Fix previous (invalid Freeze 508da732af).
This was SVN commit r22868.
2019-09-07 17:04:04 +00:00
elexis 508da732af Implement NetClient PushGuiMessage using parameter pack and ScriptInterface::CreateObject from D2080 / b4626359f5 to replace remaining Eval function calls.
Specialize ToJSVal<char[n]> to allow passing string literals as
arguments.
Freeze NetClient GUI messages.
Supersede related c-style casts with static casts.
Remove few unneeded conversions.

Differential Revision: https://code.wildfiregames.com/D2267
Tested: clang 8.0.1, Jenkins

This was SVN commit r22867.
2019-09-07 16:51:44 +00:00
wraitii f29159b935 Generalise attack tooltips after D2092/16b452cf91.
This allows attacks with both capture and damage effects to show both,
and centralises display between regular attack and Splash.
It also reverts a change from e05c8263c5 which incorrectly switched
'Interval' and 'Rate'.

Patch By: Freagarach
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D2138
This was SVN commit r22866.
2019-09-07 14:47:39 +00:00
wraitii 43bbd7d671 Check only that the destruction queue contains no non-local entity when serializing the game state.
Local entities being in the destruction queue when serialising is not an
issue since those should not affect the simulation anyways. This stops
the game from crashing in some rare situations.

Fixes #4616

Differential Revision: https://code.wildfiregames.com/D1738
This was SVN commit r22865.
2019-09-07 14:41:53 +00:00
wraitii 524422c7d8 Move "PlayersToDamage" from calling functions to "CauseDamageOverArea" and replace it with FriendlyFire.
Patch By: Freagarach
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D2064
This was SVN commit r22864.
2019-09-07 13:48:11 +00:00
elexis de050ef7e2 Remove some unused Profiler.h and CLogger.h includes.
NativeWrapperDefns.h from 4e87fef3da, found in audit of 7c21a0cf8e.

Differential Revision: https://code.wildfiregames.com/D2268
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22863.
2019-09-07 13:35:45 +00:00
wraitii b1de59de66 Fix algorithmic error in 9903fd8a6c (waves computation speedup), and delete unused code.
9903fd8a6c introduced a much faster (for a little precision cost)
algorithm to compute distance to shore. However a condition was
incorrectly inverted, which made the algorithm return less-than-sensible
results in many situations.

Further, there was some unused code left behind which is now removed.

Fixes #5580

Reported by: nani (shore bug), elexis (unused code)
Differential Revision: https://code.wildfiregames.com/D2249
This was SVN commit r22862.
2019-09-07 08:50:55 +00:00
elexis 10f805fcf4 Fix wrong "player is not a moderator anymore" lobby chat message following initial implementation in 76bc9b579a/D339, fixes #4877.
It needs to test against the historic role and not the current role,
similar to 8b437a0b1c, refs #3386.
Implements the third GUI message property using the arbitrary lobby GUI
message patch in 9023f4bebb/D2264, refs #4482, 6bf74902a7/D2265.

Differential Revision: https://code.wildfiregames.com/D2266
Tested on: clang 8.0.1

This was SVN commit r22859.
2019-09-06 16:56:43 +00:00
elexis 9023f4bebb Support creating lobby GUI messages with arbitrary arguments instead of forcing every message type into the same struct type, refs #4877 / 76bc9b579a / D339.
Creates the GUI messages directly as JS::Values and removes the
intermediary rigid struct.
Implementation similar to ScriptInterface::CreateObject from D2080.

Differential Revision: https://code.wildfiregames.com/D2264
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22856.
2019-09-06 05:14:20 +00:00
elexis 6bf74902a7 Drop lobby presence GUI messages altogether for better performance and less code complexity.
They were only used to determine whether the playerlist should be
rebuilt, which can be achieved by a boolean member.
So this patch is removing unnecessary indirection from the original
solution in 8b437a0b1c and the reduction in 16b976fc35, refs #3386.
In particular the LobbyClearPresenceUpdates call was ugly and one doesnt
need hundreds of messages with data on it each if one only wants to know
if there was one.
Makes past (e8dfde9ba6) and future (D2264) patches less complex, refs
#4877.

Differential Revision: https://code.wildfiregames.com/D2265
Tested on: gcc 9.1.0, clang 8.0.1, Jenkins

This was SVN commit r22855.
2019-09-06 02:53:22 +00:00
elexis adf448db4d Rewrite Main Menu.
Specify menu and submenu buttons title, tooltip, hotkey and actions
comfortably in an extensible JS object and derive the GUI object
settings based on that rather than relying on complex markup alternating
with JS in the same file.
Automatically compute the position and number of submenu items instead
of letting the author manually compute and keep that in sync in various
places of the XML file.

Use object oriented programming, so that there is a strong separation of
concerns, allowing the readers and authors to only involve themselves
with the component relevant to the feature they work on, refs #5387.
Use class keyword instead of prototype keyword for the JS classes,
because that enforces a policy where no globals are inserted between
class members and informs the reader of that as soon as reading the
classes first line, anticipating fragmentation.

Group project information and community links in a more clearly arranged
JS file.
Keep and document splashscreen onTick hack from a684f7646b, #2042,
#5578.
String change: Inform instead of warn (deter) about the state of the
game in the main menu.
Depends on Engine.SetGlobalHotkey from D2260.

Differential Revision: https://code.wildfiregames.com/D2240
Class syntax comments by: Krinkle, bb, Chakakhan, smiley, nani, fpre
Main menu comments by: Krinkle, nani, Stan (and Imarok in D820)
This was SVN commit r22854.
2019-09-06 01:20:46 +00:00
elexis afaa4417e4 Add ScriptInterface::AssignOrToJSVal<JS::Heap<JS::Value> > to support ScriptInterface::SetGlobal, SetProperty, CreateObject with JS::Heap values.
Differential Revision: https://code.wildfiregames.com/D2263
Tested on: gcc 9.1.0, Jenkins
Refs D2264

This was SVN commit r22853.
2019-09-05 16:45:16 +00:00
Alexandermb e7ebe821c0 Remove helmet during attack_slaughter animation.
Mentioned by @elexis in 65d2c26261

This was SVN commit r22852.
2019-09-05 10:57:37 +00:00
elexis f192d4a2fa Support assigning functions to hotkeys from the JS GUI without involving a GUI object.
Allows developers and modders to register and unregister hotkeys without
having to specify, change or overwrite XML files.
Also allows implementing the main menu GUI page with only GUI objects
for one submenu, refs #5387 / D2240.

Differential Revision: https://code.wildfiregames.com/D2260
Idea by nani in D2257.

This was SVN commit r22851.
2019-09-05 10:42:16 +00:00
Alexandermb eb87783f22 Correct shield_shieldsmall.dae > shieldsmall.dae
This was SVN commit r22849.
2019-09-05 00:29:52 +00:00
Stan 5109cda169 Improved mining animation.
Patch by: @Alexandermb
Thread:
https://wildfiregames.com/forum/index.php?/topic/26012-task-animations-re-export-and-unit-meshes-fix/page/16/

This was SVN commit r22848.
2019-09-04 21:00:31 +00:00
elexis d5c1fd09a4 Add ToJSVal<CRect> to make the conversion reusable, remove unused PSERROR_Scripting_ConversionFailed and dead catch.
Avoids the CRect copy or stops relying on optimization to avoid the
copy.
Split from D2142.

Differential Revision: https://code.wildfiregames.com/D2259
Tested on: gcc 9.1.0, Jenkins

This was SVN commit r22847.
2019-09-04 16:15:37 +00:00
elexis c25ab670e6 Don't crash if a JS GUI author calls Engine.PopGuiPage too often.
Differential Revision: https://code.wildfiregames.com/D2255
Tested On: clang 8.0.1, Jenkins
Comments By: Stan
This was SVN commit r22846.
2019-09-04 15:45:48 +00:00
elexis 33af6da5e1 Implement JS support for GUI object "hotkey" setting missing from 6d8b9e33ef, refs #567, #2604, 9e499cdec5.
Allows JS GUI to assign hotkeys to GUI objects from JS instead of XML.

Differential Revision: https://code.wildfiregames.com/D2257
Comments By: nani
Tested By: nani, Jenkins
Tested on: clang, VS2015

This was SVN commit r22845.
2019-09-04 15:29:36 +00:00
Alexandermb 0d47644b08 Replace idle because i can't upload the idle_relax_shieldsmall
This was SVN commit r22844.
2019-09-04 13:24:40 +00:00