Commit Graph

17964 Commits

Author SHA1 Message Date
RoosterDragon
0739fc80a3 Cache the speed modifiers enumerable, not just the traits, in Mobile. 2015-08-31 20:45:34 +01:00
RoosterDragon
d9dd96ca35 Speed up Map.ContainsAllProjectedCellsCovering on flat maps.
This method gets called often via Contains calls. We can significantly speed up the method for flat maps since we know the projection and it is trivial to perform. This avoids an expensive projection lookup.
2015-08-31 20:45:32 +01:00
RoosterDragon
76303e9699 In PathGraph.GetConnections, return a List of neighbors directly, rather than a LinkedList typed an IEnumerable.
The caller can enumerate the list more efficiently without the IEnumerable indirection, and the reduced memory allocation is marginally faster than allocating a linked list and several nodes.
2015-08-31 20:45:31 +01:00
RoosterDragon
7d44eb953e Reduce size of GraphConnection for allocation efficiency. 2015-08-31 20:45:29 +01:00
RoosterDragon
be59d045ce Only enumerate crushable traits once in MobileInfo.IsBlockedBy. 2015-08-31 20:45:25 +01:00
RoosterDragon
dab53f403d Provide a hand-written enumerator for ActorMap.GetUnitsAt(CPos). 2015-08-31 20:43:19 +01:00
RoosterDragon
18478646d4 Avoid multiple ToMPos calls in ActorMap. 2015-08-31 20:43:18 +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
RoosterDragon
4eacb6e5c9 Transparently cache results of GetTerrainIndex in Map.
This method performs an expensive calculation and is called often during pathfinding. We create a cache of the terrain indicies for the map to vastly reduce the cost.
2015-08-31 20:43:17 +01:00
RoosterDragon
fa87befeff Add missing CellEntryChanged checks. 2015-08-31 20:43:16 +01:00
reaperrr
3175ef4d67 Merge pull request #9193 from Mailaender/quanbo-fixup
Fixed BodyOrientation refactor regressions
2015-08-31 20:12:53 +02:00
Matthias Mailänder
f60080e0ac Merge pull request #9186 from LavenderMoon/bleed
Combine Shrapnel into Bullet
2015-08-30 18:40:26 +02:00
Pavel Penev
5e55cef02c Merge pull request #8699 from deniz1a/disguise-owner
Shows real owner of disguised units to allies.
2015-08-30 14:32:34 +03:00
Lavender Moon
81e5b7866b Combine Shrapnel into Bullet 2015-08-30 06:37:38 -04:00
Matthias Mailänder
838faa4ae3 Merge pull request #9200 from penev92/bleed_upgradableResources
Make SeedsResource upgradable
2015-08-30 11:41:12 +02:00
Matthias Mailänder
24a5c37d5b Merge pull request #9199 from reaperrr/fix-td-shell-mamm
Fixed TD shellmap mammoth turrets drawn below body
2015-08-30 11:11:37 +02:00
Pavel Penev
55045d691a Make SeedsResource upgradable 2015-08-30 02:13:56 +03:00
Pavel Penev
43809b7fc5 Merge pull request #9194 from Mailaender/emitError-sequences
Fixed undefined sequence lint checks not emitting errors
2015-08-30 01:29:20 +03:00
reaperrr
dddb49e095 Fix TD shellmap mammoth turrets 2015-08-29 23:59:16 +02:00
Matthias Mailänder
539e25920c add missing spaces 2015-08-29 21:24:58 +02:00
Pavel Penev
8d1e46dc54 Merge pull request #9195 from Mailaender/map-preview-leak
Fixed a resource leak in MapPreview
2015-08-29 20:36:48 +03:00
Matthias Mailänder
25a0143b46 avoid unnecessary trait lookups 2015-08-29 18:58:30 +02:00
Matthias Mailänder
1dfb982d6f fix paradrop camera not defining a body orientation 2015-08-29 18:49:51 +02:00
Matthias Mailänder
72dffe3391 dispose res properly 2015-08-29 18:47:10 +02:00
Matthias Mailänder
5fc8a413e6 emitError for undefined sequences 2015-08-29 08:18:52 +02:00
Matthias Mailänder
da0c80dc3d fix bridges not defining body orientation 2015-08-29 08:15:17 +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
589cb4cd0a Merge pull request #9191 from reaperrr/fix-qffs
Fix TS regression from #9004
2015-08-29 07:12:21 +02:00
reaperrr
c3ff298572 Fix TS regression from #9004 2015-08-29 02:41:26 +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
c793ac565e Merge pull request #9188 from RoosterDragon/friendly-name-hashset
Friendly name for HashSet in docs
2015-08-28 23:03:15 +03:00
Matthias Mailänder
a0bdce9ad8 Merge pull request #9185 from reaperrr/d2k-fixes
D2k fix for cliff passability
2015-08-28 21:51:03 +02:00
Matthias Mailänder
88df5057b6 Merge pull request #9175 from penev92/bleed_maxMind
Update MaxMind.GeoIP2 version to 2.3.1
2015-08-28 21:48:19 +02:00
RoosterDragon
637a87c33b Use a better name for HashSet in ExtractTraitDocsCommand.FriendlyTypeName. 2015-08-28 19:55:25 +01:00
reaperrr
a4bac0ab29 Fix ground type of some D2k cliffs 2015-08-28 17:37:14 +02:00
reaperrr
f62bc3c226 Merge pull request #9172 from Mailaender/fix-withcargo-desync
Fixed a desync involving WithCargo
2015-08-28 15:05:55 +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
Pavel Penev
3d76f76c26 Merge pull request #9181 from RoosterDragon/field-loader-hashsets
Support HashSet in FieldLoader/FieldSaver
2015-08-28 01:13:33 +03:00
RoosterDragon
2f9ca36506 Update WeaponInfo to use HashSets for some fields directly. 2015-08-27 21:48:12 +01:00
RoosterDragon
5a177a889c Add ability to load and save HashSets. 2015-08-27 21:48:09 +01:00
RoosterDragon
6d183b6d63 Merge pull request #9178 from LavenderMoon/bleed
Move duplicate Tick() code from Plane and Helicopter to Aircraft.
2015-08-27 21:42:18 +01:00
RoosterDragon
410b97823a Ensure our array handling only accepts single dimensional arrays. 2015-08-27 21:31:24 +01:00
RoosterDragon
42123d5653 Merge pull request #9143 from LipkeGu/mod_loadscreen_crash
LoadScreen: Do not crash when Image or Text is not defined.
2015-08-27 21:25:26 +01:00
Lavender Moon
4649c03260 Move duplicate Tick() code from Plane and Helicopter to Aircraft. 2015-08-27 16:21:51 -04:00
Pavel Penev
353d9215c6 Update MaxMind.GeoIP2 version to 2.3.1
Fixes an "Operation did not complete successfully because the file contains a virus." message when making dependencies.
2015-08-27 21:43:47 +03:00
Paul Chote
8730a7f223 Fix WithCargo desync. 2015-08-26 19:35:18 +02:00
Guido L
bc39fcda98 LoadScreen: Add fallback message when no Text or Image is specified. 2015-08-25 20:44:38 +02:00
Pavel Penev
d5e0bf2169 Merge pull request #9006 from reaperrr/remove-cantarget
Remove legacy 0% = not targetable assumption
2015-08-25 20:03:31 +03:00
reaperrr
aff1e5afe7 Upgrade notice 2015-08-25 18:54:01 +02:00