DB2 error. No ML_SSECTORS lump?

Hello. I opened a WIP map of mine, added some stuff and tried to play and save the map, but I get this message:

P_SetupLevel: Level wad structure is incomplete. There is no ML_SSECTORS lump.

wtf? Does this mean I have to start over? The old file works just fine.

I have no (NO!) idea how to work on the WAD in SLADE or Slumped or whatever, so if it can be fixed, someone will have to help me out.

Share this post


Link to post

Not sure what this error message refers to, but the first thing I would try to do in your position, provided you've already ran the map analysis tool and found no errors, would be to change the nodebuilder in "Tools > Game Configuration", move a vertex around (so it rebuilds nodes when you save), save again and see if this does the trick.

Share this post


Link to post

Ah, why didnt I think of that.

Ok, ZenNode does not work (this is the one I`ve been using all the time previously), but ZDBSP works fine. Are there any differences between these two? Is it OK to use ZDBSP?

Share this post


Link to post

My understanding is shaky at best, but I believe the differences have something to do with REJECT tables, ZDBSP either not creating them or making ones filled with 0s (ZDBSP is the ZDoom nodebuilder and ZDoom doesn't need REJECT tables).

In practical terms, I think it means a map built with ZDBSP will not run in vanilla or plain Boom. PrBoom+ works fine, although you might get worse performance in extreme cases (large maps with thousands of monsters). On the flipside, ZDBSP saves much faster and tends to cause less nodebuilding oddities.

Share this post


Link to post

Bumber!!

I know its not helpful at all, but hope you get it sorted, sucks losing work. Have you not got a backup you can look at before those changes?

If you do fix it post back and let us know the solution in case somebody else has the issue.

Share this post


Link to post
Phml said:

My understanding is shaky at best, but I believe the differences have something to do with REJECT tables, ZDBSP either not creating them or making ones filled with 0s (ZDBSP is the ZDoom nodebuilder and ZDoom doesn't need REJECT tables).

In practical terms, I think it means a map built with ZDBSP will not run in vanilla or plain Boom. PrBoom+ works fine, although you might get worse performance in extreme cases (large maps with thousands of monsters). On the flipside, ZDBSP saves much faster and tends to cause less nodebuilding oddities.


ZDBSP has the option of using a zero-filled reject table, or a zero-length reject table. The former is valid and will work fine in vanilla, although special handling needs to be done at the engine level to support the latter. I don't use ZDBSP, so I don't know if it's actually capable of writing a "proper" reject table, but from what I recall, the actual speed gained from using one is negligible with today's computers anyway.

If ZDBSP does not output a vanilla-compatible WAD, but ZenNode does, then it's probably because ZDBSP is not configured properly. You need to take a look at what command-line parameters are being sent to it.

The error in question does not ring a bell to me, however, so it might actually be something wrong with the map itself that prevents the nodebuilder from building the nodes correctly. After compiling the map, when you examine the wad from Slade3, are each of the various map lumps present (and also not zero bytes in size)?

Share this post


Link to post
EarthQuake said:

After compiling the map, when you examine the wad from Slade3, are each of the various map lumps present (and also not zero bytes in size)?


I have no idea. Whats a lump? That should say alot about my knowledge in this area.

It`s weird though, how the map suddenly wont work anymore (with ZenNode), while the old file without the new sectors works just fine.
There are no mapping errors according to DB2 error checker.

Share this post


Link to post

Ah. Hmm. No the map is missing a few lumps for some reason.

It has: THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SECTORS

Another map of mine which I opened has: THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SECTORS, SEGS, SSECTORS, NODES, REJECT and BLOCKMAP.

Share this post


Link to post

THINGS, LINEDEFS, SIDEDEFS, VERTEXES, and SECTORS are the lumps created by the editor. They're the ones that you make and control directly.

SEGS, SSECTORS, NODES, REJECT and BLOCKMAP are created by the nodebuilder. If you don't have them, it means the nodebuilder didn't build nodes.

Share this post


Link to post

The size of the map (or detail) may be causing the node builder issues (ZDBSP, ZENNODE, other)?

Share this post


Link to post

Indeed. And ZenNode refuse to make them.

So my question is: if I save the map/nodes with ZDBSP, will it cause problems if not played in ZDoom(engines)? The map is for a limit removing and Boom compitable project.

Share this post


Link to post

Depends on what parameters are sent to the nodebuilder by DB2. I thinik that by default, ZDBSP creates nodes compatible with vanilla, but doesn't bother creating the REJECT lump.

See this for ZDBSP's documentation. -R -g should give you maximum compatibility; whereas -z will prevent the nodes from working on non-ZDoom-derived ports.

Share this post


Link to post

Ok, so how do I add -R and -g to the compiling process?

This is how the ZDBSP cfg looks like:

nodebuilders
{
	zdbsp_normal
	{
		title = "ZDBSP - Normal (no reject)";
		compiler = "zdbsp";
		parameters = "-c -o%FO %FI";
		// -c adds comment indices in UDMF format. This is not documented in the ZDBSP usage.
	}
	
	zdbsp_fast
	{
		title = "ZDBSP - Normal (zero reject)";
		compiler = "zdbsp";
		parameters = "-R -o%FO %FI";
	}
	
	zdbsp_compressed
	{
		title = "ZDBSP - Compress nodes";
		compiler = "zdbsp";
		parameters = "-z -o%FO %FI";
	}
}


This is like arabic to me :O

Share this post


Link to post

You could add -g to the parameters for zdbsp_fast, though in the following example I've added it as a new nodebuilder configuration (zdbsp_boom) which can be selected from within "Game Configurations" in DB2.

nodebuilders
{
	zdbsp_normal
	{
		title = "ZDBSP - Normal (no reject)";
		compiler = "zdbsp";
		parameters = "-c -o%FO %FI";
		// -c adds comment indices in UDMF format. This is not documented in the ZDBSP usage.
	}
	
	zdbsp_fast
	{
		title = "ZDBSP - Normal (zero reject)";
		compiler = "zdbsp";
		parameters = "-R -o%FO %FI";
	}
	
	zdbsp_compressed
	{
		title = "ZDBSP - Compress nodes";
		compiler = "zdbsp";
		parameters = "-z -o%FO %FI";
	}
	
	zdbsp_boom
	{
		title = "ZDBSP - Boom (zero reject)";
		compiler = "zdbsp";
		parameters = "-R -g -o%FO %FI";
	}
}

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now