RoosterDragon
77923a27c1
Tweak IPathSearch to avoid exposing the OpenQueue directly.
2015-09-01 17:29:36 +01:00
RoosterDragon
774992c246
Cache only unit paths in the pathfinder.
...
The path caching works on the assumption that the time saved from reusing a cached path outweights the cost of caching it in the first place.
For unit paths, this assumption holds. For path searchs, we spend more time caching them then we save when we get to reuse these cached paths. This is because they are reused less often, and calculating their key is more expensive in comparison.
2015-09-01 17:29:35 +01:00
RoosterDragon
0739fc80a3
Cache the speed modifiers enumerable, not just the traits, in Mobile.
2015-08-31 20:45:34 +01:00
RoosterDragon
be59d045ce
Only enumerate crushable traits once in MobileInfo.IsBlockedBy.
2015-08-31 20:45:25 +01:00
RoosterDragon
ac1658c9ce
Refactor movement cost method to avoid repeated terrain information lookups.
...
As the world tileset is fixed, the pathfinder can look up the terrain information for that tileset on creation. This is implemented by the WorldMovementInfo struct. When calculating node costs, this allows the pathfinder to avoid having to repeat this expensive dictionary lookup on every node.
2015-08-31 20:43:18 +01:00
reaperrr
3175ef4d67
Merge pull request #9193 from Mailaender/quanbo-fixup
...
Fixed BodyOrientation refactor regressions
2015-08-31 20:12:53 +02:00
reaperrr
c39c7cdc4e
Fix d2k NukePower sequence requirement
2015-08-30 15:45:00 +02:00
reaperrr
9da56f51e2
Remove RenderBuilding
2015-08-30 15:44:59 +02:00
Pavel Penev
55045d691a
Make SeedsResource upgradable
2015-08-30 02:13:56 +03:00
reaperrr
bf51e0600d
RenderBuildingWall -> WithWallSpriteBody
2015-08-30 00:22:53 +02:00
reaperrr
21186c10b6
RenderBuildingTurreted -> WithTurretedSpriteBody
2015-08-30 00:22:52 +02:00
reaperrr
69d062495c
RenderBuildingSilo -> WithSiloAnimation
2015-08-29 23:33:18 +02:00
reaperrr
2df318cd3e
RenderBuildingCharge -> WithChargeAnimation
2015-08-29 23:33:17 +02:00
reaperrr
bc2b60be05
Extend WithSpriteBody funtionality
...
Move building placement range circle to PlaceBuilding, add
PauseAnimationWhenDisabled.
2015-08-29 23:10:22 +02:00
Matthias Mailänder
539e25920c
add missing spaces
2015-08-29 21:24:58 +02:00
Matthias Mailänder
25a0143b46
avoid unnecessary trait lookups
2015-08-29 18:58:30 +02:00
Matthias Mailänder
45f7526967
fix dereference after null check
2015-08-29 08:05:00 +02:00
Matthias Mailänder
fda39f7136
add missing ISync
2015-08-29 08:04:37 +02:00
Matthias Mailänder
9c1eeafa08
Merge pull request #9004 from reaperrr/quanbo
...
Introduce QuantizeFacingsFromSequence
2015-08-28 22:46:29 +02:00
Pavel Penev
d1a3bf97a6
Merge pull request #9105 from RoosterDragon/cmfi-refactor-perf
...
Mobile Blocking Refactor
2015-08-28 15:35:49 +03:00
Lavender Moon
4649c03260
Move duplicate Tick() code from Plane and Helicopter to Aircraft.
2015-08-27 16:21:51 -04:00
reaperrr
508c99655c
Made Armor upgradable
2015-08-25 20:12:37 +02:00
Pavel Penev
d48cf695f3
Merge pull request #9144 from Mailaender/opt-find-resource
...
Optimized FindResources worse case scenario path finding
2015-08-25 04:24:05 +03:00
Matthias Mailänder
2a21c7d1f2
don't let bots do 2x the amount of path searches
2015-08-24 21:03:46 +02:00
clemty
2bbc1fcda4
LUA and trait documentation fixes
...
- Typo in documentation ("proximitry").
- Add spaces between sentences.
- Remove most occurrences of " " (two spaces) unless clearly used as indendation
- Punctuation (although no fullstop after filenames like "notifications.yaml").
2015-08-24 19:41:15 +02:00
Pavel Penev
02dd5afbd9
Merge pull request #9058 from RoosterDragon/reduce-alloc
...
Reduce allocations in the main game loop
2015-08-24 02:11:08 +03:00
reaperrr
006e66a3c3
Refactored IQuantizeBodyOrientation implementation
...
Moved BodyOrientation and related interfaces from Game to Mods.Common.
Introduced QuantizeFacingsFromSequence trait.
With*Body render traits no longer implement IQuantizeBodyOrientation
themselves.
2015-08-24 00:48:56 +02:00
Pavel Penev
d64f5f29a4
Merge pull request #9075 from deniz1a/fix-crate
...
Removes LocalPlayer check from HideMapCrateAction and RevealMapCrateAction.
2015-08-23 23:17:28 +03:00
Matthias Mailänder
bec209085b
Merge pull request #7873 from penev92/bleed_raceToFaction
...
Replace old "country" and "race" name in the code with the generic "faction"
2015-08-23 17:49:40 +02:00
Pavel Penev
09f67d18bb
Some internal "race" to "faction" renaming
2015-08-22 23:34:36 +03:00
abcdefg30
429e6145cb
Merge pull request #9073 from pchote/remove-production-duplication
...
Minor Production trait cleanups.
2015-08-22 20:39:10 +02:00
deniz1a
3b36ddfc54
Removes LocalPlayer check from HideMapCrateAction and RevealMapCrateAction.
...
Fixes #9063 .
Fixes #9127 .
2015-08-22 14:37:39 +03:00
Pavel Penev
d803a06a1e
Merge pull request #8995 from reaperrr/vxl-upgrades1
...
Made WithVoxelTurret and WithVoxelBarrel upgradable
2015-08-21 00:33:42 +03:00
Pavel Penev
20193f086f
Merge pull request #8942 from reaperrr/explodes2
...
Add specific exception message when Explodes cannot find a weapon
2015-08-20 13:03:37 +03:00
Matthias Mailänder
cafad9f843
Merge pull request #9092 from penev92/bleed_rename
...
Some more renaming from "race" to "faction"
2015-08-19 22:03:01 +02:00
RoosterDragon
3d94c4b216
Minor formatting fix in Mobile.cs.
2015-08-18 22:03:14 +01:00
RoosterDragon
7eab7220ff
In CanMoveFreelyInto, check if transient actor checks are needed at the start.
...
When transient actors checks are not needed, all control flows in the method return true. Therefore, we can return true directly in this case. Checking this condition is cheaper than checking for a free sub-cell, so this allows us a faster exit when we don't need to check for transient actors.
2015-08-18 22:03:13 +01:00
RoosterDragon
ca75b5af30
Factor logic for determining if an actor blocks movement into IsBlockedBy.
2015-08-18 22:03:11 +01:00
RoosterDragon
6414743f8e
Introduce HasCellCondition to avoid HasFlag overhead.
2015-08-18 22:03:09 +01:00
RoosterDragon
d415d3ba4e
Reduce allocations in the main game loop.
...
- Cache the shroud projection even for flat maps to avoid allocating single element arrays.
- Avoid LINQ in shroud and map projection queries to avoid enumerator allocations.
- Avoid LINQ in calculation of sync values.
- Cache enumerables in ProductionQueue.
- Cache delegate in HackyAI.
2015-08-18 21:17:28 +01:00
abcdefg30
83b310713d
Merge pull request #8905 from atlimit8/WithProductionOverlay_accept_OnOwnerChanged
...
WithProductionOverlay: replace ITick => INotifyCreated & add INotifyOwnerChanged
2015-08-18 21:17:00 +02:00
Pavel Penev
663c9239df
Mop up remaining "race" private variables
2015-08-18 00:26:11 +03:00
Pavel Penev
1a95e7a9f1
Rename crates' ValidRaces
2015-08-18 00:26:07 +03:00
Pavel Penev
b6b107de46
Rename RenderSpritesInfo.RaceImages
2015-08-18 00:26:05 +03:00
Pavel Penev
1e817fad76
Merge pull request #9089 from Mailaender/editor-coordinate
...
Added a coordinate display to the map editor
2015-08-18 00:12:10 +03:00
Matthias Mailänder
322358ff3d
also check shroud sequences
2015-08-17 21:36:55 +02:00
Matthias Mailänder
118782a85e
check palette references
2015-08-17 21:36:45 +02:00
reaperrr
3ae75f870c
Add Explodes safeguards
...
Accept both null and empty string to disable explosion weapons.
Throw specific exception if weapon was not found.
Require Weapon (EmptyWeapon stays optional).
2015-08-17 20:11:38 +02:00
Matthias Mailänder
51fabae106
change editor tooltip to actor: description (type)
2015-08-16 21:58:17 +02:00
Paul Chote
8dfd42b30e
Make Production.Info readonly.
2015-08-14 19:44:24 +01:00