What is CONfetti

1.1
CONfetti is a supplementary CON file for use with EDuke32 and the Polymer rendering engine, it's purpose is to give mappers more control over the Polymer lights (SE49 and SE50) that they might place in their maps. It is intended to be distributed with maps and is easy to set up.

Table of Contents

 

 

Changelog

The following is a list of changes made in each version of CONfetti;

 

Version 1.1

  • All effects from V1.1

  • Changed name to CONfetti

Version 1.1

  • All effects from V1.0

  • Rotating SE50's

  • Tilting SE50's

  • Widening SE50's

  • Rotate and Tilt SE50's

  • Flickering SE49 and SE50

 

Version 1.0

  • Switch Controlled SE49 and SE50

  • Sector Shade Controlled SE49 and SE50

 

Version 0.9 (Never Publicly Released)

  • Shade controlled SE49 (Also used for light switches, impractical)

 

 

Setting Up

There are several ways to set up CONfetti, the simplest way is to setup CONfetti for use with a MOD Directory, follow the instructions below;

  1. Create a folder in your EDuke32 directory, give it a name related to your map or mod.

  2. Place the EDUKE.CON file in there.

    You should also place this manual and the CONTROL.MAP test map in there.

  3. Start EDuke32 and select the folder from the Custom Game Content Directory dropdown list.

  4. Make sure Polymer is enabled and continue to start EDuke32.

If you did everything correctly, EDuke32 will start up and you should be able to select CONTROL.MAP from the USER MAP list. If everything works, the light will be off in the room in which you start, if flicking the switch turns the light on you're ready to start making use of it yourself, but you may as well go and check out the other effects first.

 

You can also bundle CONfetti in a ZIP file and EDuke32 should automatically load it when pointed to the .ZIP, unless you rename the file.

 

 

Using Effects

CONfetti offers several effects for both SE49 and SE50. The effects only work within EDuke32, SE49 and SE50 lights will always appear to be ON in Mapster32 - which is useful. They will also appear at full brightness for a split second after the map loads up.

 

Regular SE49

Normal SE49 sprites - as in, how they were before you installed this mod - require that the angle of the SE49 is greater than 129, otherwise they might not appear in-game. This is due to there being almost nothing left over with which to link SE49's to anything. To avoid future compatibility problems if you update the CONfetti version you are using, you should use a value of at least 192 as numbers above this are unlikely to be occupied by anything.

 

Regular SE50

Normal SE50 sprites - as in, how they were before you installed this mod - require that the xrepeat of the SE50 is less than 65, otherwise they might not appear in-game. This is due to there being, umm, nothing left over with which to link SE50's to anything else.

 

Switched SE49

This type of SE49 is controlled by a light switch (or other simple on/off type sector lighting) and will light up smoothly when the lights come on in the sector you place it in.

  1. Set up an SE49 like you usually would.

    It's HITAG should be dividable by 256 (And, incidentally 32).

    You should probably preview it in 3D Mode to make sure it will look how you want.

  2. Set up your sector lighting as usual (Such as SE12), as above, it might be worth testing before you proceed.

  3. Make a note of the sector floor shade when the lights are off, it must be less than 64.

  4. Set the angle of the SE49 (use F8 in 2D Mode) to this number.

When the sector lighting is turned on, the floor will become brighter. When the floor does become brighter the SE49 will also light up with it, however, the SE49 will always appear to be ON in Mapster32 so you will have to launch EDuke32 to test your light.

 

Brightness Controlled SE49

These are designed for flickering lights, pulsating lights and should be used for breakable lights too, however, if these are controlled by a switch you may notice this light doesn't have the same smooth startup as the previous effect.

  1. Set up an SE49 like you usually would.

    It's HITAG should be dividable by 32.

  2. Set up your sector lighting as you usually would.

  3. Make a note of the sector floor shade when the lights are off, it must be less than 64.

  4. Set the angle of the SE49 to 64+Floor Shade

    A floor shade of 8 would require an angle of 72.

Due to the internal workings of this effect, you might have to set the SE49 Hitag slightly higher than you usually would, the reason being that there are 32 stages of brightness (HITAG/32), but the SE can only use the range that the sector lighting effect has. So if the sector has a shade of 8 when off and 4 when on, a HITAG of 4096 would only get to 512 in such a scenario; (4096/32)*4=512 but you can compensate by figuring out how many stages your light will have and dividing your desired hitag by that number 4094/4=1024 and multiply that by 32; 1024*32=32768. If everything went according to plan, the light should follow the brightness of the sector in little increments.

 

Flickering SE49

Unlike the above effect, this one does not require sector lighting. It will flicker rather erratically and there is no way to stop it.

  1. Set up an SE49 like you usually would.

  2. Set the angle to 128

You can put this type of light wherever you want as it is insensitive to anything going on in the sector in which it lives.

 

Switch Controlled SE50

This type of SE50 is controlled by a light switch (or other simple on/off type sector lighting) and will light up smoothly when the lights come on in the sector you place it in. Unlike SE49, the angle is used which made this one hard to figure out.

  1. Set up an SE50 like you usually would.

    It's HITAG should be dividable by 256.

    You should probably preview it in 3D Mode to make sure it will look how you want.

  2. Set up your sector lighting as usual (Like SE12), as above, it might be worth testing before you proceed.

  3. Make a note of the sector floor shade when the lights are off, it must be less than 64.

  4. Set the XRepeat of the SE50 (use F8 in 2D Mode) to this number+128.

    A floor shade of 16 would require a shade of 144

Assuming you did it right, the light will switch on if the sector floor becomes brighter than the value set in the xrepeat.

 

Brightness Controlled SE50

These are designed for flickering lights, pulsating lights and should be used for breakable lights too, however, if these are controlled by a switch you may notice this light doesn't have the same smooth startup as the previous effect.

  1. Set up an SE50 like you usually would.

    It's HITAG should be dividable by 32.

  2. Set up your sector lighting as you usually would.

  3. Make a note of the sector floor shade when the lights are off, it must be less than 64.

  4. Set the XRepeat of the SE50 to 64+Floor Shade

    A floor shade of 8 would require an XRepeat of 72.

Due to the internal workings of this effect, you might have to set the SE50 Hitag slightly higher than you usually would, the reason being that there are 32 stages of brightness (HITAG/32), but the SE can only use the range that the sector lighting effect has. So if the sector has a shade of 8 when off and 4 when on, a HITAG of 4096 would only get to 512 in such a scenario; (4096/32)*4=512 but you can compensate by figuring out how many stages your light will have and dividing your desired hitag by that number 4094/4=1024 and multiply that by 32; 1024*32=32768. If everything went according to plan, the light should follow the brightness of the sector in little increments.

 

Rotating and Tilting SE50

This effect spins the light around whilst angling it up and down (a bit like the ones at that rave you went to but don't remember).

  1. Set up an SE50 like you usually would.

  2. Set the XRepeat to 192 for clockwise or 193 for anti-clockwise.

  3. Set the YRepeat to the rotation speed.

    Values above 64 subtract 64 from the value, so 128 is the same as 64, 255 is the same as 191.

    If you leave the XRepeat alone, it will rotate at a default speed.

The above description sums this one up.

 

Widening SE50

This SE50 gets wider and narrower at a speed you select, I'm stumped as to what you could use it for, but it's there.

  1. Set up an SE50 like you usually would.

  2. Set the XRepeat to 194.

  3. Set the YRepeat to the desired speed+64.

    Values above 72 may cause bugs

Maybe useful for somebody, you can offset them by fiddling with the sprites shade value but this is only apparent if there is more than one around (bye-bye frame rate!)

 

Tilting SE50

An SE50 that looks up and down at a speed you select.

  1. Set up an SE50 like you usually would.

  2. Set the XRepeat to 195.

  3. Set the YRepeat to the desired speed+64.

I can immagine these outside a theatre in 1920's New York... If only there was a visible beam of light. They can be offset by adjusting the sprite's extra value.

 

Rotating SE50

Woo-woo-woo, just like the lights of emergency vehicles... at least, if you make them blue and spin them fast enough.

  1. Set up an SE50 like you usually would.

  2. Set the XRepeat to 196 for clockwise or 197 for anti-clockwise.

  3. Set the YRepeat to the rotation speed.

    Values above 64 subtract 64 from the value, so 128 is the same as 64, 255 is the same as 191.

    If you leave the XRepeat alone, it will rotate at a default speed.

You can probably use these with the Tile 0551 at a speed around 184.

 

Flickering SE50

This one is not controlled by the sector and flickers erratically.

  1. Set up an SE50 like you usually would.

  2. Set the XRepeat to 198

This one might eat frame rate if you over-use it.

 

Hopefully more to follow...

 

 

Distributing your map

I, Paul Monteray, the author of CONfetti, give you full permission to freely distribute the CON file with your maps or mods, you can package it as you wish (directory as instructed or in a ZIP folder or GRP file), include it from another CON file in a mod or episode and you may modify the CON file. There are a few small things I ask in return if you use or modify CONfetti;

  1. You do not remove my name or details from the CON file.

  2. If you modify the CON file, you may add your own name and details alongside mine.

  3. You should state the version number of CONfetti used in your mapping template to avoid compatibility problems.

    If you are using a customized version, you should state that you are for similar reasons.

  4. If something isn't working in your map, it's probably your fault.

    If you do find a genuine bug, you can report it to me though.

You may also freely distribute the CONfetti package as you downloaded it, this includes hosting it on websites.

 

 

Contact and Summary

If you want to report a bug, make sure you can reproduce it and get in touch with instructions for how to cause it.

If you have any suggested features, not neccesarily lighting related, I'll consider implementing them so long as no new art, sounds or resources other than the CON file are required and that they don't drastically alter the game, things like rain code might be feasible.

 

To find me, try these locations;

YouTube

Duke4.net Forums

Scent-88 Forums

 

For future versions of CONfetti, try these links;

Forum Thread

 

CONfetti, it's documentation and associated test map are Copyright © Paul "High Treason" Monteray 2013