Commit Graph

236 Commits

Author SHA1 Message Date
reaperrr
3c34330925 Skip check for ITemporaryBlocker entirely if rules don't contain any temporary blockers
This benefits all mods without temporary blockers like gates or energy walls.
2018-05-04 19:40:18 +02:00
Arular101
8a60918841 Update copyright notice year to 2018 2018-01-17 00:47:34 +01:00
RoosterDragon
b1e2ee9b79 ScreenMap should TickRender, rather than just Tick.
This is as FrozenUnderFog.TickRender queues an update to the screen map. If this is not processed in the same tick, this results in screen bounds for the frozen actor being 1 tick behind. By making ScreenMap TickRender, it ensures changes from both Tick and TickRender traits are processed, rather than just Tick traits.
2018-01-06 15:16:59 +01:00
RoosterDragon
5b51f2a0fa Avoid format strings in some places.
Where it is possible to directly concat strings, prefer this in some often-called methods.
2017-12-16 17:26:29 +01:00
Paul Chote
46f6263061 Update ScreenMap state in a single pass at the end of the tick. 2017-12-11 19:45:07 +01:00
Paul Chote
9e18ec7314 Simplify ScreenMap bounds checking. 2017-12-11 19:45:07 +01:00
RoosterDragon
8ef8c60a1a Remove allocations when enumerating sync hashes on an actor.
Exposing Actor.SyncHashes as an array allows allocation free enumeration, we just need to adjust the SyncHash type to run the hash function.
2017-12-10 13:49:52 +00:00
reaperrr
be290cfabd Split Actor.Bounds into RenderBounds and SelectableBounds
Additionally, internally renamed VisualBounds to SelectionOverlayBounds to avoid confusion with RenderBounds.

This step was necessary to prevent actors with selectable area smaller than their graphics to be removed too early from ScreenMap even though part of the graphics should still be visible.
RA cruisers were a prime example, but to a lesser extent several other actors were affected as well.

This separation also serves as preparation to determine the final RenderBounds from multiple source bounds later, to fix the remaining ScreenMap issues (building 'bibs', aircraft shadows).
2017-11-21 01:00:09 +02:00
Paul Chote
1376ad674e Remove Player.CanViewActor and .CanTargetActor. 2017-11-03 09:56:00 +01:00
Matthias Mailänder
1aebf9857c Add support for only rendering effects inside screen bounds 2017-09-17 12:52:04 +01:00
Paul Chote
0e3bfcfb35 Replace WorldCommandWidget with individual logic classes. 2017-09-15 23:06:38 +02:00
Paul Chote
e1cd00c1dd Add backend plumbing for model loaders. 2017-06-14 18:56:06 +02:00
Paul Chote
695a572dc3 Move ActorMap to mod code. 2017-01-29 18:57:36 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Paul Chote
a16344d347 Remove "Show Shellmap" setting. 2016-12-23 11:34:23 +00:00
Paul Chote
635fc9e1e2 Prevent mod code from changing Actor.Owner directly. 2016-10-23 12:21:03 +01:00
Paul Chote
bf4867909f Rename Manifest.Mod -> Metadata. 2016-08-08 22:36:07 +01:00
Paul Chote
3df9efb95d Rework mod enumeration / caching.
- Replaced ModMetadata.AllMods with Game.Mods.
- Store / reference mod Manifest instead of ModMetadata.
- Removes engine dependency on ModContent class.
2016-08-08 22:36:07 +01:00
Matthias Mailänder
b70fdd7edc Correct the comment as not all ticking traits are synced. 2016-06-19 08:19:48 +02:00
Matthias Mailänder
71743b3b4a Only sync projectiles and future synced effects. 2016-06-13 14:35:28 +02:00
Paul Chote
7e49ae7eb0 Prepare DeveloperMode code for trait-defined lobby options. 2016-05-14 18:54:44 +01:00
Paul Chote
a0b5b5ce66 Move initial map exploration to Shroud. 2016-05-14 18:54:44 +01:00
Paul Chote
602acabe47 Remove World.TileSet. 2016-03-12 19:47:07 +00:00
Paul Chote
a3b1baa654 Extract default TileSet/Sequence dictionaries to ModData. 2016-03-11 21:18:32 +00:00
Oliver Brakmann
59d9eeaa08 Merge pull request #10795 from Mailaender/screenmap-bounds-crash
Fixed screen map updates for invisible mobile actors
2016-02-27 17:52:49 +01:00
Matthias Mailänder
9734054582 Reduce duplication. 2016-02-27 14:10:17 +01:00
Paul Chote
e71225496b Clarify GPL version. 2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9 Update licence header year. 2016-02-21 16:27:31 +00:00
RoosterDragon
dc37574494 Cache sync hash functions per actor for faster sync calculations.
Caching the result of the function lookup allows the actor to calculate all the sync hashes for its syncable traits faster as it does not need to repeat the lookup each time.
2016-01-31 00:44:43 +00:00
RoosterDragon
8e89a6a696 Simplify names, remove unused usings, remove redundant casts. 2016-01-17 21:35:36 +00:00
RoosterDragon
3026bdcea5 Implement equality on TraitPair. 2016-01-17 00:13:06 +00:00
Matthias Mailänder
f8161300ed Merge pull request #10304 from whinis/ReplayReworkPR
Reworking ReplayRecorderConnection to be not be a Connection
2015-12-31 12:40:51 +01:00
Matthias Mailänder
6a555a7a8d Merge pull request #10089 from abcdefg30/shellmapCPU
Try to win a small amount of performance when the shellmap is disabled
2015-12-31 12:22:14 +01:00
Whinis
155c74fc5f Reworking ReplayRecorderConnection to no longer be an IConnection but rather attached to IConnection 2015-12-30 22:17:13 -05:00
abcdefg30
64f57ac9a5 Try to win a small amount of performance when the shellmap is disabled 2015-12-29 14:54:21 +01:00
RoosterDragon
611a928a47 Prevent changing world players after being set once. 2015-12-23 21:53:47 +00:00
RoosterDragon
23a38a08f7 Refactor player setup.
Tweak how players in a world are created. Change the collection to be an array to more strongly imply it will not change during a game.
2015-11-27 15:15:43 +00:00
atlimit8
b6f17df260 Add ActorsHavingTrait<TTrait>([Func<TTrait, bool]) 2015-10-28 16:36:45 -05:00
Paul Chote
ef55d646f7 Unstatic the Sound class. 2015-09-20 14:11:06 +01:00
Paul Chote
257c043e58 Add Timestep property to GlobalSettings. 2015-09-06 17:48:26 +01:00
abcdefg30
dae70321c2 Merge pull request #8792 from deniz1a/reveal-shroud
Changes shroud lobby setting from disabling shroud to revealing it.
2015-08-12 22:04:15 +02:00
RoosterDragon
a0117a3890 Add a method to look up actors by ID.
This can be used to speed up some methods.
2015-08-09 20:25:34 +01:00
deniz1a
7efbf0633e Changes shroud lobby setting from disabling shroud to revealing it. 2015-08-04 17:31:06 +03:00
Paul Chote
86ba26e013 Convert shroud calculations and rendering to PPos. 2015-07-27 19:34:50 +01:00
Oliver Brakmann
4de03e991c Remove revealing views from observer mode in missions 2015-07-25 20:51:39 +02:00
Oliver Brakmann
a725d63b0c Remove World.ObserveAfterWinOrLose
Fixes RenderPlayer for "All Players" view.
2015-07-25 18:56:24 +03:00
deniz1a
ef143e5f8a Freezes map after game ends.
Adds newline.

Disables keyboard hotkeys for units after game ends.
2015-07-25 18:56:23 +03:00
Zimmermann Gyula
57e684d1d9 Implements victory and defeat music. 2015-07-13 15:42:13 +02:00
Zimmermann Gyula
60fafaa5a7 Refactors the music player. 2015-07-12 17:27:02 +02:00
Matthias Mailänder
2768fc88e7 stop all sounds on map change 2015-07-05 18:07:11 +02:00