Chocolate doom error - P_AddActivePlat: no more plats!

So when testing my map in chocolate doom i could play my map fine until i tried to open a door in one place, game crashed and gave me error p_AddActivePlat: no more plats! What does this mean, what do i have to change in my map so it'll work?

Share this post


Link to post

Remove some platforms from the level. Do you have an area with a moving platform puzzle, or too many elevators active at once (don't forget monsters can activate them, too)?

Doors also count as temporary platforms. The limit is about 20, I think.

Share this post


Link to post

Yeah i think i have over 20, didn't think chocolate doom had so much limits. And i have moving platform puzzle right near the lowering "elevator" door where the error occurs.

Share this post


Link to post

Edited the map a bit, removed one platform and did some bugfixes and now the map crashes at the start, gives me horrible lag at first. Wtf is this shit.

Share this post


Link to post
Maes said:

Doors also count as temporary platforms. The limit is about 20, I think.

Wrong. Only thinkers that use a plat_t structure are counted toward this limit. Doors use vldoor_t.

Share this post


Link to post
Solid Snake said:

Yeah i think i have over 20, didn't think chocolate doom had so much limits.

The point of Chocolate Doom is to have the very same limits, bugs, and oddities as vanilla Doom. So ChocoDoom is going to have a lot of limits, exactly as many as vanilla Doom.

There's an overview of vanilla limits here.

Share this post


Link to post

Thanks for your replies everyone, ill check out that vanilla limits page. But what about that random crash? All I did was remove one platform, thats all. BTW why isn't chocolates doom point to fix all the bugs and still remain pretty much classic doom?

Share this post


Link to post
Solid Snake said:

BTW why isn't chocolates doom point to fix all the bugs and still remain pretty much classic doom?

Because

  • If it did, then it wouldn't be sufficiently close to vanilla to deserve keeping the icecream joke name of "Chocolate Doom"
  • More importantly, ChocoDoom could no longer be used as a test platform to find out if something works in vanilla Doom
  • Every other source port out there is already fixing bugs and raising or removing limits
  • There are at least three forks of Chocolate Doom that focus on enhancing gameplay by fixing bugs, raising limits, and other such tweaks, namely Strawberry Doom, Crispy Doom, and Doom Retro.
There's some more explanation here.

Share this post


Link to post
Solid Snake said:

But what about that random crash? All I did was remove one platform, thats all.

If it's the same error message, check that you don't have a bunch of platforms using 0 as their tag number.

Share this post


Link to post

It's probably an invalid tag error. The door you tried to open that led to the error was of a type that needs a tag, and none was given. Change the door type to one that needs no tag (simplest) or add a tag so that the door tag matches the sector tag.

The thing is, that the tag error means that every sector with tag zero (i.e. pretty much every sector in the map) then tries to move. This results in an enormous number of "moving platforms" and thus the plats problem.

Share this post


Link to post
Quasar said:

Wrong. Only thinkers that use a plat_t structure are counted toward this limit. Doors use vldoor_t.


Daaaamn I'm rusty ΧD

Strangely enough, while doors simply have their own associted vldoor_t object, and platforms have their own plat_t one, doors don't require pooling slots from a limited array in order to be active. If the purpose of that array was to simply iterate between platforms, that could've been achieved with other types of linking.

But hey, this is Doom....everything makes sense, for the most part ;-)

Oh and the MAXPLATS limit is 30, not 20. Daaaaamn I'm rusty O_o

Share this post


Link to post
Maes said:

Daaaamn I'm rusty ΧD

Strangely enough, while doors simply have their own associted vldoor_t object, and platforms have their own plat_t one, doors don't require pooling slots from a limited array in order to be active. If the purpose of that array was to simply iterate between platforms, that could've been achieved with other types of linking.

But hey, this is Doom....everything makes sense, for the most part ;-)

Oh and the MAXPLATS limit is 30, not 20. Daaaaamn I'm rusty O_o

Yes, the plat and ceiling limits were completely unnecessary and were just one of the best examples of plain bad programming that made it into the released code.

Share this post


Link to post
Gez said:

Because

  • If it did, then it wouldn't be sufficiently close to vanilla to deserve keeping the icecream joke name of "Chocolate Doom"
  • More importantly, ChocoDoom could no longer be used as a test platform to find out if something works in vanilla Doom
  • Every other source port out there is already fixing bugs and raising or removing limits
  • There are at least three forks of Chocolate Doom that focus on enhancing gameplay by fixing bugs, raising limits, and other such tweaks, namely Strawberry Doom, Crispy Doom, and Doom Retro.
There's some more explanation here.


I always use Doom2.exe through dosbox to see if map is vanilla, it's as tedious anyway with that command line and stuff.

Grazza

Thanks, i'll see if I have any invalid tags.

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