[Fixed] Possible Hexen/HUB bugs

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Possible Hexen/HUB bugs

Postby HotWax » Fri Nov 14, 2003 1:19 pm

Okay, I'm definately not the expert on Hexen, but I'm pretty sure this is not the way things are supposed to be.

I played through the first hub and at the end spotted some wings out of reach. After a quick look around (I know, it didn't even require going to 3 different maps to hit 7 different switches, I was truly amazed!) I found the way to get to it, nabbed it, and remembering that Hexen wings are infinite, turned it on. Of course then I realized that they might only last until the next map change and that I had probably just wasted them, but that's not the point.

I was pleased to find out that I could take them with me into all the levels within the hub, so cool beans there. And then, after thoroughly exploring to make sure I hadn't missed anything, I went to the next hub... and still had the wings.

Okay, now I'm pretty sure that getting ONE wings artifact should not mean you get wings the rest of the game. So.... what gives?

The second (probably related) bug: In Heretic whenever you go to a new level, all your artifacts are reduced in quantity to 1, and if you had wings, they're taken from you. There was a discussion about this a long time ago, and Randy said this is normal behavior. I *think* he also mentioned that it occurs in Hexen too, but only when you go from one hub to another. Well... after leaving the first hub, I still had 25 (!!) flasks, so that apparently isn't working either.

All using 2.0.52.

[edit]Just tested with Heretic and the items ARE being removed between levels like they are supposed to. So, either this problem is related to Hexen only, or it's working as intended...[/edit]
User avatar
HotWax
Do what you must, and pay the price later.
 
Joined: 18 Jul 2003
Location: Idaho Falls, ID

Postby Graf Zahl » Fri Nov 14, 2003 1:30 pm

Hexen doesn't take any artifact away, except the Wings. That part is ok. The only problem here is that the Wings remain when you change the hub.

Here's the code from original Hexen, that takes the artifacts away:

Code: Select allExpand view
      if(P_GetMapCluster(gamemap) != P_GetMapCluster(LeaveMap))
      { // Entering new cluster
         // Strip all keys
         player->keys = 0;

         // Strip flight artifact
         for(i = 0; i < 25; i++)
         {
            player->powers[pw_flight] = 0;
            P_PlayerUseArtifact(player, arti_fly);
         }
         player->powers[pw_flight] = 0;
      }


It only takes the keys and the Wings but leaves the rest.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Postby HotWax » Fri Nov 14, 2003 4:25 pm

Thanks for clearing that up.

It definately seems like the issue would be with the code segment above. Maybe it's not getting executed for some reason?

I've attached a save file below that has the player near the end of The Seven Portals (MAP02) right before the portal to the next hub (MAP13, "Shadow Wood") and with a Wings artifact in the inventory.

If you:

A) Don't use the artifact, just walk into the portal, you'll still have the wings after you arrive at MAP13. The above code should strip all unused wings artifacts from the inventory... or..

B) Use the artifact, then walk (or fly :)) into the portal. You'll still be able to fly once you reach MAP13.

Both behaviors would seem to be incorrect.

Here are the appropriate snips of the MAPINFO lump from my copy of HEXEN.WAD, just to prove it's not something wrong with my copy:

Code: Select allExpand view
map 2 "SEVEN PORTALS"
warptrans 2
next 3
cluster 1
sky1 SKY4 0
sky2 SKY4 0
cdtrack 2

map 13 "SHADOW WOOD"
warptrans 7
next 8
cluster 2
sky1 SKYWALL 0
sky2 SKY1 80
doublesky
cdtrack 8


Note the different cluster numbers.
User avatar
HotWax
Do what you must, and pay the price later.
 
Joined: 18 Jul 2003
Location: Idaho Falls, ID

Postby HotWax » Fri Nov 14, 2003 4:30 pm

Update: Definately the above code. Try using "give all" and then go through the portal. You keep your keys (!!!) into the next hub as well.

/me upgrades bug from "Game Affecting" to "Game Breaking"
User avatar
HotWax
Do what you must, and pay the price later.
 
Joined: 18 Jul 2003
Location: Idaho Falls, ID

Postby Nanami » Fri Nov 14, 2003 4:32 pm

Recently Randy made it so you keep key items in coop because if you got a puzzle item and died, you'd lose it. I wonder if this was accidentally adjusted due to that fix.
User avatar
Nanami
Natdhipytadd
 
Joined: 15 Jul 2003
Location: That little island pritch created.

Postby HotWax » Fri Nov 14, 2003 4:42 pm

Nanami wrote:Recently Randy made it so you keep key items in coop because if you got a puzzle item and died, you'd lose it. I wonder if this was accidentally adjusted due to that fix.


It's a possibility, but if it IS related to the above code, I don't see why that code would have anything to do with respawning. (It seems to check if the new level and the level you're leaving are in the same hub, something that should only have to happen when you change to a new level?) Of course the actual ZDoom source might not deal with things in the same way, so you could be on to something after all.

/me waits for Randy.
User avatar
HotWax
Do what you must, and pay the price later.
 
Joined: 18 Jul 2003
Location: Idaho Falls, ID

Postby Graf Zahl » Fri Nov 14, 2003 4:45 pm

Strange bug. I can't find any obvious reason in the code but it's definitely there. It happens on my system, too.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Postby randi » Fri Nov 14, 2003 4:47 pm

Fixed. The game thought both levels were on the same hub, because Hexen's MAPINFO doesn't use clusterdef to define clusters. So even though the maps are defined as being in different clusters, the game treated them as if they were both part of the "default" cluster.
User avatar
randi
Site Admin
 
Joined: 09 Jul 2003

Postby HotWax » Fri Nov 14, 2003 4:50 pm

randy wrote:Fixed. The game thought both levels were on the same hub, because Hexen's MAPINFO doesn't use clusterdef to define clusters. So even though the maps are defined as being in different clusters, the game treated them as if they were both part of the "default" cluster.


Yay. I helped. I guess there really is a first time for everything. :shock:
User avatar
HotWax
Do what you must, and pay the price later.
 
Joined: 18 Jul 2003
Location: Idaho Falls, ID


Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 1 guest