Threshold Of Pain: Special Edition

New maps, and other projects whose primary focus is new maps, belong here.

Note: This forum, and all forums below it, are not for questions or troubleshooting! Threads created here are for active projects only! If you have questions please feel free to use the Editing subforums or General forum.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Gez
 
 
Posts: 17833
Joined: Fri Jul 06, 2007 3:22 pm

Re: Threshold Of Pain: Special Edition

Post by Gez »

Ed the Bat wrote:Speaking of maps, I saw that some of them use scripts that check for monsters by both species and TID. This means that custom monster replacement packs will break how many of these maps work.
Not necessarily. Direct replacements should work. Replacements with random spawners won't, unless you give the BOSSDEATH flag to all the spawner-spawned monsters.
User avatar
Ed the Bat
Posts: 3060
Joined: Thu May 03, 2012 1:18 pm
Graphics Processor: nVidia with Vulkan support
Location: Maryland, US
Contact:

Re: Threshold Of Pain: Special Edition

Post by Ed the Bat »

scalliano wrote:...it runs the risk of breaking a number of scripts, at best leaving the player lagging behind waiting things out, and at worst, making the maps unbeatable. A good example is the aforementioned MAP06 blue key trick.
Ah, how disappointing... I was looking forward to showing a friend through the adventure.
Gez wrote:Not necessarily. Direct replacements should work.
Nope; scripts that use thingcount() and check for a class name will not know what to look for now.
User avatar
Machine-Reaper
Posts: 415
Joined: Fri Aug 09, 2013 1:43 am
Contact:

Re: Threshold Of Pain: Special Edition

Post by Machine-Reaper »

scalliano wrote:Hold your horses there, Ed - the reason ToP doesn't support co-op is because it runs the risk of breaking a number of scripts, at best leaving the player lagging behind waiting things out, and at worst, making the maps unbeatable. A good example is the aforementioned MAP06 blue key trick.

Also, this mod was never really designed with compatibility with gameplay mods in mind. Making it so would involve total redesigns in places, and that's far too much work. Most gameplay mods are designed to run with vanilla/Boom maps, but this is a specific ZDoom episode. If authors want to create custom patches to make ToP function correctly with their mods, that's fine, but it's not for me to do.
Machine-Reaper wrote:can this be played with Brutal Doom?
Image
okay x_x
Gez
 
 
Posts: 17833
Joined: Fri Jul 06, 2007 3:22 pm

Re: Threshold Of Pain: Special Edition

Post by Gez »

Ed the Bat wrote:Nope; scripts that use thingcount() and check for a class name will not know what to look for now.
It should.

Code: Select all

int DLevelScript::ThingCount (int type, int stringid, int tid, int tag)
{
	AActor *actor;
	const PClass *kind;
	int count = 0;
	bool replacemented = false;

	if (type > 0)
	{
		kind = P_GetSpawnableType(type);
		if (kind == NULL)
			return 0;
	}
	else if (stringid >= 0)
	{
		const char *type_name = FBehavior::StaticLookupString (stringid);
		if (type_name == NULL)
			return 0;

		kind = PClass::FindClass (type_name);
		if (kind == NULL || kind->ActorInfo == NULL)
			return 0;

	}
	else
	{
		kind = NULL;
	}

do_count:
	if (tid)
	{
		FActorIterator iterator (tid);
		while ( (actor = iterator.Next ()) )
		{
			if (actor->health > 0 &&
				(kind == NULL || actor->IsA (kind)))
			{
				if (actor->Sector->tag == tag || tag == -1)
				{
					// Don't count items in somebody's inventory
					if (!actor->IsKindOf (RUNTIME_CLASS(AInventory)) ||
						static_cast<AInventory *>(actor)->Owner == NULL)
					{
						count++;
					}
				}
			}
		}
	}
	else
	{
		TThinkerIterator<AActor> iterator;
		while ( (actor = iterator.Next ()) )
		{
			if (actor->health > 0 &&
				(kind == NULL || actor->IsA (kind)))
			{
				if (actor->Sector->tag == tag || tag == -1)
				{
					// Don't count items in somebody's inventory
					if (!actor->IsKindOf (RUNTIME_CLASS(AInventory)) ||
						static_cast<AInventory *>(actor)->Owner == NULL)
					{
						count++;
					}
				}
			}
		}
	}
	if (!replacemented && kind != NULL)
	{
		// Again, with decorate replacements
		replacemented = true;
		PClass *newkind = kind->GetReplacement();
		if (newkind != kind)
		{
			kind = newkind;
			goto do_count;
		}
	}
	return count;
}
User avatar
Ed the Bat
Posts: 3060
Joined: Thu May 03, 2012 1:18 pm
Graphics Processor: nVidia with Vulkan support
Location: Maryland, US
Contact:

Re: Threshold Of Pain: Special Edition

Post by Ed the Bat »

Just ran a test to double-check what I've experienced, and sure enough, you are correct as usual. It seems I've been completely mistaken this entire time. My apologies. On the positive, I'm happy to know the engine is this flexible about this.
User avatar
scalliano
Posts: 2848
Joined: Tue Jun 21, 2005 1:16 pm
Location: Ireland

Re: Threshold Of Pain: Special Edition

Post by scalliano »

I feel an update to Shuffle coming on ...
User avatar
Average
Posts: 626
Joined: Fri May 20, 2011 4:28 am

Re: Threshold Of Pain: Special Edition

Post by Average »

scalliano wrote:I feel an update to Shuffle coming on ...
That would be cool. :)
phydeaux72

Re: Threshold Of Pain: Special Edition

Post by phydeaux72 »

OS: Windows 7 (NT 6.1) Build 7601
Service Pack 1
M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
adding C:/Program Files (x86)/Games/gzdoom/gzdoom.pk3, 583 lumps
adding c:/progra~2/games/gzdoom/iwads/doom2.wad, 2919 lumps
adding C:/Users/phydeaux72/AppData/Local/Temp/Temp1_scl_tops.zip/scl_tops.wad, 2714 lumps
I_Init: Setting up machine state.
CPU Speed: 1829 MHz
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM)2 Duo CPU T5550 @ 1.83GHz
Family 6, Model 15, Stepping 13
Features: MMX SSE SSE2 SSE3 SSSE3
I_InitSound: Initializing FMOD
FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.26.27
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.

Execution could not continue.

Script error, "scl_tops.wad:DECORATE" line 369:
Unknown render style 'Subtract'
Any suggestions here??
User avatar
Ed the Bat
Posts: 3060
Joined: Thu May 03, 2012 1:18 pm
Graphics Processor: nVidia with Vulkan support
Location: Maryland, US
Contact:

Re: Threshold Of Pain: Special Edition

Post by Ed the Bat »

User avatar
Patriot1776
Posts: 425
Joined: Sun Jun 29, 2008 10:24 am
Location: Moonshine Still, North Carolina Mountains

Re: Threshold Of Pain: Special Edition

Post by Patriot1776 »

Also, this mod was never really designed with compatibility with gameplay mods in mind. Making it so would involve total redesigns in places, and that's far too much work. Most gameplay mods are designed to run with vanilla/Boom maps, but this is a specific ZDoom episode. If authors want to create custom patches to make ToP function correctly with their mods, that's fine, but it's not for me to do.
Darn it, but I gotta have my reloading weapons and ejecting shellcasings. I'll try it with Weapons of Saturn, one of the few weapons mods I have that change the weapons and weapons alone, because it adds to the immersion immensely hearing shellcasings hitting the floor and having to reload my weapons makes me think more tactically and not be prone to try stupid things in maps.
User avatar
Average
Posts: 626
Joined: Fri May 20, 2011 4:28 am

Re: Threshold Of Pain: Special Edition

Post by Average »

I've started playing through again using the Simplistic Gore mod. It works really well (so far!) and really does add a little something (blood :P ) to the game. I recommend it. :)
User avatar
Cardboard Marty
Posts: 1149
Joined: Sat Oct 23, 2004 8:29 am
Graphics Processor: nVidia with Vulkan support
Location: Robot Mountain
Contact:

Re: Threshold Of Pain: Special Edition

Post by Cardboard Marty »

Not to cross promote, but I'm planning on doing a patch so you can play this with The Space Pirate, so eventually there will be that!
User avatar
Doomguy5th
Posts: 397
Joined: Mon Dec 23, 2013 12:49 pm
Location: Somewhere you shouldn't be

Re: Threshold Of Pain: Special Edition

Post by Doomguy5th »

Machine-Reaper wrote:can this be played with Brutal Doom?
#FACEPALM... Why not try Weapons of Saturn with this WAD.
User avatar
Machine-Reaper
Posts: 415
Joined: Fri Aug 09, 2013 1:43 am
Contact:

Re: Threshold Of Pain: Special Edition

Post by Machine-Reaper »

DoomCraft wrote:
Machine-Reaper wrote:can this be played with Brutal Doom?
#FACEPALM... Why not try Weapons of Saturn with this WAD.
Cause I wana play it with brutal doom that's why xD
User avatar
Patriot1776
Posts: 425
Joined: Sun Jun 29, 2008 10:24 am
Location: Moonshine Still, North Carolina Mountains

Re: Threshold Of Pain: Special Edition

Post by Patriot1776 »

You gotta be willing to write your own compatibility patch then, and that means lots and LOTS of code checking and reworking, as there are LOTS of scripted events in 'ToP:SE' that depend on the deaths of the pre-defined enemies to trigger them. Even adapting the Brutalized enemies to trigger said scripts could cause all sorts of bugs and game breakers because of spawning of the various actors that constitute the gibs. 'Weapons of Saturn' can be much more easily be adapted since its much lighter an addon and the only real editing you need to do is remove the stock player sounds it uses and add in the Unmaker to Slot 7 in KEYCONF. Backup your original copy of 'Weapons of Saturn' of course before you do that though.
Post Reply

Return to “Levels”