#include "event-receiver.h"
#include "file-archive.h"
#include "file-system.h"
+#include "gsubr.h"
#include "gui-element.h"
#include "gui-environment.h"
+#include "gui-image.h"
#include "gui-static-text.h"
#include "guile-irrlicht.h"
#include "keymap.h"
init_file_system ();
init_gui_element ();
init_gui_environment ();
+ init_gui_image ();
init_gui_static_text ();
init_keymap ();
init_material ();
init_video_driver ();
// Shared procedures (used by two or more objects)
- scm_c_define_gsubr ("draw-all", 1, 0, 0, (scm_t_subr)irr_drawAll);
- scm_c_define_gsubr ("get-name", 1, 0, 0, (scm_t_subr)irr_getName);
- scm_c_define_gsubr ("set-material!", 2, 0, 0, (scm_t_subr)irr_setMaterial);
- scm_c_define_gsubr ("set-material-flag!", 3, 0, 0, (scm_t_subr)irr_setMaterialFlag);
- scm_c_define_gsubr ("set-position!", 2, 0, 0, (scm_t_subr)irr_setPosition);
- scm_c_define_gsubr ("set-visible!", 2, 0, 0, (scm_t_subr)irr_setVisible);
- scm_c_export ("draw-all", "get-name", "set-material!", "set-material-flag!",
- "set-position!", "set-visible!", NULL);
+ DEFINE_GSUBR ("draw-all", 1, 0, 0, irr_drawAll);
+ DEFINE_GSUBR ("get-name", 1, 0, 0, irr_getName);
+ DEFINE_GSUBR ("set-material!", 2, 0, 0, irr_setMaterial);
+ DEFINE_GSUBR ("set-material-flag!", 3, 0, 0, irr_setMaterialFlag);
+ DEFINE_GSUBR ("set-position!", 2, 0, 0, irr_setPosition);
+ DEFINE_GSUBR ("set-visible!", 2, 0, 0, irr_setVisible);
}
SCM
SCM flag,
SCM newvalue)
{
- if (mesh_scene_node_p (wrapped_obj) || scene_node_p (wrapped_obj))
+ if (animated_mesh_scene_node_p (wrapped_obj) ||
+ mesh_scene_node_p (wrapped_obj) ||
+ scene_node_p (wrapped_obj))
{
return irr_scene_ISceneNode_setMaterialFlag (wrapped_obj, flag, newvalue);
}
irr_setVisible (SCM wrapped_obj,
SCM visible)
{
+#define SET_VISIBLE(OBJ) OBJ->setVisible (scm_to_bool (visible));
+
if (cursor_control_p (wrapped_obj))
{
- unwrap_cursor_control (wrapped_obj)->setVisible (scm_to_bool (visible));
+ SET_VISIBLE (unwrap_cursor_control (wrapped_obj));
}
else if (gui_element_p (wrapped_obj))
{
- unwrap_gui_element (wrapped_obj)->setVisible (scm_to_bool (visible));
+ SET_VISIBLE (unwrap_gui_element (wrapped_obj));
}
else if (scene_node_p (wrapped_obj))
{
- unwrap_scene_node (wrapped_obj)->setVisible (scm_to_bool (visible));
+ SET_VISIBLE (unwrap_scene_node (wrapped_obj));
}
else
{