How do I reproduce ... ?

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

Locked
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

How do I reproduce ... ?

Post by Boingo the Clown »

When I was originally working on The Ultimate Chex Quest for Legacy, I did some nonstandard hack editing to get Heretic objects to appear in DooM mode, used Heretic code pointers, and took advantage of a bug in Legacy to create a special effect.

Is it possible to reproduce these in GZDooM?

1.) Legacy has a bug where dynamic lights will illuminate the transparent areas of textures with see through sections. I used this error to create a glowing shaft of light around teleporter pads by creating completely transparent textures and assigning them to the edges of the pads, and placing dynamic light on the pad itself. The effect was further enhanced by having the light bob up and down, creating a pulsating effect.

Is it possible to recreate this effect in GZDooM?


2.) I also used the Heretic teleporter glitter object on my teleporter pads.

Is it possible to recreate the the teleporter glitter?

This pic shows the two effects together:

Image

3.) I converted a Disciple of D'Sparil for use as a monster in T.U.C.Q. to take advantage of the three fireball spread attack. How do I reproduce this in the DECORATE lump?

4.) This one is very important. I have no experience whatsoever with ACS script. I need some scripting to produce in game animation cutscenes. How I intend to do it is this:

--The player is temporarily immobilized inside a tiny room. His ability to shoot must be turned of.

--A camera is set up in a room facing a wall.

--A series of animated textures are shown on the wall so that the player sees them through the camera. Each animated texture appears for a limited amount of time, accompanied by a sound clip. The textures and sound clips are shown and played in order until the entire animation is played out.

--The level ends, with the player's ability to shoot restored.

I actually, for a brief shining moment, had this type of set up working in fraggle script, thanks to some help, but, alas, it no longer works. I am therefore throwing myself upon the mercy of anyone who is willing to help in getting this working.
User avatar
InsanityBringer
Posts: 137
Joined: Fri Jun 15, 2007 22:59

Post by InsanityBringer »

About 2. In decorate, you can inherit from TeleGlitterGenerator1 to add a DoomEd number like this:

Code: Select all

Actor TeleGlitterGenerator1Doom : Teleglittergenerator1 20000 (or some other doomed number)
{
}
About 4. This is a little more complex, but I will try. First place a camera (obj 9025) in the sector with the line that will show the textures, and apply a tag to the camera object. Make sure it faces that line and has proper Z-Height (set it to 41 if it needs to be at player view height). Then create a dummy sector to hold the player and add a teleport spawn there. If you want the player to teleport out, then you can set up a teleport spawn where he will appear afterwards. On the line that will display the textures, set its line type to 121 and make the first argument a uniuqe line tag. Next comes the sounds. In a SNDINFO lump, define all of the sounds you need to play. The simplist form would be like <Sound Name> <Sound Lump Name> (remove the <>). Then comes the script.

Code: Select all


Script num <void>
{
ChangeCamera(<camera obj tag>,0,0);
Teleport(<teleport spawn 1 tag>);
SetPlayerProperty (1, 1, PROP_TOTALLYFROZEN);
SetLineTexture(<Lineid>, SIDE_FRONT, TEXTURE_MIDDLE, "Texture Name Here");
LocalAmbientSound("sndinfo sound name", 127);
Delay(35*5); //change the 5 to however long you want the picture to lase
//repeat as much as needed
ChangeCamera(0,0,0);
Teleport(<teleport spawn 2 tag>);
SetPlayerProperty (1, 0, PROP_TOTALLYFROZEN);
}

If you need any clairfaction on something, ask me.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

The teleport glitter doesn't even need to be entered into decorate, you can just spawn it at a mapspot using ACS. But having it with it's own Doom edit number could be useful right enough.

All actors from all supported games (Doom, Heretic, Hexen, Strife) can be ported across from their original game to any of the other supported games. (G)Zdoom even has a system in place to remove conflicts where different sprites have the same name in the different games.

As for the translucent wall, would putting a texture on the wall and setting it to be translucent cover what you need? Or perhaps a translucent TGA file or something might work (I'm not so familiar with using them).

Anyway, everything you have asked about is possible one way or another in GZdoom.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

3:

Here's a good approximation of the Wizard's attack sequence. Of course you can take out the translucency stuff if you don't need it. The important stuff starts with the A_PlayWeaponSound call.

Code: Select all

	Missile:
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(1)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(0.4)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(1)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(0.4)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(1)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(0.4)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(1)
		DDDA C 0 A_FaceTarget
		DDDA C 4 A_SetTranslucent(0.4)
		DDDA C 0 A_FaceTarget
		DDDA E 0 A_PlayWeaponSound("insect/attack")
		DDDA E 0 A_CustomMissile("InsectFX1", 24, 0, 0, 1)
		DDDA E 0 A_CustomMissile("InsectFX1", 24, 0, -8, 1)
		DDDA D 12 A_CustomMissile("InsectFX1", 24, 0, 8, 1)
		DDDA D 0 A_SetTranslucent(1)
		Goto See
About 1:

Since you correctly classified that behavior as a bug it's obvious that it isn't emulated. You will have to mess around with translucent textures yourself to get the desired effect.
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

Aside from the Legacy bug, is there another way of creating a "shaft of light" effect in GZDooM?
User avatar
wildweasel
DRD Team Admin (Inactive)
Posts: 2132
Joined: Wed Jun 29, 2005 22:00
Location: the Admincave!
Contact:

Post by wildweasel »

You could create a new texture that is a simple gradient from black to light blue, then apply that to the "walls" of the beam of light, set it to translucent and make sure it's using additive translucency. It'll take a bit of experimenting to find the perfect effect, but as far as I know, that's how the KDIZD team did it with their forcefields.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

Yup, a translucent line would be my first choice, and coloured lighting or fog could also be used to enhance the effect. You could even put a 3D floor in there if you wanted to.
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

wildweasel wrote:You could create a new texture that is a simple gradient from black to light blue, then apply that to the "walls" of the beam of light, set it to translucent and make sure it's using additive translucency. It'll take a bit of experimenting to find the perfect effect, but as far as I know, that's how the KDIZD team did it with their forcefields.
How do I do that?


I also just thought of something else from Legacy that I will want to simulate.

Legacy creates splashes like those used in Heretic. Is it possible to fix it so that a splash is generated with sound when the player hits 3D water, or at least various water textures when the player hits it? Is it possible to have more than one kind of splash? T.U.C.Q. has many lovely pools of green slime, and it would be great to have a nice sticky glop appear when the player lands in one.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Splashes are fully supported. See here. The splashes are predefined but you need to assign them to the liquid textures and provide the sprites and sounds.

Feel free to use my splash mod:

http://grafzahl.drdteam.org/other/splashes.pk3
Locked

Return to “GZDoom”