Commit Graph

26604 Commits

Author SHA1 Message Date
Paul Chote
e7de7b4c05 Introduce World and UI rendering phases. 2019-12-08 04:36:31 +01:00
Paul Chote
ebd1557523 Draw voxel debug annotations using the UI renderers. 2019-12-08 04:36:31 +01:00
abcdefg30
9a5eaa7cb7 Don't throw an exception when a field is missing 2019-12-07 09:15:38 +01:00
Curtis Shmyr
f037436536 Added TooltipName as an actor Lua property 2019-12-06 09:33:23 +01:00
abcdefg30
b1571ad17a Make Parachutable public 2019-12-05 23:13:35 +01:00
Paul Chote
494a7870d6 Add fallback exits to RA Kennel. 2019-12-05 18:01:09 +01:00
Paul Chote
dbe1d2d928 Add fallback exits to TS barracks. 2019-12-05 18:01:09 +01:00
Paul Chote
2146dd29bb Add priority levels to Exit. 2019-12-05 18:01:09 +01:00
matjaeck
5ac9d2c2f1 Fix botmodules querying the Player actor before it is assigned. 2019-12-05 01:48:56 +01:00
reaperrr
a74235bdbc Move ShpD2 and TmpRA/TD loaders to Mods.Cnc
Reducing the count of proprietary formats in Mods.Common.

Note: Moving ShpD2 to Mods.Cnc is intentional. RA/TD
use it for their original mouse shp files, and any D2(k) mod
will normally need Mods.Cnc anyway, while we can avoid
adding a Mods.D2k dependency to RA/TD this way.
2019-12-01 16:23:54 +01:00
reaperrr
a98a96b05d Update update rule paths 2019-11-30 20:08:27 +01:00
abc013
b4c116cb31 Fix ExtractLanguageStrings utility command 2019-11-29 16:40:00 +01:00
reaperrr
074ebefee1 Fix FCOM still providing space while being captured 2019-11-27 23:04:28 +01:00
tovl
6fb3dc050b Let CreateGroup use ExtraActors field. 2019-11-26 22:06:37 +01:00
tovl
00ce1d7ee6 Allow additional actor IDs to be send with orders. 2019-11-26 22:06:37 +01:00
reaperrr
b8e15fbe40 Move FastByteReader from LCW to own file
And make it public.
Making it easier to move formats that depend on it
to Mods.Cnc independently later.
2019-11-23 19:04:27 +01:00
reaperrr
3f06541b2b Move Shp conversion/remap commands to Mods.Cnc 2019-11-23 19:04:27 +01:00
reaperrr
65728bc032 Move VocLoader to Mods.D2k
While this is strictly speaking a D2 format, any
D2 mod is pretty much guaranteed to use Mods.D2k,
so this should be a good enough place to move it to.
2019-11-23 19:04:27 +01:00
reaperrr
c4597b5c6b Fix RA desert tree fire palette
By default WithDamageOverlay uses the actors'
palette, but RA's desert terrain uses the TD desert.pal
which isn't compatible with RA's fire animation shps.
2019-11-23 18:40:27 +01:00
abcdefg30
142f823e6f Explain that CanEnterCell ignores 'subCell' if there is a free subcell 2019-11-21 14:13:17 +01:00
abcdefg30
25b7386f0d Let Mobile's CanEnterCell consider ToSubCell 2019-11-21 14:13:17 +01:00
abcdefg30
4717e98c48 Add a subCell parameter to IPositionableInfo.CanEnterCell 2019-11-21 14:13:17 +01:00
abcdefg30
980c1e1b6a Fix McvManagerBotModule spamming deploy orders
Removes the 'activeMCVs' list since it was not useful.
The real bugfix is not iterating over 'activeMCVs' when issueing new orders
(this was previously needed for already discovered mcvs that stopped)
but over 'newMCVs' instead.
2019-11-20 16:44:39 +01:00
teinarss
a47f60d3a6 Add a trait PlayerRadarTerrain to track explored terrain 2019-11-20 16:24:56 +01:00
reaperrr
ee00954f2e Replace AmmoPool lookup methods with properties
And gave the more suitable names while at it.
This is more in line with how we do things in
other places.
2019-11-20 15:45:41 +01:00
teinarss
c77aa4c8f9 Add IsDead check to FerryUnit OnFirstRun 2019-11-19 15:59:27 +01:00
reaperrr
8181a452cb Fix some header dates
Seems these were overlooked or merged after
the dates of the other files were updated.
2019-11-17 22:32:51 +01:00
Paul Chote
f39b688c39 Add GrantPrerequisiteChargeDrainPower and DrainPrerequisitePowerOnDamage.
These traits implement the Firestorm defense charge/drain logic.
2019-11-17 17:06:29 +01:00
Paul Chote
1fa90c0474 Allow support powers to override the icon overlay/tooltip labels. 2019-11-17 17:06:29 +01:00
Paul Chote
70b020205d Rename *Time to *Ticks and increase internal resolution. 2019-11-17 17:06:29 +01:00
Paul Chote
e03abdc0da Add support for custom SupportPowerInstances. 2019-11-17 17:06:29 +01:00
Paul Chote
61c56dcb00 Fix DamageModifier crashes when an actor is demolished.
Demolish calls GetDamageModifier with a null Damage.
2019-11-17 17:06:29 +01:00
Paul Chote
6b1e81a7b5 Spawn ejected pilots inside a FrameEndTask. 2019-11-16 23:07:58 +01:00
RoosterDragon
04912ea996 Expose a setting for Weighted A*
Replace Constants.CellCost and Constants.DiagonalCellCost with a dynamically calculated value based on the lowest cost terrain to traverse. Using a fixed value meant the pathfinder heuristics would be incorrect.

In the four default mods, the minimum cost is in fact 100, not 125. This increase would essentially allow the pathfinder to return suboptimal paths up to 25% longer in the worst case, but it would be quicker to do so.

This is exactly what Weighted A* does - overestimate the heuristic by some factor in order to speed up the search by checking fewer routes. This makes the heuristic inadmissible and it may now return suboptimal paths, but their worst case length is bounded by the weight. A weight of 125% will never produce paths more than 25% longer than the shortest, optimal, path.

We set the default weight to 25% to effectively maintain the existing, suboptimal, behaviour due to the choice of the old constant - in future it may prove a useful tuning knob for performance.
2019-11-15 13:05:41 +01:00
Abdurrahmaan Iqbal
72eb4e1749 Fix #17230: Dummy audio output class 2019-11-14 23:46:14 +01:00
blackhand1001
70b1df6ce7 Fix squadmanager adding naval units to ground attack forces.
Fix squadmanager adding naval units to ground attack forces. This was breaking the behavior of both naval and ground squads.
2019-11-09 11:19:09 +01:00
abcdefg30
a586f10875 Don't allow movement for actors without IMove
However, this does not check if any existing IMove traits are enabled.
2019-11-08 23:31:59 +01:00
abcdefg30
980c0c9cd4 Fix actors returning fire at invisible attackers 2019-11-08 23:31:59 +01:00
blackhand1001
d20182f158 Simplify for loop structure now that it only has one check
Simplify for loop structure now that it only has one check
2019-11-08 21:04:32 +01:00
blackhand1001
49d07e9d64 Fix MCV Manager glitch when restrict building area is enabled.
Fix MCV Manager glitch when restrict building area is enabled. It was checking if the location was close enough to the Base center instead of using the MCV Managers min and max ranges. This would cause it to often have no valid locations despite having a huge range.
2019-11-08 21:04:32 +01:00
matjaeck
ba73842747 Allow GrantCondition to grant conditions permanently. 2019-11-08 16:37:13 +01:00
matjaeck
900e857bfa Let AI ignore frozen actors and target original actors instead. 2019-11-08 15:32:06 +01:00
Abdurrahmaan Iqbal
d2819dca77 Show dialogue only when there are unsaved changes 2019-11-07 20:33:43 +01:00
blackhand1001
780982dbe2 Add PlaceDefenseTowardsEnemyChance trait to basebuilderbotmodule
Add PlaceDefenseTowardsEnemyChance trait to basebuilderbotmodule. This defeaults to 100 which is the current behavior. This change now allows you to set the chance that bots will place defenses evenly around the base like the AI in stock red alert and Tiberian sun did.
2019-11-06 10:30:36 +01:00
reaperrr
2de51ae73c Cache IPathFinder in Mobile at creation
Avoiding look-ups on every move order,
as well as reducing line lengths.
2019-11-03 20:53:29 +01:00
Paul Chote
27205b30e5 Remove landing behaviour from force-move orders on selectable buildings. 2019-11-02 18:29:16 +00:00
abcdefg30
34f4c9bdaa Prevent chronoshifting an empty selection 2019-11-02 11:29:28 +01:00
Abdurrahmaan Iqbal
023750db06 Prevent showing wall connections in unexplored terrain 2019-11-01 22:13:38 +01:00
teinarss
c94cf61069 Fix OccupiedCells for units sharing cells 2019-10-31 21:49:07 +00:00
Paul Chote
5315f8603f Override selection if the mouse is over an already selected actor. 2019-10-30 14:53:23 +01:00