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

Mod Tools for Strife: Veteran Edition Released

Recommended Posts

Note that in order to develop custom levels for the high-quality renderer mode, you will need the latest version of GZDoom Builder, which can be found here: http://devbuilds.drdteam.org/doombuilder2-gzdb/GZDoom_Builder-r2154.7z

Lastly, grab the tools and configuration files for GZDoom Builder found here: https://github.com/svkaiser/dlight/releases

This contains the tools and some updates and tweaks to the strife config files in order to support Veteran Edition.

DLight is a command-line tool only but for those who don't like command-line tools, I've supplied a frontend GUI which builds a wad file with both GLVIS and DLight. Source code is included in the docs below. Any contributions is highly appreciated as more likely I might not have time to maintain them.

===========================================================================
    Using DLight
===========================================================================

    Before building lightmaps, the wad file must first be pre-compiled with
    GL nodes using GLBSP (http://glbsp.sourceforge.net/). Optionally, PVS
    data can be built using GLVIS (http://www.vavoom-engine.com/glvis.php)
    which can help speed up compile time.
    
    The input for DLight is as follows:
    
    dlight -map ## [option1] [option2] ... [wad file]
    
    As of version 2.0, DLight can only compile one map at a time so the
    -map option is required.
    
===========================================================================
    Options
===========================================================================
    
    -map <1-99>             Specify the map number to compile for
    
    -samples <2, 4, 8, 16>  Specify how many samples to build. Samples are
                            automatically rounded into powers of two. Higher
                            sample count will result in faster compile times
                            but results in poor quality lightmaps, while
                            lower values will generate better quality
                            lightmaps but results in longer compile times.
                            Using 8 or 16 is recommended.
                            
    -size <64, 128, 256>    Specify the width and height of the lightmap
                            textures. Size is automatically rounded into
                            powers of two. Using 128 or 256 is recommended.
                            
    -threads <##>           Specify how many threads to utilize for building
                            lightmaps. By default, the tool will try to
                            utilize 2 threads.
                            
    -help                   Displays list of options
    
    -config <file path>     Specify a configuration file to use. By default
                            it will try to find SVE.CFG
                            
    -writetga               Dumps generated lightmaps as targa image files
    
    -ambience <##>          UNUSED
    
===========================================================================
    DLight Configuration File Specification
===========================================================================

    Format:
            /*
                multi-line comment
            */
            
            // single line comment
            
            block name
            {
                <property>  <value>
            }
            
            integer         a single whole number
            float           a number with decimals
            vector          a quoted string with 3 floating point or
                            integer numbers usually in the form of xyz
            boolean         either 0 or 1
                     
            
    Blocks:
            mapdef
            lightdef
            surfaceLight


    Mapdef block:
        A mapdef defines the global sunlight behavior for a specified map.
        
    Mapdef properties:
        map <integer>               The map number this mapdef block should
                                    be assigned to
                            
        sun_direction <vector>      A vector representing the direction in
                                    which the direction of the sun is coming
                                    from. Vector is normalized, meaning each
                                    component ranges from 0.0 to 1.0 and is
                                    measured in Doom axis coordinates
                                    (e.g. x = left, y = forward, z = up)
                                    Default vector: "0.45 0.3 0.9"
                                    
        sun_color <vector>          A vector representing the RGB color of
                                    the sunlight. Values ranges from 0 to
                                    255 Default vector: "255 255 255"
                                    
        sun_ignore_tag <integer>    If specified, any sector with this tag
                                    will not be lit by sunlight and no
                                    lightmaps will be generated for it.
                                    
    Lightdef block:
        A lightdef block allows to define a thing to emit light during
        compile time.
        
    Lightdef properties:
    
        doomednum <integer>         The doomednum of this thing in which
                                    will generate lightmaps.
                                    
        rgb <vector>                A vector representing the RGB color of
                                    the light
        
        height <float>              Sets an offset on the z-axis for the
                                    origin of the light source.
                                    
        radius <float>              Specifies the radius of the light. A
                                    larger radius will result in more
                                    surfaces affected by this light.
                                    Setting radius to -1 will tell DLight
                                    to take the radius based on the
                                    thing's angle value.
                                    
        intensity <float>           Specifies how strong the light source
                                    is. A value of 4.0 is recommended in
                                    Strife: Veteran Edition
                                    
        falloff <float>             Sets the falloff for this light
                                    (expiremental)
        
        ceiling                     If specified, then the origin of the
                                    light will be relative to the ceiling
                                    instead of the floor
                                    
    SurfaceLight block:
        A surfacelight block specifies a surface (either a wall or a flat) to
        emit light during compile time.
        
    SurfaceLight properties:
    
        tag <integer>               Tells Dlight to emit light from all
                                    sectors/lines that contains this tag value.
                                    
        rgb <vector>                A vector representing the RGB color of
                                    the light
        
        cone_inner <float>          Specifies the FOV (in degrees) of the main
                                    source of light. Value ranges between 0 to
                                    180 degrees. Smaller values results in
                                    larger cone.
                                    
        cone_outer <float>          Specifies the FOV (in degrees) of the light
                                    fading out from the inner cone.
                                    
        distance <float>            Specifies how much area to cover
                                    
        intensity <float>           Specifies how strong the light source is.
                                    A value of 4.0 is recommended in
                                    Strife: Veteran Edition
                                    
        bIgnoreFloor <boolean>      If 1, then floors will be ignored.
                                    
        falloff <float>             Sets the falloff for this light
                                    (expiremental)
    
===========================================================================
    Map Lump Specifications
===========================================================================

    LM_MAP##                        Level marker
    
    LM_CELLS                        Contains rgb information on how sprites
                                    interacts with lightmaps.
                                    
    LM_SUN                          Contains RGB and vector data for sunlight.
                                    
    LM_SURFS                        Contains information for every surface
                                    that is bounded to a lightmap. This
                                    includes texture mapping (UV) data and
                                    which lightmap block the surface is
                                    mapped to.
                                    
    LM_TXCRD                        Contains all UV texture coordinates for
                                    each surface.
                                    
    LM_LMAPS                        Contains raw RGB texture data that makes
                                    up the lightmaps.
New Thing Types
---------------------------------------------------------------------

Player Start - Blue Team
DoomEdNum       5080
Width           16
Height          56
Desc            Used for placing player starts belonging to the blue team
                (Capture the Chalice). At least 8 of these must exist in
                the map.
                
Player Start - Red Team
DoomEdNum       5081
Width           16
Height          56
Desc            Used for placing player starts belonging to the red team
                (Capture the Chalice). At least 8 of these must exist in
                the map.
                
Red Talisman
DoomEdNum       7966
Width           16
Height          16
ConversationID  348
Desc            Inventory item that the player can pick up. Does nothing
                by itself but when the player possesses all 3, he will
                have super berserk strength abilities
                
Green Talisman
DoomEdNum       7967
Width           16
Height          16
ConversationID  349
Desc            Inventory item that the player can pick up. Does nothing
                by itself but when the player possesses all 3, he will
                have super berserk strength abilities
                
Blue Talisman
DoomEdNum       7968
Width           16
Height          16
ConversationID  350
Desc            Inventory item that the player can pick up. Does nothing
                by itself but when the player possesses all 3, he will
                have super berserk strength abilities
                
Blue Flag Spot
DoomEdNum       5130
Width           16
Height          16
Desc            Marker for spawning the blue chalice for Capture the Chalice
                game mode. Will spawn the blue chalice 16 units in front of
                the marker in the direction that the marker is facing at
                the beginning of the match. Required when setting up a
                Capture the Chalice game mode and only one of these must
                exist in any given map.
                
Red Flag Spot
DoomEdNum       5131
Width           16
Height          16
Desc            Marker for spawning the red chalice for Capture the Chalice
                game mode. Will spawn the red chalice 16 units in front of
                the marker in the direction that the marker is facing at
                the beginning of the match. Required when setting up a
                Capture the Chalice game mode and only one of these must
                exist in any given map.
                
Blue Chalice (Inventory Only)
DoomEdNum       7970
Width           10
Height          16
ConversationID  345
Desc            Inventory item that the player can pick up. Does nothing
                by itself.
                
Sector Light Level Modifier
DoomEdNum       7957
Width           16
Height          16
Desc            When placed in a sector, it will set an alternate sector
                light level based on the thing's angle. This is only affected
                when lightmaps are enabled. These are not spawnable
                and will ignore difficulty flags and removed on level load
                
Sector Bloom Controller
DoomEdNum       7969
Width           4
Height          4
Desc            When placed in a sector, it will override the renderer's bloom
                threshold whenever the player enters that sector. The override
                value is determined by the thing's angle divided by 255. For
                example, if the thing's angle is 180, then it will override
                the bloom threshold to 0.705 whenever the player enters that
                sector. Note that this is ignored if the user's threshold
                settings is greater than the override value. These things
                are not spawnable and will ignore difficulty flags and removed
                on level load
                
Degnin Ore Spawner
DoomEdNum       7975
Width           20
Height          16
Desc            These non-visible things are used to spawn an infinite supply
                of degnin ores whenever there are less than 4 of them in the
                current level. They will only spawn when the player is within
                2048 units of the spawner's origin.

Any questions, please feel free to ask.
Enjoy.

 

Edited by Kaiser

Share this post


Link to post

How do we back port the new assets to chocolate minus the gl bits? After all technically the CTF bits and the talasmins are now canon. Chocolate aims to have everything supported.

Share this post


Link to post
Gez said:

Will the lightmaps in Doom64 EX 2.0 work the same way?


Sadly, no. It's merely an experimental feature in 2.0. I do intend on supporting it fully whenever I get around to doing version 3.0.

Share this post


Link to post

I may just ask this here because it fits the topic.

 

While checking the SVE.wad I found that there's several thing types not listed here. From their placement they look like they have something to do with lighting but it'd be nice if someone could confirm. So far I found the numbers 7958-7960 and 7973.

 

Also the link to the lightmap generator is dead. Has this been uploaded elsewhere?

 

Share this post


Link to post

Those were all defined in the lightmap generator config file. As for uploaded elsewhere, I don't think so, but we have it on our machines so it can be reuploaded.

Share this post


Link to post

Never mind, I searched some old backups which contained the tool.

It'd still be a good idea to upload it to Github so that it won't get lost.

 

Share this post


Link to post

Links are dead. Can you please re-upload them? Are they available on a more definitive site? Does Doom Wiki refer to them? Sounds like a bad thing to lose, which is pretty likely, since Strife modding is seldom.

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
×