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 

#1

I think that the wiki page documenting the DEF file is incomplete:
https://wiki.eduke32...ki/DEF_Language

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?).
2

User is offline   Mark 

#2

maybe artquality is a shorter version of "nocompress nodownsize ?
0

User is offline   Micky C 

  • Honored Donor

#3

What does multipsky do then?
0

User is offline   Darkus 

#4

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):

https://i.postimg.cc/d1ZVBSyD/nofloorpalrange.png

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.

Example:
texhitscanrange 1109 1109


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

https://i.postimg.cc/zfBBLfDC/texthitscan1.png

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

https://i.postimg.cc/tgMgFH7L/texthitscan2.png

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

Usage:
copytile <tile to modify> { ... }
parameters:
tile <original tile to copy>
pal <change palette of copied tile>
xoffset <change X offset>
xoff
yoffset <change Y offset>
yoff
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:

https://i.postimg.cc/bwLrNnPY/copytile1.png

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

https://i.postimg.cc/D0VyYdr6/copytile2.png


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

User is offline   Darkus 

#5

Bonus: black Duke Nukem :rolleyes:

https://i.postimg.cc/LsNp4Pb3/copytile3.png

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.
5

User is offline   Jimmy 

  • Let's go Brandon!

#6

Major Stryker 3D
0

User is offline   Hendricks266 

  • Weaponized Autism

  #7

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 }".
7

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#8

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

User is online   Phredreeke 

#9

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

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#10

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:

https://wiki.eduke32...ry:DEF_commands
7

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#11

Ugh, that was a pain in the ass

I could have help with some pages:

https://wiki.eduke32...er_construction

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

{{Under construction}}


It will automatically add to the under construction category
4

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#12

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

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

User is offline   NightFright 

  • The Truth is in here

#13

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.
0

User is online   jimbob 

#14

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

User is online   Phredreeke 

#15

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

User is online   jimbob 

#16

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

0

User is online   jimbob 

#17

i was playing around with the tint option, and so far i managed to get the skybox to turn into a greyscale using
 tint { pal 0 flags 1 }

it seems to have no effect on the regular 8 bit tiles, or am i using it wrong? i'd love to give my mod an option to play it in complete greyscale ( like a black and white war movie ), because why not.
0

User is online   Phredreeke 

#18

Pal 0 is the default palette. Tints are intended for truecolor textures. Flag 1 makes the texture greyscale.

I think flag 8 (you can combine flags by adding them together) enables a tint for 8-bit art. Try it and see what happens :lol:

This post has been edited by Phredreeke: 09 August 2021 - 01:59 PM

0

User is online   jimbob 

#19

 Phredreeke, on 09 August 2021 - 01:58 PM, said:

Pal 0 is the default palette. Tints are intended for truecolor textures. Flag 1 makes the texture greyscale.

I think flag 8 (you can combine flags by adding them together) enables a tint for 8-bit art. Try it and see what happens :lol:

that works perfectly :) a really nice option to have
0

User is online   jimbob 

#20

it does seem to ignore enemies for whatever reason :/
0

User is online   Phredreeke 

#21

Enemies, or just the assault trooper? Remember that the assault trooper uses pal 22 by default
0

User is online   jimbob 

#22

 Phredreeke, on 10 August 2021 - 05:16 AM, said:

Enemies, or just the assault trooper? Remember that the assault trooper uses pal 22 by default

i'd have to check. really? i asumed he just used pal 0 for the standard trooper and 21 for the transporting one. i'll extend the pal range and see if that fixes it.
[edit] extending the rane to pal 24 seems to work. right now there are some random textures that seem unaffected, probably something to do with the textures being close to the fullbright range. reds seem to be particularly sensitive to this. but the overall effect is nice. maybe i'll add some 'filmgrain' on this mode aswell

i tried to make the effect optional in the main menu, but i cant seem to figure out how to enable the effect after the defs are loaded. so for now i ditched that idea and just made a .bat file that adds the particular .def file on startup and not if you launch it normally.

[edit] the saturation seems to be the problem, lowering the saturation by roughly 30% seems to work great.

This post has been edited by jimbob: 10 August 2021 - 12:39 PM

0

User is online   Phredreeke 

#23

pal 0 troopers are automatically turned pal 22 by the game
0

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