RoosterDragon
ffd2e8ea9d
Sped up ActorMap.ActorsInBox.
...
- By ensuring both the add and remove actor lists are sets, we ensure the partitioning bins will contain only distinct actors. We can remove the HashSet and Distinct in ActorsInBox and ActorsInWorld which provides a nice speedup for queries. ActorsInBox sees nearly a 3x speedup in the RA shellmap.
2014-07-09 18:43:40 +01:00
Matthias Mailänder
0feb5a7bdc
check for building influence when growing resources
...
closes #5556
2014-07-04 09:22:14 +02:00
Matthias Mailänder
362c86764f
document the buildable and country trait
2014-07-01 09:08:08 +02:00
Paul Chote
9487f49cd5
Replace WPos.ToCPos -> Map.CellContaining.
2014-06-27 23:30:40 +12:00
Paul Chote
7b52fa52b6
Replace CPos.CenterPosition -> Map.CenterOfCell.
2014-06-27 23:30:40 +12:00
Paul Chote
5560f276ca
Map: Rename IsInMap -> Contains.
2014-06-27 22:07:03 +12:00
Paul Chote
fd4d3b40d0
Simplify shroud range checks.
2014-06-27 22:07:03 +12:00
Paul Chote
2a466d08c3
Remove the now-unused ExploredBounds optimization.
2014-06-27 22:07:03 +12:00
Paul Chote
ad730a44c3
Use CellLayer for resources.
2014-06-27 22:07:02 +12:00
Paul Chote
ce331a28e8
Use CellLayer for custom terrain.
2014-06-27 22:07:02 +12:00
Paul Chote
8dc0967d2e
Use CellLayer for ActorMap.
2014-06-27 22:07:02 +12:00
Paul Chote
baf27bc4cd
Use CellLayers for shroud.
2014-06-27 22:07:02 +12:00
Paul Chote
295af5741f
Use CellLayers for ResourceLayer.
2014-06-27 22:07:01 +12:00
Paul Chote
bbd1331536
Clean up actor selection in WorldInteractionControllerWidget.
2014-06-27 19:20:44 +12:00
Paul Chote
d43acfe94b
Merge pull request #5679 from RoosterDragon/main-loop-alloc
...
Reduce memory allocation in the main loop
2014-06-26 23:10:56 +12:00
RoosterDragon
8a60880cf1
Tackle the last of the low hanging fruit for memory allocations in the main game loop.
...
- Avoid calling string.Split twice in SprintFont.Measure.
- Change ActorsInBox method of ActorMap and ScreenMap to avoid allocating and intermediate list. As a bonus this allows the sequence to be lazily consumed. Also avoid LINQ in these methods.
- In FrozenUnderFog.TickRender, the method exits early if no players are visible so the attempt at lazy generation was not needed.
- Unwrap a LINQ Any call in ClassicProductionQueue.Tick.
- Merge some successive Where calls in ProximityCapturable into single predicates.
2014-06-22 17:29:45 +01:00
Matthias Mailänder
05609399eb
don't try to spawn resources when the cell is already full
...
fixes #5699
2014-06-22 11:49:40 +02:00
Matthias Mailänder
e607c04cce
let harvester splatter resources when exploding
...
closes #2346
2014-06-20 11:11:31 +02:00
ScottNZ
dbffce81a6
Remove unused usings
2014-06-15 22:16:40 +12:00
Matthias Mailänder
dac12839fd
Merge pull request #5630 from pavlos256/map-helpers
...
Move map helpers from WorldUtils to Map
2014-06-14 11:49:19 +02:00
Paul Chote
5e986b3079
Merge pull request #5615 from RoosterDragon/minor-alloc
...
Minor allocation tweaks
2014-06-14 12:26:39 +12:00
Pavlos Touboulidis
c282fa1077
Move GetTerrainIndex/Info from WorldUtils to Map
2014-06-13 13:57:32 +03:00
Pavlos Touboulidis
092352729f
Change terrain type from string based dictionaries to arrays
2014-06-13 11:20:54 +03:00
RoosterDragon
b8b8b1e2df
Minor changes to reduce allocation.
...
- Cache a predicate in ActorMap.
- Use short circuiting to skip a call to HasTrait in AttackBase.
- In AutoTarget.ScanForTarget, move the check for the scan time above the calculations since we can skip them if it's not time yet.
- In AutoTarget.ChooseTarget, merge four Where calls into one.
2014-06-12 05:32:44 +01:00
Matthias Mailänder
7216688baf
Merge pull request #5567 from ScottNZ/perf
...
Refactor AutoTarget scan and GPS interaction
2014-06-09 12:01:05 +02:00
Matthias Mailänder
0dee8208a8
never spawn with density 0 because that is not rendered
2014-06-07 11:56:54 +02:00
ScottNZ
7e6f7c51e1
Refactor AutoTarget scan and GPS interaction, and cache trait lookup for a slight performance boost
2014-06-07 12:01:50 +12:00
RoosterDragon
2bd8778c55
Changed removeActorPosition field in ActorMap into a set.
...
This is because it's purpose is to be queried via Contains when actors needed to be removed.
2014-05-23 08:30:45 +01:00
Pavlos Touboulidis
a845947e0f
Minor style & nit fixes
2014-05-17 14:33:17 +03:00
Pavlos Touboulidis
63ec6d60e7
Refactoring to remove static Rules & SequenceProvider
2014-05-17 14:32:03 +03:00
Matthias Mailänder
8b3f15155e
remappable resource types
2014-05-03 09:02:19 +02:00
Paul Chote
4935266945
Merge FileFormats dll into Game and reorganise namespaces.
2014-04-17 01:20:47 +12:00
Paul Chote
20b88fd904
Remove World.FrameNumber.
2014-03-12 17:19:29 +13:00
Chicken man
cf3cc43a28
Changed things to do with Shroud to WRange. Updated Utility.
2014-03-05 17:30:33 -05:00
Paul Chote
0143e8bfb8
Support rectangular tiles.
2013-12-29 14:16:20 +13:00
Paul Chote
45ccf0035e
Only render the frozen actors that are visible. Fixes #4300 .
2013-12-13 22:36:25 +13:00
Matthias Mailänder
0c199126cc
Merge pull request #4289 from pchote/ore-spawn-fix
...
Don't spawn resources at maximum density.
2013-12-11 09:09:34 -08:00
Paul Chote
439d800f03
Don't spawn resources at maximum density. Fixes #4278 .
2013-12-11 22:20:17 +13:00
Paul Chote
4d70996012
New shroud renderer. Fixes #2162 . Fixes #3024 . Fixes #4034 .
...
Uses the original tile sprites in C&C and D2K and uses a smoother transition in all mods.
2013-12-11 20:51:49 +13:00
Paul Chote
fa067fa905
Remove custom terrain when clearing resources. Fixes #4272 .
2013-12-10 16:52:41 +13:00
Paul Chote
410cd1c7b1
Reorganise ResourceLayer implementation.
2013-12-06 22:24:07 +13:00
ScottNZ
00ec1ca87a
Remove unused usings
2013-11-12 19:39:33 +13:00
ScottNZ
1a5df86329
Apply a simple constraint to ScreenShaker's multiplier to stop it shaking the game too much
2013-11-09 22:53:32 +13:00
ScottNZ
d74c54d9f7
Add shake multiplier value to ScreenShaker
2013-11-02 17:19:08 +13:00
Paul Chote
33f514001e
Fix viewport-px / world-px confusion in ScreenMap. Fixes #3964 .
2013-10-21 17:57:53 +13:00
Paul Chote
919181e04d
Clean up viewport internals.
2013-10-05 21:01:22 +13:00
Paul Chote
3ae75362bb
Remove WorldUtils.FindFrozenActorsAtMouse.
2013-10-05 21:01:22 +13:00
Paul Chote
1ca9c90565
Add ScreenMap.ActorsAt(MouseInput) overload.
2013-10-05 21:01:21 +13:00
Paul Chote
0b560bfc6e
Move more viewport lookups to WorldRenderer.
2013-10-05 21:01:21 +13:00
Paul Chote
4f354e1474
Batch ActorMap add/removes and filter invalid ActorsInBox. Fixes #3897 .
2013-10-05 13:19:47 +13:00