1
0
forked from 0ad/0ad
Commit Graph

21473 Commits

Author SHA1 Message Date
Angen
7b6ff0745a [Petra/Ai] Fix not researching free and instant technologies
When Petra encounters free technology or technology with no
researchtime, she will not start it and blocks the queue.
Also fixing seleucids.

Differential revision: D3388
Reviewed by: @wraitii
Comments by: @Freagarach, @Stan
This was SVN commit r24769.
2021-01-22 20:58:34 +00:00
e7e6fe139e Allows to override GL version for SDL.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3448
This was SVN commit r24768.
2021-01-22 19:40:02 +00:00
0ce8efc286 Small icon changes, use a custom icon for the gallic plow
This was SVN commit r24767.
2021-01-22 19:28:52 +00:00
d92feab275 Fix target height computation when launching projectiles.
The Y coordinate at which to fire a projectile is currently assumed to
be the target's current Y, which is incorrect if the target is moving on
a slope.
This fixes that.

Note that this was purely visual, since projectiles still hit the target
regardless, as the height component is totally ignored, even if the
projectile is underground (in fact, the projectile's position is not
known in DelayedDamage::MissileHit, which just assumes it lands where it
said it would when fired).

As noted by bb in f737831167

Fixes #5939

Differential Revision: https://code.wildfiregames.com/D3425
This was SVN commit r24766.
2021-01-22 18:16:13 +00:00
6b05cc9d3c Fix AI undefined error from garrisoned entities.
Introduced in 9e96bca85e.

Reported by: Freagarach
Fixes #5960

Differential Revision: https://code.wildfiregames.com/D3451
This was SVN commit r24765.
2021-01-22 17:35:45 +00:00
e76745b0b2 Revert cf6aaf37a4, causing false OOS in visual replays.
cf6aaf37a4 fixed #5546, but it seems to cause some rare OOS in visual
replays, as reported in #5909. The culprit is likely that hashes aren't
computed at quite the same moment and onDestroy changes things.

Reverting for now before A24.

Reported by: Angen
Refs #5546.
Fixes #5909

This was SVN commit r24764.
2021-01-22 17:13:12 +00:00
3becf25fac Update bundle dist tools
- The MacOs script was not exporting the SVN revision properly.
- Rename the DMG to match the other's conventions.
- Clean up windows installer files ( Fixes #5955 )

Differential Revision: https://code.wildfiregames.com/D3370
This was SVN commit r24763.
2021-01-22 12:53:54 +00:00
ce74c41297 Fix audio leak that resulted in openAL errors after a while.
Sound items were only deleted after 'last play' when stopped, but they
could also be left in 'paused' or 'initial' states, and were then not
cleared until the game exits (effectively a memory leak). This affected
particularly music & ambient sounds, which also used the most
buffers(/memory).
On MacOS (at least), this resulted in OpenAL errors & sound failures
after a while playing the game, because MacOS has a max "in flight
buffers" of 1024.

Also clean up some control flow in CStreamItem

Reported by: Eszett
Thanks langbart for the consistent repro'.

Fixes #5265

Differential Revision: https://code.wildfiregames.com/D3445
This was SVN commit r24762.
2021-01-22 12:50:05 +00:00
9ae6f904ad Fix the non merc rhompaia having a green color
Patch by: @borg-
Differential Revision: https://code.wildfiregames.com/D3449
This was SVN commit r24761.
2021-01-22 09:19:48 +00:00
f2b3c4d8ec Fix a crash in WaterRenderer.cpp
This fixes a rare crash at map generation.
The water renderer could be left in an invalid state when exiting a
game, and would then crash on the next map generation in some cases.

Tested by: Stan
Differential Revision: https://code.wildfiregames.com/D3447
This was SVN commit r24759.
2021-01-22 08:14:27 +00:00
993ccc6034 [PetraAI] - Teach PetraAI to fear fire.
In 86ddf09640, fire damage was introduced for the Iberian fire ship (and
the Theban fire raiser), this adds that damage type to the config of
PetraAI.
Poison (a24c8419c5) is only used in Status Effects (which PetraAI
doesn't understand anyway) so is not added.

Differential revision: D3432
Reviewed by: @Angen
This was SVN commit r24758.
2021-01-22 06:32:03 +00:00
065b03a3db Removes useless transparent pass before the water for lowest settings since the water is opaque there.
This was SVN commit r24756.
2021-01-21 22:38:11 +00:00
1a218ec4fd Fix game speed multiplier sometimes being outside overlay box and resizing in a strange way.
Reviewed by: Freagarach
Trac Tickets: #5924
Differential Revision: https://code.wildfiregames.com/D3391
This was SVN commit r24755.
2021-01-21 17:37:23 +00:00
9145e03bf5 Fix values of miscellaneous summary tab shifted.
Introduced in 57d0e7bd96. Caused by incomplete filtering.

Differential revision: D3340
Fixes: #5946
Reviewed by: @wraitii
Tested by: @Langbart
Comment by: @toonijn
Suggestions from: @Imarok

This was SVN commit r24754.
2021-01-21 17:12:56 +00:00
920181b838 Fix texture bleeding on sele CC.
Reported by: @gameboy
Thread:
https://wildfiregames.com/forum/topic/35564-msaa-anti-aliasing-has-no-effect/

This was SVN commit r24753.
2021-01-21 16:07:11 +00:00
8c429b9a68 Fix unit-only Attack move.
attackmoveUnit is more specific than attackMove, so since d0a42f2f00
won't fire at the same time. However the GUI code expected that,
breaking it.

Instead, properly check for either attackmove or attackmoveUnit.

Also fix an issue with d0a42f2f00 where hotkeys would be release if
switching to a more specific combination of the same hotkey.

Reported by: snelius
Fixes #5944

Differential Revision: https://code.wildfiregames.com/D3436
This was SVN commit r24752.
2021-01-21 15:58:33 +00:00
b28e6fda42 Fix PreferredClasses following 1f2286305d
1f2286305d introduced a "Unit+!Ship" preferred class. However, Preferred
classes don't actually use MatchesClassList, and thus this resulted in
no preference whatsoever. This is fixed.

Further, Macemen & elephants have no particular preferred classes,
unlike all other land units which are either Unit+!Ship or Human (which
implies !Ship). This is fixed by setting them to !Ship, for consistency.

Reported by: snelius (and also Valirhant, I believe)
Trac Tickets: #5945

Differential Revision: https://code.wildfiregames.com/D3442
This was SVN commit r24751.
2021-01-21 14:34:08 +00:00
7a33d391cf Fix starting camera on Sicilia Nomad.
Since this map doesn't have CCs, camera would not work see
7cf83f19fd#inline-5512
Refs: 7cf83f19fd

This was SVN commit r24750.
2021-01-21 13:35:27 +00:00
541fdd3f90 Fix string issues in edecd14b7b
(see edecd14b7b)

Reviewed By: Nescio, borg-
Differential Revision: https://code.wildfiregames.com/D3434
This was SVN commit r24749.
2021-01-21 12:17:14 +00:00
2b4ce98fee Fixes translation error in 5cc49c2326/https://code.wildfiregames.com/D1808
Noticed by: @Edwarf
This was SVN commit r24748.
2021-01-21 12:16:10 +00:00
ae5ef6d898 Add back the camels to the tutorials.
Fixes: #5951
Reported by: @Freagarach
Refs: c72861b708, 4981cdedad

This was SVN commit r24747.
2021-01-21 11:53:01 +00:00
d85a73fabf Fixes simple ARB water after 9df127f9d1. Completely removing losMatrix usages. Fixes #5952
This was SVN commit r24746.
2021-01-21 11:35:20 +00:00
37729586dc Don't pause music when pausing the game / Fix victory music in SP.
Victory music doesn't work in A24 SP. That's because the modal pauses
the game, and pausing the game pauses music.
This has been the case since c9a5d5cee5.

Auto-pausing the game (structree, ...) didn't really happen in the past,
but A24 makes it relatively common, and I think pausing the music is a
bit jarring then, so this simply removes that.

Reported by: Langbart
Fixes #5941

Differential Revision: https://code.wildfiregames.com/D3433
This was SVN commit r24744.
2021-01-21 09:34:20 +00:00
4af962618e Add Shift+Space as an alternative Pause hotkey
Mac keyboards have no "Pause" button. As an alternative, introduce
'Shift+Space' (used in Factorio).
P is already used for Patrol.

Reported by: langbart
Fixes #5943

Differential Revision: https://code.wildfiregames.com/D3435
This was SVN commit r24743.
2021-01-21 09:31:50 +00:00
1877871be0 Fix issue with 5d2be02f68
std::string_views are created pointing to vector-owned strings, but
those strings can use Short String Optimisation (storing the data
inline, i.e. in vector memory). When the vector is resized, the strings
are moved and those string_views now point to invalid memory.

To fix it, use std::deque which does not invalidate pointers on
push_back.

Fixes 5d2be02f68.

Reviewed By: vladislavbelov
Fixes #5950

Differential Revision: https://code.wildfiregames.com/D3441
This was SVN commit r24742.
2021-01-21 08:42:05 +00:00
5d2be02f68 Optimization for include resolving in PreprocessorWrapper.
Reduces the number of copying and decreases the computational
complexity.

Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3439
This was SVN commit r24740.
2021-01-20 23:05:15 +00:00
b7000b373a Refactors water_high shader, cleanups water changes after 9df127f9d1.
This was SVN commit r24739.
2021-01-20 22:36:11 +00:00
6e8208aee6 [gameplay] Buff Iber champion cavalry damage
With the new 'fire' status effect, the damage against buildings was much
lower than in A23. This upgrades it from 2 to 6.

Reported by: soloooy0
Patch by: borg-
Differential Revision: https://code.wildfiregames.com/D3430
This was SVN commit r24738.
2021-01-20 21:44:02 +00:00
5db90dd8ab Upgrade ship_movement_speed / tower_health icons
Patch by: borg
Differential Revision: https://code.wildfiregames.com/D3302
This was SVN commit r24737.
2021-01-20 21:39:54 +00:00
2daec55dcd Fix attack notification (a3eccc043d)
Reviewed by: Freagarach
Differential Revision: https://code.wildfiregames.com/D3387
This was SVN commit r24736.
2021-01-20 21:00:40 +00:00
06c570bf7b Fix game speed button being unusable in min resolution
Reviewed by: ffffffff
Fixes: #5926
Differential Revision: https://code.wildfiregames.com/D3389
This was SVN commit r24735.
2021-01-20 20:48:50 +00:00
Angen
3991dd6c38 Fix incorrect user identifier used in 0342f01580
iq uses lowercased version of user name, but patch was saving raw one.
Found by: @Freagarach
This was SVN commit r24733.
2021-01-20 19:54:16 +00:00
9df127f9d1 Removes shader code duplication to calculate LOS.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3428
This was SVN commit r24732.
2021-01-20 18:46:32 +00:00
Angen
71eaeb853c Fix not applying modifiers on upgrades in structure tree
When one hovers over gate in structure tree (e.g. gauls), it shows
unmodified hp.
As soon as one opens template viewer, one can see correct values.

Reason is that when getting values of upgrades, civ modifiers are not
applied.

Differential revision: D3427
Reviewed by: @wraitii, @s0600204
This was SVN commit r24730.
2021-01-20 18:42:40 +00:00
3d4d617079 [gameplay] Tweak Maurya worker elephant
Maurya players had little incentive to build further support elephants.
This reduces their cost to make it more interesting for players.
It also reduces their Resistance, which was un-naturally high for a
support unit.

Patch by: FeldFeld
Accepted by: borg-
Differential Revision: https://code.wildfiregames.com/D2852
This was SVN commit r24729.
2021-01-20 18:34:09 +00:00
Angen
1a8de6d2b8 Hide ip and port from users until they want to join, add optional password
Current issue with the lobby, is that we make ips of hosts public for
anyone to read. This patch consists of 3 parts.
1.) Removing ips and ports from lobby javascript
2.) Removing need of script on the server to attach public ips to game
stanza by asking the host using xmppclient as proxy.
3.) Implementing password protected matches, to deny this information to
not trusted players.

Further description:
Do not send ports and stunip to the bots.

Removed from stanza.
Do not send ip to the lobby.

Removed from mapping gamelist from backend to gui (still on the backend
side, because it is done by script on 0ad server).
Get ip and ports on request when trying to connect.

On the host side, ask stun server what is host's public ip and remember
it.
On the client side, send iq through xmppclient to the hosting player and
ask for ip, port and if Stun is used, then if answer is success,
continue
   with connecting, else fail.
Add optional password for matches.

Add password required identifier to the stanza.
Allow host to setup password for the match. Hash it on the host side and
store inside Netserver. If no password is given, matches will behave
as it is not required.
On the client side, if password for the match is required, show
additional window before trying to connect and ask for password, then
hash it
and send with iq request for ip, port and stun.
Server will answer with ip, port and stun only if passwords matches,
else will asnwer with error string.
Some security:
Passwords are hashed before sending, so it is not easy to guess what
users typed. (per wraitii)
Hashes are using different salt as lobby hashing and not using usernames
as salt (as that is not doable), so they are different even typing the
same password as for the lobby account.
Client remembers which user was asked for connection data and iq's id of
request. If answer doesn't match these things, it is ignored. (thnx
user1)
Every request for connection data is logged with hostname of the
requester to the mainlog file (no ips).
If user gets iq to send connection data and is not hosting the match,
will respond with error string "not_server".
If server gets iq::result with connection data, request is ignored.

Differential revision: D3184
Reviewed by: @wraitii
Comments by: @Stan, @bb, @Imarok, @vladislavbelov
Tested in lobby

This was SVN commit r24728.
2021-01-20 18:31:39 +00:00
a30c4a69f7 Commit the actual images for bbd808349f
(Cursed `arcanist`)


Differential Revision: https://code.wildfiregames.com/D3332
This was SVN commit r24727.
2021-01-20 15:17:20 +00:00
bbd808349f Add a "Catafalque Bonuses" page
Permitting easy(ish) comparison of the bonuses granted by each civ's
Catafalque unit.

Accessible from the Main Menu's "Learn to Play" submenu.


Accepted by: @Freagarach
Comments by: @wowgetoffyourcellphone
Screenshot: https://code.wildfiregames.com/F1785729
Differential Revision: https://code.wildfiregames.com/D3332
This was SVN commit r24726.
2021-01-20 15:12:08 +00:00
b5bbed4690 [gameplay] Rework attack forge techs
Follow up to D3287/9a3da390b9.
- Remove the specialised infantry/cavalry attack technologies, in favour
of generalist melee/ranged techs to make it easier to switch army
compositions.
- Lower the costs of the technologies substantially.
- Make melee techs cost Food/Metal and Ranged techs Wood/Metal, like
resistance techs.
- City phase upgrades take 60s
- New names and descriptions for the ranged attack technologies.

Initial patch by @borg-, rebased and updated by @Nescio.

Differential Revision: https://code.wildfiregames.com/D3366
This was SVN commit r24725.
2021-01-20 14:23:16 +00:00
406ce2f5e2 Fix error emitted if an Observer opens structree/civinfo via hotkey
This was SVN commit r24724.
2021-01-20 14:11:48 +00:00
78bf609986 Correct grammar in tooltip
Whilst "merely" *is* in the thesaurus as a synonym for "only", it
doesn't work
in this context.

This was SVN commit r24723.
2021-01-20 13:50:33 +00:00
edecd14b7b [gameplay] Update siege techs.
A23 siege techs were rarely used. This:
- Lowers the cost of the attack tech slightly.
- Remove the cost techs which were not very useful or interesting.
- Rework the armor tech into a Health bonus
- Introduces a tech to pack/unpack faster.

Patch By: borg-
Accepted By: Feldfeld
Differential Revision: https://code.wildfiregames.com/D2878
This was SVN commit r24722.
2021-01-20 09:44:30 +00:00
57d0e7bd96 Add resource and population counts to the summary screen.
Patch by: @toonijn
Differential revision: D3395
Fixes: #4554
Reviewed by: @Freagarach, @wraitii
Comments by: @Angen, @Imarok, @Stan
This was SVN commit r24721.
2021-01-20 09:24:26 +00:00
cd97df87e9 Fix instacrash when saving a game & serialization fails for "no Deserialize"
9fc6c3c897 stopped supporting components with a non-null Serialize() and
a null Deserialize().
Unfortunately, these throw exceptions and it appears we have codepaths
that don't handle these exceptions (possibly all of them). Since this
error is likely, and easily fixable, and doesn't actually _crash_, I'll
issue a LogError for now.

This will possibly help modders update to A24.

Differential Revision: https://code.wildfiregames.com/D3422
This was SVN commit r24720.
2021-01-20 08:16:34 +00:00
3731886e2c [Gameplay] - Make gather technologies less effective.
Since they were deemed too powerful.

Patch by: @Nescio
Differential revision: D3404
Reviewed by: @Feldfeld, @wraitii
Reservations by: @borg-
Comments by: @Stan
This was SVN commit r24719.
2021-01-20 08:08:34 +00:00
5ee16b6d65 [Gameplay] - Remove starting hoplite from Spartans.
Deemed too overpowered.

Patch by: @Nescio
Differential revision: D3426
Reverts 214299b6c1

This was SVN commit r24718.
2021-01-20 07:15:18 +00:00
a9b1474d4c Armour -> Resistance in aura descriptions.
Refs 0f91c5ac61.

Patch by: @Nescio
Differential revision: D3403
Comment by: @wraitii
This was SVN commit r24717.
2021-01-20 07:11:00 +00:00
ccce5719cc Update <civ>.json information.
Removed false information, added information that was missing.
Removed history of stronger Spartan women in the game.

Initial patch by: @ValihrAnt
Redone by: @Nescio
Cleaned in between by: s0600204
Differential revision: D2720
Comments by: @asterix, @badosu, @borg-, @elexis, @Stan, @wraitii
This was SVN commit r24716.
2021-01-20 07:08:08 +00:00
9ffeb02b8a Fix typo in intro.txt
This was SVN commit r24713.
2021-01-20 00:02:47 +00:00
19eb21b647 Lower rolloff so that players that play from very high still hear sound.
Reported by: @ValihrAnt,  @Feldfeld
Discussed with: @Samulis
Refs: https://code.wildfiregames.com/D3108 / 876f6d5e50

This was SVN commit r24712.
2021-01-19 22:40:56 +00:00