Reaper Grimm
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Doom Speed Demos > Spechits, Reject and Intercepts Overflow Lists
Pages (3): [1] 2 3 »  
Author
All times are GMT. The time now is 02:14. Post New Thread    Post A Reply
Grazza
Your move


Posts: 12562
Registered: 07-02


WARNING: Highly technical information follows. You probably don't need to study this at all unless you want to investigate this stuff. Worth a quick look to see if there are any known issues on any maps you plan to record on though. Or if you're making a "vanilla" wad and just want some tips on how to avoid triggering overflows (or at least reduce the risk of them), read the text immediately below (in yellow).

<font color=yellow>To avoid <b>spechits</b> overflows: Avoid a situation where you have more than 8 special lines so close together that a player or monster is able to cross them all at the same time. Remember that some monsters have a larger radius than the player.

To avoid <b>reject</b> overflows: Use a good reject map builder - any modern one should be OK.

To reduce the chance of <b>intercepts</b> overflows: Make sure that linedef 0 is very short, and perhaps out of the main area of play.

To avoid <b>playeringame</b> overflows: Don't obstruct your player start positions.</font>


If you've read this thread you'll know roughly what a spechits overflow is, and that it can lead to desyncs. You may also be aware that recent versions of Prboom-plus can detect them, and attempt to emulate the behaviour of the vanilla exes and Dosdoom/Tasdoom in this respect. Chocolate-Doom also includes similar code to emulate the vanilla behaviour.

I have compiled a list of maps where spechits overflows can occur, together with some notes on their effects. I have also done so for maps with Reject overflows and demos with Intercepts overflows (which often results in the all ghosts bug). Here are the tables; some notes follow.


<B><FONT SIZE=4>Table of maps for which spechits overflows are possible</FONT></B><BR><BR><TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=621><TR><TD WIDTH="12%"><B>pwad</B></TD><TD WIDTH="9%"><B>map <font color=red>red if critical</font></B></TD><TD WIDTH="17%"><B>example demo <font color=yellow>yellow if Tasdoom</font></B></TD><TD WIDTH="29%"><B>lines leading to overflow</B></TD><TD WIDTH="33%"><B>comments on effects, desyncs and emulation in current Prboom-plus; <I>bold</I> if critical</B></TD></TR><TR><TD WIDTH="12%"><font color=red>1024</font></TD><TD WIDTH="9%"><font color=red>map23</font></TD><TD WIDTH="17%">2423-301.lmp</TD><TD WIDTH="29%">3055, 3056, 3057, 3058, 3066, 3072, 3073, 3074, 3075</TD><TD WIDTH="33%"><b>behaviour depends on magic number; 2423-301.lmp is OK with the default magic number, but desyncs with the alternate (2230937832)</b></TD></TR><TR><TD WIDTH="12%">2sectors</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">2s01-030.lmp</TD><TD WIDTH="29%">1025, 1050, 1069, 1093, 1152, 1153, 1154, 1155, 1158</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">aboo4 (original version)</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">613, 616, 617, 619, 620, 622, 623, 625, 626</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">av</TD><TD WIDTH="9%">map05</TD><TD WIDTH="17%">av05-227.lmp</TD><TD WIDTH="29%">2265, 2266, 2269, 2270, 2281, 2284, 2305, 2306, 2309</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>av</font></TD><TD WIDTH="9%"><font color=red>map15</font></TD><TD WIDTH="17%">av15-317.lmp av15-612.lmp av15-623.lmp av15-638.lmp av15-715.lmp af151000.lmp</TD><TD WIDTH="29%">2098, 2106, 2109, 2110, 2097, 2104, 2105, 2108, 2111 or similar</TD><TD WIDTH="33%"><b>system-dependent in Doom2.exe; emulated OK; the example demos need a magic number with prboom-plus: -spechit 2230937832 works in all cases; other compet-n demos on this map play back OK with the default magic number</b></TD></TR><TR><TD WIDTH="12%">av</TD><TD WIDTH="9%">map21</TD><TD WIDTH="17%">at211122.lmp</TD><TD WIDTH="29%">1316, 1506, 1507, 1965, 1967, 1968, 1969, 1226, 1966</TD><TD WIDTH="33%">benign? this is the only demo on this map with this overflow</TD></TR><TR><TD WIDTH="12%">av</TD><TD WIDTH="9%">map26</TD><TD WIDTH="17%">av261924.lmp</TD><TD WIDTH="29%">4131, 4132, 4133, 4140, 4141, 4142, 4143, 4144, 4145</TD><TD WIDTH="33%">benign? this is the only demo on this map with this overflow; it also features a benign intercepts overflow</TD></TR><TR><TD WIDTH="12%">base666</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">btas1056.lmp</TD><TD WIDTH="29%">1206, 1217, 1218, 1592, 1593, 1598, 1599, 1600, 1601</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">belltoll</TD><TD WIDTH="9%">map02</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">8082, 8083, 8084, 8085, 8086, 8087, 8088, 8109, 8111</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">biotech</TD><TD WIDTH="9%">map03</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">848, 849, 850, 851, 852, 854, 853, 855, 856</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">biowar</TD><TD WIDTH="9%">map13</TD><TD WIDTH="17%">bw131304.lmp</TD><TD WIDTH="29%">1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">cchest2</TD><TD WIDTH="9%">map24</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">6260, 6261, 6262, 6263, 6265, 6268, 6271, 6264, 6267 and other(s)</TD><TD WIDTH="33%">unknown; there's more than one place where an overflow can occur - the map is full of special lines</TD></TR><TR><TD WIDTH="12%">class_e2</TD><TD WIDTH="9%">e1m8</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">566, 568, 572, 562, 563, 595, 596, 597, 598</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">darken</TD><TD WIDTH="9%">map08</TD><TD WIDTH="17%">darken08.lmp</TD><TD WIDTH="29%">1837, 1844, 1834, 1835, 1836, 1838, 1839, 1840, 1841</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">datavill (hacx pwad)</TD><TD WIDTH="9%">map19</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">1005, 1004, 1495, 1496, 1499, 1500, 1509, 1510, 1524</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">dmdhzfan</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">18, 19, 20, 21, 22, 25, 48, 50, 56</TD><TD WIDTH="33%">unknown - this map is a tech demo; note that the fan causes the overflow</TD></TR><TR><TD WIDTH="12%">dmplylnd</TD><TD WIDTH="9%">e2m3</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">447, 448, 449, 450, 459, 461, 463, 465, 499</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%"><font color=red>doom</font></TD><TD WIDTH="9%"><font color=red>e4m1</font></TD><TD WIDTH="17%">c4m1o139.lmp c4m1v139.lmp c4n1-055.lmp c4x1-055.lmp e4m1-216.lmp ep4-2207.lmp ep4-2631.lmp ep4-3500.lmp ep4-3945.lmp f4m1-243.lmp f4m1-256.lmp f4m1-426.lmp n4s1-058.lmp r4m1-137.lmp r4m1-344.lmp t4m1long.lmp u4m1-228.lmp u4m1-232.lmp e4ns1246.lmp r4m1-152.lmp r4m1-525.lmp
</TD><TD WIDTH="29%">256, 257, 258, 262, 264, 266, 267, 268, 270 or similar</TD><TD WIDTH="33%"><b>An overflow in an id map! It occurs when a spectre walks over the NIN secret; emulated OK, it seems, and can lead to desyncs: e4ns1246 desyncs without emulation (though the player exits E4M1, and dies early in E4M2), and so does r4m1-152; r4m1-525 requires -spechit 2230937832; the others listed all play back OK with or without emulation</b></TD></TR><TR><TD WIDTH="12%">doom2 v1.666</TD><TD WIDTH="9%">map02</TD><TD WIDTH="17%">uvlev2.lmp</TD><TD WIDTH="29%">117, 118, 119, 122, 123, 124, 453, 454, 455</TD><TD WIDTH="33%">benign? These bars were removed in v1.9; the demo can be found <a href=ftp://ftp.sogang.ac.kr/.3/msdos_games/ftp.cdrom.com/id-mirror/lmps/doom2/1.666/uvdemos.zip>here</a></TD></TR><TR><TD WIDTH="12%">dv</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">dv01-max-2942-wh.lmp</TD><TD WIDTH="29%">3461, 3526, 3536, 3609, 3655, 4420, 4568, 1472, 1946</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">dyst3</TD><TD WIDTH="9%">map08</TD><TD WIDTH="17%">dyst3-08.lmp</TD><TD WIDTH="29%">1180, 1181, 1184, 1185, 1190, 1196, 1197, 1203, 1214</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">eternal</TD><TD WIDTH="9%">map12</TD><TD WIDTH="17%">et122614.lmp</TD><TD WIDTH="29%">1350, 1355, 1356, 15, 1349, 16, 1348, 1362, 1361</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">eternall.wad (from eternal.zip)</TD><TD WIDTH="9%">map25</TD><TD WIDTH="17%">et252031.lmp</TD><TD WIDTH="29%">638, 1910, 1911, 1914, 1915, 1916, 1917, 1919, 1920</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>eternal</font></TD><TD WIDTH="9%"><font color=red>map31</font></TD><TD WIDTH="17%">et312225.lmp</TD><TD WIDTH="29%">2921, 2922, 2923, 2924, 2933, 2936, 2942, 2943, 2965</TD><TD WIDTH="33%"><B>emulated OK; likely to lead to desyncs if not emulated</B></TD></TR><TR><TD WIDTH="12%">extremal</TD><TD WIDTH="9%">e3m8</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">271, 272, 273, 276, 277, 278, 279, 280, 281</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">flsofdth</TD><TD WIDTH="9%">e4m3</TD><TD WIDTH="17%"><font color=yellow>fod3uv.lmp</font></TD><TD WIDTH="29%">604, 605, 716, 717, 718, 719, 728, 729, 730</TD><TD WIDTH="33%">the example demo is for tasdoom, and it is emulated OK</TD></TR><TR><TD WIDTH="12%"><font color=red>grind2x</font></TD><TD WIDTH="9%"><font color=red>map01</font></TD><TD WIDTH="17%">gr2x_847.lmp</TD><TD WIDTH="29%">1522, 1538, 1539, 1542, 1540, 1543, 1544, 1545, 1547</TD><TD WIDTH="33%"><B>a spechits magic number such as <u>2230937832</u> is needed with prboom-plus</B></TD></TR><TR><TR><TD WIDTH="12%">gunsmoke</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">2509, 2510, 2511, 2512, 2513, 2515, 2514, 2517, 2518</TD><TD WIDTH="33%">unknown - no demos to test it with; overflow can occur when running into any of the three bars, which have many blue-keyed sides</TD></TR><TD WIDTH="12%">h2h-xmas</TD><TD WIDTH="9%">map26</TD><TD WIDTH="17%">xm26-313.lmp</TD><TD WIDTH="29%">586, 587, 588, 590, 591, 592, 594, 595, 596</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">hacx</TD><TD WIDTH="9%">map04</TD><TD WIDTH="17%">hx04-724.lmp</TD><TD WIDTH="29%">1336, 1338, 1340, 1341, 1344, 1345, 1348, 1349, 1350</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">hacx</TD><TD WIDTH="9%">map09</TD><TD WIDTH="17%">hx09-847.lmp</TD><TD WIDTH="29%">1149, 1151, 1163, 1169, 1170, 1171, 1172, 1176, 1177</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>hr</font></TD><TD WIDTH="9%"><font color=red>map18</font></TD><TD WIDTH="17%">hr18-348.lmp <font color=yellow>hr181329.lmp</font></TD><TD WIDTH="29%">1077, 1080, 1151, 1152, 1153, 1154, 1171, 1173, 1174</TD><TD WIDTH="33%"><B>emulated OK (Doom2.exe and Tasdoom); likely to lead to desyncs if not emulated</B></TD></TR><TR><TD WIDTH="12%">hr2final</TD><TD WIDTH="9%">map19</TD><TD WIDTH="17%">hr2-lv19.lmp</TD><TD WIDTH="29%">169, 3068, 3081, 3087, 3088, 3089, 3096, 3097, 3098</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>hr2final</font></TD><TD WIDTH="9%"><font color=red>map31</font></TD><TD WIDTH="17%">hr2-lv31.lmp</TD><TD WIDTH="29%">522, 560, 561, 562, 563, 564, 565, 566, 1858</TD><TD WIDTH="33%"><B>probably emulated OK; demos recorded without emulation desync if played back with emulation in the same way they do with Doom2.exe</B></TD></TR><TR><TD WIDTH="12%">icarus</TD><TD WIDTH="9%">map09</TD><TD WIDTH="17%">ic09uvgb.lmp <font color=yellow>ic09uv.lmp</font></TD><TD WIDTH="29%">389, 400, 434, 436, 437, 439, 440, 441, 442</TD><TD WIDTH="33%">benign?; ic09uv.lmp is for tasdoom and it is emulated OK</TD></TR><TR><TD WIDTH="12%">ksutra</TD><TD WIDTH="9%">map18</TD><TD WIDTH="17%">ks181235.lmp</TD><TD WIDTH="29%">5748, 5749, 5750, 2848, 2885, 2886, 5745, 5746, 5747</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">ksutra</TD><TD WIDTH="9%">map23</TD><TD WIDTH="17%">ks23-201.lmp</TD><TD WIDTH="29%">3099, 3100, 3101, 3104, 3105, 3106, 3107, 3108, 3109</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">ksutra</TD><TD WIDTH="9%">map31</TD><TD WIDTH="17%">ks311117.lmp</TD><TD WIDTH="29%">1892, 1893, 1895, 1897, 1898, 1899, 1900, 1901, 1904</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">mm</TD><TD WIDTH="9%">map02</TD><TD WIDTH="17%">mm021204.lmp</TD><TD WIDTH="29%">307, 965, 966, 968, 974, 975, 964, 967, 970</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>mm</font></TD><TD WIDTH="9%"><font color=red>map05</font></TD><TD WIDTH="17%">mm05r554.lmp</TD><TD WIDTH="29%">961, 963, 952, 953, 954, 955, 956, 957, 958</TD><TD WIDTH="33%"><B>playback is presumably system-dependent with Doom2.exe; a spechits magic number such as <u>2230937832</u> is needed with prboom-plus</B>; this demo crashes timer.exe; the overflow occurs when a pain elemental crosses the (lowered) red key bars.</TD></TR><TR><TD WIDTH="12%">mm</TD><TD WIDTH="9%">map08</TD><TD WIDTH="17%">mm08-119.lmp</TD><TD WIDTH="29%">714, 722, 723, 726, 733, 734, 735, 736, 738</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">mm</TD><TD WIDTH="9%">map28</TD><TD WIDTH="17%">30mm8356.lmp</TD><TD WIDTH="29%">2022, 2023, 2025, 2015, 2016, 2017, 2018, 2019, 2020</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">mm2</TD><TD WIDTH="9%">map18</TD><TD WIDTH="17%">m218nmx.lmp</TD><TD WIDTH="29%">3163, 3164, 3534, 3535, 3536, 3537, 3538, 3539, 3540</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">mm2</TD><TD WIDTH="9%">map20</TD><TD WIDTH="17%">m220-547.lmp</TD><TD WIDTH="29%">441, 507, 524, 533, 612, 613, 611, 615, 519</TD><TD WIDTH="33%">benign? the overflow occurs when an arachnotron (large radius) crosses these lines</TD></TR><TR><TD WIDTH="12%">ndcp</TD><TD WIDTH="9%">map06</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">1315, 1370, 1371, 3755, 3756, 3757, 3758, 3759, 3760</TD><TD WIDTH="33%">unknown</TD></TR><TR><TD WIDTH="12%">ongar</TD><TD WIDTH="9%">map10</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">128, 130, 131, 132, 134, 135, 122, 123, 124</TD><TD WIDTH="33%">unknown</TD></TR><TR><TD WIDTH="12%"><font color=red>pe4_dt2</font></TD><TD WIDTH="9%"><font color=red>e4m2</font></TD><TD WIDTH="17%">p4e2s052.lmp p4p2s118.lmp</TD><TD WIDTH="29%">243, 244, 245, 246, 247, 248, 249, 250, 251</TD><TD WIDTH="33%">p4p2s118.lmp plays back OK with or without emulation (but crashes timer.exe); <B>p4e2s052.lmp requires, e.g., -spechit 2230937832</B></TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map03</TD><TD WIDTH="17%">rq03-136.lmp</TD><TD WIDTH="29%">1186, 1284, 1285, 1286, 1287, 1294, 1295, 1296, 1297</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map15</TD><TD WIDTH="17%">rq151440.lmp</TD><TD WIDTH="29%">2000, 2004, 2010, 1976, 1981, 1982, 1983, 2014, 2018</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map16</TD><TD WIDTH="17%">rr16-955.lmp</TD><TD WIDTH="29%">1115, 1116, 1117, 1119, 1122, 1123, 1124, 1125, 1118</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">requiem + req21fix</TD><TD WIDTH="9%">map21</TD><TD WIDTH="17%">rq21-636.lmp</TD><TD WIDTH="29%">2507, 2508, 2510, 2511, 2513, 2514, 2516, 2517, 2512</TD><TD WIDTH="33%">benign? note that the overflow occurs even with the fixed version of the map, used for recording</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map31</TD><TD WIDTH="17%">rq31s115.lmp</TD><TD WIDTH="29%">317, 320, 1779, 1780, 1784, 1785, 1786, 1787, 1788</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">squadron</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">sq417-01.lmp</TD><TD WIDTH="29%">209, 210, 211, 212, 217, 218, 219, 220, 229</TD><TD WIDTH="33%">benign? trivial map anyway</TD></TR><TR><TD WIDTH="12%">sci2</TD><TD WIDTH="9%">map03</TD><TD WIDTH="17%">s203n245.lmp</TD><TD WIDTH="29%">1262, 1263, 1264, 1265, 1266, 1268, 1267, 1269, 1270</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>sci2</font></TD><TD WIDTH="9%"><font color=red>map05</font></TD><TD WIDTH="17%">s205n546.lmp</TD><TD WIDTH="29%">2268, 2269, 2270, 2271, 2273, 2274, 2275, 2287, 2288</TD><TD WIDTH="33%"><B>emulated OK; playback is system-dependent with Doom2.exe; a spechits magic number such as <u>2230937832</u> is needed with prboom-plus</B></TD></TR><TR><TD WIDTH="12%"><font color=red>sci2</font></TD><TD WIDTH="9%"><font color=red>map07</font></TD><TD WIDTH="17%">s207n516.lmp</TD><TD WIDTH="29%">1527, 1528, 1529, 1531, 1532, 1533, 1535, 1536, 1537</TD><TD WIDTH="33%"><B>emulated OK; playback is system-dependent with Doom2.exe; a spechits magic number such as <u>2231485512</u> is needed with prboom-plus</B></TD></TR><TR><TD WIDTH="12%">sci2</TD><TD WIDTH="9%">map16</TD><TD WIDTH="17%">s216n241.lmp</TD><TD WIDTH="29%">1527, 1528, 1529, 1531, 1532, 1533, 1535, 1536, 1537</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>scythe</font></TD><TD WIDTH="9%"><font color=red>map18</font></TD><TD WIDTH="17%">sc18-sp.lmp sc18e036.lmp sc18m036.lmp</TD><TD WIDTH="29%">351, 352, 353, 354, 355, 360, 361, 362, 363 or 356, 357, 358, 363, 364, 365, 366, 367, 368, etc.</TD><TD WIDTH="33%">sc18-sp.lmp plays back OK with or without emulation; <B>the 0:36 coop by Erik/Method needs -spechit 2230937832</B></TD></TR><TR><TD WIDTH="12%"><font color=red>scythe</font></TD><TD WIDTH="9%"><font color=red>map30</font></TD><TD WIDTH="17%">sc30-uv.lmp sf304509.lmp</TD><TD WIDTH="29%">2565, 2577, 2571, 2578, 2576, 2569, 2570, 2575, 2567</TD><TD WIDTH="33%"><B>emulated OK?; can lead to desyncs if not emulated; for sf304509.lmp (an egg in the scythe demopack), a spechits magic number is needed: one that works is 2230937832</B></TD></TR><TR><TD WIDTH="12%"><font color=red>scythe2</font></TD><TD WIDTH="9%"><font color=red>map02</font></TD><TD WIDTH="17%">s202-207.lmp</TD><TD WIDTH="29%">649, 650, 651, 658, 643, 644, 645, 646, 652</TD><TD WIDTH="33%"><B>emulated OK; playback is system-dependent with Doom2.exe; a spechits magic number such as <u>2230220160</u> is needed with prboom-plus</B></TD></TR><TR><TD WIDTH="12%">scythe2</TD><TD WIDTH="9%">map08</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">2202, 2203, 2206, 3053, 3054, 2200, 2208, 3055, 3056</TD><TD WIDTH="33%">unknown</TD></TR><TR><TD WIDTH="12%">scythe2</TD><TD WIDTH="9%">map10</TD><TD WIDTH="17%">s210-245.lmp</TD><TD WIDTH="29%">673, 674, 676, 681, 682, 684, 686, 687, 688</TD><TD WIDTH="33%">benign?; emulated OK</TD></TR><TR><TD WIDTH="12%">scythe2</TD><TD WIDTH="9%">map18</TD><TD WIDTH="17%">s218-428.lmp</TD><TD WIDTH="29%">1578, 1579, 1617, 1635, 1636, 1680, 1681, 1682, 1683</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">strain</TD><TD WIDTH="9%">map06</TD><TD WIDTH="17%">str06-uv.lmp</TD><TD WIDTH="29%">1736, 1786, 2333, 1737, 1738, 1785, 2334, 2336, 2332</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%"><font color=red>strain</font></TD><TD WIDTH="9%"><font color=red>map07</font></TD><TD WIDTH="17%">st07-237.lmp</TD><TD WIDTH="29%">986, 998, 999, 1000, 1007, 1008, 1009, 1010, 1011</TD><TD WIDTH="33%"><B>spechits overflow necessary to exit the map! emulated OK, it seems; precise behaviour depends on magic number - st07-237.lmp is OK with the default magic number, but desyncs (no exit) with the alternate (2230937832), or with Chocolate-Doom</B></TD></TR><TR><TD WIDTH="12%">strain</TD><TD WIDTH="9%">map14</TD><TD WIDTH="17%">st14-832.lmp</TD><TD WIDTH="29%">2351, 2353, 2355, 2357, 2358, 2359, 2360, 2361, 2362</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">tnt</TD><TD WIDTH="9%">map25</TD><TD WIDTH="17%">ep25-908.lmp</TD><TD WIDTH="29%">704, 705, 706, 707, 708, 893, 894, 895, 896</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">vesperas</TD><TD WIDTH="9%">map09</TD><TD WIDTH="17%">vesp_729.lmp</TD><TD WIDTH="29%">707, 713, 714, 715, 716, 717, 718, 719, 720</TD><TD WIDTH="33%">benign?</TD></TR><TR><TD WIDTH="12%">wotdoom3</TD><TD WIDTH="9%">map07</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">1117, 1122, 1129, 1108, 1109, 1110, 1115, 1120, 1106</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR><TR><TD WIDTH="12%">zomheart</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">1622, 1625, 1626, 1627, 1629, 1642, 1643, 1644, 1645</TD><TD WIDTH="33%">unknown - no demos to test it with</TD></TR></TABLE>

<B><FONT SIZE=4>Table of maps with a REJECT overflow</FONT></B><BR><BR><TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=621><TR><TD WIDTH="12%"><B>pwad</B></TD><TD WIDTH="9%"><B>map</B></TD><TD WIDTH="17%"><B>example demo</B></TD><TD WIDTH="29%"><B>size of overflow</B></TD><TD WIDTH="33%"><B>emulation in current Prboom-plus</B></TD></TR><TR><TD WIDTH="12%">berserk</TD><TD WIDTH="9%">e1m1</TD><TD WIDTH="17%">berm1032.lmp and bert2740.lmp</TD><TD WIDTH="29%">too short (666<667)</TD><TD WIDTH="33%">emulation not guaranteed; both demos play back OK with or without emulation</TD></TR><TR><TD WIDTH="12%">bldnight</TD><TD WIDTH="9%">map05</TD><TD WIDTH="17%">bld51351.lmp</TD><TD WIDTH="29%">too short (21218<29404)</TD><TD WIDTH="33%">too large for emulation; the example demo desyncs</TD></TR><TR><TD WIDTH="12%">bldnight</TD><TD WIDTH="9%">map07</TD><TD WIDTH="17%">bld71232.lmp</TD><TD WIDTH="29%">too short (14792<14965)</TD><TD WIDTH="33%">too large for emulation, but the example demo plays back OK</TD></TR><TR><TD WIDTH="12%">dmonfear</TD><TD WIDTH="9%">map25</TD><TD WIDTH="17%">ydfear25.lmp</TD><TD WIDTH="29%">too short (2702<2888)</TD><TD WIDTH="33%">too large for emulation, but the example demo plays back OK (padding with zeros + attempted emulation); Donner's other dfear demos on maps with reject problems desync</TD></TR><TR><TD WIDTH="12%">flsofdth</TD><TD WIDTH="9%">e4m2</TD><TD WIDTH="17%">fod2uv.lmp</TD><TD WIDTH="29%">too short (2415<2416)</TD><TD WIDTH="33%">emulation not guaranteed (?)</TD></TR><TR><TD WIDTH="12%">hellroom</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">hlrmp257.lmp hlrfp555.lmp</TD><TD WIDTH="29%">too short (84<85)</TD><TD WIDTH="33%">emulated; both demos play back OK without emulation too</TD></TR><TR><TD WIDTH="12%">hyena</TD><TD WIDTH="9%">e1m1</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">too short (325<326)</TD><TD WIDTH="33%">emulation not guaranteed</TD></TR><TR><TD WIDTH="12%">invasion (inva_19.zip)</TD><TD WIDTH="9%">e1m1</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">too short (760<761)</TD><TD WIDTH="33%">emulated</TD></TR><TR><TD WIDTH="12%">lwfirst (equino-x.zip)</TD><TD WIDTH="9%">e1m3</TD><TD WIDTH="17%">equ3-104.lmp</TD><TD WIDTH="29%">too short (21841<22050)</TD><TD WIDTH="33%">too large for emulation, but the desyncs in Doom.exe and Prboom-plus with emulation appear the same; another demo, equ3-114.lmp, plays back OK with or without emulation; because these demos were recorded with an older version of prboom, -pad_reject_with_ff is needed</TD></TR><TR><TD WIDTH="12%">lwfirst (equino-x.zip)</TD><TD WIDTH="9%">e1m7</TD><TD WIDTH="17%">equ7-108.lmp</TD><TD WIDTH="29%">too short (596<1082)</TD><TD WIDTH="33%">too large for emulation, but the sample demo plays back OK with or without emulation; because this demo was recorded with an older version of prboom, -pad_reject_with_ff is needed</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map08</TD><TD WIDTH="17%">any on this map</TD><TD WIDTH="29%">too short (13944<13945)</TD><TD WIDTH="33%">emulated</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map16</TD><TD WIDTH="17%">any on this map</TD><TD WIDTH="29%">too short (10224<10225)</TD><TD WIDTH="33%">emulated</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map22</TD><TD WIDTH="17%">any on this map (e.g. rq22-518.lmp)</TD><TD WIDTH="29%">too short (10804<10805)</TD><TD WIDTH="33%">emulated</TD></TR><TR><TD WIDTH="12%">requiem</TD><TD WIDTH="9%">map31</TD><TD WIDTH="17%">any on this map</TD><TD WIDTH="29%">too short (3784<3785)</TD><TD WIDTH="33%">emulated</TD></TR><TR><TD WIDTH="12%">rrd201</TD><TD WIDTH="9%">map02</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">too short (7750<7751)</TD><TD WIDTH="33%">emulation not guaranteed</TD></TR><TR><TD WIDTH="12%">te</TD><TD WIDTH="9%">map06</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">too short (5778<5779)</TD><TD WIDTH="33%">emulation not guaranteed</TD></TR><TR><TD WIDTH="12%">teeth (Master Levels)</TD><TD WIDTH="9%">map32</TD><TD WIDTH="17%">teeth-32.lmp te32-106.lmp</TD><TD WIDTH="29%">too short (24<25)</TD><TD WIDTH="33%">emulated / tends to lead to a desync if not emulated</TD></TR><TR><TD WIDTH="12%">too1337</TD><TD WIDTH="9%">e1m1</TD><TD WIDTH="17%">too1-035.lmp</TD><TD WIDTH="29%">too short (3120<3121)</TD><TD WIDTH="33%">emulated; the sample demo plays back OK without emulation too</TD></TR><TR><TD WIDTH="12%">ultdtv</TD><TD WIDTH="9%">maps 02-07</TD><TD WIDTH="17%">none</TD><TD WIDTH="29%">all too short by one byte</TD><TD WIDTH="33%">emulated (?)</TD></TR><TR><TD WIDTH="12%">yaotzin</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">yao-uv.lmp yao-750.lmp</TD><TD WIDTH="29%">too short (50404<51200)</TD><TD WIDTH="33%">too large an overflow for emulation, but yao-uv.lmp plays back OK in prboom-plus 2.4.6.2 (REJECT padded with zeroes) with or without emulation; yao-750.lmp desyncs though</TD></TR></TABLE>

<B><FONT SIZE=4>Table of demos with an INTERCEPTS overflow</FONT></B><BR><BR><TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=621><TR><TD WIDTH="12%"><B>pwad</B></TD><TD WIDTH="9%"><B>map</B></TD><TD WIDTH="17%"><B>demo</B></TD><TD WIDTH="29%"><B>outcome</B></TD><TD WIDTH="33%"><B>emulation in current Prboom-plus</B></TD></TR><TR><TD WIDTH="12%">av</TD><TD WIDTH="9%">map08</TD><TD WIDTH="17%">av08-odd.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK</TD></TR><TR><TD WIDTH="12%">av</TD><TD WIDTH="9%">map26</TD><TD WIDTH="17%">av261924.lmp</TD><TD WIDTH="29%">benign</TD><TD WIDTH="33%">no bad effects, it seems</TD></TR><TR><TD WIDTH="12%">blacktwr</TD><TD WIDTH="9%">map25</TD><TD WIDTH="17%">blackbug.lmp</TD><TD WIDTH="29%">"all ghosts" and exit</TD><TD WIDTH="33%">not emulated perfectly, but well enough that the player exits</TD></TR><TR><TD WIDTH="12%">doom</TD><TD WIDTH="9%">e1m3</TD><TD WIDTH="17%">n1m3bug.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK; this demo is by Donatas Tamonis and can be found in his web space</TD></TR><TR><TD WIDTH="12%">doom</TD><TD WIDTH="9%">e1m9</TD><TD WIDTH="17%">e1m9-uv.lmp (dm-atm.zip)</TD><TD WIDTH="29%">benign</TD><TD WIDTH="33%">no bad effects, it seems; yes, another intercepts overflow on one of the original E1/shareware maps; this is a dht3 demo</TD></TR><TD WIDTH="12%">doom2</TD><TD WIDTH="9%">map02</TD><TD WIDTH="17%">lv02-!!!.lmp (fa02-132.zip) map02gho.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK</TD></TR><TD WIDTH="12%">doom2</TD><TD WIDTH="9%">map18</TD><TD WIDTH="17%">ty18-bug.lmp (ty18c810.zip)</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">probably emulated OK, but not fully checked; this is a DANG demo</TD></TR><TR><TD WIDTH="12%">eternall.wad (from eternal.zip)</TD><TD WIDTH="9%">map18</TD><TD WIDTH="17%">wtf.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK? (not fully checked); the demo is in et18-227.zip</TD></TR><TR><TD WIDTH="12%">hr</TD><TD WIDTH="9%">map27</TD><TD WIDTH="17%">hr27odd.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK</TD></TR><TR><TD WIDTH="12%">hr2final</TD><TD WIDTH="9%">map24</TD><TD WIDTH="17%">h2241828.lmp</TD><TD WIDTH="29%">benign</TD><TD WIDTH="33%">no bad effects, it seems</TD></TR><TR><TD WIDTH="12%">hr2final</TD><TD WIDTH="9%">map32</TD><TD WIDTH="17%">h2323105.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">the demo was recorded without emulation</TD></TR><TR><TD WIDTH="12%">ksutra</TD><TD WIDTH="9%">map10</TD><TD WIDTH="17%">ks101018.lmp</TD><TD WIDTH="29%">benign</TD><TD WIDTH="33%">no bad effects, it seems</TD></TR><TR><TD WIDTH="12%">manor</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">manorbug.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK</TD></TR><TR><TD WIDTH="12%">mm</TD><TD WIDTH="9%">map12</TD><TD WIDTH="17%">mm12r406.lmp</TD><TD WIDTH="29%">benign</TD><TD WIDTH="33%">no bad effects, it seems</TD></TR><TR><TD WIDTH="12%">nuts</TD><TD WIDTH="9%">map01</TD><TD WIDTH="17%">nutsnp52.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK, but with a significant slow-down</TD></TR><TD WIDTH="12%">plutonia</TD><TD WIDTH="9%">map15</TD><TD WIDTH="17%">pl15-odd.lmp</TD><TD WIDTH="29%">"all ghosts"</TD><TD WIDTH="33%">emulated OK? (not fully checked); demo is in pl15-238.zip</TD></TR><TR><TD WIDTH="12%">ssbase</TD><TD WIDTH="9%">e1m1</TD><TD WIDTH="17%">ssba-heh.lmp</TD><TD WIDTH="29%">crash with Doom2.exe</TD><TD WIDTH="33%">"all ghosts" with prboom-plus, but no crash</TD></TR></TABLE>

Sorry, I haven't given hyperlinks for the wads or demos; I presume that anyone interested in this stuff will already have them or be able to find them. The idgames database, Compet-n, DSDA and this Demos Forum are the places to look. This is a useful link in this respect (replace "demoname" with the filename you're seeking):
http://www.google.com/search?q=site...ompetn+demoname

When I have described an overflow as "benign?", this means that any demos I have tested have played back OK whether the overflow is emulated or not. In some cases it is hard to judge if the overflow is being emulated correctly, as there are no demos on the map in question that play back OK with Doom2.exe.

If you are recording in Prboom-plus on any of maps where the spechits overflow is liable to cause desyncs, then if you want your demo to play back with Doom2.exe, set the program to attempt to emulate the overflow. Note that this is not guaranteed to work, and that it might not play back with Eternity (as it doesn't at present have this feature, as far as I am aware). If you record with Doom2.exe on one of these maps and the demo desyncs with Prboom-plus, try it with overflows emulated.

I'll note that so far I haven't come across an instance where Prboom-plus 2.4.8.1 is clearly unable to emulate a spechits overflow.

Obviously I haven't tested every map in existence, but as you can see I have tested a fair few, including most of the popular wads for recording. Let me know if you find any more, or can help resolve any of those listed more clearly, or if there are some obscure desynching demos that ought to be tested.

I have also added short tables of INTERCEPTS and REJECT overflows. These are based on far less testing (just ad hoc, really). There are probably quite a lot of maps with the REJECT problem, but one wouldn't expect to find many demos where there is a large overflow in any case, as they often lead to desyncs in Doom2.exe itself. Prboom+ can emulate them as long as the size of the overflow is no more than 16 bytes and the size of the REJECT lump is divisible by 4. Demos with INTERCEPTS overflows are also rare, as they sometimes result in a crash with the vanilla engine, and often in "all ghosts" behaviour, which in most cases makes it impossible to exit the map (you need to find a damage/exit sector, which most maps don't have). There also appear to be a few where the overflow is small and has no effects.

In some cases, a spechits overflow makes a demo play back differently on different systems with the vanilla exe. In these cases, you may need to get the spechits "magic number", generated by a patched "e6y" version of Doom2.exe or Doom-plus running on a system where the demo plays back OK, and enter that in the command line using the "-spechit" parameter. However, if you want to use a shortcut and just try something that has a good chance of working if the demo is an old one, or was recorded on an older OS, or with Chocolate-Doom, use this:
-spechit 2230937832
So far, all demos that have been found not to work with the default value, play back OK with this one.

Last updated: 16-March-2008 (minor addition 19-January-2012)

Old Post 12-26-05 23:03 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04


DeePsea has very good, powerful and best error checking system. It will be fine if authors will add check on an opportunity of this overflow and very badly that it not free-of-charge. I cannot use it for correction of map errors. Only for detection :(

Old Post 12-26-05 23:44 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
ultdoomer
Junior Member


Posts: 235
Registered: 06-04


How about Cameron Prosser's hf24-359.lmp? Does anyone know why that desyncs in PrBoom?

Old Post 01-09-06 04:30 #
ultdoomer is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


It's a Dosdoom (converted TasDoom) demo, and there's no spechits overflow. It plays back fine in Prboom 2.3.x and Prboom+ 2.2.6.25. Earlier versions didn't have this compatibility level, which is why they couldn't play it back successfully.

prboom hr hf24-359.lmp -complevel 5

BTW, if anyone spots any spechits overflows in any maps or demos, please let me know. If you have prboom+ 2.2.6.25 set to detect them, it displays an on-screen message if one occurs, and outputs details of the overflow into stdout.txt.

Old Post 01-09-06 04:40 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
ultdoomer
Junior Member


Posts: 235
Registered: 06-04


I tried playing hf24-359.lmp and hr181329.lmp on -complevel 5 using Andrey's latest build, but they both still desync (for me). For the Post Mortem demo, I had everything turned off on the last page of the Status Bar/HUD menu; for the Hard Attack demo, I had everything turned off except for Try To Emulate It under spechit. How do I know when to use these? Also, what do those other two at the bottom do and how do I know when to use those?

Last edited by ultdoomer on 01-09-06 at 08:33

Old Post 01-09-06 08:09 #
ultdoomer is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


spechits overflow emulation is for doom2.exe only, not for dosdoom.

The only dosdoom/tasdoom demos I've found to desync with 2.2.6.25 are the following, all with memory overflows that aren't emulated (yet?):
flsofdth.wad fod3uv.lmp - spechits overflow
hr.wad hf181430.lmp - spechits overflow
hr.wad hr181329.lmp - spechits overflow
icarus.wad ic09uv.lmp - spechits overflow
yaotzin.wad yao-uv.lmp - REJECT overflow (and too large an overflow to be emulated even for a Doom2.exe demo)

As for hf24-359.lmp, I've no idea what could be going wrong for you. You're definitely using 2.2.6.25? You've never modified hr.wad in any way? And you're using the command line as I gave in my last post? It's essential that -complevel 5 actually goes in the command line in order to override the autodetect - this should be enough on its own, with the rest of the settings all irrelevant. One last thing to try (though it shouldn't make any difference): overwrite your cfgs with the ones provided in prboom-plus-2.2.6.25.zip. If that does make a difference, say so, because it would suggest something was wrong.

As for what settings for the overflow emulation to use, personally I just have them all turned on (warn and emulate). I would only turn the warning off if I wanted to record a demo on a map where I knew there were these issues. I would only turn the emulation off in order to play back a specific demo where the emulation would itself cause a desync (there aren't many of those - hr2 map31 and scythe2 map02 are only cases I can think of; it's basically when prboom has been used to record on a map where there is a "bad" spechits overflow, as shown in bold italic in the table above).

Regarding compatibility with common mapping errors, these options are disabled for recording and playback. Their purpose is solely to make it possible in prboom+ to play maps afflicted by these errors. I have them turned off (I want to know if a map has these bugs), and would only turn them on when it's necessary in order to play a particular map (it's easier than editing the map to fix these problems...).

Old Post 01-09-06 08:39 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04



ultdoomer said:
I tried playing hf24-359.lmp and hr181329.lmp on -complevel 5 using Andrey's latest build, but they both still desync (for me).

hf24-359.zip
glboom -file hr.wad -playdemo hf24-359.lmp -complevel 5
works without decync for me

Old Post 01-09-06 08:49 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
ultdoomer
Junior Member


Posts: 235
Registered: 06-04



Grazza said:
It's essential that -complevel 5 actually goes in the command line in order to override the autodetect
I just changed the number in the cfg file to 5; I didn't know you have to use the command line. The Post Mortem demo is working with the command line. Thanks.

Old Post 01-09-06 08:55 #
ultdoomer is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04



Grazza said:
The only dosdoom/tasdoom demos I've found to desync with 2.2.6.25 are the following, all with memory overflows that aren't emulated (yet?)
Yes. I can't debug dos applications. Also I can't start it in WinXP :)

Old Post 01-09-06 08:58 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02



ultdoomer said:
I just changed the number in the cfg file to 5; I didn't know you have to use the command line. The Post Mortem demo is working with the command line. Thanks.
You're welcome.

The explanation is that if prboom+ doesn't find a -complevel in the command line, it will examine the header info in the demo itself, and choose its compatibility level based on what the demo appears to be (and the iwad used). In this case, it would think it is a Doom2.exe demo (-complevel 2).

Normally the autodetect of the demo type works excellently, and you wouldn't want it to be overriden by the default compatibility level that you've put in the cfg.

Andrey: Yes I expected that emulating dosdoom's overflows would be a problem (and even if somehow possible, too much work for just a handful of demos). I can't run it on XP either, but I've still got an old Win98 notebook fortunately.

Old Post 01-09-06 09:08 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
ultdoomer
Junior Member


Posts: 235
Registered: 06-04



entryway said:
Yes. I can't debug dos applications. Also I can't start it in WinXP :)


I can't either, that's why I'm so happy I could view some DOSDoom/TASDoom demos with PrBoom. Thanks for all the hard work.

As far as those DOS-port demos with memory overflow problems go, would it be possible to teach someone with good DOS support how to fix those?

Old Post 01-09-06 09:14 #
ultdoomer is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2128
Registered: 07-01


Hate to make a post about nothing.
but that is a lot of information, Mr. G(razza) and Mr. E(ntryway).
thanks.

Old Post 01-09-06 23:54 #
Opulent is offline Profile || Blog || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


Thanks. I'm quite fond of the table myself. :) And the detection feature, of course.

From my testing, I'd say that on average about 1 in 20 maps feature a possibility of a spechits overflow. (Making the assumptions that a max demo on the map has a high probability of triggering it, and that my selection of maps/demos to test isn't for some reason skewed towards or away from maps with possible overflows.)

I'd also estimate (or rather guesstimate) that the overall proportion of maps where there is a possibility of an overflow that has any practical impact in Doom2.exe may be less than 1 in 100.

Those are rough statistical conclusions, and not scientific ones - I'm just judging from what tends to happen in practice as far as I have observed.

Old Post 01-10-06 00:11 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6314
Registered: 08-00


Are you guys aware of any maps with zero-size reject lumps? DOOM would load them without crashing, but it would allocate a 32-byte block of RAM for the reject, and would then read what was effectively random data from memory. This would render any demo recorded on such a map impossible to sync, but I've never heard of this problem actually being noticed. So much so, in fact, that this bug persisted in Eternity for a long time (except it made BOOM/MBF/Eternity crash due to changes made to the zone allocator).

Old Post 01-13-06 00:19 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


It has been noticed, especially by those who try to record a demo on such a map and find it won't play back even with the exe that was used to record it.

Fenris is an example of such a map. I've put an initial (desynching) test run I recorded here. Rebuilding the reject solved the problem - I could record as normal and the demo plays back with everything you would expect it to.

There are quite a few other examples though. Most of the maps in the original Akce Korian, for instance.

Prboom(+)'s current behaviour in such cases is to have the monsters unable to see or target the player. And prb+ displays its reject overflow message, if you have it enabled.

Old Post 01-13-06 00:51 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04


I've found it in the risen3d\R3D_WhatsNew.txt

Algo introduced to detect valid line side triggering where the radius of the player exactly matches the distance between the activating line and a blocking line which prevents the player crossing and thus activating the line trigger. The algo determines whether the line should be activated or not. E.g. STRAIN map 07 line 986 should be activated, Herian2 map03 line 17 should not.

Old Post 01-17-06 23:02 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


Hmmm. I notice that R3D doesn't handle the identical set-up in your spechits wad correctly (the player doesn't exit). Also, if you edit STRAIN map07 so as to remove the overflow (e.g. by making enough of the relevant lines non-special), you can still exit the map in R3D.

So I wonder what this algo is really doing.

It's nice that they've made it possible to exit this map, but if it is a map-specific workaround, why not say so?

Old Post 01-18-06 03:53 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


Updated to take into account the latest improvements in emulation, etc.

Old Post 07-30-06 16:18 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


Magic numbers needed!

Can anyone supply the spechits magic numbers for the following demos?
  • Vile's h2322437.lmp on hr2.wad (that's the public beta, not the final)
  • Anthony Soto's av15-612.lmp on av.wad (compet-n edition)


If these demos play back correctly on your system with Doom2.exe, then you will hopefully be able to supply a valid magic number using the method and tools described here. I'd imagine Win98 users might have the best chance.

Old Post 08-07-06 23:25 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2128
Registered: 07-01


why didn't somebody tell me there was a prboom-plus-2.4.4.1.test2-win32.zip version.

darn it!

Vile's h2322437.lmp -spechit 2301487060
Anthony Soto's av15-612.lmp -spechit 2358693508

edit: hmm... still doesn't work for me. I must be doing something wrong.
edit 2: oh, you got rid of the -spechit -# requirement.

/round of beers (or hopefully a better beverage) for Mr e6y!

Last edited by Opulent on 08-08-06 at 00:57

Old Post 08-08-06 00:33 #
Opulent is offline Profile || Blog || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Your move


Posts: 12562
Registered: 07-02


av15-612.lmp works fine for me with your magic number, but sadly h2322437.lmp doesn't. That may be due to other issues with that map though.

Old Post 08-08-06 01:28 #
Grazza is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2128
Registered: 07-01


doesn't work for me either.
re-ran it and it generated 2434295764
that doesn't work either.
another generated number 2415921108 untested. ;)

Old Post 08-08-06 01:53 #
Opulent is offline Profile || Blog || Email || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04


Hell Revealed 2 Beta
?

Old Post 08-08-06 08:17 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15290
Registered: 04-02



Opulent said:
doesn't work for me either.
Same here, but then Doom2 desynchs. Does the demo play back using Doom2 on your machine?


another generated number 2415921108
This one failed.

In the old thread where this issue was first mentioned it seems it wasn't synching for me on this computer. Unfortunately I don't currently have access to other machines.


Vile said on that thread:
What was really weird was Casey (Altima) saying that it wouldn't play back at first, but after moving it to another directory it ran fine. Crazy, but at least it plays back sometimes..
I'm guessing Altima got a different spechit number that worked.

I tried moving it around but no luck yet.

I wonder if it wouldn't be possible to create some sort of rapid testing feature in PrBoom+ for these spechit numbers, somehow having PrBoom+ go through the demo really fast (without displaying graphics) in order to determine if the demo's sequence includes the exit event around the time where the demo is supposed to end. Like that we could search for a valid number without spending many minutes waiting to see if it synchs under PrBoom+.


entryway said:
Hell Revealed 2 Beta
?
In my case, yeah, I've been using this wad.

Old Post 08-08-06 08:35 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04



myk said:
I wonder if it wouldn't be possible to create some sort of rapid testing feature in PrBoom+ for these spechit numbers, somehow having PrBoom+ go through the demo really fast (without displaying graphics) in order to determine if the demo's sequence includes the exit event around the time where the demo is supposed to end. Like that we could search for a valid number without spending many minutes waiting to see if it synchs under PrBoom+.

glboom-plus.cfg
---------------
code:
overrun_spechit_warn 0 overrun_spechit_emulate 1

glboom-plus -playdemo demo ... and press <End> key (by default), if you see the stat screen, so the demo works correctly. Also you may use somthing like this:
glboom-plus.exe -window -file hr2.wad -playdemo h2322437.lmp -skipsec 1145

Last edited by entryway on 08-08-06 at 10:53

Old Post 08-08-06 10:15 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2128
Registered: 07-01



myk said:
Same here, but then Doom2 desynchs. Does the demo play back using Doom2 on your machine?


yes sir.

Old Post 08-09-06 03:02 #
Opulent is offline Profile || Blog || Email || Homepage || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15290
Registered: 04-02



entryway said:
press key (by default), if you see the stat screen, so the demo works correctly.
Yeah, that works, the only drawback being that if the demo is bad the screen freezes (but I can end the task).

It seems, though, that for now any further testing would be in vain, as on Doug's machine the numbers that fail under PrBoom+ work under Doom2.

Old Post 08-09-06 04:00 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04



myk said:
Yeah, that works, the only drawback being that if the demo is bad the screen freezes (but I can end the task).
No. It will quit after ending

Old Post 08-09-06 09:03 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2766
Registered: 01-04



myk said:
It seems, though, that for now any further testing would be in vain, as on Doug's machine the numbers that fail under PrBoom+ work under Doom2.
Sounds strange...

Old Post 08-09-06 14:24 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15290
Registered: 04-02



entryway said:
Sounds strange...
Yeah. I could keep trying later if it could help. Any hints on how to somehow get different spechit numbers that might work? Is that even possible on a single machine?

I even tried going to full DOS, but Doom+ starting the demo crashed; not sure why, but it said something weird, that there was an unknown thing 32007 (or so) then DOS got monged up (all the dirs and were messed up) and I had to restart. Maybe some sort of memory overflow killed it.

Have you thought about trying to make a hack of PrBoom+ that tries different spechit numbers until it spots one that works? (Kind of like a password hacking app, I mean).

Old Post 08-09-06 14:48 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 02:14. Post New Thread    Post A Reply
Pages (3): [1] 2 3 »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Doom Speed Demos > Spechits, Reject and Intercepts Overflow Lists

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.