forked from Mirrors/openclonk
114 lines
4.7 KiB
XML
114 lines
4.7 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>SetObjectBlitMode</title>
|
|
<category>Objects</category>
|
|
<subcat>Display</subcat>
|
|
<version>5.1 OC</version>
|
|
<syntax>
|
|
<rtype>int</rtype>
|
|
<params>
|
|
<param>
|
|
<type>int</type>
|
|
<name>dwNewBlitMod</name>
|
|
<desc>New drawing mode (values see below). If 0 or unspecified, the object is reset to its definition blit mode. Otherwise bit 8 (user defined color value) is set implicitly.</desc>
|
|
<optional />
|
|
</param>
|
|
<param>
|
|
<type>int</type>
|
|
<name>overlay_id</name>
|
|
<desc>If specified, this will change the blit mode of the graphics overlay instead. The overlay must have been created using <funclink>SetGraphics</funclink> first.</desc>
|
|
<optional />
|
|
</param>
|
|
</params>
|
|
</syntax>
|
|
<desc>Changes the drawing mode of the object. The possible values correspond to the BlitMode value in the DefCore (see notice). This function returns the previously set blit mode.</desc>
|
|
<remark>The blit mode does not affect additional overlay graphics. The blit mode of those must be set using <funclink>SetGraphics</funclink>.</remark>
|
|
<remark>
|
|
<table>
|
|
<rowh>
|
|
<col>Constant</col>
|
|
<col>Value</col>
|
|
<col>Meaning</col>
|
|
</rowh>
|
|
<row>
|
|
<col>GFX_BLIT_Additive</col>
|
|
<col>1</col>
|
|
<col>Additive (always base surface and overlay)</col>
|
|
</row>
|
|
<row>
|
|
<col>GFX_BLIT_Mod2</col>
|
|
<col>2</col>
|
|
<col>Additive Modulation: the color of the modulation value is added to the object color, then RGB(128,128,128) is subtracted. Only base surface.</col>
|
|
</row>
|
|
<row>
|
|
<col>GFX_BLIT_ClrSfc_OwnClr</col>
|
|
<col>4</col>
|
|
<col>The color modulation set via <funclink>SetClrModulation</funclink>() applies to the base surface only and the overlay is normally colored by the owner color (see <funclink>SetColor</funclink>()).</col>
|
|
</row>
|
|
<row>
|
|
<col>GFX_BLIT_ClrSfc_Mod2</col>
|
|
<col>8</col>
|
|
<col>The overlay (owner color) is drawn using additive modulation. This flag might have to be set independently of bit 2.</col>
|
|
</row>
|
|
<row>
|
|
<col>GFX_BLIT_Wireframe</col>
|
|
<col>16</col>
|
|
<col>Draws the mesh as a wireframe. Only works with meshes!</col>
|
|
</row>
|
|
<row>
|
|
<col>5-7</col>
|
|
<col>32, 64</col>
|
|
<col>reserved</col>
|
|
</row>
|
|
<row>
|
|
<col>GFX_BLIT_Custom</col>
|
|
<col>128</col>
|
|
<col>User defined color value. This value can be specified if no special color mode is desired and to overwrite a DefCore setting. Also, this bit is set in the return value of this function and <funclink>GetObjectBlitMode</funclink> if the current blit mode of the object does not correspond to the definition blit mode.</col>
|
|
</row>
|
|
<row>
|
|
<col>GFX_BLIT_Parent</col>
|
|
<col>256</col>
|
|
<col>Only for overlays: the blit mode of the base surface is used when drawing this overlay.</col>
|
|
</row>
|
|
</table>
|
|
</remark>
|
|
<examples>
|
|
<example>
|
|
<code>static g_cursor, g_prev_blit_mode, g_prev_mod;
|
|
|
|
func Script100()
|
|
{
|
|
g_cursor = <funclink>GetCursor</funclink>();
|
|
// save previous values
|
|
g_prev_blit_mode = g_cursor-><funclink>GetObjectBlitMode</funclink>();
|
|
g_prev_mod = g_cursor-><funclink>GetClrModulation</funclink>();
|
|
// color the no-ColorByOwner-parts of the clonk in a glowing green
|
|
g_cursor->SetObjectBlitMode(6);
|
|
g_cursor-><funclink>SetClrModulation</funclink>(<funclink>RGB</funclink>(100, 255, 110));
|
|
// message
|
|
g_cursor-><funclink>Message</funclink>("Look, I can glow!");
|
|
}
|
|
|
|
func Script200()
|
|
{
|
|
// reset color
|
|
g_cursor->SetObjectBlitMode(g_prev_blit_mode);
|
|
g_cursor-><funclink>SetClrModulation</funclink>(g_prev_mod);
|
|
// Nachricht
|
|
g_cursor-><funclink>Message</funclink>("Over already!");
|
|
}</code>
|
|
<text>Part of a scenario script: colors the selected clonk of the first player bright green for a while.<br/>To handle the timing properly, it would be better to use an <emlink href="script/Effects.html">effect</emlink> in order to avoid conflicts with other scripts that might change the color at the same time.</text>
|
|
</example>
|
|
</examples>
|
|
<related>
|
|
<funclink>SetClrModulation</funclink>
|
|
<funclink>GetObjectBlitMode</funclink>
|
|
</related>
|
|
</func>
|
|
<author>Sven2</author><date>2004-03</date>
|
|
</funcs>
|