forked from Mirrors/openclonk
50 lines
2.0 KiB
XML
50 lines
2.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<!DOCTYPE funcs
|
|
SYSTEM '../../../clonk.dtd'>
|
|
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
|
|
<funcs>
|
|
<func>
|
|
<title>HSL2RGB</title>
|
|
<category>Arithmetics</category>
|
|
<version>5.1 OC</version>
|
|
<syntax>
|
|
<rtype>int</rtype>
|
|
<params>
|
|
<param>
|
|
<type>int</type>
|
|
<name>Val</name>
|
|
<desc>24 bit HSL value</desc>
|
|
</param>
|
|
</params>
|
|
</syntax>
|
|
<desc>Converts a 24 bit HSL value into the better known 32 bit RGB format.<br/>The 24 bit HSL value can be created using <funclink>RGB</funclink>(hue, saturation, lightness).</desc>
|
|
<remark>Since there is no floating point data type in Clonk, these values may contain slight rounding errors (usually not greater than +1 to +1).</remark>
|
|
<examples>
|
|
<example>
|
|
<code>#appendto Clonk
|
|
|
|
func Initialize() {
|
|
<funclink>AddEffect</funclink>("VariateHue",<funclink>this</funclink>,200,1,<funclink>this</funclink>);
|
|
<funclink>return</funclink> <funclink>_inherited</funclink>();
|
|
}
|
|
|
|
func FxVariateHueTimer() {
|
|
var hsl = <funclink>RGB2HSL</funclink>(<funclink>GetColor</funclink>());
|
|
var hsla_array = <funclink>SplitRGBaValue</funclink>(hsl);
|
|
hsla_array[0] += 2;
|
|
if(hsla_array[0] > 255) hue = 0;
|
|
var rgb = HSL2RGB(<funclink>RGB</funclink>(hsla_array[0],hsla_array[1],hsla_array[2]));
|
|
<funclink>SetColor</funclink>(rgb);
|
|
}</code>
|
|
<text>Creates an effect which will colorize every clonk in the game, running through the colors of the rainbow.<br/>To test this effects, best copy this function into a script contained in a scenario local System.ocg group.<br/>The hue value is deliberately increased by 2 in this sample, else rounding errors might cause nothing to happen.</text>
|
|
</example>
|
|
</examples>
|
|
<related>
|
|
<funclink>RGB2HSL</funclink>
|
|
<funclink>SetRGBaValue</funclink>
|
|
<funclink>RGB</funclink>
|
|
</related>
|
|
</func>
|
|
<author>Tyron</author><date>2004-09</date>
|
|
</funcs>
|