]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/video-driver.cpp
add-file-archive! get-file-system get-name
[guile-irrlicht.git] / src / video-driver.cpp
index b52b24f6e2b9593a916d1c94f35f6fc0a0ce6af3..dd663e745d75e45b8d4c695d21e66baaa76c4a41 100644 (file)
@@ -28,6 +28,7 @@
 #include "rect.h"
 #include "vertex3d.h"
 #include "video-driver.h"
+#include "wchar.h"
 #include "wrapped.h"
 
 using namespace irr;
@@ -114,12 +115,19 @@ IVideoDriver_getFPS (SCM video_driver)
   return scm_from_int32 (driver->getFPS ());
 }
 
+SCM
+IVideoDriver_getName (SCM video_driver)
+{
+  video::IVideoDriver* driver = (video::IVideoDriver*) scm_to_irr_pointer (video_driver);
+  return scm_from_wide_char_string (driver->getName ());
+}
+
 SCM
 IVideoDriver_getTexture (SCM video_driver,
                          SCM filename)
 {
   video::IVideoDriver* driver = (video::IVideoDriver*) scm_to_irr_pointer (video_driver);
-  video::ITexture* texture = driver->getTexture (scm_to_utf8_stringn (filename, NULL));
+  video::ITexture* texture = driver->getTexture (scm_to_utf8_string (filename));
   return scm_from_pointer ((void*) texture, NULL);
 }
 
@@ -152,6 +160,7 @@ init_video_driver (void)
                 IVideoDriver_drawVertexPrimitiveList);
   DEFINE_GSUBR ("IVideoDriver_endScene", 1, 0, 0, IVideoDriver_endScene);
   DEFINE_GSUBR ("IVideoDriver_getFPS", 1, 0, 0, IVideoDriver_getFPS);
+  DEFINE_GSUBR ("IVideoDriver_getName", 1, 0, 0, IVideoDriver_getName);
   DEFINE_GSUBR ("IVideoDriver_getTexture", 2, 0, 0, IVideoDriver_getTexture);
   DEFINE_GSUBR ("IVideoDriver_setMaterial", 2, 0, 0, IVideoDriver_setMaterial);
   DEFINE_GSUBR ("IVideoDriver_setTransform", 3, 0, 0, IVideoDriver_setTransform);
@@ -160,7 +169,7 @@ init_video_driver (void)
 video::E_TRANSFORMATION_STATE
 scm_to_transformation_state (SCM transformation_state)
 {
-  char* state = scm_to_utf8_stringn (scm_symbol_to_string (transformation_state), NULL);
+  char* state = scm_to_utf8_string (scm_symbol_to_string (transformation_state));
   if (!strcmp (state, "view"))
     {
       return video::ETS_VIEW;