VGA Posted February 17, 2016 I recently noticed a discrepancy in ZDoom wiki about the Revenant's decorate script and BlueShadow fixed it according to the ZDoom source: http://zdoom.org/wiki/Classes:Revenant http://zdoom.org/wiki/A_SkelWhoosh https://github.com/rheit/zdoom/blob/master/wadsrc/static/actors/doom/revenant.txt#L33 So first Melee frame has a duration of 1 and first Missile frame a duration of 0. In Eternity I see this in base/doom/things.edf Spoiler firstdecoratestate S_SKEL_STND states @" Spawn: SKEL AB 10 A_Look loop See: SKEL AABBCCDDEEFF 2 A_Chase loop Melee: SKEL G 0 A_FaceTarget SKEL G 6 A_SkelWhoosh SKEL H 6 A_FaceTarget SKEL I 6 A_SkelFist goto See Missile: SKEL J 0 bright A_FaceTarget SKEL J 10 bright A_FaceTarget SKEL K 10 A_SkelMissile SKEL K 10 A_FaceTarget goto See Pain: SKEL L 5 SKEL L 5 A_Pain goto See Death: SKEL LM 7 SKEL N 7 A_Scream SKEL O 7 A_Fall SKEL P 7 SKEL Q -1 stop Raise: SKEL QPONML 5 goto See Whacked4's definitions also have both states starting with a 0 duration FaceTarget. I then ran Dehacked 3.1 under Dosbox and loaded doom2.exe. It also shows 0 duration for both its melee and attack states. tl;dr Does the Revenant's first Melee frame have 0 duration or 1? Is ZDoom's Revenant behaviour simply wrong or does it have to do with some hardcoded engine quirk? 0 Share this post Link to post
Arctangent Posted February 17, 2016 It was discovered a couple months ago that, during the conversion from hardcoded base game actors to actors fully exposed to Decorate, there were some errors. Thing is, nobody ever caught them - this is likely one of them that still hasn't been caught. 0 Share this post Link to post
Gez Posted February 17, 2016 Vanilla code: {SPR_SKEL,6,0,{A_FaceTarget},S_SKEL_FIST2,0,0}, // S_SKEL_FIST1 {SPR_SKEL,6,6,{A_SkelWhoosh},S_SKEL_FIST3,0,0}, // S_SKEL_FIST2 {SPR_SKEL,7,6,{A_FaceTarget},S_SKEL_FIST4,0,0}, // S_SKEL_FIST3 {SPR_SKEL,8,6,{A_SkelFist},S_SKEL_RUN1,0,0}, // S_SKEL_FIST4 {SPR_SKEL,32777,0,{A_FaceTarget},S_SKEL_MISS2,0,0}, // S_SKEL_MISS1 {SPR_SKEL,32777,10,{A_FaceTarget},S_SKEL_MISS3,0,0}, // S_SKEL_MISS2 {SPR_SKEL,10,10,{A_SkelMissile},S_SKEL_MISS4,0,0}, // S_SKEL_MISS3 {SPR_SKEL,10,10,{A_FaceTarget},S_SKEL_RUN1,0,0}, // S_SKEL_MISS4 So 0 tics for both melee and missile is what's right. 0 Share this post Link to post
Graf Zahl Posted February 17, 2016 Arctangent said:It was discovered a couple months ago that, during the conversion from hardcoded base game actors to actors fully exposed to Decorate, there were some errors. Thing is, nobody ever caught them - this is likely one of them that still hasn't been caught. I hope that's the last one. Yeah, when I converted the first actors I used some pre-DECORATE conversions that had a few subtle alterations - and nobody noticed for many, many years... 0 Share this post Link to post
Maes Posted February 17, 2016 So that means that all bragging rights and claims of m4d counter-Revenant sk11llz have to be revised? ;-) 0 Share this post Link to post
scifista42 Posted February 17, 2016 Graf Zahl said:I hope that's the last one. I'm afraid it's not. I've just now made comparisons between DECORATE states defined in zdoom.pk3 of ZDoom 2.8.0 and vanilla DEHACKED states. A couple of these discrepancies that I've reported some time ago are still present: 1. Mancubus's last 2 Missile states call FaceTarget in DEHACKED, but not in DECORATE. 2. Pain Elemental's last 2 Missile states have durations 5 and 0 in DEHACKED, but 4 and 1 in DECORATE. Note that any of these discrepancies are capable of causing problems when custom DEHACKED does something with these states, as I've reported in the thread linked above. 0 Share this post Link to post
VGA Posted February 17, 2016 Maes said:So that means that all bragging rights and claims of m4d counter-Revenant sk11llz have to be revised? ;-) Heh, yeah the Revenant in ZDoom has been 8.33% slower to throw his punch than normal Time for him to git gud in 2016 :D 0 Share this post Link to post
Linguica Posted February 17, 2016 In similar news, I noticed that crushers (and maybe up-down platforms too?) in ZDoom don't use the same timing as in vanilla, since it seems like they don't pause for a tic at the top and bottom, so my googol.wad gets thrown out of sync. 0 Share this post Link to post
Job Posted February 17, 2016 How many other things in our source ports haven't been accurate, I wonder? I feel as though I've been living a lie all these years. 0 Share this post Link to post
VGA Posted February 17, 2016 Job said:How many other things in our source ports haven't been accurate, I wonder? I feel as though I've been living a lie all these years. Which source ports? Those that are vanilla demo-compatible are accurate. 0 Share this post Link to post
Job Posted February 17, 2016 VGA said:Which source ports? Those that are vanilla demo-compatible are accurate.Thanks for the clarification. For the sake of cutting to the chase, which source ports still have inaccuracies? 0 Share this post Link to post
Da Werecat Posted February 17, 2016 Not related to the state table (not directly, at least): ZDoom has different muzzle flash behavior. Classic engines skip the first tic of the muzzle flash for whatever reason, ZDoom doesn't. It messes with the stock pistol a little bit, because its muzzle flash is 1 tic longer than the state that calls it. 0 Share this post Link to post
VGA Posted February 17, 2016 Job said:Thanks for the clarification. For the sake of cutting to the chase, which source ports still have inaccuracies? http://doomwiki.org/wiki/Comparison_of_source_ports Look at the compatibility comparison. Basically Chocolate Doom and Crispy Doom are very faithful. Crispy Doom has some fixes that don't mess up with demo compatibility. But these don't support Boom maps. For Boom maps the most compatible are prboom+ and Eternity. prboom+ has complevels to emulate the behaviour of the various Doom versions, with their bugs. It generally depends on what you mean "inaccuracies". Don't get crazy because a monster was fisting you 1/35th of a second slower, heh, it is fixed from now on. 0 Share this post Link to post