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]
[Fixed] Possible Hexen/HUB bugs
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
-
- Posts: 10002
- Joined: Fri Jul 18, 2003 6:18 pm
- Location: Idaho Falls, ID
-
- Lead GZDoom+Raze Developer
- Posts: 49211
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
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:
It only takes the keys and the Wings but leaves the rest.
Here's the code from original Hexen, that takes the artifacts away:
Code: Select all
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;
}
-
- Posts: 10002
- Joined: Fri Jul 18, 2003 6:18 pm
- Location: Idaho Falls, ID
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:
Note the different cluster numbers.
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

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 all
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
-
- Posts: 10002
- Joined: Fri Jul 18, 2003 6:18 pm
- Location: Idaho Falls, ID
-
- Posts: 1066
- Joined: Tue Jul 15, 2003 5:13 pm
- Location: That little island pritch created.
-
- Posts: 10002
- Joined: Fri Jul 18, 2003 6:18 pm
- Location: Idaho Falls, ID
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.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.
/me waits for Randy.
-
- Lead GZDoom+Raze Developer
- Posts: 49211
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
-
- Site Admin
- Posts: 7749
- Joined: Wed Jul 09, 2003 10:30 pm
-
- Posts: 10002
- Joined: Fri Jul 18, 2003 6:18 pm
- Location: Idaho Falls, ID
Yay. I helped. I guess there really is a first time for everything.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.
