Thread: Suggestions
View Single Post
Old 09-11-2005   #2
Permanently Banned

Some stuff in ZDoom that I think would pwn in SRB2:
  • Textures
    In ZDoom, you can use any textures, flats, sprites, internal graphics, or whatever on any surface (flats as wall textures and whatnot). Srb2 has duplicates for wall textures of some flats, but that's bad because you get confuzed between the names (For example, people may need to use GFZROCK on the floor and not know the name of the flat)... This may be hard to program, but it'd definately help.
    IMGZ patches found between TX_START and TX_END are assumed to be single-patch textures by the same name and are automaticly added and usable. Which means you don't need to use PNAMES and TEXTURE1 every time you wanna make another single-patch texture, making things a lot simpler and easier (and in ZDoom's case, you could also use this as an easier way to make large floor textures). This would be great in SRB2, as it'd allow us to use custom textures in contests, because we don't have to worry about merging everyone's PNAMES and TEXTURE1 lumps and people replacing GFZROCK with their own textures and such.
  • ACS scripts
    ACS scripts are map-based scripts originally implemented in HeXen, which is C/C++ style and simply uses a bunch of predefined functions to do things. This is the BEHAVIOR lump in ZDoom and Hexen maps, and it's VERY powerful. WadAuthor and DoomBuilder support the editing and compilation of such scripts, but we'd need to convert the maps to Hexen format and somehow make all the line specials into Hexen's action specials and make a new version of the ACS compiler to support them. That is a hella lot of work, I won't make you think I have some magic solution to make it easier, but the power... The power is worth it. To me at least. ACS scripts can do everything linedef executors can do (except for the script-executing linedef exec, which I told graue to make in my quest for such power as this) and then some. You can change line and sector specials mid-game, change the camera to a camera mobj placed somewhere in the map beforehand (of which there are three types: Security cameras, aiming cameras, and moving cameras), spawn objects mid-game at spawnpoints placed beforehand (Anything from enemys to cameras to scenery can be spawned at will), spawn objects at X/Y/Z locations (Which means you can spawn an object directly above a player if you want), change object tags and action specials, execute the effects of certain action specials (You can make a script that damages you, thrusts you upwards, AND spawns an object above you to catch you and apply that to a sector if you want), change lighting effects, fade colors, and just about anything else I've ever wanted to do. (Heck, I made a game of Battleship with it, I doubt you'll have trouble finding a new gametype to make using it or enemy AI programs (See DECORATE below) or anything else programming-wise that you need...)
    This is like DeHackEd/SOC, except it creates things from scratch. It was originally made simply to create new static and animated scenery objects (hence the name), but has grown to be able to create all things mobj. Sure, we have empty slots for the SOCing now, but this system was designed for the most flexible ease of use possible. You can inherit propertys from existing objects to make a new edited version, you can create a new object from scratch and define all its states as well (so no looking for obscure numbers in the source code) and tell it to use any action pointer or action special available (so you could have an enemy that attacks by using ACS scripts and opens a door when it dies. Imagine having an enemy that can cause the floor to collapse into a lava pit when it's mostly dead and sprout wings!)... It would be more useful with ACS scripts then without, as that's one of the few things it can do that DeHackEd and SOC editing can't. The fan community has added to it the ability to create new weapons, and I suppose if you're going through all the trouble of making DECORATE, why not add that too? Who wouldn't mind somebody coming along one day and making a new kind of overpowered weapon ring, eh?

That's all for now. If I remember anything I'd forgotten later, I'll be back... I doubt any of this will even be considered for Srb2, though, other then TX_START and TX_END. Of course, if I could just get ZDoom Srb2 off the ground, we'd already have all this, as well as slopes, mirrors, horizon lines, skyboxes, and all those other fun ZDoom things. ;) We'll see... We'll see...
JTE is offline   Reply With Quote