huwpascoe
488d2d57e0
Fix map.png lock
2014-10-04 01:18:18 +01:00
atlimit8
e29b9edfc1
Changes to map.cs, rename IPositionable.IsLeaving{ => Cell}, add IPositionable.GetValidSubCell
2014-08-29 23:30:16 -05:00
atlimit8
63c28ee4d7
Refactored in new enum SubCell
2014-08-29 23:00:53 -05:00
atlimit8
9b30c21f93
Load subcells and default subcell index from mod.yaml
2014-08-04 18:09:26 -05:00
atlimit8
4b7537bb13
Moved MobileInfo.SubCellOffsets to Map (dropping static) & added Map.SubCellsDefaultIndex
2014-08-04 18:09:26 -05:00
Pavlos Touboulidis
f45d063f1e
Make tiles sorting deterministic in all cases
...
This may fix issue #5916 .
In any case, it's wanted because this kind of sort is "unstable".
According to the docs:
"This implementation performs an unstable sort; that is, if two
elements are equal, their order might not be preserved."
2014-07-10 12:40:38 +03:00
Matthias Mailänder
65d61dff3e
Merge pull request #5767 from pchote/isqrt
...
Add Exts.ISqrt to avoid fp sqrt calculations.
2014-07-04 15:48:20 +02:00
Paul Chote
ce99f02ba6
Merge pull request #5678 from pavlos256/find-tiles-in-circle
...
Fix and optimize FindTilesInCircle
2014-07-04 10:27:37 +12:00
Pavlos Touboulidis
daed053a57
Fix and optimize FindTilesInCircle
2014-07-03 18:11:28 +03:00
Paul Chote
a30c8b53a7
Add support for diamond cell grids.
2014-06-30 23:44:23 +12:00
Matthias Mailänder
7fa51712ec
Merge pull request #5758 from pchote/cell-world-conversions
...
Generalize cell/world coordinate conversions.
2014-06-28 08:27:18 +02:00
Paul Chote
4216f66ca4
Add Exts.ISqrt to avoid fp sqrt calculations.
2014-06-28 15:48:53 +12:00
RoosterDragon
bcbd1c2577
Cache tileset lookup in map so GetTerrainIndex and GetTerrainInfo need not repeat it every time.
...
The lookup accounts for ~50-60% of the time spent in GetTerrainIndex and GetTerrainInfo, and these methods themselves can account for up to 1.3% of total CPU used so this is a small but measurable win.
2014-06-27 19:52:57 +01:00
Paul Chote
d7f1b1c9e2
Remove CVec -> WVec conversion.
2014-06-27 23:30:41 +12: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
435f47158f
Remove unused Map.IsInMap(x,y) overload.
2014-06-27 22:07:03 +12:00
Paul Chote
997216aef0
Use CellLayer for terrain.
2014-06-27 22:07:02 +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
386b71de82
Integrate CellRegion with Map, Viewport.
2014-06-27 19:20:46 +12:00
RoosterDragon
22abf9b4c4
Remove and sort usings.
2014-06-18 21:43:35 +01:00
ScottNZ
90894aa03e
Use var everywhere
2014-06-15 22:17:34 +12:00
Pavlos Touboulidis
86febed0ce
Move ChooseRandomEdgeCell from WorldUtils to Map
2014-06-13 14:31:01 +03:00
Pavlos Touboulidis
060d5326ed
Move FindTilesInCircle from WorldUtils to Map
2014-06-13 14:24:53 +03:00
Pavlos Touboulidis
03b8096807
Move DistanceToMapEdge from WorldUtils to Map
2014-06-13 14:04:36 +03:00
Pavlos Touboulidis
f0c672b70c
Move ChooseRandomCell from WorldUtils to Map
2014-06-13 14:02:51 +03:00
Pavlos Touboulidis
77fb188585
Move ClampToWorld from WorldUtils to Map
2014-06-13 13:59:40 +03: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
Paul Chote
f6f366c4b3
Merge pull request #5401 from RoosterDragon/nodesdict
...
Changed MiniYaml.NodesDict property into a method.
2014-06-12 17:34:59 +12:00
RoosterDragon
9dbbc23967
Make map preview generation fast.
...
- Change Map.LoadMapTiles and Map.LoadResourceTiles to read the whole stream into memory before processing individual bytes. This removes the cost of significant overhead from repeated calls to ReadUInt8/16.
- Remove significant UI jank caused by the map chooser by not including the placeholder widget. The maps render fast enough that it is no longer worthwhile and it was causing a lot of flushes which were the source of the jank.
- Trigger async generation for all maps when the chooser is loaded. This means in practice all previews will be ready by the time the user begins to scroll the selection. Since generation is fast, there is no issue with scrolling straight to the bottom and having to wait for the backlog to clear.
2014-06-10 11:46:39 +01:00
RoosterDragon
2e992a7310
Changed MiniYaml.NodesDict property into a method.
...
Method is now called ToDictionary.
- Cached a few invocations into locals which should prevent some redundant evaluation.
- Added ToDictionary overloads that take projection functions for the keys and elements, since several callsites were doing a subsequent Linq.ToDictionary call to get this.
2014-06-09 17:06:42 +01:00
WolfGaming
00698cefff
Added in code for Tech Levels using prereqs
...
and fixed up some kinks of the old system
2014-05-19 03:29:25 +00:00
Pavlos Touboulidis
44c01bbaa2
Remove TileSetData and separate TileSet from Sequences
2014-05-17 14:33:16 +03:00
Pavlos Touboulidis
750fc4e02c
Merge ModRuleset and MapRuleset into Ruleset
2014-05-17 14:33:16 +03:00
Pavlos Touboulidis
63ec6d60e7
Refactoring to remove static Rules & SequenceProvider
2014-05-17 14:32:03 +03:00
Matthias Mailänder
59ace5d01b
new shorthand Exts.(Try)ParseIntegerInvariant
2014-05-13 14:16:41 +02:00
Matthias Mailänder
b19d286f56
parse with NumberFormatInfo.InvariantInfo everywhere
...
closes #5240
2014-05-06 18:31:48 +02:00
Pavlos Touboulidis
9dc2b3cd76
Optimize ComputeHash by removing Concat() and ToArray() calls
2014-04-23 03:48:49 +03:00
Paul Chote
4935266945
Merge FileFormats dll into Game and reorganise namespaces.
2014-04-17 01:20:47 +12:00