Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Btyb88

Some (hopefully) useful dehacked tricks for you

Recommended Posts

On 2/12/2020 at 12:21 AM, Finny said:

, and crispy just says fuck you and closes without warning.

 

Which dehacked patch was that?

Share this post


Link to post
On 2/11/2020 at 10:50 PM, Finny said:

looks like calling Stop during SkullAttack is a Bad Idea. by itself it doesn't seem to cause any issues, but when mixed in with a bunch of projectile-launching enemies, it will very occasionally cause a crash in prboom+ with a signal 11 error. just to be sure, i whipped up a bex with just a lost soul who immediately calls Stop right after SkullAttack and made a mini-nuts map filled with imps & modified lost souls, and sure enough it eventually crashed with the same error.

 

so, guess i'm ditching the shield charge attack after all, heh.

How long did you have to wait and how many projectiles & lost souls did it take before it crashed? I just tried the nuts map stress test for ~5 mins in prboom & glboom (both the last complete versions and the newer test version) and nothing happened. Also, were you using 0 duration Stop frames?

Share this post


Link to post
14 hours ago, fabian said:

 

Which dehacked patch was that?

the file i posted on the last page will eventually crash that way if you keep playing around with paladins (shield & rocket launcher enemies) for long enough, but i threw together something that should get you the crashes pretty quickly & consistently if you want to see for yourself. get it here.

 

that's a much more straightforward test where lost souls are modified to go straight to Stop after SkullAttack. the map is a mix of lost souls and imps, and the lost souls are grounded - seems much more likely to induce the crash this way. you should be able to run around the mob with your weapon of choice and in a few seconds you'll get the crash, where crispy just exits and prboom+ spits out a signal 11 error.

 

while you're here, i was also wondering if this was a bug or just dehacked funkiness: when you set a weapon that fires something, hitscan or projectile, to use infinite ammo, it ends up using total shotgun ammo instead, like your pool of shotgun ammo depletes. i found that manually setting the ammo type from 4 (what whacked uses for the infinite ammo setting) to 7 will use each type of ammo's total amount. this is another thing that happens in both crispy and prboom+, so i was assuming this was normal behavior that some port authors specifically adjusted.

 

8 hours ago, Krull said:

How long did you have to wait and how many projectiles & lost souls did it take before it crashed? I just tried the nuts map stress test for ~5 mins in prboom & glboom (both the last complete versions and the newer test version) and nothing happened. Also, were you using 0 duration Stop frames?

newer test version? i'm assuming you've whipped up some test stuff of your own because i haven't uploaded anything since the 10th until now...

 

anyway, the file linked above is pretty much guaranteed to crash pretty quickly, and uses a 0 duration on SkullAttack before the Stop call. you can increase that and it'll make it take longer to crash, but it should still eventually crash provided you don't give it a ridiculously large duration to where the lost souls can't call Stop before running into something anyway. i tested with a 4 frame duration and still eventually got a crash.

 

initially i thought adjusting the duration of the Stop frame itself didn't affect anything - the actor would immediately return to the Spawn state without even waiting the entire duration of the Stop frame anyway - but it seems setting the Stop frame to something extremely high (i tried 100 frames) is somehow preventing crashes, even though in testing i don't see any notable visual difference between having that set to 4 frames, which is what its set to in the file above. 0 frames seems to make the crash darn near instant.

Edited by Finny

Share this post


Link to post
13 hours ago, Finny said:

newer test version? i'm assuming you've whipped up some test stuff of your own because i haven't uploaded anything since the 10th until now...

 

anyway, the file linked above is pretty much guaranteed to crash pretty quickly, and uses a 0 duration on SkullAttack before the Stop call. you can increase that and it'll make it take longer to crash, but it should still eventually crash provided you don't give it a ridiculously large duration to where the lost souls can't call Stop before running into something anyway. i tested with a 4 frame duration and still eventually got a crash.

 

initially i thought adjusting the duration of the Stop frame itself didn't affect anything - the actor would immediately return to the Spawn state without even waiting the entire duration of the Stop frame anyway - but it seems setting the Stop frame to something extremely high (i tried 100 frames) is somehow preventing crashes, even though in testing i don't see any notable visual difference between having that set to 4 frames, which is what its set to in the file above. 0 frames seems to make the crash darn near instant.

Well, your skull crash test did indeed crash pretty quickly, but - weirdly - only in PRBoom, and not GLBoom. I'd previously made my own test and tried it with the 2.5.1.4 and 2.5.1.5 releases - no crashes so far, although I wonder if it's the bumping against the stairs which is causing crashes in your test map? I haven't tried mine with any complex level geometry yet. But here's the code for it:

 

 

homing.png

Share this post


Link to post
On 2/13/2020 at 11:55 PM, Finny said:

the file i posted on the last page will eventually crash that way if you keep playing around with paladins (shield & rocket launcher enemies) for long enough, but i threw together something that should get you the crashes pretty quickly & consistently if you want to see for yourself. get it here.

 

Thank you! Interestingly, this appears to trigger a spechits[] underflow. The culprit seems to be more in this part of the BEX patch rather than in modifying the SkulAttack state to go to Stop.

Bits = SHOOTABLE+SOLID

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×