Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Gherkin

ZDoom's Things

Recommended Posts

Since ZDoom supports Hexen maps, does it also have the Hexen Things?
Can a Hexen map also have Doom Things in ZDoom?
If so, how does ZDoom know which Thing to place? (Are the Doom Thing numbers not conflicting with the Hexen ones?)

Please enlighten me about the possibilities and limits here. Thanks.
 

Share this post


Link to post

If you use Hexen Things in a Doom map in ZDoom you'll just get a "Gross Hack!" icon (see graphic in ZDoom.wad). To put Things from other games in any game type in ZDoom, you have to spawn them at spawnspots/mapspots.

Share this post


Link to post
Ultraviolet said:

If you use Hexen Things in a Doom map in ZDoom you'll just get a "Gross Hack!" icon (see graphic in ZDoom.wad).

To be picky, you'll get the exclamation mark graphic <!> not the gross hack. The gross hack is actually used for a 3D bridge item, similar to the one in Hexen, that Randy was going to include ages ago. Editnum 118 will put it in a map. I've used it quite a lot. Initially I used it by replacing the graphics with invisible ones and using it like a 3D bridge without having to make one using dehacked. That was before Randy included proper 3D bridge items (so, way back in ver 1.18 or something). I still use it, but now I do so if I want a bright, animated bridge item - I use new graphics a bit like the Hexen one.

There is another possibility - you may find the Hexen item that you place in a map just happens to have the same editnum as a doom item. In that case, you won't get the <!>, you'll get whichever doom item has that editnum.

Ultraviolet said:

To put Things from other games in any game type in ZDoom, you have to spawn them at spawnspots/mapspots.

Yes. but you'll have to remember to include all the graphics, sounds and SNDINFO entries fo the item, and ensure there are no clashes with Doom items that use resources with the same name before you can get everything to work correctly.

eg The Hexen suit of armour uses the same sprite name as the Doom rad-suit, a Hexen Rock item uses the same sprite as the Doom rocket pick up.

I have a file that removes all clashes with between Doom/Heretic/Hexen items but it is probably a touch excessive if you just want to include a small item or 2. If you're interested, the file is on my tripod site near the bottom of the page. Because of the Lycos system to prevent remote linking, you'll have to disable Norton Internet Security temporarily if you want to DL anything from there (that is if you are using NIS).

Share this post


Link to post

Ok, so its not possible to add Hexen things in a Doom map from the map editor.

But how about;

Can a Hexen map also have Doom Things in ZDoom?
If so, how does ZDoom know which Thing to place? (Are the Doom Thing numbers not conflicting with the Hexen ones?)

Share this post


Link to post

You use this command:

spawnspot ("ActorName", mapspot_tid, newtid, angle)

which uses actor names instead of thing numbers. To get actor names, do this at the console:

logfile log.txt
dumpclasses actor

Share this post


Link to post

- You can spawn Heretic and Hexen things in Doom

- You can spawn Hexen and Doom things in Heretic

- You can spawn Doom and Heretic things in Hexen

- You can also add decorations from one or more game to another via the use of the DECORATE lump (assuming it works in Heretic and Hexen as well as Doom; I see no reason why it shouldn't).

- You cannot otherwise get stuff from one game in the other (unless of course you replace Doom things with Heretic/Hexen things in DeHackEd, but that's rather defeating the object).

:)

Share this post


Link to post

Hmm, I think you didnt really get my point.
I dont give a fuck if its possible with scripting. I want to know when and which Things I can put in my map normally, so that I can make better configs for DB.

Share this post


Link to post
chilvence said:

So yeah, zdoom justs looks at what game is running and spawns the items for that game.


Yes, if you are talking about the things that have been placed in a map. But as Ultraviolet said, using actor names will allow you to bring any item from any of the games into any of the games.

eg, the actor name Demon1 is a Hexen green demon in Doom, Heretic and Hexen and you can put it in a map at runtime using a script (spawnspot command as Ultraviolet said) or by summoning it at the console (summon demon1). However, you can only place it in a Hexen map using an editor (edit num 31). Edit num 31 in a Doom game will give you a short green pillar and in Heretic an Enchanted shield.

The brown Demon (Actorname Demon2) is edit num 8080 in Hexen. There are no items with editnum 8080 in Doom or Heretic, so these would show the unknown item exclamation mark in those games. Again, however, you could use the actor name of Demon2 to bring the monster into either Doom or Heretic.


Edit: OK a few replies came in while I was typing...

Gherkin said:

I dont give a fuck if its possible with scripting. I want to know when and which Things I can put in my map normally, so that I can make better configs for DB.

The only things you can put into a game using an editor are the items specific to that game and any new Zdoom specific items such as bridge items, slope items etc etc. You cannot place things from Hexen or Heretic into Doom using the map editor.

So the only things you will need to include in editor config files are the Doom items and Zdoom extra stuff for your Doom config, the Heretic items and Zdoom extra stuff for your Heretic config and Hexen items and Zdoom extra stuff for your Hexen config.

Share this post


Link to post

Theres 3 types of maps; Doom/Heretic map format(where the use of IWAD wil make the difference) and Hexen map format
And theres 3 types of Things; Doom things, Heretic things and Hexen things

In what map formats can I put which Things, using normal Things in the map, no scriping, hacking or trolling?

Share this post


Link to post

It's a long time since I edited the original Doom format maps when intending them to be used in Zdoom. At that time it was possible for most (if not all) Zdoom specific items to be placed in a traditional format map. Some were very useful - eg sound sequences and ambient sounds, fountains and so on. Others were less useful - eg the sparks object which needs to be activated (usually by a script - impossible in the traditional format) or items that need to be given a Z value of something other than 0 to be effective.

Why not look into the config files of existing editors and see what they list against the various game configs?

Share this post


Link to post

Youll probably want to scan the decorate lump for new items as well, unless theres a manual thing-number-inputer-in-er

I could be wrong, but I think theres no difference in thing numbers between doom in doom format and doom in hexen format.

Share this post


Link to post

Here's a list of all ZDoom things I know of.
The ones marked with a * can only be used with Hexen-style maps. The ones marked with ** can theoretically be used in Doom-style maps but to fully use them they require a z-coordinate. The Decal (marked ***) is something I don't know how to use. I just got its number from the source code and included it here for completeness:

	4001 	"Player 5 Start"
	4002 	"Player 6 Start"
	4003 	"Player 7 Start"
	4004 	"Player 8 Start"
*	9044	"Teleport Exit with Z-Offset"
*	9043	"Teleport Exit - z-preserving"
	5001	"Point Pusher"
	5002	"Point Puller"
*	9001	"Map Spot"
*	9013	"Map Spot with Gravity"
	9045	"Swimmable Water Creator"
	9082	"Sector Silencer"
*	9046	"Secret Trigger"
*	9048	"Sound Environment"
*	9024	"Patrol Point"
*	9047	"Patrol Special"
*	9025	"ZDoom Camera"
*	9073	"ZDoom Aiming Camera"
*	9070	"Interpolation Point"
*	9075	"Interpolation Special"
*	9072	"Moving Camera"
*	9071	"Path Follower"
*	9074	"Actor Mover"
*	9300	"Polyobject Anchor Point"
*	9301	"Polyobject Spawn Point"
*	9302	"Polyobject Spawn Point (Crushing)"
*	9500	"Slope Floor to Here"
*	9501	"Slope Ceiling to Here"
*	9502	"Set Floor Slope"
*	9503	"Set Ceiling Slope"
*	9510	"Copy Floor Plane"
*	9511	"Copy Ceiling Plane"
**	9990	"Invisible Bridge"
**	5061	"Invisible Bridge (Rad=32)"
**	5064	"Invisible Bridge (Rad=16)"
**	5065	"Invisible Bridge (Rad=8)"
*	9076	"Hate Target"
**	9080	"Sky Box Viewpoint"
*	9081	"Sky Box Picker"
***	9200	"Decal"
*	9998	"Execute Special when Entering Sector"
*	9999	"Execute Special when Leaving Sector"
*	9997	"Execute Special when Hitting Sector's Floor"
*	9996	"Execute Special when Hitting Sector's Ceiling"
*	9995	"Execute Special when Using anything in Sector"
*	9994	"Execute Special when Using Wall in Sector"
*	9993	"Execute Special when Diving in Sector"
*	9992	"Execute Special when Surfacing in Sector"
*	9989	"Execute Special when Hitting Sector's Fake Floor"
*	9983	"Execute Special when Eyes go below fake Ceiling in Sector"
*	9982	"Execute Special when Eyes go above fake Ceiling in Sector"
	14001-14019	"Ambient Sound #n"
*	14065	"Ambient Sound"
	1400  	"Sound Sequence Override #1"
	1401	"Sound Sequence Override #2"
	1402	"Sound Sequence Override #3"
	1403	"Sound Sequence Override #4"
	1404	"Sound Sequence Override #5"
	1405	"Sound Sequence Override #6"
	1406	"Sound Sequence Override #7"
	1407	"Sound Sequence Override #8"
	1408	"Sound Sequence Override #9"
	1409	"Sound Sequence Override #10"
*	1411	"Sound Sequence Override"
*	9026	"Particle Spark"
	9027	"Particle Fountain - Red"
	9028	"Particle Fountain - Green"
	9029	"Particle Fountain - Blue"
	9030	"Particle Fountain - Yellow"
	9031	"Particle Fountain - Purple"
	9032	"Particle Fountain - Black"
	9033	"Particle Fountain - White"
	9061	"Stealth Zombie"
	9060	"Stealth Sergeant"
	9057	"Stealth Imp"
	9055	"Stealth Demon"
	9053	"Stealth Cacodemon"
	9052	"Stealth Baron Of Hell"
	9054	"Stealth Chaingunner"
	9059	"Stealth Revenant"
	9058	"Stealth Mancubus"
	9050	"Stealth Arachnotron"
	9056	"Stealth Hell Knight"
	9051	"Stealth Arch Vile"
	9100	"Marine / no attack"
	9101	"Marine / Fist Attack"
	9102	"Marine / Berserk Attack"
	9103	"Marine / Chainsaw Attack"
	9104	"Marine / Pistol Attack"
	9105	"Marine / Shotgun Attack"
	9106	"Marine / SSG Attack"
	9107	"Marine / Chaingun Attack"
	9108	"Marine / Rocket Attack"
	9109	"Marine / Plasma Attack"
	9110	"Marine / Railgun Attack"
	9111	"Marine / BFG Attack"

Share this post


Link to post
Gherkin said:

Theres 3 types of maps; Doom/Heretic map format(where the use of IWAD wil make the difference) and Hexen map format
And theres 3 types of Things; Doom things, Heretic things and Hexen things

In what map formats can I put which Things, using normal Things in the map, no scriping, hacking or trolling?


See my post above for all ZDoom specific things. Except for the stealth monsters and the marines (which are Doom only) they can be used in all 3 games (note that the polyobj things have different numbers in Hexen!)
Except from those each thing (decoration/monster/pickup) can only be placed in a map of the same game. Heretic and Hexen share a few items which can be placed in both games of course. If you want to place something from a different game into a map it cannot be done in the editor. You have to use a script for this.

Share this post


Link to post

yeah, as Graf said, there are actually four types of things; Doom, Hertetic, Hexen and ZDoom things. Doom/Heretic/Hexen things are all placed based on the current game (placed in the editor based on the doomednum), so there are Hexen/Heretic/Doom things with the same doomednum but depending on the gametype (doom/heretic/hexen) it will show the appropriate one. ZDoom things (which includes stuff like mapspots, cameras, polyobject spots, ambient sounds (not the hexen ones) etc etc) can be used in any game as they have unique doomednums.

as others have said the ultimate identifier of things is their actor name, which allows you to place any thing from any game into any game you wish regardless of their doomednum (via a script), but you already knew that :P

Share this post


Link to post

Will ZDoom convert the palette of sprites when you drop an ettin in a Doom level for example. Or do you have to do that?

Share this post


Link to post

it's not really possible since doom gfx don't store any palette data, they simply store the index of the color in each pixel which corresponds to the proper palette in the PLAYPAL lump. So (this is hypothetical) for instance the Hexen brown range (used by ettins) could have the same indices as doom's blue and yellow range, so any brown in the ettins will appear as blue and yellow in reference to the doom palette.

Share this post


Link to post

So, yes, "you have to do that".

The quickest way I have found to do it is to use DeePsea's internal tool for just that purpose. Export all the Ettin sprites you want to a single WAD, load up a doom project, load the Ettin (or whatever) wad and use the graphics editor to convert all the sprites (picking Hexen as the original game the sprites came from) and save. DeePsea will convert all the sprites in one go, changing the hexen palette indices to the closest matches it can find in the doom palette. The nice thing about this (aside from being quick) is that it is all done without having to export all the files as graphics, changing them in an editor, then re-importing them and setting offsets and so on.

Share this post


Link to post

The decal item is simple:

First create a decal via decaldef and give it an ID by adding a number after it's name(I just used the zdoom blood smear for the example):

decal PlacableBloodSmear 1
{
pic BSMEAR1
x-scale 0.625
y-scale 0.625
shade "68 00 00"
randomflipx
animator BloodSmearer
}

then add the decal thing on the level, set it's first argument to the decal's ID, and face it away from the wall.

It'll show the decal you chose on the wall behind it.

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
Sign in to follow this  
×