Commit Graph

6805 Commits

Author SHA1 Message Date
abcdefg30
c65cfd3528 Fix an NRE in ConnectionLogic
(cherry picked from commit 84add8a03d)
2023-02-03 08:34:57 +02:00
Azarus
7ad6cfda40 Add an option to check if an actor can be captured via Lua 2023-01-30 13:47:02 +02:00
RoosterDragon
49590bb5f7 Fix Locomotor cache coherency for disabled or paused mobile actors.
The cache in Locomotor that is populated via the UpdateCellBlocking method disagreed with the non-cached logic of IsBlockedBy when dealing with Mobile actors. The cache determined an actor to be moving if it was both movable and had horizontal movement types. IsBlockedBy determined an actor to be moving if it had horizontal movement types, but did not check if it was movable. This difference in checks could allow a mobile trait that was disabled or paused and which had horizontal movement to be treated differently be the two methods. UpdateCellBlocking would consider it not moving due to the disabled/paused trait. IsBlockedBy would consider it moving as it didn't care about the disabled/paused state of the trait.

Now, we unify the two methods to consider a mobile trait that is disabled/paused as not moving. This prevents HierarchicalPathFinder from crashing on the inconsistent state, i.e. when asked to path search through a cell of a mobile unit which has disabled or paused movement, but which has horizontal movement types from prior movement.
2023-01-17 18:58:34 +01:00
penev92
d5dd6a9086 Added ITilesetSpecificPaletteInfo for linting 2023-01-10 16:37:56 +00:00
Gustas
a7ca0f0699 Fixed UnhardcodeBaseBuilderBotModule update rule
Update rules should should not read `modData.DefaultRules`

(cherry picked from commit 80b92fb667)
2023-01-10 18:13:01 +02:00
Gustas
4b02d9b700 Fixed UnhardcodeSquadManager update rule
Update rules should should not read `modData.DefaultRules`

(cherry picked from commit 29d21545a6)
2023-01-10 18:12:58 +02:00
Paul Chote
f928922f3a Add BeforeUpdate* methods for update rules.
These make it possible to write more advanced update
rules that query state across multiple actors, or
based on resolved state.

(cherry picked from commit 129db98a2f)
2023-01-10 18:05:11 +02:00
penev92
bc3743d9ff Added an update rule for adding ControlGroups 2023-01-10 00:14:45 +01:00
penev92
8aa6600655 Added an update rule for DomainIndex removal
Also for adding the new HPF-related PathFinderOverlay and HierarchicalPathFinderOverlay that were added at the same time.
2023-01-10 00:14:04 +01:00
Matthias Mailänder
a397670dce Fix URL button blocking the party button. 2023-01-08 23:07:44 +01:00
Matthias Mailänder
43d7f9c6df Bump DiscordRichPresence library. 2023-01-08 23:07:42 +01:00
Matthias Mailänder
9f759f3cc2 Enforce use of 'var' instead of explicit type.
(cherry picked from commit 19ecddcd86)
2022-12-29 10:05:20 +02:00
abcdefg30
8d6cebe654 Fix map actors not being spawned with the correct owner 2022-12-24 11:20:58 +02:00
Matthias Mailänder
daf10c34a6 Fix invalid actors not spawning in-game. 2022-12-23 18:33:50 +01:00
Matthias Mailänder
d96ec21b95 In map editor replace invalid actor owners with neutral. 2022-12-23 18:33:49 +01:00
Paul Chote
aea1182bb5 Implement state prediction for lobby ready checkbox. 2022-12-23 16:34:05 +02:00
Paul Chote
b413b97a52 Implement state prediction for debug menu checkboxes. 2022-12-23 16:34:05 +02:00
Paul Chote
7daa27f123 Implement state prediction for lobby checkboxes. 2022-12-23 16:34:05 +02:00
Paul Chote
7cee29ff70 Report CPU arch in logs and sysinfo. 2022-12-23 12:54:29 +02:00
Gustas
c1474204e2 Added carryalls to spectator Economy statistics 2022-12-21 21:09:16 +01:00
Gustas
674ca8555b Fix contrail using the wrong colors 2022-12-21 19:36:12 +02:00
Paul Chote
06e399d3ce Bubble unhandled double-click events to OnClick. 2022-12-20 23:06:19 +01:00
RoosterDragon
d6d77eab7c HPF is aware of map projection changes.
An event is added to Map to indicate when the cell projection is changed. This is important as this can mean Map.Contains(CPos) could now return different results for the cell. The HierarchicalPathFinder is made aware of these changes so it can rebuild any out-of-date information. This fixes prevent a crash if a cell that was previously outside the map changes height and becomes inside the map. The local path search will explore the cell as it is inside the map - but if the HPF was unaware if had been updated, it will still consider the cell to be outside the map and unreachable, resulting in a crash.
2022-12-20 09:48:44 +13:00
RoosterDragon
2392566c1d HPF handles searches from unreachable source cells into cut off areas.
If a path search is performed by the HierarchicalPathFinder when the source cell is unreachable location, a path is still allowed and starts from one of the cells adjacent to the location. If moving into one of these cells results in the actor moving into an isolated area that cannot reach the target this would previously crash as no abstract path could be found. Now we handle such locations by giving them a unreachable cost so the path search will not attempt to explore them.

Imagine a map split into two by a one tile wide line of impassable cliffs. If an actor is on top of these cliffs it is allowed to path because it can "jump off" the cliff and move into the cell immediately either side of it. However it is important which side it chooses to jump into, as one it has moved off the cliff it loses access to the other side. The previous error came about because the path might try and search on the side that couldn't reach the target location. Now we avoid that being considered.
2022-12-20 09:48:36 +13:00
abcdefg30
eee4b04248 Fix the actor edit panel not always getting closed properly 2022-12-18 12:25:21 +13:00
Gustas
f551b542f3 Fix map editor sliders stealing focus 2022-12-15 21:06:25 +01:00
abcdefg30
80ac494948 Fix carryables vanishing when another unit is picked up 2022-12-04 17:41:44 +02:00
Gustas
26c5a8b76c Add cell reference HPF crash messages 2022-12-02 17:50:13 +01:00
abcdefg30
42bdc9e53e Replace influence instead of throwing an exception in AddInfluence 2022-12-01 18:13:16 +01:00
Gustas
3097efc5b6 Fix UnreserveCarryable unreserving carryables of other carriers 2022-12-01 18:13:16 +01:00
Gustas
853422409f Fix AutoCaryall not unreserving when cargo dies 2022-12-01 18:13:16 +01:00
abcdefg30
f097250394 Make sure PickupUnit runs a TakeOff activity before ending 2022-12-01 18:13:16 +01:00
dnqbob
d55af8d75d HarvesterBotModule should not command harvesters that cannot be ordered 2022-11-24 23:22:04 +01:00
Matthias Mailänder
dd9e75d017 Show the host in the download failed error message. 2022-11-23 23:36:10 +01:00
Matthias Mailänder
1b6220962e Fix unknown host not getting translated. 2022-11-23 23:36:08 +01:00
Matthias Mailänder
22a42b7dc9 Manually add game speeds to the linter. 2022-11-18 23:14:54 +01:00
Gustas
c01e4043e8 Introduce MinDistance to AreaBeam projectile 2022-11-17 20:51:28 +01:00
abcdefg30
e54b88a6cb Remove dead code inside SupportPower.cs 2022-11-16 20:45:33 +02:00
RoosterDragon
b8a71215eb Fix Locomotor IsMoving checks.
The Locomotor IsMoving check was allowing us to consider another actor that moving as not a blocker. However for some reason it also considered the actor trying to path being mobile as sufficient for this check to pass which did not make sense. We remove that extra check and inline the method.

This was a regression from 4a609bbee8 which changed the method from IsMovingInMyDirection (which required the lookup of the mobile trait) to just IsMoving. It should have removed the lookup as not required.

This fixes a crash in HPF which was considered the location as blocked when Locomotor considered it unblocked because the logic was not aligned. Removing this check aligns the logic and resolves the crash.
2022-11-15 15:42:02 +02:00
RoosterDragon
a85ac26367 Pathing considers reachability of source cells consistently.
Using the local pathfinder, you could not find a path to an unreachable destination cell, but it was possible to find a path from an unreachable source cell if there was a reachable cells adjacent to it.

The hierarchical pathfinder did not have this behaviour and considering an unreachable source cell to block attempts to find a path.

Now, we unify the pathfinders to use a consistent behaviour, allowing paths from unreachable source cells to be found.
2022-11-13 19:59:36 +01:00
ThomasChr
6c348620f3 Use Stop button on (production) buildings to reset rally point fixes #20414 2022-11-09 08:44:09 +02:00
Gustas
ad269555d9 Don't let the player interrupt takeoff after a succesful caryall pickup 2022-11-08 21:51:12 +01:00
Gustas
5db07097e8 Fix carryall not removing influence when cancelling land activity 2022-11-08 21:51:12 +01:00
Gustas
33a1bb8e6b Don't disable chat in replays 2022-11-06 22:28:52 +01:00
Matthias Mailänder
81020e70fa Fix actors with immobile actors that don't occupy space
to be placed everywhere way outside the map boundaries.
2022-11-05 21:41:39 +01:00
Matthias Mailänder
74c35edbd9 Fix a crash when flood filling tiles outside of the map. 2022-11-04 00:10:46 +01:00
Gustas
64908c8e70 Fix RenameContrailProperties UpdateRule 2022-11-03 23:35:57 +01:00
ThomasChr
a3f8b41e25 Add dropdown for sorting maps in map chooser dialog 2022-11-01 12:08:01 +02:00
dnqbob
583d85cc2e Allow weapons with no damage warheads to be fired 2022-10-30 14:38:16 +01:00
notsinned
5242716887 Fix for turret following invisible unit
Fixed turret tracking invisible units after being attacked

Fix for turret following invisible unit

Fix for turrent following invisible unit
2022-10-30 14:08:29 +01:00