Commit Graph

24805 Commits

Author SHA1 Message Date
Paul Chote
91295f9c68 Add IReadOnlyFileSystem.IsExternalModFile. 2018-05-01 00:46:57 +02:00
Voidwalker
0c30a1d670 Fix projectiles to use IRulesetLoaded properly 2018-05-01 00:16:58 +02:00
Paul Chote
f0e190825a Fix map updater breaking unicode characters. 2018-04-30 02:37:53 +02:00
Paul Chote
952f41b4e4 Add --dump-sequence-sheets Utility command.
This can be used to debug and optimize the texture
data that is uploaded to VRAM.
2018-04-30 02:05:43 +02:00
RoosterDragon
7bc5bd5791 Force buffered sheets to commit data to a texture on buffer release.
Previously ReleaseBuffer did not immediately null out the buffer, instead the releaseBufferOnCommit flag allows it to be nulled when the texture is next access and the pending changes from the buffer are committed to it. Now the texture is committed immediately, thus the buffer is null once ReleaseBuffer returns.

Once loaded, we force a GC to reclaim temporary memory used during loading. Previously the buffer would not be null as it was pending commit to the texture and thus could not be reclaimed. As soon as we rendered the first frame, the buffer is nulled but we are now in a low GC state - and the buffer will not be reclaimed until the next gen 2 GC which may be dozens of minutes away.

This change ensures the buffer is null in time for the post-load GC, and thus can be reclaimed before we start rendering.
2018-04-29 18:11:48 +02:00
reaperrr
83f100618b Make INotifyAppliedDamage require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
3a82b13093 Make INotifyKilled require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
7ca9aa5e0b Make INotifyDamage require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
ccd070afd6 Make IRenderModifier require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
06dbf71461 Make IStoreResources require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
cc4c5a5492 Make IVoiced require explicit implementation 2018-04-29 11:59:49 +01:00
Paul Chote
da29250711 Move PlayerResources to Mods.Common. 2018-04-28 20:42:10 +02:00
Paul Chote
d186ca38f7 Explicitly require PowerShell 3 or higher. 2018-04-28 20:29:31 +02:00
Mustafa Alperen Seki
ec61527ebc Don't show negative prerequisites on tooltip 2018-04-26 17:10:26 +02:00
Paul Chote
160ade1060 Add CaptureTypes to GiveCashOnCapture. 2018-04-26 08:27:35 +02:00
abcdefg30
c3bfd32192 Fix PlayMovieInRadar crashing for spectators 2018-04-23 21:52:49 +02:00
Paul Chote
7508a13f92 Enable "Unable to comply, building in progress" notification. 2018-04-22 18:01:57 +02:00
Paul Chote
0654f18f22 Break out of cancellation loop when there is nothing left to cancel. 2018-04-22 18:01:57 +02:00
Paul Chote
f2cf51d1a4 Play appropriate audio notifications when build/production limit is reached. 2018-04-22 18:01:57 +02:00
Paul Chote
da10e94b41 Add per-item and total queue length limits to ProductionQueue.
Implement 999 per-actor limit.
2018-04-22 18:01:57 +02:00
reaperrr
ffeea72130 Remove RA gates
They aren't used on any shipping map, and removing them significantly
reduces the overscan radius of blockable projectiles in the mod.
2018-04-22 10:55:23 +02:00
reaperrr
18ed04eab5 Only use largest blocker instead of largest actor for projectile blocker overscan
Before this, we unconditionally used the largest OuterRadius of all actors inside a mod for overscanning of blockable projectiles.
However, in many mods the only blockable actors are 1-cell walls, and even if there are gates like in TS, they usually aren't the largest actors in terms of hit-shape.

So this measure should save a bit of performance by reducing the overscan radius of blockable projectiles, especially in mods where walls are the only blocking actors.
2018-04-22 10:55:23 +02:00
FrameLimiter
39aa1a9f9c Adds ships to the MECH's autotarget priority list
The mechanic was not automatically targeting & repairing damaged ships.
2018-04-12 17:08:57 +02:00
abcdefg30
dd080eb882 Fix bridges not being targetable by enter activities 2018-04-12 17:04:57 +02:00
abcdefg30
b8077f1d5d Fix the campaign AI defending captured buildings 2018-04-12 17:01:59 +02:00
abcdefg30
2e7b8bc30a Add a missing word in the description of atreides05 2018-04-12 17:01:59 +02:00
abcdefg30
dfd60655af Fix a crash in atreides05
We removed ExternalCondition from starport
2018-04-12 17:01:59 +02:00
Mustafa Alperen Seki
dc71a71a09 Change the way NukePower>SkipAscent works 2018-04-12 08:19:18 +02:00
Andre Mohren
5b7d43f1e0 Virtual ProductionQueue.AllQueued 2018-04-12 08:08:45 +02:00
David Wilson
1b685955cd Fixes for WavReader to explictly handle "LIST" and "cue " chunks (RA2), and skip to EOF on unknown chunk 2018-04-11 19:22:47 +01:00
abcdefg30
42954aa18e Remove BagFile 2018-04-11 17:18:03 +02:00
RoosterDragon
4da9b6f00a Ensure BagFile.GetStream returns unique streams.
GetStream must return a unique stream on each call to ensure multiple callers can read their streams without affecting each other. As bag file returned multiple references to the same underlying stream, it was possible for multiple callers to disturb reads of each other, and thus read bad audio from each file.
2018-04-10 22:09:39 +02:00
Smittytron
68ad4b6092 Remove leftover sniper disabled from missions 2018-04-10 13:08:22 +02:00
JordanBergin
0226c06b93 No longer check Carryable IsInWorld when Carryall is killed. Also the Carryable's position is updated to Carryall's position when the Carryall is killed. 2018-04-10 12:52:42 +02:00
Smittytron
348932692a Change TD water crossings to Rough terrain 2018-04-10 01:13:29 +02:00
Chris Forbes
770f14fa2a Use IPositionable.CanExistInCell in Bridge/GroundLevelBridge
We don't care whether there's empty space for the actor now -- we care whether
the terrain the actor is ALREADY standing on remains suitable after the
bridge state change.
2018-04-10 01:01:53 +02:00
Chris Forbes
dddd057e3d Add IPositionable.CanExistInCell
This is like CanEnterCell, but doesn't take into account conflicting
actors, etc.
2018-04-10 01:01:53 +02:00
reaperrr
fba08cd066 Don't create empty MissionGroups
Only create MissionGroups if there's at least one visible mission.
2018-04-09 12:19:28 +02:00
Paul Chote
4f0aa89c01 Remove TileSet.Palette and PaletteFromCurrentTileset. 2018-04-08 21:14:29 +02:00
Joe Alam
7221c29d9b Added text selection and copy support to TextFieldWidget.
Use Shift and navigation key (cursor, home, end) to select a portion of
text, and replace/delete/cut as appropriate.
Also provides support for selection with mouse (click and drag)
2018-04-08 19:24:22 +02:00
Zimmermann Gyula
b5893d4c6d Implement GrantExternalConditionToCrusher. 2018-04-08 19:04:05 +02:00
Paul Chote
cc04ec607c Allow d2k turrets to replace walls. 2018-04-07 23:32:24 +02:00
Michael Silber
29dd497c19 Allows GDI-Turrets, GDI- and Nod-Gates to replace walls. 2018-04-07 23:32:24 +02:00
Michael Silber
1b110b7833 Add Replaceable and Replacement traits to support wall overrides. 2018-04-07 23:32:24 +02:00
reaperrr
0c52ff3ae5 Cache TargetablePositions in Actor
To speed up Target.Positions.
2018-04-07 17:24:13 +01:00
reaperrr
4c16e51f92 Add EditorPlayer to all mods
To prevent the editor from loading unnecessary or even incompatible
player traits.
2018-04-06 20:46:47 +02:00
reaperrr
563c8ad302 HarvManager update rule 2018-04-06 20:16:36 +02:00
reaperrr
4f651c2f88 Remove HarvesterInfo look-up from HackyAI 2018-04-06 20:16:36 +02:00
reaperrr
5276636598 Extract a HarvesterManager from HackyAI
This takes action when AI harvesters don't find ore near the base or became idle for some other reason.
2018-04-06 20:16:36 +02:00
reaperrr
82867b6c3a Move some stuff from HackyAI to new AIUtils 2018-04-06 20:16:36 +02:00