1.0.22

News about GZDoom.

Moderator: Graf Zahl

User avatar
Vader
Stronghold Team
Posts: 1072
Joined: Fri May 26, 2006 15:48
Location: Bielefeld, Germany

Post by Vader »

Hey, that somehow passed my attention until now... thanks for this Graf :)
anakin s.
Posts: 34
Joined: Sat Oct 22, 2005 16:25

Post by anakin s. »

Can someone please post the syntax for using custom state labels, damage types, pain and death states, and resistances? Thanks.
User avatar
Cutmanmike
Posts: 482
Joined: Sat Sep 03, 2005 23:34

Post by Cutmanmike »

Wait until the new ZDoom version is out and it should appear on the zdoom.org wiki soon.
ant1991331
Posts: 5
Joined: Sat Jun 24, 2006 6:28

Post by ant1991331 »

Cutmanmike wrote:Wait until the new ZDoom version is out and it should appear on the zdoom.org wiki soon.
im guessing anakin may require this asap... like i would...
anakin s.
Posts: 34
Joined: Sat Oct 22, 2005 16:25

Post by anakin s. »

I guess it's okay that nobody knows the syntax for now. I'd probably have to redesign my mods anyway once I know how to use it.
User avatar
DoomRater
Posts: 397
Joined: Tue Jul 19, 2005 4:14
Location: Programmer's Room, talking to Will Harvey
Contact:

Post by DoomRater »

WildWeasel has made a few beta weapon mods that demonstrate its use. I don't know if it is as strict as the format laid out or not, because I haven't experimented with it much myself.
User avatar
wildweasel
DRD Team Admin (Inactive)
Posts: 2132
Joined: Wed Jun 29, 2005 22:00
Location: the Admincave!
Contact:

Post by wildweasel »

"A few" meaning "one", and I only ever used the custom state labels because they made it much easier than awkward A_Jumps that break easily if you add or remove states.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

Regarding custom damage, maybe this thread will help?

Here's an actor I made using custom state lables. I think it should be easy enough to figure out how they work by looking at it.
[spoiler]

Code: Select all

actor DoomImpSpawner replaces DoomImp
{
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump (256, SpawnDoomImp_B1S1, SpawnDoomImp_B1S2, SpawnDoomImp_B1S3,
			                 SpawnDoomImp_B2S1, SpawnDoomImp_B2S2, SpawnDoomImp_B2S3,
			                 SpawnDoomImp_G1S1, SpawnDoomImp_G1S2, SpawnDoomImp_G1S3,
			                 SpawnDoomImp_G2S1, SpawnDoomImp_G2S2, SpawnDoomImp_G2S3,
			                 SpawnDoomImp_I1S1, SpawnDoomImp_I1S2, SpawnDoomImp_I1S3,
			                 SpawnDoomImp_I2S1, SpawnDoomImp_I2S2, SpawnDoomImp_I2S3,
			                 SpawnDoomImp_P1S1, SpawnDoomImp_P1S2, SpawnDoomImp_P1S3,
			                 SpawnDoomImp_P2S1, SpawnDoomImp_P2S2, SpawnDoomImp_P2S3,
			                 SpawnDoomImp_P3S1, SpawnDoomImp_P3S2, SpawnDoomImp_P3S3,
			                 SpawnDoomImp_P4S1, SpawnDoomImp_P4S2, SpawnDoomImp_P4S3,
			                 SpawnDoomImp_R1S1, SpawnDoomImp_R1S2, SpawnDoomImp_R1S3,
			                 SpawnDoomImp_R2S1, SpawnDoomImp_R2S2, SpawnDoomImp_R2S3,
			                 SpawnDoomImp_T1S1, SpawnDoomImp_T1S2, SpawnDoomImp_T1S3,
			                 SpawnDoomImp_T2S1, SpawnDoomImp_T2S2, SpawnDoomImp_T2S3,
			                 SpawnDoomImp_A1S1, SpawnDoomImp_A1S2, SpawnDoomImp_A1S3,
			                 SpawnDoomImp_A2S1, SpawnDoomImp_A2S2, SpawnDoomImp_A2S3,
			                 SpawnDoomImp_O1S1, SpawnDoomImp_O1S2, SpawnDoomImp_O1S3,
			                 SpawnDoomImp_O2S1, SpawnDoomImp_O2S2, SpawnDoomImp_O2S3)
    stop
  SpawnDoomImp_B1S1: TNT1 A 0 A_SpawnItem ("DoomImp_B1S1") stop
  SpawnDoomImp_B1S2: TNT1 A 0 A_SpawnItem ("DoomImp_B1S2") stop
  SpawnDoomImp_B1S3: TNT1 A 0 A_SpawnItem ("DoomImp_B1S3") stop
  SpawnDoomImp_B2S1: TNT1 A 0 A_SpawnItem ("DoomImp_B2S1") stop
  SpawnDoomImp_B2S2: TNT1 A 0 A_SpawnItem ("DoomImp_B2S2") stop
  SpawnDoomImp_B2S3: TNT1 A 0 A_SpawnItem ("DoomImp_B2S3") stop
  SpawnDoomImp_G1S1: TNT1 A 0 A_SpawnItem ("DoomImp_G1S1") stop
  SpawnDoomImp_G1S2: TNT1 A 0 A_SpawnItem ("DoomImp_G1S2") stop
  SpawnDoomImp_G1S3: TNT1 A 0 A_SpawnItem ("DoomImp_G1S3") stop
  SpawnDoomImp_G2S1: TNT1 A 0 A_SpawnItem ("DoomImp_G2S1") stop
  SpawnDoomImp_G2S2: TNT1 A 0 A_SpawnItem ("DoomImp_G2S2") stop
  SpawnDoomImp_G2S3: TNT1 A 0 A_SpawnItem ("DoomImp_G2S3") stop
  SpawnDoomImp_I1S1: TNT1 A 0 A_SpawnItem ("DoomImp_I1S1") stop
  SpawnDoomImp_I1S2: TNT1 A 0 A_SpawnItem ("DoomImp_I1S2") stop
  SpawnDoomImp_I1S3: TNT1 A 0 A_SpawnItem ("DoomImp_I1S3") stop
  SpawnDoomImp_I2S1: TNT1 A 0 A_SpawnItem ("DoomImp_I2S1") stop
  SpawnDoomImp_I2S2: TNT1 A 0 A_SpawnItem ("DoomImp_I2S2") stop
  SpawnDoomImp_I2S3: TNT1 A 0 A_SpawnItem ("DoomImp_I2S3") stop
  SpawnDoomImp_P1S1: TNT1 A 0 A_SpawnItem ("DoomImp_P1S1") stop
  SpawnDoomImp_P1S2: TNT1 A 0 A_SpawnItem ("DoomImp_P1S2") stop
  SpawnDoomImp_P1S3: TNT1 A 0 A_SpawnItem ("DoomImp_P1S3") stop
  SpawnDoomImp_P2S1: TNT1 A 0 A_SpawnItem ("DoomImp_P2S1") stop
  SpawnDoomImp_P2S2: TNT1 A 0 A_SpawnItem ("DoomImp_P2S2") stop
  SpawnDoomImp_P2S3: TNT1 A 0 A_SpawnItem ("DoomImp_P2S3") stop
  SpawnDoomImp_P3S1: TNT1 A 0 A_SpawnItem ("DoomImp_P3S1") stop
  SpawnDoomImp_P3S2: TNT1 A 0 A_SpawnItem ("DoomImp_P3S2") stop
  SpawnDoomImp_P3S3: TNT1 A 0 A_SpawnItem ("DoomImp_P3S3") stop
  SpawnDoomImp_P4S1: TNT1 A 0 A_SpawnItem ("DoomImp_P4S1") stop
  SpawnDoomImp_P4S2: TNT1 A 0 A_SpawnItem ("DoomImp_P4S2") stop
  SpawnDoomImp_P4S3: TNT1 A 0 A_SpawnItem ("DoomImp_P4S3") stop
  SpawnDoomImp_R1S1: TNT1 A 0 A_SpawnItem ("DoomImp_R1S1") stop
  SpawnDoomImp_R1S2: TNT1 A 0 A_SpawnItem ("DoomImp_R1S2") stop
  SpawnDoomImp_R1S3: TNT1 A 0 A_SpawnItem ("DoomImp_R1S3") stop
  SpawnDoomImp_R2S1: TNT1 A 0 A_SpawnItem ("DoomImp_R2S1") stop
  SpawnDoomImp_R2S2: TNT1 A 0 A_SpawnItem ("DoomImp_R2S2") stop
  SpawnDoomImp_R2S3: TNT1 A 0 A_SpawnItem ("DoomImp_R2S3") stop
  SpawnDoomImp_T1S1: TNT1 A 0 A_SpawnItem ("DoomImp_T1S1") stop
  SpawnDoomImp_T1S2: TNT1 A 0 A_SpawnItem ("DoomImp_T1S2") stop
  SpawnDoomImp_T1S3: TNT1 A 0 A_SpawnItem ("DoomImp_T1S3") stop
  SpawnDoomImp_T2S1: TNT1 A 0 A_SpawnItem ("DoomImp_T2S1") stop
  SpawnDoomImp_T2S2: TNT1 A 0 A_SpawnItem ("DoomImp_T2S2") stop
  SpawnDoomImp_T2S3: TNT1 A 0 A_SpawnItem ("DoomImp_T2S3") stop
  SpawnDoomImp_A1S1: TNT1 A 0 A_SpawnItem ("DoomImp_A1S1") stop
  SpawnDoomImp_A1S2: TNT1 A 0 A_SpawnItem ("DoomImp_A1S2") stop
  SpawnDoomImp_A1S3: ANA1 A 0 A_SpawnItem ("DoomImp_A1S3") stop
  SpawnDoomImp_A2S1: TNT1 A 0 A_SpawnItem ("DoomImp_A2S1") stop
  SpawnDoomImp_A2S2: TNT1 A 0 A_SpawnItem ("DoomImp_A2S2") stop
  SpawnDoomImp_A2S3: TNT1 A 0 A_SpawnItem ("DoomImp_A2S3") stop
  SpawnDoomImp_O1S1: TNT1 A 0 A_SpawnItem ("DoomImp_O1S1") stop
  SpawnDoomImp_O1S2: TNT1 A 0 A_SpawnItem ("DoomImp_O1S2") stop
  SpawnDoomImp_O1S3: TNT1 A 0 A_SpawnItem ("DoomImp_O1S3") stop
  SpawnDoomImp_O2S1: TNT1 A 0 A_SpawnItem ("DoomImp_O2S1") stop
  SpawnDoomImp_O2S2: TNT1 A 0 A_SpawnItem ("DoomImp_O2S2") stop
  SpawnDoomImp_O2S3: TNT1 A 0 A_SpawnItem ("DoomImp_O2S3") stop
  }
}
[/spoiler]
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

I have to admit that it's strange that everyone seems to find the threads filled with nonsense but the ones actually containing the info about custom damage types remain obscure. And yes, it has been posted a few times how this is done.

For a damage type specific death state use

Death.{damagetype}

and for a specific pain state use

Pain.{damagetype}

All the rest about custom state labels is absolutely straightforward and there is really nothing to explain. You use them like any other label.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

The very post that I linked wrote:For the monster you want to implement this pain onto, make a new state based on the name of the damage you made, which in this case is Volt. So:
pain.Volt will make the monster jump to this state when the monster is in pain from that projectile/weapon.
death.Volt will make the monster jump to this state if the monster dies from that type of damage. Same goes with xdeath.Volt.

I'm sure this is how it worked, I'll need to test it. However, this only works with the SVN version of ZDoom or GZDoom 1.0.22.
I provided a link filled with nonsense?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

The rest of the thread was filled with garbage, so essentially, yes. :mrgreen: Maybe the one post did not - but it wasn't presented in a readable way due to lack of proper formatting. And furthermore it's not even correct. There is no

xdeath.{damagatype}

label.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

But for the most part it was accurate. I was linking the post, not the thread. :P
anakin s.
Posts: 34
Joined: Sat Oct 22, 2005 16:25

Post by anakin s. »

Thanks guys. I guess custom resistances have to wait, right?
User avatar
Tormentor667
Stronghold Team
Posts: 3555
Joined: Sun Nov 13, 2005 23:15
Location: Germany
Contact:

Post by Tormentor667 »

When will a new GZDoom version be released with all the minor fixes? (e.g. the A_Explode fix and stuff?)
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

When I find some time to do it.
Locked

Return to “News”