A screenshot

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads] [Discord]
[🔎 Google This Site]

Moderator: GZDoom Developers

Post Reply
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Line special 215 is very important. It plays Blackbird's communicator messages based on the player's progress in the game. It looks like this in pseudo-ACS:

Code: Select all

//**************************************************************************
//**
//** Line types 215
//**
//**************************************************************************

script 215(int tag)
{
	if (CheckInventory("Communicator"))
	{
        int message= tag/100;
        int quest = tag%100;
        
        if (CheckInventory(questtokens[quest-1])) // questtokens are items 312 and up
        {
			// set current log message to LOGxxx
			// play sound 'VOCxxx ; xxx=message
			print(s:"Incoming Message from BlackBird...");
			clearlinespecial();
		}
	}
}
Regarding friendly monsters: They actually have some code in P_LookForPlayers that apparently makes them search for enemies instead of players. I didn't thoroughly analyze this code though because it only appeared to perform a few P_AimLineAttacks for target search so I chose to use MBF's friendly AI for this. Another interesting thing is that each friendly monster has a field best described as 'owner' so that friendly monsters owned by different players in deathmatch can still attack each other. The only way this can be used is with the rebels spawned by the teleporter beacon.

The sigil pieces are a little tricky. Inside the single player game they never appear as items. When you kill the programmer or one of the spectres emerging from other characters an upgrade is automatically given to the player. For the separate pieces as items I can only guess. I think that each one gives the respective sigil's stage to the player if he is at a lower one.
If you want to see how this is handled in single player you have to look at the item dropping code in P_KillMobj because it is there that the pieces are given to the player.
Last edited by Graf Zahl on Thu Apr 15, 2004 5:59 am, edited 1 time in total.
User avatar
QBasicer
Posts: 766
Joined: Tue Sep 16, 2003 3:03 pm
Contact:

Post by QBasicer »

Question: Why are all the thing id or whatever all limited to 8bit numbers? Couldn't ZDoom bump up to 16bit numbers without a problem (i mean, who has an 8bit os/processor).
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

charris wrote:Question: Why are all the thing id or whatever all limited to 8bit numbers? Couldn't ZDoom bump up to 16bit numbers without a problem (i mean, who has an 8bit os/processor).
I think you mean the spawn ids. They are 8 bit because that was the limit in Hexen. Hexen couldn't pass parameters larger than 8 bit to its line specials (I think even in ACS that limit existed) so it didn't make sense to make it 16 bit. ZDoom just never changed it.

Thing id's (tids) can be 16 bit.
User avatar
DooMknight
Posts: 36
Joined: Sat Apr 24, 2004 5:47 am
Location: Spain

Post by DooMknight »

Very Nice
New ZDooM can use rpg's dialogs system?
User avatar
Giest118
Posts: 2914
Joined: Fri Dec 05, 2003 11:02 pm

Post by Giest118 »

One could even make a real RPG.... H-Quest...
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

giest118 wrote:H-Quest...
lilwhitemouse wrote:I wouldn't really classify H-Quest as a CRPG anyway, it's more of a repetitive dungeon romp.
Post Reply

Return to “ZDoom (and related) News”