88 lines
2.1 KiB
C
88 lines
2.1 KiB
C
/*
|
|
Raydium - CQFD Corp.
|
|
http://raydium.org/
|
|
License: GPL - GNU General Public License, see "gpl.txt" file.
|
|
*/
|
|
|
|
#ifndef DONT_INCLUDE_HEADERS
|
|
#include "index.h"
|
|
#else
|
|
#include "headers/callback.h"
|
|
#endif
|
|
|
|
void raydium_osd_cursor_draw(void);
|
|
void raydium_console_draw(void);
|
|
void raydium_gui_draw(void);
|
|
void raydium_osd_fade_callback(void);
|
|
#ifdef PHP_SUPPORT
|
|
int raydium_php_exec(char *);
|
|
#endif
|
|
#ifdef ODE_SUPPORT
|
|
void raydium_ode_network_read(void);
|
|
#endif
|
|
void raydium_network_read_faked(void);
|
|
void raydium_video_callback(void);
|
|
void raydium_internal_live_video_callback(void);
|
|
void raydium_object_callback(void);
|
|
void raydium_web_callback(void);
|
|
void raydium_hdr_map(void);
|
|
void raydium_hdr_map_apply(void);
|
|
|
|
|
|
void raydium_callback_image(void)
|
|
{
|
|
raydium_timecall_callback();
|
|
raydium_light_callback();
|
|
raydium_particle_draw_all();
|
|
raydium_hdr_map_apply();
|
|
raydium_particle_callback();
|
|
raydium_osd_fade_callback();
|
|
raydium_gui_draw();
|
|
raydium_console_draw();
|
|
raydium_osd_cursor_draw();
|
|
raydium_joy_callback();
|
|
raydium_sound_callback();
|
|
#ifdef ODE_SUPPORT
|
|
// 0hz ODE callback workaround
|
|
raydium_ode_network_read();
|
|
#endif
|
|
|
|
if(raydium_network_mode==RAYDIUM_NETWORK_MODE_DISCOVER)
|
|
raydium_network_read_faked();
|
|
|
|
#ifndef WIN32
|
|
raydium_internal_live_video_callback();
|
|
#endif
|
|
raydium_video_callback();
|
|
raydium_web_callback();
|
|
raydium_object_callback();
|
|
}
|
|
|
|
|
|
void raydium_callback_set(void)
|
|
{
|
|
if(raydium_window_mode==RAYDIUM_RENDERING_NONE)
|
|
return;
|
|
glutReshapeFunc(&raydium_window_resize_callback);
|
|
glutKeyboardFunc((void *)raydium_key_normal_callback);
|
|
glutSpecialUpFunc((void *)raydium_key_special_up_callback);
|
|
glutSpecialFunc((void *)raydium_key_special_callback);
|
|
glutMotionFunc((void *)raydium_mouse_move_callback);
|
|
glutPassiveMotionFunc((void *)raydium_mouse_move_callback);
|
|
glutMouseFunc((void *)raydium_mouse_click_callback);
|
|
}
|
|
|
|
|
|
void raydium_callback(void (*loop) )
|
|
{
|
|
#ifdef PHP_SUPPORT
|
|
char autoexec[RAYDIUM_MAX_NAME_LEN];
|
|
|
|
if(raydium_init_cli_option("autoexec2",autoexec))
|
|
raydium_php_exec(autoexec);
|
|
#endif
|
|
glutDisplayFunc(loop);
|
|
glutIdleFunc(loop);
|
|
glutMainLoop();
|
|
}
|