Matthias Mailänder
fe129956bb
Make the resource layer optional in the map editor.
2021-04-07 12:19:55 +01:00
teinarss
8b0a3ea680
Remove our own impl of ReadOnlyList and update usages
2021-04-03 11:33:31 +02:00
teinarss
e12ff2c59d
Remove our own ReadOnlyDictionary and update usages
2021-04-03 11:33:31 +02:00
Matthias Mailänder
a02737107e
Add a .wsa file reader.
2021-04-03 11:19:06 +02:00
Patrick
7a7c07e9c4
fix AreaBeam + GrantExternalConditionWarhead bug
2021-04-02 13:05:20 +02:00
reaperrr
40aafe586d
Move Game.Timestep to Widget
...
Game.Timestep wasn't used for anything other than
UI anymore anyway, moving it makes this more clear.
2021-04-02 12:00:42 +01:00
abcdefg30
6b93f955a4
Fix a crash in LevelUpCrateAction
2021-04-02 11:57:44 +01:00
reaperrr
75a3bb4f0b
CellIsEvaluating perf optimization
...
If an actor has Mobile, it implements IOccupySpace
so we can use OccupiesSpace to save a trait look-up.
2021-03-27 22:29:13 +00:00
reaperrr
441e18b898
Remove PathHash
...
This is 9(!) years old and we haven't had
pathfinding-related desyncs in quite a while.
We can still bring this back later if we ever
need it again.
2021-03-27 22:29:13 +00:00
reaperrr
b8e64df4b1
Remove SmokeTrailWhenDamaged
...
One of the most outdated and limited traits remaining,
which can do nothing LeavesTrails doesn't cover by now.
2021-03-27 18:42:57 +00:00
Matthias Mailänder
d15e7f76fc
Port back to Mono.Nat and make discovery async.
2021-03-27 18:36:12 +00:00
Andre Mohren
3f510b6d93
Make ISpriteLoader aware of the source file name.
2021-03-27 17:36:59 +01:00
teinarss
d60c05eff3
Change to use pattern matching
2021-03-27 17:29:20 +01:00
Paul Chote
7c0e4b25ae
Specify interaction bounds relative to the mod tile size.
2021-03-27 16:31:50 +01:00
reaperrr
e2a6b55d44
Move up Undamaged check in DamageState
...
A mere int comparison is obviously cheaper than
a comparison between two multiplications,
so pulling this above the checks of other damage states
allows us to bail early for undamaged actors.
2021-03-21 17:37:42 +01:00
reaperrr
c240c0a24b
Only apply non-100 damage modifiers in InflictDamage
...
Profiling has shown that filtering them out early is cheaper
than applying those percentage modifiers anyway.
Additionally, profiling shows foreach loops to be cheaper
than LINQ here as well.
2021-03-21 17:37:42 +01:00
Matthias Mailänder
e13fd4816e
Extract the directory if the registry value points to a filename.
2021-03-20 18:42:02 +01:00
Andre Mohren
1f6e0f582a
Fixed aiming not propertly stopped.
2021-03-20 18:33:04 +01:00
Matthias Mailänder
bbbed49f82
Add a lint check for cursor definitions.
2021-03-20 17:37:16 +01:00
Paul Chote
5832ec76d4
Render integrated muzzle flashes as their own tint-ignoring animations.
2021-03-20 17:15:56 +01:00
Paul Chote
594e5b80d7
Add WithMakeOverlay trait.
2021-03-20 17:15:56 +01:00
Paul Chote
14a434975a
Add facing support to WithAttackOverlay.
2021-03-20 17:15:56 +01:00
Paul Chote
6854b23bcc
Add custom palette support to WithSpriteBody.
2021-03-20 17:15:56 +01:00
Paul Chote
0c52d275fa
Add TransparentIndex to PaletteFromFile.
2021-03-20 17:15:56 +01:00
Paul Chote
e63b9b4986
Add condition support to ActorLostNotification.
2021-03-20 17:07:29 +01:00
Andre Mohren
f5f06b86ad
ExplosionOnDamageTransition now Conditional.
2021-03-20 17:02:47 +01:00
Paul Chote
fcc3008b00
Implement proper TS Tiberium and Vein logic.
2021-03-20 16:45:41 +01:00
Paul Chote
0bdd46451e
Overhaul resource layer logic:
...
* ResourceType trait has been removed.
* Simulation-related data is now defined on the
ResourceLayer (which mods can subclass/replace).
* Support non-money resources by moving the resource
values to the PlayerResources trait.
* Allow mods to disable the neighbour density override
and instead always use the map-defined densities.
* Allow mods to define their own resource placement
logic (e.g. allow resources on slopes) by subclassing
(Editor)ResourceLayer.
* Improve ability to subclass/override ResourceRenderer
by exposing more virtual methods.
2021-03-20 16:45:41 +01:00
Paul Chote
80e92849da
Replace ResourceType with strings in interfaces/public methods.
2021-03-20 16:45:41 +01:00
Paul Chote
dcd8eccee4
Replace ResourceLayer references with IResourceLayer in traits/warheads.
2021-03-20 16:45:41 +01:00
Paul Chote
5adcbe4c78
Use IResourceLayer for editor resources.
2021-03-20 16:45:41 +01:00
Paul Chote
0b93556c06
Add resource updating methods to IResourceLayer.
2021-03-20 16:45:41 +01:00
Paul Chote
7e9d291223
Add IResourceRenderer interface.
2021-03-20 16:45:41 +01:00
Paul Chote
1dc26a9b8e
Pass resource type and count to IAcceptResources instead of the value.
2021-03-20 16:45:41 +01:00
Paul Chote
3dbc6400a6
Use IResourceLayer in BaseBuilderBotModule.
2021-03-20 16:45:41 +01:00
reaperrr
adf1aeb06a
Add support for pool-specific ammo pips decoration
2021-03-20 15:31:41 +01:00
teinarss
6b74093c04
Add readonly to structs
2021-03-14 15:17:57 +01:00
reaperrr
65c796dec7
Use Mobile.Pathfinder to reduce trait look-ups
2021-03-14 12:28:54 +00:00
reaperrr
503e706d45
Check for IsReloading in HasAnyValidWeapons
...
For Attack*.CanAttack().
Allows us to drop the additional check for armaments with ammo.
2021-03-14 12:28:54 +00:00
reaperrr
a1f974bd40
Save Mobile trait look-up in AttackBase
2021-03-14 12:28:54 +00:00
Paul Chote
cbea08e1fe
Fix non-relative path handling in install logic.
2021-03-13 15:56:38 +01:00
Paul Chote
7694d0842b
Fix two outdated comments.
2021-03-12 21:52:16 +01:00
Paul Chote
a90e6940ab
Add sequence scale and alpha support to ShroudRenderer.
2021-03-12 21:52:16 +01:00
Paul Chote
96c3825b6a
Add alpha support to TerrainSpriteLayer.
2021-03-12 21:52:16 +01:00
Paul Chote
d52ba83f96
Replace terniary null checks with coalescing.
2021-03-08 18:11:25 +01:00
reaperrr
2473b8763b
Rename methods/activities with Visual in them
...
While they may be only 'visual' in terms of influence/cell grid,
they all do update CenterPosition, which is essentially the
actual world position of the actor.
'Visual' would imply that it only affects the position where the
actor is drawn, which is inaccurate.
Furthermore, using the term 'Visual' here would make
naming future methods/properties related to visual interpolation
unnecessarily complicated, because that's where we might
need a real 'Visual(Only)Position'.
2021-03-08 11:19:11 +01:00
teinarss
7073279ab8
Replace WebClient with HttpClient
2021-03-07 16:04:57 +00:00
teinarss
ed43071792
Compile engine and mod dlls as NET5 when not using mono
2021-03-07 16:04:57 +00:00
teinarss
4a1e4f3e16
Use expression body syntax
2021-03-07 13:00:52 +00:00
reaperrr
1a7a47fa08
Randomize AI idle harvester scan intervals
2021-02-28 18:58:03 +01:00