View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0001803 | Spring engine | General | public | 2010-01-23 20:34 | 2010-01-26 12:39 | ||||
Reporter | tvo | ||||||||
Assigned To | tvo | ||||||||
Priority | normal | Severity | major | Reproducibility | have not tried | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 0.81.0.0+git | ||||||||
Target Version | Fixed in Version | 0.81.0.0+git | |||||||
Summary | 0001803: terrain types aren't taken into account for path estimator hash | ||||||||
Description | By some reasoning about the recent issue with different pathing data checksums (causing desync) with SirArturri's FolsomDamSpecial map, and some code browsing, I figured terrain types aren't taken into account for path estimator hash. At least I can't find any dataflow from terraintypes to path estimator hash. If this is indeed true, then modifying terrain types using map options is almost guaranteed to cause desyncs due to incorrect data for the path estimators. | ||||||||
Additional Information | Related topics: http://springrts.com/phpbb/viewtopic.php?f=13&t=21656 http://springrts.com/phpbb/viewtopic.php?f=12&t=21798 Map to which this applies: http://www.springfiles.com/show_file.php?id=2473 | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
Notes | |
Kloot (developer) 2010-01-23 22:29 Last edited: 2010-01-23 22:29 |
Looks like it. The PE writes the position of each block (sqrCenter) and the cost per vertex to a map's cache file. The latter is the cost of some precalculated path going through that vertex, and the shape of each path is of course influenced by the map's terrain types. So, if a game is played with map-options that modify terrain types enabled, the path data written (assuming no cache file was present yet) will store different vertex costs than it would if no options were active, but have the same hash. All clients would then have mismatching estimated paths on a second run with options disabled. |
tvo (reporter) 2010-01-26 11:44 Last edited: 2010-01-26 11:47 |
confirmed using FolsomDamDeluxe (http://www.springfiles.com/show_file.php?id=2473) Without typemap map option checked (after cleaning paths): $ ls FolsomDamDeluxeV3.2792779247.pe.zip FolsomDamDeluxeV3.2792779271.pe2.zip $ grep -i "Pathing data" ~/.spring/infolog.txt [ 0] Pathing data checksum: ecf7ba58 With typemap map option checked (after cleaning paths): $ ls FolsomDamDeluxeV3.2792779247.pe.zip FolsomDamDeluxeV3.2792779271.pe2.zip $ grep -i "Pathing data" ~/.spring/infolog.txt [ 0] Pathing data checksum: 34ba536c => same estimator files, different checksum Will fix. |
tvo (reporter) 2010-01-26 12:39 |
Fixed in http://github.com/spring/spring/commit/a13e09560a08247e8e48bcffbbed8b3bbbb09375 Also fixed same thing for water damage. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2010-01-23 20:34 | tvo | New Issue | |
2010-01-23 20:35 | tvo | Additional Information Updated | |
2010-01-23 22:29 | Kloot | Note Added: 0004529 | |
2010-01-23 22:29 | Kloot | Note Edited: 0004529 | |
2010-01-26 11:03 | tvo | Additional Information Updated | |
2010-01-26 11:37 | tvo | Note View State: 4529: private | |
2010-01-26 11:38 | tvo | Note View State: 4529: public | |
2010-01-26 11:42 | tvo | Status | new => assigned |
2010-01-26 11:42 | tvo | Assigned To | => tvo |
2010-01-26 11:44 | tvo | Note Added: 0004543 | |
2010-01-26 11:44 | tvo | Status | assigned => confirmed |
2010-01-26 11:47 | tvo | Note Edited: 0004543 | |
2010-01-26 12:39 | tvo | Note Added: 0004544 | |
2010-01-26 12:39 | tvo | Status | confirmed => resolved |
2010-01-26 12:39 | tvo | Fixed in Version | => 0.81.0.0+git |
2010-01-26 12:39 | tvo | Resolution | open => fixed |