Cacodemon
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 18:05. Post New Thread    Post A Reply
Grazza
Let's try Caesium


Posts: 12512
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).

To avoid spechits 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 reject overflows: Use a good reject map builder - any modern one should be OK.

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

To avoid playeringame overflows: Don't obstruct your player start positions.



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.


Table of maps for which spechits overflows are possible

pwadmap red if criticalexample demo yellow if Tasdoomlines leading to overflowcomments on effects, desyncs and emulation in current Prboom-plus; bold if critical
1024map232423-301.lmp3055, 3056, 3057, 3058, 3066, 3072, 3073, 3074, 3075behaviour depends on magic number; 2423-301.lmp is OK with the default magic number, but desyncs with the alternate (2230937832)
2sectorsmap012s01-030.lmp1025, 1050, 1069, 1093, 1152, 1153, 1154, 1155, 1158benign?
aboo4 (original version)map01none613, 616, 617, 619, 620, 622, 623, 625, 626unknown - no demos to test it with
avmap05av05-227.lmp2265, 2266, 2269, 2270, 2281, 2284, 2305, 2306, 2309benign?
avmap15av15-317.lmp av15-612.lmp av15-623.lmp av15-638.lmp av15-715.lmp af151000.lmp2098, 2106, 2109, 2110, 2097, 2104, 2105, 2108, 2111 or similarsystem-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
avmap21at211122.lmp1316, 1506, 1507, 1965, 1967, 1968, 1969, 1226, 1966benign? this is the only demo on this map with this overflow
avmap26av261924.lmp4131, 4132, 4133, 4140, 4141, 4142, 4143, 4144, 4145benign? this is the only demo on this map with this overflow; it also features a benign intercepts overflow
base666map01btas1056.lmp1206, 1217, 1218, 1592, 1593, 1598, 1599, 1600, 1601benign?
belltollmap02none8082, 8083, 8084, 8085, 8086, 8087, 8088, 8109, 8111unknown - no demos to test it with
biotechmap03none848, 849, 850, 851, 852, 854, 853, 855, 856unknown - no demos to test it with
biowarmap13bw131304.lmp1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658benign?
cchest2map24none6260, 6261, 6262, 6263, 6265, 6268, 6271, 6264, 6267 and other(s)unknown; there's more than one place where an overflow can occur - the map is full of special lines
class_e2e1m8none566, 568, 572, 562, 563, 595, 596, 597, 598unknown - no demos to test it with
darkenmap08darken08.lmp1837, 1844, 1834, 1835, 1836, 1838, 1839, 1840, 1841benign?
datavill (hacx pwad)map19none1005, 1004, 1495, 1496, 1499, 1500, 1509, 1510, 1524unknown - no demos to test it with
dmdhzfanmap01none18, 19, 20, 21, 22, 25, 48, 50, 56unknown - this map is a tech demo; note that the fan causes the overflow
dmplylnde2m3none447, 448, 449, 450, 459, 461, 463, 465, 499unknown - no demos to test it with
doome4m1c4m1o139.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
256, 257, 258, 262, 264, 266, 267, 268, 270 or similarAn 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
doom2 v1.666map02uvlev2.lmp117, 118, 119, 122, 123, 124, 453, 454, 455benign? These bars were removed in v1.9; the demo can be found here
dvmap01dv01-max-2942-wh.lmp3461, 3526, 3536, 3609, 3655, 4420, 4568, 1472, 1946benign?
dyst3map08dyst3-08.lmp1180, 1181, 1184, 1185, 1190, 1196, 1197, 1203, 1214benign?
eternalmap12et122614.lmp1350, 1355, 1356, 15, 1349, 16, 1348, 1362, 1361benign?
eternall.wad (from eternal.zip)map25et252031.lmp638, 1910, 1911, 1914, 1915, 1916, 1917, 1919, 1920benign?
eternalmap31et312225.lmp2921, 2922, 2923, 2924, 2933, 2936, 2942, 2943, 2965emulated OK; likely to lead to desyncs if not emulated
extremale3m8none271, 272, 273, 276, 277, 278, 279, 280, 281unknown - no demos to test it with
flsofdthe4m3fod3uv.lmp604, 605, 716, 717, 718, 719, 728, 729, 730the example demo is for tasdoom, and it is emulated OK
grind2xmap01gr2x_847.lmp1522, 1538, 1539, 1542, 1540, 1543, 1544, 1545, 1547a spechits magic number such as 2230937832 is needed with prboom-plus
gunsmokemap01none2509, 2510, 2511, 2512, 2513, 2515, 2514, 2517, 2518unknown - no demos to test it with; overflow can occur when running into any of the three bars, which have many blue-keyed sides
h2h-xmasmap26xm26-313.lmp586, 587, 588, 590, 591, 592, 594, 595, 596benign?
hacxmap04hx04-724.lmp1336, 1338, 1340, 1341, 1344, 1345, 1348, 1349, 1350benign?
hacxmap09hx09-847.lmp1149, 1151, 1163, 1169, 1170, 1171, 1172, 1176, 1177benign?
hrmap18hr18-348.lmp hr181329.lmp1077, 1080, 1151, 1152, 1153, 1154, 1171, 1173, 1174emulated OK (Doom2.exe and Tasdoom); likely to lead to desyncs if not emulated
hr2finalmap19hr2-lv19.lmp169, 3068, 3081, 3087, 3088, 3089, 3096, 3097, 3098benign?
hr2finalmap31hr2-lv31.lmp522, 560, 561, 562, 563, 564, 565, 566, 1858probably emulated OK; demos recorded without emulation desync if played back with emulation in the same way they do with Doom2.exe
icarusmap09ic09uvgb.lmp ic09uv.lmp389, 400, 434, 436, 437, 439, 440, 441, 442benign?; ic09uv.lmp is for tasdoom and it is emulated OK
ksutramap18ks181235.lmp5748, 5749, 5750, 2848, 2885, 2886, 5745, 5746, 5747benign?
ksutramap23ks23-201.lmp3099, 3100, 3101, 3104, 3105, 3106, 3107, 3108, 3109benign?
ksutramap31ks311117.lmp1892, 1893, 1895, 1897, 1898, 1899, 1900, 1901, 1904benign?
mmmap02mm021204.lmp307, 965, 966, 968, 974, 975, 964, 967, 970benign?
mmmap05mm05r554.lmp961, 963, 952, 953, 954, 955, 956, 957, 958playback is presumably system-dependent with Doom2.exe; a spechits magic number such as 2230937832 is needed with prboom-plus; this demo crashes timer.exe; the overflow occurs when a pain elemental crosses the (lowered) red key bars.
mmmap08mm08-119.lmp714, 722, 723, 726, 733, 734, 735, 736, 738benign?
mmmap2830mm8356.lmp2022, 2023, 2025, 2015, 2016, 2017, 2018, 2019, 2020benign?
mm2map18m218nmx.lmp3163, 3164, 3534, 3535, 3536, 3537, 3538, 3539, 3540benign?
mm2map20m220-547.lmp441, 507, 524, 533, 612, 613, 611, 615, 519benign? the overflow occurs when an arachnotron (large radius) crosses these lines
ndcpmap06none1315, 1370, 1371, 3755, 3756, 3757, 3758, 3759, 3760unknown
ongarmap10none128, 130, 131, 132, 134, 135, 122, 123, 124unknown
pe4_dt2e4m2p4e2s052.lmp p4p2s118.lmp243, 244, 245, 246, 247, 248, 249, 250, 251p4p2s118.lmp plays back OK with or without emulation (but crashes timer.exe); p4e2s052.lmp requires, e.g., -spechit 2230937832
requiemmap03rq03-136.lmp1186, 1284, 1285, 1286, 1287, 1294, 1295, 1296, 1297benign?
requiemmap15rq151440.lmp2000, 2004, 2010, 1976, 1981, 1982, 1983, 2014, 2018benign?
requiemmap16rr16-955.lmp1115, 1116, 1117, 1119, 1122, 1123, 1124, 1125, 1118benign?
requiem + req21fixmap21rq21-636.lmp2507, 2508, 2510, 2511, 2513, 2514, 2516, 2517, 2512benign? note that the overflow occurs even with the fixed version of the map, used for recording
requiemmap31rq31s115.lmp317, 320, 1779, 1780, 1784, 1785, 1786, 1787, 1788benign?
squadronmap01sq417-01.lmp209, 210, 211, 212, 217, 218, 219, 220, 229benign? trivial map anyway
sci2map03s203n245.lmp1262, 1263, 1264, 1265, 1266, 1268, 1267, 1269, 1270benign?
sci2map05s205n546.lmp2268, 2269, 2270, 2271, 2273, 2274, 2275, 2287, 2288emulated OK; playback is system-dependent with Doom2.exe; a spechits magic number such as 2230937832 is needed with prboom-plus
sci2map07s207n516.lmp1527, 1528, 1529, 1531, 1532, 1533, 1535, 1536, 1537emulated OK; playback is system-dependent with Doom2.exe; a spechits magic number such as 2231485512 is needed with prboom-plus
sci2map16s216n241.lmp1527, 1528, 1529, 1531, 1532, 1533, 1535, 1536, 1537benign?
scythemap18sc18-sp.lmp sc18e036.lmp sc18m036.lmp351, 352, 353, 354, 355, 360, 361, 362, 363 or 356, 357, 358, 363, 364, 365, 366, 367, 368, etc.sc18-sp.lmp plays back OK with or without emulation; the 0:36 coop by Erik/Method needs -spechit 2230937832
scythemap30sc30-uv.lmp sf304509.lmp2565, 2577, 2571, 2578, 2576, 2569, 2570, 2575, 2567emulated 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
scythe2map02s202-207.lmp649, 650, 651, 658, 643, 644, 645, 646, 652emulated OK; playback is system-dependent with Doom2.exe; a spechits magic number such as 2230220160 is needed with prboom-plus
scythe2map08none2202, 2203, 2206, 3053, 3054, 2200, 2208, 3055, 3056unknown
scythe2map10s210-245.lmp673, 674, 676, 681, 682, 684, 686, 687, 688benign?; emulated OK
scythe2map18s218-428.lmp1578, 1579, 1617, 1635, 1636, 1680, 1681, 1682, 1683benign?
strainmap06str06-uv.lmp1736, 1786, 2333, 1737, 1738, 1785, 2334, 2336, 2332benign?
strainmap07st07-237.lmp986, 998, 999, 1000, 1007, 1008, 1009, 1010, 1011spechits 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
strainmap14st14-832.lmp2351, 2353, 2355, 2357, 2358, 2359, 2360, 2361, 2362benign?
tntmap25ep25-908.lmp704, 705, 706, 707, 708, 893, 894, 895, 896benign?
vesperasmap09vesp_729.lmp707, 713, 714, 715, 716, 717, 718, 719, 720benign?
wotdoom3map07none1117, 1122, 1129, 1108, 1109, 1110, 1115, 1120, 1106unknown - no demos to test it with
zomheartmap01none1622, 1625, 1626, 1627, 1629, 1642, 1643, 1644, 1645unknown - no demos to test it with


Table of maps with a REJECT overflow

pwadmapexample demosize of overflowemulation in current Prboom-plus
berserke1m1berm1032.lmp and bert2740.lmptoo short (666<667)emulation not guaranteed; both demos play back OK with or without emulation
bldnightmap05bld51351.lmptoo short (21218<29404)too large for emulation; the example demo desyncs
bldnightmap07bld71232.lmptoo short (14792<14965)too large for emulation, but the example demo plays back OK
dmonfearmap25ydfear25.lmptoo short (2702<2888)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
flsofdthe4m2fod2uv.lmptoo short (2415<2416)emulation not guaranteed (?)
hellroommap01hlrmp257.lmp hlrfp555.lmptoo short (84<85)emulated; both demos play back OK without emulation too
hyenae1m1nonetoo short (325<326)emulation not guaranteed
invasion (inva_19.zip)e1m1nonetoo short (760<761)emulated
lwfirst (equino-x.zip)e1m3equ3-104.lmptoo short (21841<22050)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
lwfirst (equino-x.zip)e1m7equ7-108.lmptoo short (596<1082)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
requiemmap08any on this maptoo short (13944<13945)emulated
requiemmap16any on this maptoo short (10224<10225)emulated
requiemmap22any on this map (e.g. rq22-518.lmp)too short (10804<10805)emulated
requiemmap31any on this maptoo short (3784<3785)emulated
rrd201map02nonetoo short (7750<7751)emulation not guaranteed
temap06nonetoo short (5778<5779)emulation not guaranteed
teeth (Master Levels)map32teeth-32.lmp te32-106.lmptoo short (24<25)emulated / tends to lead to a desync if not emulated
too1337e1m1too1-035.lmptoo short (3120<3121)emulated; the sample demo plays back OK without emulation too
ultdtvmaps 02-07noneall too short by one byteemulated (?)
yaotzinmap01yao-uv.lmp yao-750.lmptoo short (50404<51200)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


Table of demos with an INTERCEPTS overflow

pwadmapdemooutcomeemulation in current Prboom-plus
avmap08av08-odd.lmp"all ghosts"emulated OK
avmap26av261924.lmpbenignno bad effects, it seems
blacktwrmap25blackbug.lmp"all ghosts" and exitnot emulated perfectly, but well enough that the player exits
doome1m3n1m3bug.lmp"all ghosts"emulated OK; this demo is by Donatas Tamonis and can be found in his web space
doome1m9e1m9-uv.lmp (dm-atm.zip)benignno bad effects, it seems; yes, another intercepts overflow on one of the original E1/shareware maps; this is a dht3 demo
doom2map02lv02-!!!.lmp (fa02-132.zip) map02gho.lmp"all ghosts"emulated OK
doom2map18ty18-bug.lmp (ty18c810.zip)"all ghosts"probably emulated OK, but not fully checked; this is a DANG demo
eternall.wad (from eternal.zip)map18wtf.lmp"all ghosts"emulated OK? (not fully checked); the demo is in et18-227.zip
hrmap27hr27odd.lmp"all ghosts"emulated OK
hr2finalmap24h2241828.lmpbenignno bad effects, it seems
hr2finalmap32h2323105.lmp"all ghosts"the demo was recorded without emulation
ksutramap10ks101018.lmpbenignno bad effects, it seems
manormap01manorbug.lmp"all ghosts"emulated OK
mmmap12mm12r406.lmpbenignno bad effects, it seems
nutsmap01nutsnp52.lmp"all ghosts"emulated OK, but with a significant slow-down
plutoniamap15pl15-odd.lmp"all ghosts"emulated OK? (not fully checked); demo is in pl15-238.zip
ssbasee1m1ssba-heh.lmpcrash with Doom2.exe"all ghosts" with prboom-plus, but no crash


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 || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2740
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 offline 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
Let's try Caesium


Posts: 12512
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 || Homepage || 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
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2740
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 offline 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: 2740
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 offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Let's try Caesium


Posts: 12512
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 || Homepage || 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: 2124
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
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6175
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
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2740
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 offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
Grazza
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2124
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
Let's try Caesium


Posts: 12512
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 || Homepage || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2124
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: 2740
Registered: 01-04


Hell Revealed 2 Beta
?

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


Posts: 15231
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: 2740
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 offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Opulent
Senior Member


Posts: 2124
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: 15231
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: 2740
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 offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2740
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 offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15231
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 18:05. 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.