Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
zzzornbringer

scripting in vanilla?

Recommended Posts

after popular demand, i decided to make my new map compatible with the majority, if not all available, sourceports. i now use the standard "doom:doom2(doom format)".

aside from some textures not showing and mis-aligned, the script isn't working. it's a very simple script that just moves a floor and a ceiling:

#include "zcommon.acs"

script 1 enter
{
while(true)
{
ceiling_raisebyvalue(2,1,48);
delay(192);
floor_lowerbyvalue(2,2,48);

delay(random(1024,2048));

ceiling_lowerbyvalue(2,1,48);
delay(192);
floor_raisebyvalue(2,2,48);

delay(random(512,1024));
}
}
i created a new script file in gzdoombuilder. i selected the "legacy fragglescript". had to save this as a .fs file. it compiles but it doesn't seem to work when i start the map.

is it even possible to run these scripts or do i have to learn a new set of functions? how does this work?

in this example, the script is just aesthetic, so not really important but i would like to have it non the less.

thanks.

Share this post


Link to post

There is no scripting support in vanilla Doom. You have to get creative with the standard line actions.

Share this post


Link to post

Not to mention different ports have different, incompatible scripting systems.

That said, a script that moves both a floor and ceiling should be re-creatable in all of them.

Share this post


Link to post

Okay, so, let's clear a few misconceptions right off the bat.

scripting in vanilla? no.

zzzornbringer said:

after popular demand, i decided to make my new map compatible with the majority, if not all available, sourceports. i now use the standard "doom:doom2(doom format)".

aside from some textures not showing and mis-aligned, the script isn't working. it's a very simple script that just moves a floor and a ceiling:

#include "zcommon.acs"


Okay. A Doom format map with a compiled script lump (BEHAVIOR) will be treated as a Hexen format map and completely broken, because the data sizes for things and linedefs are not the same.

And a port that doesn't support Hexen format maps will not be able to use scripts anyway.

zzzornbringer said:

i created a new script file in gzdoombuilder. i selected the "legacy fragglescript". had to save this as a .fs file. it compiles but it doesn't seem to work when i start the map.

FraggleScript is a completely different scripting language, which is not compiled at all.

It is also not a vanilla-compatible feature, in fact I'd argue that you'll probably get less support than with ACS, because while you gain Doom Legacy, you lose on Odamex, Zandronum, Eternity, and Vavoom.

Share this post


Link to post

thanks for the replies.

man, the more i think about it, the more i realize what mess we have with all the possible ports. can't the coders just unite and make one ultimate version that runs on modern systems and offers the most possible functions? it doesn't really have a lot of benefits to have a pletora of source ports that all do basically the same, yet they don't.

Share this post


Link to post
zzzornbringer said:

can't the coders just unite and make one ultimate version that runs on modern systems and offers the most possible functions?

no

First, there are many features that are mutually exclusive. Secondly, port of choice is not always dictated by the number of available features; just look at the success of Chocolate Doom.

Share this post


Link to post
zzzornbringer said:

thanks for the replies.

man, the more i think about it, the more i realize what mess we have with all the possible ports. can't the coders just unite and make one ultimate version that runs on modern systems and offers the most possible functions? it doesn't really have a lot of benefits to have a pletora of source ports that all do basically the same, yet they don't.

I think an attempt at a universal port standard would just lead to even more fracturing.

Share this post


Link to post
zzzornbringer said:

can't the coders just unite and make one ultimate version that runs on modern systems and offers the most possible functions?

The ironic thing is, this is what the UDMF (Universal Doom Mapping Format) was created for.. But even then support for it is pretty damn limited between ports, it's so non-universal that, for over a year, I thought the format name had something to do with the UDM series of wads....

I was lucky enough to start with vanilla mapping so I avoided these troubles by just making (almost) everything vanilla limit removing.

If all you want is for a texture to move up and down, you can replace the wall with a tagged crusher sector, and put the floor and ceiling both low enough so that, to the onlooker, it just appears as a scrolling wall. There are even tricks to make such a sector totally silent in vanilla! (see uroburos.wad for a prime example)

Trust me, getting used to vanilla mapping is a good thing, in the future you'll always know what format you want to dive in with!

Share this post


Link to post

UDMF was always intended to be adopted by ports that want to extend the existing map format with more modding features. So outside of ZDoom and Eternity, ports that could potentially be interested are the likes of Doomsday, Risen3D, 3DGE... For ports like PrBoom+ it'd be quite unlikely, and for ports like Chocolate Doom it's right out of question.

The need for UDMF came from how the limits of the binary formats were reached, with for example all the bit room available for new thing flags or linedef flags being occupied, and the compatibility conflicts that came from different ports assigning different meanings to the same flag value. UDMF allows each port to extend the map format as they wish, but in a "safe" way.

Share this post


Link to post
Doomkid said:

Trust me, getting used to vanilla mapping is a good thing, in the future you'll always know what format you want to dive in with!

Oh, so true, if one wants to be saddled with a limited feature set.

If, on the other hand, one wants to do something special, then one should have started with the advanced source
port of one's choice.

Learning a new feature set after having mapped only for vanilla is not an easy route. To grasp the intricacies of
scripting, totally new monsters/weapons, eyecandy etc. will take on a whole new learning curve.

But, regardless of which route one goes, mapping is a whole lot of fun.

Share this post


Link to post

Sorry, looking back at my post, it sends the wrong tone - I don't mean to say that vanilla is superior by any means (naturally, it's vastly inferior to everything else) but it's like starting with training wheels, so to speak. Only the essentials are given to you. At least that's how I see it - Several friends who started from Boom format and up always come to me when their WADs refuse to run in DOSbox or other simpler ports :) ("What the hell is a visplane overflow?!")

The sole reason I've stayed mostly within the confines of vanilla mapping is for cross-port compatibility. I'd love to see more of the advanced ports incorporating UDMF, it would give me the needed incentive to give it a fair crack, but being a DM centric Doomer/mapper, I want to be sure all my Zdaemon friends can play my stuff, not just the Zandro and Oda guys.

To be clear: I'd never advocate a mapper compromising their creative vision solely for 'nilla compat, but for the purposes of Deathmatch mapping, you're basically guaranteed more people can enjoy your work if it's in the basic vanilla format :) It doesn't seem like zzzornbringer will have to do much (if any) noticeable compromising to get his WAD to be nilla.

Share this post


Link to post
Doomkid said:

It doesn't seem like zzzornbringer will have to do much (if any) noticeable compromising to get his WAD to be nilla.


if i want it to be perfect, i have to do quite a lot of line alignments, change some textures and re-align some textures.

or, i won't change anything at all and allow anyone who wants to play this map in vanilla edit the wad on their own. i think it would be a bit too much to try and support multiple formats.

Share this post


Link to post
zzzornbringer said:

[...]allow anyone who wants to play this map in vanilla edit the wad on their own. i think it would be a bit too much to try and support multiple formats.

I love when people allow modifications of their works for use with older ports. That's the right mentality :)

Share this post


Link to post
Gez said:

Okay. A Doom format map with a compiled script lump (BEHAVIOR) will be treated as a Hexen format map and completely broken, because the data sizes for things and linedefs are not the same.

And a port that doesn't support Hexen format maps will not be able to use scripts anyway.

Cool. I can make a map that works under vanilla Doom, Boom and MBF, but crashes any port that supports Hexen, by adding a dummy BEHAVIOR lump.

Share this post


Link to post
printz said:

Cool. I can make a map that works under vanilla Doom, Boom and MBF, but crashes any port that supports Hexen, by adding a dummy BEHAVIOR lump.

Well yeah. If you want to make maps that are specifically unplayable in ZDoom (and ZDaemon/Odamex/Zandronum, and Vavoom, and in the future Eternity), there are plenty of ways to do that.

The question is, then, why would you do that, exactly. Besides trolling ZDoom (etc.) users, I don't see any sort of point.

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
×