Duke4.net Forums: DEF file options that are not documented - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

DEF file options that are not documented

User is offline   Darkus 


I think that the wiki page documenting the DEF file is incomplete:

For example, when looking the def file from WT stopgap, multipsky allow you to create new skies (not skyboxes, but for classic render):
multipsky 5412 // PARIS
    yoffset -2990
    horizfrac 65536
    lognumtiles 3
    panel 0 0
    panel 1 1
    panel 2 2
    panel 3 3
    panel 4 4
    panel 5 5
    panel 6 6
    panel 7 7

In the skybox definition, there's an artquality option:
skybox // LA
   tile 89 pal 0 artquality
   back    "textures/skybox/LA/LA_FR.tga"
   right   "textures/skybox/LA/LA_RT.tga"
   front   "textures/skybox/LA/LA_BK.tga"
   left    "textures/skybox/LA/LA_LF.tga"
   top     "textures/skybox/LA/LA_UP.tga"
   bottom  "textures/skybox/LA/LA_DN.tga"

There are probably more, but I don't remember very well of these two:

- One was to copy a tile, copytile or something (I can't get it to work).

- Another one was similar to spritenopal, but prevent sprites from changing color when walking on a specific colored sector (nofloorpal?).

User is offline   Mark 


maybe artquality is a shorter version of "nocompress nodownsize ?

User is offline   Micky C 

  • Honored Donor


What does multipsky do then?

User is offline   Darkus 


View PostMicky C, on 16 February 2020 - 01:56 PM, said:

What does multipsky do then?

I'm sure it's to create custom skies with a group of tiles, similar to MOONSKY1, LA, BIGORBIT1... But I'll test this later.

Anyway, I've looked into the source code, and I figured out how to use some of the options.

Let's start with nofloorpalrange:

Usage: nofloorpalrange <start pal number> <end pal number>

This prevent sectors of designed palette number(s) to change the color of the sprites that are within.

For example:
nofloorpalrange 1 2

Don't change color of sprites inside sectors of palette 1 (blue) and 2 (red):


Next is texhitscanrange, it's rather interesting, but limited.

Usage: texhitscanrange <start tile> <end tile>

This will make the designed tiles to block hitscan shots depending if hit the plain surface of the tile. But the limitations are, it must be a flat sprite (cstat 16 not 32), not a wall, and only concerns hitscans, no sprite projectiles.

texhitscanrange 1109 1109

The tile 1109 will block hitscans when shot to the plain surface:


However, when shooting the transparent surface, the shots are not blocked:


And then copytile. As the name suggests, copy a tile to another, but it has other interesting features.

copytile <tile to modify> { ... }
tile <original tile to copy>
pal <change palette of copied tile>
xoffset <change X offset>
yoffset <change Y offset>
texhitscan (flag, see above)
nofullbright (?)

Some examples:
copying tile 1405 to location 1404 and change palette to red:
copytile 1404 { tile 1404 pal 21 }

copying tile 1518 to location 1600 and correct Y offset:
copytile 1600 { tile 1518 yoffset 0 }

You're not forced to copy tile with it, it's possible to change the default color of the original tiles, by omitting the tile parameter.
Example by changing wall tile 1100 to blue:
copytile 1100 { pal 1 }

That allow more interesting things, like changing the menu to green:


By changing the default colors of monsters to blue skin (palette 17 or 20), you can give them some strange colors:


There's also nofullbrightrange but I can't see what it really does...

User is offline   Darkus 


Bonus: black Duke Nukem :rolleyes:


This is done by redefining the palette of the same tile several times:

turn skin to blue (17) -> blue skin to dark blue (16) -> dark blue to brown (15)

copytile 1400 { pal 17 }
copytile 1400 { pal 16 }
copytile 1400 { pal 15 }
copytile 1401 { pal 17 }
copytile 1401 { pal 16 }
copytile 1401 { pal 15 }

There's still imperfections, but the idea is you can redefine the same tile over, the changes are kept each time.

User is offline   Jimmy 

  • 1776 World Wide


Major Stryker 3D

User is offline   Hendricks266 

  • Weaponized Autism


Glad to see copytile getting some use. You can put multiple pal subtokens in the braces and they will operate in succession. For example, "copytile 1400 { pal 17 pal 16 pal 15 }".

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!


Yeah there's a bunch of things to document in the wiki.

User is offline   Phredreeke 


There are also a bunch of different tint modes which I didn't know about until I looked into the Total Meltdown definitions files.

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!


I know it's a pain in the ass to not have things documented.

Between working on Fury, other mods, adding stuff to the source code, and applying said stuff to Fury and the mods, keeping the wiki update is another burden...

I have started to split the def section into pages, it can't handle everything anymore:


User is offline   Fox 

  • Fraka kaka kaka kaka-kow!


Ugh, that was a pain in the ass

I could have help with some pages:


If anyone know incomplete pages, please add this on the top:

{{Under construction}}

It will automatically add to the under construction category

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!


Ok, I'm done listing all tokens in defs.cpp

Some of them lack a description, but at least are in the wiki...

User is online   NightFright 

  • The Truth is in here


Since I am reading this now:
Does copytile have a range option or do you have to define each and every tile on its own? Would come in handy e.g. if you want to swap pals for fonts.

User is offline   jimbob 


is there a way to redefine the pal for say nightvision so it can be completely altered ( and eliminated )?

User is offline   Phredreeke 


Do you mean the tint to the whole screen, or the inverted green palette that is applied to enemies?

User is offline   jimbob 


i already got rid of the green tint on screen ( using setgamepalette 0 ) but enemies remain that nasty green pal

This post has been edited by jimbob: 21 May 2021 - 11:35 AM


Share this topic:

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password

Sign in options