Monster sight sound getting cut off in end-game cast call.

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
User avatar
Mechadon
Posts: 470
Joined: Thu May 03, 2007 3:13 am

Monster sight sound getting cut off in end-game cast call.

Post by Mechadon »

Hello! I'm in the process of getting the Doom 64 for Doom II project finished up, and I've had some trouble fixing a bug with a new end-game casting call. This new cast call adds the new monsters to it, and I'm specifically having issues with the Motherdemon's sight sound. Everything else about the casting call works just fine.

When the Motherdemon pops up, she will only get to play a portion of her sight sound before it gets cut off by the attack sound. I also noticed this happens to the Archvile as well, and actually seems to happen in a normal game of Doom II. So I'm wondering if this is just a limitation.

Here is the current casting call code:

Code: Select all

//Updated cast call
Intermission Inter_Cast
{
	Image
	{
		// This is only here to initialize the background and the music
		Background = "$bgcastcall"
		Time = -1
		Music = "$MUSIC_MAP33"
	}
	Link = Doom64Doom2Cast
}

Intermission Doom64Doom2Cast
{
	Cast
	{
		CastClass = "Zombieman"
		CastName = "$CC_ZOMBIE"
		AttackSound = "Missile", 1, "grunt/attack"
	}
	Cast
	{
		CastClass = "ShotgunGuy"
		CastName = "$CC_SHOTGUN"
		AttackSound = "Missile", 1, "shotguy/attack"
	}
	Cast
	{
		CastClass = "ChaingunGuy"
		CastName = "$CC_HEAVY"
		AttackSound = "Missile", 1, "chainguy/attack"
		AttackSound = "Missile", 2, "chainguy/attack"
		AttackSound = "Missile", 3, "chainguy/attack"
	}
	Cast
	{
		CastClass = "DoomImp"
		CastName = "$CC_IMP"
		AttackSound = "Missile", 2, "imp/attack"
	}
	Cast
	{
		CastClass = "NightmareImp"
		CastName = "$CC_NIMP"
		AttackSound = "Missile", 2, "imp/attack"
	}
	Cast
	{
		CastClass = "Demon"
		CastName = "$CC_DEMON"
		AttackSound = "Melee", 1, "demon/melee"
	}
	Cast
	{
		CastClass = "Spectre"
		CastName = "$CC_Spectre"
		AttackSound = "Melee", 1, "demon/melee"
	}
	Cast
	{
		CastClass = "LostSoul"
		CastName = "$CC_LOST"
		AttackSound = "Missile", 1, "skull/melee"
	}
	Cast
	{
		CastClass = "Cacodemon"
		CastName = "$CC_CACO"
		AttackSound = "Missile", 1, "caco/attack"
	}
	Cast
	{
		CastClass = "NightmareCacodemon"
		CastName = "$CC_NCACO"
		AttackSound = "Missile", 1, "caco/attack"
	}
	Cast
	{
		CastClass = "HellKnight"
		CastName = "$CC_HELL"
		AttackSound = "Missile", 1, "baron/attack"
	}
	Cast
	{
		CastClass = "BaronOfHell"
		CastName = "$CC_BARON"
		AttackSound = "Missile", 1, "baron/attack"
	}
	Cast
	{
		CastClass = "Arachnotron"
		CastName = "$CC_ARACH"
		AttackSound = "Missile", 1, "baby/attack"
	}
	Cast
	{
		CastClass = "PainElemental"
		CastName = "$CC_PAIN"
		AttackSound = "Missile", 2, "skull/melee"
	}
	Cast
	{
		CastClass = "Revenant"
		CastName = "$CC_REVEN"
		AttackSound = "Missile", 1, "skeleton/attack"
		AttackSound = "Melee", 1, "skeleton/swing"
		AttackSound = "Melee", 3, "skeleton/melee"
	}
	Cast
	{
		CastClass = "Fatso"
		CastName = "$CC_MANCU"
		AttackSound = "Missile", 1, "fatso/attack"
		AttackSound = "Missile", 4, "fatso/attack"
		AttackSound = "Missile", 7, "fatso/attack"
	}
	Cast
	{
		CastClass = "Archvile"
		CastName = "$CC_ARCH"
		AttackSound = "Missile", 1, "vile/start"
	}
	Cast
	{
		CastClass = "Cyberdemon"
		CastName = "$CC_CYBER"
		AttackSound = "Missile", 1, "weapons/rocklf"
		AttackSound = "Missile", 3, "weapons/rocklf"
		AttackSound = "Missile", 5, "weapons/rocklf"
	}
	Cast
	{
		CastClass = "Motherdemon"
		CastName = "$CC_MOTHER"
		AttackSound = "Missile", 1, "fatso/attack"
	}
	Cast
	{
		CastClass = "DoomPlayer"
		CastName = "$CC_HERO"
		AttackSound = "Missile", 1, "weapons/sshotf"
	}
	Link = Doom64Doom2Cast //restart cast call
}
Something that I couldn't figure out from the wiki page is what 'offset' is supposed to do with the attack sound. I tried some random values for that to see if it could fix the issue, but it didn't seem to do much.

Another bit of info that might be pertinent is that I have the Motherdemon setup in vanilla dehacked, but I also recreated it in decorate. It replaces the Spider Mastermind and it also uses sound slots from it, Commander Keen, and the Icon of Sin. Below is the SNDINFO entries for that:

Code: Select all

// Motherdemon sounds
mother/sight			dsspisit
mother/active			dskeendt
mother/pain				dsbospn
mother/death			dsspidth
I can also send along the current test wad; just let me know and I'll PM you a link (its a private test version so I would like to avoid making the link public).

The project is set to release on the 13th of July, so my time is somewhat limited. If anyone can help me out, I would really appreciate it!
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49120
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Monster sight sound getting cut off in end-game cast cal

Post by Graf Zahl »

The sounds should be on different channels, but there may be a limitation with UI sounds.
The offset you mention is supposed to be a state offset, just looking at the Mancubus's definition should give you enough clues what it's supposed to do.
User avatar
Mechadon
Posts: 470
Joined: Thu May 03, 2007 3:13 am

Re: Monster sight sound getting cut off in end-game cast cal

Post by Mechadon »

I understand the state offset now, thank you for clarifying!

The Archvile suffers from the same issue with its sight sound, and that sorta made me think it might be a limitation. This isn't a huge deal in the end, but I wasn't sure if there was a way to fix it or if I was doing something wrong.

Return to “Scripting”