Duke4.net Forums: Tracking down WGR2 showstopper in EDuke32 - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Tracking down WGR2 showstopper in EDuke32

User is offline   NightFright 

  • The Truth is in here

#1

I have finally been able to find out when a certain map in WGRealms2: Siege Breaker stopped working.

The map causing problems is the third in the second episode, WGX5 ("Getting Back to Nature"):
You are in the final arena room where you have to defeat two floating mini Cyberdemons, six shotgun Barons and a Cyberdemon boss. Once all of them are dead, the door to the exit teleporter chamber is supposed to open. However, neither the door nor the teleporter tube open once you have defeated all enemies and received the "A door has activated" message. It's a showstopper and has been confirmed by several people, also some who tried to play the mod quite recently.

The bug is shown in this Youtube video (after 16:45).

I have tested this passage with various EDuke32 builds and found that the last working build was 20121113-3158. Any build after that (starting with 20121114-3161) turned out to get you stuck. The two activator/masterswitch sprites in WGX5 which are not triggering any more are #922 and #984 (both have a lotag of 53244).

Test setup:
- Download this WGR2 test setup compilation (zip, 55 MB), based on the version from the EDuke32 Addon Compilation (with .grp/.dat files decompressed since old EDuke32 builds did not support the grpinfo feature)
- Unzip wgrealms2 folder into your EDuke32 dir
- Launch game with "wgrealms2" as custom game content directory set via launcher
- Select WGX5TEST.map via user menu (contains WGX5.map with edited starting point that puts you right into the final arena chamber)
- Use cheats to beat mobs fast (recommended: dnkroy, dnstuff)
- After all monsters are dead: Check whether "A door has activated" message appears and the grey door behind the dead cyberdemon opens. The teleporter needs to open with a slight delay, too.

It would be great to have this mod working again with recent EDuke32 builds, so my question directed at the EDuke32 coding team would be whether it's possible to do anything about it. Thanks in advance!

This post has been edited by NightFright: 15 January 2018 - 05:25 AM

3

User is offline   Hendricks266 

  • Weaponized Autism

  #2

r3159 is almost certainly the offending revision. That's the same one that caused the issue in Oblivion. I should really review all uses of less-than and greater-than on lotag and hitag in the source to weed out these issues entirely.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #3

Could you test with r6581? I've attempted to resolve the issue with broad strokes.
1

User is offline   NightFright 

  • The Truth is in here

#4

I can confirm that WGX5 is working as intended once again with r6581. After more than five years, it's finally possible to play WGR2 again with a recent EDuke32 build! Thanks a lot! ^^

I would also like to check if this fixed potential Oblivion problems, but unfortunately I don't even know where exactly this mod used to have issues. Anyway, there's some chance they got fixed, too.
0

#5

View PostNightFright, on 15 January 2018 - 11:48 PM, said:

I can confirm that WGX5 is working as intended once again with r6581. After more than five years, it's finally possible to play WGR2 again with a recent EDuke32 build! Thanks a lot! ^^

I would also like to check if this fixed potential Oblivion problems, but unfortunately I don't even know where exactly this mod used to have issues. Anyway, there's some chance they got fixed, too.


One of the issues with Oblivion was the Mudlelizer shrinking you indefinitely instead of making you invincible when you hit yourself

But I believe you guys had fixed it because of a small typo in the code but never quite included the fix officially so maybe it is another issue you're talking about >_>
0

User is offline   NightFright 

  • The Truth is in here

#6

I remember Hendricks already implemented a fix related to Oblivion, which was in r5775 (fixing an issue dating back to r3580). Maybe it was that already, tbh I don't remember what it was about. Anyway, it's great the issue could be addressed so quickly. I can recommend using r6581 or newer to be used with WGR2 in the compilation readme now. ^^

In general, the compilation has the pleasant side effect of at least occasionally rediscovering/remembering old issues and being able to drag them back into the spotlight.

This post has been edited by NightFright: 16 January 2018 - 12:06 AM

0

User is offline   Danukem 

  • Duke Plus Developer

#7

I'm arriving late to the party here but it's good to see that the issue is apparently fixed. I'm actually glad that I was unaware of it, because it would have bothered me and I probably would have made a workaround CON hack instead of waiting.

Hendricks266, do you have any insight as to how this got broken?
0

User is offline   Hendricks266 

  • Weaponized Autism

  #8

Yes.

Quote

---------------------------------------------------------------- --------
r3159 | terminx | 2012-11-14 17:32:43 -0600 (Wed, 14 Nov 2012) | 4 lines

Fix the warnings when building with C++, add MSVC C++ build support. This also changes the internal type of lotags, hitags and cstat type fields to uint16_t instead of int16_t to clean up some dubious behavior wherein the code was using a value of 32768 as a flag in these fields for certain types of things, like invisible sprites (using the value as if it was uint16_t) where it was elsewhere checking if the value was < 0 (using the value as if it was int16_t). This change may break a few specific effects if any part of the relevant code was missed when looking for areas that needed to be addressed.

I think there's also a fix for the CON precache system breakage in here (lost it in my local tree when I started getting the C++ build working in MSVC, sorry!)

------------------------------------------------------------------------

When a variable's value is changed from signed to unsigned or vice versa, the meaning of the less than and greater than comparison operations changes for values that are negative with a signed variable (implying they are also in the larger half of an unsigned variable's range). After this revision, certain checks pass or fail where they previously did the opposite. I restored the behavior to match the engine and game in its original state.
1

User is offline   FistMarine 

#9

View PostNightFright, on 15 January 2018 - 11:48 PM, said:

I would also like to check if this fixed potential Oblivion problems, but unfortunately I don't even know where exactly this mod used to have issues. Anyway, there's some chance they got fixed, too.

I remember there was some bug at beginning of one of the levels that killed you instantly and you had to fix this issue by editing the map. It had to do with a ceiling that would squish you, I think.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options