spacing between 2 consecutive letters. With
standard fonts, 0.5 is a correct value (relatively condensed text).

- ##texture## is obviously the texture filename to use (font*.tga are
often provided with Raydium distribution, and by R3S).

- ##format## is the standard printf format string, followed by
corresponding arguments: ##"^9Player ^Fname is: %10s", player_name##
This format can use '^' char to change color text, followed by a color,
indicated by a hexadecimal letter (EGA palette). See ##raydium_osd_color_ega##
function, above.

Here you are a simple example:

%%(c)
strcpy(version,"^Ctest 0.1^F");
raydium_osd_printf(2,98,16,0.5,"font2.tga","- %3i FPS - tech demo %s for Raydium %s, CQFD Corp.",
                   raydium_render_fps,version,raydium_version);
%%
**/

__rayapi void raydium_osd_printf_3D (GLfloat x, GLfloat y, GLfloat z, GLfloat size, GLfloat spacer, char *texture, char *format, ...);
/**
Same as above, but you can place your text in your application 3D space,
using ##x##, ##y## and ##z## values.
**/

__rayapi void raydium_osd_logo (char *texture);
/**
Will draw a logo for the current frame with texture filename.
For now, you've no control over rotation speed of the logo.
**/

__rayapi void raydium_osd_cursor_set (char *texture, GLfloat xsize, GLfloat ysize);
/**
This function will set mouse cursor with texture filename and
with (##xsize##,##ysize##) size (percent of screen size).
You should use a RGB**A** texture for better results.
example:
%%(c)
raydium_osd_cursor_set("BOXcursor.tga",4,4);
%%

You can set ##texture## to NULL or empty string to cancel OSD cursor texture.

This cursor is not impacted by raydium_mouse_show/hide functions, you should
use raydium_osd_cursor_show/hide for this.
**/

__rayapi void raydium_osd_cursor_offset(GLfloat xoffset, GLfloat yoffset);
/**
This function allows to offset the cursor. Used with non-regular cursor
textures. The units are percentage of the screen.
**/

__rayapi void raydium_osd_cursor_show(void);
/**
Shows the OSD cursor.
**/

__rayapi void raydium_osd_cursor_hide(void);
/**
Hides the OSD cursor.
**/

__rayapi void raydium_osd_cursor_draw (void);
/**
Internal use.
**/

__rayapi void raydium_osd_internal_vertex (GLfloat x, GLfloat y, GLfloat top);
/**
Internal use.
**/

__rayapi void raydium_osd_network_stat_draw (GLfloat px, GLfloat py, GLfloat size);
/**
Will draw network stats (if available) in a box.
%%(c) raydium_osd_network_stat_draw(5,30,20); %%
**/

__rayapi void raydium_osd_mask (GLfloat * color4);
/**
Will draw a uniform mask using ##color4## (RGBA color) for this frame.
**/

__rayapi void raydium_osd_mask_texture(int texture,GLfloat alpha);
/**
Will draw a textured mask, with ##alpha## opacity (1 is full opacity).
**/

__rayapi void raydium_osd_mask_texture_name(char *texture,GLfloat alpha);
/**
Same as above, but resolving texture by name.
**/

__rayapi void raydium_osd_mask_texture_clip(int texture,GLfloat alpha, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
/**
Same as ##raydium_osd_mask_texture##, but (x1,y1),(x2,y2) will be used as
texture coords, in a [0,100] range.
**/

__rayapi void raydium_osd_mask_texture_clip_name(char *texture,GLfloat alpha, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
/**
Same as above, but resolving texture by name.
**/

__rayapi void raydium_osd_fade_callback (void);
/**
Internal use.
**/

__rayapi void raydium_osd_fade_init (void);
/**
Internal use.
**/

__rayapi void raydium_osd_fade_from (GLfloat * from4, GLfloat * to4, GLfloat time_len, void *OnFadeEnd);
/**
This function will configure a fading mask from ##from4## color to ##to4##.
This fade will last ##time_len## seconds, and will call ##OnFadeEnd## callback
when finished.
This callback signature must be ##void callback(void)##.

A standard fade-to-black-and-restore example:
%%(c)
// back to normal rendering
void restorefade(void)
{
   GLfloat from[4]={0,0,0,2};
   GLfloat to[4]={0,0,0,0};
   raydium_osd_fade_from(from,to,1,NULL);
   // do things (like moving camera to another place, for example).
}

...

// If space key : fade to black
if(raydium_key_last==1032)
    {
    GLfloat from[4]={0,0,0,0};
    GLfloat to[4]={0,0,0,1};
    raydium_osd_fade_from(from,to,0.3,restorefade);
    }
%%
**/

#endif