Go to file
Kp c816a79c47 Always check external levels for connectivity errors
Players keep reporting errors that trace to the game rejecting invalid
data from user-made maps.  In this case, asymmetric connectivity in
_Descent Vignettes_[1] level _Stalactite Volcano_ (level 15 in Descent,
level 14 in Descent 2) caused an exception when trying to render part of
the first big room.

The debug build shipped with function `check_segment_connections` to
detect some types of connectivity errors.  Expose this function to
release builds, and call it for user-made maps.  It already checked for
asymmetric segment links.  Extend that to hotfix those links by breaking
the asymmetric connection.  Log an URGENT class message when this
happens, so that users are aware that the level was modified at load.
Move the `NDEBUG` guards into `check_segment_connections` so that
non-debug builds check only for segment symmetry, but do not check for
normals and face count errors.

[1] http://www.enspiar.com/dmdb/viewMission.php?id=724
```
sha1sum vignette.hog vignette.msn
3cd659e6dd5927b41157dfb7d1dd87d90e781f01  vignette.hog
1f7d140ffab11816364040dd6da71a1568393a16  vignette.msn

stat -c '%s %Y %n' vignette.hog vignette.msn
5717889 1251643308 vignette.hog
956 1250212930 vignette.msn
```

Reported-by: MegaDescent <http://forum.dxx-rebirth.com/showthread.php?tid=970>
2017-07-26 03:15:59 +00:00
common Flatten serial.h type hierarchy 2017-07-26 03:15:59 +00:00
contrib Add Gentoo ebuilds for beta 2017-04-08 16:48:19 +00:00
d1x-rebirth Make wclip::num_frames uint16_t 2017-06-17 23:05:16 +00:00
d2x-rebirth Make wclip::num_frames uint16_t 2017-06-17 23:05:16 +00:00
Documentation Require support for reference qualified methods 2016-12-10 17:51:07 +00:00
similar Always check external levels for connectivity errors 2017-07-26 03:15:59 +00:00
.gitattributes Add .gitattributes to control EOL conversion 2017-04-08 16:48:18 +00:00
.gitignore ignore XCode user data 2014-12-06 22:43:12 -08:00
COPYING.txt corrected typo in COPYING.txt (it's to its) 2014-06-06 13:18:52 +02:00
GPL-3.txt
INSTALL.markdown Fix Ubuntu package name in INSTALL.markdown 2016-12-23 02:56:55 +00:00
SConstruct Use compiler-provided integer_sequence when it is depth-efficient 2017-07-26 03:15:59 +00:00