diff --git a/InterfaceGenerator/CppHeaderParser.pyc b/InterfaceGenerator/CppHeaderParser.pyc
new file mode 100644
Binary files /dev/null and b/InterfaceGenerator/CppHeaderParser.pyc differ
diff --git a/InterfaceGenerator/autogen_irrlicht_interface.hs b/InterfaceGenerator/autogen_irrlicht_interface.hs
--- a/InterfaceGenerator/autogen_irrlicht_interface.hs
+++ b/InterfaceGenerator/autogen_irrlicht_interface.hs
@@ -3,11559 +3,12044 @@
 import Foreign.GreenCard
 %#include "c_interface.h"
 
-data IGUIEnvironmentPtr = IGUIEnvironmentPtr Int
-data IGUIElementPtr = IGUIElementPtr Int
-%fun IGUIButtonIGUIButton :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_BUTTON) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIButtonIGUIButton(environment, parent, id, EGUIET_BUTTON, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-data IGUIFontPtr = IGUIFontPtr Int
-%fun IGUIButtonSetOverrideFont :: IGUIFontPtr -> IO ()
-%call (iGUIFontPtr font) 
-%code int result = IGUIButtonSetOverrideFont(font);
-%fail {result < 0} {getError();}
-
-
-data ITexturePtr = ITexturePtr Int
-%fun IGUIButtonSetImage :: ITexturePtr -> IO ()
-%call (iTexturePtr image) 
-%code int result = IGUIButtonSetImage(image);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetImage :: ITexturePtr -> Int -> IO ()
-%call (iTexturePtr image) (int pos) 
-%code int result = IGUIButtonSetImage(image, pos);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetPressedImage :: ITexturePtr -> IO ()
-%call (iTexturePtr image) 
-%code int result = IGUIButtonSetPressedImage(image);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetPressedImage :: ITexturePtr -> Int -> IO ()
-%call (iTexturePtr image) (int pos) 
-%code int result = IGUIButtonSetPressedImage(image, pos);
-%fail {result < 0} {getError();}
-
-
-data IGUISpriteBankPtr = IGUISpriteBankPtr Int
-%fun IGUIButtonSetSpriteBank :: IGUISpriteBankPtr -> IO ()
-%call (iGUISpriteBankPtr bank) 
-%code int result = IGUIButtonSetSpriteBank(bank);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetSprite :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int state) (int index) (int color) (int arg4) (int arg5) (int )) (int loop) 
-%code int result = IGUIButtonSetSprite(state, index, color, arg4, arg5, ), loop);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetIsPushButton :: Int -> IO ()
-%call (int isPushButton) 
-%code int result = IGUIButtonSetIsPushButton(isPushButton);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetPressed :: Int -> IO ()
-%call (int pressed) 
-%code int result = IGUIButtonSetPressed(pressed);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonIsPressed :: IO ()
-%call 
-%code int result = IGUIButtonIsPressed();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetUseAlphaChannel :: Int -> IO ()
-%call (int useAlphaChannel) 
-%code int result = IGUIButtonSetUseAlphaChannel(useAlphaChannel);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonIsAlphaChannelUsed :: IO ()
-%call 
-%code int result = IGUIButtonIsAlphaChannelUsed();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonIsPushButton :: IO ()
-%call 
-%code int result = IGUIButtonIsPushButton();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetDrawBorder :: Int -> IO ()
-%call (int border) 
-%code int result = IGUIButtonSetDrawBorder(border);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonIsDrawingBorder :: IO ()
-%call 
-%code int result = IGUIButtonIsDrawingBorder();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonSetScaleImage :: Int -> IO ()
-%call (int scaleImage) 
-%code int result = IGUIButtonSetScaleImage(scaleImage);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIButtonIsScalingImage :: IO ()
-%call 
-%code int result = IGUIButtonIsScalingImage();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentDrawAll :: IO ()
-%call 
-%code int result = IGUIEnvironmentDrawAll();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentSetFocus :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr element) 
-%code int result = IGUIEnvironmentSetFocus(element);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetFocus :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetFocus();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentRemoveFocus :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr element) 
-%code int result = IGUIEnvironmentRemoveFocus(element);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentHasFocus :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr element) 
-%code int result = IGUIEnvironmentHasFocus(element);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetVideoDriver :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetVideoDriver();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetFileSystem :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetFileSystem();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetOSOperator :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetOSOperator();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentClear :: IO ()
-%call 
-%code int result = IGUIEnvironmentClear();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentPostEventFromUser :: Int -> IO ()
-%call (int event) 
-%code int result = IGUIEnvironmentPostEventFromUser(event);
-%fail {result < 0} {getError();}
-
-
-data IEventReceiverPtr = IEventReceiverPtr Int
-%fun IGUIEnvironmentSetUserEventReceiver :: IEventReceiverPtr -> IO ()
-%call (iEventReceiverPtr evr) 
-%code int result = IGUIEnvironmentSetUserEventReceiver(evr);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetSkin :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetSkin();
-%fail {result < 0} {getError();}
-
-
-data IGUISkinPtr = IGUISkinPtr Int
-%fun IGUIEnvironmentSetSkin :: IGUISkinPtr -> IO ()
-%call (iGUISkinPtr skin) 
-%code int result = IGUIEnvironmentSetSkin(skin);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentCreateSkin :: Int -> IO ()
-%call (int type) 
-%code int result = IGUIEnvironmentCreateSkin(type);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentCreateImageList :: ITexturePtr -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int imageSize) (int useAlphaChannel) 
-%code int result = IGUIEnvironmentCreateImageList(texture, imageSize, useAlphaChannel);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetFont :: Int -> IO ()
-%call (int filename) 
-%code int result = IGUIEnvironmentGetFont(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetBuiltInFont :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetBuiltInFont();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetSpriteBank :: Int -> IO ()
-%call (int filename) 
-%code int result = IGUIEnvironmentGetSpriteBank(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddEmptySpriteBank :: Int -> IO ()
-%call (int name) 
-%code int result = IGUIEnvironmentAddEmptySpriteBank(name);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetRootGUIElement :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetRootGUIElement();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddButton :: Int -> IGUIElementPtr -> Int -> String -> String -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) (string text) (string tooltiptext) 
-%code int result = IGUIEnvironmentAddButton(rectangle, parent, id, text, tooltiptext);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddWindow :: Int -> Int -> String -> IGUIElementPtr -> Int -> IO ()
-%call (int rectangle) (int modal) (string text) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddWindow(rectangle, modal, text, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddModalScreen :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr parent) 
-%code int result = IGUIEnvironmentAddModalScreen(parent);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddMessageBox :: String -> String -> Int -> Int -> IGUIElementPtr -> Int -> IO ()
-%call (string caption) (string text) (int modal) (int flags) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddMessageBox(caption, text, modal, flags, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddScrollBar :: Int -> Int -> IGUIElementPtr -> Int -> IO ()
-%call (int horizontal) (int rectangle) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddScrollBar(horizontal, rectangle, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddImage :: ITexturePtr -> Int -> Int -> IGUIElementPtr -> Int -> String -> IO ()
-%call (iTexturePtr image) (int pos) (int useAlphaChannel) (iGUIElementPtr parent) (int id) (string text) 
-%code int result = IGUIEnvironmentAddImage(image, pos, useAlphaChannel, parent, id, text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddImage :: Int -> IGUIElementPtr -> Int -> String -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) (string text) 
-%code int result = IGUIEnvironmentAddImage(rectangle, parent, id, text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddCheckBox :: Int -> Int -> IGUIElementPtr -> Int -> String -> IO ()
-%call (int checked) (int rectangle) (iGUIElementPtr parent) (int id) (string text) 
-%code int result = IGUIEnvironmentAddCheckBox(checked, rectangle, parent, id, text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddListBox :: Int -> IGUIElementPtr -> Int -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) (int drawBackground) 
-%code int result = IGUIEnvironmentAddListBox(rectangle, parent, id, drawBackground);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddTreeView :: Int -> IGUIElementPtr -> Int -> Int -> Int -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) (int drawBackground) (int scrollBarVertical) (int scrollBarHorizontal) 
-%code int result = IGUIEnvironmentAddTreeView(rectangle, parent, id, drawBackground, scrollBarVertical, scrollBarHorizontal);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddMeshViewer :: Int -> IGUIElementPtr -> Int -> String -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) (string text) 
-%code int result = IGUIEnvironmentAddMeshViewer(rectangle, parent, id, text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddFileOpenDialog :: String -> Int -> IGUIElementPtr -> Int -> IO ()
-%call (string title) (int modal) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddFileOpenDialog(title, modal, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddColorSelectDialog :: String -> Int -> IGUIElementPtr -> Int -> IO ()
-%call (string title) (int modal) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddColorSelectDialog(title, modal, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddStaticText :: String -> Int -> Int -> Int -> IGUIElementPtr -> Int -> Int -> IO ()
-%call (string text) (int rectangle) (int border) (int wordWrap) (iGUIElementPtr parent) (int id) (int fillBackground) 
-%code int result = IGUIEnvironmentAddStaticText(text, rectangle, border, wordWrap, parent, id, fillBackground);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddEditBox :: String -> Int -> Int -> IGUIElementPtr -> Int -> IO ()
-%call (string text) (int rectangle) (int border) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddEditBox(text, rectangle, border, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddSpinBox :: String -> Int -> Int -> IGUIElementPtr -> Int -> IO ()
-%call (string text) (int rectangle) (int border) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddSpinBox(text, rectangle, border, parent, id);
-%fail {result < 0} {getError();}
-
-
-data Rect<s32>Ptr = Rect<s32>Ptr Int
-%fun IGUIEnvironmentAddInOutFader :: Rect<s32>Ptr -> IGUIElementPtr -> Int -> IO ()
-%call (rect<s32>Ptr rectangle) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddInOutFader(rectangle, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddTabControl :: Int -> IGUIElementPtr -> Int -> Int -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int fillbackground) (int border) (int id) 
-%code int result = IGUIEnvironmentAddTabControl(rectangle, parent, fillbackground, border, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddTab :: Int -> IGUIElementPtr -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddTab(rectangle, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddContextMenu :: Int -> IGUIElementPtr -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddContextMenu(rectangle, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddMenu :: IGUIElementPtr -> Int -> IO ()
-%call (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddMenu(parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddToolBar :: IGUIElementPtr -> Int -> IO ()
-%call (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddToolBar(parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddComboBox :: Int -> IGUIElementPtr -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) 
-%code int result = IGUIEnvironmentAddComboBox(rectangle, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentAddTable :: Int -> IGUIElementPtr -> Int -> Int -> IO ()
-%call (int rectangle) (iGUIElementPtr parent) (int id) (int drawBackground) 
-%code int result = IGUIEnvironmentAddTable(rectangle, parent, id, drawBackground);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetDefaultGUIElementFactory :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetDefaultGUIElementFactory();
-%fail {result < 0} {getError();}
-
-
-data IGUIElementFactoryPtr = IGUIElementFactoryPtr Int
-%fun IGUIEnvironmentRegisterGUIElementFactory :: IGUIElementFactoryPtr -> IO ()
-%call (iGUIElementFactoryPtr factoryToAdd) 
-%code int result = IGUIEnvironmentRegisterGUIElementFactory(factoryToAdd);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetRegisteredGUIElementFactoryCount :: IO ()
-%call 
-%code int result = IGUIEnvironmentGetRegisteredGUIElementFactoryCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentGetGUIElementFactory :: Int -> IO ()
-%call (int index) 
-%code int result = IGUIEnvironmentGetGUIElementFactory(index);
-%fail {result < 0} {getError();}
-
-
-data C8Ptr = C8Ptr Int
-%fun IGUIEnvironmentAddGUIElement :: C8Ptr -> IGUIElementPtr -> IO ()
-%call (c8Ptr elementName) (iGUIElementPtr parent) 
-%code int result = IGUIEnvironmentAddGUIElement(elementName, parent);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentSaveGUI :: Int -> IGUIElementPtr -> IO ()
-%call (int filename) (iGUIElementPtr start) 
-%code int result = IGUIEnvironmentSaveGUI(filename, start);
-%fail {result < 0} {getError();}
-
-
-data IWriteFilePtr = IWriteFilePtr Int
-%fun IGUIEnvironmentSaveGUI :: IWriteFilePtr -> IGUIElementPtr -> IO ()
-%call (iWriteFilePtr file) (iGUIElementPtr start) 
-%code int result = IGUIEnvironmentSaveGUI(file, start);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentLoadGUI :: Int -> IGUIElementPtr -> IO ()
-%call (int filename) (iGUIElementPtr parent) 
-%code int result = IGUIEnvironmentLoadGUI(filename, parent);
-%fail {result < 0} {getError();}
-
-
-data IReadFilePtr = IReadFilePtr Int
-%fun IGUIEnvironmentLoadGUI :: IReadFilePtr -> IGUIElementPtr -> IO ()
-%call (iReadFilePtr file) (iGUIElementPtr parent) 
-%code int result = IGUIEnvironmentLoadGUI(file, parent);
-%fail {result < 0} {getError();}
-
-
-data IAttributesPtr = IAttributesPtr Int
-data SAttributeReadWriteOptionsPtr = SAttributeReadWriteOptionsPtr Int
-%fun IGUIEnvironmentSerializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr out) (sAttributeReadWriteOptionsPtr options) 
-%code int result = IGUIEnvironmentSerializeAttributes(out, options);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEnvironmentDeserializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr in) (sAttributeReadWriteOptionsPtr options) 
-%code int result = IGUIEnvironmentDeserializeAttributes(in, options);
-%fail {result < 0} {getError();}
-
-
-data IXMLWriterPtr = IXMLWriterPtr Int
-%fun IGUIEnvironmentWriteGUIElement :: IXMLWriterPtr -> IGUIElementPtr -> IO ()
-%call (iXMLWriterPtr writer) (iGUIElementPtr node) 
-%code int result = IGUIEnvironmentWriteGUIElement(writer, node);
-%fail {result < 0} {getError();}
-
-
-data IXMLReaderPtr = IXMLReaderPtr Int
-%fun IGUIEnvironmentReadGUIElement :: IXMLReaderPtr -> IGUIElementPtr -> IO ()
-%call (iXMLReaderPtr reader) (iGUIElementPtr node) 
-%code int result = IGUIEnvironmentReadGUIElement(reader, node);
-%fail {result < 0} {getError();}
-
-
-%fun IEventReceiverIEventReceiver :: IO ()
-%call 
-%code int result = IEventReceiverIEventReceiver();
-%fail {result < 0} {getError();}
-
-
-%fun IEventReceiverOnEvent :: Int -> IO ()
-%call (int event) 
-%code int result = IEventReceiverOnEvent(event);
-%fail {result < 0} {getError();}
-
-
-%fun IFileArchiveCreateAndOpenFile :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileArchiveCreateAndOpenFile(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileArchiveCreateAndOpenFile :: Int -> IO ()
-%call (int index) 
-%code int result = IFileArchiveCreateAndOpenFile(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileArchiveGetFileList :: IO ()
-%call 
-%code int result = IFileArchiveGetFileList();
-%fail {result < 0} {getError();}
-
-
-%fun IFileArchiveGetType :: IO ()
-%call 
-%code int result = IFileArchiveGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IArchiveLoaderIsALoadableFileFormat :: Int -> IO ()
-%call (int filename) 
-%code int result = IArchiveLoaderIsALoadableFileFormat(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IArchiveLoaderIsALoadableFileFormat :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IArchiveLoaderIsALoadableFileFormat(file);
-%fail {result < 0} {getError();}
-
-
-%fun IArchiveLoaderIsALoadableFileFormat :: Int -> IO ()
-%call (int fileType) 
-%code int result = IArchiveLoaderIsALoadableFileFormat(fileType);
-%fail {result < 0} {getError();}
-
-
-%fun IArchiveLoaderCreateArchive :: Int -> Int -> Int -> IO ()
-%call (int filename) (int ignoreCase) (int ignorePaths) 
-%code int result = IArchiveLoaderCreateArchive(filename, ignoreCase, ignorePaths);
-%fail {result < 0} {getError();}
-
-
-%fun IArchiveLoaderCreateArchive :: IReadFilePtr -> Int -> Int -> IO ()
-%call (iReadFilePtr file) (int ignoreCase) (int ignorePaths) 
-%code int result = IArchiveLoaderCreateArchive(file, ignoreCase, ignorePaths);
-%fail {result < 0} {getError();}
-
-
-%fun ITimerITimer :: IO ()
-%call 
-%code int result = ITimerITimer();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerGetRealTime :: IO ()
-%call 
-%code int result = ITimerGetRealTime();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerGetTime :: IO ()
-%call 
-%code int result = ITimerGetTime();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerSetTime :: Int -> IO ()
-%call (int time) 
-%code int result = ITimerSetTime(time);
-%fail {result < 0} {getError();}
-
-
-%fun ITimerStop :: IO ()
-%call 
-%code int result = ITimerStop();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerStart :: IO ()
-%call 
-%code int result = ITimerStart();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerSetSpeed :: Int -> IO ()
-%call (int speed) 
-%code int result = ITimerSetSpeed(speed);
-%fail {result < 0} {getError();}
-
-
-%fun ITimerGetSpeed :: IO ()
-%call 
-%code int result = ITimerGetSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerIsStopped :: IO ()
-%call 
-%code int result = ITimerIsStopped();
-%fail {result < 0} {getError();}
-
-
-%fun ITimerTick :: IO ()
-%call 
-%code int result = ITimerTick();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshLoaderIMeshLoader :: IO ()
-%call 
-%code int result = IMeshLoaderIMeshLoader();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshLoaderIsALoadableFileExtension :: Int -> IO ()
-%call (int filename) 
-%code int result = IMeshLoaderIsALoadableFileExtension(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshLoaderCreateMesh :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IMeshLoaderCreateMesh(file);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeIGUITreeViewNode :: IO ()
-%call 
-%code int result = IGUITreeViewNodeIGUITreeViewNode();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeIGUITreeViewNode :: IO ()
-%call 
-%code int result = IGUITreeViewNodeIGUITreeViewNode();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetOwner :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetOwner();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetParent :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetParent();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetText :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetText();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetText :: String -> IO ()
-%call (string text) 
-%code int result = IGUITreeViewNodeSetText(text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetIcon :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetIcon();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetIcon :: String -> IO ()
-%call (string icon) 
-%code int result = IGUITreeViewNodeSetIcon(icon);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetImageIndex :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetImageIndex();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetImageIndex :: Int -> IO ()
-%call (int imageIndex) 
-%code int result = IGUITreeViewNodeSetImageIndex(imageIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetSelectedImageIndex :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetSelectedImageIndex();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetSelectedImageIndex :: Int -> IO ()
-%call (int imageIndex) 
-%code int result = IGUITreeViewNodeSetSelectedImageIndex(imageIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetData :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetData();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetData :: Int -> IO ()
-%call (int data) 
-%code int result = IGUITreeViewNodeSetData(data);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetData2 :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetData2();
-%fail {result < 0} {getError();}
-
-
-data IReferenceCountedPtr = IReferenceCountedPtr Int
-%fun IGUITreeViewNodeSetData2 :: IReferenceCountedPtr -> IO ()
-%call (iReferenceCountedPtr data) 
-%code int result = IGUITreeViewNodeSetData2(data);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetChildCount :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetChildCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeClearChilds :: IO ()
-%call 
-%code int result = IGUITreeViewNodeClearChilds();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeHasChilds :: IO ()
-%call 
-%code int result = IGUITreeViewNodeHasChilds();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeAddChildBack :: String -> String -> Int -> Int -> Int -> IReferenceCountedPtr -> IO ()
-%call (string text) (string icon) (int imageIndex) (int selectedImageIndex) (int data) (iReferenceCountedPtr data2) 
-%code int result = IGUITreeViewNodeAddChildBack(text, icon, imageIndex, selectedImageIndex, data, data2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeAddChildFront :: String -> String -> Int -> Int -> Int -> IReferenceCountedPtr -> IO ()
-%call (string text) (string icon) (int imageIndex) (int selectedImageIndex) (int data) (iReferenceCountedPtr data2) 
-%code int result = IGUITreeViewNodeAddChildFront(text, icon, imageIndex, selectedImageIndex, data, data2);
-%fail {result < 0} {getError();}
-
-
-data IGUITreeViewNodePtr = IGUITreeViewNodePtr Int
-%fun IGUITreeViewNodeInsertChildAfter :: IGUITreeViewNodePtr -> String -> String -> Int -> Int -> Int -> IReferenceCountedPtr -> IO ()
-%call (iGUITreeViewNodePtr other) (string text) (string icon) (int imageIndex) (int selectedImageIndex) (int data) (iReferenceCountedPtr data2) 
-%code int result = IGUITreeViewNodeInsertChildAfter(other, text, icon, imageIndex, selectedImageIndex, data, data2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeInsertChildBefore :: IGUITreeViewNodePtr -> String -> String -> Int -> Int -> Int -> IReferenceCountedPtr -> IO ()
-%call (iGUITreeViewNodePtr other) (string text) (string icon) (int imageIndex) (int selectedImageIndex) (int data) (iReferenceCountedPtr data2) 
-%code int result = IGUITreeViewNodeInsertChildBefore(other, text, icon, imageIndex, selectedImageIndex, data, data2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetFirstChild :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetFirstChild();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetLastChild :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetLastChild();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetPrevSibling :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetPrevSibling();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetNextSibling :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetNextSibling();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetNextVisible :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetNextVisible();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeDeleteChild :: IGUITreeViewNodePtr -> IO ()
-%call (iGUITreeViewNodePtr child) 
-%code int result = IGUITreeViewNodeDeleteChild(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeMoveChildUp :: IGUITreeViewNodePtr -> IO ()
-%call (iGUITreeViewNodePtr child) 
-%code int result = IGUITreeViewNodeMoveChildUp(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeMoveChildDown :: IGUITreeViewNodePtr -> IO ()
-%call (iGUITreeViewNodePtr child) 
-%code int result = IGUITreeViewNodeMoveChildDown(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetExpanded :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetExpanded();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetExpanded :: Int -> IO ()
-%call (int expanded) 
-%code int result = IGUITreeViewNodeSetExpanded(expanded);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetSelected :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetSelected();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeSetSelected :: Int -> IO ()
-%call (int selected) 
-%code int result = IGUITreeViewNodeSetSelected(selected);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeIsRoot :: IO ()
-%call 
-%code int result = IGUITreeViewNodeIsRoot();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeGetLevel :: IO ()
-%call 
-%code int result = IGUITreeViewNodeGetLevel();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewNodeIsVisible :: IO ()
-%call 
-%code int result = IGUITreeViewNodeIsVisible();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewIGUITreeView :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_TREE_VIEW) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUITreeViewIGUITreeView(environment, parent, id, EGUIET_TREE_VIEW, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewIGUITreeView :: IO ()
-%call 
-%code int result = IGUITreeViewIGUITreeView();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewGetRoot :: IO ()
-%call 
-%code int result = IGUITreeViewGetRoot();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewGetSelected :: IO ()
-%call 
-%code int result = IGUITreeViewGetSelected();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewGetLinesVisible :: IO ()
-%call 
-%code int result = IGUITreeViewGetLinesVisible();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewSetLinesVisible :: Int -> IO ()
-%call (int visible) 
-%code int result = IGUITreeViewSetLinesVisible(visible);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewSetIconFont :: IGUIFontPtr -> IO ()
-%call (iGUIFontPtr font) 
-%code int result = IGUITreeViewSetIconFont(font);
-%fail {result < 0} {getError();}
-
-
-data IGUIImageListPtr = IGUIImageListPtr Int
-%fun IGUITreeViewSetImageList :: IGUIImageListPtr -> IO ()
-%call (iGUIImageListPtr imageList) 
-%code int result = IGUITreeViewSetImageList(imageList);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewGetImageList :: IO ()
-%call 
-%code int result = IGUITreeViewGetImageList();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewSetImageLeftOfIcon :: Int -> IO ()
-%call (int bLeftOf) 
-%code int result = IGUITreeViewSetImageLeftOfIcon(bLeftOf);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewGetImageLeftOfIcon :: IO ()
-%call 
-%code int result = IGUITreeViewGetImageLeftOfIcon();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITreeViewGetLastEventNode :: IO ()
-%call 
-%code int result = IGUITreeViewGetLastEventNode();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerSMaterialLayer :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int )) (int )) (int )) (int )) (int )) (int )) (int 0) 
-%code int result = SMaterialLayerSMaterialLayer(), ), ), ), ), ), 0);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerSMaterialLayer :: Int -> IO ()
-%call (int other) 
-%code int result = SMaterialLayerSMaterialLayer(other);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerSMaterialLayer :: IO ()
-%call 
-%code int result = SMaterialLayerSMaterialLayer();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerDestruct :: IO ()
-%call 
-%code int result = SMaterialLayerDestruct();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerDeallocate :: IO ()
-%call 
-%code int result = SMaterialLayerDeallocate();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayer= :: Int -> IO ()
-%call (int other) 
-%code int result = SMaterialLayer=(other);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerDestruct :: IO ()
-%call 
-%code int result = SMaterialLayerDestruct();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerDeallocate :: IO ()
-%call 
-%code int result = SMaterialLayerDeallocate();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerAllocate :: IO ()
-%call 
-%code int result = SMaterialLayerAllocate();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerConstruct :: Int -> Int -> IO ()
-%call (int arg1) (int TextureMatrix) 
-%code int result = SMaterialLayerConstruct(arg1, TextureMatrix);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerGetTextureMatrix :: IO ()
-%call 
-%code int result = SMaterialLayerGetTextureMatrix();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerAllocate :: IO ()
-%call 
-%code int result = SMaterialLayerAllocate();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerConstruct :: Int -> Int -> IO ()
-%call (int arg1) (int IdentityMatrix) 
-%code int result = SMaterialLayerConstruct(arg1, IdentityMatrix);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerGetTextureMatrix :: IO ()
-%call 
-%code int result = SMaterialLayerGetTextureMatrix();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerSetTextureMatrix :: Int -> IO ()
-%call (int mat) 
-%code int result = SMaterialLayerSetTextureMatrix(mat);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerAllocate :: IO ()
-%call 
-%code int result = SMaterialLayerAllocate();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayerConstruct :: Int -> IO ()
-%call (int arg1) 
-%code int result = SMaterialLayerConstruct(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayer= :: Int -> IO ()
-%call (int b) 
-%code int result = SMaterialLayer=(b);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayer= :: Int -> IO ()
-%call (int TextureMatrix) 
-%code int result = SMaterialLayer=(TextureMatrix);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialLayer= :: Int -> IO ()
-%call (int b) 
-%code int result = SMaterialLayer=(b);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverBeginScene :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (int backBuffer) (int zBuffer) (int color) (int arg4) (int arg5) (int )) (int windowId) (rect<s32>Ptr sourceRect) 
-%code int result = IVideoDriverBeginScene(backBuffer, zBuffer, color, arg4, arg5, ), windowId, sourceRect);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverEndScene :: IO ()
-%call 
-%code int result = IVideoDriverEndScene();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverQueryFeature :: Int -> IO ()
-%call (int feature) 
-%code int result = IVideoDriverQueryFeature(feature);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDisableFeature :: Int -> Int -> IO ()
-%call (int feature) (int flag) 
-%code int result = IVideoDriverDisableFeature(feature, flag);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCheckDriverReset :: IO ()
-%call 
-%code int result = IVideoDriverCheckDriverReset();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetTransform :: Int -> Int -> IO ()
-%call (int state) (int mat) 
-%code int result = IVideoDriverSetTransform(state, mat);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetTransform :: Int -> IO ()
-%call (int state) 
-%code int result = IVideoDriverGetTransform(state);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetImageLoaderCount :: IO ()
-%call 
-%code int result = IVideoDriverGetImageLoaderCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetImageLoader :: Int -> IO ()
-%call (int n) 
-%code int result = IVideoDriverGetImageLoader(n);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetImageWriterCount :: IO ()
-%call 
-%code int result = IVideoDriverGetImageWriterCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetImageWriter :: Int -> IO ()
-%call (int n) 
-%code int result = IVideoDriverGetImageWriter(n);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetMaterial :: Int -> IO ()
-%call (int material) 
-%code int result = IVideoDriverSetMaterial(material);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetTexture :: Int -> IO ()
-%call (int filename) 
-%code int result = IVideoDriverGetTexture(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetTexture :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IVideoDriverGetTexture(file);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetTextureByIndex :: Int -> IO ()
-%call (int index) 
-%code int result = IVideoDriverGetTextureByIndex(index);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetTextureCount :: IO ()
-%call 
-%code int result = IVideoDriverGetTextureCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverRenameTexture :: ITexturePtr -> Int -> IO ()
-%call (iTexturePtr texture) (int newName) 
-%code int result = IVideoDriverRenameTexture(texture, newName);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverAddTexture :: Int -> Int -> Int -> IO ()
-%call (int size) (int name) (int format) 
-%code int result = IVideoDriverAddTexture(size, name, format);
-%fail {result < 0} {getError();}
-
-
-data IImagePtr = IImagePtr Int
-%fun IVideoDriverAddTexture :: Int -> IImagePtr -> IO ()
-%call (int name) (iImagePtr image) 
-%code int result = IVideoDriverAddTexture(name, image);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverAddRenderTargetTexture :: Int -> Int -> Int -> IO ()
-%call (int size) (int name) (int format) 
-%code int result = IVideoDriverAddRenderTargetTexture(size, name, format);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverRemoveTexture :: ITexturePtr -> IO ()
-%call (iTexturePtr texture) 
-%code int result = IVideoDriverRemoveTexture(texture);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverRemoveAllTextures :: IO ()
-%call 
-%code int result = IVideoDriverRemoveAllTextures();
-%fail {result < 0} {getError();}
-
-
-data IMeshBufferPtr = IMeshBufferPtr Int
-%fun IVideoDriverRemoveHardwareBuffer :: IMeshBufferPtr -> IO ()
-%call (iMeshBufferPtr mb) 
-%code int result = IVideoDriverRemoveHardwareBuffer(mb);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverRemoveAllHardwareBuffers :: IO ()
-%call 
-%code int result = IVideoDriverRemoveAllHardwareBuffers();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverMakeColorKeyTexture :: ITexturePtr -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int color) (int zeroTexels) 
-%code int result = IVideoDriverMakeColorKeyTexture(texture, color, zeroTexels);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverMakeColorKeyTexture :: ITexturePtr -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int colorKeyPixelPos) (int zeroTexels) 
-%code int result = IVideoDriverMakeColorKeyTexture(texture, colorKeyPixelPos, zeroTexels);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverMakeNormalMapTexture :: ITexturePtr -> Int -> IO ()
-%call (iTexturePtr texture) (int amplitude) 
-%code int result = IVideoDriverMakeNormalMapTexture(texture, amplitude);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetRenderTarget :: ITexturePtr -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int clearBackBuffer) (int clearZBuffer) (int color) (int arg5) (int arg6) (int )) 
-%code int result = IVideoDriverSetRenderTarget(texture, clearBackBuffer, clearZBuffer, color, arg5, arg6, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetRenderTarget :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int target) (int clearTarget) (int clearZBuffer) (int color) (int arg5) (int arg6) (int )) 
-%code int result = IVideoDriverSetRenderTarget(target, clearTarget, clearZBuffer, color, arg5, arg6, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetViewPort :: Int -> IO ()
-%call (int area) 
-%code int result = IVideoDriverSetViewPort(area);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetViewPort :: IO ()
-%call 
-%code int result = IVideoDriverGetViewPort();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDrawVertexPrimitiveList :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int vertices) (int vertexCount) (int indexList) (int primCount) (int vType) (int pType) (int iType) 
-%code int result = IVideoDriverDrawVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DVertexPrimitiveList :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int vertices) (int vertexCount) (int indexList) (int primCount) (int vType) (int pType) (int iType) 
-%code int result = IVideoDriverDraw2DVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
-%fail {result < 0} {getError();}
-
-
-data S3DVertexPtr = S3DVertexPtr Int
-data U16Ptr = U16Ptr Int
-%fun IVideoDriverDrawIndexedTriangleList :: S3DVertexPtr -> Int -> U16Ptr -> Int -> IO ()
-%call (s3DVertexPtr vertices) (int vertexCount) (u16Ptr indexList) (int triangleCount) 
-%code int result = IVideoDriverDrawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
-%fail {result < 0} {getError();}
-
-
-data S3DVertex2TCoordsPtr = S3DVertex2TCoordsPtr Int
-%fun IVideoDriverDrawIndexedTriangleList :: S3DVertex2TCoordsPtr -> Int -> U16Ptr -> Int -> IO ()
-%call (s3DVertex2TCoordsPtr vertices) (int vertexCount) (u16Ptr indexList) (int triangleCount) 
-%code int result = IVideoDriverDrawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
-%fail {result < 0} {getError();}
-
-
-data S3DVertexTangentsPtr = S3DVertexTangentsPtr Int
-%fun IVideoDriverDrawIndexedTriangleList :: S3DVertexTangentsPtr -> Int -> U16Ptr -> Int -> IO ()
-%call (s3DVertexTangentsPtr vertices) (int vertexCount) (u16Ptr indexList) (int triangleCount) 
-%code int result = IVideoDriverDrawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDrawIndexedTriangleFan :: S3DVertexPtr -> Int -> U16Ptr -> Int -> IO ()
-%call (s3DVertexPtr vertices) (int vertexCount) (u16Ptr indexList) (int triangleCount) 
-%code int result = IVideoDriverDrawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDrawIndexedTriangleFan :: S3DVertex2TCoordsPtr -> Int -> U16Ptr -> Int -> IO ()
-%call (s3DVertex2TCoordsPtr vertices) (int vertexCount) (u16Ptr indexList) (int triangleCount) 
-%code int result = IVideoDriverDrawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw3DLine :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int start) (int end) (int color) (int arg4) (int arg5) (int )) 
-%code int result = IVideoDriverDraw3DLine(start, end, color, arg4, arg5, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw3DTriangle :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int triangle) (int color) (int arg3) (int arg4) (int )) 
-%code int result = IVideoDriverDraw3DTriangle(triangle, color, arg3, arg4, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw3DBox :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int box) (int color) (int arg3) (int arg4) (int )) 
-%code int result = IVideoDriverDraw3DBox(box, color, arg3, arg4, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DImage :: ITexturePtr -> Int -> IO ()
-%call (iTexturePtr texture) (int destPos) 
-%code int result = IVideoDriverDraw2DImage(texture, destPos);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DImage :: ITexturePtr -> Int -> Int -> Rect<s32>Ptr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int destPos) (int sourceRect) (rect<s32>Ptr clipRect) (int color) (int arg6) (int arg7) (int )) (int useAlphaChannelOfTexture) 
-%code int result = IVideoDriverDraw2DImage(texture, destPos, sourceRect, clipRect, color, arg6, arg7, ), useAlphaChannelOfTexture);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DImageBatch :: ITexturePtr -> Int -> Int -> Int -> Int -> Rect<s32>Ptr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int pos) (int sourceRects) (int indices) (int kerningWidth) (rect<s32>Ptr clipRect) (int color) (int arg8) (int arg9) (int )) (int useAlphaChannelOfTexture) 
-%code int result = IVideoDriverDraw2DImageBatch(texture, pos, sourceRects, indices, kerningWidth, clipRect, color, arg8, arg9, ), useAlphaChannelOfTexture);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DImageBatch :: ITexturePtr -> Int -> Int -> Rect<s32>Ptr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int positions) (int sourceRects) (rect<s32>Ptr clipRect) (int color) (int arg6) (int arg7) (int )) (int useAlphaChannelOfTexture) 
-%code int result = IVideoDriverDraw2DImageBatch(texture, positions, sourceRects, clipRect, color, arg6, arg7, ), useAlphaChannelOfTexture);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DImage :: ITexturePtr -> Int -> Int -> Rect<s32>Ptr -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int destRect) (int sourceRect) (rect<s32>Ptr clipRect) (int colors) (int useAlphaChannelOfTexture) 
-%code int result = IVideoDriverDraw2DImage(texture, destRect, sourceRect, clipRect, colors, useAlphaChannelOfTexture);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DRectangle :: Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (int color) (int pos) (rect<s32>Ptr clip) 
-%code int result = IVideoDriverDraw2DRectangle(color, pos, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DRectangle :: Int -> Int -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (int pos) (int colorLeftUp) (int colorRightUp) (int colorLeftDown) (int colorRightDown) (rect<s32>Ptr clip) 
-%code int result = IVideoDriverDraw2DRectangle(pos, colorLeftUp, colorRightUp, colorLeftDown, colorRightDown, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DRectangleOutline :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int pos) (int color) (int arg3) (int arg4) (int )) 
-%code int result = IVideoDriverDraw2DRectangleOutline(pos, color, arg3, arg4, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DLine :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int start) (int end) (int color) (int arg4) (int arg5) (int )) 
-%code int result = IVideoDriverDraw2DLine(start, end, color, arg4, arg5, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDrawPixel :: Int -> Int -> Int -> IO ()
-%call (int x) (int y) (int color) 
-%code int result = IVideoDriverDrawPixel(x, y, color);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDraw2DPolygon :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int center) (int radius) (int color) (int arg4) (int arg5) (int )) (int vertexCount) 
-%code int result = IVideoDriverDraw2DPolygon(center, radius, color, arg4, arg5, ), vertexCount);
-%fail {result < 0} {getError();}
-
-
-data Vector3dfPtr = Vector3dfPtr Int
-%fun IVideoDriverDrawStencilShadowVolume :: Vector3dfPtr -> Int -> Int -> IO ()
-%call (vector3dfPtr triangles) (int count) (int zfail) 
-%code int result = IVideoDriverDrawStencilShadowVolume(triangles, count, zfail);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDrawStencilShadow :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int clearStencilBuffer) (int leftUpEdge) (int arg3) (int arg4) (int )) (int rightUpEdge) (int arg7) (int arg8) (int )) (int leftDownEdge) (int arg11) (int arg12) (int )) (int rightDownEdge) (int arg15) (int arg16) (int )) 
-%code int result = IVideoDriverDrawStencilShadow(clearStencilBuffer, leftUpEdge, arg3, arg4, ), rightUpEdge, arg7, arg8, ), leftDownEdge, arg11, arg12, ), rightDownEdge, arg15, arg16, ));
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDrawMeshBuffer :: IMeshBufferPtr -> IO ()
-%call (iMeshBufferPtr mb) 
-%code int result = IVideoDriverDrawMeshBuffer(mb);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetFog :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int color) (int arg2) (int arg3) (int )) (int fogType) (int start) (int end) (int density) (int pixelFog) (int rangeFog) 
-%code int result = IVideoDriverSetFog(color, arg2, arg3, ), fogType, start, end, density, pixelFog, rangeFog);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetColorFormat :: IO ()
-%call 
-%code int result = IVideoDriverGetColorFormat();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetScreenSize :: IO ()
-%call 
-%code int result = IVideoDriverGetScreenSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetCurrentRenderTargetSize :: IO ()
-%call 
-%code int result = IVideoDriverGetCurrentRenderTargetSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetFPS :: IO ()
-%call 
-%code int result = IVideoDriverGetFPS();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetPrimitiveCountDrawn :: Int -> IO ()
-%call (int mode) 
-%code int result = IVideoDriverGetPrimitiveCountDrawn(mode);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverDeleteAllDynamicLights :: IO ()
-%call 
-%code int result = IVideoDriverDeleteAllDynamicLights();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverAddDynamicLight :: Int -> IO ()
-%call (int light) 
-%code int result = IVideoDriverAddDynamicLight(light);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetMaximalDynamicLightAmount :: IO ()
-%call 
-%code int result = IVideoDriverGetMaximalDynamicLightAmount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetDynamicLightCount :: IO ()
-%call 
-%code int result = IVideoDriverGetDynamicLightCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetDynamicLight :: Int -> IO ()
-%call (int idx) 
-%code int result = IVideoDriverGetDynamicLight(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverTurnLightOn :: Int -> Int -> IO ()
-%call (int lightIndex) (int turnOn) 
-%code int result = IVideoDriverTurnLightOn(lightIndex, turnOn);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetName :: IO ()
-%call 
-%code int result = IVideoDriverGetName();
-%fail {result < 0} {getError();}
-
-
-data IImageLoaderPtr = IImageLoaderPtr Int
-%fun IVideoDriverAddExternalImageLoader :: IImageLoaderPtr -> IO ()
-%call (iImageLoaderPtr loader) 
-%code int result = IVideoDriverAddExternalImageLoader(loader);
-%fail {result < 0} {getError();}
-
-
-data IImageWriterPtr = IImageWriterPtr Int
-%fun IVideoDriverAddExternalImageWriter :: IImageWriterPtr -> IO ()
-%call (iImageWriterPtr writer) 
-%code int result = IVideoDriverAddExternalImageWriter(writer);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetMaximalPrimitiveCount :: IO ()
-%call 
-%code int result = IVideoDriverGetMaximalPrimitiveCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetTextureCreationFlag :: Int -> Int -> IO ()
-%call (int flag) (int enabled) 
-%code int result = IVideoDriverSetTextureCreationFlag(flag, enabled);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetTextureCreationFlag :: Int -> IO ()
-%call (int flag) 
-%code int result = IVideoDriverGetTextureCreationFlag(flag);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImageFromFile :: Int -> IO ()
-%call (int filename) 
-%code int result = IVideoDriverCreateImageFromFile(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImageFromFile :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IVideoDriverCreateImageFromFile(file);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverWriteImageToFile :: IImagePtr -> Int -> Int -> IO ()
-%call (iImagePtr image) (int filename) (int param) 
-%code int result = IVideoDriverWriteImageToFile(image, filename, param);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverWriteImageToFile :: IImagePtr -> IWriteFilePtr -> Int -> IO ()
-%call (iImagePtr image) (iWriteFilePtr file) (int param) 
-%code int result = IVideoDriverWriteImageToFile(image, file, param);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImageFromData :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int format) (int size) (int data) (int ownForeignMemory) (int deleteMemory) 
-%code int result = IVideoDriverCreateImageFromData(format, size, data, ownForeignMemory, deleteMemory);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImage :: Int -> Int -> IO ()
-%call (int format) (int size) 
-%code int result = IVideoDriverCreateImage(format, size);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImage :: Int -> IImagePtr -> IO ()
-%call (int format) (iImagePtr imageToCopy) 
-%code int result = IVideoDriverCreateImage(format, imageToCopy);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImage :: IImagePtr -> Int -> Int -> IO ()
-%call (iImagePtr imageToCopy) (int pos) (int size) 
-%code int result = IVideoDriverCreateImage(imageToCopy, pos, size);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateImage :: ITexturePtr -> Int -> Int -> IO ()
-%call (iTexturePtr texture) (int pos) (int size) 
-%code int result = IVideoDriverCreateImage(texture, pos, size);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverOnResize :: Int -> IO ()
-%call (int size) 
-%code int result = IVideoDriverOnResize(size);
-%fail {result < 0} {getError();}
-
-
-data IMaterialRendererPtr = IMaterialRendererPtr Int
-%fun IVideoDriverAddMaterialRenderer :: IMaterialRendererPtr -> C8Ptr -> IO ()
-%call (iMaterialRendererPtr renderer) (c8Ptr name) 
-%code int result = IVideoDriverAddMaterialRenderer(renderer, name);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetMaterialRenderer :: Int -> IO ()
-%call (int idx) 
-%code int result = IVideoDriverGetMaterialRenderer(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetMaterialRendererCount :: IO ()
-%call 
-%code int result = IVideoDriverGetMaterialRendererCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetMaterialRendererName :: Int -> IO ()
-%call (int idx) 
-%code int result = IVideoDriverGetMaterialRendererName(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetMaterialRendererName :: Int -> C8Ptr -> IO ()
-%call (int idx) (c8Ptr name) 
-%code int result = IVideoDriverSetMaterialRendererName(idx, name);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateAttributesFromMaterial :: Int -> IO ()
-%call (int material) 
-%code int result = IVideoDriverCreateAttributesFromMaterial(material);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverFillMaterialStructureFromAttributes :: Int -> IAttributesPtr -> IO ()
-%call (int outMaterial) (iAttributesPtr attributes) 
-%code int result = IVideoDriverFillMaterialStructureFromAttributes(outMaterial, attributes);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetExposedVideoData :: IO ()
-%call 
-%code int result = IVideoDriverGetExposedVideoData();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetDriverType :: IO ()
-%call 
-%code int result = IVideoDriverGetDriverType();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetGPUProgrammingServices :: IO ()
-%call 
-%code int result = IVideoDriverGetGPUProgrammingServices();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetMeshManipulator :: IO ()
-%call 
-%code int result = IVideoDriverGetMeshManipulator();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverClearZBuffer :: IO ()
-%call 
-%code int result = IVideoDriverClearZBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverCreateScreenShot :: IO ()
-%call 
-%code int result = IVideoDriverCreateScreenShot();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverFindTexture :: Int -> IO ()
-%call (int filename) 
-%code int result = IVideoDriverFindTexture(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetClipPlane :: Int -> Int -> Int -> IO ()
-%call (int index) (int plane) (int enable) 
-%code int result = IVideoDriverSetClipPlane(index, plane, enable);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverEnableClipPlane :: Int -> Int -> IO ()
-%call (int index) (int enable) 
-%code int result = IVideoDriverEnableClipPlane(index, enable);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetMinHardwareBufferVertexCount :: Int -> IO ()
-%call (int count) 
-%code int result = IVideoDriverSetMinHardwareBufferVertexCount(count);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetOverrideMaterial :: IO ()
-%call 
-%code int result = IVideoDriverGetOverrideMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverGetVendorInfo :: IO ()
-%call 
-%code int result = IVideoDriverGetVendorInfo();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetAmbientLight :: Int -> IO ()
-%call (int color) 
-%code int result = IVideoDriverSetAmbientLight(color);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoDriverSetAllowZWriteOnTransparent :: Int -> IO ()
-%call (int flag) 
-%code int result = IVideoDriverSetAllowZWriteOnTransparent(flag);
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshGetJointCount :: IO ()
-%call 
-%code int result = ISkinnedMeshGetJointCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshGetJointName :: Int -> IO ()
-%call (int number) 
-%code int result = ISkinnedMeshGetJointName(number);
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshGetJointNumber :: C8Ptr -> IO ()
-%call (c8Ptr name) 
-%code int result = ISkinnedMeshGetJointNumber(name);
-%fail {result < 0} {getError();}
-
-
-data ISkinnedMeshPtr = ISkinnedMeshPtr Int
-%fun ISkinnedMeshUseAnimationFrom :: ISkinnedMeshPtr -> IO ()
-%call (iSkinnedMeshPtr mesh) 
-%code int result = ISkinnedMeshUseAnimationFrom(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshUpdateNormalsWhenAnimating :: Int -> IO ()
-%call (int on) 
-%code int result = ISkinnedMeshUpdateNormalsWhenAnimating(on);
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshSetInterpolationMode :: Int -> IO ()
-%call (int mode) 
-%code int result = ISkinnedMeshSetInterpolationMode(mode);
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshAnimateMesh :: Int -> Int -> IO ()
-%call (int frame) (int blend) 
-%code int result = ISkinnedMeshAnimateMesh(frame, blend);
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshSkinMesh :: IO ()
-%call 
-%code int result = ISkinnedMeshSkinMesh();
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshConvertMeshToTangents :: IO ()
-%call 
-%code int result = ISkinnedMeshConvertMeshToTangents();
-%fail {result < 0} {getError();}
-
-
-%fun ISkinnedMeshSetHardwareSkinning :: Int -> IO ()
-%call (int on) 
-%code int result = ISkinnedMeshSetHardwareSkinning(on);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAffectorIParticleAffector :: Int -> IO ()
-%call (int true) 
-%code int result = IParticleAffectorIParticleAffector(true);
-%fail {result < 0} {getError();}
-
-
-data SParticlePtr = SParticlePtr Int
-%fun IParticleAffectorAffect :: Int -> SParticlePtr -> Int -> IO ()
-%call (int now) (sParticlePtr particlearray) (int count) 
-%code int result = IParticleAffectorAffect(now, particlearray, count);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAffectorSetEnabled :: Int -> IO ()
-%call (int enabled) 
-%code int result = IParticleAffectorSetEnabled(enabled);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAffectorGetEnabled :: IO ()
-%call 
-%code int result = IParticleAffectorGetEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAffectorGetType :: IO ()
-%call 
-%code int result = IParticleAffectorGetType();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSMaterial :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int )) (int 255) (int arg3) (int arg4) (int )) (int 255) (int arg7) (int arg8) (int )) (int 0) (int arg11) (int arg12) (int )) (int 255) (int arg15) (int arg16) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int false) 
-%code int result = SMaterialSMaterial(), 255, arg3, arg4, ), 255, arg7, arg8, ), 0, arg11, arg12, ), 255, arg15, arg16, ), ), ), ), ), ), ), ), ), ), ), ), ), ), ), ), ), false);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSMaterial :: Int -> IO ()
-%call (int other) 
-%code int result = SMaterialSMaterial(other);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterial= :: Int -> IO ()
-%call (int other) 
-%code int result = SMaterial=(other);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialGetTextureMatrix :: Int -> IO ()
-%call (int i) 
-%code int result = SMaterialGetTextureMatrix(i);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialGetTextureMatrix :: Int -> IO ()
-%call (int i) 
-%code int result = SMaterialGetTextureMatrix(i);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSetTextureMatrix :: Int -> Int -> IO ()
-%call (int i) (int mat) 
-%code int result = SMaterialSetTextureMatrix(i, mat);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSetTextureMatrix :: IO ()
-%call 
-%code int result = SMaterialSetTextureMatrix();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialGetTexture :: Int -> IO ()
-%call (int i) 
-%code int result = SMaterialGetTexture(i);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSetTexture :: Int -> ITexturePtr -> IO ()
-%call (int i) (iTexturePtr tex) 
-%code int result = SMaterialSetTexture(i, tex);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSetFlag :: Int -> Int -> IO ()
-%call (int flag) (int value) 
-%code int result = SMaterialSetFlag(flag, value);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSwitch :: IO ()
-%call 
-%code int result = SMaterialSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterial= :: IO ()
-%call 
-%code int result = SMaterial=();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialGetFlag :: Int -> IO ()
-%call (int flag) 
-%code int result = SMaterialGetFlag(flag);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialSwitch :: IO ()
-%call 
-%code int result = SMaterialSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun SMaterial= :: Int -> IO ()
-%call (int b) 
-%code int result = SMaterial=(b);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterial= :: Int -> IO ()
-%call (int i) 
-%code int result = SMaterial=(i);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterial= :: Int -> IO ()
-%call (int b) 
-%code int result = SMaterial=(b);
-%fail {result < 0} {getError();}
-
-
-%fun SMaterialIsTransparent :: IO ()
-%call 
-%code int result = SMaterialIsTransparent();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheIMeshCache :: IO ()
-%call 
-%code int result = IMeshCacheIMeshCache();
-%fail {result < 0} {getError();}
-
-
-data IAnimatedMeshPtr = IAnimatedMeshPtr Int
-%fun IMeshCacheAddMesh :: Int -> IAnimatedMeshPtr -> IO ()
-%call (int filename) (iAnimatedMeshPtr mesh) 
-%code int result = IMeshCacheAddMesh(filename, mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheRemoveMesh :: Int -> IO ()
-%call (int mesh) 
-%code int result = IMeshCacheRemoveMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheRemoveMesh :: Int -> IO ()
-%call (int mesh) 
-%code int result = IMeshCacheRemoveMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshCount :: IO ()
-%call 
-%code int result = IMeshCacheGetMeshCount();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshIndex :: Int -> IO ()
-%call (int mesh) 
-%code int result = IMeshCacheGetMeshIndex(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshIndex :: Int -> IO ()
-%call (int mesh) 
-%code int result = IMeshCacheGetMeshIndex(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshByIndex :: Int -> IO ()
-%call (int index) 
-%code int result = IMeshCacheGetMeshByIndex(index);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshByFilename :: Int -> IO ()
-%call (int filename) 
-%code int result = IMeshCacheGetMeshByFilename(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshFilename :: Int -> IO ()
-%call (int index) 
-%code int result = IMeshCacheGetMeshFilename(index);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshFilename :: Int -> IO ()
-%call (int mesh) 
-%code int result = IMeshCacheGetMeshFilename(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheGetMeshFilename :: Int -> IO ()
-%call (int mesh) 
-%code int result = IMeshCacheGetMeshFilename(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheSetMeshFilename :: Int -> Int -> IO ()
-%call (int index) (int filename) 
-%code int result = IMeshCacheSetMeshFilename(index, filename);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheSetMeshFilename :: Int -> Int -> IO ()
-%call (int mesh) (int filename) 
-%code int result = IMeshCacheSetMeshFilename(mesh, filename);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheSetMeshFilename :: Int -> Int -> IO ()
-%call (int mesh) (int filename) 
-%code int result = IMeshCacheSetMeshFilename(mesh, filename);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheIsMeshLoaded :: Int -> IO ()
-%call (int filename) 
-%code int result = IMeshCacheIsMeshLoaded(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheClear :: IO ()
-%call 
-%code int result = IMeshCacheClear();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshCacheClearUnusedMeshes :: IO ()
-%call 
-%code int result = IMeshCacheClearUnusedMeshes();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceRun :: IO ()
-%call 
-%code int result = IrrlichtDeviceRun();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceYield :: IO ()
-%call 
-%code int result = IrrlichtDeviceYield();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceSleep :: Int -> Int -> IO ()
-%call (int timeMs) (int pauseTimer) 
-%code int result = IrrlichtDeviceSleep(timeMs, pauseTimer);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetVideoDriver :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetVideoDriver();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetFileSystem :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetFileSystem();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetGUIEnvironment :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetGUIEnvironment();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetSceneManager :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetSceneManager();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetCursorControl :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetCursorControl();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetLogger :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetLogger();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetVideoModeList :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetVideoModeList();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetOSOperator :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetOSOperator();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetTimer :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetTimer();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceSetWindowCaption :: String -> IO ()
-%call (string text) 
-%code int result = IrrlichtDeviceSetWindowCaption(text);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceIsWindowActive :: IO ()
-%call 
-%code int result = IrrlichtDeviceIsWindowActive();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceIsWindowFocused :: IO ()
-%call 
-%code int result = IrrlichtDeviceIsWindowFocused();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceIsWindowMinimized :: IO ()
-%call 
-%code int result = IrrlichtDeviceIsWindowMinimized();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceIsFullscreen :: IO ()
-%call 
-%code int result = IrrlichtDeviceIsFullscreen();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetColorFormat :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetColorFormat();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceCloseDevice :: IO ()
-%call 
-%code int result = IrrlichtDeviceCloseDevice();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetVersion :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetVersion();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceSetEventReceiver :: IEventReceiverPtr -> IO ()
-%call (iEventReceiverPtr receiver) 
-%code int result = IrrlichtDeviceSetEventReceiver(receiver);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetEventReceiver :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetEventReceiver();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDevicePostEventFromUser :: Int -> IO ()
-%call (int event) 
-%code int result = IrrlichtDevicePostEventFromUser(event);
-%fail {result < 0} {getError();}
-
-
-data ISceneManagerPtr = ISceneManagerPtr Int
-%fun IrrlichtDeviceSetInputReceivingSceneManager :: ISceneManagerPtr -> IO ()
-%call (iSceneManagerPtr sceneManager) 
-%code int result = IrrlichtDeviceSetInputReceivingSceneManager(sceneManager);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceSetResizable :: Int -> IO ()
-%call (int resize) 
-%code int result = IrrlichtDeviceSetResizable(resize);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceMinimizeWindow :: IO ()
-%call 
-%code int result = IrrlichtDeviceMinimizeWindow();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceMaximizeWindow :: IO ()
-%call 
-%code int result = IrrlichtDeviceMaximizeWindow();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceRestoreWindow :: IO ()
-%call 
-%code int result = IrrlichtDeviceRestoreWindow();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceActivateJoysticks :: Int -> IO ()
-%call (int joystickInfo) 
-%code int result = IrrlichtDeviceActivateJoysticks(joystickInfo);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceSetGammaRamp :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int red) (int green) (int blue) (int relativebrightness) (int relativecontrast) 
-%code int result = IrrlichtDeviceSetGammaRamp(red, green, blue, relativebrightness, relativecontrast);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetGammaRamp :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int red) (int green) (int blue) (int brightness) (int contrast) 
-%code int result = IrrlichtDeviceGetGammaRamp(red, green, blue, brightness, contrast);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceGetType :: IO ()
-%call 
-%code int result = IrrlichtDeviceGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceIsDriverSupported :: Int -> IO ()
-%call (int driver) 
-%code int result = IrrlichtDeviceIsDriverSupported(driver);
-%fail {result < 0} {getError();}
-
-
-%fun IrrlichtDeviceSwitch :: IO ()
-%call 
-%code int result = IrrlichtDeviceSwitch();
-%fail {result < 0} {getError();}
-
-
-data ISceneNodePtr = ISceneNodePtr Int
-%fun IVolumeLightSceneNodeIVolumeLightSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int rotation) (int parent) (int arg7) (int arg8) (int arg9) (int arg10) 
-%code int result = IVolumeLightSceneNodeIVolumeLightSceneNode(parent, mgr, id, position, rotation, parent, arg7, arg8, arg9, arg10);
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeGetType :: IO ()
-%call 
-%code int result = IVolumeLightSceneNodeGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeSetSubDivideU :: Int -> IO ()
-%call (int inU) 
-%code int result = IVolumeLightSceneNodeSetSubDivideU(inU);
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeSetSubDivideV :: Int -> IO ()
-%call (int inV) 
-%code int result = IVolumeLightSceneNodeSetSubDivideV(inV);
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeGetSubDivideU :: IO ()
-%call 
-%code int result = IVolumeLightSceneNodeGetSubDivideU();
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeGetSubDivideV :: IO ()
-%call 
-%code int result = IVolumeLightSceneNodeGetSubDivideV();
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeSetFootColor :: Int -> IO ()
-%call (int inColour) 
-%code int result = IVolumeLightSceneNodeSetFootColor(inColour);
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeSetTailColor :: Int -> IO ()
-%call (int inColour) 
-%code int result = IVolumeLightSceneNodeSetTailColor(inColour);
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeGetFootColor :: IO ()
-%call 
-%code int result = IVolumeLightSceneNodeGetFootColor();
-%fail {result < 0} {getError();}
-
-
-%fun IVolumeLightSceneNodeGetTailColor :: IO ()
-%call 
-%code int result = IVolumeLightSceneNodeGetTailColor();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxIGUIEditBox :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_EDIT_BOX) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIEditBoxIGUIEditBox(environment, parent, id, EGUIET_EDIT_BOX, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetOverrideFont :: IGUIFontPtr -> IO ()
-%call (iGUIFontPtr font) 
-%code int result = IGUIEditBoxSetOverrideFont(font);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetOverrideColor :: Int -> IO ()
-%call (int color) 
-%code int result = IGUIEditBoxSetOverrideColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxEnableOverrideColor :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIEditBoxEnableOverrideColor(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetDrawBorder :: Int -> IO ()
-%call (int border) 
-%code int result = IGUIEditBoxSetDrawBorder(border);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetTextAlignment :: Int -> Int -> IO ()
-%call (int horizontal) (int vertical) 
-%code int result = IGUIEditBoxSetTextAlignment(horizontal, vertical);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetWordWrap :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIEditBoxSetWordWrap(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxIsWordWrapEnabled :: IO ()
-%call 
-%code int result = IGUIEditBoxIsWordWrapEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetMultiLine :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIEditBoxSetMultiLine(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxIsMultiLineEnabled :: IO ()
-%call 
-%code int result = IGUIEditBoxIsMultiLineEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetAutoScroll :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIEditBoxSetAutoScroll(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxIsAutoScrollEnabled :: IO ()
-%call 
-%code int result = IGUIEditBoxIsAutoScrollEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetPasswordBox :: Int -> String -> IO ()
-%call (int passwordBox) (string passwordChar) 
-%code int result = IGUIEditBoxSetPasswordBox(passwordBox, passwordChar);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxIsPasswordBox :: IO ()
-%call 
-%code int result = IGUIEditBoxIsPasswordBox();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxGetTextDimension :: IO ()
-%call 
-%code int result = IGUIEditBoxGetTextDimension();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxSetMax :: Int -> IO ()
-%call (int max) 
-%code int result = IGUIEditBoxSetMax(max);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIEditBoxGetMax :: IO ()
-%call 
-%code int result = IGUIEditBoxGetMax();
-%fail {result < 0} {getError();}
-
-
-%fun ITriangleSelectorITriangleSelector :: IO ()
-%call 
-%code int result = ITriangleSelectorITriangleSelector();
-%fail {result < 0} {getError();}
-
-
-%fun ITriangleSelectorGetTriangleCount :: IO ()
-%call 
-%code int result = ITriangleSelectorGetTriangleCount();
-%fail {result < 0} {getError();}
-
-
-data Triangle3dfPtr = Triangle3dfPtr Int
-data Matrix4Ptr = Matrix4Ptr Int
-%fun ITriangleSelectorGetTriangles :: Triangle3dfPtr -> Int -> Int -> Matrix4Ptr -> IO ()
-%call (triangle3dfPtr triangles) (int arraySize) (int outTriangleCount) (matrix4Ptr transform) 
-%code int result = ITriangleSelectorGetTriangles(triangles, arraySize, outTriangleCount, transform);
-%fail {result < 0} {getError();}
-
-
-%fun ITriangleSelectorGetTriangles :: Triangle3dfPtr -> Int -> Int -> Int -> Matrix4Ptr -> IO ()
-%call (triangle3dfPtr triangles) (int arraySize) (int outTriangleCount) (int box) (matrix4Ptr transform) 
-%code int result = ITriangleSelectorGetTriangles(triangles, arraySize, outTriangleCount, box, transform);
-%fail {result < 0} {getError();}
-
-
-%fun ITriangleSelectorGetTriangles :: Triangle3dfPtr -> Int -> Int -> Int -> Matrix4Ptr -> IO ()
-%call (triangle3dfPtr triangles) (int arraySize) (int outTriangleCount) (int line) (matrix4Ptr transform) 
-%code int result = ITriangleSelectorGetTriangles(triangles, arraySize, outTriangleCount, line, transform);
-%fail {result < 0} {getError();}
-
-
-%fun ITriangleSelectorGetSceneNodeForTriangle :: Int -> IO ()
-%call (int triangleIndex) 
-%code int result = ITriangleSelectorGetSceneNodeForTriangle(triangleIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetColor :: Int -> IO ()
-%call (int color) 
-%code int result = IGUISkinGetColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinSetColor :: Int -> Int -> IO ()
-%call (int which) (int newColor) 
-%code int result = IGUISkinSetColor(which, newColor);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetSize :: Int -> IO ()
-%call (int size) 
-%code int result = IGUISkinGetSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetDefaultText :: Int -> IO ()
-%call (int text) 
-%code int result = IGUISkinGetDefaultText(text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinSetDefaultText :: Int -> String -> IO ()
-%call (int which) (string newText) 
-%code int result = IGUISkinSetDefaultText(which, newText);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinSetSize :: Int -> Int -> IO ()
-%call (int which) (int size) 
-%code int result = IGUISkinSetSize(which, size);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetFont :: Int -> IO ()
-%call (int which) 
-%code int result = IGUISkinGetFont(which);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinSetFont :: IGUIFontPtr -> Int -> IO ()
-%call (iGUIFontPtr font) (int which) 
-%code int result = IGUISkinSetFont(font, which);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetSpriteBank :: IO ()
-%call 
-%code int result = IGUISkinGetSpriteBank();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinSetSpriteBank :: IGUISpriteBankPtr -> IO ()
-%call (iGUISpriteBankPtr bank) 
-%code int result = IGUISkinSetSpriteBank(bank);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetIcon :: Int -> IO ()
-%call (int icon) 
-%code int result = IGUISkinGetIcon(icon);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinSetIcon :: Int -> Int -> IO ()
-%call (int icon) (int index) 
-%code int result = IGUISkinSetIcon(icon, index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DButtonPaneStandard :: IGUIElementPtr -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int rect) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw3DButtonPaneStandard(element, rect, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DButtonPanePressed :: IGUIElementPtr -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int rect) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw3DButtonPanePressed(element, rect, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DSunkenPane :: IGUIElementPtr -> Int -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int bgcolor) (int flat) (int fillBackGround) (int rect) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw3DSunkenPane(element, bgcolor, flat, fillBackGround, rect, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DWindowBackground :: IGUIElementPtr -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int drawTitleBar) (int titleBarColor) (int rect) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw3DWindowBackground(element, drawTitleBar, titleBarColor, rect, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DMenuPane :: IGUIElementPtr -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int rect) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw3DMenuPane(element, rect, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DToolBar :: IGUIElementPtr -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int rect) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw3DToolBar(element, rect, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DTabButton :: IGUIElementPtr -> Int -> Int -> Rect<s32>Ptr -> Int -> IO ()
-%call (iGUIElementPtr element) (int active) (int rect) (rect<s32>Ptr clip) (int alignment) 
-%code int result = IGUISkinDraw3DTabButton(element, active, rect, clip, alignment);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw3DTabBody :: IGUIElementPtr -> Int -> Int -> Int -> Rect<s32>Ptr -> Int -> Int -> IO ()
-%call (iGUIElementPtr element) (int border) (int background) (int rect) (rect<s32>Ptr clip) (int tabHeight) (int alignment) 
-%code int result = IGUISkinDraw3DTabBody(element, border, background, rect, clip, tabHeight, alignment);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDrawIcon :: IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int icon) (int position) (int starttime) (int currenttime) (int loop) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDrawIcon(element, icon, position, starttime, currenttime, loop, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinDraw2DRectangle :: IGUIElementPtr -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (iGUIElementPtr element) (int color) (int pos) (rect<s32>Ptr clip) 
-%code int result = IGUISkinDraw2DRectangle(element, color, pos, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISkinGetType :: IO ()
-%call 
-%code int result = IGUISkinGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IDummyTransformationSceneNodeIDummyTransformationSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int parent) (int arg4) 
-%code int result = IDummyTransformationSceneNodeIDummyTransformationSceneNode(parent, mgr, parent, arg4);
-%fail {result < 0} {getError();}
-
-
-%fun IDummyTransformationSceneNodeGetRelativeTransformationMatrix :: IO ()
-%call 
-%code int result = IDummyTransformationSceneNodeGetRelativeTransformationMatrix();
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateAndOpenFile :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemCreateAndOpenFile(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateMemoryReadFile :: Int -> Int -> Int -> Int -> IO ()
-%call (int memory) (int len) (int fileName) (int deleteMemoryWhenDropped) 
-%code int result = IFileSystemCreateMemoryReadFile(memory, len, fileName, deleteMemoryWhenDropped);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateLimitReadFile :: Int -> IReadFilePtr -> Int -> Int -> IO ()
-%call (int fileName) (iReadFilePtr alreadyOpenedFile) (int pos) (int areaSize) 
-%code int result = IFileSystemCreateLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateMemoryWriteFile :: Int -> Int -> Int -> Int -> IO ()
-%call (int memory) (int len) (int fileName) (int deleteMemoryWhenDropped) 
-%code int result = IFileSystemCreateMemoryWriteFile(memory, len, fileName, deleteMemoryWhenDropped);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateAndWriteFile :: Int -> Int -> IO ()
-%call (int filename) (int append) 
-%code int result = IFileSystemCreateAndWriteFile(filename, append);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemAddFileArchive :: Int -> Int -> Int -> Int -> IO ()
-%call (int filename) (int ignoreCase) (int ignorePaths) (int archiveType) 
-%code int result = IFileSystemAddFileArchive(filename, ignoreCase, ignorePaths, archiveType);
-%fail {result < 0} {getError();}
-
-
-data IArchiveLoaderPtr = IArchiveLoaderPtr Int
-%fun IFileSystemAddArchiveLoader :: IArchiveLoaderPtr -> IO ()
-%call (iArchiveLoaderPtr loader) 
-%code int result = IFileSystemAddArchiveLoader(loader);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemGetFileArchiveCount :: IO ()
-%call 
-%code int result = IFileSystemGetFileArchiveCount();
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemRemoveFileArchive :: Int -> IO ()
-%call (int index) 
-%code int result = IFileSystemRemoveFileArchive(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemRemoveFileArchive :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemRemoveFileArchive(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemMoveFileArchive :: Int -> Int -> IO ()
-%call (int sourceIndex) (int relative) 
-%code int result = IFileSystemMoveFileArchive(sourceIndex, relative);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemGetFileArchive :: Int -> IO ()
-%call (int index) 
-%code int result = IFileSystemGetFileArchive(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemAddZipFileArchive :: C8Ptr -> Int -> Int -> IO ()
-%call (c8Ptr filename) (int ignoreCase) (int ignorePaths) 
-%code int result = IFileSystemAddZipFileArchive(filename, ignoreCase, ignorePaths);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemAddFolderFileArchive :: C8Ptr -> Int -> Int -> IO ()
-%call (c8Ptr filename) (int ignoreCase) (int ignorePaths) 
-%code int result = IFileSystemAddFolderFileArchive(filename, ignoreCase, ignorePaths);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemAddPakFileArchive :: C8Ptr -> Int -> Int -> IO ()
-%call (c8Ptr filename) (int ignoreCase) (int ignorePaths) 
-%code int result = IFileSystemAddPakFileArchive(filename, ignoreCase, ignorePaths);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemGetWorkingDirectory :: IO ()
-%call 
-%code int result = IFileSystemGetWorkingDirectory();
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemChangeWorkingDirectoryTo :: Int -> IO ()
-%call (int newDirectory) 
-%code int result = IFileSystemChangeWorkingDirectoryTo(newDirectory);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemGetAbsolutePath :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemGetAbsolutePath(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemGetFileDir :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemGetFileDir(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemGetFileBasename :: Int -> Int -> IO ()
-%call (int filename) (int keepExtension) 
-%code int result = IFileSystemGetFileBasename(filename, keepExtension);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemFlattenFilename :: Int -> Int -> IO ()
-%call (int directory) (int root) 
-%code int result = IFileSystemFlattenFilename(directory, root);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateFileList :: IO ()
-%call 
-%code int result = IFileSystemCreateFileList();
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemSetFileListSystem :: Int -> IO ()
-%call (int listType) 
-%code int result = IFileSystemSetFileListSystem(listType);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemExistFile :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemExistFile(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateXMLReader :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemCreateXMLReader(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateXMLReader :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IFileSystemCreateXMLReader(file);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateXMLReaderUTF8 :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemCreateXMLReaderUTF8(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateXMLReaderUTF8 :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IFileSystemCreateXMLReaderUTF8(file);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateXMLWriter :: Int -> IO ()
-%call (int filename) 
-%code int result = IFileSystemCreateXMLWriter(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IFileSystemCreateXMLWriter :: IWriteFilePtr -> IO ()
-%call (iWriteFilePtr file) 
-%code int result = IFileSystemCreateXMLWriter(file);
-%fail {result < 0} {getError();}
-
-
-data IVideoDriverPtr = IVideoDriverPtr Int
-%fun IFileSystemCreateEmptyAttributes :: IVideoDriverPtr -> IO ()
-%call (iVideoDriverPtr driver) 
-%code int result = IFileSystemCreateEmptyAttributes(driver);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetVertexBuffer :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetVertexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetIndexBuffer :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetIndexBuffer();
-%fail {result < 0} {getError();}
-
-
-data IVertexBufferPtr = IVertexBufferPtr Int
-%fun IDynamicMeshBufferSetVertexBuffer :: IVertexBufferPtr -> IO ()
-%call (iVertexBufferPtr vertexBuffer) 
-%code int result = IDynamicMeshBufferSetVertexBuffer(vertexBuffer);
-%fail {result < 0} {getError();}
-
-
-data IIndexBufferPtr = IIndexBufferPtr Int
-%fun IDynamicMeshBufferSetIndexBuffer :: IIndexBufferPtr -> IO ()
-%call (iIndexBufferPtr indexBuffer) 
-%code int result = IDynamicMeshBufferSetIndexBuffer(indexBuffer);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetMaterial :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetMaterial :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetBoundingBox :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferSetBoundingBox :: Int -> IO ()
-%call (int box) 
-%code int result = IDynamicMeshBufferSetBoundingBox(box);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferRecalculateBoundingBox :: IO ()
-%call 
-%code int result = IDynamicMeshBufferRecalculateBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferAppend :: Int -> Int -> Int -> Int -> IO ()
-%call (int vertices) (int numVertices) (int indices) (int numIndices) 
-%code int result = IDynamicMeshBufferAppend(vertices, numVertices, indices, numIndices);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferAppend :: Int -> IO ()
-%call (int other) 
-%code int result = IDynamicMeshBufferAppend(other);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetHardwareMappingHint_Vertex :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetHardwareMappingHint_Vertex();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetHardwareMappingHint_Index :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetHardwareMappingHint_Index();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferSetHardwareMappingHint :: Int -> Int -> IO ()
-%call (int NewMappingHint) (int Buffer) 
-%code int result = IDynamicMeshBufferSetHardwareMappingHint(NewMappingHint, Buffer);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferSetDirty :: Int -> IO ()
-%call (int Buffer) 
-%code int result = IDynamicMeshBufferSetDirty(Buffer);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetChangedID_Vertex :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetChangedID_Vertex();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetChangedID_Index :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetChangedID_Index();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetVertexType :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetVertexType();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetVertices :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetVertices();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetVertices :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetVertices();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetVertexCount :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetVertexCount();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetIndexType :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetIndexType();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetIndices :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetIndices();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetIndices :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetIndices();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetIndexCount :: IO ()
-%call 
-%code int result = IDynamicMeshBufferGetIndexCount();
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetPosition :: Int -> IO ()
-%call (int i) 
-%code int result = IDynamicMeshBufferGetPosition(i);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetPosition :: Int -> IO ()
-%call (int i) 
-%code int result = IDynamicMeshBufferGetPosition(i);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetTCoords :: Int -> IO ()
-%call (int i) 
-%code int result = IDynamicMeshBufferGetTCoords(i);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetTCoords :: Int -> IO ()
-%call (int i) 
-%code int result = IDynamicMeshBufferGetTCoords(i);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetNormal :: Int -> IO ()
-%call (int i) 
-%code int result = IDynamicMeshBufferGetNormal(i);
-%fail {result < 0} {getError();}
-
-
-%fun IDynamicMeshBufferGetNormal :: Int -> IO ()
-%call (int i) 
-%code int result = IDynamicMeshBufferGetNormal(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetMaterial :: IO ()
-%call 
-%code int result = IMeshBufferGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetMaterial :: IO ()
-%call 
-%code int result = IMeshBufferGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetVertexType :: IO ()
-%call 
-%code int result = IMeshBufferGetVertexType();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetVertices :: IO ()
-%call 
-%code int result = IMeshBufferGetVertices();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetVertices :: IO ()
-%call 
-%code int result = IMeshBufferGetVertices();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetVertexCount :: IO ()
-%call 
-%code int result = IMeshBufferGetVertexCount();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetIndexType :: IO ()
-%call 
-%code int result = IMeshBufferGetIndexType();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetIndices :: IO ()
-%call 
-%code int result = IMeshBufferGetIndices();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetIndices :: IO ()
-%call 
-%code int result = IMeshBufferGetIndices();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetIndexCount :: IO ()
-%call 
-%code int result = IMeshBufferGetIndexCount();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetBoundingBox :: IO ()
-%call 
-%code int result = IMeshBufferGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferSetBoundingBox :: Int -> IO ()
-%call (int box) 
-%code int result = IMeshBufferSetBoundingBox(box);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferRecalculateBoundingBox :: IO ()
-%call 
-%code int result = IMeshBufferRecalculateBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetPosition :: Int -> IO ()
-%call (int i) 
-%code int result = IMeshBufferGetPosition(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetPosition :: Int -> IO ()
-%call (int i) 
-%code int result = IMeshBufferGetPosition(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetNormal :: Int -> IO ()
-%call (int i) 
-%code int result = IMeshBufferGetNormal(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetNormal :: Int -> IO ()
-%call (int i) 
-%code int result = IMeshBufferGetNormal(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetTCoords :: Int -> IO ()
-%call (int i) 
-%code int result = IMeshBufferGetTCoords(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetTCoords :: Int -> IO ()
-%call (int i) 
-%code int result = IMeshBufferGetTCoords(i);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferAppend :: Int -> Int -> Int -> Int -> IO ()
-%call (int vertices) (int numVertices) (int indices) (int numIndices) 
-%code int result = IMeshBufferAppend(vertices, numVertices, indices, numIndices);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferAppend :: Int -> IO ()
-%call (int other) 
-%code int result = IMeshBufferAppend(other);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetHardwareMappingHint_Vertex :: IO ()
-%call 
-%code int result = IMeshBufferGetHardwareMappingHint_Vertex();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetHardwareMappingHint_Index :: IO ()
-%call 
-%code int result = IMeshBufferGetHardwareMappingHint_Index();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferSetHardwareMappingHint :: Int -> Int -> IO ()
-%call (int newMappingHint) (int buffer) 
-%code int result = IMeshBufferSetHardwareMappingHint(newMappingHint, buffer);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferSetDirty :: Int -> IO ()
-%call (int buffer) 
-%code int result = IMeshBufferSetDirty(buffer);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetChangedID_Vertex :: IO ()
-%call 
-%code int result = IMeshBufferGetChangedID_Vertex();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshBufferGetChangedID_Index :: IO ()
-%call 
-%code int result = IMeshBufferGetChangedID_Index();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoModeListGetVideoModeCount :: IO ()
-%call 
-%code int result = IVideoModeListGetVideoModeCount();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoModeListGetVideoModeResolution :: Int -> IO ()
-%call (int modeNumber) 
-%code int result = IVideoModeListGetVideoModeResolution(modeNumber);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoModeListGetVideoModeResolution :: Int -> Int -> IO ()
-%call (int minSize) (int maxSize) 
-%code int result = IVideoModeListGetVideoModeResolution(minSize, maxSize);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoModeListGetVideoModeDepth :: Int -> IO ()
-%call (int modeNumber) 
-%code int result = IVideoModeListGetVideoModeDepth(modeNumber);
-%fail {result < 0} {getError();}
-
-
-%fun IVideoModeListGetDesktopResolution :: IO ()
-%call 
-%code int result = IVideoModeListGetDesktopResolution();
-%fail {result < 0} {getError();}
-
-
-%fun IVideoModeListGetDesktopDepth :: IO ()
-%call 
-%code int result = IVideoModeListGetDesktopDepth();
-%fail {result < 0} {getError();}
-
-
-data IMaterialRendererServicesPtr = IMaterialRendererServicesPtr Int
-%fun IMaterialRendererOnSetMaterial :: Int -> Int -> Int -> IMaterialRendererServicesPtr -> IO ()
-%call (int material) (int lastMaterial) (int resetAllRenderstates) (iMaterialRendererServicesPtr services) 
-%code int result = IMaterialRendererOnSetMaterial(material, lastMaterial, resetAllRenderstates, services);
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererOnRender :: IMaterialRendererServicesPtr -> Int -> IO ()
-%call (iMaterialRendererServicesPtr service) (int vtxtype) 
-%code int result = IMaterialRendererOnRender(service, vtxtype);
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererOnUnsetMaterial :: IO ()
-%call 
-%code int result = IMaterialRendererOnUnsetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererIsTransparent :: IO ()
-%call 
-%code int result = IMaterialRendererIsTransparent();
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererGetRenderCapability :: IO ()
-%call 
-%code int result = IMaterialRendererGetRenderCapability();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryCreateSceneNodeAnimator :: Int -> ISceneNodePtr -> IO ()
-%call (int type) (iSceneNodePtr target) 
-%code int result = ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(type, target);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryCreateSceneNodeAnimator :: C8Ptr -> ISceneNodePtr -> IO ()
-%call (c8Ptr typeName) (iSceneNodePtr target) 
-%code int result = ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(typeName, target);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType :: Int -> IO ()
-%call (int idx) 
-%code int result = ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(idx);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName :: Int -> IO ()
-%call (int idx) 
-%code int result = ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(idx);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName :: Int -> IO ()
-%call (int type) 
-%code int result = ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(type);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSceneNodeIMeshSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int arg11) (int parent) (int arg13) (int arg14) (int arg15) (int arg16) 
-%code int result = IMeshSceneNodeIMeshSceneNode(parent, mgr, id, position, arg5, ), rotation, arg8, ), scale, arg11, parent, arg13, arg14, arg15, arg16);
-%fail {result < 0} {getError();}
-
-
-data IMeshPtr = IMeshPtr Int
-%fun IMeshSceneNodeSetMesh :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshSceneNodeSetMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSceneNodeGetMesh :: IO ()
-%call 
-%code int result = IMeshSceneNodeGetMesh();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSceneNodeSetReadOnlyMaterials :: Int -> IO ()
-%call (int readonly) 
-%code int result = IMeshSceneNodeSetReadOnlyMaterials(readonly);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSceneNodeIsReadOnlyMaterials :: IO ()
-%call 
-%code int result = IMeshSceneNodeIsReadOnlyMaterials();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraMayaGetMoveSpeed :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCameraMayaGetMoveSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraMayaSetMoveSpeed :: Int -> IO ()
-%call (int moveSpeed) 
-%code int result = ISceneNodeAnimatorCameraMayaSetMoveSpeed(moveSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraMayaGetRotateSpeed :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCameraMayaGetRotateSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraMayaSetRotateSpeed :: Int -> IO ()
-%call (int rotateSpeed) 
-%code int result = ISceneNodeAnimatorCameraMayaSetRotateSpeed(rotateSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraMayaGetZoomSpeed :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCameraMayaGetZoomSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraMayaSetZoomSpeed :: Int -> IO ()
-%call (int zoomSpeed) 
-%code int result = ISceneNodeAnimatorCameraMayaSetZoomSpeed(zoomSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerILogger :: IO ()
-%call 
-%code int result = ILoggerILogger();
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerGetLogLevel :: IO ()
-%call 
-%code int result = ILoggerGetLogLevel();
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerSetLogLevel :: Int -> IO ()
-%call (int ll) 
-%code int result = ILoggerSetLogLevel(ll);
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerLog :: C8Ptr -> Int -> IO ()
-%call (c8Ptr text) (int ll) 
-%code int result = ILoggerLog(text, ll);
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerLog :: C8Ptr -> C8Ptr -> Int -> IO ()
-%call (c8Ptr text) (c8Ptr hint) (int ll) 
-%code int result = ILoggerLog(text, hint, ll);
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerLog :: C8Ptr -> String -> Int -> IO ()
-%call (c8Ptr text) (string hint) (int ll) 
-%code int result = ILoggerLog(text, hint, ll);
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerLog :: String -> String -> Int -> IO ()
-%call (string text) (string hint) (int ll) 
-%code int result = ILoggerLog(text, hint, ll);
-%fail {result < 0} {getError();}
-
-
-%fun ILoggerLog :: String -> Int -> IO ()
-%call (string text) (int ll) 
-%code int result = ILoggerLog(text, ll);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD3SetInterpolationShift :: Int -> Int -> IO ()
-%call (int shift) (int loopMode) 
-%code int result = IAnimatedMeshMD3SetInterpolationShift(shift, loopMode);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD3GetTagList :: Int -> Int -> Int -> Int -> IO ()
-%call (int frame) (int detailLevel) (int startFrameLoop) (int endFrameLoop) 
-%code int result = IAnimatedMeshMD3GetTagList(frame, detailLevel, startFrameLoop, endFrameLoop);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD3GetOriginalMesh :: IO ()
-%call 
-%code int result = IAnimatedMeshMD3GetOriginalMesh();
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCountedIReferenceCounted :: Int -> Int -> IO ()
-%call (int )) (int 1) 
-%code int result = IReferenceCountedIReferenceCounted(), 1);
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCountedIReferenceCounted :: IO ()
-%call 
-%code int result = IReferenceCountedIReferenceCounted();
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCountedGrab :: IO ()
-%call 
-%code int result = IReferenceCountedGrab();
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCountedDrop :: IO ()
-%call 
-%code int result = IReferenceCountedDrop();
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCounted_IRR_DEBUG_BREAK_IF :: Int -> IO ()
-%call (int <) 
-%code int result = IReferenceCounted_IRR_DEBUG_BREAK_IF(<);
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCountedGetReferenceCount :: IO ()
-%call 
-%code int result = IReferenceCountedGetReferenceCount();
-%fail {result < 0} {getError();}
-
-
-%fun IReferenceCountedGetDebugName :: IO ()
-%call 
-%code int result = IReferenceCountedGetDebugName();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterSetMesh :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IParticleMeshEmitterSetMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterSetUseNormalDirection :: Int -> IO ()
-%call (int useNormalDirection) 
-%code int result = IParticleMeshEmitterSetUseNormalDirection(useNormalDirection);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterSetNormalDirectionModifier :: Int -> IO ()
-%call (int normalDirectionModifier) 
-%code int result = IParticleMeshEmitterSetNormalDirectionModifier(normalDirectionModifier);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterSetEveryMeshVertex :: Int -> IO ()
-%call (int everyMeshVertex) 
-%code int result = IParticleMeshEmitterSetEveryMeshVertex(everyMeshVertex);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterGetMesh :: IO ()
-%call 
-%code int result = IParticleMeshEmitterGetMesh();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterIsUsingNormalDirection :: IO ()
-%call 
-%code int result = IParticleMeshEmitterIsUsingNormalDirection();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterGetNormalDirectionModifier :: IO ()
-%call 
-%code int result = IParticleMeshEmitterGetNormalDirectionModifier();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterGetEveryMeshVertex :: IO ()
-%call 
-%code int result = IParticleMeshEmitterGetEveryMeshVertex();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleMeshEmitterGetType :: IO ()
-%call 
-%code int result = IParticleMeshEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ICollisionCallbackOnCollision :: Int -> IO ()
-%call (int animator) 
-%code int result = ICollisionCallbackOnCollision(animator);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseIsFalling :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseIsFalling();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius :: Int -> IO ()
-%call (int radius) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(radius);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseSetGravity :: Int -> IO ()
-%call (int gravity) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetGravity(gravity);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetGravity :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetGravity();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseJump :: Int -> IO ()
-%call (int jumpSpeed) 
-%code int result = ISceneNodeAnimatorCollisionResponseJump(jumpSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseSetAnimateTarget :: Int -> IO ()
-%call (int enable) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetAnimateTarget(enable);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetAnimateTarget :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetAnimateTarget();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation :: Int -> IO ()
-%call (int translation) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(translation);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation();
-%fail {result < 0} {getError();}
-
-
-data ITriangleSelectorPtr = ITriangleSelectorPtr Int
-%fun ISceneNodeAnimatorCollisionResponseSetWorld :: ITriangleSelectorPtr -> IO ()
-%call (iTriangleSelectorPtr newWorld) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetWorld(newWorld);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetWorld :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetWorld();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseSetTargetNode :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetTargetNode(node);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetTargetNode :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetTargetNode();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseCollisionOccurred :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseCollisionOccurred();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetCollisionPoint :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionPoint();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetCollisionTriangle :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionTriangle();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCollisionResponseGetCollisionNode :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionNode();
-%fail {result < 0} {getError();}
-
-
-data ICollisionCallbackPtr = ICollisionCallbackPtr Int
-%fun ISceneNodeAnimatorCollisionResponseSetCollisionCallback :: ICollisionCallbackPtr -> IO ()
-%call (iCollisionCallbackPtr callback) 
-%code int result = ISceneNodeAnimatorCollisionResponseSetCollisionCallback(callback);
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferCDynamicMeshBuffer :: Int -> Int -> IO ()
-%call (int vertexType) (int indexType) 
-%code int result = CDynamicMeshBufferCDynamicMeshBuffer(vertexType, indexType);
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferCVertexBuffer :: IO ()
-%call 
-%code int result = CDynamicMeshBufferCVertexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferCIndexBuffer :: IO ()
-%call 
-%code int result = CDynamicMeshBufferCIndexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferCDynamicMeshBuffer :: IO ()
-%call 
-%code int result = CDynamicMeshBufferCDynamicMeshBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferGetVertexBuffer :: IO ()
-%call 
-%code int result = CDynamicMeshBufferGetVertexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferGetIndexBuffer :: IO ()
-%call 
-%code int result = CDynamicMeshBufferGetIndexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferSetVertexBuffer :: IVertexBufferPtr -> IO ()
-%call (iVertexBufferPtr newVertexBuffer) 
-%code int result = CDynamicMeshBufferSetVertexBuffer(newVertexBuffer);
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferSetIndexBuffer :: IIndexBufferPtr -> IO ()
-%call (iIndexBufferPtr newIndexBuffer) 
-%code int result = CDynamicMeshBufferSetIndexBuffer(newIndexBuffer);
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferGetMaterial :: IO ()
-%call 
-%code int result = CDynamicMeshBufferGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferGetMaterial :: IO ()
-%call 
-%code int result = CDynamicMeshBufferGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferGetBoundingBox :: IO ()
-%call 
-%code int result = CDynamicMeshBufferGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferSetBoundingBox :: Int -> IO ()
-%call (int box) 
-%code int result = CDynamicMeshBufferSetBoundingBox(box);
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferRecalculateBoundingBox :: IO ()
-%call 
-%code int result = CDynamicMeshBufferRecalculateBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferReset :: Int -> IO ()
-%call (int Pos) 
-%code int result = CDynamicMeshBufferReset(Pos);
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBuffer<getVertexBuffer :: Int -> IO ()
-%call (int () 
-%code int result = CDynamicMeshBuffer<getVertexBuffer(();
-%fail {result < 0} {getError();}
-
-
-%fun CDynamicMeshBufferAddInternalPoint :: Int -> IO ()
-%call (int Pos) 
-%code int result = CDynamicMeshBufferAddInternalPoint(Pos);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontBitmapGetType :: IO ()
-%call 
-%code int result = IGUIFontBitmapGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontBitmapGetSpriteBank :: IO ()
-%call 
-%code int result = IGUIFontBitmapGetSpriteBank();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontBitmapGetSpriteNoFromChar :: String -> IO ()
-%call (string c) 
-%code int result = IGUIFontBitmapGetSpriteNoFromChar(c);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontBitmapGetKerningWidth :: String -> String -> IO ()
-%call (string thisLetter) (string previousLetter) 
-%code int result = IGUIFontBitmapGetKerningWidth(thisLetter, previousLetter);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderIGUIInOutFader :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_IN_OUT_FADER) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIInOutFaderIGUIInOutFader(environment, parent, id, EGUIET_IN_OUT_FADER, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderGetColor :: IO ()
-%call 
-%code int result = IGUIInOutFaderGetColor();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderSetColor :: Int -> IO ()
-%call (int color) 
-%code int result = IGUIInOutFaderSetColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderSetColor :: Int -> Int -> IO ()
-%call (int source) (int dest) 
-%code int result = IGUIInOutFaderSetColor(source, dest);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderFadeIn :: Int -> IO ()
-%call (int time) 
-%code int result = IGUIInOutFaderFadeIn(time);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderFadeOut :: Int -> IO ()
-%call (int time) 
-%code int result = IGUIInOutFaderFadeOut(time);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIInOutFaderIsReady :: IO ()
-%call 
-%code int result = IGUIInOutFaderIsReady();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxIGUISpinBox :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_SPIN_BOX) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUISpinBoxIGUISpinBox(environment, parent, id, EGUIET_SPIN_BOX, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxGetEditBox :: IO ()
-%call 
-%code int result = IGUISpinBoxGetEditBox();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxSetValue :: Int -> IO ()
-%call (int val) 
-%code int result = IGUISpinBoxSetValue(val);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxGetValue :: IO ()
-%call 
-%code int result = IGUISpinBoxGetValue();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxSetRange :: Int -> Int -> IO ()
-%call (int min) (int max) 
-%code int result = IGUISpinBoxSetRange(min, max);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxGetMin :: IO ()
-%call 
-%code int result = IGUISpinBoxGetMin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxGetMax :: IO ()
-%call 
-%code int result = IGUISpinBoxGetMax();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxSetStepSize :: Int -> IO ()
-%call (int step) 
-%code int result = IGUISpinBoxSetStepSize(step);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxSetDecimalPlaces :: Int -> IO ()
-%call (int places) 
-%code int result = IGUISpinBoxSetDecimalPlaces(places);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpinBoxGetStepSize :: IO ()
-%call 
-%code int result = IGUISpinBoxGetStepSize();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeICameraSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int parent) (int arg13) (int arg14) (int arg15) (int arg16) (int )) (int false) 
-%code int result = ICameraSceneNodeICameraSceneNode(parent, mgr, id, position, arg5, ), rotation, arg8, ), scale, 0f, parent, arg13, arg14, arg15, arg16, ), false);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetProjectionMatrix :: Int -> Int -> IO ()
-%call (int projection) (int isOrthogonal) 
-%code int result = ICameraSceneNodeSetProjectionMatrix(projection, isOrthogonal);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetProjectionMatrix :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetProjectionMatrix();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetViewMatrix :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetViewMatrix();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetViewMatrixAffector :: Int -> IO ()
-%call (int affector) 
-%code int result = ICameraSceneNodeSetViewMatrixAffector(affector);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetViewMatrixAffector :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetViewMatrixAffector();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeOnEvent :: Int -> IO ()
-%call (int event) 
-%code int result = ICameraSceneNodeOnEvent(event);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetTarget :: Int -> IO ()
-%call (int pos) 
-%code int result = ICameraSceneNodeSetTarget(pos);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetRotation :: Int -> IO ()
-%call (int rotation) 
-%code int result = ICameraSceneNodeSetRotation(rotation);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetTarget :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetTarget();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetUpVector :: Int -> IO ()
-%call (int pos) 
-%code int result = ICameraSceneNodeSetUpVector(pos);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetUpVector :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetUpVector();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetNearValue :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetNearValue();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetFarValue :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetFarValue();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetAspectRatio :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetAspectRatio();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetFOV :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetFOV();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetNearValue :: Int -> IO ()
-%call (int zn) 
-%code int result = ICameraSceneNodeSetNearValue(zn);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetFarValue :: Int -> IO ()
-%call (int zf) 
-%code int result = ICameraSceneNodeSetFarValue(zf);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetAspectRatio :: Int -> IO ()
-%call (int aspect) 
-%code int result = ICameraSceneNodeSetAspectRatio(aspect);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetFOV :: Int -> IO ()
-%call (int fovy) 
-%code int result = ICameraSceneNodeSetFOV(fovy);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetViewFrustum :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetViewFrustum();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeSetInputReceiverEnabled :: Int -> IO ()
-%call (int enabled) 
-%code int result = ICameraSceneNodeSetInputReceiverEnabled(enabled);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeIsInputReceiverEnabled :: IO ()
-%call 
-%code int result = ICameraSceneNodeIsInputReceiverEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeIsOrthogonal :: IO ()
-%call 
-%code int result = ICameraSceneNodeIsOrthogonal();
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeBindTargetAndRotation :: Int -> IO ()
-%call (int bound) 
-%code int result = ICameraSceneNodeBindTargetAndRotation(bound);
-%fail {result < 0} {getError();}
-
-
-%fun ICameraSceneNodeGetTargetAndRotationBinding :: IO ()
-%call 
-%code int result = ICameraSceneNodeGetTargetAndRotationBinding();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterSetCenter :: Int -> IO ()
-%call (int center) 
-%code int result = IParticleRingEmitterSetCenter(center);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterSetRadius :: Int -> IO ()
-%call (int radius) 
-%code int result = IParticleRingEmitterSetRadius(radius);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterSetRingThickness :: Int -> IO ()
-%call (int ringThickness) 
-%code int result = IParticleRingEmitterSetRingThickness(ringThickness);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterGetCenter :: IO ()
-%call 
-%code int result = IParticleRingEmitterGetCenter();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterGetRadius :: IO ()
-%call 
-%code int result = IParticleRingEmitterGetRadius();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterGetRingThickness :: IO ()
-%call 
-%code int result = IParticleRingEmitterGetRingThickness();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRingEmitterGetType :: IO ()
-%call 
-%code int result = IParticleRingEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSphereEmitterSetCenter :: Int -> IO ()
-%call (int center) 
-%code int result = IParticleSphereEmitterSetCenter(center);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSphereEmitterSetRadius :: Int -> IO ()
-%call (int radius) 
-%code int result = IParticleSphereEmitterSetRadius(radius);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSphereEmitterGetCenter :: IO ()
-%call 
-%code int result = IParticleSphereEmitterGetCenter();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSphereEmitterGetRadius :: IO ()
-%call 
-%code int result = IParticleSphereEmitterGetRadius();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSphereEmitterGetType :: IO ()
-%call 
-%code int result = IParticleSphereEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerISceneManager :: IO ()
-%call 
-%code int result = ISceneManagerISceneManager();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetMesh :: Int -> IO ()
-%call (int filename) 
-%code int result = ISceneManagerGetMesh(filename);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetMesh :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = ISceneManagerGetMesh(file);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetMeshCache :: IO ()
-%call 
-%code int result = ISceneManagerGetMeshCache();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetVideoDriver :: IO ()
-%call 
-%code int result = ISceneManagerGetVideoDriver();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetGUIEnvironment :: IO ()
-%call 
-%code int result = ISceneManagerGetGUIEnvironment();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetFileSystem :: IO ()
-%call 
-%code int result = ISceneManagerGetFileSystem();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddVolumeLightSceneNode :: ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (int id) (int subdivU) (int subdivV) (int foot) (int arg6) (int arg7) (int )) (int tail) (int arg10) (int arg11) (int )) (int position) (int arg14) (int )) (int rotation) (int arg17) (int )) (int scale) (int 0f) (int )) 
-%code int result = ISceneManagerAddVolumeLightSceneNode(parent, id, subdivU, subdivV, foot, arg6, arg7, ), tail, arg10, arg11, ), position, arg14, ), rotation, arg17, ), scale, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddCubeSceneNode :: Int -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int size) (iSceneNodePtr parent) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int )) 
-%code int result = ISceneManagerAddCubeSceneNode(size, parent, id, position, arg5, ), rotation, arg8, ), scale, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddSphereSceneNode :: Int -> Int -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int radius) (int polyCount) (iSceneNodePtr parent) (int id) (int position) (int arg6) (int )) (int rotation) (int arg9) (int )) (int scale) (int 0f) (int )) 
-%code int result = ISceneManagerAddSphereSceneNode(radius, polyCount, parent, id, position, arg6, ), rotation, arg9, ), scale, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddAnimatedMeshSceneNode :: IAnimatedMeshPtr -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iAnimatedMeshPtr mesh) (iSceneNodePtr parent) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int )) (int alsoAddIfMeshPointerZero) 
-%code int result = ISceneManagerAddAnimatedMeshSceneNode(mesh, parent, id, position, arg5, ), rotation, arg8, ), scale, 0f, ), alsoAddIfMeshPointerZero);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddMeshSceneNode :: IMeshPtr -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (iSceneNodePtr parent) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int )) (int alsoAddIfMeshPointerZero) 
-%code int result = ISceneManagerAddMeshSceneNode(mesh, parent, id, position, arg5, ), rotation, arg8, ), scale, 0f, ), alsoAddIfMeshPointerZero);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddWaterSurfaceSceneNode :: IMeshPtr -> Int -> Int -> Int -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (int waveHeight) (int waveSpeed) (int waveLength) (iSceneNodePtr parent) (int id) (int position) (int arg8) (int )) (int rotation) (int arg11) (int )) (int scale) (int 0f) (int )) 
-%code int result = ISceneManagerAddWaterSurfaceSceneNode(mesh, waveHeight, waveSpeed, waveLength, parent, id, position, arg8, ), rotation, arg11, ), scale, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddOctTreeSceneNode :: IAnimatedMeshPtr -> ISceneNodePtr -> Int -> Int -> Int -> IO ()
-%call (iAnimatedMeshPtr mesh) (iSceneNodePtr parent) (int id) (int minimalPolysPerNode) (int alsoAddIfMeshPointerZero) 
-%code int result = ISceneManagerAddOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddOctTreeSceneNode :: IMeshPtr -> ISceneNodePtr -> Int -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (iSceneNodePtr parent) (int id) (int minimalPolysPerNode) (int alsoAddIfMeshPointerZero) 
-%code int result = ISceneManagerAddOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddCameraSceneNode :: ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (int position) (int arg3) (int )) (int lookat) (int arg6) (int )) (int id) 
-%code int result = ISceneManagerAddCameraSceneNode(parent, position, arg3, ), lookat, arg6, ), id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddCameraSceneNodeMaya :: ISceneNodePtr -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (int rotateSpeed) (int zoomSpeed) (int translationSpeed) (int id) 
-%code int result = ISceneManagerAddCameraSceneNodeMaya(parent, rotateSpeed, zoomSpeed, translationSpeed, id);
-%fail {result < 0} {getError();}
-
-
-data SKeyMapPtr = SKeyMapPtr Int
-%fun ISceneManagerAddCameraSceneNodeFPS :: ISceneNodePtr -> Int -> Int -> Int -> SKeyMapPtr -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (int rotateSpeed) (int moveSpeed) (int id) (sKeyMapPtr keyMapArray) (int keyMapSize) (int noVerticalMovement) (int jumpSpeed) (int invertMouse) 
-%code int result = ISceneManagerAddCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, keyMapArray, keyMapSize, noVerticalMovement, jumpSpeed, invertMouse);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddLightSceneNode :: ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (int position) (int arg3) (int )) (int color) (int 0f) (int )) (int radius) (int id) 
-%code int result = ISceneManagerAddLightSceneNode(parent, position, arg3, ), color, 0f, ), radius, id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddBillboardSceneNode :: ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (int size) (int )) (int position) (int arg5) (int )) (int id) (int colorTop) (int colorBottom) 
-%code int result = ISceneManagerAddBillboardSceneNode(parent, size, ), position, arg5, ), id, colorTop, colorBottom);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddSkyBoxSceneNode :: ITexturePtr -> ITexturePtr -> ITexturePtr -> ITexturePtr -> ITexturePtr -> ITexturePtr -> ISceneNodePtr -> Int -> IO ()
-%call (iTexturePtr top) (iTexturePtr bottom) (iTexturePtr left) (iTexturePtr right) (iTexturePtr front) (iTexturePtr back) (iSceneNodePtr parent) (int id) 
-%code int result = ISceneManagerAddSkyBoxSceneNode(top, bottom, left, right, front, back, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddSkyDomeSceneNode :: ITexturePtr -> Int -> Int -> Int -> Int -> Int -> ISceneNodePtr -> Int -> IO ()
-%call (iTexturePtr texture) (int horiRes) (int vertRes) (int texturePercentage) (int spherePercentage) (int radius) (iSceneNodePtr parent) (int id) 
-%code int result = ISceneManagerAddSkyDomeSceneNode(texture, horiRes, vertRes, texturePercentage, spherePercentage, radius, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddParticleSystemSceneNode :: Int -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int withDefaultEmitter) (iSceneNodePtr parent) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int )) 
-%code int result = ISceneManagerAddParticleSystemSceneNode(withDefaultEmitter, parent, id, position, arg5, ), rotation, arg8, ), scale, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddTerrainSceneNode :: Int -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int heightMapFileName) (iSceneNodePtr parent) (int id) (int position) (int 0f) (int )) (int rotation) (int 0f) (int )) (int scale) (int 0f) (int )) (int vertexColor) (int arg14) (int arg15) (int )) (int maxLOD) (int patchSize) (int smoothFactor) (int addAlsoIfHeightmapEmpty) 
-%code int result = ISceneManagerAddTerrainSceneNode(heightMapFileName, parent, id, position, 0f, ), rotation, 0f, ), scale, 0f, ), vertexColor, arg14, arg15, ), maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddTerrainSceneNode :: IReadFilePtr -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iReadFilePtr heightMapFile) (iSceneNodePtr parent) (int id) (int position) (int 0f) (int )) (int rotation) (int 0f) (int )) (int scale) (int 0f) (int )) (int vertexColor) (int arg14) (int arg15) (int )) (int maxLOD) (int patchSize) (int smoothFactor) (int addAlsoIfHeightmapEmpty) 
-%code int result = ISceneManagerAddTerrainSceneNode(heightMapFile, parent, id, position, 0f, ), rotation, 0f, ), scale, 0f, ), vertexColor, arg14, arg15, ), maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
-%fail {result < 0} {getError();}
-
-
-data IShaderPtr = IShaderPtr Int
-%fun ISceneManagerAddQuake3SceneNode :: IMeshBufferPtr -> IShaderPtr -> ISceneNodePtr -> Int -> IO ()
-%call (iMeshBufferPtr meshBuffer) (iShaderPtr shader) (iSceneNodePtr parent) (int id) 
-%code int result = ISceneManagerAddQuake3SceneNode(meshBuffer, shader, parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddEmptySceneNode :: ISceneNodePtr -> Int -> IO ()
-%call (iSceneNodePtr parent) (int id) 
-%code int result = ISceneManagerAddEmptySceneNode(parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddDummyTransformationSceneNode :: ISceneNodePtr -> Int -> IO ()
-%call (iSceneNodePtr parent) (int id) 
-%code int result = ISceneManagerAddDummyTransformationSceneNode(parent, id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddTextSceneNode :: IGUIFontPtr -> String -> Int -> Int -> Int -> Int -> ISceneNodePtr -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIFontPtr font) (string text) (int color) (int arg4) (int arg5) (int )) (iSceneNodePtr parent) (int position) (int arg9) (int )) (int id) 
-%code int result = ISceneManagerAddTextSceneNode(font, text, color, arg4, arg5, ), parent, position, arg9, ), id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddBillboardTextSceneNode :: IGUIFontPtr -> String -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIFontPtr font) (string text) (iSceneNodePtr parent) (int size) (int )) (int position) (int arg7) (int )) (int id) (int colorTop) (int colorBottom) 
-%code int result = ISceneManagerAddBillboardTextSceneNode(font, text, parent, size, ), position, arg7, ), id, colorTop, colorBottom);
-%fail {result < 0} {getError();}
-
-
-data SMaterialPtr = SMaterialPtr Int
-%fun ISceneManagerAddHillPlaneMesh :: Int -> Int -> Int -> SMaterialPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int name) (int tileSize) (int tileCount) (sMaterialPtr material) (int hillHeight) (int countHills) (int )) (int textureRepeatCount) (int )) 
-%code int result = ISceneManagerAddHillPlaneMesh(name, tileSize, tileCount, material, hillHeight, countHills, ), textureRepeatCount, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddTerrainMesh :: Int -> IImagePtr -> IImagePtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int meshname) (iImagePtr texture) (iImagePtr heightmap) (int stretchSize) (int )) (int maxHeight) (int defaultVertexBlockSize) (int )) 
-%code int result = ISceneManagerAddTerrainMesh(meshname, texture, heightmap, stretchSize, ), maxHeight, defaultVertexBlockSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddArrowMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int name) (int vtxColor0) (int vtxColor1) (int tesselationCylinder) (int tesselationCone) (int height) (int cylinderHeight) (int width0) (int width1) 
-%code int result = ISceneManagerAddArrowMesh(name, vtxColor0, vtxColor1, tesselationCylinder, tesselationCone, height, cylinderHeight, width0, width1);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddSphereMesh :: Int -> Int -> Int -> Int -> IO ()
-%call (int name) (int radius) (int polyCountX) (int polyCountY) 
-%code int result = ISceneManagerAddSphereMesh(name, radius, polyCountX, polyCountY);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddVolumeLightMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int name) (int SubdivideU) (int SubdivideV) (int FootColor) (int arg5) (int arg6) (int )) (int TailColor) (int arg9) (int arg10) (int )) 
-%code int result = ISceneManagerAddVolumeLightMesh(name, SubdivideU, SubdivideV, FootColor, arg5, arg6, ), TailColor, arg9, arg10, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetRootSceneNode :: IO ()
-%call 
-%code int result = ISceneManagerGetRootSceneNode();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeFromId :: Int -> ISceneNodePtr -> IO ()
-%call (int id) (iSceneNodePtr start) 
-%code int result = ISceneManagerGetSceneNodeFromId(id, start);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeFromName :: C8Ptr -> ISceneNodePtr -> IO ()
-%call (c8Ptr name) (iSceneNodePtr start) 
-%code int result = ISceneManagerGetSceneNodeFromName(name, start);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeFromType :: Int -> ISceneNodePtr -> IO ()
-%call (int type) (iSceneNodePtr start) 
-%code int result = ISceneManagerGetSceneNodeFromType(type, start);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodesFromType :: Int -> Int -> ISceneNodePtr -> IO ()
-%call (int type) (int outNodes) (iSceneNodePtr start) 
-%code int result = ISceneManagerGetSceneNodesFromType(type, outNodes, start);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetActiveCamera :: IO ()
-%call 
-%code int result = ISceneManagerGetActiveCamera();
-%fail {result < 0} {getError();}
-
-
-data ICameraSceneNodePtr = ICameraSceneNodePtr Int
-%fun ISceneManagerSetActiveCamera :: ICameraSceneNodePtr -> IO ()
-%call (iCameraSceneNodePtr camera) 
-%code int result = ISceneManagerSetActiveCamera(camera);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerSetShadowColor :: Int -> Int -> Int -> Int -> IO ()
-%call (int color) (int arg2) (int arg3) (int )) 
-%code int result = ISceneManagerSetShadowColor(color, arg2, arg3, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetShadowColor :: IO ()
-%call 
-%code int result = ISceneManagerGetShadowColor();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerRegisterNodeForRendering :: ISceneNodePtr -> Int -> IO ()
-%call (iSceneNodePtr node) (int pass) 
-%code int result = ISceneManagerRegisterNodeForRendering(node, pass);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerDrawAll :: IO ()
-%call 
-%code int result = ISceneManagerDrawAll();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateRotationAnimator :: Int -> IO ()
-%call (int rotationSpeed) 
-%code int result = ISceneManagerCreateRotationAnimator(rotationSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateFlyCircleAnimator :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int center) (int f) (int )) (int radius) (int speed) (int direction) (int f) (int )) (int startPosition) (int radiusEllipsoid) 
-%code int result = ISceneManagerCreateFlyCircleAnimator(center, f, ), radius, speed, direction, f, ), startPosition, radiusEllipsoid);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateFlyStraightAnimator :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int startPoint) (int endPoint) (int timeForWay) (int loop) (int pingpong) 
-%code int result = ISceneManagerCreateFlyStraightAnimator(startPoint, endPoint, timeForWay, loop, pingpong);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateTextureAnimator :: Int -> Int -> Int -> IO ()
-%call (int textures) (int timePerFrame) (int loop) 
-%code int result = ISceneManagerCreateTextureAnimator(textures, timePerFrame, loop);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateDeleteAnimator :: Int -> IO ()
-%call (int timeMs) 
-%code int result = ISceneManagerCreateDeleteAnimator(timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateCollisionResponseAnimator :: ITriangleSelectorPtr -> ISceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iTriangleSelectorPtr world) (iSceneNodePtr sceneNode) (int ellipsoidRadius) (int arg4) (int )) (int gravityPerSecond) (int 0f) (int )) (int ellipsoidTranslation) (int arg10) (int )) (int slidingValue) 
-%code int result = ISceneManagerCreateCollisionResponseAnimator(world, sceneNode, ellipsoidRadius, arg4, ), gravityPerSecond, 0f, ), ellipsoidTranslation, arg10, ), slidingValue);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateFollowSplineAnimator :: Int -> Int -> Int -> Int -> IO ()
-%call (int startTime) (int points) (int speed) (int tightness) 
-%code int result = ISceneManagerCreateFollowSplineAnimator(startTime, points, speed, tightness);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateTriangleSelector :: IMeshPtr -> ISceneNodePtr -> IO ()
-%call (iMeshPtr mesh) (iSceneNodePtr node) 
-%code int result = ISceneManagerCreateTriangleSelector(mesh, node);
-%fail {result < 0} {getError();}
-
-
-data IAnimatedMeshSceneNodePtr = IAnimatedMeshSceneNodePtr Int
-%fun ISceneManagerCreateTriangleSelector :: IAnimatedMeshSceneNodePtr -> IO ()
-%call (iAnimatedMeshSceneNodePtr node) 
-%code int result = ISceneManagerCreateTriangleSelector(node);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateTriangleSelectorFromBoundingBox :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ISceneManagerCreateTriangleSelectorFromBoundingBox(node);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateOctTreeTriangleSelector :: IMeshPtr -> ISceneNodePtr -> Int -> IO ()
-%call (iMeshPtr mesh) (iSceneNodePtr node) (int minimalPolysPerNode) 
-%code int result = ISceneManagerCreateOctTreeTriangleSelector(mesh, node, minimalPolysPerNode);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateMetaTriangleSelector :: IO ()
-%call 
-%code int result = ISceneManagerCreateMetaTriangleSelector();
-%fail {result < 0} {getError();}
-
-
-data ITerrainSceneNodePtr = ITerrainSceneNodePtr Int
-%fun ISceneManagerCreateTerrainTriangleSelector :: ITerrainSceneNodePtr -> Int -> IO ()
-%call (iTerrainSceneNodePtr node) (int LOD) 
-%code int result = ISceneManagerCreateTerrainTriangleSelector(node, LOD);
-%fail {result < 0} {getError();}
-
-
-data IMeshLoaderPtr = IMeshLoaderPtr Int
-%fun ISceneManagerAddExternalMeshLoader :: IMeshLoaderPtr -> IO ()
-%call (iMeshLoaderPtr externalLoader) 
-%code int result = ISceneManagerAddExternalMeshLoader(externalLoader);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneCollisionManager :: IO ()
-%call 
-%code int result = ISceneManagerGetSceneCollisionManager();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetMeshManipulator :: IO ()
-%call 
-%code int result = ISceneManagerGetMeshManipulator();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerAddToDeletionQueue :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ISceneManagerAddToDeletionQueue(node);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerPostEventFromUser :: Int -> IO ()
-%call (int event) 
-%code int result = ISceneManagerPostEventFromUser(event);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerClear :: IO ()
-%call 
-%code int result = ISceneManagerClear();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetParameters :: IO ()
-%call 
-%code int result = ISceneManagerGetParameters();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeRenderPass :: IO ()
-%call 
-%code int result = ISceneManagerGetSceneNodeRenderPass();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetDefaultSceneNodeFactory :: IO ()
-%call 
-%code int result = ISceneManagerGetDefaultSceneNodeFactory();
-%fail {result < 0} {getError();}
-
-
-data ISceneNodeFactoryPtr = ISceneNodeFactoryPtr Int
-%fun ISceneManagerRegisterSceneNodeFactory :: ISceneNodeFactoryPtr -> IO ()
-%call (iSceneNodeFactoryPtr factoryToAdd) 
-%code int result = ISceneManagerRegisterSceneNodeFactory(factoryToAdd);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetRegisteredSceneNodeFactoryCount :: IO ()
-%call 
-%code int result = ISceneManagerGetRegisteredSceneNodeFactoryCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeFactory :: Int -> IO ()
-%call (int index) 
-%code int result = ISceneManagerGetSceneNodeFactory(index);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetDefaultSceneNodeAnimatorFactory :: IO ()
-%call 
-%code int result = ISceneManagerGetDefaultSceneNodeAnimatorFactory();
-%fail {result < 0} {getError();}
-
-
-data ISceneNodeAnimatorFactoryPtr = ISceneNodeAnimatorFactoryPtr Int
-%fun ISceneManagerRegisterSceneNodeAnimatorFactory :: ISceneNodeAnimatorFactoryPtr -> IO ()
-%call (iSceneNodeAnimatorFactoryPtr factoryToAdd) 
-%code int result = ISceneManagerRegisterSceneNodeAnimatorFactory(factoryToAdd);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount :: IO ()
-%call 
-%code int result = ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeAnimatorFactory :: Int -> IO ()
-%call (int index) 
-%code int result = ISceneManagerGetSceneNodeAnimatorFactory(index);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetSceneNodeTypeName :: Int -> IO ()
-%call (int type) 
-%code int result = ISceneManagerGetSceneNodeTypeName(type);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetAnimatorTypeName :: Int -> IO ()
-%call (int type) 
-%code int result = ISceneManagerGetAnimatorTypeName(type);
-%fail {result < 0} {getError();}
-
-
-data CharPtr = CharPtr Int
-%fun ISceneManagerAddSceneNode :: CharPtr -> ISceneNodePtr -> IO ()
-%call (charPtr sceneNodeTypeName) (iSceneNodePtr parent) 
-%code int result = ISceneManagerAddSceneNode(sceneNodeTypeName, parent);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateNewSceneManager :: Int -> IO ()
-%call (int cloneContent) 
-%code int result = ISceneManagerCreateNewSceneManager(cloneContent);
-%fail {result < 0} {getError();}
-
-
-data ISceneUserDataSerializerPtr = ISceneUserDataSerializerPtr Int
-%fun ISceneManagerSaveScene :: Int -> ISceneUserDataSerializerPtr -> IO ()
-%call (int filename) (iSceneUserDataSerializerPtr userDataSerializer) 
-%code int result = ISceneManagerSaveScene(filename, userDataSerializer);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerSaveScene :: IWriteFilePtr -> ISceneUserDataSerializerPtr -> IO ()
-%call (iWriteFilePtr file) (iSceneUserDataSerializerPtr userDataSerializer) 
-%code int result = ISceneManagerSaveScene(file, userDataSerializer);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerLoadScene :: Int -> ISceneUserDataSerializerPtr -> IO ()
-%call (int filename) (iSceneUserDataSerializerPtr userDataSerializer) 
-%code int result = ISceneManagerLoadScene(filename, userDataSerializer);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerLoadScene :: IReadFilePtr -> ISceneUserDataSerializerPtr -> IO ()
-%call (iReadFilePtr file) (iSceneUserDataSerializerPtr userDataSerializer) 
-%code int result = ISceneManagerLoadScene(file, userDataSerializer);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateMeshWriter :: Int -> IO ()
-%call (int type) 
-%code int result = ISceneManagerCreateMeshWriter(type);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerCreateSkinnedMesh :: IO ()
-%call 
-%code int result = ISceneManagerCreateSkinnedMesh();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerSetAmbientLight :: Int -> IO ()
-%call (int ambientColor) 
-%code int result = ISceneManagerSetAmbientLight(ambientColor);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetAmbientLight :: IO ()
-%call 
-%code int result = ISceneManagerGetAmbientLight();
-%fail {result < 0} {getError();}
-
-
-data ILightManagerPtr = ILightManagerPtr Int
-%fun ISceneManagerSetLightManager :: ILightManagerPtr -> IO ()
-%call (iLightManagerPtr lightManager) 
-%code int result = ISceneManagerSetLightManager(lightManager);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerGetGeometryCreator :: IO ()
-%call 
-%code int result = ISceneManagerGetGeometryCreator();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneManagerIsCulled :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ISceneManagerIsCulled(node);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeISceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int false) 
-%code int result = ISceneNodeISceneNode(parent, mgr, id, position, arg5, ), rotation, arg8, ), scale, 0f, ), ), ), ), ), ), ), ), ), ), false);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = ISceneNodeUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeISceneNode :: IO ()
-%call 
-%code int result = ISceneNodeISceneNode();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemoveAll :: IO ()
-%call 
-%code int result = ISceneNodeRemoveAll();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode) :: Int -> IO ()
-%call (int () 
-%code int result = ISceneNode)(();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeOnRegisterSceneNode :: IO ()
-%call 
-%code int result = ISceneNodeOnRegisterSceneNode();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode) :: Int -> IO ()
-%call (int () 
-%code int result = ISceneNode)(();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeOnAnimate :: Int -> IO ()
-%call (int timeMs) 
-%code int result = ISceneNodeOnAnimate(timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeWhile :: Int -> IO ()
-%call (int ait) 
-%code int result = ISceneNodeWhile(ait);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimateNode :: Int -> IO ()
-%call (int arg1) 
-%code int result = ISceneNodeAnimateNode(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = ISceneNodeUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode) :: Int -> IO ()
-%call (int timeMs) 
-%code int result = ISceneNode)(timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRender :: IO ()
-%call 
-%code int result = ISceneNodeRender();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetName :: IO ()
-%call 
-%code int result = ISceneNodeGetName();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetName :: C8Ptr -> IO ()
-%call (c8Ptr name) 
-%code int result = ISceneNodeSetName(name);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetName :: Int -> IO ()
-%call (int name) 
-%code int result = ISceneNodeSetName(name);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetBoundingBox :: IO ()
-%call 
-%code int result = ISceneNodeGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetTransformedBoundingBox :: IO ()
-%call 
-%code int result = ISceneNodeGetTransformedBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetBoundingBox :: IO ()
-%call 
-%code int result = ISceneNodeGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeTransformBoxEx :: IO ()
-%call 
-%code int result = ISceneNodeTransformBoxEx();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAbsoluteTransformation :: IO ()
-%call 
-%code int result = ISceneNodeGetAbsoluteTransformation();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetRelativeTransformation :: IO ()
-%call 
-%code int result = ISceneNodeGetRelativeTransformation();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetRotationDegrees :: IO ()
-%call 
-%code int result = ISceneNodeSetRotationDegrees();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetTranslation :: IO ()
-%call 
-%code int result = ISceneNodeSetTranslation();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetScale :: IO ()
-%call 
-%code int result = ISceneNodeSetScale();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeIsVisible :: IO ()
-%call 
-%code int result = ISceneNodeIsVisible();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeIsTrulyVisible :: IO ()
-%call 
-%code int result = ISceneNodeIsTrulyVisible();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetVisible :: Int -> IO ()
-%call (int isVisible) 
-%code int result = ISceneNodeSetVisible(isVisible);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetID :: IO ()
-%call 
-%code int result = ISceneNodeGetID();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetID :: Int -> IO ()
-%call (int id) 
-%code int result = ISceneNodeSetID(id);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddChild :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr child) 
-%code int result = ISceneNodeAddChild(child);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGrab :: IO ()
-%call 
-%code int result = ISceneNodeGrab();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemove :: IO ()
-%call 
-%code int result = ISceneNodeRemove();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodePush_back :: IO ()
-%call 
-%code int result = ISceneNodePush_back();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemoveChild :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr child) 
-%code int result = ISceneNodeRemoveChild(child);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeErase :: IO ()
-%call 
-%code int result = ISceneNodeErase();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemoveAll :: IO ()
-%call 
-%code int result = ISceneNodeRemoveAll();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeClear :: IO ()
-%call 
-%code int result = ISceneNodeClear();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemove :: IO ()
-%call 
-%code int result = ISceneNodeRemove();
-%fail {result < 0} {getError();}
-
-
-data ISceneNodeAnimatorPtr = ISceneNodeAnimatorPtr Int
-%fun ISceneNodeAddAnimator :: ISceneNodeAnimatorPtr -> IO ()
-%call (iSceneNodeAnimatorPtr animator) 
-%code int result = ISceneNodeAddAnimator(animator);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodePush_back :: IO ()
-%call 
-%code int result = ISceneNodePush_back();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGrab :: IO ()
-%call 
-%code int result = ISceneNodeGrab();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAnimators :: IO ()
-%call 
-%code int result = ISceneNodeGetAnimators();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemoveAnimator :: ISceneNodeAnimatorPtr -> IO ()
-%call (iSceneNodeAnimatorPtr animator) 
-%code int result = ISceneNodeRemoveAnimator(animator);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeErase :: IO ()
-%call 
-%code int result = ISceneNodeErase();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemoveAnimators :: IO ()
-%call 
-%code int result = ISceneNodeRemoveAnimators();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeBegin :: IO ()
-%call 
-%code int result = ISceneNodeBegin();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeEnd :: IO ()
-%call 
-%code int result = ISceneNodeEnd();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode) :: Int -> IO ()
-%call (int () 
-%code int result = ISceneNode)(();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeClear :: IO ()
-%call 
-%code int result = ISceneNodeClear();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetMaterial :: Int -> IO ()
-%call (int num) 
-%code int result = ISceneNodeGetMaterial(num);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetMaterialCount :: IO ()
-%call 
-%code int result = ISceneNodeGetMaterialCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetMaterialFlag :: Int -> Int -> IO ()
-%call (int flag) (int newvalue) 
-%code int result = ISceneNodeSetMaterialFlag(flag, newvalue);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode<getMaterialCount :: IO ()
-%call 
-%code int result = ISceneNode<getMaterialCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetMaterial :: Int -> IO ()
-%call (int flag) 
-%code int result = ISceneNodeGetMaterial(flag);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetMaterialTexture :: Int -> ITexturePtr -> IO ()
-%call (int textureLayer) (iTexturePtr texture) 
-%code int result = ISceneNodeSetMaterialTexture(textureLayer, texture);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode<getMaterialCount :: IO ()
-%call 
-%code int result = ISceneNode<getMaterialCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetMaterial :: Int -> IO ()
-%call (int textureLayer) 
-%code int result = ISceneNodeGetMaterial(textureLayer);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetMaterialType :: Int -> IO ()
-%call (int newType) 
-%code int result = ISceneNodeSetMaterialType(newType);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode<getMaterialCount :: IO ()
-%call 
-%code int result = ISceneNode<getMaterialCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetMaterial :: IO ()
-%call 
-%code int result = ISceneNodeGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetScale :: IO ()
-%call 
-%code int result = ISceneNodeGetScale();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetScale :: Int -> IO ()
-%call (int scale) 
-%code int result = ISceneNodeSetScale(scale);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetRotation :: IO ()
-%call 
-%code int result = ISceneNodeGetRotation();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetRotation :: Int -> IO ()
-%call (int rotation) 
-%code int result = ISceneNodeSetRotation(rotation);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetPosition :: IO ()
-%call 
-%code int result = ISceneNodeGetPosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetPosition :: Int -> IO ()
-%call (int newpos) 
-%code int result = ISceneNodeSetPosition(newpos);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAbsolutePosition :: IO ()
-%call 
-%code int result = ISceneNodeGetAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetAutomaticCulling :: Int -> IO ()
-%call (int state) 
-%code int result = ISceneNodeSetAutomaticCulling(state);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAutomaticCulling :: IO ()
-%call 
-%code int result = ISceneNodeGetAutomaticCulling();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetDebugDataVisible :: Int -> IO ()
-%call (int state) 
-%code int result = ISceneNodeSetDebugDataVisible(state);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeIsDebugDataVisible :: IO ()
-%call 
-%code int result = ISceneNodeIsDebugDataVisible();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetIsDebugObject :: Int -> IO ()
-%call (int debugObject) 
-%code int result = ISceneNodeSetIsDebugObject(debugObject);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeIsDebugObject :: IO ()
-%call 
-%code int result = ISceneNodeIsDebugObject();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetChildren :: IO ()
-%call 
-%code int result = ISceneNodeGetChildren();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetParent :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr newParent) 
-%code int result = ISceneNodeSetParent(newParent);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGrab :: IO ()
-%call 
-%code int result = ISceneNodeGrab();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeRemove :: IO ()
-%call 
-%code int result = ISceneNodeRemove();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeDrop :: IO ()
-%call 
-%code int result = ISceneNodeDrop();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetTriangleSelector :: IO ()
-%call 
-%code int result = ISceneNodeGetTriangleSelector();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetTriangleSelector :: ITriangleSelectorPtr -> IO ()
-%call (iTriangleSelectorPtr selector) 
-%code int result = ISceneNodeSetTriangleSelector(selector);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = ISceneNodeUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAbsoluteTransformation :: Int -> IO ()
-%call (int () 
-%code int result = ISceneNodeGetAbsoluteTransformation(();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetRelativeTransformation :: IO ()
-%call 
-%code int result = ISceneNodeGetRelativeTransformation();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetParent :: IO ()
-%call 
-%code int result = ISceneNodeGetParent();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetType :: IO ()
-%call 
-%code int result = ISceneNodeGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSerializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr out) (sAttributeReadWriteOptionsPtr options) 
-%code int result = ISceneNodeSerializeAttributes(out, options);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddString :: Int -> Int -> IO ()
-%call (int arg1) (int )) 
-%code int result = ISceneNodeAddString(arg1, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddInt :: Int -> IO ()
-%call (int arg1) 
-%code int result = ISceneNodeAddInt(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddVector3d :: Int -> Int -> IO ()
-%call (int arg1) (int )) 
-%code int result = ISceneNodeAddVector3d(arg1, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddVector3d :: Int -> Int -> IO ()
-%call (int arg1) (int )) 
-%code int result = ISceneNodeAddVector3d(arg1, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddVector3d :: Int -> Int -> IO ()
-%call (int arg1) (int )) 
-%code int result = ISceneNodeAddVector3d(arg1, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = ISceneNodeAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddEnum :: Int -> Int -> IO ()
-%call (int arg1) (int arg2) 
-%code int result = ISceneNodeAddEnum(arg1, arg2);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddInt :: Int -> IO ()
-%call (int arg1) 
-%code int result = ISceneNodeAddInt(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = ISceneNodeAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeDeserializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr in) (sAttributeReadWriteOptionsPtr options) 
-%code int result = ISceneNodeDeserializeAttributes(in, options);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAttributeAsString :: IO ()
-%call 
-%code int result = ISceneNodeGetAttributeAsString();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAttributeAsInt :: IO ()
-%call 
-%code int result = ISceneNodeGetAttributeAsInt();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetPosition :: Int -> IO ()
-%call (int )) 
-%code int result = ISceneNodeSetPosition());
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetRotation :: Int -> IO ()
-%call (int )) 
-%code int result = ISceneNodeSetRotation());
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeSetScale :: Int -> IO ()
-%call (int )) 
-%code int result = ISceneNodeSetScale());
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAttributeAsBool :: IO ()
-%call 
-%code int result = ISceneNodeGetAttributeAsBool();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNode= :: Int -> Int -> IO ()
-%call (int "AutomaticCulling") (int AutomaticCullingNames) 
-%code int result = ISceneNode=("AutomaticCulling", AutomaticCullingNames);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAttributeAsInt :: IO ()
-%call 
-%code int result = ISceneNodeGetAttributeAsInt();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetAttributeAsBool :: IO ()
-%call 
-%code int result = ISceneNodeGetAttributeAsBool();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = ISceneNodeUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeClone :: ISceneNodePtr -> ISceneManagerPtr -> IO ()
-%call (iSceneNodePtr newParent) (iSceneManagerPtr newManager) 
-%code int result = ISceneNodeClone(newParent, newManager);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeGetSceneManager :: IO ()
-%call 
-%code int result = ISceneNodeGetSceneManager();
-%fail {result < 0} {getError();}
-
-
-%fun ITextSceneNodeITextSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int parent) (int arg7) (int arg8) 
-%code int result = ITextSceneNodeITextSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-%fail {result < 0} {getError();}
-
-
-%fun ITextSceneNodeSetText :: String -> IO ()
-%call (string text) 
-%code int result = ITextSceneNodeSetText(text);
-%fail {result < 0} {getError();}
-
-
-%fun ITextSceneNodeSetTextColor :: Int -> IO ()
-%call (int color) 
-%code int result = ITextSceneNodeSetTextColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextIGUIStaticText :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_STATIC_TEXT) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIStaticTextIGUIStaticText(environment, parent, id, EGUIET_STATIC_TEXT, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetOverrideFont :: IGUIFontPtr -> IO ()
-%call (iGUIFontPtr font) 
-%code int result = IGUIStaticTextSetOverrideFont(font);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextGetOverrideFont :: IO ()
-%call 
-%code int result = IGUIStaticTextGetOverrideFont();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetOverrideColor :: Int -> IO ()
-%call (int color) 
-%code int result = IGUIStaticTextSetOverrideColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextGetOverrideColor :: IO ()
-%call 
-%code int result = IGUIStaticTextGetOverrideColor();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextEnableOverrideColor :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIStaticTextEnableOverrideColor(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextIsOverrideColorEnabled :: IO ()
-%call 
-%code int result = IGUIStaticTextIsOverrideColorEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetBackgroundColor :: Int -> IO ()
-%call (int color) 
-%code int result = IGUIStaticTextSetBackgroundColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetDrawBackground :: Int -> IO ()
-%call (int draw) 
-%code int result = IGUIStaticTextSetDrawBackground(draw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetDrawBorder :: Int -> IO ()
-%call (int draw) 
-%code int result = IGUIStaticTextSetDrawBorder(draw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetTextAlignment :: Int -> Int -> IO ()
-%call (int horizontal) (int vertical) 
-%code int result = IGUIStaticTextSetTextAlignment(horizontal, vertical);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextSetWordWrap :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIStaticTextSetWordWrap(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextIsWordWrapEnabled :: IO ()
-%call 
-%code int result = IGUIStaticTextIsWordWrapEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextGetTextHeight :: IO ()
-%call 
-%code int result = IGUIStaticTextGetTextHeight();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIStaticTextGetTextWidth :: IO ()
-%call 
-%code int result = IGUIStaticTextGetTextWidth();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeIParticleSystemSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int parent) (int arg13) (int arg14) (int arg15) (int arg16) 
-%code int result = IParticleSystemSceneNodeIParticleSystemSceneNode(parent, mgr, id, position, arg5, ), rotation, arg8, ), scale, 0f, parent, arg13, arg14, arg15, arg16);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeSetParticleSize :: Int -> Int -> IO ()
-%call (int size) (int )) 
-%code int result = IParticleSystemSceneNodeSetParticleSize(size, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeSetParticlesAreGlobal :: Int -> IO ()
-%call (int global) 
-%code int result = IParticleSystemSceneNodeSetParticlesAreGlobal(global);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeGetEmitter :: IO ()
-%call 
-%code int result = IParticleSystemSceneNodeGetEmitter();
-%fail {result < 0} {getError();}
-
-
-data IParticleEmitterPtr = IParticleEmitterPtr Int
-%fun IParticleSystemSceneNodeSetEmitter :: IParticleEmitterPtr -> IO ()
-%call (iParticleEmitterPtr emitter) 
-%code int result = IParticleSystemSceneNodeSetEmitter(emitter);
-%fail {result < 0} {getError();}
-
-
-data IParticleAffectorPtr = IParticleAffectorPtr Int
-%fun IParticleSystemSceneNodeAddAffector :: IParticleAffectorPtr -> IO ()
-%call (iParticleAffectorPtr affector) 
-%code int result = IParticleSystemSceneNodeAddAffector(affector);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeRemoveAllAffectors :: IO ()
-%call 
-%code int result = IParticleSystemSceneNodeRemoveAllAffectors();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter :: IAnimatedMeshSceneNodePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iAnimatedMeshSceneNodePtr node) (int useNormalDirection) (int direction) (int 03f) (int )) (int normalDirectionModifier) (int mbNumber) (int everyMeshVertex) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg12) (int arg13) (int )) (int maxStartColor) (int arg16) (int arg17) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(node, useNormalDirection, direction, 03f, ), normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg12, arg13, ), maxStartColor, arg16, arg17, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateBoxEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int box) (int arg2) (int 10) (int arg4) (int arg5) (int )) (int direction) (int 03f) (int )) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg13) (int arg14) (int )) (int maxStartColor) (int arg17) (int arg18) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreateBoxEmitter(box, arg2, 10, arg4, arg5, ), direction, 03f, ), minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg13, arg14, ), maxStartColor, arg17, arg18, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateCylinderEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int center) (int radius) (int normal) (int length) (int outlineOnly) (int direction) (int 03f) (int )) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg12) (int arg13) (int )) (int maxStartColor) (int arg16) (int arg17) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreateCylinderEmitter(center, radius, normal, length, outlineOnly, direction, 03f, ), minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg12, arg13, ), maxStartColor, arg16, arg17, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateMeshEmitter :: IMeshPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (int useNormalDirection) (int direction) (int 03f) (int )) (int normalDirectionModifier) (int mbNumber) (int everyMeshVertex) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg12) (int arg13) (int )) (int maxStartColor) (int arg16) (int arg17) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreateMeshEmitter(mesh, useNormalDirection, direction, 03f, ), normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg12, arg13, ), maxStartColor, arg16, arg17, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreatePointEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int direction) (int 03f) (int )) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg7) (int arg8) (int )) (int maxStartColor) (int arg11) (int arg12) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreatePointEmitter(direction, 03f, ), minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg7, arg8, ), maxStartColor, arg11, arg12, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateRingEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int center) (int radius) (int ringThickness) (int direction) (int 03f) (int )) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg10) (int arg11) (int )) (int maxStartColor) (int arg14) (int arg15) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreateRingEmitter(center, radius, ringThickness, direction, 03f, ), minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg10, arg11, ), maxStartColor, arg14, arg15, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateSphereEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int center) (int radius) (int direction) (int 03f) (int )) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int arg9) (int arg10) (int )) (int maxStartColor) (int arg13) (int arg14) (int )) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int )) (int maxStartSize) (int )) 
-%code int result = IParticleSystemSceneNodeCreateSphereEmitter(center, radius, direction, 03f, ), minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg9, arg10, ), maxStartColor, arg13, arg14, ), lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, ), maxStartSize, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateAttractionAffector :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int point) (int speed) (int attract) (int affectX) (int affectY) (int affectZ) 
-%code int result = IParticleSystemSceneNodeCreateAttractionAffector(point, speed, attract, affectX, affectY, affectZ);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateScaleParticleAffector :: Int -> Int -> IO ()
-%call (int scaleTo) (int )) 
-%code int result = IParticleSystemSceneNodeCreateScaleParticleAffector(scaleTo, ));
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateFadeOutParticleAffector :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int targetColor) (int arg2) (int arg3) (int )) (int timeNeededToFadeOut) 
-%code int result = IParticleSystemSceneNodeCreateFadeOutParticleAffector(targetColor, arg2, arg3, ), timeNeededToFadeOut);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateGravityAffector :: Int -> Int -> Int -> Int -> IO ()
-%call (int gravity) (int 03f) (int )) (int timeForceLost) 
-%code int result = IParticleSystemSceneNodeCreateGravityAffector(gravity, 03f, ), timeForceLost);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleSystemSceneNodeCreateRotationAffector :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int speed) (int 0f) (int )) (int pivotPoint) (int 0f) (int )) 
-%code int result = IParticleSystemSceneNodeCreateRotationAffector(speed, 0f, ), pivotPoint, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeITerrainSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int 0f) (int )) (int rotation) (int 0f) (int )) (int scale) (int 0f) (int parent) (int arg13) (int arg14) (int arg15) (int arg16) 
-%code int result = ITerrainSceneNodeITerrainSceneNode(parent, mgr, id, position, 0f, ), rotation, 0f, ), scale, 0f, parent, arg13, arg14, arg15, arg16);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetBoundingBox :: IO ()
-%call 
-%code int result = ITerrainSceneNodeGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetBoundingBox :: Int -> Int -> IO ()
-%call (int patchX) (int patchZ) 
-%code int result = ITerrainSceneNodeGetBoundingBox(patchX, patchZ);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetIndexCount :: IO ()
-%call 
-%code int result = ITerrainSceneNodeGetIndexCount();
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetMesh :: IO ()
-%call 
-%code int result = ITerrainSceneNodeGetMesh();
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetRenderBuffer :: IO ()
-%call 
-%code int result = ITerrainSceneNodeGetRenderBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetMeshBufferForLOD :: Int -> Int -> IO ()
-%call (int mb) (int LOD) 
-%code int result = ITerrainSceneNodeGetMeshBufferForLOD(mb, LOD);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetIndicesForPatch :: Int -> Int -> Int -> Int -> IO ()
-%call (int indices) (int patchX) (int patchZ) (int LOD) 
-%code int result = ITerrainSceneNodeGetIndicesForPatch(indices, patchX, patchZ, LOD);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetCurrentLODOfPatches :: Int -> IO ()
-%call (int LODs) 
-%code int result = ITerrainSceneNodeGetCurrentLODOfPatches(LODs);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeSetLODOfPatch :: Int -> Int -> Int -> IO ()
-%call (int patchX) (int patchZ) (int LOD) 
-%code int result = ITerrainSceneNodeSetLODOfPatch(patchX, patchZ, LOD);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetTerrainCenter :: IO ()
-%call 
-%code int result = ITerrainSceneNodeGetTerrainCenter();
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeGetHeight :: Int -> Int -> IO ()
-%call (int x) (int y) 
-%code int result = ITerrainSceneNodeGetHeight(x, y);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeSetCameraMovementDelta :: Int -> IO ()
-%call (int delta) 
-%code int result = ITerrainSceneNodeSetCameraMovementDelta(delta);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeSetCameraRotationDelta :: Int -> IO ()
-%call (int delta) 
-%code int result = ITerrainSceneNodeSetCameraRotationDelta(delta);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeSetDynamicSelectorUpdate :: Int -> IO ()
-%call (int bVal) 
-%code int result = ITerrainSceneNodeSetDynamicSelectorUpdate(bVal);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeOverrideLODDistance :: Int -> Int -> IO ()
-%call (int LOD) (int newDistance) 
-%code int result = ITerrainSceneNodeOverrideLODDistance(LOD, newDistance);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeScaleTexture :: Int -> Int -> IO ()
-%call (int scale) (int scale2) 
-%code int result = ITerrainSceneNodeScaleTexture(scale, scale2);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeLoadHeightMap :: IReadFilePtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iReadFilePtr file) (int vertexColor) (int arg3) (int arg4) (int )) (int smoothFactor) 
-%code int result = ITerrainSceneNodeLoadHeightMap(file, vertexColor, arg3, arg4, ), smoothFactor);
-%fail {result < 0} {getError();}
-
-
-%fun ITerrainSceneNodeLoadHeightMapRAW :: IReadFilePtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iReadFilePtr file) (int bitsPerPixel) (int signedData) (int floatVals) (int width) (int vertexColor) (int arg7) (int arg8) (int )) (int smoothFactor) 
-%code int result = ITerrainSceneNodeLoadHeightMapRAW(file, bitsPerPixel, signedData, floatVals, width, vertexColor, arg7, arg8, ), smoothFactor);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuIGUIContextMenu :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_CONTEXT_MENU) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIContextMenuIGUIContextMenu(environment, parent, id, EGUIET_CONTEXT_MENU, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuGetItemCount :: IO ()
-%call 
-%code int result = IGUIContextMenuGetItemCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuAddItem :: String -> Int -> Int -> Int -> Int -> IO ()
-%call (string text) (int commandId) (int enabled) (int hasSubMenu) (int checked) 
-%code int result = IGUIContextMenuAddItem(text, commandId, enabled, hasSubMenu, checked);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuAddSeparator :: IO ()
-%call 
-%code int result = IGUIContextMenuAddSeparator();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuGetItemText :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIContextMenuGetItemText(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuSetItemText :: Int -> String -> IO ()
-%call (int idx) (string text) 
-%code int result = IGUIContextMenuSetItemText(idx, text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuIsItemEnabled :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIContextMenuIsItemEnabled(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuSetItemEnabled :: Int -> Int -> IO ()
-%call (int idx) (int enabled) 
-%code int result = IGUIContextMenuSetItemEnabled(idx, enabled);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuSetItemChecked :: Int -> Int -> IO ()
-%call (int idx) (int enabled) 
-%code int result = IGUIContextMenuSetItemChecked(idx, enabled);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuIsItemChecked :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIContextMenuIsItemChecked(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuRemoveItem :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIContextMenuRemoveItem(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuRemoveAllItems :: IO ()
-%call 
-%code int result = IGUIContextMenuRemoveAllItems();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuGetSelectedItem :: IO ()
-%call 
-%code int result = IGUIContextMenuGetSelectedItem();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuGetItemCommandId :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIContextMenuGetItemCommandId(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuSetItemCommandId :: Int -> Int -> IO ()
-%call (int idx) (int id) 
-%code int result = IGUIContextMenuSetItemCommandId(idx, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIContextMenuGetSubMenu :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIContextMenuGetSubMenu(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IImageLock :: IO ()
-%call 
-%code int result = IImageLock();
-%fail {result < 0} {getError();}
-
-
-%fun IImageUnlock :: IO ()
-%call 
-%code int result = IImageUnlock();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetDimension :: IO ()
-%call 
-%code int result = IImageGetDimension();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetBitsPerPixel :: IO ()
-%call 
-%code int result = IImageGetBitsPerPixel();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetBytesPerPixel :: IO ()
-%call 
-%code int result = IImageGetBytesPerPixel();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetImageDataSizeInBytes :: IO ()
-%call 
-%code int result = IImageGetImageDataSizeInBytes();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetImageDataSizeInPixels :: IO ()
-%call 
-%code int result = IImageGetImageDataSizeInPixels();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetPixel :: Int -> Int -> IO ()
-%call (int x) (int y) 
-%code int result = IImageGetPixel(x, y);
-%fail {result < 0} {getError();}
-
-
-%fun IImageSetPixel :: Int -> Int -> Int -> Int -> IO ()
-%call (int x) (int y) (int color) (int blend) 
-%code int result = IImageSetPixel(x, y, color, blend);
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetColorFormat :: IO ()
-%call 
-%code int result = IImageGetColorFormat();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetRedMask :: IO ()
-%call 
-%code int result = IImageGetRedMask();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetGreenMask :: IO ()
-%call 
-%code int result = IImageGetGreenMask();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetBlueMask :: IO ()
-%call 
-%code int result = IImageGetBlueMask();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetAlphaMask :: IO ()
-%call 
-%code int result = IImageGetAlphaMask();
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetPitch :: IO ()
-%call 
-%code int result = IImageGetPitch();
-%fail {result < 0} {getError();}
-
-
-%fun IImageCopyToScaling :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int target) (int width) (int height) (int format) (int pitch) 
-%code int result = IImageCopyToScaling(target, width, height, format, pitch);
-%fail {result < 0} {getError();}
-
-
-%fun IImageCopyToScaling :: IImagePtr -> IO ()
-%call (iImagePtr target) 
-%code int result = IImageCopyToScaling(target);
-%fail {result < 0} {getError();}
-
-
-%fun IImageCopyTo :: IImagePtr -> Int -> Int -> IO ()
-%call (iImagePtr target) (int pos) (int )) 
-%code int result = IImageCopyTo(target, pos, ));
-%fail {result < 0} {getError();}
-
-
-%fun IImageCopyTo :: IImagePtr -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (iImagePtr target) (int pos) (int sourceRect) (rect<s32>Ptr clipRect) 
-%code int result = IImageCopyTo(target, pos, sourceRect, clipRect);
-%fail {result < 0} {getError();}
-
-
-%fun IImageCopyToWithAlpha :: IImagePtr -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (iImagePtr target) (int pos) (int sourceRect) (int color) (rect<s32>Ptr clipRect) 
-%code int result = IImageCopyToWithAlpha(target, pos, sourceRect, color, clipRect);
-%fail {result < 0} {getError();}
-
-
-%fun IImageCopyToScalingBoxFilter :: IImagePtr -> Int -> Int -> IO ()
-%call (iImagePtr target) (int bias) (int blend) 
-%code int result = IImageCopyToScalingBoxFilter(target, bias, blend);
-%fail {result < 0} {getError();}
-
-
-%fun IImageFill :: Int -> IO ()
-%call (int color) 
-%code int result = IImageFill(color);
-%fail {result < 0} {getError();}
-
-
-%fun IImageGetBitsPerPixelFromFormat :: Int -> IO ()
-%call (int format) 
-%code int result = IImageGetBitsPerPixelFromFormat(format);
-%fail {result < 0} {getError();}
-
-
-%fun IImageSwitch :: IO ()
-%call 
-%code int result = IImageSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun IImageIsRenderTargetOnlyFormat :: Int -> IO ()
-%call (int format) 
-%code int result = IImageIsRenderTargetOnlyFormat(format);
-%fail {result < 0} {getError();}
-
-
-%fun IImageSwitch :: IO ()
-%call 
-%code int result = IImageSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD2GetFrameLoop :: Int -> Int -> Int -> Int -> IO ()
-%call (int l) (int outBegin) (int outEnd) (int outFPS) 
-%code int result = IAnimatedMeshMD2GetFrameLoop(l, outBegin, outEnd, outFPS);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD2GetFrameLoop :: C8Ptr -> Int -> Int -> Int -> IO ()
-%call (c8Ptr name) (int outBegin) (int outEnd) (int outFPS) 
-%code int result = IAnimatedMeshMD2GetFrameLoop(name, outBegin, outEnd, outFPS);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD2GetAnimationCount :: IO ()
-%call 
-%code int result = IAnimatedMeshMD2GetAnimationCount();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshMD2GetAnimationName :: Int -> IO ()
-%call (int nr) 
-%code int result = IAnimatedMeshMD2GetAnimationName(nr);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferGetData :: IO ()
-%call 
-%code int result = IIndexBufferGetData();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferGetType :: IO ()
-%call 
-%code int result = IIndexBufferGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferSetType :: Int -> IO ()
-%call (int IndexType) 
-%code int result = IIndexBufferSetType(IndexType);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferStride :: IO ()
-%call 
-%code int result = IIndexBufferStride();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferSize :: IO ()
-%call 
-%code int result = IIndexBufferSize();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IIndexBufferPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IIndexBufferOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferGetLast :: IO ()
-%call 
-%code int result = IIndexBufferGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferSetValue :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IIndexBufferSetValue(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IIndexBufferSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IIndexBufferReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferAllocated_size :: IO ()
-%call 
-%code int result = IIndexBufferAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferPointer :: IO ()
-%call 
-%code int result = IIndexBufferPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferGetHardwareMappingHint :: IO ()
-%call 
-%code int result = IIndexBufferGetHardwareMappingHint();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferSetHardwareMappingHint :: Int -> IO ()
-%call (int NewMappingHint) 
-%code int result = IIndexBufferSetHardwareMappingHint(NewMappingHint);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferSetDirty :: IO ()
-%call 
-%code int result = IIndexBufferSetDirty();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexBufferGetChangedID :: IO ()
-%call 
-%code int result = IIndexBufferGetChangedID();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferGetData :: IO ()
-%call 
-%code int result = IVertexBufferGetData();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferGetType :: IO ()
-%call 
-%code int result = IVertexBufferGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferSetType :: Int -> IO ()
-%call (int vertexType) 
-%code int result = IVertexBufferSetType(vertexType);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferStride :: IO ()
-%call 
-%code int result = IVertexBufferStride();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferSize :: IO ()
-%call 
-%code int result = IVertexBufferSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IVertexBufferPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IVertexBufferOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferGetLast :: IO ()
-%call 
-%code int result = IVertexBufferGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IVertexBufferSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IVertexBufferReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferAllocated_size :: IO ()
-%call 
-%code int result = IVertexBufferAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferPointer :: IO ()
-%call 
-%code int result = IVertexBufferPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferGetHardwareMappingHint :: IO ()
-%call 
-%code int result = IVertexBufferGetHardwareMappingHint();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferSetHardwareMappingHint :: Int -> IO ()
-%call (int NewMappingHint) 
-%code int result = IVertexBufferSetHardwareMappingHint(NewMappingHint);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferSetDirty :: IO ()
-%call 
-%code int result = IVertexBufferSetDirty();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexBufferGetChangedID :: IO ()
-%call 
-%code int result = IVertexBufferGetChangedID();
-%fail {result < 0} {getError();}
-
-
-%fun IWriteFileWrite :: Int -> Int -> IO ()
-%call (int buffer) (int sizeToWrite) 
-%code int result = IWriteFileWrite(buffer, sizeToWrite);
-%fail {result < 0} {getError();}
-
-
-%fun IWriteFileSeek :: Int -> Int -> IO ()
-%call (int finalPos) (int relativeMovement) 
-%code int result = IWriteFileSeek(finalPos, relativeMovement);
-%fail {result < 0} {getError();}
-
-
-%fun IWriteFileGetPos :: IO ()
-%call 
-%code int result = IWriteFileGetPos();
-%fail {result < 0} {getError();}
-
-
-%fun IWriteFileGetFileName :: IO ()
-%call 
-%code int result = IWriteFileGetFileName();
-%fail {result < 0} {getError();}
-
-
-%fun IWriteFileCreateWriteFile :: Int -> Int -> IO ()
-%call (int fileName) (int append) 
-%code int result = IWriteFileCreateWriteFile(fileName, append);
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileRead :: Int -> Int -> IO ()
-%call (int buffer) (int sizeToRead) 
-%code int result = IReadFileRead(buffer, sizeToRead);
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileSeek :: Int -> Int -> IO ()
-%call (int finalPos) (int relativeMovement) 
-%code int result = IReadFileSeek(finalPos, relativeMovement);
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileGetSize :: IO ()
-%call 
-%code int result = IReadFileGetSize();
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileGetPos :: IO ()
-%call 
-%code int result = IReadFileGetPos();
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileGetFileName :: IO ()
-%call 
-%code int result = IReadFileGetFileName();
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileCreateReadFile :: Int -> IO ()
-%call (int fileName) 
-%code int result = IReadFileCreateReadFile(fileName);
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileCreateLimitReadFile :: Int -> IReadFilePtr -> Int -> Int -> IO ()
-%call (int fileName) (iReadFilePtr alreadyOpenedFile) (int pos) (int areaSize) 
-%code int result = IReadFileCreateLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
-%fail {result < 0} {getError();}
-
-
-%fun IReadFileCreateMemoryReadFile :: Int -> Int -> Int -> Int -> IO ()
-%call (int memory) (int size) (int fileName) (int deleteMemoryWhenDropped) 
-%code int result = IReadFileCreateMemoryReadFile(memory, size, fileName, deleteMemoryWhenDropped);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardSceneNodeIBillboardSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int parent) (int arg7) (int arg8) 
-%code int result = IBillboardSceneNodeIBillboardSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardSceneNodeSetSize :: Int -> IO ()
-%call (int size) 
-%code int result = IBillboardSceneNodeSetSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardSceneNodeGetSize :: IO ()
-%call 
-%code int result = IBillboardSceneNodeGetSize();
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardSceneNodeSetColor :: Int -> IO ()
-%call (int overallColor) 
-%code int result = IBillboardSceneNodeSetColor(overallColor);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardSceneNodeSetColor :: Int -> Int -> IO ()
-%call (int topColor) (int bottomColor) 
-%code int result = IBillboardSceneNodeSetColor(topColor, bottomColor);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardSceneNodeGetColor :: Int -> Int -> IO ()
-%call (int topColor) (int bottomColor) 
-%code int result = IBillboardSceneNodeGetColor(topColor, bottomColor);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributeExchangingObjectSerializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr out) (sAttributeReadWriteOptionsPtr options) 
-%code int result = IAttributeExchangingObjectSerializeAttributes(out, options);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributeExchangingObjectDeserializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr in) (sAttributeReadWriteOptionsPtr options) 
-%code int result = IAttributeExchangingObjectDeserializeAttributes(in, options);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterEmitt :: Int -> Int -> Int -> IO ()
-%call (int now) (int timeSinceLastCall) (int outArray) 
-%code int result = IParticleEmitterEmitt(now, timeSinceLastCall, outArray);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetDirection :: Int -> IO ()
-%call (int newDirection) 
-%code int result = IParticleEmitterSetDirection(newDirection);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetMinParticlesPerSecond :: Int -> IO ()
-%call (int minPPS) 
-%code int result = IParticleEmitterSetMinParticlesPerSecond(minPPS);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetMaxParticlesPerSecond :: Int -> IO ()
-%call (int maxPPS) 
-%code int result = IParticleEmitterSetMaxParticlesPerSecond(maxPPS);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetMinStartColor :: Int -> IO ()
-%call (int color) 
-%code int result = IParticleEmitterSetMinStartColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetMaxStartColor :: Int -> IO ()
-%call (int color) 
-%code int result = IParticleEmitterSetMaxStartColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetMaxStartSize :: Int -> IO ()
-%call (int size) 
-%code int result = IParticleEmitterSetMaxStartSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterSetMinStartSize :: Int -> IO ()
-%call (int size) 
-%code int result = IParticleEmitterSetMinStartSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetDirection :: IO ()
-%call 
-%code int result = IParticleEmitterGetDirection();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetMinParticlesPerSecond :: IO ()
-%call 
-%code int result = IParticleEmitterGetMinParticlesPerSecond();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetMaxParticlesPerSecond :: IO ()
-%call 
-%code int result = IParticleEmitterGetMaxParticlesPerSecond();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetMinStartColor :: IO ()
-%call 
-%code int result = IParticleEmitterGetMinStartColor();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetMaxStartColor :: IO ()
-%call 
-%code int result = IParticleEmitterGetMaxStartColor();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetMaxStartSize :: IO ()
-%call 
-%code int result = IParticleEmitterGetMaxStartSize();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetMinStartSize :: IO ()
-%call 
-%code int result = IParticleEmitterGetMinStartSize();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleEmitterGetType :: IO ()
-%call 
-%code int result = IParticleEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListIIndexList :: IO ()
-%call 
-%code int result = IIndexListIIndexList();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListStride :: IO ()
-%call 
-%code int result = IIndexListStride();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSize :: IO ()
-%call 
-%code int result = IIndexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IIndexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IIndexListOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetLast :: IO ()
-%call 
-%code int result = IIndexListGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetValue :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IIndexListSetValue(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IIndexListSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IIndexListReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListAllocated_size :: IO ()
-%call 
-%code int result = IIndexListAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPointer :: IO ()
-%call 
-%code int result = IIndexListPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetType :: IO ()
-%call 
-%code int result = IIndexListGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListStride :: IO ()
-%call 
-%code int result = IIndexListStride();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSize :: IO ()
-%call 
-%code int result = IIndexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IIndexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IIndexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IIndexListOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetLast :: IO ()
-%call 
-%code int result = IIndexListGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetValue :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IIndexListSetValue(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexList= :: IO ()
-%call 
-%code int result = IIndexList=();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IIndexListSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSet_used :: IO ()
-%call 
-%code int result = IIndexListSet_used();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IIndexListReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: IO ()
-%call 
-%code int result = IIndexListReallocate();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListAllocated_size :: IO ()
-%call 
-%code int result = IIndexListAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPointer :: IO ()
-%call 
-%code int result = IIndexListPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetType :: IO ()
-%call 
-%code int result = IIndexListGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListCIndexBuffer :: Int -> Int -> Int -> IO ()
-%call (int )) (int )) (int 1) 
-%code int result = IIndexListCIndexBuffer(), ), 1);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetType :: IO ()
-%call 
-%code int result = IIndexListSetType();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListCIndexBuffer :: Int -> Int -> Int -> IO ()
-%call (int )) (int )) (int 1) 
-%code int result = IIndexListCIndexBuffer(), ), 1);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetType :: Int -> IO ()
-%call (int )) 
-%code int result = IIndexListSetType());
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: Int -> IO ()
-%call (int )) 
-%code int result = IIndexListReallocate());
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSize :: IO ()
-%call 
-%code int result = IIndexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: Int -> IO ()
-%call (int n) 
-%code int result = IIndexListPush_back(n);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListCIndexBuffer :: IO ()
-%call 
-%code int result = IIndexListCIndexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetType :: Int -> IO ()
-%call (int IndexType) 
-%code int result = IIndexListSetType(IndexType);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSwitch :: IO ()
-%call 
-%code int result = IIndexListSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: Int -> IO ()
-%call (int )) 
-%code int result = IIndexListReallocate());
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSize :: IO ()
-%call 
-%code int result = IIndexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: Int -> IO ()
-%call (int n) 
-%code int result = IIndexListPush_back(n);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetData :: IO ()
-%call 
-%code int result = IIndexListGetData();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetType :: IO ()
-%call 
-%code int result = IIndexListGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListStride :: IO ()
-%call 
-%code int result = IIndexListStride();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSize :: IO ()
-%call 
-%code int result = IIndexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IIndexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPush_back :: IO ()
-%call 
-%code int result = IIndexListPush_back();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IIndexListOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetLast :: IO ()
-%call 
-%code int result = IIndexListGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetValue :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IIndexListSetValue(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetValue :: Int -> IO ()
-%call (int arg1) 
-%code int result = IIndexListSetValue(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IIndexListSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSet_used :: IO ()
-%call 
-%code int result = IIndexListSet_used();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IIndexListReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListReallocate :: IO ()
-%call 
-%code int result = IIndexListReallocate();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListAllocated_size :: IO ()
-%call 
-%code int result = IIndexListAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListPointer :: IO ()
-%call 
-%code int result = IIndexListPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetHardwareMappingHint :: IO ()
-%call 
-%code int result = IIndexListGetHardwareMappingHint();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetHardwareMappingHint :: Int -> IO ()
-%call (int NewMappingHint) 
-%code int result = IIndexListSetHardwareMappingHint(NewMappingHint);
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListSetDirty :: IO ()
-%call 
-%code int result = IIndexListSetDirty();
-%fail {result < 0} {getError();}
-
-
-%fun IIndexListGetChangedID :: IO ()
-%call 
-%code int result = IIndexListGetChangedID();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleGravityAffectorSetTimeForceLost :: Int -> IO ()
-%call (int timeForceLost) 
-%code int result = IParticleGravityAffectorSetTimeForceLost(timeForceLost);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleGravityAffectorSetGravity :: Int -> IO ()
-%call (int gravity) 
-%code int result = IParticleGravityAffectorSetGravity(gravity);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleGravityAffectorGetTimeForceLost :: IO ()
-%call 
-%code int result = IParticleGravityAffectorGetTimeForceLost();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleGravityAffectorGetGravity :: IO ()
-%call 
-%code int result = IParticleGravityAffectorGetGravity();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleGravityAffectorGetType :: IO ()
-%call 
-%code int result = IParticleGravityAffectorGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRotationAffectorSetPivotPoint :: Int -> IO ()
-%call (int point) 
-%code int result = IParticleRotationAffectorSetPivotPoint(point);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRotationAffectorSetSpeed :: Int -> IO ()
-%call (int speed) 
-%code int result = IParticleRotationAffectorSetSpeed(speed);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRotationAffectorGetPivotPoint :: IO ()
-%call 
-%code int result = IParticleRotationAffectorGetPivotPoint();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRotationAffectorGetSpeed :: IO ()
-%call 
-%code int result = IParticleRotationAffectorGetSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleRotationAffectorGetType :: IO ()
-%call 
-%code int result = IParticleRotationAffectorGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IGUICheckBoxIGUICheckBox :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_CHECK_BOX) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUICheckBoxIGUICheckBox(environment, parent, id, EGUIET_CHECK_BOX, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUICheckBoxSetChecked :: Int -> IO ()
-%call (int checked) 
-%code int result = IGUICheckBoxSetChecked(checked);
-%fail {result < 0} {getError();}
-
-
-%fun IGUICheckBoxIsChecked :: IO ()
-%call 
-%code int result = IGUICheckBoxIsChecked();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshGetMeshBufferCount :: IO ()
-%call 
-%code int result = IMeshGetMeshBufferCount();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshGetMeshBuffer :: Int -> IO ()
-%call (int nr) 
-%code int result = IMeshGetMeshBuffer(nr);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshGetMeshBuffer :: Int -> IO ()
-%call (int material) 
-%code int result = IMeshGetMeshBuffer(material);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshGetBoundingBox :: IO ()
-%call 
-%code int result = IMeshGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSetBoundingBox :: Int -> IO ()
-%call (int box) 
-%code int result = IMeshSetBoundingBox(box);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSetMaterialFlag :: Int -> Int -> IO ()
-%call (int flag) (int newvalue) 
-%code int result = IMeshSetMaterialFlag(flag, newvalue);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSetHardwareMappingHint :: Int -> Int -> IO ()
-%call (int newMappingHint) (int buffer) 
-%code int result = IMeshSetHardwareMappingHint(newMappingHint, buffer);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshSetDirty :: Int -> IO ()
-%call (int buffer) 
-%code int result = IMeshSetDirty(buffer);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeIBillboardTextSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int parent) (int arg7) (int arg8) 
-%code int result = IBillboardTextSceneNodeIBillboardTextSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeSetSize :: Int -> IO ()
-%call (int size) 
-%code int result = IBillboardTextSceneNodeSetSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeGetSize :: IO ()
-%call 
-%code int result = IBillboardTextSceneNodeGetSize();
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeSetColor :: Int -> IO ()
-%call (int overallColor) 
-%code int result = IBillboardTextSceneNodeSetColor(overallColor);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeSetColor :: Int -> Int -> IO ()
-%call (int topColor) (int bottomColor) 
-%code int result = IBillboardTextSceneNodeSetColor(topColor, bottomColor);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeGetColor :: Int -> Int -> IO ()
-%call (int topColor) (int bottomColor) 
-%code int result = IBillboardTextSceneNodeGetColor(topColor, bottomColor);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeSetText :: String -> IO ()
-%call (string text) 
-%code int result = IBillboardTextSceneNodeSetText(text);
-%fail {result < 0} {getError();}
-
-
-%fun IBillboardTextSceneNodeSetTextColor :: Int -> IO ()
-%call (int color) 
-%code int result = IBillboardTextSceneNodeSetTextColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleFadeOutAffectorSetTargetColor :: Int -> IO ()
-%call (int targetColor) 
-%code int result = IParticleFadeOutAffectorSetTargetColor(targetColor);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleFadeOutAffectorSetFadeOutTime :: Int -> IO ()
-%call (int fadeOutTime) 
-%code int result = IParticleFadeOutAffectorSetFadeOutTime(fadeOutTime);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleFadeOutAffectorGetTargetColor :: IO ()
-%call 
-%code int result = IParticleFadeOutAffectorGetTargetColor();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleFadeOutAffectorGetFadeOutTime :: IO ()
-%call 
-%code int result = IParticleFadeOutAffectorGetFadeOutTime();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleFadeOutAffectorGetType :: IO ()
-%call 
-%code int result = IParticleFadeOutAffectorGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IShadowVolumeSceneNodeIShadowVolumeSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int parent) (int arg4) 
-%code int result = IShadowVolumeSceneNodeIShadowVolumeSceneNode(parent, mgr, parent, arg4);
-%fail {result < 0} {getError();}
-
-
-%fun IShadowVolumeSceneNodeSetShadowMesh :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IShadowVolumeSceneNodeSetShadowMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IShadowVolumeSceneNodeUpdateShadowVolumes :: IO ()
-%call 
-%code int result = IShadowVolumeSceneNodeUpdateShadowVolumes();
-%fail {result < 0} {getError();}
-
-
-%fun IFileListGetFileCount :: IO ()
-%call 
-%code int result = IFileListGetFileCount();
-%fail {result < 0} {getError();}
-
-
-%fun IFileListGetFileName :: Int -> IO ()
-%call (int index) 
-%code int result = IFileListGetFileName(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileListGetFullFileName :: Int -> IO ()
-%call (int index) 
-%code int result = IFileListGetFullFileName(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileListGetFileSize :: Int -> IO ()
-%call (int index) 
-%code int result = IFileListGetFileSize(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileListIsDirectory :: Int -> IO ()
-%call (int index) 
-%code int result = IFileListIsDirectory(index);
-%fail {result < 0} {getError();}
-
-
-%fun IFileListFindFile :: Int -> Int -> IO ()
-%call (int filename) (int isFolder) 
-%code int result = IFileListFindFile(filename, isFolder);
-%fail {result < 0} {getError();}
-
-
-%fun IFileListGetPath :: IO ()
-%call 
-%code int result = IFileListGetPath();
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateCubeMesh :: Int -> Int -> Int -> IO ()
-%call (int size) (int f) (int )) 
-%code int result = IGeometryCreatorCreateCubeMesh(size, f, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateHillPlaneMesh :: Int -> Int -> SMaterialPtr -> Int -> Int -> Int -> IO ()
-%call (int tileSize) (int tileCount) (sMaterialPtr material) (int hillHeight) (int countHills) (int textureRepeatCount) 
-%code int result = IGeometryCreatorCreateHillPlaneMesh(tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateTerrainMesh :: IImagePtr -> IImagePtr -> Int -> Int -> IVideoDriverPtr -> Int -> Int -> IO ()
-%call (iImagePtr texture) (iImagePtr heightmap) (int stretchSize) (int maxHeight) (iVideoDriverPtr driver) (int defaultVertexBlockSize) (int debugBorders) 
-%code int result = IGeometryCreatorCreateTerrainMesh(texture, heightmap, stretchSize, maxHeight, driver, defaultVertexBlockSize, debugBorders);
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateArrowMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int tesselationCylinder) (int tesselationCone) (int height) (int cylinderHeight) (int widthCylinder) (int widthCone) (int colorCylinder) (int colorCone) 
-%code int result = IGeometryCreatorCreateArrowMesh(tesselationCylinder, tesselationCone, height, cylinderHeight, widthCylinder, widthCone, colorCylinder, colorCone);
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateSphereMesh :: Int -> Int -> Int -> IO ()
-%call (int radius) (int polyCountX) (int polyCountY) 
-%code int result = IGeometryCreatorCreateSphereMesh(radius, polyCountX, polyCountY);
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateCylinderMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int radius) (int length) (int tesselation) (int color) (int closeTop) (int oblique) 
-%code int result = IGeometryCreatorCreateCylinderMesh(radius, length, tesselation, color, closeTop, oblique);
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateConeMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int radius) (int length) (int tesselation) (int colorTop) (int colorBottom) (int oblique) 
-%code int result = IGeometryCreatorCreateConeMesh(radius, length, tesselation, colorTop, colorBottom, oblique);
-%fail {result < 0} {getError();}
-
-
-%fun IGeometryCreatorCreateVolumeLightMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int subdivideU) (int subdivideV) (int footColor) (int tailColor) (int lpDistance) (int lightDim) (int 2f) (int )) 
-%code int result = IGeometryCreatorCreateVolumeLightMesh(subdivideU, subdivideV, footColor, tailColor, lpDistance, lightDim, 2f, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGPUProgrammingServicesIGPUProgrammingServices :: IO ()
-%call 
-%code int result = IGPUProgrammingServicesIGPUProgrammingServices();
-%fail {result < 0} {getError();}
-
-
-data IShaderConstantSetCallBackPtr = IShaderConstantSetCallBackPtr Int
-%fun IGPUProgrammingServicesAddHighLevelShaderMaterial :: C8Ptr -> C8Ptr -> Int -> C8Ptr -> C8Ptr -> Int -> IShaderConstantSetCallBackPtr -> Int -> Int -> IO ()
-%call (c8Ptr vertexShaderProgram) (c8Ptr vertexShaderEntryPointName) (int vsCompileTarget) (c8Ptr pixelShaderProgram) (c8Ptr pixelShaderEntryPointName) (int psCompileTarget) (iShaderConstantSetCallBackPtr callback) (int baseMaterial) (int userData) 
-%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles :: Int -> C8Ptr -> Int -> Int -> C8Ptr -> Int -> IShaderConstantSetCallBackPtr -> Int -> Int -> IO ()
-%call (int vertexShaderProgramFileName) (c8Ptr vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgramFileName) (c8Ptr pixelShaderEntryPointName) (int psCompileTarget) (iShaderConstantSetCallBackPtr callback) (int baseMaterial) (int userData) 
-%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles :: IReadFilePtr -> C8Ptr -> Int -> IReadFilePtr -> C8Ptr -> Int -> IShaderConstantSetCallBackPtr -> Int -> Int -> IO ()
-%call (iReadFilePtr vertexShaderProgram) (c8Ptr vertexShaderEntryPointName) (int vsCompileTarget) (iReadFilePtr pixelShaderProgram) (c8Ptr pixelShaderEntryPointName) (int psCompileTarget) (iShaderConstantSetCallBackPtr callback) (int baseMaterial) (int userData) 
-%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IGPUProgrammingServicesAddShaderMaterial :: C8Ptr -> C8Ptr -> IShaderConstantSetCallBackPtr -> Int -> Int -> IO ()
-%call (c8Ptr vertexShaderProgram) (c8Ptr pixelShaderProgram) (iShaderConstantSetCallBackPtr callback) (int baseMaterial) (int userData) 
-%code int result = IGPUProgrammingServicesAddShaderMaterial(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IGPUProgrammingServicesAddShaderMaterialFromFiles :: IReadFilePtr -> IReadFilePtr -> IShaderConstantSetCallBackPtr -> Int -> Int -> IO ()
-%call (iReadFilePtr vertexShaderProgram) (iReadFilePtr pixelShaderProgram) (iShaderConstantSetCallBackPtr callback) (int baseMaterial) (int userData) 
-%code int result = IGPUProgrammingServicesAddShaderMaterialFromFiles(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IGPUProgrammingServicesAddShaderMaterialFromFiles :: Int -> Int -> IShaderConstantSetCallBackPtr -> Int -> Int -> IO ()
-%call (int vertexShaderProgramFileName) (int pixelShaderProgramFileName) (iShaderConstantSetCallBackPtr callback) (int baseMaterial) (int userData) 
-%code int result = IGPUProgrammingServicesAddShaderMaterialFromFiles(vertexShaderProgramFileName, pixelShaderProgramFileName, callback, baseMaterial, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode :: IAnimatedMeshSceneNodePtr -> IO ()
-%call (iAnimatedMeshSceneNodePtr node) 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(node);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection :: Int -> IO ()
-%call (int useNormalDirection) 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(useNormalDirection);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier :: Int -> IO ()
-%call (int normalDirectionModifier) 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(normalDirectionModifier);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex :: Int -> IO ()
-%call (int everyMeshVertex) 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(everyMeshVertex);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode :: IO ()
-%call 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection :: IO ()
-%call 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier :: IO ()
-%call 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex :: IO ()
-%call 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAnimatedMeshSceneNodeEmitterGetType :: IO ()
-%call 
-%code int result = IParticleAnimatedMeshSceneNodeEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureITexture :: Int -> IO ()
-%call (int name) 
-%code int result = ITextureITexture(name);
-%fail {result < 0} {getError();}
-
-
-%fun ITextureMake_lower :: IO ()
-%call 
-%code int result = ITextureMake_lower();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureLock :: Int -> IO ()
-%call (int readOnly) 
-%code int result = ITextureLock(readOnly);
-%fail {result < 0} {getError();}
-
-
-%fun ITextureUnlock :: IO ()
-%call 
-%code int result = ITextureUnlock();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureGetOriginalSize :: IO ()
-%call 
-%code int result = ITextureGetOriginalSize();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureGetSize :: IO ()
-%call 
-%code int result = ITextureGetSize();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureGetDriverType :: IO ()
-%call 
-%code int result = ITextureGetDriverType();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureGetColorFormat :: IO ()
-%call 
-%code int result = ITextureGetColorFormat();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureGetPitch :: IO ()
-%call 
-%code int result = ITextureGetPitch();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureHasMipMaps :: IO ()
-%call 
-%code int result = ITextureHasMipMaps();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureHasAlpha :: IO ()
-%call 
-%code int result = ITextureHasAlpha();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureRegenerateMipMapLevels :: IO ()
-%call 
-%code int result = ITextureRegenerateMipMapLevels();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureIsRenderTarget :: IO ()
-%call 
-%code int result = ITextureIsRenderTarget();
-%fail {result < 0} {getError();}
-
-
-%fun ITextureGetName :: IO ()
-%call 
-%code int result = ITextureGetName();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshGetFrameCount :: IO ()
-%call 
-%code int result = IAnimatedMeshGetFrameCount();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshGetMesh :: Int -> Int -> Int -> Int -> IO ()
-%call (int frame) (int detailLevel) (int startFrameLoop) (int endFrameLoop) 
-%code int result = IAnimatedMeshGetMesh(frame, detailLevel, startFrameLoop, endFrameLoop);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshGetMeshType :: IO ()
-%call 
-%code int result = IAnimatedMeshGetMeshType();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIToolBarIGUIToolBar :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_TOOL_BAR) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIToolBarIGUIToolBar(environment, parent, id, EGUIET_TOOL_BAR, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIToolBarAddButton :: Int -> String -> String -> ITexturePtr -> ITexturePtr -> Int -> Int -> IO ()
-%call (int id) (string text) (string tooltiptext) (iTexturePtr img) (iTexturePtr pressedimg) (int isPushButton) (int useAlphaChannel) 
-%code int result = IGUIToolBarAddButton(id, text, tooltiptext, img, pressedimg, isPushButton, useAlphaChannel);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetCollisionPoint :: Int -> ITriangleSelectorPtr -> Int -> Int -> Int -> IO ()
-%call (int ray) (iTriangleSelectorPtr selector) (int outCollisionPoint) (int outTriangle) (int outNode) 
-%code int result = ISceneCollisionManagerGetCollisionPoint(ray, selector, outCollisionPoint, outTriangle, outNode);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetCollisionResultPosition :: ITriangleSelectorPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iTriangleSelectorPtr selector) (int ellipsoidPosition) (int ellipsoidRadius) (int ellipsoidDirectionAndSpeed) (int triout) (int hitPosition) (int outFalling) (int outNode) (int slidingSpeed) (int gravityDirectionAndSpeed) (int 0f) (int )) 
-%code int result = ISceneCollisionManagerGetCollisionResultPosition(selector, ellipsoidPosition, ellipsoidRadius, ellipsoidDirectionAndSpeed, triout, hitPosition, outFalling, outNode, slidingSpeed, gravityDirectionAndSpeed, 0f, ));
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetRayFromScreenCoordinates :: Int -> ICameraSceneNodePtr -> IO ()
-%call (int pos) (iCameraSceneNodePtr camera) 
-%code int result = ISceneCollisionManagerGetRayFromScreenCoordinates(pos, camera);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition :: Int -> ICameraSceneNodePtr -> IO ()
-%call (int pos) (iCameraSceneNodePtr camera) 
-%code int result = ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(pos, camera);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB :: Int -> Int -> Int -> ISceneNodePtr -> IO ()
-%call (int pos) (int idBitMask) (int bNoDebugObjects) (iSceneNodePtr root) 
-%code int result = ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(pos, idBitMask, bNoDebugObjects, root);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetSceneNodeFromRayBB :: Int -> Int -> Int -> ISceneNodePtr -> IO ()
-%call (int ray) (int idBitMask) (int bNoDebugObjects) (iSceneNodePtr root) 
-%code int result = ISceneCollisionManagerGetSceneNodeFromRayBB(ray, idBitMask, bNoDebugObjects, root);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetSceneNodeFromCameraBB :: ICameraSceneNodePtr -> Int -> Int -> IO ()
-%call (iCameraSceneNodePtr camera) (int idBitMask) (int bNoDebugObjects) 
-%code int result = ISceneCollisionManagerGetSceneNodeFromCameraBB(camera, idBitMask, bNoDebugObjects);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay :: Int -> Int -> Int -> Int -> ISceneNodePtr -> Int -> IO ()
-%call (int ray) (int outCollisionPoint) (int outTriangle) (int idBitMask) (iSceneNodePtr collisionRootNode) (int noDebugObjects) 
-%code int result = ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(ray, outCollisionPoint, outTriangle, idBitMask, collisionRootNode, noDebugObjects);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneUserDataSerializerISceneUserDataSerializer :: IO ()
-%call 
-%code int result = ISceneUserDataSerializerISceneUserDataSerializer();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneUserDataSerializerOnCreateNode :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ISceneUserDataSerializerOnCreateNode(node);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneUserDataSerializerOnReadUserData :: ISceneNodePtr -> IAttributesPtr -> IO ()
-%call (iSceneNodePtr forSceneNode) (iAttributesPtr userData) 
-%code int result = ISceneUserDataSerializerOnReadUserData(forSceneNode, userData);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneUserDataSerializerCreateUserData :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr forSceneNode) 
-%code int result = ISceneUserDataSerializerCreateUserData(forSceneNode);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageListIGUIImageList :: IO ()
-%call 
-%code int result = IGUIImageListIGUIImageList();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageListDraw :: Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (int index) (int destPos) (rect<s32>Ptr clip) 
-%code int result = IGUIImageListDraw(index, destPos, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageListGetImageCount :: IO ()
-%call 
-%code int result = IGUIImageListGetImageCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageListGetImageSize :: IO ()
-%call 
-%code int result = IGUIImageListGetImageSize();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIMeshViewerIGUIMeshViewer :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_MESH_VIEWER) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIMeshViewerIGUIMeshViewer(environment, parent, id, EGUIET_MESH_VIEWER, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIMeshViewerSetMesh :: IAnimatedMeshPtr -> IO ()
-%call (iAnimatedMeshPtr mesh) 
-%code int result = IGUIMeshViewerSetMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIMeshViewerGetMesh :: IO ()
-%call 
-%code int result = IGUIMeshViewerGetMesh();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIMeshViewerSetMaterial :: Int -> IO ()
-%call (int material) 
-%code int result = IGUIMeshViewerSetMaterial(material);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIMeshViewerGetMaterial :: IO ()
-%call 
-%code int result = IGUIMeshViewerGetMaterial();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarIGUIScrollBar :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_SCROLL_BAR) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIScrollBarIGUIScrollBar(environment, parent, id, EGUIET_SCROLL_BAR, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarSetMax :: Int -> IO ()
-%call (int max) 
-%code int result = IGUIScrollBarSetMax(max);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarGetMax :: IO ()
-%call 
-%code int result = IGUIScrollBarGetMax();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarSetMin :: Int -> IO ()
-%call (int max) 
-%code int result = IGUIScrollBarSetMin(max);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarGetMin :: IO ()
-%call 
-%code int result = IGUIScrollBarGetMin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarGetSmallStep :: IO ()
-%call 
-%code int result = IGUIScrollBarGetSmallStep();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarSetSmallStep :: Int -> IO ()
-%call (int step) 
-%code int result = IGUIScrollBarSetSmallStep(step);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarGetLargeStep :: IO ()
-%call 
-%code int result = IGUIScrollBarGetLargeStep();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarSetLargeStep :: Int -> IO ()
-%call (int step) 
-%code int result = IGUIScrollBarSetLargeStep(step);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarGetPos :: IO ()
-%call 
-%code int result = IGUIScrollBarGetPos();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIScrollBarSetPos :: Int -> IO ()
-%call (int pos) 
-%code int result = IGUIScrollBarSetPos(pos);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxIGUIListBox :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_LIST_BOX) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIListBoxIGUIListBox(environment, parent, id, EGUIET_LIST_BOX, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxGetItemCount :: IO ()
-%call 
-%code int result = IGUIListBoxGetItemCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxGetListItem :: Int -> IO ()
-%call (int id) 
-%code int result = IGUIListBoxGetListItem(id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxAddItem :: String -> IO ()
-%call (string text) 
-%code int result = IGUIListBoxAddItem(text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxAddItem :: String -> Int -> IO ()
-%call (string text) (int icon) 
-%code int result = IGUIListBoxAddItem(text, icon);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxRemoveItem :: Int -> IO ()
-%call (int index) 
-%code int result = IGUIListBoxRemoveItem(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxGetIcon :: Int -> IO ()
-%call (int index) 
-%code int result = IGUIListBoxGetIcon(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetSpriteBank :: IGUISpriteBankPtr -> IO ()
-%call (iGUISpriteBankPtr bank) 
-%code int result = IGUIListBoxSetSpriteBank(bank);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxClear :: IO ()
-%call 
-%code int result = IGUIListBoxClear();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxGetSelected :: IO ()
-%call 
-%code int result = IGUIListBoxGetSelected();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetSelected :: Int -> IO ()
-%call (int index) 
-%code int result = IGUIListBoxSetSelected(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetSelected :: String -> IO ()
-%call (string item) 
-%code int result = IGUIListBoxSetSelected(item);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetAutoScrollEnabled :: Int -> IO ()
-%call (int scroll) 
-%code int result = IGUIListBoxSetAutoScrollEnabled(scroll);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxIsAutoScrollEnabled :: IO ()
-%call 
-%code int result = IGUIListBoxIsAutoScrollEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetItemOverrideColor :: Int -> Int -> IO ()
-%call (int index) (int color) 
-%code int result = IGUIListBoxSetItemOverrideColor(index, color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetItemOverrideColor :: Int -> Int -> Int -> IO ()
-%call (int index) (int colorType) (int color) 
-%code int result = IGUIListBoxSetItemOverrideColor(index, colorType, color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxClearItemOverrideColor :: Int -> IO ()
-%call (int index) 
-%code int result = IGUIListBoxClearItemOverrideColor(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxClearItemOverrideColor :: Int -> Int -> IO ()
-%call (int index) (int colorType) 
-%code int result = IGUIListBoxClearItemOverrideColor(index, colorType);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxHasItemOverrideColor :: Int -> Int -> IO ()
-%call (int index) (int colorType) 
-%code int result = IGUIListBoxHasItemOverrideColor(index, colorType);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxGetItemOverrideColor :: Int -> Int -> IO ()
-%call (int index) (int colorType) 
-%code int result = IGUIListBoxGetItemOverrideColor(index, colorType);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxGetItemDefaultColor :: Int -> IO ()
-%call (int colorType) 
-%code int result = IGUIListBoxGetItemDefaultColor(colorType);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetItem :: Int -> String -> Int -> IO ()
-%call (int index) (string text) (int icon) 
-%code int result = IGUIListBoxSetItem(index, text, icon);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxInsertItem :: Int -> String -> Int -> IO ()
-%call (int index) (string text) (int icon) 
-%code int result = IGUIListBoxInsertItem(index, text, icon);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSwapItems :: Int -> Int -> IO ()
-%call (int index1) (int index2) 
-%code int result = IGUIListBoxSwapItems(index1, index2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetItemHeight :: Int -> IO ()
-%call (int height) 
-%code int result = IGUIListBoxSetItemHeight(height);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIListBoxSetDrawBackground :: Int -> IO ()
-%call (int draw) 
-%code int result = IGUIListBoxSetDrawBackground(draw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowIGUIWindow :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_WINDOW) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIWindowIGUIWindow(environment, parent, id, EGUIET_WINDOW, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowGetCloseButton :: IO ()
-%call 
-%code int result = IGUIWindowGetCloseButton();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowGetMinimizeButton :: IO ()
-%call 
-%code int result = IGUIWindowGetMinimizeButton();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowGetMaximizeButton :: IO ()
-%call 
-%code int result = IGUIWindowGetMaximizeButton();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowIsDraggable :: IO ()
-%call 
-%code int result = IGUIWindowIsDraggable();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowSetDraggable :: Int -> IO ()
-%call (int draggable) 
-%code int result = IGUIWindowSetDraggable(draggable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowSetDrawBackground :: Int -> IO ()
-%call (int draw) 
-%code int result = IGUIWindowSetDrawBackground(draw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowGetDrawBackground :: IO ()
-%call 
-%code int result = IGUIWindowGetDrawBackground();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowSetDrawTitlebar :: Int -> IO ()
-%call (int draw) 
-%code int result = IGUIWindowSetDrawTitlebar(draw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIWindowGetDrawTitlebar :: IO ()
-%call 
-%code int result = IGUIWindowGetDrawTitlebar();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFileOpenDialogIGUIFileOpenDialog :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_FILE_OPEN_DIALOG) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIFileOpenDialogIGUIFileOpenDialog(environment, parent, id, EGUIET_FILE_OPEN_DIALOG, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFileOpenDialogGetFileName :: IO ()
-%call 
-%code int result = IGUIFileOpenDialogGetFileName();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFileOpenDialogGetDirectoryName :: IO ()
-%call 
-%code int result = IGUIFileOpenDialogGetDirectoryName();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleBoxEmitterSetBox :: Int -> IO ()
-%call (int box) 
-%code int result = IParticleBoxEmitterSetBox(box);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleBoxEmitterGetBox :: IO ()
-%call 
-%code int result = IParticleBoxEmitterGetBox();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleBoxEmitterGetType :: IO ()
-%call 
-%code int result = IParticleBoxEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlSetVisible :: Int -> IO ()
-%call (int visible) 
-%code int result = ICursorControlSetVisible(visible);
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlIsVisible :: IO ()
-%call 
-%code int result = ICursorControlIsVisible();
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlSetPosition :: Int -> IO ()
-%call (int pos) 
-%code int result = ICursorControlSetPosition(pos);
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlSetPosition :: Int -> Int -> IO ()
-%call (int x) (int y) 
-%code int result = ICursorControlSetPosition(x, y);
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlSetPosition :: Int -> IO ()
-%call (int pos) 
-%code int result = ICursorControlSetPosition(pos);
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlSetPosition :: Int -> Int -> IO ()
-%call (int x) (int y) 
-%code int result = ICursorControlSetPosition(x, y);
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlGetPosition :: IO ()
-%call 
-%code int result = ICursorControlGetPosition();
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlGetRelativePosition :: IO ()
-%call 
-%code int result = ICursorControlGetRelativePosition();
-%fail {result < 0} {getError();}
-
-
-%fun ICursorControlSetReferenceRect :: Rect<s32>Ptr -> IO ()
-%call (rect<s32>Ptr rect) 
-%code int result = ICursorControlSetReferenceRect(rect);
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeIBoneSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int arg4) (int )) (int )) (int )) (int 1) 
-%code int result = IBoneSceneNodeIBoneSceneNode(parent, mgr, id, arg4, ), ), ), 1);
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeGetBoneName :: IO ()
-%call 
-%code int result = IBoneSceneNodeGetBoneName();
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeGetBoneIndex :: IO ()
-%call 
-%code int result = IBoneSceneNodeGetBoneIndex();
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeSetAnimationMode :: Int -> IO ()
-%call (int mode) 
-%code int result = IBoneSceneNodeSetAnimationMode(mode);
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeGetAnimationMode :: IO ()
-%call 
-%code int result = IBoneSceneNodeGetAnimationMode();
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeGetBoundingBox :: IO ()
-%call 
-%code int result = IBoneSceneNodeGetBoundingBox();
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeOnAnimate :: Int -> IO ()
-%call (int timeMs) 
-%code int result = IBoneSceneNodeOnAnimate(timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeRender :: IO ()
-%call 
-%code int result = IBoneSceneNodeRender();
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeSetSkinningSpace :: Int -> IO ()
-%call (int space) 
-%code int result = IBoneSceneNodeSetSkinningSpace(space);
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeGetSkinningSpace :: IO ()
-%call 
-%code int result = IBoneSceneNodeGetSkinningSpace();
-%fail {result < 0} {getError();}
-
-
-%fun IBoneSceneNodeUpdateAbsolutePositionOfAllChildren :: IO ()
-%call 
-%code int result = IBoneSceneNodeUpdateAbsolutePositionOfAllChildren();
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererServicesIMaterialRendererServices :: IO ()
-%call 
-%code int result = IMaterialRendererServicesIMaterialRendererServices();
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererServicesSetBasicRenderStates :: Int -> Int -> Int -> IO ()
-%call (int material) (int lastMaterial) (int resetAllRenderstates) 
-%code int result = IMaterialRendererServicesSetBasicRenderStates(material, lastMaterial, resetAllRenderstates);
-%fail {result < 0} {getError();}
-
-
-data F32Ptr = F32Ptr Int
-%fun IMaterialRendererServicesSetVertexShaderConstant :: C8Ptr -> F32Ptr -> Int -> IO ()
-%call (c8Ptr name) (f32Ptr floats) (int count) 
-%code int result = IMaterialRendererServicesSetVertexShaderConstant(name, floats, count);
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererServicesSetVertexShaderConstant :: F32Ptr -> Int -> Int -> IO ()
-%call (f32Ptr data) (int startRegister) (int constantAmount) 
-%code int result = IMaterialRendererServicesSetVertexShaderConstant(data, startRegister, constantAmount);
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererServicesSetPixelShaderConstant :: C8Ptr -> F32Ptr -> Int -> IO ()
-%call (c8Ptr name) (f32Ptr floats) (int count) 
-%code int result = IMaterialRendererServicesSetPixelShaderConstant(name, floats, count);
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererServicesSetPixelShaderConstant :: F32Ptr -> Int -> Int -> IO ()
-%call (f32Ptr data) (int startRegister) (int constantAmount) 
-%code int result = IMaterialRendererServicesSetPixelShaderConstant(data, startRegister, constantAmount);
-%fail {result < 0} {getError();}
-
-
-%fun IMaterialRendererServicesGetVideoDriver :: IO ()
-%call 
-%code int result = IMaterialRendererServicesGetVideoDriver();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListIVertexList :: IO ()
-%call 
-%code int result = IVertexListIVertexList();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListStride :: IO ()
-%call 
-%code int result = IVertexListStride();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSize :: IO ()
-%call 
-%code int result = IVertexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IVertexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IVertexListOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetLast :: IO ()
-%call 
-%code int result = IVertexListGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IVertexListSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IVertexListReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListAllocated_size :: IO ()
-%call 
-%code int result = IVertexListAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPointer :: IO ()
-%call 
-%code int result = IVertexListPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetType :: IO ()
-%call 
-%code int result = IVertexListGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListStride :: IO ()
-%call 
-%code int result = IVertexListStride();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSize :: IO ()
-%call 
-%code int result = IVertexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IVertexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IVertexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IVertexListOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetLast :: IO ()
-%call 
-%code int result = IVertexListGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IVertexListSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSet_used :: IO ()
-%call 
-%code int result = IVertexListSet_used();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IVertexListReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: IO ()
-%call 
-%code int result = IVertexListReallocate();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListAllocated_size :: IO ()
-%call 
-%code int result = IVertexListAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPointer :: IO ()
-%call 
-%code int result = IVertexListPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetType :: IO ()
-%call 
-%code int result = IVertexListGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListCVertexBuffer :: Int -> Int -> Int -> IO ()
-%call (int )) (int )) (int 1) 
-%code int result = IVertexListCVertexBuffer(), ), 1);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSetType :: IO ()
-%call 
-%code int result = IVertexListSetType();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListCVertexBuffer :: Int -> Int -> Int -> IO ()
-%call (int )) (int )) (int 1) 
-%code int result = IVertexListCVertexBuffer(), ), 1);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSetType :: Int -> IO ()
-%call (int )) 
-%code int result = IVertexListSetType());
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: Int -> IO ()
-%call (int )) 
-%code int result = IVertexListReallocate());
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSize :: IO ()
-%call 
-%code int result = IVertexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: Int -> IO ()
-%call (int n) 
-%code int result = IVertexListPush_back(n);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListCVertexBuffer :: IO ()
-%call 
-%code int result = IVertexListCVertexBuffer();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSetType :: Int -> IO ()
-%call (int vertexType) 
-%code int result = IVertexListSetType(vertexType);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSwitch :: IO ()
-%call 
-%code int result = IVertexListSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: Int -> IO ()
-%call (int )) 
-%code int result = IVertexListReallocate());
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSize :: IO ()
-%call 
-%code int result = IVertexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: Int -> IO ()
-%call (int n) 
-%code int result = IVertexListPush_back(n);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetData :: IO ()
-%call 
-%code int result = IVertexListGetData();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetType :: IO ()
-%call 
-%code int result = IVertexListGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListStride :: IO ()
-%call 
-%code int result = IVertexListStride();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSize :: IO ()
-%call 
-%code int result = IVertexListSize();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: Int -> IO ()
-%call (int element) 
-%code int result = IVertexListPush_back(element);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPush_back :: IO ()
-%call 
-%code int result = IVertexListPush_back();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListOperator :: Int -> IO ()
-%call (int index) 
-%code int result = IVertexListOperator(index);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetLast :: IO ()
-%call 
-%code int result = IVertexListGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSet_used :: Int -> IO ()
-%call (int usedNow) 
-%code int result = IVertexListSet_used(usedNow);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSet_used :: IO ()
-%call 
-%code int result = IVertexListSet_used();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: Int -> IO ()
-%call (int new_size) 
-%code int result = IVertexListReallocate(new_size);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListReallocate :: IO ()
-%call 
-%code int result = IVertexListReallocate();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListAllocated_size :: IO ()
-%call 
-%code int result = IVertexListAllocated_size();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListPointer :: IO ()
-%call 
-%code int result = IVertexListPointer();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetHardwareMappingHint :: IO ()
-%call 
-%code int result = IVertexListGetHardwareMappingHint();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSetHardwareMappingHint :: Int -> IO ()
-%call (int NewMappingHint) 
-%code int result = IVertexListSetHardwareMappingHint(NewMappingHint);
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListSetDirty :: IO ()
-%call 
-%code int result = IVertexListSetDirty();
-%fail {result < 0} {getError();}
-
-
-%fun IVertexListGetChangedID :: IO ()
-%call 
-%code int result = IVertexListGetChangedID();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSGetMoveSpeed :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCameraFPSGetMoveSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSSetMoveSpeed :: Int -> IO ()
-%call (int moveSpeed) 
-%code int result = ISceneNodeAnimatorCameraFPSSetMoveSpeed(moveSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSGetRotateSpeed :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorCameraFPSGetRotateSpeed();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSSetRotateSpeed :: Int -> IO ()
-%call (int rotateSpeed) 
-%code int result = ISceneNodeAnimatorCameraFPSSetRotateSpeed(rotateSpeed);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSSetKeyMap :: SKeyMapPtr -> Int -> IO ()
-%call (sKeyMapPtr map) (int count) 
-%code int result = ISceneNodeAnimatorCameraFPSSetKeyMap(map, count);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSSetVerticalMovement :: Int -> IO ()
-%call (int allow) 
-%code int result = ISceneNodeAnimatorCameraFPSSetVerticalMovement(allow);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCameraFPSSetInvertMouse :: Int -> IO ()
-%call (int invert) 
-%code int result = ISceneNodeAnimatorCameraFPSSetInvertMouse(invert);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabIGUITab :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_TAB) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUITabIGUITab(environment, parent, id, EGUIET_TAB, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabGetNumber :: IO ()
-%call 
-%code int result = IGUITabGetNumber();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabSetDrawBackground :: Int -> IO ()
-%call (int draw) 
-%code int result = IGUITabSetDrawBackground(draw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabSetBackgroundColor :: Int -> IO ()
-%call (int c) 
-%code int result = IGUITabSetBackgroundColor(c);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabIsDrawingBackground :: IO ()
-%call 
-%code int result = IGUITabIsDrawingBackground();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabGetBackgroundColor :: IO ()
-%call 
-%code int result = IGUITabGetBackgroundColor();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabSetTextColor :: Int -> IO ()
-%call (int c) 
-%code int result = IGUITabSetTextColor(c);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabGetTextColor :: IO ()
-%call 
-%code int result = IGUITabGetTextColor();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlIGUITabControl :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_TAB_CONTROL) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUITabControlIGUITabControl(environment, parent, id, EGUIET_TAB_CONTROL, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlAddTab :: String -> Int -> IO ()
-%call (string caption) (int id) 
-%code int result = IGUITabControlAddTab(caption, id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetTabCount :: IO ()
-%call 
-%code int result = IGUITabControlGetTabCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetTab :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUITabControlGetTab(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlSetActiveTab :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUITabControlSetActiveTab(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlSetActiveTab :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr tab) 
-%code int result = IGUITabControlSetActiveTab(tab);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetActiveTab :: IO ()
-%call 
-%code int result = IGUITabControlGetActiveTab();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlSetTabHeight :: Int -> IO ()
-%call (int height) 
-%code int result = IGUITabControlSetTabHeight(height);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetTabHeight :: IO ()
-%call 
-%code int result = IGUITabControlGetTabHeight();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlSetTabMaxWidth :: Int -> IO ()
-%call (int width) 
-%code int result = IGUITabControlSetTabMaxWidth(width);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetTabMaxWidth :: IO ()
-%call 
-%code int result = IGUITabControlGetTabMaxWidth();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlSetTabVerticalAlignment :: Int -> IO ()
-%call (int alignment) 
-%code int result = IGUITabControlSetTabVerticalAlignment(alignment);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetTabVerticalAlignment :: IO ()
-%call 
-%code int result = IGUITabControlGetTabVerticalAlignment();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlSetTabExtraWidth :: Int -> IO ()
-%call (int extraWidth) 
-%code int result = IGUITabControlSetTabExtraWidth(extraWidth);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITabControlGetTabExtraWidth :: IO ()
-%call 
-%code int result = IGUITabControlGetTabExtraWidth();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterSetCenter :: Int -> IO ()
-%call (int center) 
-%code int result = IParticleCylinderEmitterSetCenter(center);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterSetNormal :: Int -> IO ()
-%call (int normal) 
-%code int result = IParticleCylinderEmitterSetNormal(normal);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterSetRadius :: Int -> IO ()
-%call (int radius) 
-%code int result = IParticleCylinderEmitterSetRadius(radius);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterSetLength :: Int -> IO ()
-%call (int length) 
-%code int result = IParticleCylinderEmitterSetLength(length);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterSetOutlineOnly :: Int -> IO ()
-%call (int outlineOnly) 
-%code int result = IParticleCylinderEmitterSetOutlineOnly(outlineOnly);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterGetCenter :: IO ()
-%call 
-%code int result = IParticleCylinderEmitterGetCenter();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterGetNormal :: IO ()
-%call 
-%code int result = IParticleCylinderEmitterGetNormal();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterGetRadius :: IO ()
-%call 
-%code int result = IParticleCylinderEmitterGetRadius();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterGetLength :: IO ()
-%call 
-%code int result = IParticleCylinderEmitterGetLength();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterGetOutlineOnly :: IO ()
-%call 
-%code int result = IParticleCylinderEmitterGetOutlineOnly();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleCylinderEmitterGetType :: IO ()
-%call 
-%code int result = IParticleCylinderEmitterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankGetPositions :: IO ()
-%call 
-%code int result = IGUISpriteBankGetPositions();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankGetSprites :: IO ()
-%call 
-%code int result = IGUISpriteBankGetSprites();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankGetTextureCount :: IO ()
-%call 
-%code int result = IGUISpriteBankGetTextureCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankGetTexture :: Int -> IO ()
-%call (int index) 
-%code int result = IGUISpriteBankGetTexture(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankAddTexture :: ITexturePtr -> IO ()
-%call (iTexturePtr texture) 
-%code int result = IGUISpriteBankAddTexture(texture);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankSetTexture :: Int -> ITexturePtr -> IO ()
-%call (int index) (iTexturePtr texture) 
-%code int result = IGUISpriteBankSetTexture(index, texture);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankDraw2DSprite :: Int -> Int -> Rect<s32>Ptr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int index) (int pos) (rect<s32>Ptr clip) (int color) (int arg5) (int arg6) (int )) (int starttime) (int currenttime) (int loop) (int center) 
-%code int result = IGUISpriteBankDraw2DSprite(index, pos, clip, color, arg5, arg6, ), starttime, currenttime, loop, center);
-%fail {result < 0} {getError();}
-
-
-%fun IGUISpriteBankDraw2DSpriteBatch :: Int -> Int -> Rect<s32>Ptr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int indices) (int pos) (rect<s32>Ptr clip) (int color) (int arg5) (int arg6) (int )) (int starttime) (int currenttime) (int loop) (int center) 
-%code int result = IGUISpriteBankDraw2DSpriteBatch(indices, pos, clip, color, arg5, arg6, ), starttime, currenttime, loop, center);
-%fail {result < 0} {getError();}
-
-
-%fun IMetaTriangleSelectorAddTriangleSelector :: ITriangleSelectorPtr -> IO ()
-%call (iTriangleSelectorPtr toAdd) 
-%code int result = IMetaTriangleSelectorAddTriangleSelector(toAdd);
-%fail {result < 0} {getError();}
-
-
-%fun IMetaTriangleSelectorRemoveTriangleSelector :: ITriangleSelectorPtr -> IO ()
-%call (iTriangleSelectorPtr toRemove) 
-%code int result = IMetaTriangleSelectorRemoveTriangleSelector(toRemove);
-%fail {result < 0} {getError();}
-
-
-%fun IMetaTriangleSelectorRemoveAllTriangleSelectors :: IO ()
-%call 
-%code int result = IMetaTriangleSelectorRemoveAllTriangleSelectors();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageIGUIImage :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_IMAGE) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIImageIGUIImage(environment, parent, id, EGUIET_IMAGE, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageSetImage :: ITexturePtr -> IO ()
-%call (iTexturePtr image) 
-%code int result = IGUIImageSetImage(image);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageSetColor :: Int -> IO ()
-%call (int color) 
-%code int result = IGUIImageSetColor(color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageSetScaleImage :: Int -> IO ()
-%call (int scale) 
-%code int result = IGUIImageSetScaleImage(scale);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageSetUseAlphaChannel :: Int -> IO ()
-%call (int use) 
-%code int result = IGUIImageSetUseAlphaChannel(use);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageIsImageScaled :: IO ()
-%call 
-%code int result = IGUIImageIsImageScaled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIImageIsAlphaChannelUsed :: IO ()
-%call 
-%code int result = IGUIImageIsAlphaChannelUsed();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeIAnimatedMeshSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int )) (int rotation) (int arg8) (int )) (int scale) (int 0f) (int parent) (int arg13) (int arg14) (int arg15) (int arg16) 
-%code int result = IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(parent, mgr, id, position, arg5, ), rotation, arg8, ), scale, 0f, parent, arg13, arg14, arg15, arg16);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeIAnimatedMeshSceneNode :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeIAnimatedMeshSceneNode();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetCurrentFrame :: Int -> IO ()
-%call (int frame) 
-%code int result = IAnimatedMeshSceneNodeSetCurrentFrame(frame);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetFrameLoop :: Int -> Int -> IO ()
-%call (int begin) (int end) 
-%code int result = IAnimatedMeshSceneNodeSetFrameLoop(begin, end);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetAnimationSpeed :: Int -> IO ()
-%call (int framesPerSecond) 
-%code int result = IAnimatedMeshSceneNodeSetAnimationSpeed(framesPerSecond);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeAddShadowVolumeSceneNode :: IMeshPtr -> Int -> Int -> Int -> IO ()
-%call (iMeshPtr shadowMesh) (int id) (int zfailmethod) (int infinity) 
-%code int result = IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(shadowMesh, id, zfailmethod, infinity);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetJointNode :: C8Ptr -> IO ()
-%call (c8Ptr jointName) 
-%code int result = IAnimatedMeshSceneNodeGetJointNode(jointName);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetJointNode :: Int -> IO ()
-%call (int jointID) 
-%code int result = IAnimatedMeshSceneNodeGetJointNode(jointID);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetJointCount :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeGetJointCount();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetMS3DJointNode :: C8Ptr -> IO ()
-%call (c8Ptr jointName) 
-%code int result = IAnimatedMeshSceneNodeGetMS3DJointNode(jointName);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetXJointNode :: C8Ptr -> IO ()
-%call (c8Ptr jointName) 
-%code int result = IAnimatedMeshSceneNodeGetXJointNode(jointName);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetMD2Animation :: Int -> IO ()
-%call (int anim) 
-%code int result = IAnimatedMeshSceneNodeSetMD2Animation(anim);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetMD2Animation :: C8Ptr -> IO ()
-%call (c8Ptr animationName) 
-%code int result = IAnimatedMeshSceneNodeSetMD2Animation(animationName);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetFrameNr :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeGetFrameNr();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetStartFrame :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeGetStartFrame();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetEndFrame :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeGetEndFrame();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetLoopMode :: Int -> IO ()
-%call (int playAnimationLooped) 
-%code int result = IAnimatedMeshSceneNodeSetLoopMode(playAnimationLooped);
-%fail {result < 0} {getError();}
-
-
-data IAnimationEndCallBackPtr = IAnimationEndCallBackPtr Int
-%fun IAnimatedMeshSceneNodeSetAnimationEndCallback :: IAnimationEndCallBackPtr -> IO ()
-%call (iAnimationEndCallBackPtr callback) 
-%code int result = IAnimatedMeshSceneNodeSetAnimationEndCallback(callback);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetReadOnlyMaterials :: Int -> IO ()
-%call (int readonly) 
-%code int result = IAnimatedMeshSceneNodeSetReadOnlyMaterials(readonly);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeIsReadOnlyMaterials :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeIsReadOnlyMaterials();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetMesh :: IAnimatedMeshPtr -> IO ()
-%call (iAnimatedMeshPtr mesh) 
-%code int result = IAnimatedMeshSceneNodeSetMesh(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetMesh :: IO ()
-%call 
-%code int result = IAnimatedMeshSceneNodeGetMesh();
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeGetMD3TagTransformation :: Int -> IO ()
-%call (int tagname) 
-%code int result = IAnimatedMeshSceneNodeGetMD3TagTransformation(tagname);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetJointMode :: Int -> IO ()
-%call (int mode) 
-%code int result = IAnimatedMeshSceneNodeSetJointMode(mode);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetTransitionTime :: Int -> IO ()
-%call (int Time) 
-%code int result = IAnimatedMeshSceneNodeSetTransitionTime(Time);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeAnimateJoints :: Int -> IO ()
-%call (int CalculateAbsolutePositions) 
-%code int result = IAnimatedMeshSceneNodeAnimateJoints(CalculateAbsolutePositions);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeSetRenderFromIdentity :: Int -> IO ()
-%call (int On) 
-%code int result = IAnimatedMeshSceneNodeSetRenderFromIdentity(On);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimatedMeshSceneNodeClone :: ISceneNodePtr -> ISceneManagerPtr -> IO ()
-%call (iSceneNodePtr newParent) (iSceneManagerPtr newManager) 
-%code int result = IAnimatedMeshSceneNodeClone(newParent, newManager);
-%fail {result < 0} {getError();}
-
-
-%fun IAnimationEndCallBackOnAnimationEnd :: IAnimatedMeshSceneNodePtr -> IO ()
-%call (iAnimatedMeshSceneNodePtr node) 
-%code int result = IAnimationEndCallBackOnAnimationEnd(node);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIColorSelectDialogIGUIColorSelectDialog :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_COLOR_SELECT_DIALOG) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIColorSelectDialogIGUIColorSelectDialog(environment, parent, id, EGUIET_COLOR_SELECT_DIALOG, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableIGUITable :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_TABLE) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUITableIGUITable(environment, parent, id, EGUIET_TABLE, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableAddColumn :: String -> Int -> IO ()
-%call (string caption) (int columnIndex) 
-%code int result = IGUITableAddColumn(caption, columnIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableRemoveColumn :: Int -> IO ()
-%call (int columnIndex) 
-%code int result = IGUITableRemoveColumn(columnIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetColumnCount :: IO ()
-%call 
-%code int result = IGUITableGetColumnCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetActiveColumn :: Int -> Int -> IO ()
-%call (int idx) (int doOrder) 
-%code int result = IGUITableSetActiveColumn(idx, doOrder);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetActiveColumn :: IO ()
-%call 
-%code int result = IGUITableGetActiveColumn();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetActiveColumnOrdering :: IO ()
-%call 
-%code int result = IGUITableGetActiveColumnOrdering();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetColumnWidth :: Int -> Int -> IO ()
-%call (int columnIndex) (int width) 
-%code int result = IGUITableSetColumnWidth(columnIndex, width);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetResizableColumns :: Int -> IO ()
-%call (int resizable) 
-%code int result = IGUITableSetResizableColumns(resizable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableHasResizableColumns :: IO ()
-%call 
-%code int result = IGUITableHasResizableColumns();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetColumnOrdering :: Int -> Int -> IO ()
-%call (int columnIndex) (int mode) 
-%code int result = IGUITableSetColumnOrdering(columnIndex, mode);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetSelected :: IO ()
-%call 
-%code int result = IGUITableGetSelected();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetSelected :: Int -> IO ()
-%call (int index) 
-%code int result = IGUITableSetSelected(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetRowCount :: IO ()
-%call 
-%code int result = IGUITableGetRowCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableAddRow :: Int -> IO ()
-%call (int rowIndex) 
-%code int result = IGUITableAddRow(rowIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableRemoveRow :: Int -> IO ()
-%call (int rowIndex) 
-%code int result = IGUITableRemoveRow(rowIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableClearRows :: IO ()
-%call 
-%code int result = IGUITableClearRows();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSwapRows :: Int -> Int -> IO ()
-%call (int rowIndexA) (int rowIndexB) 
-%code int result = IGUITableSwapRows(rowIndexA, rowIndexB);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableOrderRows :: Int -> Int -> IO ()
-%call (int columnIndex) (int mode) 
-%code int result = IGUITableOrderRows(columnIndex, mode);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetCellText :: Int -> Int -> Int -> IO ()
-%call (int rowIndex) (int columnIndex) (int text) 
-%code int result = IGUITableSetCellText(rowIndex, columnIndex, text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetCellText :: Int -> Int -> Int -> Int -> IO ()
-%call (int rowIndex) (int columnIndex) (int text) (int color) 
-%code int result = IGUITableSetCellText(rowIndex, columnIndex, text, color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetCellData :: Int -> Int -> Int -> IO ()
-%call (int rowIndex) (int columnIndex) (int data) 
-%code int result = IGUITableSetCellData(rowIndex, columnIndex, data);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetCellColor :: Int -> Int -> Int -> IO ()
-%call (int rowIndex) (int columnIndex) (int color) 
-%code int result = IGUITableSetCellColor(rowIndex, columnIndex, color);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetCellText :: Int -> Int -> IO ()
-%call (int rowIndex) (int columnIndex) 
-%code int result = IGUITableGetCellText(rowIndex, columnIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetCellData :: Int -> Int -> IO ()
-%call (int rowIndex) (int columnIndex) 
-%code int result = IGUITableGetCellData(rowIndex, columnIndex);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableClear :: IO ()
-%call 
-%code int result = IGUITableClear();
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableSetDrawFlags :: Int -> IO ()
-%call (int flags) 
-%code int result = IGUITableSetDrawFlags(flags);
-%fail {result < 0} {getError();}
-
-
-%fun IGUITableGetDrawFlags :: IO ()
-%call 
-%code int result = IGUITableGetDrawFlags();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeFactoryAddSceneNode :: Int -> ISceneNodePtr -> IO ()
-%call (int type) (iSceneNodePtr parent) 
-%code int result = ISceneNodeFactoryAddSceneNode(type, parent);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeFactoryAddSceneNode :: C8Ptr -> ISceneNodePtr -> IO ()
-%call (c8Ptr typeName) (iSceneNodePtr parent) 
-%code int result = ISceneNodeFactoryAddSceneNode(typeName, parent);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeFactoryGetCreatableSceneNodeTypeCount :: IO ()
-%call 
-%code int result = ISceneNodeFactoryGetCreatableSceneNodeTypeCount();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeFactoryGetCreateableSceneNodeType :: Int -> IO ()
-%call (int idx) 
-%code int result = ISceneNodeFactoryGetCreateableSceneNodeType(idx);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeFactoryGetCreateableSceneNodeTypeName :: Int -> IO ()
-%call (int idx) 
-%code int result = ISceneNodeFactoryGetCreateableSceneNodeTypeName(idx);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeFactoryGetCreateableSceneNodeTypeName :: Int -> IO ()
-%call (int type) 
-%code int result = ISceneNodeFactoryGetCreateableSceneNodeTypeName(type);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontDraw :: Int -> Int -> Int -> Int -> Int -> Rect<s32>Ptr -> IO ()
-%call (int text) (int position) (int color) (int hcenter) (int vcenter) (rect<s32>Ptr clip) 
-%code int result = IGUIFontDraw(text, position, color, hcenter, vcenter, clip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontGetDimension :: String -> IO ()
-%call (string text) 
-%code int result = IGUIFontGetDimension(text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontGetCharacterFromPos :: String -> Int -> IO ()
-%call (string text) (int pixel_x) 
-%code int result = IGUIFontGetCharacterFromPos(text, pixel_x);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontGetType :: IO ()
-%call 
-%code int result = IGUIFontGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontSetKerningWidth :: Int -> IO ()
-%call (int kerning) 
-%code int result = IGUIFontSetKerningWidth(kerning);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontSetKerningHeight :: Int -> IO ()
-%call (int kerning) 
-%code int result = IGUIFontSetKerningHeight(kerning);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontGetKerningWidth :: String -> String -> IO ()
-%call (string thisLetter) (string previousLetter) 
-%code int result = IGUIFontGetKerningWidth(thisLetter, previousLetter);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontGetKerningHeight :: IO ()
-%call 
-%code int result = IGUIFontGetKerningHeight();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIFontSetInvisibleCharacters :: String -> IO ()
-%call (string s) 
-%code int result = IGUIFontSetInvisibleCharacters(s);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshWriterIMeshWriter :: IO ()
-%call 
-%code int result = IMeshWriterIMeshWriter();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshWriterGetType :: IO ()
-%call 
-%code int result = IMeshWriterGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IMeshWriterWriteMesh :: IWriteFilePtr -> IMeshPtr -> Int -> IO ()
-%call (iWriteFilePtr file) (iMeshPtr mesh) (int flags) 
-%code int result = IMeshWriterWriteMesh(file, mesh, flags);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementFactoryAddGUIElement :: Int -> IGUIElementPtr -> IO ()
-%call (int type) (iGUIElementPtr parent) 
-%code int result = IGUIElementFactoryAddGUIElement(type, parent);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementFactoryAddGUIElement :: C8Ptr -> IGUIElementPtr -> IO ()
-%call (c8Ptr typeName) (iGUIElementPtr parent) 
-%code int result = IGUIElementFactoryAddGUIElement(typeName, parent);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementFactoryGetCreatableGUIElementTypeCount :: IO ()
-%call 
-%code int result = IGUIElementFactoryGetCreatableGUIElementTypeCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementFactoryGetCreateableGUIElementType :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIElementFactoryGetCreateableGUIElementType(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementFactoryGetCreateableGUIElementTypeName :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIElementFactoryGetCreateableGUIElementTypeName(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementFactoryGetCreateableGUIElementTypeName :: Int -> IO ()
-%call (int type) 
-%code int result = IGUIElementFactoryGetCreateableGUIElementTypeName(type);
-%fail {result < 0} {getError();}
-
-
-%fun IShaderConstantSetCallBackOnSetMaterial :: Int -> IO ()
-%call (int material) 
-%code int result = IShaderConstantSetCallBackOnSetMaterial(material);
-%fail {result < 0} {getError();}
-
-
-%fun IShaderConstantSetCallBackOnSetConstants :: IMaterialRendererServicesPtr -> Int -> IO ()
-%call (iMaterialRendererServicesPtr services) (int userData) 
-%code int result = IShaderConstantSetCallBackOnSetConstants(services, userData);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorFlipSurfaces :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshManipulatorFlipSurfaces(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorSetVertexColorAlpha :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int alpha) 
-%code int result = IMeshManipulatorSetVertexColorAlpha(mesh, alpha);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorSetVertexColors :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int color) 
-%code int result = IMeshManipulatorSetVertexColors(mesh, color);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorRecalculateNormals :: IMeshPtr -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (int smooth) (int angleWeighted) 
-%code int result = IMeshManipulatorRecalculateNormals(mesh, smooth, angleWeighted);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorRecalculateNormals :: IMeshBufferPtr -> Int -> Int -> IO ()
-%call (iMeshBufferPtr buffer) (int smooth) (int angleWeighted) 
-%code int result = IMeshManipulatorRecalculateNormals(buffer, smooth, angleWeighted);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorScale :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int factor) 
-%code int result = IMeshManipulatorScale(mesh, factor);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorScale :: IMeshBufferPtr -> Int -> IO ()
-%call (iMeshBufferPtr buffer) (int factor) 
-%code int result = IMeshManipulatorScale(buffer, factor);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorScaleMesh :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int factor) 
-%code int result = IMeshManipulatorScaleMesh(mesh, factor);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorScaleTCoords :: IMeshPtr -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (int factor) (int level) 
-%code int result = IMeshManipulatorScaleTCoords(mesh, factor, level);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorScaleTCoords :: IMeshBufferPtr -> Int -> Int -> IO ()
-%call (iMeshBufferPtr buffer) (int factor) (int level) 
-%code int result = IMeshManipulatorScaleTCoords(buffer, factor, level);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorTransform :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int m) 
-%code int result = IMeshManipulatorTransform(mesh, m);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorTransform :: IMeshBufferPtr -> Int -> IO ()
-%call (iMeshBufferPtr buffer) (int m) 
-%code int result = IMeshManipulatorTransform(buffer, m);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorTransformMesh :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int m) 
-%code int result = IMeshManipulatorTransformMesh(mesh, m);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateMeshCopy :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshManipulatorCreateMeshCopy(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorMakePlanarTextureMapping :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int resolution) 
-%code int result = IMeshManipulatorMakePlanarTextureMapping(mesh, resolution);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorMakePlanarTextureMapping :: IMeshBufferPtr -> Int -> IO ()
-%call (iMeshBufferPtr meshbuffer) (int resolution) 
-%code int result = IMeshManipulatorMakePlanarTextureMapping(meshbuffer, resolution);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorMakePlanarTextureMapping :: IMeshBufferPtr -> Int -> Int -> Int -> Int -> IO ()
-%call (iMeshBufferPtr buffer) (int resolutionS) (int resolutionT) (int axis) (int offset) 
-%code int result = IMeshManipulatorMakePlanarTextureMapping(buffer, resolutionS, resolutionT, axis, offset);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateMeshWithTangents :: IMeshPtr -> Int -> Int -> Int -> IO ()
-%call (iMeshPtr mesh) (int recalculateNormals) (int smooth) (int angleWeighted) 
-%code int result = IMeshManipulatorCreateMeshWithTangents(mesh, recalculateNormals, smooth, angleWeighted);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateMeshWith2TCoords :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshManipulatorCreateMeshWith2TCoords(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateMeshWith1TCoords :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshManipulatorCreateMeshWith1TCoords(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateMeshUniquePrimitives :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshManipulatorCreateMeshUniquePrimitives(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateMeshWelded :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int tolerance) 
-%code int result = IMeshManipulatorCreateMeshWelded(mesh, tolerance);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorGetPolyCount :: IMeshPtr -> IO ()
-%call (iMeshPtr mesh) 
-%code int result = IMeshManipulatorGetPolyCount(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorGetPolyCount :: IAnimatedMeshPtr -> IO ()
-%call (iAnimatedMeshPtr mesh) 
-%code int result = IMeshManipulatorGetPolyCount(mesh);
-%fail {result < 0} {getError();}
-
-
-%fun IMeshManipulatorCreateAnimatedMesh :: IMeshPtr -> Int -> IO ()
-%call (iMeshPtr mesh) (int type) 
-%code int result = IMeshManipulatorCreateAnimatedMesh(mesh, type);
-%fail {result < 0} {getError();}
-
-
-%fun SColorHSLSColorHSL :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int h) (int s) (int l) (int )) (int l) 
-%code int result = SColorHSLSColorHSL(h, s, l, ), l);
-%fail {result < 0} {getError();}
-
-
-%fun SColorHSLFromRGB :: Int -> IO ()
-%call (int color) 
-%code int result = SColorHSLFromRGB(color);
-%fail {result < 0} {getError();}
-
-
-%fun SColorHSLToRGB :: Int -> IO ()
-%call (int color) 
-%code int result = SColorHSLToRGB(color);
-%fail {result < 0} {getError();}
-
-
-%fun SColorSColor :: IO ()
-%call 
-%code int result = SColorSColor();
-%fail {result < 0} {getError();}
-
-
-%fun SColorSColor :: Int -> Int -> Int -> Int -> IO ()
-%call (int a) (int r) (int g) (int )) 
-%code int result = SColorSColor(a, r, g, ));
-%fail {result < 0} {getError();}
-
-
-%fun SColorSColor :: Int -> IO ()
-%call (int clr) 
-%code int result = SColorSColor(clr);
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetAlpha :: IO ()
-%call 
-%code int result = SColorGetAlpha();
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetRed :: IO ()
-%call 
-%code int result = SColorGetRed();
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetGreen :: IO ()
-%call 
-%code int result = SColorGetGreen();
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetBlue :: IO ()
-%call 
-%code int result = SColorGetBlue();
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetLuminance :: IO ()
-%call 
-%code int result = SColorGetLuminance();
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetAverage :: IO ()
-%call 
-%code int result = SColorGetAverage();
-%fail {result < 0} {getError();}
-
-
-%fun SColorSetAlpha :: Int -> IO ()
-%call (int a) 
-%code int result = SColorSetAlpha(a);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int 0x00ffffff) 
-%code int result = SColor=(0x00ffffff);
-%fail {result < 0} {getError();}
-
-
-%fun SColorSetRed :: Int -> IO ()
-%call (int r) 
-%code int result = SColorSetRed(r);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int 0xff00ffff) 
-%code int result = SColor=(0xff00ffff);
-%fail {result < 0} {getError();}
-
-
-%fun SColorSetGreen :: Int -> IO ()
-%call (int g) 
-%code int result = SColorSetGreen(g);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int 0xffff00ff) 
-%code int result = SColor=(0xffff00ff);
-%fail {result < 0} {getError();}
-
-
-%fun SColorSetBlue :: Int -> IO ()
-%call (int b) 
-%code int result = SColorSetBlue(b);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int 0xffffff00) 
-%code int result = SColor=(0xffffff00);
-%fail {result < 0} {getError();}
-
-
-%fun SColorToA1R5G5B5 :: IO ()
-%call 
-%code int result = SColorToA1R5G5B5();
-%fail {result < 0} {getError();}
-
-
-data U8Ptr = U8Ptr Int
-%fun SColorToOpenGLColor :: U8Ptr -> IO ()
-%call (u8Ptr dest) 
-%code int result = SColorToOpenGLColor(dest);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int () 
-%code int result = SColor=(();
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int () 
-%code int result = SColor=(();
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int () 
-%code int result = SColor=(();
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int () 
-%code int result = SColor=(();
-%fail {result < 0} {getError();}
-
-
-%fun SColorSet :: Int -> Int -> Int -> Int -> IO ()
-%call (int a) (int r) (int g) (int b) 
-%code int result = SColorSet(a, r, g, b);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int )) 
-%code int result = SColor=());
-%fail {result < 0} {getError();}
-
-
-%fun SColorSet :: Int -> IO ()
-%call (int col) 
-%code int result = SColorSet(col);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int other) 
-%code int result = SColor=(other);
-%fail {result < 0} {getError();}
-
-
-%fun SColor= :: Int -> IO ()
-%call (int other) 
-%code int result = SColor=(other);
-%fail {result < 0} {getError();}
-
-
-%fun SColor< :: Int -> IO ()
-%call (int other) 
-%code int result = SColor<(other);
-%fail {result < 0} {getError();}
-
-
-%fun SColor+ :: Int -> IO ()
-%call (int other) 
-%code int result = SColor+(other);
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetInterpolated :: Int -> Int -> IO ()
-%call (int other) (int d) 
-%code int result = SColorGetInterpolated(other, d);
-%fail {result < 0} {getError();}
-
-
-%fun SColorClamp :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int f) (int f) 
-%code int result = SColorClamp(arg1, f, f);
-%fail {result < 0} {getError();}
-
-
-%fun SColorGetInterpolated_quadratic :: Int -> Int -> Int -> IO ()
-%call (int c1) (int c2) (int d) 
-%code int result = SColorGetInterpolated_quadratic(c1, c2, d);
-%fail {result < 0} {getError();}
-
-
-%fun SColorClamp :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int f) (int f) 
-%code int result = SColorClamp(arg1, f, f);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSColorf :: Int -> Int -> Int -> Int -> IO ()
-%call (int )) (int )) (int )) (int 0f) 
-%code int result = SColorfSColorf(), ), ), 0f);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSColorf :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int r) (int g) (int b) (int a) (int )) (int )) (int a) 
-%code int result = SColorfSColorf(r, g, b, a, ), ), a);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSColorf :: Int -> IO ()
-%call (int c) 
-%code int result = SColorfSColorf(c);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetRed :: IO ()
-%call 
-%code int result = SColorfGetRed();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetGreen :: IO ()
-%call 
-%code int result = SColorfGetGreen();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetBlue :: IO ()
-%call 
-%code int result = SColorfGetBlue();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetAlpha :: IO ()
-%call 
-%code int result = SColorfGetAlpha();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfToSColor :: IO ()
-%call 
-%code int result = SColorfToSColor();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSet :: Int -> Int -> Int -> IO ()
-%call (int rr) (int gg) (int bb) 
-%code int result = SColorfSet(rr, gg, bb);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSet :: Int -> Int -> Int -> Int -> IO ()
-%call (int aa) (int rr) (int gg) (int bb) 
-%code int result = SColorfSet(aa, rr, gg, bb);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetInterpolated :: Int -> Int -> IO ()
-%call (int other) (int d) 
-%code int result = SColorfGetInterpolated(other, d);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfClamp :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int f) (int f) 
-%code int result = SColorfClamp(arg1, f, f);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetInterpolated_quadratic :: Int -> Int -> Int -> IO ()
-%call (int c1) (int c2) (int d) 
-%code int result = SColorfGetInterpolated_quadratic(c1, c2, d);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfClamp :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int f) (int f) 
-%code int result = SColorfClamp(arg1, f, f);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSetColorComponentValue :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = SColorfSetColorComponentValue(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun SColorfSwitch :: IO ()
-%call 
-%code int result = SColorfSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetAlpha :: IO ()
-%call 
-%code int result = SColorfGetAlpha();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetRed :: IO ()
-%call 
-%code int result = SColorfGetRed();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetGreen :: IO ()
-%call 
-%code int result = SColorfGetGreen();
-%fail {result < 0} {getError();}
-
-
-%fun SColorfGetBlue :: IO ()
-%call 
-%code int result = SColorfGetBlue();
-%fail {result < 0} {getError();}
-
-
-%fun IImageLoaderIsALoadableFileExtension :: Int -> IO ()
-%call (int filename) 
-%code int result = IImageLoaderIsALoadableFileExtension(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IImageLoaderIsALoadableFileFormat :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IImageLoaderIsALoadableFileFormat(file);
-%fail {result < 0} {getError();}
-
-
-%fun IImageLoaderLoadImage :: IReadFilePtr -> IO ()
-%call (iReadFilePtr file) 
-%code int result = IImageLoaderLoadImage(file);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorAnimateNode :: ISceneNodePtr -> Int -> IO ()
-%call (iSceneNodePtr node) (int timeMs) 
-%code int result = ISceneNodeAnimatorAnimateNode(node, timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorCreateClone :: ISceneNodePtr -> ISceneManagerPtr -> IO ()
-%call (iSceneNodePtr node) (iSceneManagerPtr newManager) 
-%code int result = ISceneNodeAnimatorCreateClone(node, newManager);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorIsEventReceiverEnabled :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorIsEventReceiverEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorOnEvent :: Int -> IO ()
-%call (int event) 
-%code int result = ISceneNodeAnimatorOnEvent(event);
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorGetType :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ISceneNodeAnimatorHasFinished :: IO ()
-%call 
-%code int result = ISceneNodeAnimatorHasFinished();
-%fail {result < 0} {getError();}
-
-
-%fun IOSOperatorIOSOperator :: IO ()
-%call 
-%code int result = IOSOperatorIOSOperator();
-%fail {result < 0} {getError();}
-
-
-%fun IOSOperatorGetOperationSystemVersion :: IO ()
-%call 
-%code int result = IOSOperatorGetOperationSystemVersion();
-%fail {result < 0} {getError();}
-
-
-%fun IOSOperatorCopyToClipboard :: C8Ptr -> IO ()
-%call (c8Ptr text) 
-%code int result = IOSOperatorCopyToClipboard(text);
-%fail {result < 0} {getError();}
-
-
-%fun IOSOperatorGetTextFromClipboard :: IO ()
-%call 
-%code int result = IOSOperatorGetTextFromClipboard();
-%fail {result < 0} {getError();}
-
-
-data U32Ptr = U32Ptr Int
-%fun IOSOperatorGetProcessorSpeedMHz :: U32Ptr -> IO ()
-%call (u32Ptr MHz) 
-%code int result = IOSOperatorGetProcessorSpeedMHz(MHz);
-%fail {result < 0} {getError();}
-
-
-%fun IOSOperatorGetSystemMemory :: U32Ptr -> U32Ptr -> IO ()
-%call (u32Ptr Total) (u32Ptr Avail) 
-%code int result = IOSOperatorGetSystemMemory(Total, Avail);
-%fail {result < 0} {getError();}
-
-
-%fun IQ3LevelMeshGetShader :: C8Ptr -> Int -> IO ()
-%call (c8Ptr filename) (int fileNameIsValid) 
-%code int result = IQ3LevelMeshGetShader(filename, fileNameIsValid);
-%fail {result < 0} {getError();}
-
-
-%fun IQ3LevelMeshGetShader :: Int -> IO ()
-%call (int index) 
-%code int result = IQ3LevelMeshGetShader(index);
-%fail {result < 0} {getError();}
-
-
-%fun IQ3LevelMeshGetEntityList :: IO ()
-%call 
-%code int result = IQ3LevelMeshGetEntityList();
-%fail {result < 0} {getError();}
-
-
-%fun IImageWriterIsAWriteableFileExtension :: Int -> IO ()
-%call (int filename) 
-%code int result = IImageWriterIsAWriteableFileExtension(filename);
-%fail {result < 0} {getError();}
-
-
-%fun IImageWriterWriteImage :: IWriteFilePtr -> IImagePtr -> Int -> IO ()
-%call (iWriteFilePtr file) (iImagePtr image) (int param) 
-%code int result = IImageWriterWriteImage(file, image, param);
-%fail {result < 0} {getError();}
-
-
-%fun ILightManagerOnPreRender :: Int -> IO ()
-%call (int lightList) 
-%code int result = ILightManagerOnPreRender(lightList);
-%fail {result < 0} {getError();}
-
-
-%fun ILightManagerOnPostRender :: IO ()
-%call 
-%code int result = ILightManagerOnPostRender();
-%fail {result < 0} {getError();}
-
-
-%fun ILightManagerOnRenderPassPreRender :: Int -> IO ()
-%call (int renderPass) 
-%code int result = ILightManagerOnRenderPassPreRender(renderPass);
-%fail {result < 0} {getError();}
-
-
-%fun ILightManagerOnRenderPassPostRender :: Int -> IO ()
-%call (int renderPass) 
-%code int result = ILightManagerOnRenderPassPostRender(renderPass);
-%fail {result < 0} {getError();}
-
-
-%fun ILightManagerOnNodePreRender :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ILightManagerOnNodePreRender(node);
-%fail {result < 0} {getError();}
-
-
-%fun ILightManagerOnNodePostRender :: ISceneNodePtr -> IO ()
-%call (iSceneNodePtr node) 
-%code int result = ILightManagerOnNodePostRender(node);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorSetPoint :: Int -> IO ()
-%call (int point) 
-%code int result = IParticleAttractionAffectorSetPoint(point);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorSetAttract :: Int -> IO ()
-%call (int attract) 
-%code int result = IParticleAttractionAffectorSetAttract(attract);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorSetAffectX :: Int -> IO ()
-%call (int affect) 
-%code int result = IParticleAttractionAffectorSetAffectX(affect);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorSetAffectY :: Int -> IO ()
-%call (int affect) 
-%code int result = IParticleAttractionAffectorSetAffectY(affect);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorSetAffectZ :: Int -> IO ()
-%call (int affect) 
-%code int result = IParticleAttractionAffectorSetAffectZ(affect);
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorGetPoint :: IO ()
-%call 
-%code int result = IParticleAttractionAffectorGetPoint();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorGetAttract :: IO ()
-%call 
-%code int result = IParticleAttractionAffectorGetAttract();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorGetAffectX :: IO ()
-%call 
-%code int result = IParticleAttractionAffectorGetAffectX();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorGetAffectY :: IO ()
-%call 
-%code int result = IParticleAttractionAffectorGetAffectY();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorGetAffectZ :: IO ()
-%call 
-%code int result = IParticleAttractionAffectorGetAffectZ();
-%fail {result < 0} {getError();}
-
-
-%fun IParticleAttractionAffectorGetType :: IO ()
-%call 
-%code int result = IParticleAttractionAffectorGetType();
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeILightSceneNode :: ISceneNodePtr -> ISceneManagerPtr -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iSceneNodePtr parent) (iSceneManagerPtr mgr) (int id) (int position) (int arg5) (int parent) (int arg7) (int arg8) 
-%code int result = ILightSceneNodeILightSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeSetLightData :: Int -> IO ()
-%call (int light) 
-%code int result = ILightSceneNodeSetLightData(light);
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeGetLightData :: IO ()
-%call 
-%code int result = ILightSceneNodeGetLightData();
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeGetLightData :: IO ()
-%call 
-%code int result = ILightSceneNodeGetLightData();
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeSetVisible :: Int -> IO ()
-%call (int isVisible) 
-%code int result = ILightSceneNodeSetVisible(isVisible);
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeSetRadius :: Int -> IO ()
-%call (int radius) 
-%code int result = ILightSceneNodeSetRadius(radius);
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeGetRadius :: IO ()
-%call 
-%code int result = ILightSceneNodeGetRadius();
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeSetLightType :: Int -> IO ()
-%call (int type) 
-%code int result = ILightSceneNodeSetLightType(type);
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeGetLightType :: IO ()
-%call 
-%code int result = ILightSceneNodeGetLightType();
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeEnableCastShadow :: Int -> IO ()
-%call (int shadow) 
-%code int result = ILightSceneNodeEnableCastShadow(shadow);
-%fail {result < 0} {getError();}
-
-
-%fun ILightSceneNodeGetCastShadow :: IO ()
-%call 
-%code int result = ILightSceneNodeGetCastShadow();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxIGUIComboBox :: IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int EGUIET_COMBO_BOX) (int arg5) (int arg6) (int arg7) 
-%code int result = IGUIComboBoxIGUIComboBox(environment, parent, id, EGUIET_COMBO_BOX, arg5, arg6, arg7);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxGetItemCount :: IO ()
-%call 
-%code int result = IGUIComboBoxGetItemCount();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxGetItem :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIComboBoxGetItem(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxGetItemData :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIComboBoxGetItemData(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxGetIndexForItemData :: Int -> IO ()
-%call (int data) 
-%code int result = IGUIComboBoxGetIndexForItemData(data);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxAddItem :: String -> Int -> IO ()
-%call (string text) (int data) 
-%code int result = IGUIComboBoxAddItem(text, data);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxRemoveItem :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIComboBoxRemoveItem(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxClear :: IO ()
-%call 
-%code int result = IGUIComboBoxClear();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxGetSelected :: IO ()
-%call 
-%code int result = IGUIComboBoxGetSelected();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxSetSelected :: Int -> IO ()
-%call (int idx) 
-%code int result = IGUIComboBoxSetSelected(idx);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIComboBoxSetTextAlignment :: Int -> Int -> IO ()
-%call (int horizontal) (int vertical) 
-%code int result = IGUIComboBoxSetTextAlignment(horizontal, vertical);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIGUIElement :: Int -> IGUIEnvironmentPtr -> IGUIElementPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int type) (iGUIEnvironmentPtr environment) (iGUIElementPtr parent) (int id) (int )) (int )) (int )) (int )) (int )) (int 0) (int )) (int 1) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int )) (int type) 
-%code int result = IGUIElementIGUIElement(type, environment, parent, id, ), ), ), ), ), 0, ), 1, ), ), ), ), ), ), ), ), ), ), ), ), ), ), type);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetDebugName :: IO ()
-%call 
-%code int result = IGUIElementSetDebugName();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIGUIElement :: IO ()
-%call 
-%code int result = IGUIElementIGUIElement();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetParent :: IO ()
-%call 
-%code int result = IGUIElementGetParent();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetRelativePosition :: IO ()
-%call 
-%code int result = IGUIElementGetRelativePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetRelativePosition :: Int -> IO ()
-%call (int r) 
-%code int result = IGUIElementSetRelativePosition(r);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementGetAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementD :: Int -> Int -> IO ()
-%call (int )) (int )) 
-%code int result = IGUIElementD(), ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetRelativePosition :: Int -> IO ()
-%call (int position) 
-%code int result = IGUIElementSetRelativePosition(position);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetSize :: IO ()
-%call 
-%code int result = IGUIElementGetSize();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementRectangle :: Int -> Int -> Int -> Int -> IO ()
-%call (int X) (int Y) (int Width) (int Height) 
-%code int result = IGUIElementRectangle(X, Y, Width, Height);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetRelativePosition :: IO ()
-%call 
-%code int result = IGUIElementSetRelativePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetRelativePositionProportional :: Int -> IO ()
-%call (int r) 
-%code int result = IGUIElementSetRelativePositionProportional(r);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAbsolutePosition :: Int -> IO ()
-%call (int () 
-%code int result = IGUIElementGetAbsolutePosition(();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementGetAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAbsoluteClippingRect :: IO ()
-%call 
-%code int result = IGUIElementGetAbsoluteClippingRect();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetNotClipped :: Int -> IO ()
-%call (int noClip) 
-%code int result = IGUIElementSetNotClipped(noClip);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsNotClipped :: IO ()
-%call 
-%code int result = IGUIElementIsNotClipped();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetMaxSize :: Int -> IO ()
-%call (int size) 
-%code int result = IGUIElementSetMaxSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetMinSize :: Int -> IO ()
-%call (int size) 
-%code int result = IGUIElementSetMinSize(size);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetAlignment :: Int -> Int -> Int -> Int -> IO ()
-%call (int left) (int right) (int top) (int bottom) 
-%code int result = IGUIElementSetAlignment(left, right, top, bottom);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementR :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementR());
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementD :: Int -> Int -> IO ()
-%call (int Width) (int Height) 
-%code int result = IGUIElementD(Width, Height);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementParentAbsolute :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int arg2) (int arg3) 
-%code int result = IGUIElementParentAbsolute(arg1, arg2, arg3);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementWhile :: Int -> IO ()
-%call (int >Parent) 
-%code int result = IGUIElementWhile(>Parent);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetWidth :: Int -> IO ()
-%call (int () 
-%code int result = IGUIElementGetWidth(();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetHeight :: Int -> IO ()
-%call (int () 
-%code int result = IGUIElementGetHeight(();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSwitch :: IO ()
-%call 
-%code int result = IGUIElementSwitch();
-%fail {result < 0} {getError();}
-
-
-data XPtr = XPtr Int
-%fun IGUIElement= :: XPtr -> IO ()
-%call (xPtr fw) 
-%code int result = IGUIElement=(fw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSwitch :: IO ()
-%call 
-%code int result = IGUIElementSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement= :: XPtr -> IO ()
-%call (xPtr fw) 
-%code int result = IGUIElement=(fw);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSwitch :: IO ()
-%call 
-%code int result = IGUIElementSwitch();
-%fail {result < 0} {getError();}
-
-
-data YPtr = YPtr Int
-%fun IGUIElement= :: YPtr -> IO ()
-%call (yPtr fh) 
-%code int result = IGUIElement=(fh);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSwitch :: IO ()
-%call 
-%code int result = IGUIElementSwitch();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement= :: YPtr -> IO ()
-%call (yPtr fh) 
-%code int result = IGUIElement=(fh);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetWidth :: IO ()
-%call 
-%code int result = IGUIElementGetWidth();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetHeight :: IO ()
-%call 
-%code int result = IGUIElementGetHeight();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementRepair :: IO ()
-%call 
-%code int result = IGUIElementRepair();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementClipAgainst :: IO ()
-%call 
-%code int result = IGUIElementClipAgainst();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetElementFromPoint :: Int -> IO ()
-%call (int point) 
-%code int result = IGUIElementGetElementFromPoint(point);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetLast :: IO ()
-%call 
-%code int result = IGUIElementGetLast();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementWhile :: Int -> IO ()
-%call (int it) 
-%code int result = IGUIElementWhile(it);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement= :: Int -> IO ()
-%call (int point) 
-%code int result = IGUIElement=(point);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsPointInside :: Int -> IO ()
-%call (int point) 
-%code int result = IGUIElementIsPointInside(point);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddChild :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr child) 
-%code int result = IGUIElementAddChild(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGrab :: IO ()
-%call 
-%code int result = IGUIElementGrab();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementRemove :: IO ()
-%call 
-%code int result = IGUIElementRemove();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementGetAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementPush_back :: IO ()
-%call 
-%code int result = IGUIElementPush_back();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementUpdateAbsolutePosition :: IO ()
-%call 
-%code int result = IGUIElementUpdateAbsolutePosition();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementRemoveChild :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr child) 
-%code int result = IGUIElementRemoveChild(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementErase :: IO ()
-%call 
-%code int result = IGUIElementErase();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementRemove :: IO ()
-%call 
-%code int result = IGUIElementRemove();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementDraw :: IO ()
-%call 
-%code int result = IGUIElementDraw();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement) :: Int -> IO ()
-%call (int () 
-%code int result = IGUIElement)(();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementOnPostRender :: Int -> IO ()
-%call (int timeMs) 
-%code int result = IGUIElementOnPostRender(timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement) :: Int -> IO ()
-%call (int timeMs) 
-%code int result = IGUIElement)(timeMs);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementMove :: Int -> IO ()
-%call (int absoluteMovement) 
-%code int result = IGUIElementMove(absoluteMovement);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetRelativePosition :: Int -> IO ()
-%call (int absoluteMovement) 
-%code int result = IGUIElementSetRelativePosition(absoluteMovement);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsVisible :: IO ()
-%call 
-%code int result = IGUIElementIsVisible();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetVisible :: Int -> IO ()
-%call (int visible) 
-%code int result = IGUIElementSetVisible(visible);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsSubElement :: IO ()
-%call 
-%code int result = IGUIElementIsSubElement();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetSubElement :: Int -> IO ()
-%call (int subElement) 
-%code int result = IGUIElementSetSubElement(subElement);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetTabStop :: Int -> IO ()
-%call (int enable) 
-%code int result = IGUIElementSetTabStop(enable);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsTabStop :: IO ()
-%call 
-%code int result = IGUIElementIsTabStop();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetTabOrder :: Int -> IO ()
-%call (int index) 
-%code int result = IGUIElementSetTabOrder(index);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTabGroup :: IO ()
-%call 
-%code int result = IGUIElementGetTabGroup();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementWhile :: Int -> IO ()
-%call (int >Parent) 
-%code int result = IGUIElementWhile(>Parent);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetNextElement :: Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int 1) (int arg2) (int arg3) (int arg4) (int arg5) 
-%code int result = IGUIElementGetNextElement(1, arg2, arg3, arg4, arg5);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTabOrder :: IO ()
-%call 
-%code int result = IGUIElementGetTabOrder();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTabOrder :: IO ()
-%call 
-%code int result = IGUIElementGetTabOrder();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetTabGroup :: Int -> IO ()
-%call (int isGroup) 
-%code int result = IGUIElementSetTabGroup(isGroup);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsTabGroup :: IO ()
-%call 
-%code int result = IGUIElementIsTabGroup();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTabGroup :: IO ()
-%call 
-%code int result = IGUIElementGetTabGroup();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementWhile :: Int -> IO ()
-%call (int ret) 
-%code int result = IGUIElementWhile(ret);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsEnabled :: IO ()
-%call 
-%code int result = IGUIElementIsEnabled();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetEnabled :: Int -> IO ()
-%call (int enabled) 
-%code int result = IGUIElementSetEnabled(enabled);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetText :: String -> IO ()
-%call (string text) 
-%code int result = IGUIElementSetText(text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetText :: IO ()
-%call 
-%code int result = IGUIElementGetText();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetToolTipText :: String -> IO ()
-%call (string text) 
-%code int result = IGUIElementSetToolTipText(text);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetToolTipText :: IO ()
-%call 
-%code int result = IGUIElementGetToolTipText();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetID :: IO ()
-%call 
-%code int result = IGUIElementGetID();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetID :: Int -> IO ()
-%call (int id) 
-%code int result = IGUIElementSetID(id);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementOnEvent :: Int -> IO ()
-%call (int event) 
-%code int result = IGUIElementOnEvent(event);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBringToFront :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr element) 
-%code int result = IGUIElementBringToFront(element);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementErase :: IO ()
-%call 
-%code int result = IGUIElementErase();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementPush_back :: IO ()
-%call 
-%code int result = IGUIElementPush_back();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetChildren :: IO ()
-%call 
-%code int result = IGUIElementGetChildren();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetElementFromId :: Int -> Int -> IO ()
-%call (int id) (int searchchildren) 
-%code int result = IGUIElementGetElementFromId(id, searchchildren);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementEnd :: IO ()
-%call 
-%code int result = IGUIElementEnd();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementIsMyChild :: IGUIElementPtr -> IO ()
-%call (iGUIElementPtr child) 
-%code int result = IGUIElementIsMyChild(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementWhile :: Int -> IO ()
-%call (int child) 
-%code int result = IGUIElementWhile(child);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetNextElement :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int startOrder) (int reverse) (int group) (int first) (int closest) (int includeInvisible) 
-%code int result = IGUIElementGetNextElement(startOrder, reverse, group, first, closest, includeInvisible);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement+ :: Int -> IO ()
-%call (int 1) 
-%code int result = IGUIElement+(1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementBegin :: IO ()
-%call 
-%code int result = IGUIElementBegin();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementWhile :: Int -> IO ()
-%call (int it) 
-%code int result = IGUIElementWhile(it);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElement= :: Int -> IO ()
-%call (int () 
-%code int result = IGUIElement=(();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTabOrder :: IO ()
-%call 
-%code int result = IGUIElementGetTabOrder();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTabOrder :: IO ()
-%call 
-%code int result = IGUIElementGetTabOrder();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetType :: IO ()
-%call 
-%code int result = IGUIElementGetType();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetTypeName :: IO ()
-%call 
-%code int result = IGUIElementGetTypeName();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSerializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr out) (sAttributeReadWriteOptionsPtr options) 
-%code int result = IGUIElementSerializeAttributes(out, options);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddInt :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddInt(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddString :: Int -> Int -> IO ()
-%call (int arg1) (int )) 
-%code int result = IGUIElementAddString(arg1, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddRect :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddRect(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddPosition2d :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int Width) (int )) 
-%code int result = IGUIElementAddPosition2d(arg1, Width, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddPosition2d :: Int -> Int -> Int -> IO ()
-%call (int arg1) (int Width) (int )) 
-%code int result = IGUIElementAddPosition2d(arg1, Width, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddEnum :: Int -> Int -> IO ()
-%call (int arg1) (int arg2) 
-%code int result = IGUIElementAddEnum(arg1, arg2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddEnum :: Int -> Int -> IO ()
-%call (int arg1) (int arg2) 
-%code int result = IGUIElementAddEnum(arg1, arg2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddEnum :: Int -> Int -> IO ()
-%call (int arg1) (int arg2) 
-%code int result = IGUIElementAddEnum(arg1, arg2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddEnum :: Int -> Int -> IO ()
-%call (int arg1) (int arg2) 
-%code int result = IGUIElementAddEnum(arg1, arg2);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddInt :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddInt(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementAddBool :: Int -> IO ()
-%call (int arg1) 
-%code int result = IGUIElementAddBool(arg1);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementDeserializeAttributes :: IAttributesPtr -> SAttributeReadWriteOptionsPtr -> IO ()
-%call (iAttributesPtr in) (sAttributeReadWriteOptionsPtr options) 
-%code int result = IGUIElementDeserializeAttributes(in, options);
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetID :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementSetID());
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetText :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementSetText());
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetVisible :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementSetVisible());
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetEnabled :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementSetEnabled());
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAttributeAsBool :: IO ()
-%call 
-%code int result = IGUIElementGetAttributeAsBool();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAttributeAsBool :: IO ()
-%call 
-%code int result = IGUIElementGetAttributeAsBool();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAttributeAsInt :: IO ()
-%call 
-%code int result = IGUIElementGetAttributeAsInt();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAttributeAsPosition2d :: IO ()
-%call 
-%code int result = IGUIElementGetAttributeAsPosition2d();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetMaxSize :: Int -> Int -> IO ()
-%call (int X) (int )) 
-%code int result = IGUIElementSetMaxSize(X, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementGetAttributeAsPosition2d :: IO ()
-%call 
-%code int result = IGUIElementGetAttributeAsPosition2d();
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetMinSize :: Int -> Int -> IO ()
-%call (int X) (int )) 
-%code int result = IGUIElementSetMinSize(X, ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetAlignment :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-%call (int "LeftAlign") (int )) (int "RightAlign") (int )) (int "TopAlign") (int )) (int "BottomAlign") (int )) 
-%code int result = IGUIElementSetAlignment("LeftAlign", ), "RightAlign", ), "TopAlign", ), "BottomAlign", ));
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetRelativePosition :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementSetRelativePosition());
-%fail {result < 0} {getError();}
-
-
-%fun IGUIElementSetNotClipped :: Int -> IO ()
-%call (int )) 
-%code int result = IGUIElementSetNotClipped());
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeCount :: IO ()
-%call 
-%code int result = IAttributesGetAttributeCount();
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeName :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeName(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeType :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeType(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeType :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeType(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeTypeString :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeTypeString(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeTypeString :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeTypeString(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesExistsAttribute :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesExistsAttribute(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesFindAttribute :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesFindAttribute(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesClear :: IO ()
-%call 
-%code int result = IAttributesClear();
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesRead :: IXMLReaderPtr -> Int -> String -> IO ()
-%call (iXMLReaderPtr reader) (int readCurrentElementOnly) (string elementName) 
-%code int result = IAttributesRead(reader, readCurrentElementOnly, elementName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesWrite :: IXMLWriterPtr -> Int -> String -> IO ()
-%call (iXMLWriterPtr writer) (int writeXMLHeader) (string elementName) 
-%code int result = IAttributesWrite(writer, writeXMLHeader, elementName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddInt :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddInt(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesSetAttribute(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsInt :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsInt(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsInt :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsInt(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IAttributesSetAttribute(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddFloat :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddFloat(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesSetAttribute(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsFloat :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsFloat(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsFloat :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsFloat(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IAttributesSetAttribute(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddString :: C8Ptr -> C8Ptr -> IO ()
-%call (c8Ptr attributeName) (c8Ptr value) 
-%code int result = IAttributesAddString(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> C8Ptr -> IO ()
-%call (c8Ptr attributeName) (c8Ptr value) 
-%code int result = IAttributesSetAttribute(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsString :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsString(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsString :: C8Ptr -> C8Ptr -> IO ()
-%call (c8Ptr attributeName) (c8Ptr target) 
-%code int result = IAttributesGetAttributeAsString(attributeName, target);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsString :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsString(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> C8Ptr -> IO ()
-%call (int index) (c8Ptr value) 
-%code int result = IAttributesSetAttribute(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddString :: C8Ptr -> String -> IO ()
-%call (c8Ptr attributeName) (string value) 
-%code int result = IAttributesAddString(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> String -> IO ()
-%call (c8Ptr attributeName) (string value) 
-%code int result = IAttributesSetAttribute(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsStringW :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsStringW(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsStringW :: C8Ptr -> String -> IO ()
-%call (c8Ptr attributeName) (string target) 
-%code int result = IAttributesGetAttributeAsStringW(attributeName, target);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsStringW :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsStringW(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> String -> IO ()
-%call (int index) (string value) 
-%code int result = IAttributesSetAttribute(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddBinary :: C8Ptr -> Int -> Int -> IO ()
-%call (c8Ptr attributeName) (int data) (int dataSizeInBytes) 
-%code int result = IAttributesAddBinary(attributeName, data, dataSizeInBytes);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> Int -> IO ()
-%call (c8Ptr attributeName) (int data) (int dataSizeInBytes) 
-%code int result = IAttributesSetAttribute(attributeName, data, dataSizeInBytes);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsBinaryData :: C8Ptr -> Int -> Int -> IO ()
-%call (c8Ptr attributeName) (int outData) (int maxSizeInBytes) 
-%code int result = IAttributesGetAttributeAsBinaryData(attributeName, outData, maxSizeInBytes);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsBinaryData :: Int -> Int -> Int -> IO ()
-%call (int index) (int outData) (int maxSizeInBytes) 
-%code int result = IAttributesGetAttributeAsBinaryData(index, outData, maxSizeInBytes);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> Int -> IO ()
-%call (int index) (int data) (int dataSizeInBytes) 
-%code int result = IAttributesSetAttribute(index, data, dataSizeInBytes);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddArray :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddArray(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesSetAttribute(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsArray :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsArray(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsArray :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsArray(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IAttributesSetAttribute(index, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddBool :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddBool(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesSetAttribute(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsBool :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsBool(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsBool :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsBool(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int value) 
-%code int result = IAttributesSetAttribute(index, value);
-%fail {result < 0} {getError();}
-
-
-data ConstPtr = ConstPtr Int
-%fun IAttributesAddEnum :: C8Ptr -> C8Ptr -> ConstPtr -> IO ()
-%call (c8Ptr attributeName) (c8Ptr enumValue) (constPtr enumerationLiterals) 
-%code int result = IAttributesAddEnum(attributeName, enumValue, enumerationLiterals);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddEnum :: C8Ptr -> Int -> ConstPtr -> IO ()
-%call (c8Ptr attributeName) (int enumValue) (constPtr enumerationLiterals) 
-%code int result = IAttributesAddEnum(attributeName, enumValue, enumerationLiterals);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> C8Ptr -> ConstPtr -> IO ()
-%call (c8Ptr attributeName) (c8Ptr enumValue) (constPtr enumerationLiterals) 
-%code int result = IAttributesSetAttribute(attributeName, enumValue, enumerationLiterals);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsEnumeration :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsEnumeration(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsEnumeration :: C8Ptr -> ConstPtr -> IO ()
-%call (c8Ptr attributeName) (constPtr enumerationLiteralsToUse) 
-%code int result = IAttributesGetAttributeAsEnumeration(attributeName, enumerationLiteralsToUse);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsEnumeration :: Int -> ConstPtr -> IO ()
-%call (int index) (constPtr enumerationLiteralsToUse) 
-%code int result = IAttributesGetAttributeAsEnumeration(index, enumerationLiteralsToUse);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsEnumeration :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsEnumeration(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeEnumerationLiteralsOfEnumeration :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int outLiterals) 
-%code int result = IAttributesGetAttributeEnumerationLiteralsOfEnumeration(attributeName, outLiterals);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeEnumerationLiteralsOfEnumeration :: Int -> Int -> IO ()
-%call (int index) (int outLiterals) 
-%code int result = IAttributesGetAttributeEnumerationLiteralsOfEnumeration(index, outLiterals);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> C8Ptr -> ConstPtr -> IO ()
-%call (int index) (c8Ptr enumValue) (constPtr enumerationLiterals) 
-%code int result = IAttributesSetAttribute(index, enumValue, enumerationLiterals);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddColor :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddColor(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int color) 
-%code int result = IAttributesSetAttribute(attributeName, color);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsColor :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsColor(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsColor :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsColor(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int color) 
-%code int result = IAttributesSetAttribute(index, color);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddColorf :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddColorf(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int color) 
-%code int result = IAttributesSetAttribute(attributeName, color);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsColorf :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsColorf(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsColorf :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsColorf(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int color) 
-%code int result = IAttributesSetAttribute(index, color);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddVector3d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddVector3d(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsVector3d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsVector3d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsVector3d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsVector3d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddPosition2d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddPosition2d(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsPosition2d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsPosition2d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsPosition2d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsPosition2d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddRect :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int value) 
-%code int result = IAttributesAddRect(attributeName, value);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsRect :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsRect(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsRect :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsRect(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddMatrix :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddMatrix(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsMatrix :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsMatrix(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsMatrix :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsMatrix(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddQuaternion :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddQuaternion(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsQuaternion :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsQuaternion(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsQuaternion :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsQuaternion(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddBox3d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddBox3d(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsBox3d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsBox3d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsBox3d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsBox3d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddPlane3d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddPlane3d(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsPlane3d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsPlane3d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsPlane3d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsPlane3d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddTriangle3d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddTriangle3d(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsTriangle3d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsTriangle3d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsTriangle3d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsTriangle3d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddLine2d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddLine2d(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsLine2d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsLine2d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsLine2d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsLine2d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddLine3d :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesAddLine3d(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int v) 
-%code int result = IAttributesSetAttribute(attributeName, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsLine3d :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsLine3d(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsLine3d :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsLine3d(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int v) 
-%code int result = IAttributesSetAttribute(index, v);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddTexture :: C8Ptr -> ITexturePtr -> IO ()
-%call (c8Ptr attributeName) (iTexturePtr texture) 
-%code int result = IAttributesAddTexture(attributeName, texture);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> ITexturePtr -> IO ()
-%call (c8Ptr attributeName) (iTexturePtr texture) 
-%code int result = IAttributesSetAttribute(attributeName, texture);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsTexture :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsTexture(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsTexture :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsTexture(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> ITexturePtr -> IO ()
-%call (int index) (iTexturePtr texture) 
-%code int result = IAttributesSetAttribute(index, texture);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesAddUserPointer :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int userPointer) 
-%code int result = IAttributesAddUserPointer(attributeName, userPointer);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: C8Ptr -> Int -> IO ()
-%call (c8Ptr attributeName) (int userPointer) 
-%code int result = IAttributesSetAttribute(attributeName, userPointer);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsUserPointer :: C8Ptr -> IO ()
-%call (c8Ptr attributeName) 
-%code int result = IAttributesGetAttributeAsUserPointer(attributeName);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesGetAttributeAsUserPointer :: Int -> IO ()
-%call (int index) 
-%code int result = IAttributesGetAttributeAsUserPointer(index);
-%fail {result < 0} {getError();}
-
-
-%fun IAttributesSetAttribute :: Int -> Int -> IO ()
-%call (int index) (int userPointer) 
-%code int result = IAttributesSetAttribute(index, userPointer);
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterIXMLWriter :: IO ()
-%call 
-%code int result = IXMLWriterIXMLWriter();
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterWriteXMLHeader :: IO ()
-%call 
-%code int result = IXMLWriterWriteXMLHeader();
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterWriteElement :: String -> Int -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO ()
-%call (string name) (int empty) (string attr1Name) (string attr1Value) (string attr2Name) (string attr2Value) (string attr3Name) (string attr3Value) (string attr4Name) (string attr4Value) (string attr5Name) (string attr5Value) 
-%code int result = IXMLWriterWriteElement(name, empty, attr1Name, attr1Value, attr2Name, attr2Value, attr3Name, attr3Value, attr4Name, attr4Value, attr5Name, attr5Value);
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterWriteElement :: String -> Int -> Int -> Int -> IO ()
-%call (string name) (int empty) (int names) (int values) 
-%code int result = IXMLWriterWriteElement(name, empty, names, values);
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterWriteComment :: String -> IO ()
-%call (string comment) 
-%code int result = IXMLWriterWriteComment(comment);
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterWriteClosingTag :: String -> IO ()
-%call (string name) 
-%code int result = IXMLWriterWriteClosingTag(name);
-%fail {result < 0} {getError();}
-
-
-%fun IXMLWriterWriteText :: String -> IO ()
-%call (string text) 
+%fun IGUIButtonIGUIButton :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_BUTTON) 
+%code int result = IGUIButtonIGUIButton(environment, parent, id, EGUIET_BUTTON);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetOverrideFont :: Int -> IO ()
+%call (int font) 
+%code int result = IGUIButtonSetOverrideFont(font);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetImage :: Int -> IO ()
+%call (int image) 
+%code int result = IGUIButtonSetImage(image);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetImage :: Int -> Int -> IO ()
+%call (int image) (int pos) 
+%code int result = IGUIButtonSetImage(image, pos);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetPressedImage :: Int -> IO ()
+%call (int image) 
+%code int result = IGUIButtonSetPressedImage(image);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetPressedImage :: Int -> Int -> IO ()
+%call (int image) (int pos) 
+%code int result = IGUIButtonSetPressedImage(image, pos);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetSpriteBank :: Int -> IO ()
+%call (int bank) 
+%code int result = IGUIButtonSetSpriteBank(bank);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetSprite :: Int -> Int -> Int -> Int -> IO ()
+%call (int state) (int index) (int color) (int loop) 
+%code int result = IGUIButtonSetSprite(state, index, color, loop);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetIsPushButton :: Int -> IO ()
+%call (int isPushButton) 
+%code int result = IGUIButtonSetIsPushButton(isPushButton);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetPressed :: Int -> IO ()
+%call (int pressed) 
+%code int result = IGUIButtonSetPressed(pressed);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonIsPressed :: IO ()
+%call 
+%code int result = IGUIButtonIsPressed();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetUseAlphaChannel :: Int -> IO ()
+%call (int useAlphaChannel) 
+%code int result = IGUIButtonSetUseAlphaChannel(useAlphaChannel);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonIsAlphaChannelUsed :: IO ()
+%call 
+%code int result = IGUIButtonIsAlphaChannelUsed();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonIsPushButton :: IO ()
+%call 
+%code int result = IGUIButtonIsPushButton();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetDrawBorder :: Int -> IO ()
+%call (int border) 
+%code int result = IGUIButtonSetDrawBorder(border);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonIsDrawingBorder :: IO ()
+%call 
+%code int result = IGUIButtonIsDrawingBorder();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonSetScaleImage :: Int -> IO ()
+%call (int scaleImage) 
+%code int result = IGUIButtonSetScaleImage(scaleImage);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIButtonIsScalingImage :: IO ()
+%call 
+%code int result = IGUIButtonIsScalingImage();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneUserDataSerializerISceneUserDataSerializer :: IO ()
+%call 
+%code int result = ISceneUserDataSerializerISceneUserDataSerializer();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneUserDataSerializerOnCreateNode :: Int -> IO ()
+%call (int node) 
+%code int result = ISceneUserDataSerializerOnCreateNode(node);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneUserDataSerializerOnReadUserData :: Int -> Int -> IO ()
+%call (int forSceneNode) (int userData) 
+%code int result = ISceneUserDataSerializerOnReadUserData(forSceneNode, userData);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneUserDataSerializerCreateUserData :: Int -> IO ()
+%call (int forSceneNode) 
+%code int result = ISceneUserDataSerializerCreateUserData(forSceneNode);
+%fail {result < 0} {getError();}
+
+
+%fun IEventReceiverIEventReceiver :: IO ()
+%call 
+%code int result = IEventReceiverIEventReceiver();
+%fail {result < 0} {getError();}
+
+
+%fun IEventReceiverOnEvent :: Int -> IO ()
+%call (int event) 
+%code int result = IEventReceiverOnEvent(event);
+%fail {result < 0} {getError();}
+
+
+%fun IFileArchiveCreateAndOpenFile :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileArchiveCreateAndOpenFile(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileArchiveCreateAndOpenFile :: Int -> IO ()
+%call (int index) 
+%code int result = IFileArchiveCreateAndOpenFile(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileArchiveGetFileList :: IO ()
+%call 
+%code int result = IFileArchiveGetFileList();
+%fail {result < 0} {getError();}
+
+
+%fun IFileArchiveGetType :: IO ()
+%call 
+%code int result = IFileArchiveGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IArchiveLoaderIsALoadableFileFormat :: Int -> IO ()
+%call (int filename) 
+%code int result = IArchiveLoaderIsALoadableFileFormat(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IArchiveLoaderIsALoadableFileFormat :: Int -> IO ()
+%call (int file) 
+%code int result = IArchiveLoaderIsALoadableFileFormat(file);
+%fail {result < 0} {getError();}
+
+
+%fun IArchiveLoaderIsALoadableFileFormat :: Int -> IO ()
+%call (int fileType) 
+%code int result = IArchiveLoaderIsALoadableFileFormat(fileType);
+%fail {result < 0} {getError();}
+
+
+%fun IArchiveLoaderCreateArchive :: Int -> Int -> Int -> IO ()
+%call (int filename) (int ignoreCase) (int ignorePaths) 
+%code int result = IArchiveLoaderCreateArchive(filename, ignoreCase, ignorePaths);
+%fail {result < 0} {getError();}
+
+
+%fun IArchiveLoaderCreateArchive :: Int -> Int -> Int -> IO ()
+%call (int file) (int ignoreCase) (int ignorePaths) 
+%code int result = IArchiveLoaderCreateArchive(file, ignoreCase, ignorePaths);
+%fail {result < 0} {getError();}
+
+
+%fun ITimerITimer :: IO ()
+%call 
+%code int result = ITimerITimer();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerGetRealTime :: IO ()
+%call 
+%code int result = ITimerGetRealTime();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerGetTime :: IO ()
+%call 
+%code int result = ITimerGetTime();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerSetTime :: Int -> IO ()
+%call (int time) 
+%code int result = ITimerSetTime(time);
+%fail {result < 0} {getError();}
+
+
+%fun ITimerStop :: IO ()
+%call 
+%code int result = ITimerStop();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerStart :: IO ()
+%call 
+%code int result = ITimerStart();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerSetSpeed :: Int -> IO ()
+%call (int speed) 
+%code int result = ITimerSetSpeed(speed);
+%fail {result < 0} {getError();}
+
+
+%fun ITimerGetSpeed :: IO ()
+%call 
+%code int result = ITimerGetSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerIsStopped :: IO ()
+%call 
+%code int result = ITimerIsStopped();
+%fail {result < 0} {getError();}
+
+
+%fun ITimerTick :: IO ()
+%call 
+%code int result = ITimerTick();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshLoaderIMeshLoader :: IO ()
+%call 
+%code int result = IMeshLoaderIMeshLoader();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshLoaderIsALoadableFileExtension :: Int -> IO ()
+%call (int filename) 
+%code int result = IMeshLoaderIsALoadableFileExtension(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshLoaderCreateMesh :: Int -> IO ()
+%call (int file) 
+%code int result = IMeshLoaderCreateMesh(file);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIMeshViewerIGUIMeshViewer :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_MESH_VIEWER) 
+%code int result = IGUIMeshViewerIGUIMeshViewer(environment, parent, id, EGUIET_MESH_VIEWER);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIMeshViewerSetMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IGUIMeshViewerSetMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIMeshViewerGetMesh :: IO ()
+%call 
+%code int result = IGUIMeshViewerGetMesh();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIMeshViewerSetMaterial :: Int -> IO ()
+%call (int material) 
+%code int result = IGUIMeshViewerSetMaterial(material);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIMeshViewerGetMaterial :: IO ()
+%call 
+%code int result = IGUIMeshViewerGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerISceneManager :: IO ()
+%call 
+%code int result = ISceneManagerISceneManager();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetMesh :: Int -> IO ()
+%call (int filename) 
+%code int result = ISceneManagerGetMesh(filename);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetMesh :: Int -> IO ()
+%call (int file) 
+%code int result = ISceneManagerGetMesh(file);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetMeshCache :: IO ()
+%call 
+%code int result = ISceneManagerGetMeshCache();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetVideoDriver :: IO ()
+%call 
+%code int result = ISceneManagerGetVideoDriver();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetGUIEnvironment :: IO ()
+%call 
+%code int result = ISceneManagerGetGUIEnvironment();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetFileSystem :: IO ()
+%call 
+%code int result = ISceneManagerGetFileSystem();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddVolumeLightSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int id) (int subdivU) (int subdivV) (int foot) (int tail) (int position) (int rotation) (int scale) 
+%code int result = ISceneManagerAddVolumeLightSceneNode(parent, id, subdivU, subdivV, foot, tail, position, rotation, scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddCubeSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int size) (int parent) (int id) (int position) (int rotation) (int scale) 
+%code int result = ISceneManagerAddCubeSceneNode(size, parent, id, position, rotation, scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddSphereSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int radius) (int polyCount) (int parent) (int id) (int position) (int rotation) (int scale) 
+%code int result = ISceneManagerAddSphereSceneNode(radius, polyCount, parent, id, position, rotation, scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddAnimatedMeshSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int parent) (int id) (int position) (int rotation) (int scale) (int alsoAddIfMeshPointerZero) 
+%code int result = ISceneManagerAddAnimatedMeshSceneNode(mesh, parent, id, position, rotation, scale, alsoAddIfMeshPointerZero);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddMeshSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int parent) (int id) (int position) (int rotation) (int scale) (int alsoAddIfMeshPointerZero) 
+%code int result = ISceneManagerAddMeshSceneNode(mesh, parent, id, position, rotation, scale, alsoAddIfMeshPointerZero);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddWaterSurfaceSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int waveHeight) (int waveSpeed) (int waveLength) (int parent) (int id) (int position) (int rotation) (int scale) 
+%code int result = ISceneManagerAddWaterSurfaceSceneNode(mesh, waveHeight, waveSpeed, waveLength, parent, id, position, rotation, scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddOctreeSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int parent) (int id) (int minimalPolysPerNode) (int alsoAddIfMeshPointerZero) 
+%code int result = ISceneManagerAddOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddOctTreeSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int parent) (int id) (int minimalPolysPerNode) (int alsoAddIfMeshPointerZero) 
+%code int result = ISceneManagerAddOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddOctreeSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int parent) (int id) (int minimalPolysPerNode) (int alsoAddIfMeshPointerZero) 
+%code int result = ISceneManagerAddOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddOctTreeSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int parent) (int id) (int minimalPolysPerNode) (int alsoAddIfMeshPointerZero) 
+%code int result = ISceneManagerAddOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddCameraSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int position) (int lookat) (int id) (int makeActive) 
+%code int result = ISceneManagerAddCameraSceneNode(parent, position, lookat, id, makeActive);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddCameraSceneNodeMaya :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int rotateSpeed) (int zoomSpeed) (int translationSpeed) (int id) (int makeActive) 
+%code int result = ISceneManagerAddCameraSceneNodeMaya(parent, rotateSpeed, zoomSpeed, translationSpeed, id, makeActive);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddCameraSceneNodeFPS :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int rotateSpeed) (int moveSpeed) (int id) (int keyMapArray) (int keyMapSize) (int noVerticalMovement) (int jumpSpeed) (int invertMouse) (int makeActive) 
+%code int result = ISceneManagerAddCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, keyMapArray, keyMapSize, noVerticalMovement, jumpSpeed, invertMouse, makeActive);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddLightSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int position) (int color) (int radius) (int id) 
+%code int result = ISceneManagerAddLightSceneNode(parent, position, color, radius, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddBillboardSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int size) (int position) (int id) (int colorTop) (int colorBottom) 
+%code int result = ISceneManagerAddBillboardSceneNode(parent, size, position, id, colorTop, colorBottom);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddSkyBoxSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int top) (int bottom) (int left) (int right) (int front) (int back) (int parent) (int id) 
+%code int result = ISceneManagerAddSkyBoxSceneNode(top, bottom, left, right, front, back, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddSkyDomeSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int horiRes) (int vertRes) (int texturePercentage) (int spherePercentage) (int radius) (int parent) (int id) 
+%code int result = ISceneManagerAddSkyDomeSceneNode(texture, horiRes, vertRes, texturePercentage, spherePercentage, radius, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddParticleSystemSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int withDefaultEmitter) (int parent) (int id) (int position) (int rotation) (int scale) 
+%code int result = ISceneManagerAddParticleSystemSceneNode(withDefaultEmitter, parent, id, position, rotation, scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddTerrainSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int heightMapFileName) (int parent) (int id) (int position) (int rotation) (int scale) (int vertexColor) (int maxLOD) (int patchSize) (int smoothFactor) (int addAlsoIfHeightmapEmpty) 
+%code int result = ISceneManagerAddTerrainSceneNode(heightMapFileName, parent, id, position, rotation, scale, vertexColor, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddTerrainSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int heightMapFile) (int parent) (int id) (int position) (int rotation) (int scale) (int vertexColor) (int maxLOD) (int patchSize) (int smoothFactor) (int addAlsoIfHeightmapEmpty) 
+%code int result = ISceneManagerAddTerrainSceneNode(heightMapFile, parent, id, position, rotation, scale, vertexColor, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddQuake3SceneNode :: Int -> Int -> Int -> Int -> IO ()
+%call (int meshBuffer) (int shader) (int parent) (int id) 
+%code int result = ISceneManagerAddQuake3SceneNode(meshBuffer, shader, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddEmptySceneNode :: Int -> Int -> IO ()
+%call (int parent) (int id) 
+%code int result = ISceneManagerAddEmptySceneNode(parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddDummyTransformationSceneNode :: Int -> Int -> IO ()
+%call (int parent) (int id) 
+%code int result = ISceneManagerAddDummyTransformationSceneNode(parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddTextSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int font) (int text) (int color) (int parent) (int position) (int id) 
+%code int result = ISceneManagerAddTextSceneNode(font, text, color, parent, position, id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddBillboardTextSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int font) (int text) (int parent) (int size) (int position) (int id) (int colorTop) (int colorBottom) 
+%code int result = ISceneManagerAddBillboardTextSceneNode(font, text, parent, size, position, id, colorTop, colorBottom);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddHillPlaneMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int tileSize) (int tileCount) (int material) (int hillHeight) (int countHills) (int textureRepeatCount) 
+%code int result = ISceneManagerAddHillPlaneMesh(name, tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddTerrainMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int meshname) (int texture) (int heightmap) (int stretchSize) (int maxHeight) (int defaultVertexBlockSize) 
+%code int result = ISceneManagerAddTerrainMesh(meshname, texture, heightmap, stretchSize, maxHeight, defaultVertexBlockSize);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddArrowMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int vtxColor0) (int vtxColor1) (int tesselationCylinder) (int tesselationCone) (int height) (int cylinderHeight) (int width0) (int width1) 
+%code int result = ISceneManagerAddArrowMesh(name, vtxColor0, vtxColor1, tesselationCylinder, tesselationCone, height, cylinderHeight, width0, width1);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddSphereMesh :: Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int radius) (int polyCountX) (int polyCountY) 
+%code int result = ISceneManagerAddSphereMesh(name, radius, polyCountX, polyCountY);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddVolumeLightMesh :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int SubdivideU) (int SubdivideV) (int FootColor) (int TailColor) 
+%code int result = ISceneManagerAddVolumeLightMesh(name, SubdivideU, SubdivideV, FootColor, TailColor);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetRootSceneNode :: IO ()
+%call 
+%code int result = ISceneManagerGetRootSceneNode();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeFromId :: Int -> Int -> IO ()
+%call (int id) (int start) 
+%code int result = ISceneManagerGetSceneNodeFromId(id, start);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeFromName :: Int -> Int -> IO ()
+%call (int name) (int start) 
+%code int result = ISceneManagerGetSceneNodeFromName(name, start);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeFromType :: Int -> Int -> IO ()
+%call (int type) (int start) 
+%code int result = ISceneManagerGetSceneNodeFromType(type, start);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodesFromType :: Int -> Int -> Int -> IO ()
+%call (int type) (int outNodes) (int start) 
+%code int result = ISceneManagerGetSceneNodesFromType(type, outNodes, start);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetActiveCamera :: IO ()
+%call 
+%code int result = ISceneManagerGetActiveCamera();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerSetActiveCamera :: Int -> IO ()
+%call (int camera) 
+%code int result = ISceneManagerSetActiveCamera(camera);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerSetShadowColor :: Int -> IO ()
+%call (int color) 
+%code int result = ISceneManagerSetShadowColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetShadowColor :: IO ()
+%call 
+%code int result = ISceneManagerGetShadowColor();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerRegisterNodeForRendering :: Int -> Int -> IO ()
+%call (int node) (int pass) 
+%code int result = ISceneManagerRegisterNodeForRendering(node, pass);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerDrawAll :: IO ()
+%call 
+%code int result = ISceneManagerDrawAll();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateRotationAnimator :: Int -> IO ()
+%call (int rotationSpeed) 
+%code int result = ISceneManagerCreateRotationAnimator(rotationSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateFlyCircleAnimator :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int center) (int radius) (int speed) (int direction) (int startPosition) (int radiusEllipsoid) 
+%code int result = ISceneManagerCreateFlyCircleAnimator(center, radius, speed, direction, startPosition, radiusEllipsoid);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateFlyStraightAnimator :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int startPoint) (int endPoint) (int timeForWay) (int loop) (int pingpong) 
+%code int result = ISceneManagerCreateFlyStraightAnimator(startPoint, endPoint, timeForWay, loop, pingpong);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateTextureAnimator :: Int -> Int -> Int -> IO ()
+%call (int textures) (int timePerFrame) (int loop) 
+%code int result = ISceneManagerCreateTextureAnimator(textures, timePerFrame, loop);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateDeleteAnimator :: Int -> IO ()
+%call (int timeMs) 
+%code int result = ISceneManagerCreateDeleteAnimator(timeMs);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateCollisionResponseAnimator :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int world) (int sceneNode) (int ellipsoidRadius) (int gravityPerSecond) (int ellipsoidTranslation) (int slidingValue) 
+%code int result = ISceneManagerCreateCollisionResponseAnimator(world, sceneNode, ellipsoidRadius, gravityPerSecond, ellipsoidTranslation, slidingValue);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateFollowSplineAnimator :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int startTime) (int points) (int speed) (int tightness) (int loop) (int pingpong) 
+%code int result = ISceneManagerCreateFollowSplineAnimator(startTime, points, speed, tightness, loop, pingpong);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateTriangleSelector :: Int -> Int -> IO ()
+%call (int mesh) (int node) 
+%code int result = ISceneManagerCreateTriangleSelector(mesh, node);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateTriangleSelector :: Int -> IO ()
+%call (int node) 
+%code int result = ISceneManagerCreateTriangleSelector(node);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateTriangleSelectorFromBoundingBox :: Int -> IO ()
+%call (int node) 
+%code int result = ISceneManagerCreateTriangleSelectorFromBoundingBox(node);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateOctreeTriangleSelector :: Int -> Int -> Int -> IO ()
+%call (int mesh) (int node) (int minimalPolysPerNode) 
+%code int result = ISceneManagerCreateOctreeTriangleSelector(mesh, node, minimalPolysPerNode);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateOctTreeTriangleSelector :: Int -> Int -> Int -> IO ()
+%call (int mesh) (int node) (int minimalPolysPerNode) 
+%code int result = ISceneManagerCreateOctTreeTriangleSelector(mesh, node, minimalPolysPerNode);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateMetaTriangleSelector :: IO ()
+%call 
+%code int result = ISceneManagerCreateMetaTriangleSelector();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateTerrainTriangleSelector :: Int -> Int -> IO ()
+%call (int node) (int LOD) 
+%code int result = ISceneManagerCreateTerrainTriangleSelector(node, LOD);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddExternalMeshLoader :: Int -> IO ()
+%call (int externalLoader) 
+%code int result = ISceneManagerAddExternalMeshLoader(externalLoader);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneCollisionManager :: IO ()
+%call 
+%code int result = ISceneManagerGetSceneCollisionManager();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetMeshManipulator :: IO ()
+%call 
+%code int result = ISceneManagerGetMeshManipulator();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddToDeletionQueue :: Int -> IO ()
+%call (int node) 
+%code int result = ISceneManagerAddToDeletionQueue(node);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerPostEventFromUser :: Int -> IO ()
+%call (int event) 
+%code int result = ISceneManagerPostEventFromUser(event);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerClear :: IO ()
+%call 
+%code int result = ISceneManagerClear();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetParameters :: IO ()
+%call 
+%code int result = ISceneManagerGetParameters();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeRenderPass :: IO ()
+%call 
+%code int result = ISceneManagerGetSceneNodeRenderPass();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetDefaultSceneNodeFactory :: IO ()
+%call 
+%code int result = ISceneManagerGetDefaultSceneNodeFactory();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerRegisterSceneNodeFactory :: Int -> IO ()
+%call (int factoryToAdd) 
+%code int result = ISceneManagerRegisterSceneNodeFactory(factoryToAdd);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetRegisteredSceneNodeFactoryCount :: IO ()
+%call 
+%code int result = ISceneManagerGetRegisteredSceneNodeFactoryCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeFactory :: Int -> IO ()
+%call (int index) 
+%code int result = ISceneManagerGetSceneNodeFactory(index);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetDefaultSceneNodeAnimatorFactory :: IO ()
+%call 
+%code int result = ISceneManagerGetDefaultSceneNodeAnimatorFactory();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerRegisterSceneNodeAnimatorFactory :: Int -> IO ()
+%call (int factoryToAdd) 
+%code int result = ISceneManagerRegisterSceneNodeAnimatorFactory(factoryToAdd);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount :: IO ()
+%call 
+%code int result = ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeAnimatorFactory :: Int -> IO ()
+%call (int index) 
+%code int result = ISceneManagerGetSceneNodeAnimatorFactory(index);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetSceneNodeTypeName :: Int -> IO ()
+%call (int type) 
+%code int result = ISceneManagerGetSceneNodeTypeName(type);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetAnimatorTypeName :: Int -> IO ()
+%call (int type) 
+%code int result = ISceneManagerGetAnimatorTypeName(type);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerAddSceneNode :: Int -> Int -> IO ()
+%call (int sceneNodeTypeName) (int parent) 
+%code int result = ISceneManagerAddSceneNode(sceneNodeTypeName, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateNewSceneManager :: Int -> IO ()
+%call (int cloneContent) 
+%code int result = ISceneManagerCreateNewSceneManager(cloneContent);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerSaveScene :: Int -> Int -> IO ()
+%call (int filename) (int userDataSerializer) 
+%code int result = ISceneManagerSaveScene(filename, userDataSerializer);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerSaveScene :: Int -> Int -> IO ()
+%call (int file) (int userDataSerializer) 
+%code int result = ISceneManagerSaveScene(file, userDataSerializer);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerLoadScene :: Int -> Int -> IO ()
+%call (int filename) (int userDataSerializer) 
+%code int result = ISceneManagerLoadScene(filename, userDataSerializer);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerLoadScene :: Int -> Int -> IO ()
+%call (int file) (int userDataSerializer) 
+%code int result = ISceneManagerLoadScene(file, userDataSerializer);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateMeshWriter :: Int -> IO ()
+%call (int type) 
+%code int result = ISceneManagerCreateMeshWriter(type);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerCreateSkinnedMesh :: IO ()
+%call 
+%code int result = ISceneManagerCreateSkinnedMesh();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerSetAmbientLight :: Int -> IO ()
+%call (int ambientColor) 
+%code int result = ISceneManagerSetAmbientLight(ambientColor);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetAmbientLight :: IO ()
+%call 
+%code int result = ISceneManagerGetAmbientLight();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerSetLightManager :: Int -> IO ()
+%call (int lightManager) 
+%code int result = ISceneManagerSetLightManager(lightManager);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerGetGeometryCreator :: IO ()
+%call 
+%code int result = ISceneManagerGetGeometryCreator();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneManagerIsCulled :: Int -> IO ()
+%call (int node) 
+%code int result = ISceneManagerIsCulled(node);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverBeginScene :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int backBuffer) (int zBuffer) (int color) (int videoData) (int sourceRect) 
+%code int result = IVideoDriverBeginScene(backBuffer, zBuffer, color, videoData, sourceRect);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverEndScene :: IO ()
+%call 
+%code int result = IVideoDriverEndScene();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverQueryFeature :: Int -> IO ()
+%call (int feature) 
+%code int result = IVideoDriverQueryFeature(feature);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDisableFeature :: Int -> Int -> IO ()
+%call (int feature) (int flag) 
+%code int result = IVideoDriverDisableFeature(feature, flag);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCheckDriverReset :: IO ()
+%call 
+%code int result = IVideoDriverCheckDriverReset();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetTransform :: Int -> Int -> IO ()
+%call (int state) (int mat) 
+%code int result = IVideoDriverSetTransform(state, mat);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetTransform :: Int -> IO ()
+%call (int state) 
+%code int result = IVideoDriverGetTransform(state);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetImageLoaderCount :: IO ()
+%call 
+%code int result = IVideoDriverGetImageLoaderCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetImageLoader :: Int -> IO ()
+%call (int n) 
+%code int result = IVideoDriverGetImageLoader(n);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetImageWriterCount :: IO ()
+%call 
+%code int result = IVideoDriverGetImageWriterCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetImageWriter :: Int -> IO ()
+%call (int n) 
+%code int result = IVideoDriverGetImageWriter(n);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetMaterial :: Int -> IO ()
+%call (int material) 
+%code int result = IVideoDriverSetMaterial(material);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetTexture :: Int -> IO ()
+%call (int filename) 
+%code int result = IVideoDriverGetTexture(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetTexture :: Int -> IO ()
+%call (int file) 
+%code int result = IVideoDriverGetTexture(file);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetTextureByIndex :: Int -> IO ()
+%call (int index) 
+%code int result = IVideoDriverGetTextureByIndex(index);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetTextureCount :: IO ()
+%call 
+%code int result = IVideoDriverGetTextureCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRenameTexture :: Int -> Int -> IO ()
+%call (int texture) (int newName) 
+%code int result = IVideoDriverRenameTexture(texture, newName);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddTexture :: Int -> Int -> Int -> IO ()
+%call (int size) (int name) (int format) 
+%code int result = IVideoDriverAddTexture(size, name, format);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddTexture :: Int -> Int -> Int -> IO ()
+%call (int name) (int image) (int mipmapData) 
+%code int result = IVideoDriverAddTexture(name, image, mipmapData);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddRenderTargetTexture :: Int -> Int -> Int -> IO ()
+%call (int size) (int name) (int format) 
+%code int result = IVideoDriverAddRenderTargetTexture(size, name, format);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRemoveTexture :: Int -> IO ()
+%call (int texture) 
+%code int result = IVideoDriverRemoveTexture(texture);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRemoveAllTextures :: IO ()
+%call 
+%code int result = IVideoDriverRemoveAllTextures();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRemoveHardwareBuffer :: Int -> IO ()
+%call (int mb) 
+%code int result = IVideoDriverRemoveHardwareBuffer(mb);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRemoveAllHardwareBuffers :: IO ()
+%call 
+%code int result = IVideoDriverRemoveAllHardwareBuffers();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateOcclusionQuery :: Int -> Int -> IO ()
+%call (int node) (int mesh) 
+%code int result = IVideoDriverCreateOcclusionQuery(node, mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRemoveOcclusionQuery :: Int -> IO ()
+%call (int node) 
+%code int result = IVideoDriverRemoveOcclusionQuery(node);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRemoveAllOcclusionQueries :: IO ()
+%call 
+%code int result = IVideoDriverRemoveAllOcclusionQueries();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRunOcclusionQuery :: Int -> Int -> IO ()
+%call (int node) (int visible) 
+%code int result = IVideoDriverRunOcclusionQuery(node, visible);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverRunAllOcclusionQueries :: Int -> IO ()
+%call (int visible) 
+%code int result = IVideoDriverRunAllOcclusionQueries(visible);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverUpdateOcclusionQuery :: Int -> Int -> IO ()
+%call (int node) (int block) 
+%code int result = IVideoDriverUpdateOcclusionQuery(node, block);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverUpdateAllOcclusionQueries :: Int -> IO ()
+%call (int block) 
+%code int result = IVideoDriverUpdateAllOcclusionQueries(block);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetOcclusionQueryResult :: Int -> IO ()
+%call (int node) 
+%code int result = IVideoDriverGetOcclusionQueryResult(node);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverMakeColorKeyTexture :: Int -> Int -> Int -> IO ()
+%call (int texture) (int color) (int zeroTexels) 
+%code int result = IVideoDriverMakeColorKeyTexture(texture, color, zeroTexels);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverMakeColorKeyTexture :: Int -> Int -> Int -> IO ()
+%call (int texture) (int colorKeyPixelPos) (int zeroTexels) 
+%code int result = IVideoDriverMakeColorKeyTexture(texture, colorKeyPixelPos, zeroTexels);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverMakeNormalMapTexture :: Int -> Int -> IO ()
+%call (int texture) (int amplitude) 
+%code int result = IVideoDriverMakeNormalMapTexture(texture, amplitude);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetRenderTarget :: Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int clearBackBuffer) (int clearZBuffer) (int color) 
+%code int result = IVideoDriverSetRenderTarget(texture, clearBackBuffer, clearZBuffer, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetRenderTarget :: Int -> Int -> Int -> Int -> IO ()
+%call (int target) (int clearTarget) (int clearZBuffer) (int color) 
+%code int result = IVideoDriverSetRenderTarget(target, clearTarget, clearZBuffer, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetRenderTarget :: Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int clearBackBuffer) (int clearZBuffer) (int color) 
+%code int result = IVideoDriverSetRenderTarget(texture, clearBackBuffer, clearZBuffer, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetViewPort :: Int -> IO ()
+%call (int area) 
+%code int result = IVideoDriverSetViewPort(area);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetViewPort :: IO ()
+%call 
+%code int result = IVideoDriverGetViewPort();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int primCount) (int vType) (int pType) (int iType) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DVertexPrimitiveList :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int primCount) (int vType) (int pType) (int iType) 
+%code int result = IVideoDriverDraw2DVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawIndexedTriangleList :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int triangleCount) 
+%code int result = IVideoDriverDrawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> IO ()
+%call (int EPT_TRIANGLES) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(EPT_TRIANGLES);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawIndexedTriangleList :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int triangleCount) 
+%code int result = IVideoDriverDrawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> IO ()
+%call (int EPT_TRIANGLES) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(EPT_TRIANGLES);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawIndexedTriangleList :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int triangleCount) 
+%code int result = IVideoDriverDrawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> IO ()
+%call (int EPT_TRIANGLES) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(EPT_TRIANGLES);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawIndexedTriangleFan :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int triangleCount) 
+%code int result = IVideoDriverDrawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> IO ()
+%call (int EPT_TRIANGLE_FAN) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawIndexedTriangleFan :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int triangleCount) 
+%code int result = IVideoDriverDrawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> IO ()
+%call (int EPT_TRIANGLE_FAN) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawIndexedTriangleFan :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int vertexCount) (int indexList) (int triangleCount) 
+%code int result = IVideoDriverDrawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawVertexPrimitiveList :: Int -> IO ()
+%call (int EPT_TRIANGLE_FAN) 
+%code int result = IVideoDriverDrawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw3DLine :: Int -> Int -> Int -> IO ()
+%call (int start) (int end) (int color) 
+%code int result = IVideoDriverDraw3DLine(start, end, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw3DTriangle :: Int -> Int -> IO ()
+%call (int triangle) (int color) 
+%code int result = IVideoDriverDraw3DTriangle(triangle, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw3DBox :: Int -> Int -> IO ()
+%call (int box) (int color) 
+%code int result = IVideoDriverDraw3DBox(box, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DImage :: Int -> Int -> IO ()
+%call (int texture) (int destPos) 
+%code int result = IVideoDriverDraw2DImage(texture, destPos);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DImage :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int destPos) (int sourceRect) (int clipRect) (int color) (int useAlphaChannelOfTexture) 
+%code int result = IVideoDriverDraw2DImage(texture, destPos, sourceRect, clipRect, color, useAlphaChannelOfTexture);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DImageBatch :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int pos) (int sourceRects) (int indices) (int kerningWidth) (int clipRect) (int color) (int useAlphaChannelOfTexture) 
+%code int result = IVideoDriverDraw2DImageBatch(texture, pos, sourceRects, indices, kerningWidth, clipRect, color, useAlphaChannelOfTexture);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DImageBatch :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int positions) (int sourceRects) (int clipRect) (int color) (int useAlphaChannelOfTexture) 
+%code int result = IVideoDriverDraw2DImageBatch(texture, positions, sourceRects, clipRect, color, useAlphaChannelOfTexture);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DImage :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int destRect) (int sourceRect) (int clipRect) (int colors) (int useAlphaChannelOfTexture) 
+%code int result = IVideoDriverDraw2DImage(texture, destRect, sourceRect, clipRect, colors, useAlphaChannelOfTexture);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DRectangle :: Int -> Int -> Int -> IO ()
+%call (int color) (int pos) (int clip) 
+%code int result = IVideoDriverDraw2DRectangle(color, pos, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DRectangle :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int pos) (int colorLeftUp) (int colorRightUp) (int colorLeftDown) (int colorRightDown) (int clip) 
+%code int result = IVideoDriverDraw2DRectangle(pos, colorLeftUp, colorRightUp, colorLeftDown, colorRightDown, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DRectangleOutline :: Int -> Int -> IO ()
+%call (int pos) (int color) 
+%code int result = IVideoDriverDraw2DRectangleOutline(pos, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DLine :: Int -> Int -> Int -> IO ()
+%call (int start) (int end) (int color) 
+%code int result = IVideoDriverDraw2DLine(start, end, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawPixel :: Int -> Int -> Int -> IO ()
+%call (int x) (int y) (int color) 
+%code int result = IVideoDriverDrawPixel(x, y, color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDraw2DPolygon :: Int -> Int -> Int -> Int -> IO ()
+%call (int center) (int radius) (int color) (int vertexCount) 
+%code int result = IVideoDriverDraw2DPolygon(center, radius, color, vertexCount);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawStencilShadowVolume :: Int -> Int -> Int -> IO ()
+%call (int triangles) (int count) (int zfail) 
+%code int result = IVideoDriverDrawStencilShadowVolume(triangles, count, zfail);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawStencilShadow :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int clearStencilBuffer) (int leftUpEdge) (int rightUpEdge) (int leftDownEdge) (int rightDownEdge) 
+%code int result = IVideoDriverDrawStencilShadow(clearStencilBuffer, leftUpEdge, rightUpEdge, leftDownEdge, rightDownEdge);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDrawMeshBuffer :: Int -> IO ()
+%call (int mb) 
+%code int result = IVideoDriverDrawMeshBuffer(mb);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetFog :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int color) (int fogType) (int start) (int end) (int density) (int pixelFog) (int rangeFog) 
+%code int result = IVideoDriverSetFog(color, fogType, start, end, density, pixelFog, rangeFog);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetFog :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int color) (int fogType) (int start) (int end) (int density) (int pixelFog) (int rangeFog) 
+%code int result = IVideoDriverGetFog(color, fogType, start, end, density, pixelFog, rangeFog);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetColorFormat :: IO ()
+%call 
+%code int result = IVideoDriverGetColorFormat();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetScreenSize :: IO ()
+%call 
+%code int result = IVideoDriverGetScreenSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetCurrentRenderTargetSize :: IO ()
+%call 
+%code int result = IVideoDriverGetCurrentRenderTargetSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetFPS :: IO ()
+%call 
+%code int result = IVideoDriverGetFPS();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetPrimitiveCountDrawn :: Int -> IO ()
+%call (int mode) 
+%code int result = IVideoDriverGetPrimitiveCountDrawn(mode);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverDeleteAllDynamicLights :: IO ()
+%call 
+%code int result = IVideoDriverDeleteAllDynamicLights();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddDynamicLight :: Int -> IO ()
+%call (int light) 
+%code int result = IVideoDriverAddDynamicLight(light);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaximalDynamicLightAmount :: IO ()
+%call 
+%code int result = IVideoDriverGetMaximalDynamicLightAmount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetDynamicLightCount :: IO ()
+%call 
+%code int result = IVideoDriverGetDynamicLightCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetDynamicLight :: Int -> IO ()
+%call (int idx) 
+%code int result = IVideoDriverGetDynamicLight(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverTurnLightOn :: Int -> Int -> IO ()
+%call (int lightIndex) (int turnOn) 
+%code int result = IVideoDriverTurnLightOn(lightIndex, turnOn);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetName :: IO ()
+%call 
+%code int result = IVideoDriverGetName();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddExternalImageLoader :: Int -> IO ()
+%call (int loader) 
+%code int result = IVideoDriverAddExternalImageLoader(loader);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddExternalImageWriter :: Int -> IO ()
+%call (int writer) 
+%code int result = IVideoDriverAddExternalImageWriter(writer);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaximalPrimitiveCount :: IO ()
+%call 
+%code int result = IVideoDriverGetMaximalPrimitiveCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetTextureCreationFlag :: Int -> Int -> IO ()
+%call (int flag) (int enabled) 
+%code int result = IVideoDriverSetTextureCreationFlag(flag, enabled);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetTextureCreationFlag :: Int -> IO ()
+%call (int flag) 
+%code int result = IVideoDriverGetTextureCreationFlag(flag);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImageFromFile :: Int -> IO ()
+%call (int filename) 
+%code int result = IVideoDriverCreateImageFromFile(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImageFromFile :: Int -> IO ()
+%call (int file) 
+%code int result = IVideoDriverCreateImageFromFile(file);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverWriteImageToFile :: Int -> Int -> Int -> IO ()
+%call (int image) (int filename) (int param) 
+%code int result = IVideoDriverWriteImageToFile(image, filename, param);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverWriteImageToFile :: Int -> Int -> Int -> IO ()
+%call (int image) (int file) (int param) 
+%code int result = IVideoDriverWriteImageToFile(image, file, param);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImageFromData :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int format) (int size) (int data) (int ownForeignMemory) (int deleteMemory) 
+%code int result = IVideoDriverCreateImageFromData(format, size, data, ownForeignMemory, deleteMemory);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImage :: Int -> Int -> IO ()
+%call (int format) (int size) 
+%code int result = IVideoDriverCreateImage(format, size);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImage :: Int -> Int -> IO ()
+%call (int format) (int imageToCopy) 
+%code int result = IVideoDriverCreateImage(format, imageToCopy);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImage :: Int -> Int -> Int -> IO ()
+%call (int imageToCopy) (int pos) (int size) 
+%code int result = IVideoDriverCreateImage(imageToCopy, pos, size);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateImage :: Int -> Int -> Int -> IO ()
+%call (int texture) (int pos) (int size) 
+%code int result = IVideoDriverCreateImage(texture, pos, size);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverOnResize :: Int -> IO ()
+%call (int size) 
+%code int result = IVideoDriverOnResize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverAddMaterialRenderer :: Int -> Int -> IO ()
+%call (int renderer) (int name) 
+%code int result = IVideoDriverAddMaterialRenderer(renderer, name);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaterialRenderer :: Int -> IO ()
+%call (int idx) 
+%code int result = IVideoDriverGetMaterialRenderer(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaterialRendererCount :: IO ()
+%call 
+%code int result = IVideoDriverGetMaterialRendererCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaterialRendererName :: Int -> IO ()
+%call (int idx) 
+%code int result = IVideoDriverGetMaterialRendererName(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetMaterialRendererName :: Int -> Int -> IO ()
+%call (int idx) (int name) 
+%code int result = IVideoDriverSetMaterialRendererName(idx, name);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateAttributesFromMaterial :: Int -> IO ()
+%call (int material) 
+%code int result = IVideoDriverCreateAttributesFromMaterial(material);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverFillMaterialStructureFromAttributes :: Int -> Int -> IO ()
+%call (int outMaterial) (int attributes) 
+%code int result = IVideoDriverFillMaterialStructureFromAttributes(outMaterial, attributes);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetExposedVideoData :: IO ()
+%call 
+%code int result = IVideoDriverGetExposedVideoData();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetDriverType :: IO ()
+%call 
+%code int result = IVideoDriverGetDriverType();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetGPUProgrammingServices :: IO ()
+%call 
+%code int result = IVideoDriverGetGPUProgrammingServices();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMeshManipulator :: IO ()
+%call 
+%code int result = IVideoDriverGetMeshManipulator();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverClearZBuffer :: IO ()
+%call 
+%code int result = IVideoDriverClearZBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverCreateScreenShot :: IO ()
+%call 
+%code int result = IVideoDriverCreateScreenShot();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverFindTexture :: Int -> IO ()
+%call (int filename) 
+%code int result = IVideoDriverFindTexture(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetClipPlane :: Int -> Int -> Int -> IO ()
+%call (int index) (int plane) (int enable) 
+%code int result = IVideoDriverSetClipPlane(index, plane, enable);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverEnableClipPlane :: Int -> Int -> IO ()
+%call (int index) (int enable) 
+%code int result = IVideoDriverEnableClipPlane(index, enable);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetMinHardwareBufferVertexCount :: Int -> IO ()
+%call (int count) 
+%code int result = IVideoDriverSetMinHardwareBufferVertexCount(count);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetOverrideMaterial :: IO ()
+%call 
+%code int result = IVideoDriverGetOverrideMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaterial2D :: IO ()
+%call 
+%code int result = IVideoDriverGetMaterial2D();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverEnableMaterial2D :: Int -> IO ()
+%call (int enable) 
+%code int result = IVideoDriverEnableMaterial2D(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetVendorInfo :: IO ()
+%call 
+%code int result = IVideoDriverGetVendorInfo();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetAmbientLight :: Int -> IO ()
+%call (int color) 
+%code int result = IVideoDriverSetAmbientLight(color);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverSetAllowZWriteOnTransparent :: Int -> IO ()
+%call (int flag) 
+%code int result = IVideoDriverSetAllowZWriteOnTransparent(flag);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverGetMaxTextureSize :: IO ()
+%call 
+%code int result = IVideoDriverGetMaxTextureSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoDriverConvertColor :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int sP) (int sF) (int sN) (int dP) (int dF) 
+%code int result = IVideoDriverConvertColor(sP, sF, sN, dP, dF);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshGetJointCount :: IO ()
+%call 
+%code int result = ISkinnedMeshGetJointCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshGetJointName :: Int -> IO ()
+%call (int number) 
+%code int result = ISkinnedMeshGetJointName(number);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshGetJointNumber :: Int -> IO ()
+%call (int name) 
+%code int result = ISkinnedMeshGetJointNumber(name);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshUseAnimationFrom :: Int -> IO ()
+%call (int mesh) 
+%code int result = ISkinnedMeshUseAnimationFrom(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshUpdateNormalsWhenAnimating :: Int -> IO ()
+%call (int on) 
+%code int result = ISkinnedMeshUpdateNormalsWhenAnimating(on);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshSetInterpolationMode :: Int -> IO ()
+%call (int mode) 
+%code int result = ISkinnedMeshSetInterpolationMode(mode);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshAnimateMesh :: Int -> Int -> IO ()
+%call (int frame) (int blend) 
+%code int result = ISkinnedMeshAnimateMesh(frame, blend);
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshSkinMesh :: IO ()
+%call 
+%code int result = ISkinnedMeshSkinMesh();
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshConvertMeshToTangents :: IO ()
+%call 
+%code int result = ISkinnedMeshConvertMeshToTangents();
+%fail {result < 0} {getError();}
+
+
+%fun ISkinnedMeshSetHardwareSkinning :: Int -> IO ()
+%call (int on) 
+%code int result = ISkinnedMeshSetHardwareSkinning(on);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoModeListGetVideoModeCount :: IO ()
+%call 
+%code int result = IVideoModeListGetVideoModeCount();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoModeListGetVideoModeResolution :: Int -> IO ()
+%call (int modeNumber) 
+%code int result = IVideoModeListGetVideoModeResolution(modeNumber);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoModeListGetVideoModeResolution :: Int -> Int -> IO ()
+%call (int minSize) (int maxSize) 
+%code int result = IVideoModeListGetVideoModeResolution(minSize, maxSize);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoModeListGetVideoModeDepth :: Int -> IO ()
+%call (int modeNumber) 
+%code int result = IVideoModeListGetVideoModeDepth(modeNumber);
+%fail {result < 0} {getError();}
+
+
+%fun IVideoModeListGetDesktopResolution :: IO ()
+%call 
+%code int result = IVideoModeListGetDesktopResolution();
+%fail {result < 0} {getError();}
+
+
+%fun IVideoModeListGetDesktopDepth :: IO ()
+%call 
+%code int result = IVideoModeListGetDesktopDepth();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheIMeshCache :: IO ()
+%call 
+%code int result = IMeshCacheIMeshCache();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheAddMesh :: Int -> Int -> IO ()
+%call (int name) (int mesh) 
+%code int result = IMeshCacheAddMesh(name, mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheRemoveMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheRemoveMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheRemoveMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheRemoveMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshCount :: IO ()
+%call 
+%code int result = IMeshCacheGetMeshCount();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshIndex :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheGetMeshIndex(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshIndex :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheGetMeshIndex(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshByIndex :: Int -> IO ()
+%call (int index) 
+%code int result = IMeshCacheGetMeshByIndex(index);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshByFilename :: Int -> IO ()
+%call (int filename) 
+%code int result = IMeshCacheGetMeshByFilename(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshFilename :: Int -> IO ()
+%call (int index) 
+%code int result = IMeshCacheGetMeshFilename(index);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshFilename :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheGetMeshFilename(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshFilename :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheGetMeshFilename(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheSetMeshFilename :: Int -> Int -> IO ()
+%call (int index) (int filename) 
+%code int result = IMeshCacheSetMeshFilename(index, filename);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheSetMeshFilename :: Int -> Int -> IO ()
+%call (int mesh) (int filename) 
+%code int result = IMeshCacheSetMeshFilename(mesh, filename);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheSetMeshFilename :: Int -> Int -> IO ()
+%call (int mesh) (int filename) 
+%code int result = IMeshCacheSetMeshFilename(mesh, filename);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshByName :: Int -> IO ()
+%call (int name) 
+%code int result = IMeshCacheGetMeshByName(name);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshName :: Int -> IO ()
+%call (int index) 
+%code int result = IMeshCacheGetMeshName(index);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshName :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheGetMeshName(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheGetMeshName :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshCacheGetMeshName(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheRenameMesh :: Int -> Int -> IO ()
+%call (int index) (int name) 
+%code int result = IMeshCacheRenameMesh(index, name);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheRenameMesh :: Int -> Int -> IO ()
+%call (int mesh) (int name) 
+%code int result = IMeshCacheRenameMesh(mesh, name);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheRenameMesh :: Int -> Int -> IO ()
+%call (int mesh) (int name) 
+%code int result = IMeshCacheRenameMesh(mesh, name);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheIsMeshLoaded :: Int -> IO ()
+%call (int name) 
+%code int result = IMeshCacheIsMeshLoaded(name);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheClear :: IO ()
+%call 
+%code int result = IMeshCacheClear();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshCacheClearUnusedMeshes :: IO ()
+%call 
+%code int result = IMeshCacheClearUnusedMeshes();
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesIGPUProgrammingServices :: IO ()
+%call 
+%code int result = IGPUProgrammingServicesIGPUProgrammingServices();
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddHighLevelShaderMaterial :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgram) (int vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgram) (int pixelShaderEntryPointName) (int psCompileTarget) (int geometryShaderProgram) (int geometryShaderEntryPointName) (int gsCompileTarget) (int inType) (int outType) (int verticesOut) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgram, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddHighLevelShaderMaterial :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgram) (int vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgram) (int pixelShaderEntryPointName) (int psCompileTarget) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgramFileName) (int vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgramFileName) (int pixelShaderEntryPointName) (int psCompileTarget) (int geometryShaderProgramFileName) (int geometryShaderEntryPointName) (int gsCompileTarget) (int inType) (int outType) (int verticesOut) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgramFileName, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgramFileName) (int vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgramFileName) (int pixelShaderEntryPointName) (int psCompileTarget) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgram) (int vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgram) (int pixelShaderEntryPointName) (int psCompileTarget) (int geometryShaderProgram) (int geometryShaderEntryPointName) (int gsCompileTarget) (int inType) (int outType) (int verticesOut) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgram, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgram) (int vertexShaderEntryPointName) (int vsCompileTarget) (int pixelShaderProgram) (int pixelShaderEntryPointName) (int psCompileTarget) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddShaderMaterial :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgram) (int pixelShaderProgram) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddShaderMaterial(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddShaderMaterialFromFiles :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgram) (int pixelShaderProgram) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddShaderMaterialFromFiles(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGPUProgrammingServicesAddShaderMaterialFromFiles :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int vertexShaderProgramFileName) (int pixelShaderProgramFileName) (int callback) (int baseMaterial) (int userData) 
+%code int result = IGPUProgrammingServicesAddShaderMaterialFromFiles(vertexShaderProgramFileName, pixelShaderProgramFileName, callback, baseMaterial, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxIGUIListBox :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_LIST_BOX) 
+%code int result = IGUIListBoxIGUIListBox(environment, parent, id, EGUIET_LIST_BOX);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxGetItemCount :: IO ()
+%call 
+%code int result = IGUIListBoxGetItemCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxGetListItem :: Int -> IO ()
+%call (int id) 
+%code int result = IGUIListBoxGetListItem(id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxAddItem :: Int -> IO ()
+%call (int text) 
+%code int result = IGUIListBoxAddItem(text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxAddItem :: Int -> Int -> IO ()
+%call (int text) (int icon) 
+%code int result = IGUIListBoxAddItem(text, icon);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxRemoveItem :: Int -> IO ()
+%call (int index) 
+%code int result = IGUIListBoxRemoveItem(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxGetIcon :: Int -> IO ()
+%call (int index) 
+%code int result = IGUIListBoxGetIcon(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetSpriteBank :: Int -> IO ()
+%call (int bank) 
+%code int result = IGUIListBoxSetSpriteBank(bank);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxClear :: IO ()
+%call 
+%code int result = IGUIListBoxClear();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxGetSelected :: IO ()
+%call 
+%code int result = IGUIListBoxGetSelected();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetSelected :: Int -> IO ()
+%call (int index) 
+%code int result = IGUIListBoxSetSelected(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetSelected :: Int -> IO ()
+%call (int item) 
+%code int result = IGUIListBoxSetSelected(item);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetAutoScrollEnabled :: Int -> IO ()
+%call (int scroll) 
+%code int result = IGUIListBoxSetAutoScrollEnabled(scroll);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxIsAutoScrollEnabled :: IO ()
+%call 
+%code int result = IGUIListBoxIsAutoScrollEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetItemOverrideColor :: Int -> Int -> IO ()
+%call (int index) (int color) 
+%code int result = IGUIListBoxSetItemOverrideColor(index, color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetItemOverrideColor :: Int -> Int -> Int -> IO ()
+%call (int index) (int colorType) (int color) 
+%code int result = IGUIListBoxSetItemOverrideColor(index, colorType, color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxClearItemOverrideColor :: Int -> IO ()
+%call (int index) 
+%code int result = IGUIListBoxClearItemOverrideColor(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxClearItemOverrideColor :: Int -> Int -> IO ()
+%call (int index) (int colorType) 
+%code int result = IGUIListBoxClearItemOverrideColor(index, colorType);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxHasItemOverrideColor :: Int -> Int -> IO ()
+%call (int index) (int colorType) 
+%code int result = IGUIListBoxHasItemOverrideColor(index, colorType);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxGetItemOverrideColor :: Int -> Int -> IO ()
+%call (int index) (int colorType) 
+%code int result = IGUIListBoxGetItemOverrideColor(index, colorType);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxGetItemDefaultColor :: Int -> IO ()
+%call (int colorType) 
+%code int result = IGUIListBoxGetItemDefaultColor(colorType);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetItem :: Int -> Int -> Int -> IO ()
+%call (int index) (int text) (int icon) 
+%code int result = IGUIListBoxSetItem(index, text, icon);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxInsertItem :: Int -> Int -> Int -> IO ()
+%call (int index) (int text) (int icon) 
+%code int result = IGUIListBoxInsertItem(index, text, icon);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSwapItems :: Int -> Int -> IO ()
+%call (int index1) (int index2) 
+%code int result = IGUIListBoxSwapItems(index1, index2);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetItemHeight :: Int -> IO ()
+%call (int height) 
+%code int result = IGUIListBoxSetItemHeight(height);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIListBoxSetDrawBackground :: Int -> IO ()
+%call (int draw) 
+%code int result = IGUIListBoxSetDrawBackground(draw);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxIGUIEditBox :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_EDIT_BOX) 
+%code int result = IGUIEditBoxIGUIEditBox(environment, parent, id, EGUIET_EDIT_BOX);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetOverrideFont :: Int -> IO ()
+%call (int font) 
+%code int result = IGUIEditBoxSetOverrideFont(font);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetOverrideColor :: Int -> IO ()
+%call (int color) 
+%code int result = IGUIEditBoxSetOverrideColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxGetOverrideColor :: IO ()
+%call 
+%code int result = IGUIEditBoxGetOverrideColor();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxEnableOverrideColor :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIEditBoxEnableOverrideColor(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxIsOverrideColorEnabled :: IO ()
+%call 
+%code int result = IGUIEditBoxIsOverrideColorEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetDrawBorder :: Int -> IO ()
+%call (int border) 
+%code int result = IGUIEditBoxSetDrawBorder(border);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetTextAlignment :: Int -> Int -> IO ()
+%call (int horizontal) (int vertical) 
+%code int result = IGUIEditBoxSetTextAlignment(horizontal, vertical);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetWordWrap :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIEditBoxSetWordWrap(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxIsWordWrapEnabled :: IO ()
+%call 
+%code int result = IGUIEditBoxIsWordWrapEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetMultiLine :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIEditBoxSetMultiLine(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxIsMultiLineEnabled :: IO ()
+%call 
+%code int result = IGUIEditBoxIsMultiLineEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetAutoScroll :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIEditBoxSetAutoScroll(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxIsAutoScrollEnabled :: IO ()
+%call 
+%code int result = IGUIEditBoxIsAutoScrollEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetPasswordBox :: Int -> Int -> IO ()
+%call (int passwordBox) (int passwordChar) 
+%code int result = IGUIEditBoxSetPasswordBox(passwordBox, passwordChar);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxIsPasswordBox :: IO ()
+%call 
+%code int result = IGUIEditBoxIsPasswordBox();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxGetTextDimension :: IO ()
+%call 
+%code int result = IGUIEditBoxGetTextDimension();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxSetMax :: Int -> IO ()
+%call (int max) 
+%code int result = IGUIEditBoxSetMax(max);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEditBoxGetMax :: IO ()
+%call 
+%code int result = IGUIEditBoxGetMax();
+%fail {result < 0} {getError();}
+
+
+%fun ITriangleSelectorITriangleSelector :: IO ()
+%call 
+%code int result = ITriangleSelectorITriangleSelector();
+%fail {result < 0} {getError();}
+
+
+%fun ITriangleSelectorGetTriangleCount :: IO ()
+%call 
+%code int result = ITriangleSelectorGetTriangleCount();
+%fail {result < 0} {getError();}
+
+
+%fun ITriangleSelectorGetTriangles :: Int -> Int -> Int -> Int -> IO ()
+%call (int triangles) (int arraySize) (int outTriangleCount) (int transform) 
+%code int result = ITriangleSelectorGetTriangles(triangles, arraySize, outTriangleCount, transform);
+%fail {result < 0} {getError();}
+
+
+%fun ITriangleSelectorGetTriangles :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int triangles) (int arraySize) (int outTriangleCount) (int box) (int transform) 
+%code int result = ITriangleSelectorGetTriangles(triangles, arraySize, outTriangleCount, box, transform);
+%fail {result < 0} {getError();}
+
+
+%fun ITriangleSelectorGetTriangles :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int triangles) (int arraySize) (int outTriangleCount) (int line) (int transform) 
+%code int result = ITriangleSelectorGetTriangles(triangles, arraySize, outTriangleCount, line, transform);
+%fail {result < 0} {getError();}
+
+
+%fun ITriangleSelectorGetSceneNodeForTriangle :: Int -> IO ()
+%call (int triangleIndex) 
+%code int result = ITriangleSelectorGetSceneNodeForTriangle(triangleIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetColor :: Int -> IO ()
+%call (int color) 
+%code int result = IGUISkinGetColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinSetColor :: Int -> Int -> IO ()
+%call (int which) (int newColor) 
+%code int result = IGUISkinSetColor(which, newColor);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetSize :: Int -> IO ()
+%call (int size) 
+%code int result = IGUISkinGetSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetDefaultText :: Int -> IO ()
+%call (int text) 
+%code int result = IGUISkinGetDefaultText(text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinSetDefaultText :: Int -> Int -> IO ()
+%call (int which) (int newText) 
+%code int result = IGUISkinSetDefaultText(which, newText);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinSetSize :: Int -> Int -> IO ()
+%call (int which) (int size) 
+%code int result = IGUISkinSetSize(which, size);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetFont :: Int -> IO ()
+%call (int which) 
+%code int result = IGUISkinGetFont(which);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinSetFont :: Int -> Int -> IO ()
+%call (int font) (int which) 
+%code int result = IGUISkinSetFont(font, which);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetSpriteBank :: IO ()
+%call 
+%code int result = IGUISkinGetSpriteBank();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinSetSpriteBank :: Int -> IO ()
+%call (int bank) 
+%code int result = IGUISkinSetSpriteBank(bank);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetIcon :: Int -> IO ()
+%call (int icon) 
+%code int result = IGUISkinGetIcon(icon);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinSetIcon :: Int -> Int -> IO ()
+%call (int icon) (int index) 
+%code int result = IGUISkinSetIcon(icon, index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DButtonPaneStandard :: Int -> Int -> Int -> IO ()
+%call (int element) (int rect) (int clip) 
+%code int result = IGUISkinDraw3DButtonPaneStandard(element, rect, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DButtonPanePressed :: Int -> Int -> Int -> IO ()
+%call (int element) (int rect) (int clip) 
+%code int result = IGUISkinDraw3DButtonPanePressed(element, rect, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DSunkenPane :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int element) (int bgcolor) (int flat) (int fillBackGround) (int rect) (int clip) 
+%code int result = IGUISkinDraw3DSunkenPane(element, bgcolor, flat, fillBackGround, rect, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DWindowBackground :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int element) (int drawTitleBar) (int titleBarColor) (int rect) (int clip) (int checkClientArea) 
+%code int result = IGUISkinDraw3DWindowBackground(element, drawTitleBar, titleBarColor, rect, clip, checkClientArea);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DMenuPane :: Int -> Int -> Int -> IO ()
+%call (int element) (int rect) (int clip) 
+%code int result = IGUISkinDraw3DMenuPane(element, rect, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DToolBar :: Int -> Int -> Int -> IO ()
+%call (int element) (int rect) (int clip) 
+%code int result = IGUISkinDraw3DToolBar(element, rect, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DTabButton :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int element) (int active) (int rect) (int clip) (int alignment) 
+%code int result = IGUISkinDraw3DTabButton(element, active, rect, clip, alignment);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw3DTabBody :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int element) (int border) (int background) (int rect) (int clip) (int tabHeight) (int alignment) 
+%code int result = IGUISkinDraw3DTabBody(element, border, background, rect, clip, tabHeight, alignment);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDrawIcon :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int element) (int icon) (int position) (int starttime) (int currenttime) (int loop) (int clip) 
+%code int result = IGUISkinDrawIcon(element, icon, position, starttime, currenttime, loop, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinDraw2DRectangle :: Int -> Int -> Int -> Int -> IO ()
+%call (int element) (int color) (int pos) (int clip) 
+%code int result = IGUISkinDraw2DRectangle(element, color, pos, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISkinGetType :: IO ()
+%call 
+%code int result = IGUISkinGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IDummyTransformationSceneNodeIDummyTransformationSceneNode :: Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int parent) 
+%code int result = IDummyTransformationSceneNodeIDummyTransformationSceneNode(parent, mgr, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IDummyTransformationSceneNodeGetRelativeTransformationMatrix :: IO ()
+%call 
+%code int result = IDummyTransformationSceneNodeGetRelativeTransformationMatrix();
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateAndOpenFile :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemCreateAndOpenFile(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateMemoryReadFile :: Int -> Int -> Int -> Int -> IO ()
+%call (int memory) (int len) (int fileName) (int deleteMemoryWhenDropped) 
+%code int result = IFileSystemCreateMemoryReadFile(memory, len, fileName, deleteMemoryWhenDropped);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateLimitReadFile :: Int -> Int -> Int -> Int -> IO ()
+%call (int fileName) (int alreadyOpenedFile) (int pos) (int areaSize) 
+%code int result = IFileSystemCreateLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateMemoryWriteFile :: Int -> Int -> Int -> Int -> IO ()
+%call (int memory) (int len) (int fileName) (int deleteMemoryWhenDropped) 
+%code int result = IFileSystemCreateMemoryWriteFile(memory, len, fileName, deleteMemoryWhenDropped);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateAndWriteFile :: Int -> Int -> IO ()
+%call (int filename) (int append) 
+%code int result = IFileSystemCreateAndWriteFile(filename, append);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemAddFileArchive :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int filename) (int ignoreCase) (int ignorePaths) (int archiveType) (int password) 
+%code int result = IFileSystemAddFileArchive(filename, ignoreCase, ignorePaths, archiveType, password);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemAddArchiveLoader :: Int -> IO ()
+%call (int loader) 
+%code int result = IFileSystemAddArchiveLoader(loader);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemGetFileArchiveCount :: IO ()
+%call 
+%code int result = IFileSystemGetFileArchiveCount();
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemRemoveFileArchive :: Int -> IO ()
+%call (int index) 
+%code int result = IFileSystemRemoveFileArchive(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemRemoveFileArchive :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemRemoveFileArchive(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemMoveFileArchive :: Int -> Int -> IO ()
+%call (int sourceIndex) (int relative) 
+%code int result = IFileSystemMoveFileArchive(sourceIndex, relative);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemGetFileArchive :: Int -> IO ()
+%call (int index) 
+%code int result = IFileSystemGetFileArchive(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemAddZipFileArchive :: Int -> Int -> Int -> IO ()
+%call (int filename) (int ignoreCase) (int ignorePaths) 
+%code int result = IFileSystemAddZipFileArchive(filename, ignoreCase, ignorePaths);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemAddFolderFileArchive :: Int -> Int -> Int -> IO ()
+%call (int filename) (int ignoreCase) (int ignorePaths) 
+%code int result = IFileSystemAddFolderFileArchive(filename, ignoreCase, ignorePaths);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemAddPakFileArchive :: Int -> Int -> Int -> IO ()
+%call (int filename) (int ignoreCase) (int ignorePaths) 
+%code int result = IFileSystemAddPakFileArchive(filename, ignoreCase, ignorePaths);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemGetWorkingDirectory :: IO ()
+%call 
+%code int result = IFileSystemGetWorkingDirectory();
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemChangeWorkingDirectoryTo :: Int -> IO ()
+%call (int newDirectory) 
+%code int result = IFileSystemChangeWorkingDirectoryTo(newDirectory);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemGetAbsolutePath :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemGetAbsolutePath(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemGetFileDir :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemGetFileDir(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemGetFileBasename :: Int -> Int -> IO ()
+%call (int filename) (int keepExtension) 
+%code int result = IFileSystemGetFileBasename(filename, keepExtension);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemFlattenFilename :: Int -> Int -> IO ()
+%call (int directory) (int root) 
+%code int result = IFileSystemFlattenFilename(directory, root);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateFileList :: IO ()
+%call 
+%code int result = IFileSystemCreateFileList();
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateEmptyFileList :: Int -> Int -> Int -> IO ()
+%call (int path) (int ignoreCase) (int ignorePaths) 
+%code int result = IFileSystemCreateEmptyFileList(path, ignoreCase, ignorePaths);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemSetFileListSystem :: Int -> IO ()
+%call (int listType) 
+%code int result = IFileSystemSetFileListSystem(listType);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemExistFile :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemExistFile(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateXMLReader :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemCreateXMLReader(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateXMLReader :: Int -> IO ()
+%call (int file) 
+%code int result = IFileSystemCreateXMLReader(file);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateXMLReaderUTF8 :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemCreateXMLReaderUTF8(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateXMLReaderUTF8 :: Int -> IO ()
+%call (int file) 
+%code int result = IFileSystemCreateXMLReaderUTF8(file);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateXMLWriter :: Int -> IO ()
+%call (int filename) 
+%code int result = IFileSystemCreateXMLWriter(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateXMLWriter :: Int -> IO ()
+%call (int file) 
+%code int result = IFileSystemCreateXMLWriter(file);
+%fail {result < 0} {getError();}
+
+
+%fun IFileSystemCreateEmptyAttributes :: Int -> IO ()
+%call (int driver) 
+%code int result = IFileSystemCreateEmptyAttributes(driver);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetVertexBuffer :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetIndexBuffer :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetIndexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferSetVertexBuffer :: Int -> IO ()
+%call (int vertexBuffer) 
+%code int result = IDynamicMeshBufferSetVertexBuffer(vertexBuffer);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferSetIndexBuffer :: Int -> IO ()
+%call (int indexBuffer) 
+%code int result = IDynamicMeshBufferSetIndexBuffer(indexBuffer);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetMaterial :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetMaterial :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetBoundingBox :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferSetBoundingBox :: Int -> IO ()
+%call (int box) 
+%code int result = IDynamicMeshBufferSetBoundingBox(box);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferRecalculateBoundingBox :: IO ()
+%call 
+%code int result = IDynamicMeshBufferRecalculateBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferAppend :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int numVertices) (int indices) (int numIndices) 
+%code int result = IDynamicMeshBufferAppend(vertices, numVertices, indices, numIndices);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferAppend :: Int -> IO ()
+%call (int other) 
+%code int result = IDynamicMeshBufferAppend(other);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetHardwareMappingHint_Vertex :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetHardwareMappingHint_Vertex();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetHardwareMappingHint_Index :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetHardwareMappingHint_Index();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferSetHardwareMappingHint :: Int -> Int -> IO ()
+%call (int NewMappingHint) (int Buffer) 
+%code int result = IDynamicMeshBufferSetHardwareMappingHint(NewMappingHint, Buffer);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferSetDirty :: Int -> IO ()
+%call (int Buffer) 
+%code int result = IDynamicMeshBufferSetDirty(Buffer);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetChangedID_Vertex :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetChangedID_Vertex();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetChangedID_Index :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetChangedID_Index();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetVertexType :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetVertexType();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetVertices :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetVertices();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetVertices :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetVertices();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetVertexCount :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetVertexCount();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetIndexType :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetIndexType();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetIndices :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetIndices();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetIndices :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetIndices();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetIndexCount :: IO ()
+%call 
+%code int result = IDynamicMeshBufferGetIndexCount();
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetPosition :: Int -> IO ()
+%call (int i) 
+%code int result = IDynamicMeshBufferGetPosition(i);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetPosition :: Int -> IO ()
+%call (int i) 
+%code int result = IDynamicMeshBufferGetPosition(i);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetTCoords :: Int -> IO ()
+%call (int i) 
+%code int result = IDynamicMeshBufferGetTCoords(i);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetTCoords :: Int -> IO ()
+%call (int i) 
+%code int result = IDynamicMeshBufferGetTCoords(i);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetNormal :: Int -> IO ()
+%call (int i) 
+%code int result = IDynamicMeshBufferGetNormal(i);
+%fail {result < 0} {getError();}
+
+
+%fun IDynamicMeshBufferGetNormal :: Int -> IO ()
+%call (int i) 
+%code int result = IDynamicMeshBufferGetNormal(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetMaterial :: IO ()
+%call 
+%code int result = IMeshBufferGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetMaterial :: IO ()
+%call 
+%code int result = IMeshBufferGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetVertexType :: IO ()
+%call 
+%code int result = IMeshBufferGetVertexType();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetVertices :: IO ()
+%call 
+%code int result = IMeshBufferGetVertices();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetVertices :: IO ()
+%call 
+%code int result = IMeshBufferGetVertices();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetVertexCount :: IO ()
+%call 
+%code int result = IMeshBufferGetVertexCount();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetIndexType :: IO ()
+%call 
+%code int result = IMeshBufferGetIndexType();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetIndices :: IO ()
+%call 
+%code int result = IMeshBufferGetIndices();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetIndices :: IO ()
+%call 
+%code int result = IMeshBufferGetIndices();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetIndexCount :: IO ()
+%call 
+%code int result = IMeshBufferGetIndexCount();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetBoundingBox :: IO ()
+%call 
+%code int result = IMeshBufferGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferSetBoundingBox :: Int -> IO ()
+%call (int box) 
+%code int result = IMeshBufferSetBoundingBox(box);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferRecalculateBoundingBox :: IO ()
+%call 
+%code int result = IMeshBufferRecalculateBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetPosition :: Int -> IO ()
+%call (int i) 
+%code int result = IMeshBufferGetPosition(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetPosition :: Int -> IO ()
+%call (int i) 
+%code int result = IMeshBufferGetPosition(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetNormal :: Int -> IO ()
+%call (int i) 
+%code int result = IMeshBufferGetNormal(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetNormal :: Int -> IO ()
+%call (int i) 
+%code int result = IMeshBufferGetNormal(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetTCoords :: Int -> IO ()
+%call (int i) 
+%code int result = IMeshBufferGetTCoords(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetTCoords :: Int -> IO ()
+%call (int i) 
+%code int result = IMeshBufferGetTCoords(i);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferAppend :: Int -> Int -> Int -> Int -> IO ()
+%call (int vertices) (int numVertices) (int indices) (int numIndices) 
+%code int result = IMeshBufferAppend(vertices, numVertices, indices, numIndices);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferAppend :: Int -> IO ()
+%call (int other) 
+%code int result = IMeshBufferAppend(other);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetHardwareMappingHint_Vertex :: IO ()
+%call 
+%code int result = IMeshBufferGetHardwareMappingHint_Vertex();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetHardwareMappingHint_Index :: IO ()
+%call 
+%code int result = IMeshBufferGetHardwareMappingHint_Index();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferSetHardwareMappingHint :: Int -> Int -> IO ()
+%call (int newMappingHint) (int buffer) 
+%code int result = IMeshBufferSetHardwareMappingHint(newMappingHint, buffer);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferSetDirty :: Int -> IO ()
+%call (int buffer) 
+%code int result = IMeshBufferSetDirty(buffer);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetChangedID_Vertex :: IO ()
+%call 
+%code int result = IMeshBufferGetChangedID_Vertex();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshBufferGetChangedID_Index :: IO ()
+%call 
+%code int result = IMeshBufferGetChangedID_Index();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSMaterial :: IO ()
+%call 
+%code int result = SMaterialSMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSMaterial :: Int -> IO ()
+%call (int other) 
+%code int result = SMaterialSMaterial(other);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialGetTextureMatrix :: Int -> IO ()
+%call (int i) 
+%code int result = SMaterialGetTextureMatrix(i);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialGetTextureMatrix :: Int -> IO ()
+%call (int i) 
+%code int result = SMaterialGetTextureMatrix(i);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSetTextureMatrix :: Int -> Int -> IO ()
+%call (int i) (int mat) 
+%code int result = SMaterialSetTextureMatrix(i, mat);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSetTextureMatrix :: IO ()
+%call 
+%code int result = SMaterialSetTextureMatrix();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialGetTexture :: Int -> IO ()
+%call (int i) 
+%code int result = SMaterialGetTexture(i);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSetTexture :: Int -> Int -> IO ()
+%call (int i) (int tex) 
+%code int result = SMaterialSetTexture(i, tex);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSetFlag :: Int -> Int -> IO ()
+%call (int flag) (int value) 
+%code int result = SMaterialSetFlag(flag, value);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSwitch :: IO ()
+%call 
+%code int result = SMaterialSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialGetFlag :: Int -> IO ()
+%call (int flag) 
+%code int result = SMaterialGetFlag(flag);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialSwitch :: IO ()
+%call 
+%code int result = SMaterialSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialIsTransparent :: IO ()
+%call 
+%code int result = SMaterialIsTransparent();
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererOnSetMaterial :: Int -> Int -> Int -> Int -> IO ()
+%call (int material) (int lastMaterial) (int resetAllRenderstates) (int services) 
+%code int result = IMaterialRendererOnSetMaterial(material, lastMaterial, resetAllRenderstates, services);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererOnRender :: Int -> Int -> IO ()
+%call (int service) (int vtxtype) 
+%code int result = IMaterialRendererOnRender(service, vtxtype);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererOnUnsetMaterial :: IO ()
+%call 
+%code int result = IMaterialRendererOnUnsetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererIsTransparent :: IO ()
+%call 
+%code int result = IMaterialRendererIsTransparent();
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererGetRenderCapability :: IO ()
+%call 
+%code int result = IMaterialRendererGetRenderCapability();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryCreateSceneNodeAnimator :: Int -> Int -> IO ()
+%call (int type) (int target) 
+%code int result = ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(type, target);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryCreateSceneNodeAnimator :: Int -> Int -> IO ()
+%call (int typeName) (int target) 
+%code int result = ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(typeName, target);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType :: Int -> IO ()
+%call (int idx) 
+%code int result = ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(idx);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName :: Int -> IO ()
+%call (int idx) 
+%code int result = ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(idx);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName :: Int -> IO ()
+%call (int type) 
+%code int result = ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(type);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSceneNodeIMeshSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int scale) (int parent) 
+%code int result = IMeshSceneNodeIMeshSceneNode(parent, mgr, id, position, rotation, scale, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSceneNodeSetMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshSceneNodeSetMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSceneNodeGetMesh :: IO ()
+%call 
+%code int result = IMeshSceneNodeGetMesh();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSceneNodeSetReadOnlyMaterials :: Int -> IO ()
+%call (int readonly) 
+%code int result = IMeshSceneNodeSetReadOnlyMaterials(readonly);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSceneNodeIsReadOnlyMaterials :: IO ()
+%call 
+%code int result = IMeshSceneNodeIsReadOnlyMaterials();
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerILogger :: IO ()
+%call 
+%code int result = ILoggerILogger();
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerGetLogLevel :: IO ()
+%call 
+%code int result = ILoggerGetLogLevel();
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerSetLogLevel :: Int -> IO ()
+%call (int ll) 
+%code int result = ILoggerSetLogLevel(ll);
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerLog :: Int -> Int -> IO ()
+%call (int text) (int ll) 
+%code int result = ILoggerLog(text, ll);
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerLog :: Int -> Int -> Int -> IO ()
+%call (int text) (int hint) (int ll) 
+%code int result = ILoggerLog(text, hint, ll);
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerLog :: Int -> Int -> Int -> IO ()
+%call (int text) (int hint) (int ll) 
+%code int result = ILoggerLog(text, hint, ll);
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerLog :: Int -> Int -> Int -> IO ()
+%call (int text) (int hint) (int ll) 
+%code int result = ILoggerLog(text, hint, ll);
+%fail {result < 0} {getError();}
+
+
+%fun ILoggerLog :: Int -> Int -> IO ()
+%call (int text) (int ll) 
+%code int result = ILoggerLog(text, ll);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD3SetInterpolationShift :: Int -> Int -> IO ()
+%call (int shift) (int loopMode) 
+%code int result = IAnimatedMeshMD3SetInterpolationShift(shift, loopMode);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD3GetTagList :: Int -> Int -> Int -> Int -> IO ()
+%call (int frame) (int detailLevel) (int startFrameLoop) (int endFrameLoop) 
+%code int result = IAnimatedMeshMD3GetTagList(frame, detailLevel, startFrameLoop, endFrameLoop);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD3GetOriginalMesh :: IO ()
+%call 
+%code int result = IAnimatedMeshMD3GetOriginalMesh();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCountedIReferenceCounted :: IO ()
+%call 
+%code int result = IReferenceCountedIReferenceCounted();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCountedIReferenceCounted :: IO ()
+%call 
+%code int result = IReferenceCountedIReferenceCounted();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCountedGrab :: IO ()
+%call 
+%code int result = IReferenceCountedGrab();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCountedDrop :: IO ()
+%call 
+%code int result = IReferenceCountedDrop();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCounted_IRR_DEBUG_BREAK_IF :: IO ()
+%call 
+%code int result = IReferenceCounted_IRR_DEBUG_BREAK_IF();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCountedGetReferenceCount :: IO ()
+%call 
+%code int result = IReferenceCountedGetReferenceCount();
+%fail {result < 0} {getError();}
+
+
+%fun IReferenceCountedGetDebugName :: IO ()
+%call 
+%code int result = IReferenceCountedGetDebugName();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterSetMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IParticleMeshEmitterSetMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterSetUseNormalDirection :: Int -> IO ()
+%call (int useNormalDirection) 
+%code int result = IParticleMeshEmitterSetUseNormalDirection(useNormalDirection);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterSetNormalDirectionModifier :: Int -> IO ()
+%call (int normalDirectionModifier) 
+%code int result = IParticleMeshEmitterSetNormalDirectionModifier(normalDirectionModifier);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterSetEveryMeshVertex :: Int -> IO ()
+%call (int everyMeshVertex) 
+%code int result = IParticleMeshEmitterSetEveryMeshVertex(everyMeshVertex);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterGetMesh :: IO ()
+%call 
+%code int result = IParticleMeshEmitterGetMesh();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterIsUsingNormalDirection :: IO ()
+%call 
+%code int result = IParticleMeshEmitterIsUsingNormalDirection();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterGetNormalDirectionModifier :: IO ()
+%call 
+%code int result = IParticleMeshEmitterGetNormalDirectionModifier();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterGetEveryMeshVertex :: IO ()
+%call 
+%code int result = IParticleMeshEmitterGetEveryMeshVertex();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleMeshEmitterGetType :: IO ()
+%call 
+%code int result = IParticleMeshEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ICollisionCallbackOnCollision :: Int -> IO ()
+%call (int animator) 
+%code int result = ICollisionCallbackOnCollision(animator);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseIsFalling :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseIsFalling();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius :: Int -> IO ()
+%call (int radius) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(radius);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetGravity :: Int -> IO ()
+%call (int gravity) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetGravity(gravity);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetGravity :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetGravity();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseJump :: Int -> IO ()
+%call (int jumpSpeed) 
+%code int result = ISceneNodeAnimatorCollisionResponseJump(jumpSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetAnimateTarget :: Int -> IO ()
+%call (int enable) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetAnimateTarget(enable);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetAnimateTarget :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetAnimateTarget();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation :: Int -> IO ()
+%call (int translation) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(translation);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetWorld :: Int -> IO ()
+%call (int newWorld) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetWorld(newWorld);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetWorld :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetWorld();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetTargetNode :: Int -> IO ()
+%call (int node) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetTargetNode(node);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetTargetNode :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetTargetNode();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseCollisionOccurred :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseCollisionOccurred();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetCollisionPoint :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionPoint();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetCollisionTriangle :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionTriangle();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseGetCollisionNode :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCollisionResponseGetCollisionNode();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCollisionResponseSetCollisionCallback :: Int -> IO ()
+%call (int callback) 
+%code int result = ISceneNodeAnimatorCollisionResponseSetCollisionCallback(callback);
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferCDynamicMeshBuffer :: Int -> Int -> IO ()
+%call (int vertexType) (int indexType) 
+%code int result = CDynamicMeshBufferCDynamicMeshBuffer(vertexType, indexType);
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferCVertexBuffer :: IO ()
+%call 
+%code int result = CDynamicMeshBufferCVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferCIndexBuffer :: IO ()
+%call 
+%code int result = CDynamicMeshBufferCIndexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferCDynamicMeshBuffer :: IO ()
+%call 
+%code int result = CDynamicMeshBufferCDynamicMeshBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferGetVertexBuffer :: IO ()
+%call 
+%code int result = CDynamicMeshBufferGetVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferGetIndexBuffer :: IO ()
+%call 
+%code int result = CDynamicMeshBufferGetIndexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferSetVertexBuffer :: Int -> IO ()
+%call (int newVertexBuffer) 
+%code int result = CDynamicMeshBufferSetVertexBuffer(newVertexBuffer);
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferSetIndexBuffer :: Int -> IO ()
+%call (int newIndexBuffer) 
+%code int result = CDynamicMeshBufferSetIndexBuffer(newIndexBuffer);
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferGetMaterial :: IO ()
+%call 
+%code int result = CDynamicMeshBufferGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferGetMaterial :: IO ()
+%call 
+%code int result = CDynamicMeshBufferGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferGetBoundingBox :: IO ()
+%call 
+%code int result = CDynamicMeshBufferGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferSetBoundingBox :: Int -> IO ()
+%call (int box) 
+%code int result = CDynamicMeshBufferSetBoundingBox(box);
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferRecalculateBoundingBox :: IO ()
+%call 
+%code int result = CDynamicMeshBufferRecalculateBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferReset :: Int -> IO ()
+%call (int Pos) 
+%code int result = CDynamicMeshBufferReset(Pos);
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferGetVertexBuffer :: IO ()
+%call 
+%code int result = CDynamicMeshBufferGetVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun CDynamicMeshBufferAddInternalPoint :: Int -> IO ()
+%call (int Pos) 
+%code int result = CDynamicMeshBufferAddInternalPoint(Pos);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontBitmapGetType :: IO ()
+%call 
+%code int result = IGUIFontBitmapGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontBitmapGetSpriteBank :: IO ()
+%call 
+%code int result = IGUIFontBitmapGetSpriteBank();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontBitmapGetSpriteNoFromChar :: Int -> IO ()
+%call (int c) 
+%code int result = IGUIFontBitmapGetSpriteNoFromChar(c);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontBitmapGetKerningWidth :: Int -> Int -> IO ()
+%call (int thisLetter) (int previousLetter) 
+%code int result = IGUIFontBitmapGetKerningWidth(thisLetter, previousLetter);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderIGUIInOutFader :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_IN_OUT_FADER) 
+%code int result = IGUIInOutFaderIGUIInOutFader(environment, parent, id, EGUIET_IN_OUT_FADER);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderGetColor :: IO ()
+%call 
+%code int result = IGUIInOutFaderGetColor();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderSetColor :: Int -> IO ()
+%call (int color) 
+%code int result = IGUIInOutFaderSetColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderSetColor :: Int -> Int -> IO ()
+%call (int source) (int dest) 
+%code int result = IGUIInOutFaderSetColor(source, dest);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderFadeIn :: Int -> IO ()
+%call (int time) 
+%code int result = IGUIInOutFaderFadeIn(time);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderFadeOut :: Int -> IO ()
+%call (int time) 
+%code int result = IGUIInOutFaderFadeOut(time);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIInOutFaderIsReady :: IO ()
+%call 
+%code int result = IGUIInOutFaderIsReady();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxIGUISpinBox :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_SPIN_BOX) 
+%code int result = IGUISpinBoxIGUISpinBox(environment, parent, id, EGUIET_SPIN_BOX);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxGetEditBox :: IO ()
+%call 
+%code int result = IGUISpinBoxGetEditBox();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxSetValue :: Int -> IO ()
+%call (int val) 
+%code int result = IGUISpinBoxSetValue(val);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxGetValue :: IO ()
+%call 
+%code int result = IGUISpinBoxGetValue();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxSetRange :: Int -> Int -> IO ()
+%call (int min) (int max) 
+%code int result = IGUISpinBoxSetRange(min, max);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxGetMin :: IO ()
+%call 
+%code int result = IGUISpinBoxGetMin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxGetMax :: IO ()
+%call 
+%code int result = IGUISpinBoxGetMax();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxSetStepSize :: Int -> IO ()
+%call (int step) 
+%code int result = IGUISpinBoxSetStepSize(step);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxSetDecimalPlaces :: Int -> IO ()
+%call (int places) 
+%code int result = IGUISpinBoxSetDecimalPlaces(places);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpinBoxGetStepSize :: IO ()
+%call 
+%code int result = IGUISpinBoxGetStepSize();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeICameraSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int scale) (int parent) 
+%code int result = ICameraSceneNodeICameraSceneNode(parent, mgr, id, position, rotation, scale, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetProjectionMatrix :: Int -> Int -> IO ()
+%call (int projection) (int isOrthogonal) 
+%code int result = ICameraSceneNodeSetProjectionMatrix(projection, isOrthogonal);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetProjectionMatrix :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetProjectionMatrix();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetViewMatrix :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetViewMatrix();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetViewMatrixAffector :: Int -> IO ()
+%call (int affector) 
+%code int result = ICameraSceneNodeSetViewMatrixAffector(affector);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetViewMatrixAffector :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetViewMatrixAffector();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeOnEvent :: Int -> IO ()
+%call (int event) 
+%code int result = ICameraSceneNodeOnEvent(event);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetTarget :: Int -> IO ()
+%call (int pos) 
+%code int result = ICameraSceneNodeSetTarget(pos);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetRotation :: Int -> IO ()
+%call (int rotation) 
+%code int result = ICameraSceneNodeSetRotation(rotation);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetTarget :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetTarget();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetUpVector :: Int -> IO ()
+%call (int pos) 
+%code int result = ICameraSceneNodeSetUpVector(pos);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetUpVector :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetUpVector();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetNearValue :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetNearValue();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetFarValue :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetFarValue();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetAspectRatio :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetAspectRatio();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetFOV :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetFOV();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetNearValue :: Int -> IO ()
+%call (int zn) 
+%code int result = ICameraSceneNodeSetNearValue(zn);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetFarValue :: Int -> IO ()
+%call (int zf) 
+%code int result = ICameraSceneNodeSetFarValue(zf);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetAspectRatio :: Int -> IO ()
+%call (int aspect) 
+%code int result = ICameraSceneNodeSetAspectRatio(aspect);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetFOV :: Int -> IO ()
+%call (int fovy) 
+%code int result = ICameraSceneNodeSetFOV(fovy);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetViewFrustum :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetViewFrustum();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeSetInputReceiverEnabled :: Int -> IO ()
+%call (int enabled) 
+%code int result = ICameraSceneNodeSetInputReceiverEnabled(enabled);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeIsInputReceiverEnabled :: IO ()
+%call 
+%code int result = ICameraSceneNodeIsInputReceiverEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeIsOrthogonal :: IO ()
+%call 
+%code int result = ICameraSceneNodeIsOrthogonal();
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeBindTargetAndRotation :: Int -> IO ()
+%call (int bound) 
+%code int result = ICameraSceneNodeBindTargetAndRotation(bound);
+%fail {result < 0} {getError();}
+
+
+%fun ICameraSceneNodeGetTargetAndRotationBinding :: IO ()
+%call 
+%code int result = ICameraSceneNodeGetTargetAndRotationBinding();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterSetCenter :: Int -> IO ()
+%call (int center) 
+%code int result = IParticleRingEmitterSetCenter(center);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterSetRadius :: Int -> IO ()
+%call (int radius) 
+%code int result = IParticleRingEmitterSetRadius(radius);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterSetRingThickness :: Int -> IO ()
+%call (int ringThickness) 
+%code int result = IParticleRingEmitterSetRingThickness(ringThickness);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterGetCenter :: IO ()
+%call 
+%code int result = IParticleRingEmitterGetCenter();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterGetRadius :: IO ()
+%call 
+%code int result = IParticleRingEmitterGetRadius();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterGetRingThickness :: IO ()
+%call 
+%code int result = IParticleRingEmitterGetRingThickness();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRingEmitterGetType :: IO ()
+%call 
+%code int result = IParticleRingEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSphereEmitterSetCenter :: Int -> IO ()
+%call (int center) 
+%code int result = IParticleSphereEmitterSetCenter(center);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSphereEmitterSetRadius :: Int -> IO ()
+%call (int radius) 
+%code int result = IParticleSphereEmitterSetRadius(radius);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSphereEmitterGetCenter :: IO ()
+%call 
+%code int result = IParticleSphereEmitterGetCenter();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSphereEmitterGetRadius :: IO ()
+%call 
+%code int result = IParticleSphereEmitterGetRadius();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSphereEmitterGetType :: IO ()
+%call 
+%code int result = IParticleSphereEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraMayaGetMoveSpeed :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCameraMayaGetMoveSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraMayaSetMoveSpeed :: Int -> IO ()
+%call (int moveSpeed) 
+%code int result = ISceneNodeAnimatorCameraMayaSetMoveSpeed(moveSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraMayaGetRotateSpeed :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCameraMayaGetRotateSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraMayaSetRotateSpeed :: Int -> IO ()
+%call (int rotateSpeed) 
+%code int result = ISceneNodeAnimatorCameraMayaSetRotateSpeed(rotateSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraMayaGetZoomSpeed :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCameraMayaGetZoomSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraMayaSetZoomSpeed :: Int -> IO ()
+%call (int zoomSpeed) 
+%code int result = ISceneNodeAnimatorCameraMayaSetZoomSpeed(zoomSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleGravityAffectorSetTimeForceLost :: Int -> IO ()
+%call (int timeForceLost) 
+%code int result = IParticleGravityAffectorSetTimeForceLost(timeForceLost);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleGravityAffectorSetGravity :: Int -> IO ()
+%call (int gravity) 
+%code int result = IParticleGravityAffectorSetGravity(gravity);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleGravityAffectorGetTimeForceLost :: IO ()
+%call 
+%code int result = IParticleGravityAffectorGetTimeForceLost();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleGravityAffectorGetGravity :: IO ()
+%call 
+%code int result = IParticleGravityAffectorGetGravity();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleGravityAffectorGetType :: IO ()
+%call 
+%code int result = IParticleGravityAffectorGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeISceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int scale) 
+%code int result = ISceneNodeISceneNode(parent, mgr, id, position, rotation, scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = ISceneNodeUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeISceneNode :: IO ()
+%call 
+%code int result = ISceneNodeISceneNode();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemoveAll :: IO ()
+%call 
+%code int result = ISceneNodeRemoveAll();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeOnRegisterSceneNode :: IO ()
+%call 
+%code int result = ISceneNodeOnRegisterSceneNode();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeOnAnimate :: Int -> IO ()
+%call (int timeMs) 
+%code int result = ISceneNodeOnAnimate(timeMs);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeWhile :: Int -> IO ()
+%call (int ait) 
+%code int result = ISceneNodeWhile(ait);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimateNode :: IO ()
+%call 
+%code int result = ISceneNodeAnimateNode();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = ISceneNodeUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRender :: IO ()
+%call 
+%code int result = ISceneNodeRender();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetName :: IO ()
+%call 
+%code int result = ISceneNodeGetName();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetName :: Int -> IO ()
+%call (int name) 
+%code int result = ISceneNodeSetName(name);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetName :: Int -> IO ()
+%call (int name) 
+%code int result = ISceneNodeSetName(name);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetBoundingBox :: IO ()
+%call 
+%code int result = ISceneNodeGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetTransformedBoundingBox :: IO ()
+%call 
+%code int result = ISceneNodeGetTransformedBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetBoundingBox :: IO ()
+%call 
+%code int result = ISceneNodeGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeTransformBoxEx :: IO ()
+%call 
+%code int result = ISceneNodeTransformBoxEx();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAbsoluteTransformation :: IO ()
+%call 
+%code int result = ISceneNodeGetAbsoluteTransformation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetRelativeTransformation :: IO ()
+%call 
+%code int result = ISceneNodeGetRelativeTransformation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetRotationDegrees :: IO ()
+%call 
+%code int result = ISceneNodeSetRotationDegrees();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetTranslation :: IO ()
+%call 
+%code int result = ISceneNodeSetTranslation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetScale :: IO ()
+%call 
+%code int result = ISceneNodeSetScale();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeIsVisible :: IO ()
+%call 
+%code int result = ISceneNodeIsVisible();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeIsTrulyVisible :: IO ()
+%call 
+%code int result = ISceneNodeIsTrulyVisible();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetVisible :: Int -> IO ()
+%call (int isVisible) 
+%code int result = ISceneNodeSetVisible(isVisible);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetID :: IO ()
+%call 
+%code int result = ISceneNodeGetID();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetID :: Int -> IO ()
+%call (int id) 
+%code int result = ISceneNodeSetID(id);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddChild :: Int -> IO ()
+%call (int child) 
+%code int result = ISceneNodeAddChild(child);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGrab :: IO ()
+%call 
+%code int result = ISceneNodeGrab();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemove :: IO ()
+%call 
+%code int result = ISceneNodeRemove();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodePush_back :: IO ()
+%call 
+%code int result = ISceneNodePush_back();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemoveChild :: Int -> IO ()
+%call (int child) 
+%code int result = ISceneNodeRemoveChild(child);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeErase :: IO ()
+%call 
+%code int result = ISceneNodeErase();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemoveAll :: IO ()
+%call 
+%code int result = ISceneNodeRemoveAll();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeClear :: IO ()
+%call 
+%code int result = ISceneNodeClear();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemove :: IO ()
+%call 
+%code int result = ISceneNodeRemove();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddAnimator :: Int -> IO ()
+%call (int animator) 
+%code int result = ISceneNodeAddAnimator(animator);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodePush_back :: IO ()
+%call 
+%code int result = ISceneNodePush_back();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGrab :: IO ()
+%call 
+%code int result = ISceneNodeGrab();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAnimators :: IO ()
+%call 
+%code int result = ISceneNodeGetAnimators();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemoveAnimator :: Int -> IO ()
+%call (int animator) 
+%code int result = ISceneNodeRemoveAnimator(animator);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeErase :: IO ()
+%call 
+%code int result = ISceneNodeErase();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemoveAnimators :: IO ()
+%call 
+%code int result = ISceneNodeRemoveAnimators();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeBegin :: IO ()
+%call 
+%code int result = ISceneNodeBegin();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeEnd :: IO ()
+%call 
+%code int result = ISceneNodeEnd();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeClear :: IO ()
+%call 
+%code int result = ISceneNodeClear();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterial :: Int -> IO ()
+%call (int num) 
+%code int result = ISceneNodeGetMaterial(num);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterialCount :: IO ()
+%call 
+%code int result = ISceneNodeGetMaterialCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetMaterialFlag :: Int -> Int -> IO ()
+%call (int flag) (int newvalue) 
+%code int result = ISceneNodeSetMaterialFlag(flag, newvalue);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterialCount :: IO ()
+%call 
+%code int result = ISceneNodeGetMaterialCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterial :: Int -> IO ()
+%call (int flag) 
+%code int result = ISceneNodeGetMaterial(flag);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetMaterialTexture :: Int -> Int -> IO ()
+%call (int textureLayer) (int texture) 
+%code int result = ISceneNodeSetMaterialTexture(textureLayer, texture);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterialCount :: IO ()
+%call 
+%code int result = ISceneNodeGetMaterialCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterial :: Int -> IO ()
+%call (int textureLayer) 
+%code int result = ISceneNodeGetMaterial(textureLayer);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetMaterialType :: Int -> IO ()
+%call (int newType) 
+%code int result = ISceneNodeSetMaterialType(newType);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterialCount :: IO ()
+%call 
+%code int result = ISceneNodeGetMaterialCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetMaterial :: IO ()
+%call 
+%code int result = ISceneNodeGetMaterial();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetScale :: IO ()
+%call 
+%code int result = ISceneNodeGetScale();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetScale :: Int -> IO ()
+%call (int scale) 
+%code int result = ISceneNodeSetScale(scale);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetRotation :: IO ()
+%call 
+%code int result = ISceneNodeGetRotation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetRotation :: Int -> IO ()
+%call (int rotation) 
+%code int result = ISceneNodeSetRotation(rotation);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetPosition :: IO ()
+%call 
+%code int result = ISceneNodeGetPosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetPosition :: Int -> IO ()
+%call (int newpos) 
+%code int result = ISceneNodeSetPosition(newpos);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAbsolutePosition :: IO ()
+%call 
+%code int result = ISceneNodeGetAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetAutomaticCulling :: Int -> IO ()
+%call (int state) 
+%code int result = ISceneNodeSetAutomaticCulling(state);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAutomaticCulling :: IO ()
+%call 
+%code int result = ISceneNodeGetAutomaticCulling();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetDebugDataVisible :: Int -> IO ()
+%call (int state) 
+%code int result = ISceneNodeSetDebugDataVisible(state);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeIsDebugDataVisible :: IO ()
+%call 
+%code int result = ISceneNodeIsDebugDataVisible();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetIsDebugObject :: Int -> IO ()
+%call (int debugObject) 
+%code int result = ISceneNodeSetIsDebugObject(debugObject);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeIsDebugObject :: IO ()
+%call 
+%code int result = ISceneNodeIsDebugObject();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetChildren :: IO ()
+%call 
+%code int result = ISceneNodeGetChildren();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetParent :: Int -> IO ()
+%call (int newParent) 
+%code int result = ISceneNodeSetParent(newParent);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGrab :: IO ()
+%call 
+%code int result = ISceneNodeGrab();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeRemove :: IO ()
+%call 
+%code int result = ISceneNodeRemove();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeDrop :: IO ()
+%call 
+%code int result = ISceneNodeDrop();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetTriangleSelector :: IO ()
+%call 
+%code int result = ISceneNodeGetTriangleSelector();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetTriangleSelector :: Int -> IO ()
+%call (int selector) 
+%code int result = ISceneNodeSetTriangleSelector(selector);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = ISceneNodeUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAbsoluteTransformation :: IO ()
+%call 
+%code int result = ISceneNodeGetAbsoluteTransformation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetRelativeTransformation :: IO ()
+%call 
+%code int result = ISceneNodeGetRelativeTransformation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetParent :: IO ()
+%call 
+%code int result = ISceneNodeGetParent();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetType :: IO ()
+%call 
+%code int result = ISceneNodeGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSerializeAttributes :: Int -> Int -> IO ()
+%call (int out) (int options) 
+%code int result = ISceneNodeSerializeAttributes(out, options);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddString :: IO ()
+%call 
+%code int result = ISceneNodeAddString();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddInt :: IO ()
+%call 
+%code int result = ISceneNodeAddInt();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddVector3d :: IO ()
+%call 
+%code int result = ISceneNodeAddVector3d();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddVector3d :: IO ()
+%call 
+%code int result = ISceneNodeAddVector3d();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddVector3d :: IO ()
+%call 
+%code int result = ISceneNodeAddVector3d();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddBool :: IO ()
+%call 
+%code int result = ISceneNodeAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddInt :: IO ()
+%call 
+%code int result = ISceneNodeAddInt();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddInt :: IO ()
+%call 
+%code int result = ISceneNodeAddInt();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAddBool :: IO ()
+%call 
+%code int result = ISceneNodeAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeDeserializeAttributes :: Int -> Int -> IO ()
+%call (int i_n) (int options) 
+%code int result = ISceneNodeDeserializeAttributes(i_n, options);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsString :: IO ()
+%call 
+%code int result = ISceneNodeGetAttributeAsString();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsInt :: IO ()
+%call 
+%code int result = ISceneNodeGetAttributeAsInt();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetPosition :: IO ()
+%call 
+%code int result = ISceneNodeSetPosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetRotation :: IO ()
+%call 
+%code int result = ISceneNodeSetRotation();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeSetScale :: IO ()
+%call 
+%code int result = ISceneNodeSetScale();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsBool :: IO ()
+%call 
+%code int result = ISceneNodeGetAttributeAsBool();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsEnumeration :: Int -> IO ()
+%call (int AutomaticCullingNames) 
+%code int result = ISceneNodeGetAttributeAsEnumeration(AutomaticCullingNames);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsInt :: IO ()
+%call 
+%code int result = ISceneNodeGetAttributeAsInt();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsInt :: IO ()
+%call 
+%code int result = ISceneNodeGetAttributeAsInt();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetAttributeAsBool :: IO ()
+%call 
+%code int result = ISceneNodeGetAttributeAsBool();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = ISceneNodeUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeClone :: Int -> Int -> IO ()
+%call (int newParent) (int newManager) 
+%code int result = ISceneNodeClone(newParent, newManager);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeGetSceneManager :: IO ()
+%call 
+%code int result = ISceneNodeGetSceneManager();
+%fail {result < 0} {getError();}
+
+
+%fun ITextSceneNodeITextSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int parent) 
+%code int result = ITextSceneNodeITextSceneNode(parent, mgr, id, position, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ITextSceneNodeSetText :: Int -> IO ()
+%call (int text) 
+%code int result = ITextSceneNodeSetText(text);
+%fail {result < 0} {getError();}
+
+
+%fun ITextSceneNodeSetTextColor :: Int -> IO ()
+%call (int color) 
+%code int result = ITextSceneNodeSetTextColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerSMaterialLayer :: IO ()
+%call 
+%code int result = SMaterialLayerSMaterialLayer();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerSMaterialLayer :: Int -> IO ()
+%call (int other) 
+%code int result = SMaterialLayerSMaterialLayer(other);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerSMaterialLayer :: IO ()
+%call 
+%code int result = SMaterialLayerSMaterialLayer();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerDestruct :: IO ()
+%call 
+%code int result = SMaterialLayerDestruct();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerDeallocate :: IO ()
+%call 
+%code int result = SMaterialLayerDeallocate();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerDestruct :: IO ()
+%call 
+%code int result = SMaterialLayerDestruct();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerDeallocate :: IO ()
+%call 
+%code int result = SMaterialLayerDeallocate();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerAllocate :: IO ()
+%call 
+%code int result = SMaterialLayerAllocate();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerConstruct :: Int -> IO ()
+%call (int TextureMatrix) 
+%code int result = SMaterialLayerConstruct(TextureMatrix);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerGetTextureMatrix :: IO ()
+%call 
+%code int result = SMaterialLayerGetTextureMatrix();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerAllocate :: IO ()
+%call 
+%code int result = SMaterialLayerAllocate();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerConstruct :: Int -> IO ()
+%call (int IdentityMatrix) 
+%code int result = SMaterialLayerConstruct(IdentityMatrix);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerGetTextureMatrix :: IO ()
+%call 
+%code int result = SMaterialLayerGetTextureMatrix();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerSetTextureMatrix :: Int -> IO ()
+%call (int mat) 
+%code int result = SMaterialLayerSetTextureMatrix(mat);
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerAllocate :: IO ()
+%call 
+%code int result = SMaterialLayerAllocate();
+%fail {result < 0} {getError();}
+
+
+%fun SMaterialLayerConstruct :: IO ()
+%call 
+%code int result = SMaterialLayerConstruct();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextIGUIStaticText :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_STATIC_TEXT) 
+%code int result = IGUIStaticTextIGUIStaticText(environment, parent, id, EGUIET_STATIC_TEXT);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetOverrideFont :: Int -> IO ()
+%call (int font) 
+%code int result = IGUIStaticTextSetOverrideFont(font);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextGetOverrideFont :: IO ()
+%call 
+%code int result = IGUIStaticTextGetOverrideFont();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetOverrideColor :: Int -> IO ()
+%call (int color) 
+%code int result = IGUIStaticTextSetOverrideColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextGetOverrideColor :: IO ()
+%call 
+%code int result = IGUIStaticTextGetOverrideColor();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextEnableOverrideColor :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIStaticTextEnableOverrideColor(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextIsOverrideColorEnabled :: IO ()
+%call 
+%code int result = IGUIStaticTextIsOverrideColorEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetBackgroundColor :: Int -> IO ()
+%call (int color) 
+%code int result = IGUIStaticTextSetBackgroundColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetDrawBackground :: Int -> IO ()
+%call (int draw) 
+%code int result = IGUIStaticTextSetDrawBackground(draw);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetDrawBorder :: Int -> IO ()
+%call (int draw) 
+%code int result = IGUIStaticTextSetDrawBorder(draw);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetTextAlignment :: Int -> Int -> IO ()
+%call (int horizontal) (int vertical) 
+%code int result = IGUIStaticTextSetTextAlignment(horizontal, vertical);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextSetWordWrap :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIStaticTextSetWordWrap(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextIsWordWrapEnabled :: IO ()
+%call 
+%code int result = IGUIStaticTextIsWordWrapEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextGetTextHeight :: IO ()
+%call 
+%code int result = IGUIStaticTextGetTextHeight();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIStaticTextGetTextWidth :: IO ()
+%call 
+%code int result = IGUIStaticTextGetTextWidth();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeIParticleSystemSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int scale) (int parent) 
+%code int result = IParticleSystemSceneNodeIParticleSystemSceneNode(parent, mgr, id, position, rotation, scale, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeSetParticleSize :: Int -> IO ()
+%call (int size) 
+%code int result = IParticleSystemSceneNodeSetParticleSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeSetParticlesAreGlobal :: Int -> IO ()
+%call (int global) 
+%code int result = IParticleSystemSceneNodeSetParticlesAreGlobal(global);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeGetEmitter :: IO ()
+%call 
+%code int result = IParticleSystemSceneNodeGetEmitter();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeSetEmitter :: Int -> IO ()
+%call (int emitter) 
+%code int result = IParticleSystemSceneNodeSetEmitter(emitter);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeAddAffector :: Int -> IO ()
+%call (int affector) 
+%code int result = IParticleSystemSceneNodeAddAffector(affector);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeRemoveAllAffectors :: IO ()
+%call 
+%code int result = IParticleSystemSceneNodeRemoveAllAffectors();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int node) (int useNormalDirection) (int direction) (int normalDirectionModifier) (int mbNumber) (int everyMeshVertex) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(node, useNormalDirection, direction, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateBoxEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int box) (int direction) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreateBoxEmitter(box, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateCylinderEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int center) (int radius) (int normal) (int length) (int outlineOnly) (int direction) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreateCylinderEmitter(center, radius, normal, length, outlineOnly, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateMeshEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int useNormalDirection) (int direction) (int normalDirectionModifier) (int mbNumber) (int everyMeshVertex) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreateMeshEmitter(mesh, useNormalDirection, direction, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreatePointEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int direction) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreatePointEmitter(direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateRingEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int center) (int radius) (int ringThickness) (int direction) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreateRingEmitter(center, radius, ringThickness, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateSphereEmitter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int center) (int radius) (int direction) (int minParticlesPerSecond) (int maxParticlesPerSecond) (int minStartColor) (int maxStartColor) (int lifeTimeMin) (int lifeTimeMax) (int maxAngleDegrees) (int minStartSize) (int maxStartSize) 
+%code int result = IParticleSystemSceneNodeCreateSphereEmitter(center, radius, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateAttractionAffector :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int point) (int speed) (int attract) (int affectX) (int affectY) (int affectZ) 
+%code int result = IParticleSystemSceneNodeCreateAttractionAffector(point, speed, attract, affectX, affectY, affectZ);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateScaleParticleAffector :: Int -> IO ()
+%call (int scaleTo) 
+%code int result = IParticleSystemSceneNodeCreateScaleParticleAffector(scaleTo);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateFadeOutParticleAffector :: Int -> Int -> IO ()
+%call (int targetColor) (int timeNeededToFadeOut) 
+%code int result = IParticleSystemSceneNodeCreateFadeOutParticleAffector(targetColor, timeNeededToFadeOut);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateGravityAffector :: Int -> Int -> IO ()
+%call (int gravity) (int timeForceLost) 
+%code int result = IParticleSystemSceneNodeCreateGravityAffector(gravity, timeForceLost);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleSystemSceneNodeCreateRotationAffector :: Int -> Int -> IO ()
+%call (int speed) (int pivotPoint) 
+%code int result = IParticleSystemSceneNodeCreateRotationAffector(speed, pivotPoint);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeITerrainSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int scale) (int parent) 
+%code int result = ITerrainSceneNodeITerrainSceneNode(parent, mgr, id, position, rotation, scale, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetBoundingBox :: IO ()
+%call 
+%code int result = ITerrainSceneNodeGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetBoundingBox :: Int -> Int -> IO ()
+%call (int patchX) (int patchZ) 
+%code int result = ITerrainSceneNodeGetBoundingBox(patchX, patchZ);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetIndexCount :: IO ()
+%call 
+%code int result = ITerrainSceneNodeGetIndexCount();
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetMesh :: IO ()
+%call 
+%code int result = ITerrainSceneNodeGetMesh();
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetRenderBuffer :: IO ()
+%call 
+%code int result = ITerrainSceneNodeGetRenderBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetMeshBufferForLOD :: Int -> Int -> IO ()
+%call (int mb) (int LOD) 
+%code int result = ITerrainSceneNodeGetMeshBufferForLOD(mb, LOD);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetIndicesForPatch :: Int -> Int -> Int -> Int -> IO ()
+%call (int indices) (int patchX) (int patchZ) (int LOD) 
+%code int result = ITerrainSceneNodeGetIndicesForPatch(indices, patchX, patchZ, LOD);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetCurrentLODOfPatches :: Int -> IO ()
+%call (int LODs) 
+%code int result = ITerrainSceneNodeGetCurrentLODOfPatches(LODs);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeSetLODOfPatch :: Int -> Int -> Int -> IO ()
+%call (int patchX) (int patchZ) (int LOD) 
+%code int result = ITerrainSceneNodeSetLODOfPatch(patchX, patchZ, LOD);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetTerrainCenter :: IO ()
+%call 
+%code int result = ITerrainSceneNodeGetTerrainCenter();
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeGetHeight :: Int -> Int -> IO ()
+%call (int x) (int y) 
+%code int result = ITerrainSceneNodeGetHeight(x, y);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeSetCameraMovementDelta :: Int -> IO ()
+%call (int delta) 
+%code int result = ITerrainSceneNodeSetCameraMovementDelta(delta);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeSetCameraRotationDelta :: Int -> IO ()
+%call (int delta) 
+%code int result = ITerrainSceneNodeSetCameraRotationDelta(delta);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeSetDynamicSelectorUpdate :: Int -> IO ()
+%call (int bVal) 
+%code int result = ITerrainSceneNodeSetDynamicSelectorUpdate(bVal);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeOverrideLODDistance :: Int -> Int -> IO ()
+%call (int LOD) (int newDistance) 
+%code int result = ITerrainSceneNodeOverrideLODDistance(LOD, newDistance);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeScaleTexture :: Int -> Int -> IO ()
+%call (int scale) (int scale2) 
+%code int result = ITerrainSceneNodeScaleTexture(scale, scale2);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeLoadHeightMap :: Int -> Int -> Int -> IO ()
+%call (int file) (int vertexColor) (int smoothFactor) 
+%code int result = ITerrainSceneNodeLoadHeightMap(file, vertexColor, smoothFactor);
+%fail {result < 0} {getError();}
+
+
+%fun ITerrainSceneNodeLoadHeightMapRAW :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int file) (int bitsPerPixel) (int signedData) (int floatVals) (int width) (int vertexColor) (int smoothFactor) 
+%code int result = ITerrainSceneNodeLoadHeightMapRAW(file, bitsPerPixel, signedData, floatVals, width, vertexColor, smoothFactor);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuIGUIContextMenu :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_CONTEXT_MENU) 
+%code int result = IGUIContextMenuIGUIContextMenu(environment, parent, id, EGUIET_CONTEXT_MENU);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetCloseHandling :: Int -> IO ()
+%call (int onClose) 
+%code int result = IGUIContextMenuSetCloseHandling(onClose);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetCloseHandling :: IO ()
+%call 
+%code int result = IGUIContextMenuGetCloseHandling();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetItemCount :: IO ()
+%call 
+%code int result = IGUIContextMenuGetItemCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuAddItem :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int commandId) (int enabled) (int hasSubMenu) (int checked) (int autoChecking) 
+%code int result = IGUIContextMenuAddItem(text, commandId, enabled, hasSubMenu, checked, autoChecking);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuInsertItem :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int idx) (int text) (int commandId) (int enabled) (int hasSubMenu) (int checked) (int autoChecking) 
+%code int result = IGUIContextMenuInsertItem(idx, text, commandId, enabled, hasSubMenu, checked, autoChecking);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuFindItemWithCommandId :: Int -> Int -> IO ()
+%call (int commandId) (int idxStartSearch) 
+%code int result = IGUIContextMenuFindItemWithCommandId(commandId, idxStartSearch);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuAddSeparator :: IO ()
+%call 
+%code int result = IGUIContextMenuAddSeparator();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetItemText :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuGetItemText(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetItemText :: Int -> Int -> IO ()
+%call (int idx) (int text) 
+%code int result = IGUIContextMenuSetItemText(idx, text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuIsItemEnabled :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuIsItemEnabled(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetItemEnabled :: Int -> Int -> IO ()
+%call (int idx) (int enabled) 
+%code int result = IGUIContextMenuSetItemEnabled(idx, enabled);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetItemChecked :: Int -> Int -> IO ()
+%call (int idx) (int enabled) 
+%code int result = IGUIContextMenuSetItemChecked(idx, enabled);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuIsItemChecked :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuIsItemChecked(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuRemoveItem :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuRemoveItem(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuRemoveAllItems :: IO ()
+%call 
+%code int result = IGUIContextMenuRemoveAllItems();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetSelectedItem :: IO ()
+%call 
+%code int result = IGUIContextMenuGetSelectedItem();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetItemCommandId :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuGetItemCommandId(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetItemCommandId :: Int -> Int -> IO ()
+%call (int idx) (int id) 
+%code int result = IGUIContextMenuSetItemCommandId(idx, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetSubMenu :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuGetSubMenu(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetItemAutoChecking :: Int -> Int -> IO ()
+%call (int idx) (int autoChecking) 
+%code int result = IGUIContextMenuSetItemAutoChecking(idx, autoChecking);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuGetItemAutoChecking :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIContextMenuGetItemAutoChecking(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIContextMenuSetEventParent :: Int -> IO ()
+%call (int parent) 
+%code int result = IGUIContextMenuSetEventParent(parent);
+%fail {result < 0} {getError();}
+
+
+%fun IImageLock :: IO ()
+%call 
+%code int result = IImageLock();
+%fail {result < 0} {getError();}
+
+
+%fun IImageUnlock :: IO ()
+%call 
+%code int result = IImageUnlock();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetDimension :: IO ()
+%call 
+%code int result = IImageGetDimension();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetBitsPerPixel :: IO ()
+%call 
+%code int result = IImageGetBitsPerPixel();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetBytesPerPixel :: IO ()
+%call 
+%code int result = IImageGetBytesPerPixel();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetImageDataSizeInBytes :: IO ()
+%call 
+%code int result = IImageGetImageDataSizeInBytes();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetImageDataSizeInPixels :: IO ()
+%call 
+%code int result = IImageGetImageDataSizeInPixels();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetPixel :: Int -> Int -> IO ()
+%call (int x) (int y) 
+%code int result = IImageGetPixel(x, y);
+%fail {result < 0} {getError();}
+
+
+%fun IImageSetPixel :: Int -> Int -> Int -> Int -> IO ()
+%call (int x) (int y) (int color) (int blend) 
+%code int result = IImageSetPixel(x, y, color, blend);
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetColorFormat :: IO ()
+%call 
+%code int result = IImageGetColorFormat();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetRedMask :: IO ()
+%call 
+%code int result = IImageGetRedMask();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetGreenMask :: IO ()
+%call 
+%code int result = IImageGetGreenMask();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetBlueMask :: IO ()
+%call 
+%code int result = IImageGetBlueMask();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetAlphaMask :: IO ()
+%call 
+%code int result = IImageGetAlphaMask();
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetPitch :: IO ()
+%call 
+%code int result = IImageGetPitch();
+%fail {result < 0} {getError();}
+
+
+%fun IImageCopyToScaling :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int target) (int width) (int height) (int format) (int pitch) 
+%code int result = IImageCopyToScaling(target, width, height, format, pitch);
+%fail {result < 0} {getError();}
+
+
+%fun IImageCopyToScaling :: Int -> IO ()
+%call (int target) 
+%code int result = IImageCopyToScaling(target);
+%fail {result < 0} {getError();}
+
+
+%fun IImageCopyTo :: Int -> Int -> IO ()
+%call (int target) (int pos) 
+%code int result = IImageCopyTo(target, pos);
+%fail {result < 0} {getError();}
+
+
+%fun IImageCopyTo :: Int -> Int -> Int -> Int -> IO ()
+%call (int target) (int pos) (int sourceRect) (int clipRect) 
+%code int result = IImageCopyTo(target, pos, sourceRect, clipRect);
+%fail {result < 0} {getError();}
+
+
+%fun IImageCopyToWithAlpha :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int target) (int pos) (int sourceRect) (int color) (int clipRect) 
+%code int result = IImageCopyToWithAlpha(target, pos, sourceRect, color, clipRect);
+%fail {result < 0} {getError();}
+
+
+%fun IImageCopyToScalingBoxFilter :: Int -> Int -> Int -> IO ()
+%call (int target) (int bias) (int blend) 
+%code int result = IImageCopyToScalingBoxFilter(target, bias, blend);
+%fail {result < 0} {getError();}
+
+
+%fun IImageFill :: Int -> IO ()
+%call (int color) 
+%code int result = IImageFill(color);
+%fail {result < 0} {getError();}
+
+
+%fun IImageGetBitsPerPixelFromFormat :: Int -> IO ()
+%call (int format) 
+%code int result = IImageGetBitsPerPixelFromFormat(format);
+%fail {result < 0} {getError();}
+
+
+%fun IImageSwitch :: IO ()
+%call 
+%code int result = IImageSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun IImageIsRenderTargetOnlyFormat :: Int -> IO ()
+%call (int format) 
+%code int result = IImageIsRenderTargetOnlyFormat(format);
+%fail {result < 0} {getError();}
+
+
+%fun IImageSwitch :: IO ()
+%call 
+%code int result = IImageSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD2GetFrameLoop :: Int -> Int -> Int -> Int -> IO ()
+%call (int l) (int outBegin) (int outEnd) (int outFPS) 
+%code int result = IAnimatedMeshMD2GetFrameLoop(l, outBegin, outEnd, outFPS);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD2GetFrameLoop :: Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int outBegin) (int outEnd) (int outFPS) 
+%code int result = IAnimatedMeshMD2GetFrameLoop(name, outBegin, outEnd, outFPS);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD2GetAnimationCount :: IO ()
+%call 
+%code int result = IAnimatedMeshMD2GetAnimationCount();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshMD2GetAnimationName :: Int -> IO ()
+%call (int nr) 
+%code int result = IAnimatedMeshMD2GetAnimationName(nr);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferGetData :: IO ()
+%call 
+%code int result = IIndexBufferGetData();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferGetType :: IO ()
+%call 
+%code int result = IIndexBufferGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferSetType :: Int -> IO ()
+%call (int IndexType) 
+%code int result = IIndexBufferSetType(IndexType);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferStride :: IO ()
+%call 
+%code int result = IIndexBufferStride();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferSize :: IO ()
+%call 
+%code int result = IIndexBufferSize();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IIndexBufferPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IIndexBufferOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferGetLast :: IO ()
+%call 
+%code int result = IIndexBufferGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferSetValue :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IIndexBufferSetValue(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IIndexBufferSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IIndexBufferReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferAllocated_size :: IO ()
+%call 
+%code int result = IIndexBufferAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferPointer :: IO ()
+%call 
+%code int result = IIndexBufferPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferGetHardwareMappingHint :: IO ()
+%call 
+%code int result = IIndexBufferGetHardwareMappingHint();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferSetHardwareMappingHint :: Int -> IO ()
+%call (int NewMappingHint) 
+%code int result = IIndexBufferSetHardwareMappingHint(NewMappingHint);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferSetDirty :: IO ()
+%call 
+%code int result = IIndexBufferSetDirty();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexBufferGetChangedID :: IO ()
+%call 
+%code int result = IIndexBufferGetChangedID();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferGetData :: IO ()
+%call 
+%code int result = IVertexBufferGetData();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferGetType :: IO ()
+%call 
+%code int result = IVertexBufferGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferSetType :: Int -> IO ()
+%call (int vertexType) 
+%code int result = IVertexBufferSetType(vertexType);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferStride :: IO ()
+%call 
+%code int result = IVertexBufferStride();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferSize :: IO ()
+%call 
+%code int result = IVertexBufferSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IVertexBufferPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IVertexBufferOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferGetLast :: IO ()
+%call 
+%code int result = IVertexBufferGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IVertexBufferSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IVertexBufferReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferAllocated_size :: IO ()
+%call 
+%code int result = IVertexBufferAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferPointer :: IO ()
+%call 
+%code int result = IVertexBufferPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferGetHardwareMappingHint :: IO ()
+%call 
+%code int result = IVertexBufferGetHardwareMappingHint();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferSetHardwareMappingHint :: Int -> IO ()
+%call (int NewMappingHint) 
+%code int result = IVertexBufferSetHardwareMappingHint(NewMappingHint);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferSetDirty :: IO ()
+%call 
+%code int result = IVertexBufferSetDirty();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexBufferGetChangedID :: IO ()
+%call 
+%code int result = IVertexBufferGetChangedID();
+%fail {result < 0} {getError();}
+
+
+%fun IWriteFileWrite :: Int -> Int -> IO ()
+%call (int buffer) (int sizeToWrite) 
+%code int result = IWriteFileWrite(buffer, sizeToWrite);
+%fail {result < 0} {getError();}
+
+
+%fun IWriteFileSeek :: Int -> Int -> IO ()
+%call (int finalPos) (int relativeMovement) 
+%code int result = IWriteFileSeek(finalPos, relativeMovement);
+%fail {result < 0} {getError();}
+
+
+%fun IWriteFileGetPos :: IO ()
+%call 
+%code int result = IWriteFileGetPos();
+%fail {result < 0} {getError();}
+
+
+%fun IWriteFileGetFileName :: IO ()
+%call 
+%code int result = IWriteFileGetFileName();
+%fail {result < 0} {getError();}
+
+
+%fun IWriteFileCreateWriteFile :: Int -> Int -> IO ()
+%call (int fileName) (int append) 
+%code int result = IWriteFileCreateWriteFile(fileName, append);
+%fail {result < 0} {getError();}
+
+
+%fun IImageWriterIsAWriteableFileExtension :: Int -> IO ()
+%call (int filename) 
+%code int result = IImageWriterIsAWriteableFileExtension(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IImageWriterWriteImage :: Int -> Int -> Int -> IO ()
+%call (int file) (int image) (int param) 
+%code int result = IImageWriterWriteImage(file, image, param);
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileRead :: Int -> Int -> IO ()
+%call (int buffer) (int sizeToRead) 
+%code int result = IReadFileRead(buffer, sizeToRead);
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileSeek :: Int -> Int -> IO ()
+%call (int finalPos) (int relativeMovement) 
+%code int result = IReadFileSeek(finalPos, relativeMovement);
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileGetSize :: IO ()
+%call 
+%code int result = IReadFileGetSize();
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileGetPos :: IO ()
+%call 
+%code int result = IReadFileGetPos();
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileGetFileName :: IO ()
+%call 
+%code int result = IReadFileGetFileName();
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileCreateReadFile :: Int -> IO ()
+%call (int fileName) 
+%code int result = IReadFileCreateReadFile(fileName);
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileCreateLimitReadFile :: Int -> Int -> Int -> Int -> IO ()
+%call (int fileName) (int alreadyOpenedFile) (int pos) (int areaSize) 
+%code int result = IReadFileCreateLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
+%fail {result < 0} {getError();}
+
+
+%fun IReadFileCreateMemoryReadFile :: Int -> Int -> Int -> Int -> IO ()
+%call (int memory) (int size) (int fileName) (int deleteMemoryWhenDropped) 
+%code int result = IReadFileCreateMemoryReadFile(memory, size, fileName, deleteMemoryWhenDropped);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardSceneNodeIBillboardSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int parent) 
+%code int result = IBillboardSceneNodeIBillboardSceneNode(parent, mgr, id, position, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardSceneNodeSetSize :: Int -> IO ()
+%call (int size) 
+%code int result = IBillboardSceneNodeSetSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardSceneNodeGetSize :: IO ()
+%call 
+%code int result = IBillboardSceneNodeGetSize();
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardSceneNodeSetColor :: Int -> IO ()
+%call (int overallColor) 
+%code int result = IBillboardSceneNodeSetColor(overallColor);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardSceneNodeSetColor :: Int -> Int -> IO ()
+%call (int topColor) (int bottomColor) 
+%code int result = IBillboardSceneNodeSetColor(topColor, bottomColor);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardSceneNodeGetColor :: Int -> Int -> IO ()
+%call (int topColor) (int bottomColor) 
+%code int result = IBillboardSceneNodeGetColor(topColor, bottomColor);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributeExchangingObjectSerializeAttributes :: Int -> Int -> IO ()
+%call (int out) (int options) 
+%code int result = IAttributeExchangingObjectSerializeAttributes(out, options);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributeExchangingObjectDeserializeAttributes :: Int -> Int -> IO ()
+%call (int i_n) (int options) 
+%code int result = IAttributeExchangingObjectDeserializeAttributes(i_n, options);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterEmitt :: Int -> Int -> Int -> IO ()
+%call (int now) (int timeSinceLastCall) (int outArray) 
+%code int result = IParticleEmitterEmitt(now, timeSinceLastCall, outArray);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetDirection :: Int -> IO ()
+%call (int newDirection) 
+%code int result = IParticleEmitterSetDirection(newDirection);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetMinParticlesPerSecond :: Int -> IO ()
+%call (int minPPS) 
+%code int result = IParticleEmitterSetMinParticlesPerSecond(minPPS);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetMaxParticlesPerSecond :: Int -> IO ()
+%call (int maxPPS) 
+%code int result = IParticleEmitterSetMaxParticlesPerSecond(maxPPS);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetMinStartColor :: Int -> IO ()
+%call (int color) 
+%code int result = IParticleEmitterSetMinStartColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetMaxStartColor :: Int -> IO ()
+%call (int color) 
+%code int result = IParticleEmitterSetMaxStartColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetMaxStartSize :: Int -> IO ()
+%call (int size) 
+%code int result = IParticleEmitterSetMaxStartSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterSetMinStartSize :: Int -> IO ()
+%call (int size) 
+%code int result = IParticleEmitterSetMinStartSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetDirection :: IO ()
+%call 
+%code int result = IParticleEmitterGetDirection();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetMinParticlesPerSecond :: IO ()
+%call 
+%code int result = IParticleEmitterGetMinParticlesPerSecond();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetMaxParticlesPerSecond :: IO ()
+%call 
+%code int result = IParticleEmitterGetMaxParticlesPerSecond();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetMinStartColor :: IO ()
+%call 
+%code int result = IParticleEmitterGetMinStartColor();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetMaxStartColor :: IO ()
+%call 
+%code int result = IParticleEmitterGetMaxStartColor();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetMaxStartSize :: IO ()
+%call 
+%code int result = IParticleEmitterGetMaxStartSize();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetMinStartSize :: IO ()
+%call 
+%code int result = IParticleEmitterGetMinStartSize();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleEmitterGetType :: IO ()
+%call 
+%code int result = IParticleEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListIIndexList :: IO ()
+%call 
+%code int result = IIndexListIIndexList();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListStride :: IO ()
+%call 
+%code int result = IIndexListStride();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSize :: IO ()
+%call 
+%code int result = IIndexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IIndexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IIndexListOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetLast :: IO ()
+%call 
+%code int result = IIndexListGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetValue :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IIndexListSetValue(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IIndexListSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IIndexListReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListAllocated_size :: IO ()
+%call 
+%code int result = IIndexListAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPointer :: IO ()
+%call 
+%code int result = IIndexListPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetType :: IO ()
+%call 
+%code int result = IIndexListGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListStride :: IO ()
+%call 
+%code int result = IIndexListStride();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSize :: IO ()
+%call 
+%code int result = IIndexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IIndexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IIndexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IIndexListOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetLast :: IO ()
+%call 
+%code int result = IIndexListGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetValue :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IIndexListSetValue(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IIndexListSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSet_used :: IO ()
+%call 
+%code int result = IIndexListSet_used();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IIndexListReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: IO ()
+%call 
+%code int result = IIndexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListAllocated_size :: IO ()
+%call 
+%code int result = IIndexListAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPointer :: IO ()
+%call 
+%code int result = IIndexListPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetType :: IO ()
+%call 
+%code int result = IIndexListGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListCIndexBuffer :: IO ()
+%call 
+%code int result = IIndexListCIndexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetType :: IO ()
+%call 
+%code int result = IIndexListSetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListCIndexBuffer :: IO ()
+%call 
+%code int result = IIndexListCIndexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetType :: IO ()
+%call 
+%code int result = IIndexListSetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: IO ()
+%call 
+%code int result = IIndexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSize :: IO ()
+%call 
+%code int result = IIndexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: Int -> IO ()
+%call (int n) 
+%code int result = IIndexListPush_back(n);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListCIndexBuffer :: IO ()
+%call 
+%code int result = IIndexListCIndexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetType :: Int -> IO ()
+%call (int IndexType) 
+%code int result = IIndexListSetType(IndexType);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSwitch :: IO ()
+%call 
+%code int result = IIndexListSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: IO ()
+%call 
+%code int result = IIndexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSize :: IO ()
+%call 
+%code int result = IIndexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: Int -> IO ()
+%call (int n) 
+%code int result = IIndexListPush_back(n);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetData :: IO ()
+%call 
+%code int result = IIndexListGetData();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetType :: IO ()
+%call 
+%code int result = IIndexListGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListStride :: IO ()
+%call 
+%code int result = IIndexListStride();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSize :: IO ()
+%call 
+%code int result = IIndexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IIndexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPush_back :: IO ()
+%call 
+%code int result = IIndexListPush_back();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IIndexListOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetLast :: IO ()
+%call 
+%code int result = IIndexListGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetValue :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IIndexListSetValue(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetValue :: IO ()
+%call 
+%code int result = IIndexListSetValue();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IIndexListSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSet_used :: IO ()
+%call 
+%code int result = IIndexListSet_used();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IIndexListReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListReallocate :: IO ()
+%call 
+%code int result = IIndexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListAllocated_size :: IO ()
+%call 
+%code int result = IIndexListAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListPointer :: IO ()
+%call 
+%code int result = IIndexListPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetHardwareMappingHint :: IO ()
+%call 
+%code int result = IIndexListGetHardwareMappingHint();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetHardwareMappingHint :: Int -> IO ()
+%call (int NewMappingHint) 
+%code int result = IIndexListSetHardwareMappingHint(NewMappingHint);
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListSetDirty :: IO ()
+%call 
+%code int result = IIndexListSetDirty();
+%fail {result < 0} {getError();}
+
+
+%fun IIndexListGetChangedID :: IO ()
+%call 
+%code int result = IIndexListGetChangedID();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAffectorIParticleAffector :: IO ()
+%call 
+%code int result = IParticleAffectorIParticleAffector();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAffectorAffect :: Int -> Int -> Int -> IO ()
+%call (int now) (int particlearray) (int count) 
+%code int result = IParticleAffectorAffect(now, particlearray, count);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAffectorSetEnabled :: Int -> IO ()
+%call (int enabled) 
+%code int result = IParticleAffectorSetEnabled(enabled);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAffectorGetEnabled :: IO ()
+%call 
+%code int result = IParticleAffectorGetEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAffectorGetType :: IO ()
+%call 
+%code int result = IParticleAffectorGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRotationAffectorSetPivotPoint :: Int -> IO ()
+%call (int point) 
+%code int result = IParticleRotationAffectorSetPivotPoint(point);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRotationAffectorSetSpeed :: Int -> IO ()
+%call (int speed) 
+%code int result = IParticleRotationAffectorSetSpeed(speed);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRotationAffectorGetPivotPoint :: IO ()
+%call 
+%code int result = IParticleRotationAffectorGetPivotPoint();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRotationAffectorGetSpeed :: IO ()
+%call 
+%code int result = IParticleRotationAffectorGetSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleRotationAffectorGetType :: IO ()
+%call 
+%code int result = IParticleRotationAffectorGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IGUICheckBoxIGUICheckBox :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_CHECK_BOX) 
+%code int result = IGUICheckBoxIGUICheckBox(environment, parent, id, EGUIET_CHECK_BOX);
+%fail {result < 0} {getError();}
+
+
+%fun IGUICheckBoxSetChecked :: Int -> IO ()
+%call (int checked) 
+%code int result = IGUICheckBoxSetChecked(checked);
+%fail {result < 0} {getError();}
+
+
+%fun IGUICheckBoxIsChecked :: IO ()
+%call 
+%code int result = IGUICheckBoxIsChecked();
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateCubeMesh :: Int -> IO ()
+%call (int size) 
+%code int result = IGeometryCreatorCreateCubeMesh(size);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateHillPlaneMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int tileSize) (int tileCount) (int material) (int hillHeight) (int countHills) (int textureRepeatCount) 
+%code int result = IGeometryCreatorCreateHillPlaneMesh(tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreatePlaneMesh :: Int -> Int -> Int -> Int -> IO ()
+%call (int tileSize) (int tileCount) (int material) (int textureRepeatCount) 
+%code int result = IGeometryCreatorCreatePlaneMesh(tileSize, tileCount, material, textureRepeatCount);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateTerrainMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int texture) (int heightmap) (int stretchSize) (int maxHeight) (int driver) (int defaultVertexBlockSize) (int debugBorders) 
+%code int result = IGeometryCreatorCreateTerrainMesh(texture, heightmap, stretchSize, maxHeight, driver, defaultVertexBlockSize, debugBorders);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateArrowMesh :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int tesselationCylinder) (int tesselationCone) (int height) (int cylinderHeight) (int widthCylinder) (int widthCone) (int colorCylinder) (int colorCone) 
+%code int result = IGeometryCreatorCreateArrowMesh(tesselationCylinder, tesselationCone, height, cylinderHeight, widthCylinder, widthCone, colorCylinder, colorCone);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateSphereMesh :: Int -> Int -> Int -> IO ()
+%call (int radius) (int polyCountX) (int polyCountY) 
+%code int result = IGeometryCreatorCreateSphereMesh(radius, polyCountX, polyCountY);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateCylinderMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int radius) (int length) (int tesselation) (int color) (int closeTop) (int oblique) 
+%code int result = IGeometryCreatorCreateCylinderMesh(radius, length, tesselation, color, closeTop, oblique);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateConeMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int radius) (int length) (int tesselation) (int colorTop) (int colorBottom) (int oblique) 
+%code int result = IGeometryCreatorCreateConeMesh(radius, length, tesselation, colorTop, colorBottom, oblique);
+%fail {result < 0} {getError();}
+
+
+%fun IGeometryCreatorCreateVolumeLightMesh :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int subdivideU) (int subdivideV) (int footColor) (int tailColor) (int lpDistance) (int lightDim) 
+%code int result = IGeometryCreatorCreateVolumeLightMesh(subdivideU, subdivideV, footColor, tailColor, lpDistance, lightDim);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeIBillboardTextSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int parent) 
+%code int result = IBillboardTextSceneNodeIBillboardTextSceneNode(parent, mgr, id, position, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeSetSize :: Int -> IO ()
+%call (int size) 
+%code int result = IBillboardTextSceneNodeSetSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeGetSize :: IO ()
+%call 
+%code int result = IBillboardTextSceneNodeGetSize();
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeSetColor :: Int -> IO ()
+%call (int overallColor) 
+%code int result = IBillboardTextSceneNodeSetColor(overallColor);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeSetColor :: Int -> Int -> IO ()
+%call (int topColor) (int bottomColor) 
+%code int result = IBillboardTextSceneNodeSetColor(topColor, bottomColor);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeGetColor :: Int -> Int -> IO ()
+%call (int topColor) (int bottomColor) 
+%code int result = IBillboardTextSceneNodeGetColor(topColor, bottomColor);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeSetText :: Int -> IO ()
+%call (int text) 
+%code int result = IBillboardTextSceneNodeSetText(text);
+%fail {result < 0} {getError();}
+
+
+%fun IBillboardTextSceneNodeSetTextColor :: Int -> IO ()
+%call (int color) 
+%code int result = IBillboardTextSceneNodeSetTextColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleFadeOutAffectorSetTargetColor :: Int -> IO ()
+%call (int targetColor) 
+%code int result = IParticleFadeOutAffectorSetTargetColor(targetColor);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleFadeOutAffectorSetFadeOutTime :: Int -> IO ()
+%call (int fadeOutTime) 
+%code int result = IParticleFadeOutAffectorSetFadeOutTime(fadeOutTime);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleFadeOutAffectorGetTargetColor :: IO ()
+%call 
+%code int result = IParticleFadeOutAffectorGetTargetColor();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleFadeOutAffectorGetFadeOutTime :: IO ()
+%call 
+%code int result = IParticleFadeOutAffectorGetFadeOutTime();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleFadeOutAffectorGetType :: IO ()
+%call 
+%code int result = IParticleFadeOutAffectorGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IShadowVolumeSceneNodeIShadowVolumeSceneNode :: Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int parent) 
+%code int result = IShadowVolumeSceneNodeIShadowVolumeSceneNode(parent, mgr, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IShadowVolumeSceneNodeSetShadowMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IShadowVolumeSceneNodeSetShadowMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IShadowVolumeSceneNodeUpdateShadowVolumes :: IO ()
+%call 
+%code int result = IShadowVolumeSceneNodeUpdateShadowVolumes();
+%fail {result < 0} {getError();}
+
+
+%fun IFileListGetFileCount :: IO ()
+%call 
+%code int result = IFileListGetFileCount();
+%fail {result < 0} {getError();}
+
+
+%fun IFileListGetFileName :: Int -> IO ()
+%call (int index) 
+%code int result = IFileListGetFileName(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListGetFullFileName :: Int -> IO ()
+%call (int index) 
+%code int result = IFileListGetFullFileName(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListGetFileSize :: Int -> IO ()
+%call (int index) 
+%code int result = IFileListGetFileSize(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListGetID :: Int -> IO ()
+%call (int index) 
+%code int result = IFileListGetID(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListIsDirectory :: Int -> IO ()
+%call (int index) 
+%code int result = IFileListIsDirectory(index);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListFindFile :: Int -> Int -> IO ()
+%call (int filename) (int isFolder) 
+%code int result = IFileListFindFile(filename, isFolder);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListGetPath :: IO ()
+%call 
+%code int result = IFileListGetPath();
+%fail {result < 0} {getError();}
+
+
+%fun IFileListAddItem :: Int -> Int -> Int -> Int -> IO ()
+%call (int fullPath) (int size) (int isDirectory) (int id) 
+%code int result = IFileListAddItem(fullPath, size, isDirectory, id);
+%fail {result < 0} {getError();}
+
+
+%fun IFileListSort :: IO ()
+%call 
+%code int result = IFileListSort();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshGetMeshBufferCount :: IO ()
+%call 
+%code int result = IMeshGetMeshBufferCount();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshGetMeshBuffer :: Int -> IO ()
+%call (int nr) 
+%code int result = IMeshGetMeshBuffer(nr);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshGetMeshBuffer :: Int -> IO ()
+%call (int material) 
+%code int result = IMeshGetMeshBuffer(material);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshGetBoundingBox :: IO ()
+%call 
+%code int result = IMeshGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSetBoundingBox :: Int -> IO ()
+%call (int box) 
+%code int result = IMeshSetBoundingBox(box);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSetMaterialFlag :: Int -> Int -> IO ()
+%call (int flag) (int newvalue) 
+%code int result = IMeshSetMaterialFlag(flag, newvalue);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSetHardwareMappingHint :: Int -> Int -> IO ()
+%call (int newMappingHint) (int buffer) 
+%code int result = IMeshSetHardwareMappingHint(newMappingHint, buffer);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshSetDirty :: Int -> IO ()
+%call (int buffer) 
+%code int result = IMeshSetDirty(buffer);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceRun :: IO ()
+%call 
+%code int result = IrrlichtDeviceRun();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceYield :: IO ()
+%call 
+%code int result = IrrlichtDeviceYield();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSleep :: Int -> Int -> IO ()
+%call (int timeMs) (int pauseTimer) 
+%code int result = IrrlichtDeviceSleep(timeMs, pauseTimer);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetVideoDriver :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetVideoDriver();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetFileSystem :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetFileSystem();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetGUIEnvironment :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetGUIEnvironment();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetSceneManager :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetSceneManager();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetCursorControl :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetCursorControl();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetLogger :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetLogger();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetVideoModeList :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetVideoModeList();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetOSOperator :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetOSOperator();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetTimer :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetTimer();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSetWindowCaption :: Int -> IO ()
+%call (int text) 
+%code int result = IrrlichtDeviceSetWindowCaption(text);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceIsWindowActive :: IO ()
+%call 
+%code int result = IrrlichtDeviceIsWindowActive();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceIsWindowFocused :: IO ()
+%call 
+%code int result = IrrlichtDeviceIsWindowFocused();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceIsWindowMinimized :: IO ()
+%call 
+%code int result = IrrlichtDeviceIsWindowMinimized();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceIsFullscreen :: IO ()
+%call 
+%code int result = IrrlichtDeviceIsFullscreen();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetColorFormat :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetColorFormat();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceCloseDevice :: IO ()
+%call 
+%code int result = IrrlichtDeviceCloseDevice();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetVersion :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetVersion();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSetEventReceiver :: Int -> IO ()
+%call (int receiver) 
+%code int result = IrrlichtDeviceSetEventReceiver(receiver);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetEventReceiver :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetEventReceiver();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDevicePostEventFromUser :: Int -> IO ()
+%call (int event) 
+%code int result = IrrlichtDevicePostEventFromUser(event);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSetInputReceivingSceneManager :: Int -> IO ()
+%call (int sceneManager) 
+%code int result = IrrlichtDeviceSetInputReceivingSceneManager(sceneManager);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSetResizable :: Int -> IO ()
+%call (int resize) 
+%code int result = IrrlichtDeviceSetResizable(resize);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceMinimizeWindow :: IO ()
+%call 
+%code int result = IrrlichtDeviceMinimizeWindow();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceMaximizeWindow :: IO ()
+%call 
+%code int result = IrrlichtDeviceMaximizeWindow();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceRestoreWindow :: IO ()
+%call 
+%code int result = IrrlichtDeviceRestoreWindow();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceActivateJoysticks :: Int -> IO ()
+%call (int joystickInfo) 
+%code int result = IrrlichtDeviceActivateJoysticks(joystickInfo);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSetGammaRamp :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int red) (int green) (int blue) (int relativebrightness) (int relativecontrast) 
+%code int result = IrrlichtDeviceSetGammaRamp(red, green, blue, relativebrightness, relativecontrast);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetGammaRamp :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int red) (int green) (int blue) (int brightness) (int contrast) 
+%code int result = IrrlichtDeviceGetGammaRamp(red, green, blue, brightness, contrast);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceClearSystemMessages :: IO ()
+%call 
+%code int result = IrrlichtDeviceClearSystemMessages();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceGetType :: IO ()
+%call 
+%code int result = IrrlichtDeviceGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceIsDriverSupported :: Int -> IO ()
+%call (int driver) 
+%code int result = IrrlichtDeviceIsDriverSupported(driver);
+%fail {result < 0} {getError();}
+
+
+%fun IrrlichtDeviceSwitch :: IO ()
+%call 
+%code int result = IrrlichtDeviceSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode :: Int -> IO ()
+%call (int node) 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(node);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection :: Int -> IO ()
+%call (int useNormalDirection) 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(useNormalDirection);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier :: Int -> IO ()
+%call (int normalDirectionModifier) 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(normalDirectionModifier);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex :: Int -> IO ()
+%call (int everyMeshVertex) 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(everyMeshVertex);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode :: IO ()
+%call 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection :: IO ()
+%call 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier :: IO ()
+%call 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex :: IO ()
+%call 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAnimatedMeshSceneNodeEmitterGetType :: IO ()
+%call 
+%code int result = IParticleAnimatedMeshSceneNodeEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorGammaManipulatorSVertexColorGammaManipulator :: IO ()
+%call 
+%code int result = SVertexColorGammaManipulatorSVertexColorGammaManipulator();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorGammaManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorGammaManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorGammaManipulatorSetRed :: IO ()
+%call 
+%code int result = SVertexColorGammaManipulatorSetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorGammaManipulatorSetGreen :: IO ()
+%call 
+%code int result = SVertexColorGammaManipulatorSetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorGammaManipulatorSetBlue :: IO ()
+%call 
+%code int result = SVertexColorGammaManipulatorSetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorSetManipulatorSVertexColorSetManipulator :: Int -> IO ()
+%call (int color) 
+%code int result = SVertexColorSetManipulatorSVertexColorSetManipulator(color);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorSetManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorSetManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexTCoordsScaleManipulatorSVertexTCoordsScaleManipulator :: Int -> Int -> Int -> IO ()
+%call (int factor) (int uvSet) (int uvSet) 
+%code int result = SVertexTCoordsScaleManipulatorSVertexTCoordsScaleManipulator(factor, uvSet, uvSet);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexTCoordsScaleManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexTCoordsScaleManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexTCoordsScaleManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexTCoordsScaleManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorBrightnessManipulatorSVertexColorBrightnessManipulator :: Int -> IO ()
+%call (int amount) 
+%code int result = SVertexColorBrightnessManipulatorSVertexColorBrightnessManipulator(amount);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorBrightnessManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorBrightnessManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorBrightnessManipulatorSetRed :: Int -> Int -> IO ()
+%call (int Amount) (int u) 
+%code int result = SVertexColorBrightnessManipulatorSetRed(Amount, u);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorBrightnessManipulatorSetGreen :: Int -> Int -> IO ()
+%call (int Amount) (int u) 
+%code int result = SVertexColorBrightnessManipulatorSetGreen(Amount, u);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorBrightnessManipulatorSetBlue :: Int -> Int -> IO ()
+%call (int Amount) (int u) 
+%code int result = SVertexColorBrightnessManipulatorSetBlue(Amount, u);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorSetAlphaManipulatorSVertexColorSetAlphaManipulator :: Int -> IO ()
+%call (int alpha) 
+%code int result = SVertexColorSetAlphaManipulatorSVertexColorSetAlphaManipulator(alpha);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorSetAlphaManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorSetAlphaManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorSetAlphaManipulatorSetAlpha :: IO ()
+%call 
+%code int result = SVertexColorSetAlphaManipulatorSetAlpha();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInvertManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorInvertManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInvertManipulatorSetRed :: IO ()
+%call 
+%code int result = SVertexColorInvertManipulatorSetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInvertManipulatorSetGreen :: IO ()
+%call 
+%code int result = SVertexColorInvertManipulatorSetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInvertManipulatorSetBlue :: IO ()
+%call 
+%code int result = SVertexColorInvertManipulatorSetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInterpolateLinearManipulatorSVertexColorInterpolateLinearManipulator :: Int -> Int -> IO ()
+%call (int color) (int factor) 
+%code int result = SVertexColorInterpolateLinearManipulatorSVertexColorInterpolateLinearManipulator(color, factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInterpolateLinearManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorInterpolateLinearManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInterpolateLinearManipulatorGetInterpolated :: IO ()
+%call 
+%code int result = SVertexColorInterpolateLinearManipulatorGetInterpolated();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorThresholdManipulatorSVertexColorThresholdManipulator :: Int -> Int -> Int -> IO ()
+%call (int threshold) (int low) (int high) 
+%code int result = SVertexColorThresholdManipulatorSVertexColorThresholdManipulator(threshold, low, high);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorThresholdManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorThresholdManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastManipulatorSVertexColorContrastManipulator :: Int -> IO ()
+%call (int factor) 
+%code int result = SVertexColorContrastManipulatorSVertexColorContrastManipulator(factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorContrastManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastManipulatorSetRed :: IO ()
+%call 
+%code int result = SVertexColorContrastManipulatorSetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastManipulatorSetGreen :: IO ()
+%call 
+%code int result = SVertexColorContrastManipulatorSetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastManipulatorSetBlue :: IO ()
+%call 
+%code int result = SVertexColorContrastManipulatorSetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionScaleManipulatorSVertexPositionScaleManipulator :: Int -> IO ()
+%call (int factor) 
+%code int result = SVertexPositionScaleManipulatorSVertexPositionScaleManipulator(factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionScaleManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexPositionScaleManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastBrightnessManipulatorSVertexColorContrastBrightnessManipulator :: Int -> IO ()
+%call (int factor) 
+%code int result = SVertexColorContrastBrightnessManipulatorSVertexColorContrastBrightnessManipulator(factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastBrightnessManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorContrastBrightnessManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastBrightnessManipulatorSetRed :: Int -> IO ()
+%call (int Amount) 
+%code int result = SVertexColorContrastBrightnessManipulatorSetRed(Amount);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastBrightnessManipulatorSetGreen :: Int -> IO ()
+%call (int Amount) 
+%code int result = SVertexColorContrastBrightnessManipulatorSetGreen(Amount);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorContrastBrightnessManipulatorSetBlue :: Int -> IO ()
+%call (int Amount) 
+%code int result = SVertexColorContrastBrightnessManipulatorSetBlue(Amount);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorScaleManipulatorSVertexColorScaleManipulator :: Int -> IO ()
+%call (int factor) 
+%code int result = SVertexColorScaleManipulatorSVertexColorScaleManipulator(factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorScaleManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorScaleManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorScaleManipulatorSetRed :: IO ()
+%call 
+%code int result = SVertexColorScaleManipulatorSetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorScaleManipulatorSetGreen :: IO ()
+%call 
+%code int result = SVertexColorScaleManipulatorSetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorScaleManipulatorSetBlue :: IO ()
+%call 
+%code int result = SVertexColorScaleManipulatorSetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorDesaturateToLuminanceManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorDesaturateToLuminanceManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorDesaturateToLuminanceManipulatorRound32 :: IO ()
+%call 
+%code int result = SVertexColorDesaturateToLuminanceManipulatorRound32();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInterpolateQuadraticManipulatorSVertexColorInterpolateQuadraticManipulator :: Int -> Int -> Int -> IO ()
+%call (int color1) (int color2) (int factor) 
+%code int result = SVertexColorInterpolateQuadraticManipulatorSVertexColorInterpolateQuadraticManipulator(color1, color2, factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInterpolateQuadraticManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorInterpolateQuadraticManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorInterpolateQuadraticManipulatorGetInterpolated_quadratic :: IO ()
+%call 
+%code int result = SVertexColorInterpolateQuadraticManipulatorGetInterpolated_quadratic();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorDesaturateToLightnessManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorDesaturateToLightnessManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorDesaturateToLightnessManipulatorRound32 :: IO ()
+%call 
+%code int result = SVertexColorDesaturateToLightnessManipulatorRound32();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorDesaturateToAverageManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexColorDesaturateToAverageManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexColorDesaturateToAverageManipulatorGetAverage :: IO ()
+%call 
+%code int result = SVertexColorDesaturateToAverageManipulatorGetAverage();
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionScaleAlongNormalsManipulatorSVertexPositionScaleAlongNormalsManipulator :: Int -> IO ()
+%call (int factor) 
+%code int result = SVertexPositionScaleAlongNormalsManipulatorSVertexPositionScaleAlongNormalsManipulator(factor);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionScaleAlongNormalsManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexPositionScaleAlongNormalsManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionTransformManipulatorSVertexPositionTransformManipulator :: Int -> IO ()
+%call (int m) 
+%code int result = SVertexPositionTransformManipulatorSVertexPositionTransformManipulator(m);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionTransformManipulatorOperator :: Int -> IO ()
+%call (int vertex) 
+%code int result = SVertexPositionTransformManipulatorOperator(vertex);
+%fail {result < 0} {getError();}
+
+
+%fun SVertexPositionTransformManipulatorTransformVect :: Int -> IO ()
+%call (int Pos) 
+%code int result = SVertexPositionTransformManipulatorTransformVect(Pos);
+%fail {result < 0} {getError();}
+
+
+%fun ITextureITexture :: Int -> IO ()
+%call (int name) 
+%code int result = ITextureITexture(name);
+%fail {result < 0} {getError();}
+
+
+%fun ITextureLock :: Int -> Int -> IO ()
+%call (int readOnly) (int mipmapLevel) 
+%code int result = ITextureLock(readOnly, mipmapLevel);
+%fail {result < 0} {getError();}
+
+
+%fun ITextureUnlock :: IO ()
+%call 
+%code int result = ITextureUnlock();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureGetOriginalSize :: IO ()
+%call 
+%code int result = ITextureGetOriginalSize();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureGetSize :: IO ()
+%call 
+%code int result = ITextureGetSize();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureGetDriverType :: IO ()
+%call 
+%code int result = ITextureGetDriverType();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureGetColorFormat :: IO ()
+%call 
+%code int result = ITextureGetColorFormat();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureGetPitch :: IO ()
+%call 
+%code int result = ITextureGetPitch();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureHasMipMaps :: IO ()
+%call 
+%code int result = ITextureHasMipMaps();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureHasAlpha :: IO ()
+%call 
+%code int result = ITextureHasAlpha();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureRegenerateMipMapLevels :: Int -> IO ()
+%call (int mipmapData) 
+%code int result = ITextureRegenerateMipMapLevels(mipmapData);
+%fail {result < 0} {getError();}
+
+
+%fun ITextureIsRenderTarget :: IO ()
+%call 
+%code int result = ITextureIsRenderTarget();
+%fail {result < 0} {getError();}
+
+
+%fun ITextureGetName :: IO ()
+%call 
+%code int result = ITextureGetName();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshGetFrameCount :: IO ()
+%call 
+%code int result = IAnimatedMeshGetFrameCount();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshGetMesh :: Int -> Int -> Int -> Int -> IO ()
+%call (int frame) (int detailLevel) (int startFrameLoop) (int endFrameLoop) 
+%code int result = IAnimatedMeshGetMesh(frame, detailLevel, startFrameLoop, endFrameLoop);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshGetMeshType :: IO ()
+%call 
+%code int result = IAnimatedMeshGetMeshType();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIToolBarIGUIToolBar :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_TOOL_BAR) 
+%code int result = IGUIToolBarIGUIToolBar(environment, parent, id, EGUIET_TOOL_BAR);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIToolBarAddButton :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int id) (int text) (int tooltiptext) (int img) (int pressedimg) (int isPushButton) (int useAlphaChannel) 
+%code int result = IGUIToolBarAddButton(id, text, tooltiptext, img, pressedimg, isPushButton, useAlphaChannel);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetCollisionPoint :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int ray) (int selector) (int outCollisionPoint) (int outTriangle) (int outNode) 
+%code int result = ISceneCollisionManagerGetCollisionPoint(ray, selector, outCollisionPoint, outTriangle, outNode);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetCollisionResultPosition :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int selector) (int ellipsoidPosition) (int ellipsoidRadius) (int ellipsoidDirectionAndSpeed) (int triout) (int hitPosition) (int outFalling) (int outNode) (int slidingSpeed) (int gravityDirectionAndSpeed) 
+%code int result = ISceneCollisionManagerGetCollisionResultPosition(selector, ellipsoidPosition, ellipsoidRadius, ellipsoidDirectionAndSpeed, triout, hitPosition, outFalling, outNode, slidingSpeed, gravityDirectionAndSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetRayFromScreenCoordinates :: Int -> Int -> IO ()
+%call (int pos) (int camera) 
+%code int result = ISceneCollisionManagerGetRayFromScreenCoordinates(pos, camera);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition :: Int -> Int -> IO ()
+%call (int pos) (int camera) 
+%code int result = ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(pos, camera);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB :: Int -> Int -> Int -> Int -> IO ()
+%call (int pos) (int idBitMask) (int bNoDebugObjects) (int root) 
+%code int result = ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(pos, idBitMask, bNoDebugObjects, root);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetSceneNodeFromRayBB :: Int -> Int -> Int -> Int -> IO ()
+%call (int ray) (int idBitMask) (int bNoDebugObjects) (int root) 
+%code int result = ISceneCollisionManagerGetSceneNodeFromRayBB(ray, idBitMask, bNoDebugObjects, root);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetSceneNodeFromCameraBB :: Int -> Int -> Int -> IO ()
+%call (int camera) (int idBitMask) (int bNoDebugObjects) 
+%code int result = ISceneCollisionManagerGetSceneNodeFromCameraBB(camera, idBitMask, bNoDebugObjects);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int ray) (int outCollisionPoint) (int outTriangle) (int idBitMask) (int collisionRootNode) (int noDebugObjects) 
+%code int result = ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(ray, outCollisionPoint, outTriangle, idBitMask, collisionRootNode, noDebugObjects);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentDrawAll :: IO ()
+%call 
+%code int result = IGUIEnvironmentDrawAll();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentSetFocus :: Int -> IO ()
+%call (int element) 
+%code int result = IGUIEnvironmentSetFocus(element);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetFocus :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetFocus();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentRemoveFocus :: Int -> IO ()
+%call (int element) 
+%code int result = IGUIEnvironmentRemoveFocus(element);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentHasFocus :: Int -> IO ()
+%call (int element) 
+%code int result = IGUIEnvironmentHasFocus(element);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetVideoDriver :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetVideoDriver();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetFileSystem :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetFileSystem();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetOSOperator :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetOSOperator();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentClear :: IO ()
+%call 
+%code int result = IGUIEnvironmentClear();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentPostEventFromUser :: Int -> IO ()
+%call (int event) 
+%code int result = IGUIEnvironmentPostEventFromUser(event);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentSetUserEventReceiver :: Int -> IO ()
+%call (int evr) 
+%code int result = IGUIEnvironmentSetUserEventReceiver(evr);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetSkin :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetSkin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentSetSkin :: Int -> IO ()
+%call (int skin) 
+%code int result = IGUIEnvironmentSetSkin(skin);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentCreateSkin :: Int -> IO ()
+%call (int type) 
+%code int result = IGUIEnvironmentCreateSkin(type);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentCreateImageList :: Int -> Int -> Int -> IO ()
+%call (int texture) (int imageSize) (int useAlphaChannel) 
+%code int result = IGUIEnvironmentCreateImageList(texture, imageSize, useAlphaChannel);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetFont :: Int -> IO ()
+%call (int filename) 
+%code int result = IGUIEnvironmentGetFont(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddFont :: Int -> Int -> IO ()
+%call (int name) (int font) 
+%code int result = IGUIEnvironmentAddFont(name, font);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetBuiltInFont :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetBuiltInFont();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetSpriteBank :: Int -> IO ()
+%call (int filename) 
+%code int result = IGUIEnvironmentGetSpriteBank(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddEmptySpriteBank :: Int -> IO ()
+%call (int name) 
+%code int result = IGUIEnvironmentAddEmptySpriteBank(name);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetRootGUIElement :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetRootGUIElement();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddButton :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) (int text) (int tooltiptext) 
+%code int result = IGUIEnvironmentAddButton(rectangle, parent, id, text, tooltiptext);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddWindow :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int modal) (int text) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddWindow(rectangle, modal, text, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddModalScreen :: Int -> IO ()
+%call (int parent) 
+%code int result = IGUIEnvironmentAddModalScreen(parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddMessageBox :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int caption) (int text) (int modal) (int flags) (int parent) (int id) (int image) 
+%code int result = IGUIEnvironmentAddMessageBox(caption, text, modal, flags, parent, id, image);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddScrollBar :: Int -> Int -> Int -> Int -> IO ()
+%call (int horizontal) (int rectangle) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddScrollBar(horizontal, rectangle, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddImage :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int image) (int pos) (int useAlphaChannel) (int parent) (int id) (int text) 
+%code int result = IGUIEnvironmentAddImage(image, pos, useAlphaChannel, parent, id, text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddImage :: Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) (int text) 
+%code int result = IGUIEnvironmentAddImage(rectangle, parent, id, text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddCheckBox :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int checked) (int rectangle) (int parent) (int id) (int text) 
+%code int result = IGUIEnvironmentAddCheckBox(checked, rectangle, parent, id, text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddListBox :: Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) (int drawBackground) 
+%code int result = IGUIEnvironmentAddListBox(rectangle, parent, id, drawBackground);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddTreeView :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) (int drawBackground) (int scrollBarVertical) (int scrollBarHorizontal) 
+%code int result = IGUIEnvironmentAddTreeView(rectangle, parent, id, drawBackground, scrollBarVertical, scrollBarHorizontal);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddMeshViewer :: Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) (int text) 
+%code int result = IGUIEnvironmentAddMeshViewer(rectangle, parent, id, text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddFileOpenDialog :: Int -> Int -> Int -> Int -> IO ()
+%call (int title) (int modal) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddFileOpenDialog(title, modal, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddColorSelectDialog :: Int -> Int -> Int -> Int -> IO ()
+%call (int title) (int modal) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddColorSelectDialog(title, modal, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddStaticText :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int rectangle) (int border) (int wordWrap) (int parent) (int id) (int fillBackground) 
+%code int result = IGUIEnvironmentAddStaticText(text, rectangle, border, wordWrap, parent, id, fillBackground);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddEditBox :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int rectangle) (int border) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddEditBox(text, rectangle, border, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddSpinBox :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int rectangle) (int border) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddSpinBox(text, rectangle, border, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddInOutFader :: Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddInOutFader(rectangle, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddTabControl :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int fillbackground) (int border) (int id) 
+%code int result = IGUIEnvironmentAddTabControl(rectangle, parent, fillbackground, border, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddTab :: Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddTab(rectangle, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddContextMenu :: Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddContextMenu(rectangle, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddMenu :: Int -> Int -> IO ()
+%call (int parent) (int id) 
+%code int result = IGUIEnvironmentAddMenu(parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddToolBar :: Int -> Int -> IO ()
+%call (int parent) (int id) 
+%code int result = IGUIEnvironmentAddToolBar(parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddComboBox :: Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) 
+%code int result = IGUIEnvironmentAddComboBox(rectangle, parent, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddTable :: Int -> Int -> Int -> Int -> IO ()
+%call (int rectangle) (int parent) (int id) (int drawBackground) 
+%code int result = IGUIEnvironmentAddTable(rectangle, parent, id, drawBackground);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetDefaultGUIElementFactory :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetDefaultGUIElementFactory();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentRegisterGUIElementFactory :: Int -> IO ()
+%call (int factoryToAdd) 
+%code int result = IGUIEnvironmentRegisterGUIElementFactory(factoryToAdd);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetRegisteredGUIElementFactoryCount :: IO ()
+%call 
+%code int result = IGUIEnvironmentGetRegisteredGUIElementFactoryCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentGetGUIElementFactory :: Int -> IO ()
+%call (int index) 
+%code int result = IGUIEnvironmentGetGUIElementFactory(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentAddGUIElement :: Int -> Int -> IO ()
+%call (int elementName) (int parent) 
+%code int result = IGUIEnvironmentAddGUIElement(elementName, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentSaveGUI :: Int -> Int -> IO ()
+%call (int filename) (int start) 
+%code int result = IGUIEnvironmentSaveGUI(filename, start);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentSaveGUI :: Int -> Int -> IO ()
+%call (int file) (int start) 
+%code int result = IGUIEnvironmentSaveGUI(file, start);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentLoadGUI :: Int -> Int -> IO ()
+%call (int filename) (int parent) 
+%code int result = IGUIEnvironmentLoadGUI(filename, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentLoadGUI :: Int -> Int -> IO ()
+%call (int file) (int parent) 
+%code int result = IGUIEnvironmentLoadGUI(file, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentSerializeAttributes :: Int -> Int -> IO ()
+%call (int out) (int options) 
+%code int result = IGUIEnvironmentSerializeAttributes(out, options);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentDeserializeAttributes :: Int -> Int -> IO ()
+%call (int i_n) (int options) 
+%code int result = IGUIEnvironmentDeserializeAttributes(i_n, options);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentWriteGUIElement :: Int -> Int -> IO ()
+%call (int writer) (int node) 
+%code int result = IGUIEnvironmentWriteGUIElement(writer, node);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIEnvironmentReadGUIElement :: Int -> Int -> IO ()
+%call (int reader) (int node) 
+%code int result = IGUIEnvironmentReadGUIElement(reader, node);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageListIGUIImageList :: IO ()
+%call 
+%code int result = IGUIImageListIGUIImageList();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageListDraw :: Int -> Int -> Int -> IO ()
+%call (int index) (int destPos) (int clip) 
+%code int result = IGUIImageListDraw(index, destPos, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageListGetImageCount :: IO ()
+%call 
+%code int result = IGUIImageListGetImageCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageListGetImageSize :: IO ()
+%call 
+%code int result = IGUIImageListGetImageSize();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetOwner :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetOwner();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetParent :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetParent();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetText :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetText();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetText :: Int -> IO ()
+%call (int text) 
+%code int result = IGUITreeViewNodeSetText(text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetIcon :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetIcon();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetIcon :: Int -> IO ()
+%call (int icon) 
+%code int result = IGUITreeViewNodeSetIcon(icon);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetImageIndex :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetImageIndex();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetImageIndex :: Int -> IO ()
+%call (int imageIndex) 
+%code int result = IGUITreeViewNodeSetImageIndex(imageIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetSelectedImageIndex :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetSelectedImageIndex();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetSelectedImageIndex :: Int -> IO ()
+%call (int imageIndex) 
+%code int result = IGUITreeViewNodeSetSelectedImageIndex(imageIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetData :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetData();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetData :: Int -> IO ()
+%call (int data) 
+%code int result = IGUITreeViewNodeSetData(data);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetData2 :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetData2();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetData2 :: Int -> IO ()
+%call (int data) 
+%code int result = IGUITreeViewNodeSetData2(data);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetChildCount :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetChildCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeClearChilds :: IO ()
+%call 
+%code int result = IGUITreeViewNodeClearChilds();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeHasChilds :: IO ()
+%call 
+%code int result = IGUITreeViewNodeHasChilds();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeAddChildBack :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int icon) (int imageIndex) (int selectedImageIndex) (int data) (int data2) 
+%code int result = IGUITreeViewNodeAddChildBack(text, icon, imageIndex, selectedImageIndex, data, data2);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeAddChildFront :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int icon) (int imageIndex) (int selectedImageIndex) (int data) (int data2) 
+%code int result = IGUITreeViewNodeAddChildFront(text, icon, imageIndex, selectedImageIndex, data, data2);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeInsertChildAfter :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int other) (int text) (int icon) (int imageIndex) (int selectedImageIndex) (int data) (int data2) 
+%code int result = IGUITreeViewNodeInsertChildAfter(other, text, icon, imageIndex, selectedImageIndex, data, data2);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeInsertChildBefore :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int other) (int text) (int icon) (int imageIndex) (int selectedImageIndex) (int data) (int data2) 
+%code int result = IGUITreeViewNodeInsertChildBefore(other, text, icon, imageIndex, selectedImageIndex, data, data2);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetFirstChild :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetFirstChild();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetLastChild :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetLastChild();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetPrevSibling :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetPrevSibling();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetNextSibling :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetNextSibling();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetNextVisible :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetNextVisible();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeDeleteChild :: Int -> IO ()
+%call (int child) 
+%code int result = IGUITreeViewNodeDeleteChild(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeMoveChildUp :: Int -> IO ()
+%call (int child) 
+%code int result = IGUITreeViewNodeMoveChildUp(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeMoveChildDown :: Int -> IO ()
+%call (int child) 
+%code int result = IGUITreeViewNodeMoveChildDown(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetExpanded :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetExpanded();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetExpanded :: Int -> IO ()
+%call (int expanded) 
+%code int result = IGUITreeViewNodeSetExpanded(expanded);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetSelected :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetSelected();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeSetSelected :: Int -> IO ()
+%call (int selected) 
+%code int result = IGUITreeViewNodeSetSelected(selected);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeIsRoot :: IO ()
+%call 
+%code int result = IGUITreeViewNodeIsRoot();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeGetLevel :: IO ()
+%call 
+%code int result = IGUITreeViewNodeGetLevel();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewNodeIsVisible :: IO ()
+%call 
+%code int result = IGUITreeViewNodeIsVisible();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewIGUITreeView :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_TREE_VIEW) 
+%code int result = IGUITreeViewIGUITreeView(environment, parent, id, EGUIET_TREE_VIEW);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewGetRoot :: IO ()
+%call 
+%code int result = IGUITreeViewGetRoot();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewGetSelected :: IO ()
+%call 
+%code int result = IGUITreeViewGetSelected();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewGetLinesVisible :: IO ()
+%call 
+%code int result = IGUITreeViewGetLinesVisible();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewSetLinesVisible :: Int -> IO ()
+%call (int visible) 
+%code int result = IGUITreeViewSetLinesVisible(visible);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewSetIconFont :: Int -> IO ()
+%call (int font) 
+%code int result = IGUITreeViewSetIconFont(font);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewSetImageList :: Int -> IO ()
+%call (int imageList) 
+%code int result = IGUITreeViewSetImageList(imageList);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewGetImageList :: IO ()
+%call 
+%code int result = IGUITreeViewGetImageList();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewSetImageLeftOfIcon :: Int -> IO ()
+%call (int bLeftOf) 
+%code int result = IGUITreeViewSetImageLeftOfIcon(bLeftOf);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewGetImageLeftOfIcon :: IO ()
+%call 
+%code int result = IGUITreeViewGetImageLeftOfIcon();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITreeViewGetLastEventNode :: IO ()
+%call 
+%code int result = IGUITreeViewGetLastEventNode();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarIGUIScrollBar :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_SCROLL_BAR) 
+%code int result = IGUIScrollBarIGUIScrollBar(environment, parent, id, EGUIET_SCROLL_BAR);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarSetMax :: Int -> IO ()
+%call (int max) 
+%code int result = IGUIScrollBarSetMax(max);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarGetMax :: IO ()
+%call 
+%code int result = IGUIScrollBarGetMax();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarSetMin :: Int -> IO ()
+%call (int min) 
+%code int result = IGUIScrollBarSetMin(min);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarGetMin :: IO ()
+%call 
+%code int result = IGUIScrollBarGetMin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarGetSmallStep :: IO ()
+%call 
+%code int result = IGUIScrollBarGetSmallStep();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarSetSmallStep :: Int -> IO ()
+%call (int step) 
+%code int result = IGUIScrollBarSetSmallStep(step);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarGetLargeStep :: IO ()
+%call 
+%code int result = IGUIScrollBarGetLargeStep();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarSetLargeStep :: Int -> IO ()
+%call (int step) 
+%code int result = IGUIScrollBarSetLargeStep(step);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarGetPos :: IO ()
+%call 
+%code int result = IGUIScrollBarGetPos();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIScrollBarSetPos :: Int -> IO ()
+%call (int pos) 
+%code int result = IGUIScrollBarSetPos(pos);
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeIVolumeLightSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int parent) 
+%code int result = IVolumeLightSceneNodeIVolumeLightSceneNode(parent, mgr, id, position, rotation, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeGetType :: IO ()
+%call 
+%code int result = IVolumeLightSceneNodeGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeSetSubDivideU :: Int -> IO ()
+%call (int inU) 
+%code int result = IVolumeLightSceneNodeSetSubDivideU(inU);
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeSetSubDivideV :: Int -> IO ()
+%call (int inV) 
+%code int result = IVolumeLightSceneNodeSetSubDivideV(inV);
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeGetSubDivideU :: IO ()
+%call 
+%code int result = IVolumeLightSceneNodeGetSubDivideU();
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeGetSubDivideV :: IO ()
+%call 
+%code int result = IVolumeLightSceneNodeGetSubDivideV();
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeSetFootColor :: Int -> IO ()
+%call (int inColour) 
+%code int result = IVolumeLightSceneNodeSetFootColor(inColour);
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeSetTailColor :: Int -> IO ()
+%call (int inColour) 
+%code int result = IVolumeLightSceneNodeSetTailColor(inColour);
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeGetFootColor :: IO ()
+%call 
+%code int result = IVolumeLightSceneNodeGetFootColor();
+%fail {result < 0} {getError();}
+
+
+%fun IVolumeLightSceneNodeGetTailColor :: IO ()
+%call 
+%code int result = IVolumeLightSceneNodeGetTailColor();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowIGUIWindow :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_WINDOW) 
+%code int result = IGUIWindowIGUIWindow(environment, parent, id, EGUIET_WINDOW);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowGetCloseButton :: IO ()
+%call 
+%code int result = IGUIWindowGetCloseButton();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowGetMinimizeButton :: IO ()
+%call 
+%code int result = IGUIWindowGetMinimizeButton();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowGetMaximizeButton :: IO ()
+%call 
+%code int result = IGUIWindowGetMaximizeButton();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowIsDraggable :: IO ()
+%call 
+%code int result = IGUIWindowIsDraggable();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowSetDraggable :: Int -> IO ()
+%call (int draggable) 
+%code int result = IGUIWindowSetDraggable(draggable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowSetDrawBackground :: Int -> IO ()
+%call (int draw) 
+%code int result = IGUIWindowSetDrawBackground(draw);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowGetDrawBackground :: IO ()
+%call 
+%code int result = IGUIWindowGetDrawBackground();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowSetDrawTitlebar :: Int -> IO ()
+%call (int draw) 
+%code int result = IGUIWindowSetDrawTitlebar(draw);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowGetDrawTitlebar :: IO ()
+%call 
+%code int result = IGUIWindowGetDrawTitlebar();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIWindowGetClientRect :: IO ()
+%call 
+%code int result = IGUIWindowGetClientRect();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFileOpenDialogIGUIFileOpenDialog :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_FILE_OPEN_DIALOG) 
+%code int result = IGUIFileOpenDialogIGUIFileOpenDialog(environment, parent, id, EGUIET_FILE_OPEN_DIALOG);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFileOpenDialogGetFileName :: IO ()
+%call 
+%code int result = IGUIFileOpenDialogGetFileName();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFileOpenDialogGetDirectoryName :: IO ()
+%call 
+%code int result = IGUIFileOpenDialogGetDirectoryName();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleBoxEmitterSetBox :: Int -> IO ()
+%call (int box) 
+%code int result = IParticleBoxEmitterSetBox(box);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleBoxEmitterGetBox :: IO ()
+%call 
+%code int result = IParticleBoxEmitterGetBox();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleBoxEmitterGetType :: IO ()
+%call 
+%code int result = IParticleBoxEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetVisible :: Int -> IO ()
+%call (int visible) 
+%code int result = ICursorControlSetVisible(visible);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlIsVisible :: IO ()
+%call 
+%code int result = ICursorControlIsVisible();
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetPosition :: Int -> IO ()
+%call (int pos) 
+%code int result = ICursorControlSetPosition(pos);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetPosition :: Int -> Int -> IO ()
+%call (int x) (int y) 
+%code int result = ICursorControlSetPosition(x, y);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetPosition :: Int -> IO ()
+%call (int pos) 
+%code int result = ICursorControlSetPosition(pos);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetPosition :: Int -> Int -> IO ()
+%call (int x) (int y) 
+%code int result = ICursorControlSetPosition(x, y);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlGetPosition :: IO ()
+%call 
+%code int result = ICursorControlGetPosition();
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlGetRelativePosition :: IO ()
+%call 
+%code int result = ICursorControlGetRelativePosition();
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetReferenceRect :: Int -> IO ()
+%call (int rect) 
+%code int result = ICursorControlSetReferenceRect(rect);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlSetActiveIcon :: Int -> IO ()
+%call (int iconId) 
+%code int result = ICursorControlSetActiveIcon(iconId);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlGetActiveIcon :: IO ()
+%call 
+%code int result = ICursorControlGetActiveIcon();
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlAddIcon :: Int -> IO ()
+%call (int icon) 
+%code int result = ICursorControlAddIcon(icon);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlChangeIcon :: Int -> Int -> IO ()
+%call (int iconId) (int sprite) 
+%code int result = ICursorControlChangeIcon(iconId, sprite);
+%fail {result < 0} {getError();}
+
+
+%fun ICursorControlGetSupportedIconSize :: IO ()
+%call 
+%code int result = ICursorControlGetSupportedIconSize();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeIBoneSceneNode :: Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) 
+%code int result = IBoneSceneNodeIBoneSceneNode(parent, mgr, id);
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeGetBoneName :: IO ()
+%call 
+%code int result = IBoneSceneNodeGetBoneName();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeGetBoneIndex :: IO ()
+%call 
+%code int result = IBoneSceneNodeGetBoneIndex();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeSetAnimationMode :: Int -> IO ()
+%call (int mode) 
+%code int result = IBoneSceneNodeSetAnimationMode(mode);
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeGetAnimationMode :: IO ()
+%call 
+%code int result = IBoneSceneNodeGetAnimationMode();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeGetBoundingBox :: IO ()
+%call 
+%code int result = IBoneSceneNodeGetBoundingBox();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeOnAnimate :: Int -> IO ()
+%call (int timeMs) 
+%code int result = IBoneSceneNodeOnAnimate(timeMs);
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeRender :: IO ()
+%call 
+%code int result = IBoneSceneNodeRender();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeSetSkinningSpace :: Int -> IO ()
+%call (int space) 
+%code int result = IBoneSceneNodeSetSkinningSpace(space);
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeGetSkinningSpace :: IO ()
+%call 
+%code int result = IBoneSceneNodeGetSkinningSpace();
+%fail {result < 0} {getError();}
+
+
+%fun IBoneSceneNodeUpdateAbsolutePositionOfAllChildren :: IO ()
+%call 
+%code int result = IBoneSceneNodeUpdateAbsolutePositionOfAllChildren();
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesIMaterialRendererServices :: IO ()
+%call 
+%code int result = IMaterialRendererServicesIMaterialRendererServices();
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesSetBasicRenderStates :: Int -> Int -> Int -> IO ()
+%call (int material) (int lastMaterial) (int resetAllRenderstates) 
+%code int result = IMaterialRendererServicesSetBasicRenderStates(material, lastMaterial, resetAllRenderstates);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesSetVertexShaderConstant :: Int -> Int -> Int -> IO ()
+%call (int name) (int floats) (int count) 
+%code int result = IMaterialRendererServicesSetVertexShaderConstant(name, floats, count);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesSetVertexShaderConstant :: Int -> Int -> Int -> IO ()
+%call (int data) (int startRegister) (int constantAmount) 
+%code int result = IMaterialRendererServicesSetVertexShaderConstant(data, startRegister, constantAmount);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesSetPixelShaderConstant :: Int -> Int -> Int -> IO ()
+%call (int name) (int floats) (int count) 
+%code int result = IMaterialRendererServicesSetPixelShaderConstant(name, floats, count);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesSetPixelShaderConstant :: Int -> Int -> Int -> IO ()
+%call (int data) (int startRegister) (int constantAmount) 
+%code int result = IMaterialRendererServicesSetPixelShaderConstant(data, startRegister, constantAmount);
+%fail {result < 0} {getError();}
+
+
+%fun IMaterialRendererServicesGetVideoDriver :: IO ()
+%call 
+%code int result = IMaterialRendererServicesGetVideoDriver();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListIVertexList :: IO ()
+%call 
+%code int result = IVertexListIVertexList();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListStride :: IO ()
+%call 
+%code int result = IVertexListStride();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSize :: IO ()
+%call 
+%code int result = IVertexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IVertexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IVertexListOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetLast :: IO ()
+%call 
+%code int result = IVertexListGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IVertexListSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IVertexListReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListAllocated_size :: IO ()
+%call 
+%code int result = IVertexListAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPointer :: IO ()
+%call 
+%code int result = IVertexListPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetType :: IO ()
+%call 
+%code int result = IVertexListGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListStride :: IO ()
+%call 
+%code int result = IVertexListStride();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSize :: IO ()
+%call 
+%code int result = IVertexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IVertexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IVertexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IVertexListOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetLast :: IO ()
+%call 
+%code int result = IVertexListGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IVertexListSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSet_used :: IO ()
+%call 
+%code int result = IVertexListSet_used();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IVertexListReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: IO ()
+%call 
+%code int result = IVertexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListAllocated_size :: IO ()
+%call 
+%code int result = IVertexListAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPointer :: IO ()
+%call 
+%code int result = IVertexListPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetType :: IO ()
+%call 
+%code int result = IVertexListGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListCVertexBuffer :: IO ()
+%call 
+%code int result = IVertexListCVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSetType :: IO ()
+%call 
+%code int result = IVertexListSetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListCVertexBuffer :: IO ()
+%call 
+%code int result = IVertexListCVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSetType :: IO ()
+%call 
+%code int result = IVertexListSetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: IO ()
+%call 
+%code int result = IVertexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSize :: IO ()
+%call 
+%code int result = IVertexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: Int -> IO ()
+%call (int n) 
+%code int result = IVertexListPush_back(n);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListCVertexBuffer :: IO ()
+%call 
+%code int result = IVertexListCVertexBuffer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSetType :: Int -> IO ()
+%call (int vertexType) 
+%code int result = IVertexListSetType(vertexType);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSwitch :: IO ()
+%call 
+%code int result = IVertexListSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: IO ()
+%call 
+%code int result = IVertexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSize :: IO ()
+%call 
+%code int result = IVertexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: Int -> IO ()
+%call (int n) 
+%code int result = IVertexListPush_back(n);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetData :: IO ()
+%call 
+%code int result = IVertexListGetData();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetType :: IO ()
+%call 
+%code int result = IVertexListGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListStride :: IO ()
+%call 
+%code int result = IVertexListStride();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSize :: IO ()
+%call 
+%code int result = IVertexListSize();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: Int -> IO ()
+%call (int element) 
+%code int result = IVertexListPush_back(element);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPush_back :: IO ()
+%call 
+%code int result = IVertexListPush_back();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListOperator :: Int -> IO ()
+%call (int index) 
+%code int result = IVertexListOperator(index);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetLast :: IO ()
+%call 
+%code int result = IVertexListGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSet_used :: Int -> IO ()
+%call (int usedNow) 
+%code int result = IVertexListSet_used(usedNow);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSet_used :: IO ()
+%call 
+%code int result = IVertexListSet_used();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: Int -> IO ()
+%call (int new_size) 
+%code int result = IVertexListReallocate(new_size);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListReallocate :: IO ()
+%call 
+%code int result = IVertexListReallocate();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListAllocated_size :: IO ()
+%call 
+%code int result = IVertexListAllocated_size();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListPointer :: IO ()
+%call 
+%code int result = IVertexListPointer();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetHardwareMappingHint :: IO ()
+%call 
+%code int result = IVertexListGetHardwareMappingHint();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSetHardwareMappingHint :: Int -> IO ()
+%call (int NewMappingHint) 
+%code int result = IVertexListSetHardwareMappingHint(NewMappingHint);
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListSetDirty :: IO ()
+%call 
+%code int result = IVertexListSetDirty();
+%fail {result < 0} {getError();}
+
+
+%fun IVertexListGetChangedID :: IO ()
+%call 
+%code int result = IVertexListGetChangedID();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSGetMoveSpeed :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCameraFPSGetMoveSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSSetMoveSpeed :: Int -> IO ()
+%call (int moveSpeed) 
+%code int result = ISceneNodeAnimatorCameraFPSSetMoveSpeed(moveSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSGetRotateSpeed :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorCameraFPSGetRotateSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSSetRotateSpeed :: Int -> IO ()
+%call (int rotateSpeed) 
+%code int result = ISceneNodeAnimatorCameraFPSSetRotateSpeed(rotateSpeed);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSSetKeyMap :: Int -> Int -> IO ()
+%call (int map) (int count) 
+%code int result = ISceneNodeAnimatorCameraFPSSetKeyMap(map, count);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSSetVerticalMovement :: Int -> IO ()
+%call (int allow) 
+%code int result = ISceneNodeAnimatorCameraFPSSetVerticalMovement(allow);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCameraFPSSetInvertMouse :: Int -> IO ()
+%call (int invert) 
+%code int result = ISceneNodeAnimatorCameraFPSSetInvertMouse(invert);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabIGUITab :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_TAB) 
+%code int result = IGUITabIGUITab(environment, parent, id, EGUIET_TAB);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabGetNumber :: IO ()
+%call 
+%code int result = IGUITabGetNumber();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabSetDrawBackground :: Int -> IO ()
+%call (int draw) 
+%code int result = IGUITabSetDrawBackground(draw);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabSetBackgroundColor :: Int -> IO ()
+%call (int c) 
+%code int result = IGUITabSetBackgroundColor(c);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabIsDrawingBackground :: IO ()
+%call 
+%code int result = IGUITabIsDrawingBackground();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabGetBackgroundColor :: IO ()
+%call 
+%code int result = IGUITabGetBackgroundColor();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabSetTextColor :: Int -> IO ()
+%call (int c) 
+%code int result = IGUITabSetTextColor(c);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabGetTextColor :: IO ()
+%call 
+%code int result = IGUITabGetTextColor();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlIGUITabControl :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_TAB_CONTROL) 
+%code int result = IGUITabControlIGUITabControl(environment, parent, id, EGUIET_TAB_CONTROL);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlAddTab :: Int -> Int -> IO ()
+%call (int caption) (int id) 
+%code int result = IGUITabControlAddTab(caption, id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetTabCount :: IO ()
+%call 
+%code int result = IGUITabControlGetTabCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetTab :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUITabControlGetTab(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlSetActiveTab :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUITabControlSetActiveTab(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlSetActiveTab :: Int -> IO ()
+%call (int tab) 
+%code int result = IGUITabControlSetActiveTab(tab);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetActiveTab :: IO ()
+%call 
+%code int result = IGUITabControlGetActiveTab();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlSetTabHeight :: Int -> IO ()
+%call (int height) 
+%code int result = IGUITabControlSetTabHeight(height);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetTabHeight :: IO ()
+%call 
+%code int result = IGUITabControlGetTabHeight();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlSetTabMaxWidth :: Int -> IO ()
+%call (int width) 
+%code int result = IGUITabControlSetTabMaxWidth(width);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetTabMaxWidth :: IO ()
+%call 
+%code int result = IGUITabControlGetTabMaxWidth();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlSetTabVerticalAlignment :: Int -> IO ()
+%call (int alignment) 
+%code int result = IGUITabControlSetTabVerticalAlignment(alignment);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetTabVerticalAlignment :: IO ()
+%call 
+%code int result = IGUITabControlGetTabVerticalAlignment();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlSetTabExtraWidth :: Int -> IO ()
+%call (int extraWidth) 
+%code int result = IGUITabControlSetTabExtraWidth(extraWidth);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITabControlGetTabExtraWidth :: IO ()
+%call 
+%code int result = IGUITabControlGetTabExtraWidth();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterSetCenter :: Int -> IO ()
+%call (int center) 
+%code int result = IParticleCylinderEmitterSetCenter(center);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterSetNormal :: Int -> IO ()
+%call (int normal) 
+%code int result = IParticleCylinderEmitterSetNormal(normal);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterSetRadius :: Int -> IO ()
+%call (int radius) 
+%code int result = IParticleCylinderEmitterSetRadius(radius);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterSetLength :: Int -> IO ()
+%call (int length) 
+%code int result = IParticleCylinderEmitterSetLength(length);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterSetOutlineOnly :: Int -> IO ()
+%call (int outlineOnly) 
+%code int result = IParticleCylinderEmitterSetOutlineOnly(outlineOnly);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterGetCenter :: IO ()
+%call 
+%code int result = IParticleCylinderEmitterGetCenter();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterGetNormal :: IO ()
+%call 
+%code int result = IParticleCylinderEmitterGetNormal();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterGetRadius :: IO ()
+%call 
+%code int result = IParticleCylinderEmitterGetRadius();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterGetLength :: IO ()
+%call 
+%code int result = IParticleCylinderEmitterGetLength();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterGetOutlineOnly :: IO ()
+%call 
+%code int result = IParticleCylinderEmitterGetOutlineOnly();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleCylinderEmitterGetType :: IO ()
+%call 
+%code int result = IParticleCylinderEmitterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankGetPositions :: IO ()
+%call 
+%code int result = IGUISpriteBankGetPositions();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankGetSprites :: IO ()
+%call 
+%code int result = IGUISpriteBankGetSprites();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankGetTextureCount :: IO ()
+%call 
+%code int result = IGUISpriteBankGetTextureCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankGetTexture :: Int -> IO ()
+%call (int index) 
+%code int result = IGUISpriteBankGetTexture(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankAddTexture :: Int -> IO ()
+%call (int texture) 
+%code int result = IGUISpriteBankAddTexture(texture);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankSetTexture :: Int -> Int -> IO ()
+%call (int index) (int texture) 
+%code int result = IGUISpriteBankSetTexture(index, texture);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankAddTextureAsSprite :: Int -> IO ()
+%call (int texture) 
+%code int result = IGUISpriteBankAddTextureAsSprite(texture);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankClear :: IO ()
+%call 
+%code int result = IGUISpriteBankClear();
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankDraw2DSprite :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int index) (int pos) (int clip) (int color) (int starttime) (int currenttime) (int loop) (int center) 
+%code int result = IGUISpriteBankDraw2DSprite(index, pos, clip, color, starttime, currenttime, loop, center);
+%fail {result < 0} {getError();}
+
+
+%fun IGUISpriteBankDraw2DSpriteBatch :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int indices) (int pos) (int clip) (int color) (int starttime) (int currenttime) (int loop) (int center) 
+%code int result = IGUISpriteBankDraw2DSpriteBatch(indices, pos, clip, color, starttime, currenttime, loop, center);
+%fail {result < 0} {getError();}
+
+
+%fun IMetaTriangleSelectorAddTriangleSelector :: Int -> IO ()
+%call (int toAdd) 
+%code int result = IMetaTriangleSelectorAddTriangleSelector(toAdd);
+%fail {result < 0} {getError();}
+
+
+%fun IMetaTriangleSelectorRemoveTriangleSelector :: Int -> IO ()
+%call (int toRemove) 
+%code int result = IMetaTriangleSelectorRemoveTriangleSelector(toRemove);
+%fail {result < 0} {getError();}
+
+
+%fun IMetaTriangleSelectorRemoveAllTriangleSelectors :: IO ()
+%call 
+%code int result = IMetaTriangleSelectorRemoveAllTriangleSelectors();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageIGUIImage :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_IMAGE) 
+%code int result = IGUIImageIGUIImage(environment, parent, id, EGUIET_IMAGE);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageSetImage :: Int -> IO ()
+%call (int image) 
+%code int result = IGUIImageSetImage(image);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageSetColor :: Int -> IO ()
+%call (int color) 
+%code int result = IGUIImageSetColor(color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageSetScaleImage :: Int -> IO ()
+%call (int scale) 
+%code int result = IGUIImageSetScaleImage(scale);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageSetUseAlphaChannel :: Int -> IO ()
+%call (int use) 
+%code int result = IGUIImageSetUseAlphaChannel(use);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageIsImageScaled :: IO ()
+%call 
+%code int result = IGUIImageIsImageScaled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIImageIsAlphaChannelUsed :: IO ()
+%call 
+%code int result = IGUIImageIsAlphaChannelUsed();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeIAnimatedMeshSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int rotation) (int scale) (int parent) 
+%code int result = IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(parent, mgr, id, position, rotation, scale, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeIAnimatedMeshSceneNode :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeIAnimatedMeshSceneNode();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetCurrentFrame :: Int -> IO ()
+%call (int frame) 
+%code int result = IAnimatedMeshSceneNodeSetCurrentFrame(frame);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetFrameLoop :: Int -> Int -> IO ()
+%call (int begin) (int end) 
+%code int result = IAnimatedMeshSceneNodeSetFrameLoop(begin, end);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetAnimationSpeed :: Int -> IO ()
+%call (int framesPerSecond) 
+%code int result = IAnimatedMeshSceneNodeSetAnimationSpeed(framesPerSecond);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetAnimationSpeed :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeGetAnimationSpeed();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeAddShadowVolumeSceneNode :: Int -> Int -> Int -> Int -> IO ()
+%call (int shadowMesh) (int id) (int zfailmethod) (int infinity) 
+%code int result = IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(shadowMesh, id, zfailmethod, infinity);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetJointNode :: Int -> IO ()
+%call (int jointName) 
+%code int result = IAnimatedMeshSceneNodeGetJointNode(jointName);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetJointNode :: Int -> IO ()
+%call (int jointID) 
+%code int result = IAnimatedMeshSceneNodeGetJointNode(jointID);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetJointCount :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeGetJointCount();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetMS3DJointNode :: Int -> IO ()
+%call (int jointName) 
+%code int result = IAnimatedMeshSceneNodeGetMS3DJointNode(jointName);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetXJointNode :: Int -> IO ()
+%call (int jointName) 
+%code int result = IAnimatedMeshSceneNodeGetXJointNode(jointName);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetMD2Animation :: Int -> IO ()
+%call (int anim) 
+%code int result = IAnimatedMeshSceneNodeSetMD2Animation(anim);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetMD2Animation :: Int -> IO ()
+%call (int animationName) 
+%code int result = IAnimatedMeshSceneNodeSetMD2Animation(animationName);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetFrameNr :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeGetFrameNr();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetStartFrame :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeGetStartFrame();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetEndFrame :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeGetEndFrame();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetLoopMode :: Int -> IO ()
+%call (int playAnimationLooped) 
+%code int result = IAnimatedMeshSceneNodeSetLoopMode(playAnimationLooped);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetAnimationEndCallback :: Int -> IO ()
+%call (int callback) 
+%code int result = IAnimatedMeshSceneNodeSetAnimationEndCallback(callback);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetReadOnlyMaterials :: Int -> IO ()
+%call (int readonly) 
+%code int result = IAnimatedMeshSceneNodeSetReadOnlyMaterials(readonly);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeIsReadOnlyMaterials :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeIsReadOnlyMaterials();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetMesh :: Int -> IO ()
+%call (int mesh) 
+%code int result = IAnimatedMeshSceneNodeSetMesh(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetMesh :: IO ()
+%call 
+%code int result = IAnimatedMeshSceneNodeGetMesh();
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeGetMD3TagTransformation :: Int -> IO ()
+%call (int tagname) 
+%code int result = IAnimatedMeshSceneNodeGetMD3TagTransformation(tagname);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetJointMode :: Int -> IO ()
+%call (int mode) 
+%code int result = IAnimatedMeshSceneNodeSetJointMode(mode);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetTransitionTime :: Int -> IO ()
+%call (int Time) 
+%code int result = IAnimatedMeshSceneNodeSetTransitionTime(Time);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeAnimateJoints :: Int -> IO ()
+%call (int CalculateAbsolutePositions) 
+%code int result = IAnimatedMeshSceneNodeAnimateJoints(CalculateAbsolutePositions);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeSetRenderFromIdentity :: Int -> IO ()
+%call (int On) 
+%code int result = IAnimatedMeshSceneNodeSetRenderFromIdentity(On);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimatedMeshSceneNodeClone :: Int -> Int -> IO ()
+%call (int newParent) (int newManager) 
+%code int result = IAnimatedMeshSceneNodeClone(newParent, newManager);
+%fail {result < 0} {getError();}
+
+
+%fun IAnimationEndCallBackOnAnimationEnd :: Int -> IO ()
+%call (int node) 
+%code int result = IAnimationEndCallBackOnAnimationEnd(node);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIColorSelectDialogIGUIColorSelectDialog :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_COLOR_SELECT_DIALOG) 
+%code int result = IGUIColorSelectDialogIGUIColorSelectDialog(environment, parent, id, EGUIET_COLOR_SELECT_DIALOG);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableIGUITable :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_TABLE) 
+%code int result = IGUITableIGUITable(environment, parent, id, EGUIET_TABLE);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableAddColumn :: Int -> Int -> IO ()
+%call (int caption) (int columnIndex) 
+%code int result = IGUITableAddColumn(caption, columnIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableRemoveColumn :: Int -> IO ()
+%call (int columnIndex) 
+%code int result = IGUITableRemoveColumn(columnIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetColumnCount :: IO ()
+%call 
+%code int result = IGUITableGetColumnCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetActiveColumn :: Int -> Int -> IO ()
+%call (int idx) (int doOrder) 
+%code int result = IGUITableSetActiveColumn(idx, doOrder);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetActiveColumn :: IO ()
+%call 
+%code int result = IGUITableGetActiveColumn();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetActiveColumnOrdering :: IO ()
+%call 
+%code int result = IGUITableGetActiveColumnOrdering();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetColumnWidth :: Int -> Int -> IO ()
+%call (int columnIndex) (int width) 
+%code int result = IGUITableSetColumnWidth(columnIndex, width);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetResizableColumns :: Int -> IO ()
+%call (int resizable) 
+%code int result = IGUITableSetResizableColumns(resizable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableHasResizableColumns :: IO ()
+%call 
+%code int result = IGUITableHasResizableColumns();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetColumnOrdering :: Int -> Int -> IO ()
+%call (int columnIndex) (int mode) 
+%code int result = IGUITableSetColumnOrdering(columnIndex, mode);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetSelected :: IO ()
+%call 
+%code int result = IGUITableGetSelected();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetSelected :: Int -> IO ()
+%call (int index) 
+%code int result = IGUITableSetSelected(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetRowCount :: IO ()
+%call 
+%code int result = IGUITableGetRowCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableAddRow :: Int -> IO ()
+%call (int rowIndex) 
+%code int result = IGUITableAddRow(rowIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableRemoveRow :: Int -> IO ()
+%call (int rowIndex) 
+%code int result = IGUITableRemoveRow(rowIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableClearRows :: IO ()
+%call 
+%code int result = IGUITableClearRows();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSwapRows :: Int -> Int -> IO ()
+%call (int rowIndexA) (int rowIndexB) 
+%code int result = IGUITableSwapRows(rowIndexA, rowIndexB);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableOrderRows :: Int -> Int -> IO ()
+%call (int columnIndex) (int mode) 
+%code int result = IGUITableOrderRows(columnIndex, mode);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetCellText :: Int -> Int -> Int -> IO ()
+%call (int rowIndex) (int columnIndex) (int text) 
+%code int result = IGUITableSetCellText(rowIndex, columnIndex, text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetCellText :: Int -> Int -> Int -> Int -> IO ()
+%call (int rowIndex) (int columnIndex) (int text) (int color) 
+%code int result = IGUITableSetCellText(rowIndex, columnIndex, text, color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetCellData :: Int -> Int -> Int -> IO ()
+%call (int rowIndex) (int columnIndex) (int data) 
+%code int result = IGUITableSetCellData(rowIndex, columnIndex, data);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetCellColor :: Int -> Int -> Int -> IO ()
+%call (int rowIndex) (int columnIndex) (int color) 
+%code int result = IGUITableSetCellColor(rowIndex, columnIndex, color);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetCellText :: Int -> Int -> IO ()
+%call (int rowIndex) (int columnIndex) 
+%code int result = IGUITableGetCellText(rowIndex, columnIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetCellData :: Int -> Int -> IO ()
+%call (int rowIndex) (int columnIndex) 
+%code int result = IGUITableGetCellData(rowIndex, columnIndex);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableClear :: IO ()
+%call 
+%code int result = IGUITableClear();
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableSetDrawFlags :: Int -> IO ()
+%call (int flags) 
+%code int result = IGUITableSetDrawFlags(flags);
+%fail {result < 0} {getError();}
+
+
+%fun IGUITableGetDrawFlags :: IO ()
+%call 
+%code int result = IGUITableGetDrawFlags();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeFactoryAddSceneNode :: Int -> Int -> IO ()
+%call (int type) (int parent) 
+%code int result = ISceneNodeFactoryAddSceneNode(type, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeFactoryAddSceneNode :: Int -> Int -> IO ()
+%call (int typeName) (int parent) 
+%code int result = ISceneNodeFactoryAddSceneNode(typeName, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeFactoryGetCreatableSceneNodeTypeCount :: IO ()
+%call 
+%code int result = ISceneNodeFactoryGetCreatableSceneNodeTypeCount();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeFactoryGetCreateableSceneNodeType :: Int -> IO ()
+%call (int idx) 
+%code int result = ISceneNodeFactoryGetCreateableSceneNodeType(idx);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeFactoryGetCreateableSceneNodeTypeName :: Int -> IO ()
+%call (int idx) 
+%code int result = ISceneNodeFactoryGetCreateableSceneNodeTypeName(idx);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeFactoryGetCreateableSceneNodeTypeName :: Int -> IO ()
+%call (int type) 
+%code int result = ISceneNodeFactoryGetCreateableSceneNodeTypeName(type);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontDraw :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int text) (int position) (int color) (int hcenter) (int vcenter) (int clip) 
+%code int result = IGUIFontDraw(text, position, color, hcenter, vcenter, clip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontGetDimension :: Int -> IO ()
+%call (int text) 
+%code int result = IGUIFontGetDimension(text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontGetCharacterFromPos :: Int -> Int -> IO ()
+%call (int text) (int pixel_x) 
+%code int result = IGUIFontGetCharacterFromPos(text, pixel_x);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontGetType :: IO ()
+%call 
+%code int result = IGUIFontGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontSetKerningWidth :: Int -> IO ()
+%call (int kerning) 
+%code int result = IGUIFontSetKerningWidth(kerning);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontSetKerningHeight :: Int -> IO ()
+%call (int kerning) 
+%code int result = IGUIFontSetKerningHeight(kerning);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontGetKerningWidth :: Int -> Int -> IO ()
+%call (int thisLetter) (int previousLetter) 
+%code int result = IGUIFontGetKerningWidth(thisLetter, previousLetter);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontGetKerningHeight :: IO ()
+%call 
+%code int result = IGUIFontGetKerningHeight();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIFontSetInvisibleCharacters :: Int -> IO ()
+%call (int s) 
+%code int result = IGUIFontSetInvisibleCharacters(s);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshWriterIMeshWriter :: IO ()
+%call 
+%code int result = IMeshWriterIMeshWriter();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshWriterGetType :: IO ()
+%call 
+%code int result = IMeshWriterGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshWriterWriteMesh :: Int -> Int -> Int -> IO ()
+%call (int file) (int mesh) (int flags) 
+%code int result = IMeshWriterWriteMesh(file, mesh, flags);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementFactoryAddGUIElement :: Int -> Int -> IO ()
+%call (int type) (int parent) 
+%code int result = IGUIElementFactoryAddGUIElement(type, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementFactoryAddGUIElement :: Int -> Int -> IO ()
+%call (int typeName) (int parent) 
+%code int result = IGUIElementFactoryAddGUIElement(typeName, parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementFactoryGetCreatableGUIElementTypeCount :: IO ()
+%call 
+%code int result = IGUIElementFactoryGetCreatableGUIElementTypeCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementFactoryGetCreateableGUIElementType :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIElementFactoryGetCreateableGUIElementType(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementFactoryGetCreateableGUIElementTypeName :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIElementFactoryGetCreateableGUIElementTypeName(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementFactoryGetCreateableGUIElementTypeName :: Int -> IO ()
+%call (int type) 
+%code int result = IGUIElementFactoryGetCreateableGUIElementTypeName(type);
+%fail {result < 0} {getError();}
+
+
+%fun IShaderConstantSetCallBackOnSetMaterial :: Int -> IO ()
+%call (int material) 
+%code int result = IShaderConstantSetCallBackOnSetMaterial(material);
+%fail {result < 0} {getError();}
+
+
+%fun IShaderConstantSetCallBackOnSetConstants :: Int -> Int -> IO ()
+%call (int services) (int userData) 
+%code int result = IShaderConstantSetCallBackOnSetConstants(services, userData);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorFlipSurfaces :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorFlipSurfaces(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorSetVertexColorAlpha :: Int -> Int -> IO ()
+%call (int mesh) (int alpha) 
+%code int result = IMeshManipulatorSetVertexColorAlpha(mesh, alpha);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorSetVertexColors :: Int -> Int -> IO ()
+%call (int mesh) (int color) 
+%code int result = IMeshManipulatorSetVertexColors(mesh, color);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorRecalculateNormals :: Int -> Int -> Int -> IO ()
+%call (int mesh) (int smooth) (int angleWeighted) 
+%code int result = IMeshManipulatorRecalculateNormals(mesh, smooth, angleWeighted);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorRecalculateNormals :: Int -> Int -> Int -> IO ()
+%call (int buffer) (int smooth) (int angleWeighted) 
+%code int result = IMeshManipulatorRecalculateNormals(buffer, smooth, angleWeighted);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorRecalculateTangents :: Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int recalculateNormals) (int smooth) (int angleWeighted) 
+%code int result = IMeshManipulatorRecalculateTangents(mesh, recalculateNormals, smooth, angleWeighted);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorScale :: Int -> Int -> IO ()
+%call (int mesh) (int factor) 
+%code int result = IMeshManipulatorScale(mesh, factor);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorScale :: Int -> Int -> IO ()
+%call (int buffer) (int factor) 
+%code int result = IMeshManipulatorScale(buffer, factor);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorScaleMesh :: Int -> Int -> IO ()
+%call (int mesh) (int factor) 
+%code int result = IMeshManipulatorScaleMesh(mesh, factor);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorScaleTCoords :: Int -> Int -> Int -> IO ()
+%call (int mesh) (int factor) (int level) 
+%code int result = IMeshManipulatorScaleTCoords(mesh, factor, level);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: Int -> IO ()
+%call (int factor) 
+%code int result = IMeshManipulatorApply(factor);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorScaleTCoords :: Int -> Int -> Int -> IO ()
+%call (int buffer) (int factor) (int level) 
+%code int result = IMeshManipulatorScaleTCoords(buffer, factor, level);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: Int -> IO ()
+%call (int factor) 
+%code int result = IMeshManipulatorApply(factor);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorTransform :: Int -> Int -> IO ()
+%call (int mesh) (int m) 
+%code int result = IMeshManipulatorTransform(mesh, m);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorTransform :: Int -> Int -> IO ()
+%call (int buffer) (int m) 
+%code int result = IMeshManipulatorTransform(buffer, m);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorTransformMesh :: Int -> Int -> IO ()
+%call (int mesh) (int m) 
+%code int result = IMeshManipulatorTransformMesh(mesh, m);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateMeshCopy :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorCreateMeshCopy(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorMakePlanarTextureMapping :: Int -> Int -> IO ()
+%call (int mesh) (int resolution) 
+%code int result = IMeshManipulatorMakePlanarTextureMapping(mesh, resolution);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorMakePlanarTextureMapping :: Int -> Int -> IO ()
+%call (int meshbuffer) (int resolution) 
+%code int result = IMeshManipulatorMakePlanarTextureMapping(meshbuffer, resolution);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorMakePlanarTextureMapping :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int buffer) (int resolutionS) (int resolutionT) (int axis) (int offset) 
+%code int result = IMeshManipulatorMakePlanarTextureMapping(buffer, resolutionS, resolutionT, axis, offset);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateMeshWithTangents :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int mesh) (int recalculateNormals) (int smooth) (int angleWeighted) (int recalculateTangents) 
+%code int result = IMeshManipulatorCreateMeshWithTangents(mesh, recalculateNormals, smooth, angleWeighted, recalculateTangents);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateMeshWith2TCoords :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorCreateMeshWith2TCoords(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateMeshWith1TCoords :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorCreateMeshWith1TCoords(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateMeshUniquePrimitives :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorCreateMeshUniquePrimitives(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateMeshWelded :: Int -> Int -> IO ()
+%call (int mesh) (int tolerance) 
+%code int result = IMeshManipulatorCreateMeshWelded(mesh, tolerance);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorGetPolyCount :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorGetPolyCount(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorGetPolyCount :: Int -> IO ()
+%call (int mesh) 
+%code int result = IMeshManipulatorGetPolyCount(mesh);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorCreateAnimatedMesh :: Int -> Int -> IO ()
+%call (int mesh) (int type) 
+%code int result = IMeshManipulatorCreateAnimatedMesh(mesh, type);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: Int -> Int -> Int -> IO ()
+%call (int func) (int buffer) (int boundingBoxUpdate) 
+%code int result = IMeshManipulatorApply(func, buffer, boundingBoxUpdate);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: Int -> Int -> Int -> IO ()
+%call (int func) (int mesh) (int boundingBoxUpdate) 
+%code int result = IMeshManipulatorApply(func, mesh, boundingBoxUpdate);
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorGetMeshBufferCount :: IO ()
+%call 
+%code int result = IMeshManipulatorGetMeshBufferCount();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorApply :: IO ()
+%call 
+%code int result = IMeshManipulatorApply();
+%fail {result < 0} {getError();}
+
+
+%fun IMeshManipulatorAddInternalBox :: IO ()
+%call 
+%code int result = IMeshManipulatorAddInternalBox();
+%fail {result < 0} {getError();}
+
+
+%fun SColorHSLSColorHSL :: Int -> Int -> Int -> Int -> IO ()
+%call (int h) (int s) (int l) (int l) 
+%code int result = SColorHSLSColorHSL(h, s, l, l);
+%fail {result < 0} {getError();}
+
+
+%fun SColorHSLFromRGB :: Int -> IO ()
+%call (int color) 
+%code int result = SColorHSLFromRGB(color);
+%fail {result < 0} {getError();}
+
+
+%fun SColorHSLToRGB :: Int -> IO ()
+%call (int color) 
+%code int result = SColorHSLToRGB(color);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSColor :: IO ()
+%call 
+%code int result = SColorSColor();
+%fail {result < 0} {getError();}
+
+
+%fun SColorSColor :: Int -> Int -> Int -> IO ()
+%call (int a) (int r) (int g) 
+%code int result = SColorSColor(a, r, g);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSColor :: Int -> IO ()
+%call (int clr) 
+%code int result = SColorSColor(clr);
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetAlpha :: IO ()
+%call 
+%code int result = SColorGetAlpha();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetRed :: IO ()
+%call 
+%code int result = SColorGetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetGreen :: IO ()
+%call 
+%code int result = SColorGetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetBlue :: IO ()
+%call 
+%code int result = SColorGetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetLightness :: IO ()
+%call 
+%code int result = SColorGetLightness();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetLuminance :: IO ()
+%call 
+%code int result = SColorGetLuminance();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetAverage :: IO ()
+%call 
+%code int result = SColorGetAverage();
+%fail {result < 0} {getError();}
+
+
+%fun SColorSetAlpha :: Int -> IO ()
+%call (int a) 
+%code int result = SColorSetAlpha(a);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSetRed :: Int -> IO ()
+%call (int r) 
+%code int result = SColorSetRed(r);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSetGreen :: Int -> IO ()
+%call (int g) 
+%code int result = SColorSetGreen(g);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSetBlue :: Int -> IO ()
+%call (int b) 
+%code int result = SColorSetBlue(b);
+%fail {result < 0} {getError();}
+
+
+%fun SColorToA1R5G5B5 :: IO ()
+%call 
+%code int result = SColorToA1R5G5B5();
+%fail {result < 0} {getError();}
+
+
+%fun SColorToOpenGLColor :: Int -> IO ()
+%call (int dest) 
+%code int result = SColorToOpenGLColor(dest);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSet :: Int -> Int -> Int -> Int -> IO ()
+%call (int a) (int r) (int g) (int b) 
+%code int result = SColorSet(a, r, g, b);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSet :: Int -> IO ()
+%call (int col) 
+%code int result = SColorSet(col);
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetInterpolated :: Int -> Int -> IO ()
+%call (int other) (int d) 
+%code int result = SColorGetInterpolated(other, d);
+%fail {result < 0} {getError();}
+
+
+%fun SColorClamp :: IO ()
+%call 
+%code int result = SColorClamp();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetInterpolated_quadratic :: Int -> Int -> Int -> IO ()
+%call (int c1) (int c2) (int d) 
+%code int result = SColorGetInterpolated_quadratic(c1, c2, d);
+%fail {result < 0} {getError();}
+
+
+%fun SColorClamp :: IO ()
+%call 
+%code int result = SColorClamp();
+%fail {result < 0} {getError();}
+
+
+%fun SColorSetData :: Int -> Int -> IO ()
+%call (int data) (int format) 
+%code int result = SColorSetData(data, format);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSwitch :: IO ()
+%call 
+%code int result = SColorSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun SColorA1R5G5B5toA8R8G8B8 :: Int -> IO ()
+%call (int data) 
+%code int result = SColorA1R5G5B5toA8R8G8B8(data);
+%fail {result < 0} {getError();}
+
+
+%fun SColorR5G6B5toA8R8G8B8 :: Int -> IO ()
+%call (int data) 
+%code int result = SColorR5G6B5toA8R8G8B8(data);
+%fail {result < 0} {getError();}
+
+
+%fun SColor_ :: IO ()
+%call 
+%code int result = SColor_();
+%fail {result < 0} {getError();}
+
+
+%fun SColorSet :: IO ()
+%call 
+%code int result = SColorSet();
+%fail {result < 0} {getError();}
+
+
+%fun SColorGetData :: Int -> Int -> IO ()
+%call (int data) (int format) 
+%code int result = SColorGetData(data, format);
+%fail {result < 0} {getError();}
+
+
+%fun SColorSwitch :: IO ()
+%call 
+%code int result = SColorSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun SColorA8R8G8B8toA1R5G5B5 :: IO ()
+%call 
+%code int result = SColorA8R8G8B8toA1R5G5B5();
+%fail {result < 0} {getError();}
+
+
+%fun SColorA8R8G8B8toR5G6B5 :: IO ()
+%call 
+%code int result = SColorA8R8G8B8toR5G6B5();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSColorf :: IO ()
+%call 
+%code int result = SColorfSColorf();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSColorf :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int r) (int g) (int b) (int a) (int a) 
+%code int result = SColorfSColorf(r, g, b, a, a);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSColorf :: Int -> IO ()
+%call (int c) 
+%code int result = SColorfSColorf(c);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetRed :: IO ()
+%call 
+%code int result = SColorfGetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetGreen :: IO ()
+%call 
+%code int result = SColorfGetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetBlue :: IO ()
+%call 
+%code int result = SColorfGetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetAlpha :: IO ()
+%call 
+%code int result = SColorfGetAlpha();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfToSColor :: IO ()
+%call 
+%code int result = SColorfToSColor();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSet :: Int -> Int -> Int -> IO ()
+%call (int rr) (int gg) (int bb) 
+%code int result = SColorfSet(rr, gg, bb);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSet :: Int -> Int -> Int -> Int -> IO ()
+%call (int aa) (int rr) (int gg) (int bb) 
+%code int result = SColorfSet(aa, rr, gg, bb);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetInterpolated :: Int -> Int -> IO ()
+%call (int other) (int d) 
+%code int result = SColorfGetInterpolated(other, d);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfClamp :: IO ()
+%call 
+%code int result = SColorfClamp();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetInterpolated_quadratic :: Int -> Int -> Int -> IO ()
+%call (int c1) (int c2) (int d) 
+%code int result = SColorfGetInterpolated_quadratic(c1, c2, d);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfClamp :: IO ()
+%call 
+%code int result = SColorfClamp();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSetColorComponentValue :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = SColorfSetColorComponentValue(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun SColorfSwitch :: IO ()
+%call 
+%code int result = SColorfSwitch();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetAlpha :: IO ()
+%call 
+%code int result = SColorfGetAlpha();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetRed :: IO ()
+%call 
+%code int result = SColorfGetRed();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetGreen :: IO ()
+%call 
+%code int result = SColorfGetGreen();
+%fail {result < 0} {getError();}
+
+
+%fun SColorfGetBlue :: IO ()
+%call 
+%code int result = SColorfGetBlue();
+%fail {result < 0} {getError();}
+
+
+%fun IImageLoaderIsALoadableFileExtension :: Int -> IO ()
+%call (int filename) 
+%code int result = IImageLoaderIsALoadableFileExtension(filename);
+%fail {result < 0} {getError();}
+
+
+%fun IImageLoaderIsALoadableFileFormat :: Int -> IO ()
+%call (int file) 
+%code int result = IImageLoaderIsALoadableFileFormat(file);
+%fail {result < 0} {getError();}
+
+
+%fun IImageLoaderLoadImage :: Int -> IO ()
+%call (int file) 
+%code int result = IImageLoaderLoadImage(file);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorAnimateNode :: Int -> Int -> IO ()
+%call (int node) (int timeMs) 
+%code int result = ISceneNodeAnimatorAnimateNode(node, timeMs);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorCreateClone :: Int -> Int -> IO ()
+%call (int node) (int newManager) 
+%code int result = ISceneNodeAnimatorCreateClone(node, newManager);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorIsEventReceiverEnabled :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorIsEventReceiverEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorOnEvent :: Int -> IO ()
+%call (int event) 
+%code int result = ISceneNodeAnimatorOnEvent(event);
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorGetType :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ISceneNodeAnimatorHasFinished :: IO ()
+%call 
+%code int result = ISceneNodeAnimatorHasFinished();
+%fail {result < 0} {getError();}
+
+
+%fun IOSOperatorIOSOperator :: IO ()
+%call 
+%code int result = IOSOperatorIOSOperator();
+%fail {result < 0} {getError();}
+
+
+%fun IOSOperatorGetOperationSystemVersion :: IO ()
+%call 
+%code int result = IOSOperatorGetOperationSystemVersion();
+%fail {result < 0} {getError();}
+
+
+%fun IOSOperatorCopyToClipboard :: Int -> IO ()
+%call (int text) 
+%code int result = IOSOperatorCopyToClipboard(text);
+%fail {result < 0} {getError();}
+
+
+%fun IOSOperatorGetTextFromClipboard :: IO ()
+%call 
+%code int result = IOSOperatorGetTextFromClipboard();
+%fail {result < 0} {getError();}
+
+
+%fun IOSOperatorGetProcessorSpeedMHz :: Int -> IO ()
+%call (int MHz) 
+%code int result = IOSOperatorGetProcessorSpeedMHz(MHz);
+%fail {result < 0} {getError();}
+
+
+%fun IOSOperatorGetSystemMemory :: Int -> Int -> IO ()
+%call (int Total) (int Avail) 
+%code int result = IOSOperatorGetSystemMemory(Total, Avail);
+%fail {result < 0} {getError();}
+
+
+%fun IQ3LevelMeshGetShader :: Int -> Int -> IO ()
+%call (int filename) (int fileNameIsValid) 
+%code int result = IQ3LevelMeshGetShader(filename, fileNameIsValid);
+%fail {result < 0} {getError();}
+
+
+%fun IQ3LevelMeshGetShader :: Int -> IO ()
+%call (int index) 
+%code int result = IQ3LevelMeshGetShader(index);
+%fail {result < 0} {getError();}
+
+
+%fun IQ3LevelMeshGetEntityList :: IO ()
+%call 
+%code int result = IQ3LevelMeshGetEntityList();
+%fail {result < 0} {getError();}
+
+
+%fun ILightManagerOnPreRender :: Int -> IO ()
+%call (int lightList) 
+%code int result = ILightManagerOnPreRender(lightList);
+%fail {result < 0} {getError();}
+
+
+%fun ILightManagerOnPostRender :: IO ()
+%call 
+%code int result = ILightManagerOnPostRender();
+%fail {result < 0} {getError();}
+
+
+%fun ILightManagerOnRenderPassPreRender :: Int -> IO ()
+%call (int renderPass) 
+%code int result = ILightManagerOnRenderPassPreRender(renderPass);
+%fail {result < 0} {getError();}
+
+
+%fun ILightManagerOnRenderPassPostRender :: Int -> IO ()
+%call (int renderPass) 
+%code int result = ILightManagerOnRenderPassPostRender(renderPass);
+%fail {result < 0} {getError();}
+
+
+%fun ILightManagerOnNodePreRender :: Int -> IO ()
+%call (int node) 
+%code int result = ILightManagerOnNodePreRender(node);
+%fail {result < 0} {getError();}
+
+
+%fun ILightManagerOnNodePostRender :: Int -> IO ()
+%call (int node) 
+%code int result = ILightManagerOnNodePostRender(node);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorSetPoint :: Int -> IO ()
+%call (int point) 
+%code int result = IParticleAttractionAffectorSetPoint(point);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorSetAttract :: Int -> IO ()
+%call (int attract) 
+%code int result = IParticleAttractionAffectorSetAttract(attract);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorSetAffectX :: Int -> IO ()
+%call (int affect) 
+%code int result = IParticleAttractionAffectorSetAffectX(affect);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorSetAffectY :: Int -> IO ()
+%call (int affect) 
+%code int result = IParticleAttractionAffectorSetAffectY(affect);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorSetAffectZ :: Int -> IO ()
+%call (int affect) 
+%code int result = IParticleAttractionAffectorSetAffectZ(affect);
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorGetPoint :: IO ()
+%call 
+%code int result = IParticleAttractionAffectorGetPoint();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorGetAttract :: IO ()
+%call 
+%code int result = IParticleAttractionAffectorGetAttract();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorGetAffectX :: IO ()
+%call 
+%code int result = IParticleAttractionAffectorGetAffectX();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorGetAffectY :: IO ()
+%call 
+%code int result = IParticleAttractionAffectorGetAffectY();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorGetAffectZ :: IO ()
+%call 
+%code int result = IParticleAttractionAffectorGetAffectZ();
+%fail {result < 0} {getError();}
+
+
+%fun IParticleAttractionAffectorGetType :: IO ()
+%call 
+%code int result = IParticleAttractionAffectorGetType();
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeILightSceneNode :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int parent) (int mgr) (int id) (int position) (int parent) 
+%code int result = ILightSceneNodeILightSceneNode(parent, mgr, id, position, parent);
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeSetLightData :: Int -> IO ()
+%call (int light) 
+%code int result = ILightSceneNodeSetLightData(light);
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeGetLightData :: IO ()
+%call 
+%code int result = ILightSceneNodeGetLightData();
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeGetLightData :: IO ()
+%call 
+%code int result = ILightSceneNodeGetLightData();
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeSetVisible :: Int -> IO ()
+%call (int isVisible) 
+%code int result = ILightSceneNodeSetVisible(isVisible);
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeSetRadius :: Int -> IO ()
+%call (int radius) 
+%code int result = ILightSceneNodeSetRadius(radius);
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeGetRadius :: IO ()
+%call 
+%code int result = ILightSceneNodeGetRadius();
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeSetLightType :: Int -> IO ()
+%call (int type) 
+%code int result = ILightSceneNodeSetLightType(type);
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeGetLightType :: IO ()
+%call 
+%code int result = ILightSceneNodeGetLightType();
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeEnableCastShadow :: Int -> IO ()
+%call (int shadow) 
+%code int result = ILightSceneNodeEnableCastShadow(shadow);
+%fail {result < 0} {getError();}
+
+
+%fun ILightSceneNodeGetCastShadow :: IO ()
+%call 
+%code int result = ILightSceneNodeGetCastShadow();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxIGUIComboBox :: Int -> Int -> Int -> Int -> IO ()
+%call (int environment) (int parent) (int id) (int EGUIET_COMBO_BOX) 
+%code int result = IGUIComboBoxIGUIComboBox(environment, parent, id, EGUIET_COMBO_BOX);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxGetItemCount :: IO ()
+%call 
+%code int result = IGUIComboBoxGetItemCount();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxGetItem :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIComboBoxGetItem(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxGetItemData :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIComboBoxGetItemData(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxGetIndexForItemData :: Int -> IO ()
+%call (int data) 
+%code int result = IGUIComboBoxGetIndexForItemData(data);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxAddItem :: Int -> Int -> IO ()
+%call (int text) (int data) 
+%code int result = IGUIComboBoxAddItem(text, data);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxRemoveItem :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIComboBoxRemoveItem(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxClear :: IO ()
+%call 
+%code int result = IGUIComboBoxClear();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxGetSelected :: IO ()
+%call 
+%code int result = IGUIComboBoxGetSelected();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxSetSelected :: Int -> IO ()
+%call (int idx) 
+%code int result = IGUIComboBoxSetSelected(idx);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIComboBoxSetTextAlignment :: Int -> Int -> IO ()
+%call (int horizontal) (int vertical) 
+%code int result = IGUIComboBoxSetTextAlignment(horizontal, vertical);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIGUIElement :: Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int type) (int environment) (int parent) (int id) (int type) 
+%code int result = IGUIElementIGUIElement(type, environment, parent, id, type);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetDebugName :: IO ()
+%call 
+%code int result = IGUIElementSetDebugName();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddChildToEnd :: IO ()
+%call 
+%code int result = IGUIElementAddChildToEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementRecalculateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementRecalculateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIGUIElement :: IO ()
+%call 
+%code int result = IGUIElementIGUIElement();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetParent :: IO ()
+%call 
+%code int result = IGUIElementGetParent();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetRelativePosition :: IO ()
+%call 
+%code int result = IGUIElementGetRelativePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetRelativePosition :: Int -> IO ()
+%call (int r) 
+%code int result = IGUIElementSetRelativePosition(r);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementGetAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementD :: IO ()
+%call 
+%code int result = IGUIElementD();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetRelativePosition :: Int -> IO ()
+%call (int position) 
+%code int result = IGUIElementSetRelativePosition(position);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetSize :: IO ()
+%call 
+%code int result = IGUIElementGetSize();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementRectangle :: Int -> Int -> Int -> Int -> IO ()
+%call (int X) (int Y) (int Width) (int Height) 
+%code int result = IGUIElementRectangle(X, Y, Width, Height);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetRelativePosition :: IO ()
+%call 
+%code int result = IGUIElementSetRelativePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetRelativePositionProportional :: Int -> IO ()
+%call (int r) 
+%code int result = IGUIElementSetRelativePositionProportional(r);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementGetAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementGetAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAbsoluteClippingRect :: IO ()
+%call 
+%code int result = IGUIElementGetAbsoluteClippingRect();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetNotClipped :: Int -> IO ()
+%call (int noClip) 
+%code int result = IGUIElementSetNotClipped(noClip);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsNotClipped :: IO ()
+%call 
+%code int result = IGUIElementIsNotClipped();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetMaxSize :: Int -> IO ()
+%call (int size) 
+%code int result = IGUIElementSetMaxSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetMinSize :: Int -> IO ()
+%call (int size) 
+%code int result = IGUIElementSetMinSize(size);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetAlignment :: Int -> Int -> Int -> Int -> IO ()
+%call (int left) (int right) (int top) (int bottom) 
+%code int result = IGUIElementSetAlignment(left, right, top, bottom);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementR :: IO ()
+%call 
+%code int result = IGUIElementR();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementD :: Int -> Int -> IO ()
+%call (int Width) (int Height) 
+%code int result = IGUIElementD(Width, Height);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementRecalculateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementRecalculateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetElementFromPoint :: Int -> IO ()
+%call (int point) 
+%code int result = IGUIElementGetElementFromPoint(point);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetLast :: IO ()
+%call 
+%code int result = IGUIElementGetLast();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementWhile :: Int -> IO ()
+%call (int it) 
+%code int result = IGUIElementWhile(it);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsPointInside :: Int -> IO ()
+%call (int point) 
+%code int result = IGUIElementIsPointInside(point);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddChild :: Int -> IO ()
+%call (int child) 
+%code int result = IGUIElementAddChild(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddChildToEnd :: IO ()
+%call 
+%code int result = IGUIElementAddChildToEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementUpdateAbsolutePosition :: IO ()
+%call 
+%code int result = IGUIElementUpdateAbsolutePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementRemoveChild :: Int -> IO ()
+%call (int child) 
+%code int result = IGUIElementRemoveChild(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementErase :: IO ()
+%call 
+%code int result = IGUIElementErase();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementRemove :: IO ()
+%call 
+%code int result = IGUIElementRemove();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementDraw :: IO ()
+%call 
+%code int result = IGUIElementDraw();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementOnPostRender :: Int -> IO ()
+%call (int timeMs) 
+%code int result = IGUIElementOnPostRender(timeMs);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementMove :: Int -> IO ()
+%call (int absoluteMovement) 
+%code int result = IGUIElementMove(absoluteMovement);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetRelativePosition :: Int -> IO ()
+%call (int absoluteMovement) 
+%code int result = IGUIElementSetRelativePosition(absoluteMovement);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsVisible :: IO ()
+%call 
+%code int result = IGUIElementIsVisible();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetVisible :: Int -> IO ()
+%call (int visible) 
+%code int result = IGUIElementSetVisible(visible);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsSubElement :: IO ()
+%call 
+%code int result = IGUIElementIsSubElement();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetSubElement :: Int -> IO ()
+%call (int subElement) 
+%code int result = IGUIElementSetSubElement(subElement);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetTabStop :: Int -> IO ()
+%call (int enable) 
+%code int result = IGUIElementSetTabStop(enable);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsTabStop :: IO ()
+%call 
+%code int result = IGUIElementIsTabStop();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetTabOrder :: Int -> IO ()
+%call (int index) 
+%code int result = IGUIElementSetTabOrder(index);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTabGroup :: IO ()
+%call 
+%code int result = IGUIElementGetTabGroup();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementWhile :: Int -> IO ()
+%call (int _Parent) 
+%code int result = IGUIElementWhile(_Parent);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetNextElement :: IO ()
+%call 
+%code int result = IGUIElementGetNextElement();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTabOrder :: IO ()
+%call 
+%code int result = IGUIElementGetTabOrder();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTabOrder :: IO ()
+%call 
+%code int result = IGUIElementGetTabOrder();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetTabGroup :: Int -> IO ()
+%call (int isGroup) 
+%code int result = IGUIElementSetTabGroup(isGroup);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsTabGroup :: IO ()
+%call 
+%code int result = IGUIElementIsTabGroup();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTabGroup :: IO ()
+%call 
+%code int result = IGUIElementGetTabGroup();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementWhile :: Int -> IO ()
+%call (int ret) 
+%code int result = IGUIElementWhile(ret);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsEnabled :: IO ()
+%call 
+%code int result = IGUIElementIsEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetEnabled :: Int -> IO ()
+%call (int enabled) 
+%code int result = IGUIElementSetEnabled(enabled);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetText :: Int -> IO ()
+%call (int text) 
+%code int result = IGUIElementSetText(text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetText :: IO ()
+%call 
+%code int result = IGUIElementGetText();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetToolTipText :: Int -> IO ()
+%call (int text) 
+%code int result = IGUIElementSetToolTipText(text);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetToolTipText :: IO ()
+%call 
+%code int result = IGUIElementGetToolTipText();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetID :: IO ()
+%call 
+%code int result = IGUIElementGetID();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetID :: Int -> IO ()
+%call (int id) 
+%code int result = IGUIElementSetID(id);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementOnEvent :: Int -> IO ()
+%call (int event) 
+%code int result = IGUIElementOnEvent(event);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBringToFront :: Int -> IO ()
+%call (int element) 
+%code int result = IGUIElementBringToFront(element);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementErase :: IO ()
+%call 
+%code int result = IGUIElementErase();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementPush_back :: IO ()
+%call 
+%code int result = IGUIElementPush_back();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetChildren :: IO ()
+%call 
+%code int result = IGUIElementGetChildren();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetElementFromId :: Int -> Int -> IO ()
+%call (int id) (int searchchildren) 
+%code int result = IGUIElementGetElementFromId(id, searchchildren);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementEnd :: IO ()
+%call 
+%code int result = IGUIElementEnd();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementIsMyChild :: Int -> IO ()
+%call (int child) 
+%code int result = IGUIElementIsMyChild(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementWhile :: Int -> IO ()
+%call (int child) 
+%code int result = IGUIElementWhile(child);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetNextElement :: Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int startOrder) (int reverse) (int group) (int first) (int closest) (int includeInvisible) 
+%code int result = IGUIElementGetNextElement(startOrder, reverse, group, first, closest, includeInvisible);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementBegin :: IO ()
+%call 
+%code int result = IGUIElementBegin();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementWhile :: Int -> IO ()
+%call (int it) 
+%code int result = IGUIElementWhile(it);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTabOrder :: IO ()
+%call 
+%code int result = IGUIElementGetTabOrder();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTabOrder :: IO ()
+%call 
+%code int result = IGUIElementGetTabOrder();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetType :: IO ()
+%call 
+%code int result = IGUIElementGetType();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementHasType :: Int -> IO ()
+%call (int type) 
+%code int result = IGUIElementHasType(type);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetTypeName :: IO ()
+%call 
+%code int result = IGUIElementGetTypeName();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSerializeAttributes :: Int -> Int -> IO ()
+%call (int out) (int options) 
+%code int result = IGUIElementSerializeAttributes(out, options);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddInt :: IO ()
+%call 
+%code int result = IGUIElementAddInt();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddString :: IO ()
+%call 
+%code int result = IGUIElementAddString();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddRect :: IO ()
+%call 
+%code int result = IGUIElementAddRect();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddPosition2d :: Int -> IO ()
+%call (int Width) 
+%code int result = IGUIElementAddPosition2d(Width);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddPosition2d :: Int -> IO ()
+%call (int Width) 
+%code int result = IGUIElementAddPosition2d(Width);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddEnum :: IO ()
+%call 
+%code int result = IGUIElementAddEnum();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddEnum :: IO ()
+%call 
+%code int result = IGUIElementAddEnum();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddEnum :: IO ()
+%call 
+%code int result = IGUIElementAddEnum();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddEnum :: IO ()
+%call 
+%code int result = IGUIElementAddEnum();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddBool :: IO ()
+%call 
+%code int result = IGUIElementAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddBool :: IO ()
+%call 
+%code int result = IGUIElementAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddBool :: IO ()
+%call 
+%code int result = IGUIElementAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddBool :: IO ()
+%call 
+%code int result = IGUIElementAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddInt :: IO ()
+%call 
+%code int result = IGUIElementAddInt();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementAddBool :: IO ()
+%call 
+%code int result = IGUIElementAddBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementDeserializeAttributes :: Int -> Int -> IO ()
+%call (int i_n) (int options) 
+%code int result = IGUIElementDeserializeAttributes(i_n, options);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetID :: IO ()
+%call 
+%code int result = IGUIElementSetID();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetText :: IO ()
+%call 
+%code int result = IGUIElementSetText();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetVisible :: IO ()
+%call 
+%code int result = IGUIElementSetVisible();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetEnabled :: IO ()
+%call 
+%code int result = IGUIElementSetEnabled();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAttributeAsBool :: IO ()
+%call 
+%code int result = IGUIElementGetAttributeAsBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAttributeAsBool :: IO ()
+%call 
+%code int result = IGUIElementGetAttributeAsBool();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAttributeAsInt :: IO ()
+%call 
+%code int result = IGUIElementGetAttributeAsInt();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAttributeAsPosition2d :: IO ()
+%call 
+%code int result = IGUIElementGetAttributeAsPosition2d();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetMaxSize :: Int -> IO ()
+%call (int X) 
+%code int result = IGUIElementSetMaxSize(X);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementGetAttributeAsPosition2d :: IO ()
+%call 
+%code int result = IGUIElementGetAttributeAsPosition2d();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetMinSize :: Int -> IO ()
+%call (int X) 
+%code int result = IGUIElementSetMinSize(X);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetAlignment :: Int -> Int -> Int -> Int -> IO ()
+%call (int LeftAlign) (int RightAlign) (int TopAlign) (int BottomAlign) 
+%code int result = IGUIElementSetAlignment(LeftAlign, RightAlign, TopAlign, BottomAlign);
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetRelativePosition :: IO ()
+%call 
+%code int result = IGUIElementSetRelativePosition();
+%fail {result < 0} {getError();}
+
+
+%fun IGUIElementSetNotClipped :: IO ()
+%call 
+%code int result = IGUIElementSetNotClipped();
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeCount :: IO ()
+%call 
+%code int result = IAttributesGetAttributeCount();
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeName :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeName(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeType :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeType(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeType :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeType(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeTypeString :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeTypeString(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeTypeString :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeTypeString(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesExistsAttribute :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesExistsAttribute(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesFindAttribute :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesFindAttribute(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesClear :: IO ()
+%call 
+%code int result = IAttributesClear();
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesRead :: Int -> Int -> Int -> IO ()
+%call (int reader) (int readCurrentElementOnly) (int elementName) 
+%code int result = IAttributesRead(reader, readCurrentElementOnly, elementName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesWrite :: Int -> Int -> Int -> IO ()
+%call (int writer) (int writeXMLHeader) (int elementName) 
+%code int result = IAttributesWrite(writer, writeXMLHeader, elementName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddInt :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddInt(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesSetAttribute(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsInt :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsInt(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsInt :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsInt(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IAttributesSetAttribute(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddFloat :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddFloat(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesSetAttribute(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsFloat :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsFloat(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsFloat :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsFloat(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IAttributesSetAttribute(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddString :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddString(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesSetAttribute(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsString :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsString(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsString :: Int -> Int -> IO ()
+%call (int attributeName) (int target) 
+%code int result = IAttributesGetAttributeAsString(attributeName, target);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsString :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsString(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IAttributesSetAttribute(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddString :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddString(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesSetAttribute(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsStringW :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsStringW(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsStringW :: Int -> Int -> IO ()
+%call (int attributeName) (int target) 
+%code int result = IAttributesGetAttributeAsStringW(attributeName, target);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsStringW :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsStringW(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IAttributesSetAttribute(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddBinary :: Int -> Int -> Int -> IO ()
+%call (int attributeName) (int data) (int dataSizeInBytes) 
+%code int result = IAttributesAddBinary(attributeName, data, dataSizeInBytes);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> Int -> IO ()
+%call (int attributeName) (int data) (int dataSizeInBytes) 
+%code int result = IAttributesSetAttribute(attributeName, data, dataSizeInBytes);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsBinaryData :: Int -> Int -> Int -> IO ()
+%call (int attributeName) (int outData) (int maxSizeInBytes) 
+%code int result = IAttributesGetAttributeAsBinaryData(attributeName, outData, maxSizeInBytes);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsBinaryData :: Int -> Int -> Int -> IO ()
+%call (int index) (int outData) (int maxSizeInBytes) 
+%code int result = IAttributesGetAttributeAsBinaryData(index, outData, maxSizeInBytes);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> Int -> IO ()
+%call (int index) (int data) (int dataSizeInBytes) 
+%code int result = IAttributesSetAttribute(index, data, dataSizeInBytes);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddArray :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddArray(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesSetAttribute(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsArray :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsArray(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsArray :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsArray(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IAttributesSetAttribute(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddBool :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddBool(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesSetAttribute(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsBool :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsBool(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsBool :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsBool(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int value) 
+%code int result = IAttributesSetAttribute(index, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddEnum :: Int -> Int -> Int -> IO ()
+%call (int attributeName) (int enumValue) (int enumerationLiterals) 
+%code int result = IAttributesAddEnum(attributeName, enumValue, enumerationLiterals);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddEnum :: Int -> Int -> Int -> IO ()
+%call (int attributeName) (int enumValue) (int enumerationLiterals) 
+%code int result = IAttributesAddEnum(attributeName, enumValue, enumerationLiterals);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> Int -> IO ()
+%call (int attributeName) (int enumValue) (int enumerationLiterals) 
+%code int result = IAttributesSetAttribute(attributeName, enumValue, enumerationLiterals);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsEnumeration :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsEnumeration(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsEnumeration :: Int -> Int -> IO ()
+%call (int attributeName) (int enumerationLiteralsToUse) 
+%code int result = IAttributesGetAttributeAsEnumeration(attributeName, enumerationLiteralsToUse);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsEnumeration :: Int -> Int -> IO ()
+%call (int index) (int enumerationLiteralsToUse) 
+%code int result = IAttributesGetAttributeAsEnumeration(index, enumerationLiteralsToUse);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsEnumeration :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsEnumeration(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeEnumerationLiteralsOfEnumeration :: Int -> Int -> IO ()
+%call (int attributeName) (int outLiterals) 
+%code int result = IAttributesGetAttributeEnumerationLiteralsOfEnumeration(attributeName, outLiterals);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeEnumerationLiteralsOfEnumeration :: Int -> Int -> IO ()
+%call (int index) (int outLiterals) 
+%code int result = IAttributesGetAttributeEnumerationLiteralsOfEnumeration(index, outLiterals);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> Int -> IO ()
+%call (int index) (int enumValue) (int enumerationLiterals) 
+%code int result = IAttributesSetAttribute(index, enumValue, enumerationLiterals);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddColor :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddColor(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int color) 
+%code int result = IAttributesSetAttribute(attributeName, color);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsColor :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsColor(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsColor :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsColor(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int color) 
+%code int result = IAttributesSetAttribute(index, color);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddColorf :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddColorf(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int color) 
+%code int result = IAttributesSetAttribute(attributeName, color);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsColorf :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsColorf(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsColorf :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsColorf(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int color) 
+%code int result = IAttributesSetAttribute(index, color);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddVector3d :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddVector3d(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsVector3d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsVector3d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsVector3d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsVector3d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddPosition2d :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddPosition2d(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsPosition2d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsPosition2d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsPosition2d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsPosition2d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddRect :: Int -> Int -> IO ()
+%call (int attributeName) (int value) 
+%code int result = IAttributesAddRect(attributeName, value);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsRect :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsRect(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsRect :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsRect(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddMatrix :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddMatrix(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsMatrix :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsMatrix(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsMatrix :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsMatrix(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddQuaternion :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddQuaternion(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsQuaternion :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsQuaternion(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsQuaternion :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsQuaternion(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddBox3d :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddBox3d(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsBox3d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsBox3d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsBox3d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsBox3d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddPlane3d :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddPlane3d(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsPlane3d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsPlane3d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsPlane3d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsPlane3d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddTriangle3d :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddTriangle3d(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsTriangle3d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsTriangle3d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsTriangle3d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsTriangle3d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddLine2d :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddLine2d(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsLine2d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsLine2d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsLine2d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsLine2d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddLine3d :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesAddLine3d(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int v) 
+%code int result = IAttributesSetAttribute(attributeName, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsLine3d :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsLine3d(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsLine3d :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsLine3d(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int v) 
+%code int result = IAttributesSetAttribute(index, v);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddTexture :: Int -> Int -> IO ()
+%call (int attributeName) (int texture) 
+%code int result = IAttributesAddTexture(attributeName, texture);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int texture) 
+%code int result = IAttributesSetAttribute(attributeName, texture);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsTexture :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsTexture(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsTexture :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsTexture(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int texture) 
+%code int result = IAttributesSetAttribute(index, texture);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesAddUserPointer :: Int -> Int -> IO ()
+%call (int attributeName) (int userPointer) 
+%code int result = IAttributesAddUserPointer(attributeName, userPointer);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int attributeName) (int userPointer) 
+%code int result = IAttributesSetAttribute(attributeName, userPointer);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsUserPointer :: Int -> IO ()
+%call (int attributeName) 
+%code int result = IAttributesGetAttributeAsUserPointer(attributeName);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesGetAttributeAsUserPointer :: Int -> IO ()
+%call (int index) 
+%code int result = IAttributesGetAttributeAsUserPointer(index);
+%fail {result < 0} {getError();}
+
+
+%fun IAttributesSetAttribute :: Int -> Int -> IO ()
+%call (int index) (int userPointer) 
+%code int result = IAttributesSetAttribute(index, userPointer);
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterIXMLWriter :: IO ()
+%call 
+%code int result = IXMLWriterIXMLWriter();
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterWriteXMLHeader :: IO ()
+%call 
+%code int result = IXMLWriterWriteXMLHeader();
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterWriteElement :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int empty) (int attr1Name) (int attr1Value) (int attr2Name) (int attr2Value) (int attr3Name) (int attr3Value) (int attr4Name) (int attr4Value) (int attr5Name) (int attr5Value) 
+%code int result = IXMLWriterWriteElement(name, empty, attr1Name, attr1Value, attr2Name, attr2Value, attr3Name, attr3Value, attr4Name, attr4Value, attr5Name, attr5Value);
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterWriteElement :: Int -> Int -> Int -> Int -> IO ()
+%call (int name) (int empty) (int names) (int values) 
+%code int result = IXMLWriterWriteElement(name, empty, names, values);
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterWriteComment :: Int -> IO ()
+%call (int comment) 
+%code int result = IXMLWriterWriteComment(comment);
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterWriteClosingTag :: Int -> IO ()
+%call (int name) 
+%code int result = IXMLWriterWriteClosingTag(name);
+%fail {result < 0} {getError();}
+
+
+%fun IXMLWriterWriteText :: Int -> IO ()
+%call (int text) 
 %code int result = IXMLWriterWriteText(text);
 %fail {result < 0} {getError();}
 
diff --git a/InterfaceGenerator/c_interface.cpp b/InterfaceGenerator/c_interface.cpp
--- a/InterfaceGenerator/c_interface.cpp
+++ b/InterfaceGenerator/c_interface.cpp
@@ -14,14527 +14,15194 @@
 using namespace gui;
 using namespace std;
 
-extern "C" int IGUIButtonIGUIButton(int environment, int parent, int id, int EGUIET_BUTTON, int arg5, int arg6, int arg7)
-{
-
-	iGUIButtonObj->IGUIButton(environment, parent, id, EGUIET_BUTTON, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIButtonSetOverrideFont(int font)
-{
-
-	iGUIButtonObj->setOverrideFont(font);
-
-}
-
-extern "C" int IGUIButtonSetImage(int image)
-{
-
-	iGUIButtonObj->setImage(image);
-
-}
-
-extern "C" int IGUIButtonSetImage(int image, int pos)
-{
-
-	iGUIButtonObj->setImage(image, pos);
-
-}
-
-extern "C" int IGUIButtonSetPressedImage(int image)
-{
-
-	iGUIButtonObj->setPressedImage(image);
-
-}
-
-extern "C" int IGUIButtonSetPressedImage(int image, int pos)
-{
-
-	iGUIButtonObj->setPressedImage(image, pos);
-
-}
-
-extern "C" int IGUIButtonSetSpriteBank(int bank)
-{
-
-	iGUIButtonObj->setSpriteBank(bank);
-
-}
-
-extern "C" int IGUIButtonSetSprite(int state, int index, int color, int arg4, int arg5, int loop)
-{
-
-	iGUIButtonObj->setSprite(state, index, color, arg4, arg5, loop);
-
-}
-
-extern "C" int IGUIButtonSetIsPushButton(int isPushButton)
-{
-
-	iGUIButtonObj->setIsPushButton(isPushButton);
-
-}
-
-extern "C" int IGUIButtonSetPressed(int pressed)
-{
-
-	iGUIButtonObj->setPressed(pressed);
-
-}
-
-extern "C" int IGUIButtonIsPressed()
-{
-
-	bool temp = iGUIButtonObj->isPressed();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIButtonSetUseAlphaChannel(int useAlphaChannel)
-{
-
-	iGUIButtonObj->setUseAlphaChannel(useAlphaChannel);
-
-}
-
-extern "C" int IGUIButtonIsAlphaChannelUsed()
-{
-
-	bool temp = iGUIButtonObj->isAlphaChannelUsed();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIButtonIsPushButton()
-{
-
-	bool temp = iGUIButtonObj->isPushButton();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIButtonSetDrawBorder(int border)
-{
-
-	iGUIButtonObj->setDrawBorder(border);
-
-}
-
-extern "C" int IGUIButtonIsDrawingBorder()
-{
-
-	bool temp = iGUIButtonObj->isDrawingBorder();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIButtonSetScaleImage(int scaleImage)
-{
-
-	iGUIButtonObj->setScaleImage(scaleImage);
-
-}
-
-extern "C" int IGUIButtonIsScalingImage()
-{
-
-	bool temp = iGUIButtonObj->isScalingImage();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentDrawAll()
-{
-
-	iGUIEnvironmentObj->drawAll();
-
-}
-
-extern "C" int IGUIEnvironmentSetFocus(int element)
-{
-
-	bool temp = iGUIEnvironmentObj->setFocus(element);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetFocus()
-{
-
-	IGUIElement * temp = iGUIEnvironmentObj->getFocus();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentRemoveFocus(int element)
-{
-
-	bool temp = iGUIEnvironmentObj->removeFocus(element);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentHasFocus(int element)
-{
-
-	bool temp = iGUIEnvironmentObj->hasFocus(element);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetVideoDriver()
-{
-
-	IVideoDriver * temp = iGUIEnvironmentObj->getVideoDriver();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetFileSystem()
-{
-
-	IFileSystem * temp = iGUIEnvironmentObj->getFileSystem();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetOSOperator()
-{
-
-	IOSOperator * temp = iGUIEnvironmentObj->getOSOperator();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentClear()
-{
-
-	iGUIEnvironmentObj->clear();
-
-}
-
-extern "C" int IGUIEnvironmentPostEventFromUser(int event)
-{
-
-	bool temp = iGUIEnvironmentObj->postEventFromUser(event);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentSetUserEventReceiver(int evr)
-{
-
-	iGUIEnvironmentObj->setUserEventReceiver(evr);
-
-}
-
-extern "C" int IGUIEnvironmentGetSkin()
-{
-
-	IGUISkin * temp = iGUIEnvironmentObj->getSkin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentSetSkin(int skin)
-{
-
-	iGUIEnvironmentObj->setSkin(skin);
-
-}
-
-extern "C" int IGUIEnvironmentCreateSkin(int type)
-{
-
-	IGUISkin * temp = iGUIEnvironmentObj->createSkin(type);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentCreateImageList(int texture, int imageSize, int useAlphaChannel)
-{
-
-	IGUIImageList * temp = iGUIEnvironmentObj->createImageList(texture, imageSize, useAlphaChannel);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetFont(int filename)
-{
-
-	IGUIFont * temp = iGUIEnvironmentObj->getFont(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetBuiltInFont()
-{
-
-	IGUIFont * temp = iGUIEnvironmentObj->getBuiltInFont();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetSpriteBank(int filename)
-{
-
-	IGUISpriteBank * temp = iGUIEnvironmentObj->getSpriteBank(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddEmptySpriteBank(int name)
-{
-
-	IGUISpriteBank * temp = iGUIEnvironmentObj->addEmptySpriteBank(name);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetRootGUIElement()
-{
-
-	IGUIElement * temp = iGUIEnvironmentObj->getRootGUIElement();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddButton(int rectangle, int parent, int id, char * text, char * tooltiptext)
-{
-
-	IGUIButton * temp = iGUIEnvironmentObj->addButton(rectangle, parent, id, text, tooltiptext);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddWindow(int rectangle, int modal, char * text, int parent, int id)
-{
-
-	IGUIWindow * temp = iGUIEnvironmentObj->addWindow(rectangle, modal, text, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddModalScreen(int parent)
-{
-
-	IGUIElement * temp = iGUIEnvironmentObj->addModalScreen(parent);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddMessageBox(char * caption, char * text, int modal, int flags, int parent, int id)
-{
-
-	IGUIWindow * temp = iGUIEnvironmentObj->addMessageBox(caption, text, modal, flags, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddScrollBar(int horizontal, int rectangle, int parent, int id)
-{
-
-	IGUIScrollBar * temp = iGUIEnvironmentObj->addScrollBar(horizontal, rectangle, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddImage(int image, int pos, int useAlphaChannel, int parent, int id, char * text)
-{
-
-	IGUIImage * temp = iGUIEnvironmentObj->addImage(image, pos, useAlphaChannel, parent, id, text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddImage(int rectangle, int parent, int id, char * text)
-{
-
-	IGUIImage * temp = iGUIEnvironmentObj->addImage(rectangle, parent, id, text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddCheckBox(int checked, int rectangle, int parent, int id, char * text)
-{
-
-	IGUICheckBox * temp = iGUIEnvironmentObj->addCheckBox(checked, rectangle, parent, id, text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddListBox(int rectangle, int parent, int id, int drawBackground)
-{
-
-	IGUIListBox * temp = iGUIEnvironmentObj->addListBox(rectangle, parent, id, drawBackground);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddTreeView(int rectangle, int parent, int id, int drawBackground, int scrollBarVertical, int scrollBarHorizontal)
-{
-
-	IGUITreeView * temp = iGUIEnvironmentObj->addTreeView(rectangle, parent, id, drawBackground, scrollBarVertical, scrollBarHorizontal);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddMeshViewer(int rectangle, int parent, int id, char * text)
-{
-
-	IGUIMeshViewer * temp = iGUIEnvironmentObj->addMeshViewer(rectangle, parent, id, text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddFileOpenDialog(char * title, int modal, int parent, int id)
-{
-
-	IGUIFileOpenDialog * temp = iGUIEnvironmentObj->addFileOpenDialog(title, modal, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddColorSelectDialog(char * title, int modal, int parent, int id)
-{
-
-	IGUIColorSelectDialog * temp = iGUIEnvironmentObj->addColorSelectDialog(title, modal, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddStaticText(char * text, int rectangle, int border, int wordWrap, int parent, int id, int fillBackground)
-{
-
-	IGUIStaticText * temp = iGUIEnvironmentObj->addStaticText(text, rectangle, border, wordWrap, parent, id, fillBackground);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddEditBox(char * text, int rectangle, int border, int parent, int id)
-{
-
-	IGUIEditBox * temp = iGUIEnvironmentObj->addEditBox(text, rectangle, border, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddSpinBox(char * text, int rectangle, int border, int parent, int id)
-{
-
-	IGUISpinBox * temp = iGUIEnvironmentObj->addSpinBox(text, rectangle, border, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddInOutFader(int rectangle, int parent, int id)
-{
-
-	IGUIInOutFader * temp = iGUIEnvironmentObj->addInOutFader(rectangle, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddTabControl(int rectangle, int parent, int fillbackground, int border, int id)
-{
-
-	IGUITabControl * temp = iGUIEnvironmentObj->addTabControl(rectangle, parent, fillbackground, border, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddTab(int rectangle, int parent, int id)
-{
-
-	IGUITab * temp = iGUIEnvironmentObj->addTab(rectangle, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddContextMenu(int rectangle, int parent, int id)
-{
-
-	IGUIContextMenu * temp = iGUIEnvironmentObj->addContextMenu(rectangle, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddMenu(int parent, int id)
-{
-
-	IGUIContextMenu * temp = iGUIEnvironmentObj->addMenu(parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddToolBar(int parent, int id)
-{
-
-	IGUIToolBar * temp = iGUIEnvironmentObj->addToolBar(parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddComboBox(int rectangle, int parent, int id)
-{
-
-	IGUIComboBox * temp = iGUIEnvironmentObj->addComboBox(rectangle, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddTable(int rectangle, int parent, int id, int drawBackground)
-{
-
-	IGUITable * temp = iGUIEnvironmentObj->addTable(rectangle, parent, id, drawBackground);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetDefaultGUIElementFactory()
-{
-
-	IGUIElementFactory * temp = iGUIEnvironmentObj->getDefaultGUIElementFactory();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentRegisterGUIElementFactory(int factoryToAdd)
-{
-
-	iGUIEnvironmentObj->registerGUIElementFactory(factoryToAdd);
-
-}
-
-extern "C" int IGUIEnvironmentGetRegisteredGUIElementFactoryCount()
-{
-
-	 temp = iGUIEnvironmentObj->getRegisteredGUIElementFactoryCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentGetGUIElementFactory(int index)
-{
-
-	IGUIElementFactory * temp = iGUIEnvironmentObj->getGUIElementFactory(index);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentAddGUIElement(char * elementName, int parent)
-{
-
-	IGUIElement * temp = iGUIEnvironmentObj->addGUIElement(elementName, parent);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentSaveGUI(int filename, int start)
-{
-
-	bool temp = iGUIEnvironmentObj->saveGUI(filename, start);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentSaveGUI(int file, int start)
-{
-
-	bool temp = iGUIEnvironmentObj->saveGUI(file, start);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentLoadGUI(int filename, int parent)
-{
-
-	bool temp = iGUIEnvironmentObj->loadGUI(filename, parent);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentLoadGUI(int file, int parent)
-{
-
-	bool temp = iGUIEnvironmentObj->loadGUI(file, parent);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEnvironmentSerializeAttributes(int out, int options)
-{
-
-	iGUIEnvironmentObj->serializeAttributes(out, options);
-
-}
-
-extern "C" int IGUIEnvironmentDeserializeAttributes(int in, int options)
-{
-
-	iGUIEnvironmentObj->deserializeAttributes(in, options);
-
-}
-
-extern "C" int IGUIEnvironmentWriteGUIElement(int writer, int node)
-{
-
-	iGUIEnvironmentObj->writeGUIElement(writer, node);
-
-}
-
-extern "C" int IGUIEnvironmentReadGUIElement(int reader, int node)
-{
-
-	iGUIEnvironmentObj->readGUIElement(reader, node);
-
-}
-
-extern "C" int IEventReceiverIEventReceiver()
-{
-
-	 temp = iEventReceiverObj->IEventReceiver();
-	return (int) temp;
-
-}
-
-extern "C" int IEventReceiverOnEvent(int event)
-{
-
-	bool temp = iEventReceiverObj->OnEvent(event);
-	return (int) temp;
-
-}
-
-extern "C" int IFileArchiveCreateAndOpenFile(int filename)
-{
-
-	IReadFile * temp = iFileArchiveObj->createAndOpenFile(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileArchiveCreateAndOpenFile(int index)
-{
-
-	IReadFile * temp = iFileArchiveObj->createAndOpenFile(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileArchiveGetFileList()
-{
-
-	IFileList * temp = iFileArchiveObj->getFileList();
-	return (int) temp;
-
-}
-
-extern "C" int IFileArchiveGetType()
-{
-
-	 temp = iFileArchiveObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IArchiveLoaderIsALoadableFileFormat(int filename)
-{
-
-	bool temp = iArchiveLoaderObj->isALoadableFileFormat(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IArchiveLoaderIsALoadableFileFormat(int file)
-{
-
-	bool temp = iArchiveLoaderObj->isALoadableFileFormat(file);
-	return (int) temp;
-
-}
-
-extern "C" int IArchiveLoaderIsALoadableFileFormat(int fileType)
-{
-
-	bool temp = iArchiveLoaderObj->isALoadableFileFormat(fileType);
-	return (int) temp;
-
-}
-
-extern "C" int IArchiveLoaderCreateArchive(int filename, int ignoreCase, int ignorePaths)
-{
-
-	IFileArchive * temp = iArchiveLoaderObj->createArchive(filename, ignoreCase, ignorePaths);
-	return (int) temp;
-
-}
-
-extern "C" int IArchiveLoaderCreateArchive(int file, int ignoreCase, int ignorePaths)
-{
-
-	IFileArchive * temp = iArchiveLoaderObj->createArchive(file, ignoreCase, ignorePaths);
-	return (int) temp;
-
-}
-
-extern "C" int ITimerITimer()
-{
-
-	 temp = iTimerObj->ITimer();
-	return (int) temp;
-
-}
-
-extern "C" int ITimerGetRealTime()
-{
-
-	 temp = iTimerObj->getRealTime();
-	return (int) temp;
-
-}
-
-extern "C" int ITimerGetTime()
-{
-
-	 temp = iTimerObj->getTime();
-	return (int) temp;
-
-}
-
-extern "C" int ITimerSetTime(int time)
-{
-
-	iTimerObj->setTime(time);
-
-}
-
-extern "C" int ITimerStop()
-{
-
-	iTimerObj->stop();
-
-}
-
-extern "C" int ITimerStart()
-{
-
-	iTimerObj->start();
-
-}
-
-extern "C" int ITimerSetSpeed(int speed)
-{
-
-	iTimerObj->setSpeed(speed);
-
-}
-
-extern "C" int ITimerGetSpeed()
-{
-
-	 temp = iTimerObj->getSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int ITimerIsStopped()
-{
-
-	bool temp = iTimerObj->isStopped();
-	return (int) temp;
-
-}
-
-extern "C" int ITimerTick()
-{
-
-	iTimerObj->tick();
-
-}
-
-extern "C" int IMeshLoaderIMeshLoader()
-{
-
-	 temp = iMeshLoaderObj->IMeshLoader();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshLoaderIsALoadableFileExtension(int filename)
-{
-
-	bool temp = iMeshLoaderObj->isALoadableFileExtension(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshLoaderCreateMesh(int file)
-{
-
-	IAnimatedMesh * temp = iMeshLoaderObj->createMesh(file);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeIGUITreeViewNode()
-{
-
-	iGUITreeViewNodeObj->IGUITreeViewNode();
-
-}
-
-extern "C" int IGUITreeViewNodeIGUITreeViewNode()
-{
-
-	 temp = iGUITreeViewNodeObj->IGUITreeViewNode();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetOwner()
-{
-
-	IGUITreeView * temp = iGUITreeViewNodeObj->getOwner();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetParent()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->getParent();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetText()
-{
-
-	wchar_t * temp = iGUITreeViewNodeObj->getText();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetText(char * text)
-{
-
-	iGUITreeViewNodeObj->setText(text);
-
-}
-
-extern "C" int IGUITreeViewNodeGetIcon()
-{
-
-	wchar_t * temp = iGUITreeViewNodeObj->getIcon();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetIcon(char * icon)
-{
-
-	iGUITreeViewNodeObj->setIcon(icon);
-
-}
-
-extern "C" int IGUITreeViewNodeGetImageIndex()
-{
-
-	 temp = iGUITreeViewNodeObj->getImageIndex();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetImageIndex(int imageIndex)
-{
-
-	iGUITreeViewNodeObj->setImageIndex(imageIndex);
-
-}
-
-extern "C" int IGUITreeViewNodeGetSelectedImageIndex()
-{
-
-	 temp = iGUITreeViewNodeObj->getSelectedImageIndex();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetSelectedImageIndex(int imageIndex)
-{
-
-	iGUITreeViewNodeObj->setSelectedImageIndex(imageIndex);
-
-}
-
-extern "C" int IGUITreeViewNodeGetData()
-{
-
-	iGUITreeViewNodeObj->getData();
-
-}
-
-extern "C" int IGUITreeViewNodeSetData(int data)
-{
-
-	iGUITreeViewNodeObj->setData(data);
-
-}
-
-extern "C" int IGUITreeViewNodeGetData2()
-{
-
-	IReferenceCounted * temp = iGUITreeViewNodeObj->getData2();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetData2(int data)
-{
-
-	iGUITreeViewNodeObj->setData2(data);
-
-}
-
-extern "C" int IGUITreeViewNodeGetChildCount()
-{
-
-	 temp = iGUITreeViewNodeObj->getChildCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeClearChilds()
-{
-
-	iGUITreeViewNodeObj->clearChilds();
-
-}
-
-extern "C" int IGUITreeViewNodeHasChilds()
-{
-
-	bool temp = iGUITreeViewNodeObj->hasChilds();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeAddChildBack(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->addChildBack(text, icon, imageIndex, selectedImageIndex, data, data2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeAddChildFront(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->addChildFront(text, icon, imageIndex, selectedImageIndex, data, data2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeInsertChildAfter(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->insertChildAfter(other, text, icon, imageIndex, selectedImageIndex, data, data2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeInsertChildBefore(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->insertChildBefore(other, text, icon, imageIndex, selectedImageIndex, data, data2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetFirstChild()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->getFirstChild();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetLastChild()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->getLastChild();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetPrevSibling()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->getPrevSibling();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetNextSibling()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->getNextSibling();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetNextVisible()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewNodeObj->getNextVisible();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeDeleteChild(int child)
-{
-
-	bool temp = iGUITreeViewNodeObj->deleteChild(child);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeMoveChildUp(int child)
-{
-
-	bool temp = iGUITreeViewNodeObj->moveChildUp(child);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeMoveChildDown(int child)
-{
-
-	bool temp = iGUITreeViewNodeObj->moveChildDown(child);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetExpanded()
-{
-
-	bool temp = iGUITreeViewNodeObj->getExpanded();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetExpanded(int expanded)
-{
-
-	iGUITreeViewNodeObj->setExpanded(expanded);
-
-}
-
-extern "C" int IGUITreeViewNodeGetSelected()
-{
-
-	bool temp = iGUITreeViewNodeObj->getSelected();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeSetSelected(int selected)
-{
-
-	iGUITreeViewNodeObj->setSelected(selected);
-
-}
-
-extern "C" int IGUITreeViewNodeIsRoot()
-{
-
-	bool temp = iGUITreeViewNodeObj->isRoot();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeGetLevel()
-{
-
-	 temp = iGUITreeViewNodeObj->getLevel();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewNodeIsVisible()
-{
-
-	bool temp = iGUITreeViewNodeObj->isVisible();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewIGUITreeView(int environment, int parent, int id, int EGUIET_TREE_VIEW, int arg5, int arg6, int arg7)
-{
-
-	iGUITreeViewObj->IGUITreeView(environment, parent, id, EGUIET_TREE_VIEW, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUITreeViewIGUITreeView()
-{
-
-	 temp = iGUITreeViewObj->IGUITreeView();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewGetRoot()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewObj->getRoot();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewGetSelected()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewObj->getSelected();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewGetLinesVisible()
-{
-
-	bool temp = iGUITreeViewObj->getLinesVisible();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewSetLinesVisible(int visible)
-{
-
-	iGUITreeViewObj->setLinesVisible(visible);
-
-}
-
-extern "C" int IGUITreeViewSetIconFont(int font)
-{
-
-	iGUITreeViewObj->setIconFont(font);
-
-}
-
-extern "C" int IGUITreeViewSetImageList(int imageList)
-{
-
-	iGUITreeViewObj->setImageList(imageList);
-
-}
-
-extern "C" int IGUITreeViewGetImageList()
-{
-
-	IGUIImageList * temp = iGUITreeViewObj->getImageList();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewSetImageLeftOfIcon(int bLeftOf)
-{
-
-	iGUITreeViewObj->setImageLeftOfIcon(bLeftOf);
-
-}
-
-extern "C" int IGUITreeViewGetImageLeftOfIcon()
-{
-
-	bool temp = iGUITreeViewObj->getImageLeftOfIcon();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITreeViewGetLastEventNode()
-{
-
-	IGUITreeViewNode * temp = iGUITreeViewObj->getLastEventNode();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerSMaterialLayer(int ), int 0)
-{
-
-	sMaterialLayerObj->SMaterialLayer(), 0);
-
-}
-
-extern "C" int SMaterialLayerSMaterialLayer(int other)
-{
-
-	sMaterialLayerObj->SMaterialLayer(other);
-
-}
-
-extern "C" int SMaterialLayerSMaterialLayer()
-{
-
-	sMaterialLayerObj->SMaterialLayer();
-
-}
-
-extern "C" int SMaterialLayerDestruct()
-{
-
-	 temp = sMaterialLayerObj->destruct();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerDeallocate()
-{
-
-	 temp = sMaterialLayerObj->deallocate();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayer=(int other)
-{
-
-	 temp = sMaterialLayerObj->=(other);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerDestruct()
-{
-
-	 temp = sMaterialLayerObj->destruct();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerDeallocate()
-{
-
-	 temp = sMaterialLayerObj->deallocate();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerAllocate()
-{
-
-	 temp = sMaterialLayerObj->allocate();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerConstruct(int arg1, int TextureMatrix)
-{
-
-	 temp = sMaterialLayerObj->construct(arg1, TextureMatrix);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerGetTextureMatrix()
-{
-
-	 temp = sMaterialLayerObj->getTextureMatrix();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerAllocate()
-{
-
-	 temp = sMaterialLayerObj->allocate();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerConstruct(int arg1, int IdentityMatrix)
-{
-
-	 temp = sMaterialLayerObj->construct(arg1, IdentityMatrix);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerGetTextureMatrix()
-{
-
-	 temp = sMaterialLayerObj->getTextureMatrix();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerSetTextureMatrix(int mat)
-{
-
-	sMaterialLayerObj->setTextureMatrix(mat);
-
-}
-
-extern "C" int SMaterialLayerAllocate()
-{
-
-	 temp = sMaterialLayerObj->allocate();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayerConstruct(int arg1)
-{
-
-	 temp = sMaterialLayerObj->construct(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayer=(int b)
-{
-
-	bool temp = sMaterialLayerObj->=(b);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayer=(int TextureMatrix)
-{
-
-	 temp = sMaterialLayerObj->=(TextureMatrix);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialLayer=(int b)
-{
-
-	bool temp = sMaterialLayerObj->=(b);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverBeginScene(int backBuffer, int zBuffer, int color, int arg4, int arg5, int windowId, int sourceRect)
-{
-
-	bool temp = iVideoDriverObj->beginScene(backBuffer, zBuffer, color, arg4, arg5, windowId, sourceRect);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverEndScene()
-{
-
-	bool temp = iVideoDriverObj->endScene();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverQueryFeature(int feature)
-{
-
-	bool temp = iVideoDriverObj->queryFeature(feature);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverDisableFeature(int feature, int flag)
-{
-
-	iVideoDriverObj->disableFeature(feature, flag);
-
-}
-
-extern "C" int IVideoDriverCheckDriverReset()
-{
-
-	bool temp = iVideoDriverObj->checkDriverReset();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetTransform(int state, int mat)
-{
-
-	iVideoDriverObj->setTransform(state, mat);
-
-}
-
-extern "C" int IVideoDriverGetTransform(int state)
-{
-
-	 temp = iVideoDriverObj->getTransform(state);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetImageLoaderCount()
-{
-
-	 temp = iVideoDriverObj->getImageLoaderCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetImageLoader(int n)
-{
-
-	IImageLoader * temp = iVideoDriverObj->getImageLoader(n);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetImageWriterCount()
-{
-
-	 temp = iVideoDriverObj->getImageWriterCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetImageWriter(int n)
-{
-
-	IImageWriter * temp = iVideoDriverObj->getImageWriter(n);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetMaterial(int material)
-{
-
-	iVideoDriverObj->setMaterial(material);
-
-}
-
-extern "C" int IVideoDriverGetTexture(int filename)
-{
-
-	ITexture * temp = iVideoDriverObj->getTexture(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetTexture(int file)
-{
-
-	ITexture * temp = iVideoDriverObj->getTexture(file);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetTextureByIndex(int index)
-{
-
-	ITexture * temp = iVideoDriverObj->getTextureByIndex(index);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetTextureCount()
-{
-
-	 temp = iVideoDriverObj->getTextureCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverRenameTexture(int texture, int newName)
-{
-
-	iVideoDriverObj->renameTexture(texture, newName);
-
-}
-
-extern "C" int IVideoDriverAddTexture(int size, int name, int format)
-{
-
-	ITexture * temp = iVideoDriverObj->addTexture(size, name, format);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverAddTexture(int name, int image)
-{
-
-	ITexture * temp = iVideoDriverObj->addTexture(name, image);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverAddRenderTargetTexture(int size, int name, int format)
-{
-
-	ITexture * temp = iVideoDriverObj->addRenderTargetTexture(size, name, format);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverRemoveTexture(int texture)
-{
-
-	iVideoDriverObj->removeTexture(texture);
-
-}
-
-extern "C" int IVideoDriverRemoveAllTextures()
-{
-
-	iVideoDriverObj->removeAllTextures();
-
-}
-
-extern "C" int IVideoDriverRemoveHardwareBuffer(int mb)
-{
-
-	iVideoDriverObj->removeHardwareBuffer(mb);
-
-}
-
-extern "C" int IVideoDriverRemoveAllHardwareBuffers()
-{
-
-	iVideoDriverObj->removeAllHardwareBuffers();
-
-}
-
-extern "C" int IVideoDriverMakeColorKeyTexture(int texture, int color, int zeroTexels)
-{
-
-	iVideoDriverObj->makeColorKeyTexture(texture, color, zeroTexels);
-
-}
-
-extern "C" int IVideoDriverMakeColorKeyTexture(int texture, int colorKeyPixelPos, int zeroTexels)
-{
-
-	iVideoDriverObj->makeColorKeyTexture(texture, colorKeyPixelPos, zeroTexels);
-
-}
-
-extern "C" int IVideoDriverMakeNormalMapTexture(int texture, int amplitude)
-{
-
-	iVideoDriverObj->makeNormalMapTexture(texture, amplitude);
-
-}
-
-extern "C" int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color, int arg5, int arg6)
-{
-
-	bool temp = iVideoDriverObj->setRenderTarget(texture, clearBackBuffer, clearZBuffer, color, arg5, arg6);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetRenderTarget(int target, int clearTarget, int clearZBuffer, int color, int arg5, int arg6)
-{
-
-	bool temp = iVideoDriverObj->setRenderTarget(target, clearTarget, clearZBuffer, color, arg5, arg6);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetViewPort(int area)
-{
-
-	iVideoDriverObj->setViewPort(area);
-
-}
-
-extern "C" int IVideoDriverGetViewPort()
-{
-
-	 temp = iVideoDriverObj->getViewPort();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverDrawVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType)
-{
-
-	iVideoDriverObj->drawVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
-
-}
-
-extern "C" int IVideoDriverDraw2DVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType)
-{
-
-	iVideoDriverObj->draw2DVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
-
-}
-
-extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
-{
-
-	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
-
-}
-
-extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
-{
-
-	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
-
-}
-
-extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
-{
-
-	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
-
-}
-
-extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
-{
-
-	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
-
-}
-
-extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
-{
-
-	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
-
-}
-
-extern "C" int IVideoDriverDraw3DLine(int start, int end, int color, int arg4, int arg5)
-{
-
-	iVideoDriverObj->draw3DLine(start, end, color, arg4, arg5);
-
-}
-
-extern "C" int IVideoDriverDraw3DTriangle(int triangle, int color, int arg3, int arg4)
-{
-
-	iVideoDriverObj->draw3DTriangle(triangle, color, arg3, arg4);
-
-}
-
-extern "C" int IVideoDriverDraw3DBox(int box, int color, int arg3, int arg4)
-{
-
-	iVideoDriverObj->draw3DBox(box, color, arg3, arg4);
-
-}
-
-extern "C" int IVideoDriverDraw2DImage(int texture, int destPos)
-{
-
-	iVideoDriverObj->draw2DImage(texture, destPos);
-
-}
-
-extern "C" int IVideoDriverDraw2DImage(int texture, int destPos, int sourceRect, int clipRect, int color, int arg6, int arg7, int useAlphaChannelOfTexture)
-{
-
-	iVideoDriverObj->draw2DImage(texture, destPos, sourceRect, clipRect, color, arg6, arg7, useAlphaChannelOfTexture);
-
-}
-
-extern "C" int IVideoDriverDraw2DImageBatch(int texture, int pos, int sourceRects, int indices, int kerningWidth, int clipRect, int color, int arg8, int arg9, int useAlphaChannelOfTexture)
-{
-
-	iVideoDriverObj->draw2DImageBatch(texture, pos, sourceRects, indices, kerningWidth, clipRect, color, arg8, arg9, useAlphaChannelOfTexture);
-
-}
-
-extern "C" int IVideoDriverDraw2DImageBatch(int texture, int positions, int sourceRects, int clipRect, int color, int arg6, int arg7, int useAlphaChannelOfTexture)
-{
-
-	iVideoDriverObj->draw2DImageBatch(texture, positions, sourceRects, clipRect, color, arg6, arg7, useAlphaChannelOfTexture);
-
-}
-
-extern "C" int IVideoDriverDraw2DImage(int texture, int destRect, int sourceRect, int clipRect, int colors, int useAlphaChannelOfTexture)
-{
-
-	iVideoDriverObj->draw2DImage(texture, destRect, sourceRect, clipRect, colors, useAlphaChannelOfTexture);
-
-}
-
-extern "C" int IVideoDriverDraw2DRectangle(int color, int pos, int clip)
-{
-
-	iVideoDriverObj->draw2DRectangle(color, pos, clip);
-
-}
-
-extern "C" int IVideoDriverDraw2DRectangle(int pos, int colorLeftUp, int colorRightUp, int colorLeftDown, int colorRightDown, int clip)
-{
-
-	iVideoDriverObj->draw2DRectangle(pos, colorLeftUp, colorRightUp, colorLeftDown, colorRightDown, clip);
-
-}
-
-extern "C" int IVideoDriverDraw2DRectangleOutline(int pos, int color, int arg3, int arg4)
-{
-
-	iVideoDriverObj->draw2DRectangleOutline(pos, color, arg3, arg4);
-
-}
-
-extern "C" int IVideoDriverDraw2DLine(int start, int end, int color, int arg4, int arg5)
-{
-
-	iVideoDriverObj->draw2DLine(start, end, color, arg4, arg5);
-
-}
-
-extern "C" int IVideoDriverDrawPixel(int x, int y, int color)
-{
-
-	iVideoDriverObj->drawPixel(x, y, color);
-
-}
-
-extern "C" int IVideoDriverDraw2DPolygon(int center, int radius, int color, int arg4, int arg5, int vertexCount)
-{
-
-	iVideoDriverObj->draw2DPolygon(center, radius, color, arg4, arg5, vertexCount);
-
-}
-
-extern "C" int IVideoDriverDrawStencilShadowVolume(int triangles, int count, int zfail)
-{
-
-	iVideoDriverObj->drawStencilShadowVolume(triangles, count, zfail);
-
-}
-
-extern "C" int IVideoDriverDrawStencilShadow(int clearStencilBuffer, int leftUpEdge, int arg3, int arg4, int rightUpEdge, int arg7, int arg8, int leftDownEdge, int arg11, int arg12, int rightDownEdge, int arg15, int arg16)
-{
-
-	iVideoDriverObj->drawStencilShadow(clearStencilBuffer, leftUpEdge, arg3, arg4, rightUpEdge, arg7, arg8, leftDownEdge, arg11, arg12, rightDownEdge, arg15, arg16);
-
-}
-
-extern "C" int IVideoDriverDrawMeshBuffer(int mb)
-{
-
-	iVideoDriverObj->drawMeshBuffer(mb);
-
-}
-
-extern "C" int IVideoDriverSetFog(int color, int arg2, int arg3, int fogType, int start, int end, int density, int pixelFog, int rangeFog)
-{
-
-	iVideoDriverObj->setFog(color, arg2, arg3, fogType, start, end, density, pixelFog, rangeFog);
-
-}
-
-extern "C" int IVideoDriverGetColorFormat()
-{
-
-	 temp = iVideoDriverObj->getColorFormat();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetScreenSize()
-{
-
-	 temp = iVideoDriverObj->getScreenSize();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetCurrentRenderTargetSize()
-{
-
-	 temp = iVideoDriverObj->getCurrentRenderTargetSize();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetFPS()
-{
-
-	 temp = iVideoDriverObj->getFPS();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetPrimitiveCountDrawn(int mode)
-{
-
-	 temp = iVideoDriverObj->getPrimitiveCountDrawn(mode);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverDeleteAllDynamicLights()
-{
-
-	iVideoDriverObj->deleteAllDynamicLights();
-
-}
-
-extern "C" int IVideoDriverAddDynamicLight(int light)
-{
-
-	 temp = iVideoDriverObj->addDynamicLight(light);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetMaximalDynamicLightAmount()
-{
-
-	 temp = iVideoDriverObj->getMaximalDynamicLightAmount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetDynamicLightCount()
-{
-
-	 temp = iVideoDriverObj->getDynamicLightCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetDynamicLight(int idx)
-{
-
-	 temp = iVideoDriverObj->getDynamicLight(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverTurnLightOn(int lightIndex, int turnOn)
-{
-
-	iVideoDriverObj->turnLightOn(lightIndex, turnOn);
-
-}
-
-extern "C" int IVideoDriverGetName()
-{
-
-	wchar_t * temp = iVideoDriverObj->getName();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverAddExternalImageLoader(int loader)
-{
-
-	iVideoDriverObj->addExternalImageLoader(loader);
-
-}
-
-extern "C" int IVideoDriverAddExternalImageWriter(int writer)
-{
-
-	iVideoDriverObj->addExternalImageWriter(writer);
-
-}
-
-extern "C" int IVideoDriverGetMaximalPrimitiveCount()
-{
-
-	 temp = iVideoDriverObj->getMaximalPrimitiveCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetTextureCreationFlag(int flag, int enabled)
-{
-
-	iVideoDriverObj->setTextureCreationFlag(flag, enabled);
-
-}
-
-extern "C" int IVideoDriverGetTextureCreationFlag(int flag)
-{
-
-	bool temp = iVideoDriverObj->getTextureCreationFlag(flag);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImageFromFile(int filename)
-{
-
-	IImage * temp = iVideoDriverObj->createImageFromFile(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImageFromFile(int file)
-{
-
-	IImage * temp = iVideoDriverObj->createImageFromFile(file);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverWriteImageToFile(int image, int filename, int param)
-{
-
-	bool temp = iVideoDriverObj->writeImageToFile(image, filename, param);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverWriteImageToFile(int image, int file, int param)
-{
-
-	bool temp = iVideoDriverObj->writeImageToFile(image, file, param);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImageFromData(int format, int size, int data, int ownForeignMemory, int deleteMemory)
-{
-
-	IImage * temp = iVideoDriverObj->createImageFromData(format, size, data, ownForeignMemory, deleteMemory);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImage(int format, int size)
-{
-
-	IImage * temp = iVideoDriverObj->createImage(format, size);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImage(int format, int imageToCopy)
-{
-
-	IImage * temp = iVideoDriverObj->createImage(format, imageToCopy);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImage(int imageToCopy, int pos, int size)
-{
-
-	IImage * temp = iVideoDriverObj->createImage(imageToCopy, pos, size);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverCreateImage(int texture, int pos, int size)
-{
-
-	IImage * temp = iVideoDriverObj->createImage(texture, pos, size);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverOnResize(int size)
-{
-
-	iVideoDriverObj->OnResize(size);
-
-}
-
-extern "C" int IVideoDriverAddMaterialRenderer(int renderer, char * name)
-{
-
-	 temp = iVideoDriverObj->addMaterialRenderer(renderer, name);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetMaterialRenderer(int idx)
-{
-
-	IMaterialRenderer * temp = iVideoDriverObj->getMaterialRenderer(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetMaterialRendererCount()
-{
-
-	 temp = iVideoDriverObj->getMaterialRendererCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetMaterialRendererName(int idx)
-{
-
-	c8 * temp = iVideoDriverObj->getMaterialRendererName(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetMaterialRendererName(int idx, char * name)
-{
-
-	iVideoDriverObj->setMaterialRendererName(idx, name);
-
-}
-
-extern "C" int IVideoDriverCreateAttributesFromMaterial(int material)
-{
-
-	IAttributes * temp = iVideoDriverObj->createAttributesFromMaterial(material);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverFillMaterialStructureFromAttributes(int outMaterial, int attributes)
-{
-
-	iVideoDriverObj->fillMaterialStructureFromAttributes(outMaterial, attributes);
-
-}
-
-extern "C" int IVideoDriverGetExposedVideoData()
-{
-
-	 temp = iVideoDriverObj->getExposedVideoData();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetDriverType()
-{
-
-	 temp = iVideoDriverObj->getDriverType();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetGPUProgrammingServices()
-{
-
-	IGPUProgrammingServices * temp = iVideoDriverObj->getGPUProgrammingServices();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetMeshManipulator()
-{
-
-	IMeshManipulator * temp = iVideoDriverObj->getMeshManipulator();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverClearZBuffer()
-{
-
-	iVideoDriverObj->clearZBuffer();
-
-}
-
-extern "C" int IVideoDriverCreateScreenShot()
-{
-
-	IImage * temp = iVideoDriverObj->createScreenShot();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverFindTexture(int filename)
-{
-
-	ITexture * temp = iVideoDriverObj->findTexture(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetClipPlane(int index, int plane, int enable)
-{
-
-	bool temp = iVideoDriverObj->setClipPlane(index, plane, enable);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverEnableClipPlane(int index, int enable)
-{
-
-	iVideoDriverObj->enableClipPlane(index, enable);
-
-}
-
-extern "C" int IVideoDriverSetMinHardwareBufferVertexCount(int count)
-{
-
-	iVideoDriverObj->setMinHardwareBufferVertexCount(count);
-
-}
-
-extern "C" int IVideoDriverGetOverrideMaterial()
-{
-
-	 temp = iVideoDriverObj->getOverrideMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverGetVendorInfo()
-{
-
-	 temp = iVideoDriverObj->getVendorInfo();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoDriverSetAmbientLight(int color)
-{
-
-	iVideoDriverObj->setAmbientLight(color);
-
-}
-
-extern "C" int IVideoDriverSetAllowZWriteOnTransparent(int flag)
-{
-
-	iVideoDriverObj->setAllowZWriteOnTransparent(flag);
-
-}
-
-extern "C" int ISkinnedMeshGetJointCount()
-{
-
-	 temp = iSkinnedMeshObj->getJointCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISkinnedMeshGetJointName(int number)
-{
-
-	c8 * temp = iSkinnedMeshObj->getJointName(number);
-	return (int) temp;
-
-}
-
-extern "C" int ISkinnedMeshGetJointNumber(char * name)
-{
-
-	 temp = iSkinnedMeshObj->getJointNumber(name);
-	return (int) temp;
-
-}
-
-extern "C" int ISkinnedMeshUseAnimationFrom(int mesh)
-{
-
-	bool temp = iSkinnedMeshObj->useAnimationFrom(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int ISkinnedMeshUpdateNormalsWhenAnimating(int on)
-{
-
-	iSkinnedMeshObj->updateNormalsWhenAnimating(on);
-
-}
-
-extern "C" int ISkinnedMeshSetInterpolationMode(int mode)
-{
-
-	iSkinnedMeshObj->setInterpolationMode(mode);
-
-}
-
-extern "C" int ISkinnedMeshAnimateMesh(int frame, int blend)
-{
-
-	iSkinnedMeshObj->animateMesh(frame, blend);
-
-}
-
-extern "C" int ISkinnedMeshSkinMesh()
-{
-
-	iSkinnedMeshObj->skinMesh();
-
-}
-
-extern "C" int ISkinnedMeshConvertMeshToTangents()
-{
-
-	iSkinnedMeshObj->convertMeshToTangents();
-
-}
-
-extern "C" int ISkinnedMeshSetHardwareSkinning(int on)
-{
-
-	bool temp = iSkinnedMeshObj->setHardwareSkinning(on);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAffectorIParticleAffector(int true)
-{
-
-	iParticleAffectorObj->IParticleAffector(true);
-
-}
-
-extern "C" int IParticleAffectorAffect(int now, int particlearray, int count)
-{
-
-	iParticleAffectorObj->affect(now, particlearray, count);
-
-}
-
-extern "C" int IParticleAffectorSetEnabled(int enabled)
-{
-
-	iParticleAffectorObj->setEnabled(enabled);
-
-}
-
-extern "C" int IParticleAffectorGetEnabled()
-{
-
-	bool temp = iParticleAffectorObj->getEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAffectorGetType()
-{
-
-	 temp = iParticleAffectorObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialSMaterial(int ), int 255, int arg3, int arg4, int 255, int arg7, int arg8, int 0, int arg11, int arg12, int 255, int arg15, int arg16, int false)
-{
-
-	sMaterialObj->SMaterial(), 255, arg3, arg4, 255, arg7, arg8, 0, arg11, arg12, 255, arg15, arg16, false);
-
-}
-
-extern "C" int SMaterialSMaterial(int other)
-{
-
-	sMaterialObj->SMaterial(other);
-
-}
-
-extern "C" int SMaterial=(int other)
-{
-
-	 temp = sMaterialObj->=(other);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialGetTextureMatrix(int i)
-{
-
-	 temp = sMaterialObj->getTextureMatrix(i);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialGetTextureMatrix(int i)
-{
-
-	 temp = sMaterialObj->getTextureMatrix(i);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialSetTextureMatrix(int i, int mat)
-{
-
-	sMaterialObj->setTextureMatrix(i, mat);
-
-}
-
-extern "C" int SMaterialSetTextureMatrix()
-{
-
-	 temp = sMaterialObj->setTextureMatrix();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialGetTexture(int i)
-{
-
-	ITexture * temp = sMaterialObj->getTexture(i);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialSetTexture(int i, int tex)
-{
-
-	sMaterialObj->setTexture(i, tex);
-
-}
-
-extern "C" int SMaterialSetFlag(int flag, int value)
-{
-
-	sMaterialObj->setFlag(flag, value);
-
-}
-
-extern "C" int SMaterialSwitch()
-{
-
-	sMaterialObj->switch();
-
-}
-
-extern "C" int SMaterial=()
-{
-
-	 temp = sMaterialObj->=();
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialGetFlag(int flag)
-{
-
-	bool temp = sMaterialObj->getFlag(flag);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialSwitch()
-{
-
-	sMaterialObj->switch();
-
-}
-
-extern "C" int SMaterial=(int b)
-{
-
-	bool temp = sMaterialObj->=(b);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterial=(int i)
-{
-
-	 temp = sMaterialObj->=(i);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterial=(int b)
-{
-
-	bool temp = sMaterialObj->=(b);
-	return (int) temp;
-
-}
-
-extern "C" int SMaterialIsTransparent()
-{
-
-	bool temp = sMaterialObj->isTransparent();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheIMeshCache()
-{
-
-	 temp = iMeshCacheObj->IMeshCache();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheAddMesh(int filename, int mesh)
-{
-
-	iMeshCacheObj->addMesh(filename, mesh);
-
-}
-
-extern "C" int IMeshCacheRemoveMesh(int mesh)
-{
-
-	iMeshCacheObj->removeMesh(mesh);
-
-}
-
-extern "C" int IMeshCacheRemoveMesh(int mesh)
-{
-
-	iMeshCacheObj->removeMesh(mesh);
-
-}
-
-extern "C" int IMeshCacheGetMeshCount()
-{
-
-	 temp = iMeshCacheObj->getMeshCount();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshIndex(int mesh)
-{
-
-	 temp = iMeshCacheObj->getMeshIndex(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshIndex(int mesh)
-{
-
-	 temp = iMeshCacheObj->getMeshIndex(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshByIndex(int index)
-{
-
-	IAnimatedMesh * temp = iMeshCacheObj->getMeshByIndex(index);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshByFilename(int filename)
-{
-
-	IAnimatedMesh * temp = iMeshCacheObj->getMeshByFilename(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshFilename(int index)
-{
-
-	 temp = iMeshCacheObj->getMeshFilename(index);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshFilename(int mesh)
-{
-
-	 temp = iMeshCacheObj->getMeshFilename(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheGetMeshFilename(int mesh)
-{
-
-	 temp = iMeshCacheObj->getMeshFilename(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheSetMeshFilename(int index, int filename)
-{
-
-	bool temp = iMeshCacheObj->setMeshFilename(index, filename);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheSetMeshFilename(int mesh, int filename)
-{
-
-	bool temp = iMeshCacheObj->setMeshFilename(mesh, filename);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheSetMeshFilename(int mesh, int filename)
-{
-
-	bool temp = iMeshCacheObj->setMeshFilename(mesh, filename);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheIsMeshLoaded(int filename)
-{
-
-	bool temp = iMeshCacheObj->isMeshLoaded(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshCacheClear()
-{
-
-	iMeshCacheObj->clear();
-
-}
-
-extern "C" int IMeshCacheClearUnusedMeshes()
-{
-
-	iMeshCacheObj->clearUnusedMeshes();
-
-}
-
-extern "C" int IrrlichtDeviceRun()
-{
-
-	bool temp = irrlichtDeviceObj->run();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceYield()
-{
-
-	irrlichtDeviceObj->yield();
-
-}
-
-extern "C" int IrrlichtDeviceSleep(int timeMs, int pauseTimer)
-{
-
-	irrlichtDeviceObj->sleep(timeMs, pauseTimer);
-
-}
-
-extern "C" int IrrlichtDeviceGetVideoDriver()
-{
-
-	IVideoDriver * temp = irrlichtDeviceObj->getVideoDriver();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetFileSystem()
-{
-
-	IFileSystem * temp = irrlichtDeviceObj->getFileSystem();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetGUIEnvironment()
-{
-
-	IGUIEnvironment * temp = irrlichtDeviceObj->getGUIEnvironment();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetSceneManager()
-{
-
-	ISceneManager * temp = irrlichtDeviceObj->getSceneManager();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetCursorControl()
-{
-
-	ICursorControl * temp = irrlichtDeviceObj->getCursorControl();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetLogger()
-{
-
-	ILogger * temp = irrlichtDeviceObj->getLogger();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetVideoModeList()
-{
-
-	IVideoModeList * temp = irrlichtDeviceObj->getVideoModeList();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetOSOperator()
-{
-
-	IOSOperator * temp = irrlichtDeviceObj->getOSOperator();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetTimer()
-{
-
-	ITimer * temp = irrlichtDeviceObj->getTimer();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceSetWindowCaption(char * text)
-{
-
-	irrlichtDeviceObj->setWindowCaption(text);
-
-}
-
-extern "C" int IrrlichtDeviceIsWindowActive()
-{
-
-	bool temp = irrlichtDeviceObj->isWindowActive();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceIsWindowFocused()
-{
-
-	bool temp = irrlichtDeviceObj->isWindowFocused();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceIsWindowMinimized()
-{
-
-	bool temp = irrlichtDeviceObj->isWindowMinimized();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceIsFullscreen()
-{
-
-	bool temp = irrlichtDeviceObj->isFullscreen();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetColorFormat()
-{
-
-	 temp = irrlichtDeviceObj->getColorFormat();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceCloseDevice()
-{
-
-	irrlichtDeviceObj->closeDevice();
-
-}
-
-extern "C" int IrrlichtDeviceGetVersion()
-{
-
-	c8 * temp = irrlichtDeviceObj->getVersion();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceSetEventReceiver(int receiver)
-{
-
-	irrlichtDeviceObj->setEventReceiver(receiver);
-
-}
-
-extern "C" int IrrlichtDeviceGetEventReceiver()
-{
-
-	IEventReceiver * temp = irrlichtDeviceObj->getEventReceiver();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDevicePostEventFromUser(int event)
-{
-
-	bool temp = irrlichtDeviceObj->postEventFromUser(event);
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceSetInputReceivingSceneManager(int sceneManager)
-{
-
-	irrlichtDeviceObj->setInputReceivingSceneManager(sceneManager);
-
-}
-
-extern "C" int IrrlichtDeviceSetResizable(int resize)
-{
-
-	irrlichtDeviceObj->setResizable(resize);
-
-}
-
-extern "C" int IrrlichtDeviceMinimizeWindow()
-{
-
-	irrlichtDeviceObj->minimizeWindow();
-
-}
-
-extern "C" int IrrlichtDeviceMaximizeWindow()
-{
-
-	irrlichtDeviceObj->maximizeWindow();
-
-}
-
-extern "C" int IrrlichtDeviceRestoreWindow()
-{
-
-	irrlichtDeviceObj->restoreWindow();
-
-}
-
-extern "C" int IrrlichtDeviceActivateJoysticks(int joystickInfo)
-{
-
-	bool temp = irrlichtDeviceObj->activateJoysticks(joystickInfo);
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceSetGammaRamp(int red, int green, int blue, int relativebrightness, int relativecontrast)
-{
-
-	bool temp = irrlichtDeviceObj->setGammaRamp(red, green, blue, relativebrightness, relativecontrast);
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetGammaRamp(int red, int green, int blue, int brightness, int contrast)
-{
-
-	bool temp = irrlichtDeviceObj->getGammaRamp(red, green, blue, brightness, contrast);
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceGetType()
-{
-
-	 temp = irrlichtDeviceObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceIsDriverSupported(int driver)
-{
-
-	bool temp = irrlichtDeviceObj->isDriverSupported(driver);
-	return (int) temp;
-
-}
-
-extern "C" int IrrlichtDeviceSwitch()
-{
-
-	irrlichtDeviceObj->switch();
-
-}
-
-extern "C" int IVolumeLightSceneNodeIVolumeLightSceneNode(int parent, int mgr, int id, int position, int rotation, int parent, int arg7, int arg8, int arg9, int arg10)
-{
-
-	iVolumeLightSceneNodeObj->IVolumeLightSceneNode(parent, mgr, id, position, rotation, parent, arg7, arg8, arg9, arg10);
-
-}
-
-extern "C" int IVolumeLightSceneNodeGetType()
-{
-
-	 temp = iVolumeLightSceneNodeObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IVolumeLightSceneNodeSetSubDivideU(int inU)
-{
-
-	iVolumeLightSceneNodeObj->setSubDivideU(inU);
-
-}
-
-extern "C" int IVolumeLightSceneNodeSetSubDivideV(int inV)
-{
-
-	iVolumeLightSceneNodeObj->setSubDivideV(inV);
-
-}
-
-extern "C" int IVolumeLightSceneNodeGetSubDivideU()
-{
-
-	 temp = iVolumeLightSceneNodeObj->getSubDivideU();
-	return (int) temp;
-
-}
-
-extern "C" int IVolumeLightSceneNodeGetSubDivideV()
-{
-
-	 temp = iVolumeLightSceneNodeObj->getSubDivideV();
-	return (int) temp;
-
-}
-
-extern "C" int IVolumeLightSceneNodeSetFootColor(int inColour)
-{
-
-	iVolumeLightSceneNodeObj->setFootColor(inColour);
-
-}
-
-extern "C" int IVolumeLightSceneNodeSetTailColor(int inColour)
-{
-
-	iVolumeLightSceneNodeObj->setTailColor(inColour);
-
-}
-
-extern "C" int IVolumeLightSceneNodeGetFootColor()
-{
-
-	 temp = iVolumeLightSceneNodeObj->getFootColor();
-	return (int) temp;
-
-}
-
-extern "C" int IVolumeLightSceneNodeGetTailColor()
-{
-
-	 temp = iVolumeLightSceneNodeObj->getTailColor();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEditBoxIGUIEditBox(int environment, int parent, int id, int EGUIET_EDIT_BOX, int arg5, int arg6, int arg7)
-{
-
-	iGUIEditBoxObj->IGUIEditBox(environment, parent, id, EGUIET_EDIT_BOX, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIEditBoxSetOverrideFont(int font)
-{
-
-	iGUIEditBoxObj->setOverrideFont(font);
-
-}
-
-extern "C" int IGUIEditBoxSetOverrideColor(int color)
-{
-
-	iGUIEditBoxObj->setOverrideColor(color);
-
-}
-
-extern "C" int IGUIEditBoxEnableOverrideColor(int enable)
-{
-
-	iGUIEditBoxObj->enableOverrideColor(enable);
-
-}
-
-extern "C" int IGUIEditBoxSetDrawBorder(int border)
-{
-
-	iGUIEditBoxObj->setDrawBorder(border);
-
-}
-
-extern "C" int IGUIEditBoxSetTextAlignment(int horizontal, int vertical)
-{
-
-	iGUIEditBoxObj->setTextAlignment(horizontal, vertical);
-
-}
-
-extern "C" int IGUIEditBoxSetWordWrap(int enable)
-{
-
-	iGUIEditBoxObj->setWordWrap(enable);
-
-}
-
-extern "C" int IGUIEditBoxIsWordWrapEnabled()
-{
-
-	bool temp = iGUIEditBoxObj->isWordWrapEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEditBoxSetMultiLine(int enable)
-{
-
-	iGUIEditBoxObj->setMultiLine(enable);
-
-}
-
-extern "C" int IGUIEditBoxIsMultiLineEnabled()
-{
-
-	bool temp = iGUIEditBoxObj->isMultiLineEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEditBoxSetAutoScroll(int enable)
-{
-
-	iGUIEditBoxObj->setAutoScroll(enable);
-
-}
-
-extern "C" int IGUIEditBoxIsAutoScrollEnabled()
-{
-
-	bool temp = iGUIEditBoxObj->isAutoScrollEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEditBoxSetPasswordBox(int passwordBox, char * passwordChar)
-{
-
-	iGUIEditBoxObj->setPasswordBox(passwordBox, passwordChar);
-
-}
-
-extern "C" int IGUIEditBoxIsPasswordBox()
-{
-
-	bool temp = iGUIEditBoxObj->isPasswordBox();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEditBoxGetTextDimension()
-{
-
-	 temp = iGUIEditBoxObj->getTextDimension();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIEditBoxSetMax(int max)
-{
-
-	iGUIEditBoxObj->setMax(max);
-
-}
-
-extern "C" int IGUIEditBoxGetMax()
-{
-
-	 temp = iGUIEditBoxObj->getMax();
-	return (int) temp;
-
-}
-
-extern "C" int ITriangleSelectorITriangleSelector()
-{
-
-	 temp = iTriangleSelectorObj->ITriangleSelector();
-	return (int) temp;
-
-}
-
-extern "C" int ITriangleSelectorGetTriangleCount()
-{
-
-	 temp = iTriangleSelectorObj->getTriangleCount();
-	return (int) temp;
-
-}
-
-extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int transform)
-{
-
-	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, transform);
-
-}
-
-extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int box, int transform)
-{
-
-	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, box, transform);
-
-}
-
-extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int line, int transform)
-{
-
-	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, line, transform);
-
-}
-
-extern "C" int ITriangleSelectorGetSceneNodeForTriangle(int triangleIndex)
-{
-
-	ISceneNode * temp = iTriangleSelectorObj->getSceneNodeForTriangle(triangleIndex);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinGetColor(int color)
-{
-
-	 temp = iGUISkinObj->getColor(color);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinSetColor(int which, int newColor)
-{
-
-	iGUISkinObj->setColor(which, newColor);
-
-}
-
-extern "C" int IGUISkinGetSize(int size)
-{
-
-	 temp = iGUISkinObj->getSize(size);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinGetDefaultText(int text)
-{
-
-	wchar_t * temp = iGUISkinObj->getDefaultText(text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinSetDefaultText(int which, char * newText)
-{
-
-	iGUISkinObj->setDefaultText(which, newText);
-
-}
-
-extern "C" int IGUISkinSetSize(int which, int size)
-{
-
-	iGUISkinObj->setSize(which, size);
-
-}
-
-extern "C" int IGUISkinGetFont(int which)
-{
-
-	IGUIFont * temp = iGUISkinObj->getFont(which);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinSetFont(int font, int which)
-{
-
-	iGUISkinObj->setFont(font, which);
-
-}
-
-extern "C" int IGUISkinGetSpriteBank()
-{
-
-	IGUISpriteBank * temp = iGUISkinObj->getSpriteBank();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinSetSpriteBank(int bank)
-{
-
-	iGUISkinObj->setSpriteBank(bank);
-
-}
-
-extern "C" int IGUISkinGetIcon(int icon)
-{
-
-	 temp = iGUISkinObj->getIcon(icon);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinSetIcon(int icon, int index)
-{
-
-	iGUISkinObj->setIcon(icon, index);
-
-}
-
-extern "C" int IGUISkinDraw3DButtonPaneStandard(int element, int rect, int clip)
-{
-
-	iGUISkinObj->draw3DButtonPaneStandard(element, rect, clip);
-
-}
-
-extern "C" int IGUISkinDraw3DButtonPanePressed(int element, int rect, int clip)
-{
-
-	iGUISkinObj->draw3DButtonPanePressed(element, rect, clip);
-
-}
-
-extern "C" int IGUISkinDraw3DSunkenPane(int element, int bgcolor, int flat, int fillBackGround, int rect, int clip)
-{
-
-	iGUISkinObj->draw3DSunkenPane(element, bgcolor, flat, fillBackGround, rect, clip);
-
-}
-
-extern "C" int IGUISkinDraw3DWindowBackground(int element, int drawTitleBar, int titleBarColor, int rect, int clip)
-{
-
-	 temp = iGUISkinObj->draw3DWindowBackground(element, drawTitleBar, titleBarColor, rect, clip);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISkinDraw3DMenuPane(int element, int rect, int clip)
-{
-
-	iGUISkinObj->draw3DMenuPane(element, rect, clip);
-
-}
-
-extern "C" int IGUISkinDraw3DToolBar(int element, int rect, int clip)
-{
-
-	iGUISkinObj->draw3DToolBar(element, rect, clip);
-
-}
-
-extern "C" int IGUISkinDraw3DTabButton(int element, int active, int rect, int clip, int alignment)
-{
-
-	iGUISkinObj->draw3DTabButton(element, active, rect, clip, alignment);
-
-}
-
-extern "C" int IGUISkinDraw3DTabBody(int element, int border, int background, int rect, int clip, int tabHeight, int alignment)
-{
-
-	iGUISkinObj->draw3DTabBody(element, border, background, rect, clip, tabHeight, alignment);
-
-}
-
-extern "C" int IGUISkinDrawIcon(int element, int icon, int position, int starttime, int currenttime, int loop, int clip)
-{
-
-	iGUISkinObj->drawIcon(element, icon, position, starttime, currenttime, loop, clip);
-
-}
-
-extern "C" int IGUISkinDraw2DRectangle(int element, int color, int pos, int clip)
-{
-
-	iGUISkinObj->draw2DRectangle(element, color, pos, clip);
-
-}
-
-extern "C" int IGUISkinGetType()
-{
-
-	 temp = iGUISkinObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IDummyTransformationSceneNodeIDummyTransformationSceneNode(int parent, int mgr, int parent, int arg4)
-{
-
-	iDummyTransformationSceneNodeObj->IDummyTransformationSceneNode(parent, mgr, parent, arg4);
-
-}
-
-extern "C" int IDummyTransformationSceneNodeGetRelativeTransformationMatrix()
-{
-
-	 temp = iDummyTransformationSceneNodeObj->getRelativeTransformationMatrix();
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateAndOpenFile(int filename)
-{
-
-	IReadFile * temp = iFileSystemObj->createAndOpenFile(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateMemoryReadFile(int memory, int len, int fileName, int deleteMemoryWhenDropped)
-{
-
-	IReadFile * temp = iFileSystemObj->createMemoryReadFile(memory, len, fileName, deleteMemoryWhenDropped);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize)
-{
-
-	IReadFile * temp = iFileSystemObj->createLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateMemoryWriteFile(int memory, int len, int fileName, int deleteMemoryWhenDropped)
-{
-
-	IWriteFile * temp = iFileSystemObj->createMemoryWriteFile(memory, len, fileName, deleteMemoryWhenDropped);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateAndWriteFile(int filename, int append)
-{
-
-	IWriteFile * temp = iFileSystemObj->createAndWriteFile(filename, append);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemAddFileArchive(int filename, int ignoreCase, int ignorePaths, int archiveType)
-{
-
-	bool temp = iFileSystemObj->addFileArchive(filename, ignoreCase, ignorePaths, archiveType);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemAddArchiveLoader(int loader)
-{
-
-	iFileSystemObj->addArchiveLoader(loader);
-
-}
-
-extern "C" int IFileSystemGetFileArchiveCount()
-{
-
-	 temp = iFileSystemObj->getFileArchiveCount();
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemRemoveFileArchive(int index)
-{
-
-	bool temp = iFileSystemObj->removeFileArchive(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemRemoveFileArchive(int filename)
-{
-
-	bool temp = iFileSystemObj->removeFileArchive(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemMoveFileArchive(int sourceIndex, int relative)
-{
-
-	bool temp = iFileSystemObj->moveFileArchive(sourceIndex, relative);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemGetFileArchive(int index)
-{
-
-	IFileArchive * temp = iFileSystemObj->getFileArchive(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemAddZipFileArchive(char * filename, int ignoreCase, int ignorePaths)
-{
-
-	bool temp = iFileSystemObj->addZipFileArchive(filename, ignoreCase, ignorePaths);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemAddFolderFileArchive(char * filename, int ignoreCase, int ignorePaths)
-{
-
-	bool temp = iFileSystemObj->addFolderFileArchive(filename, ignoreCase, ignorePaths);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemAddPakFileArchive(char * filename, int ignoreCase, int ignorePaths)
-{
-
-	bool temp = iFileSystemObj->addPakFileArchive(filename, ignoreCase, ignorePaths);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemGetWorkingDirectory()
-{
-
-	 temp = iFileSystemObj->getWorkingDirectory();
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemChangeWorkingDirectoryTo(int newDirectory)
-{
-
-	bool temp = iFileSystemObj->changeWorkingDirectoryTo(newDirectory);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemGetAbsolutePath(int filename)
-{
-
-	 temp = iFileSystemObj->getAbsolutePath(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemGetFileDir(int filename)
-{
-
-	 temp = iFileSystemObj->getFileDir(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemGetFileBasename(int filename, int keepExtension)
-{
-
-	 temp = iFileSystemObj->getFileBasename(filename, keepExtension);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemFlattenFilename(int directory, int root)
-{
-
-	 temp = iFileSystemObj->flattenFilename(directory, root);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateFileList()
-{
-
-	IFileList * temp = iFileSystemObj->createFileList();
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemSetFileListSystem(int listType)
-{
-
-	 temp = iFileSystemObj->setFileListSystem(listType);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemExistFile(int filename)
-{
-
-	bool temp = iFileSystemObj->existFile(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateXMLReader(int filename)
-{
-
-	IXMLReader * temp = iFileSystemObj->createXMLReader(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateXMLReader(int file)
-{
-
-	IXMLReader * temp = iFileSystemObj->createXMLReader(file);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateXMLReaderUTF8(int filename)
-{
-
-	IXMLReaderUTF8 * temp = iFileSystemObj->createXMLReaderUTF8(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateXMLReaderUTF8(int file)
-{
-
-	IXMLReaderUTF8 * temp = iFileSystemObj->createXMLReaderUTF8(file);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateXMLWriter(int filename)
-{
-
-	IXMLWriter * temp = iFileSystemObj->createXMLWriter(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateXMLWriter(int file)
-{
-
-	IXMLWriter * temp = iFileSystemObj->createXMLWriter(file);
-	return (int) temp;
-
-}
-
-extern "C" int IFileSystemCreateEmptyAttributes(int driver)
-{
-
-	IAttributes * temp = iFileSystemObj->createEmptyAttributes(driver);
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetVertexBuffer()
-{
-
-	 temp = iDynamicMeshBufferObj->getVertexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetIndexBuffer()
-{
-
-	 temp = iDynamicMeshBufferObj->getIndexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferSetVertexBuffer(int vertexBuffer)
-{
-
-	iDynamicMeshBufferObj->setVertexBuffer(vertexBuffer);
-
-}
-
-extern "C" int IDynamicMeshBufferSetIndexBuffer(int indexBuffer)
-{
-
-	iDynamicMeshBufferObj->setIndexBuffer(indexBuffer);
-
-}
-
-extern "C" int IDynamicMeshBufferGetMaterial()
-{
-
-	 temp = iDynamicMeshBufferObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetMaterial()
-{
-
-	 temp = iDynamicMeshBufferObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetBoundingBox()
-{
-
-	 temp = iDynamicMeshBufferObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferSetBoundingBox(int box)
-{
-
-	iDynamicMeshBufferObj->setBoundingBox(box);
-
-}
-
-extern "C" int IDynamicMeshBufferRecalculateBoundingBox()
-{
-
-	iDynamicMeshBufferObj->recalculateBoundingBox();
-
-}
-
-extern "C" int IDynamicMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices)
-{
-
-	iDynamicMeshBufferObj->append(vertices, numVertices, indices, numIndices);
-
-}
-
-extern "C" int IDynamicMeshBufferAppend(int other)
-{
-
-	iDynamicMeshBufferObj->append(other);
-
-}
-
-extern "C" int IDynamicMeshBufferGetHardwareMappingHint_Vertex()
-{
-
-	 temp = iDynamicMeshBufferObj->getHardwareMappingHint_Vertex();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetHardwareMappingHint_Index()
-{
-
-	 temp = iDynamicMeshBufferObj->getHardwareMappingHint_Index();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferSetHardwareMappingHint(int NewMappingHint, int Buffer)
-{
-
-	iDynamicMeshBufferObj->setHardwareMappingHint(NewMappingHint, Buffer);
-
-}
-
-extern "C" int IDynamicMeshBufferSetDirty(int Buffer)
-{
-
-	iDynamicMeshBufferObj->setDirty(Buffer);
-
-}
-
-extern "C" int IDynamicMeshBufferGetChangedID_Vertex()
-{
-
-	 temp = iDynamicMeshBufferObj->getChangedID_Vertex();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetChangedID_Index()
-{
-
-	 temp = iDynamicMeshBufferObj->getChangedID_Index();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetVertexType()
-{
-
-	 temp = iDynamicMeshBufferObj->getVertexType();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetVertices()
-{
-
-	iDynamicMeshBufferObj->getVertices();
-
-}
-
-extern "C" int IDynamicMeshBufferGetVertices()
-{
-
-	iDynamicMeshBufferObj->getVertices();
-
-}
-
-extern "C" int IDynamicMeshBufferGetVertexCount()
-{
-
-	 temp = iDynamicMeshBufferObj->getVertexCount();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetIndexType()
-{
-
-	 temp = iDynamicMeshBufferObj->getIndexType();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetIndices()
-{
-
-	u16 * temp = iDynamicMeshBufferObj->getIndices();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetIndices()
-{
-
-	u16 * temp = iDynamicMeshBufferObj->getIndices();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetIndexCount()
-{
-
-	 temp = iDynamicMeshBufferObj->getIndexCount();
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetPosition(int i)
-{
-
-	 temp = iDynamicMeshBufferObj->getPosition(i);
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetPosition(int i)
-{
-
-	 temp = iDynamicMeshBufferObj->getPosition(i);
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetTCoords(int i)
-{
-
-	 temp = iDynamicMeshBufferObj->getTCoords(i);
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetTCoords(int i)
-{
-
-	 temp = iDynamicMeshBufferObj->getTCoords(i);
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetNormal(int i)
-{
-
-	 temp = iDynamicMeshBufferObj->getNormal(i);
-	return (int) temp;
-
-}
-
-extern "C" int IDynamicMeshBufferGetNormal(int i)
-{
-
-	 temp = iDynamicMeshBufferObj->getNormal(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetMaterial()
-{
-
-	 temp = iMeshBufferObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetMaterial()
-{
-
-	 temp = iMeshBufferObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetVertexType()
-{
-
-	 temp = iMeshBufferObj->getVertexType();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetVertices()
-{
-
-	iMeshBufferObj->getVertices();
-
-}
-
-extern "C" int IMeshBufferGetVertices()
-{
-
-	iMeshBufferObj->getVertices();
-
-}
-
-extern "C" int IMeshBufferGetVertexCount()
-{
-
-	 temp = iMeshBufferObj->getVertexCount();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetIndexType()
-{
-
-	 temp = iMeshBufferObj->getIndexType();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetIndices()
-{
-
-	u16 * temp = iMeshBufferObj->getIndices();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetIndices()
-{
-
-	u16 * temp = iMeshBufferObj->getIndices();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetIndexCount()
-{
-
-	 temp = iMeshBufferObj->getIndexCount();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetBoundingBox()
-{
-
-	 temp = iMeshBufferObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferSetBoundingBox(int box)
-{
-
-	iMeshBufferObj->setBoundingBox(box);
-
-}
-
-extern "C" int IMeshBufferRecalculateBoundingBox()
-{
-
-	iMeshBufferObj->recalculateBoundingBox();
-
-}
-
-extern "C" int IMeshBufferGetPosition(int i)
-{
-
-	 temp = iMeshBufferObj->getPosition(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetPosition(int i)
-{
-
-	 temp = iMeshBufferObj->getPosition(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetNormal(int i)
-{
-
-	 temp = iMeshBufferObj->getNormal(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetNormal(int i)
-{
-
-	 temp = iMeshBufferObj->getNormal(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetTCoords(int i)
-{
-
-	 temp = iMeshBufferObj->getTCoords(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetTCoords(int i)
-{
-
-	 temp = iMeshBufferObj->getTCoords(i);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices)
-{
-
-	iMeshBufferObj->append(vertices, numVertices, indices, numIndices);
-
-}
-
-extern "C" int IMeshBufferAppend(int other)
-{
-
-	iMeshBufferObj->append(other);
-
-}
-
-extern "C" int IMeshBufferGetHardwareMappingHint_Vertex()
-{
-
-	 temp = iMeshBufferObj->getHardwareMappingHint_Vertex();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetHardwareMappingHint_Index()
-{
-
-	 temp = iMeshBufferObj->getHardwareMappingHint_Index();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferSetHardwareMappingHint(int newMappingHint, int buffer)
-{
-
-	iMeshBufferObj->setHardwareMappingHint(newMappingHint, buffer);
-
-}
-
-extern "C" int IMeshBufferSetDirty(int buffer)
-{
-
-	iMeshBufferObj->setDirty(buffer);
-
-}
-
-extern "C" int IMeshBufferGetChangedID_Vertex()
-{
-
-	 temp = iMeshBufferObj->getChangedID_Vertex();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshBufferGetChangedID_Index()
-{
-
-	 temp = iMeshBufferObj->getChangedID_Index();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoModeListGetVideoModeCount()
-{
-
-	 temp = iVideoModeListObj->getVideoModeCount();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoModeListGetVideoModeResolution(int modeNumber)
-{
-
-	 temp = iVideoModeListObj->getVideoModeResolution(modeNumber);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoModeListGetVideoModeResolution(int minSize, int maxSize)
-{
-
-	 temp = iVideoModeListObj->getVideoModeResolution(minSize, maxSize);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoModeListGetVideoModeDepth(int modeNumber)
-{
-
-	 temp = iVideoModeListObj->getVideoModeDepth(modeNumber);
-	return (int) temp;
-
-}
-
-extern "C" int IVideoModeListGetDesktopResolution()
-{
-
-	 temp = iVideoModeListObj->getDesktopResolution();
-	return (int) temp;
-
-}
-
-extern "C" int IVideoModeListGetDesktopDepth()
-{
-
-	 temp = iVideoModeListObj->getDesktopDepth();
-	return (int) temp;
-
-}
-
-extern "C" int IMaterialRendererOnSetMaterial(int material, int lastMaterial, int resetAllRenderstates, int services)
-{
-
-	iMaterialRendererObj->OnSetMaterial(material, lastMaterial, resetAllRenderstates, services);
-
-}
-
-extern "C" int IMaterialRendererOnRender(int service, int vtxtype)
-{
-
-	bool temp = iMaterialRendererObj->OnRender(service, vtxtype);
-	return (int) temp;
-
-}
-
-extern "C" int IMaterialRendererOnUnsetMaterial()
-{
-
-	iMaterialRendererObj->OnUnsetMaterial();
-
-}
-
-extern "C" int IMaterialRendererIsTransparent()
-{
-
-	bool temp = iMaterialRendererObj->isTransparent();
-	return (int) temp;
-
-}
-
-extern "C" int IMaterialRendererGetRenderCapability()
-{
-
-	 temp = iMaterialRendererObj->getRenderCapability();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory()
-{
-
-	 temp = iSceneNodeAnimatorFactoryObj->ISceneNodeAnimatorFactory();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(int type, int target)
-{
-
-	ISceneNodeAnimator * temp = iSceneNodeAnimatorFactoryObj->createSceneNodeAnimator(type, target);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(char * typeName, int target)
-{
-
-	ISceneNodeAnimator * temp = iSceneNodeAnimatorFactoryObj->createSceneNodeAnimator(typeName, target);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount()
-{
-
-	 temp = iSceneNodeAnimatorFactoryObj->getCreatableSceneNodeAnimatorTypeCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(int idx)
-{
-
-	 temp = iSceneNodeAnimatorFactoryObj->getCreateableSceneNodeAnimatorType(idx);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int idx)
-{
-
-	c8 * temp = iSceneNodeAnimatorFactoryObj->getCreateableSceneNodeAnimatorTypeName(idx);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int type)
-{
-
-	c8 * temp = iSceneNodeAnimatorFactoryObj->getCreateableSceneNodeAnimatorTypeName(type);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshSceneNodeIMeshSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int arg11, int parent, int arg13, int arg14, int arg15, int arg16)
-{
-
-	iMeshSceneNodeObj->IMeshSceneNode(parent, mgr, id, position, arg5, rotation, arg8, scale, arg11, parent, arg13, arg14, arg15, arg16);
-
-}
-
-extern "C" int IMeshSceneNodeSetMesh(int mesh)
-{
-
-	iMeshSceneNodeObj->setMesh(mesh);
-
-}
-
-extern "C" int IMeshSceneNodeGetMesh()
-{
-
-	IMesh * temp = iMeshSceneNodeObj->getMesh();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshSceneNodeSetReadOnlyMaterials(int readonly)
-{
-
-	iMeshSceneNodeObj->setReadOnlyMaterials(readonly);
-
-}
-
-extern "C" int IMeshSceneNodeIsReadOnlyMaterials()
-{
-
-	bool temp = iMeshSceneNodeObj->isReadOnlyMaterials();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraMayaGetMoveSpeed()
-{
-
-	 temp = iSceneNodeAnimatorCameraMayaObj->getMoveSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraMayaSetMoveSpeed(int moveSpeed)
-{
-
-	iSceneNodeAnimatorCameraMayaObj->setMoveSpeed(moveSpeed);
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraMayaGetRotateSpeed()
-{
-
-	 temp = iSceneNodeAnimatorCameraMayaObj->getRotateSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraMayaSetRotateSpeed(int rotateSpeed)
-{
-
-	iSceneNodeAnimatorCameraMayaObj->setRotateSpeed(rotateSpeed);
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraMayaGetZoomSpeed()
-{
-
-	 temp = iSceneNodeAnimatorCameraMayaObj->getZoomSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraMayaSetZoomSpeed(int zoomSpeed)
-{
-
-	iSceneNodeAnimatorCameraMayaObj->setZoomSpeed(zoomSpeed);
-
-}
-
-extern "C" int ILoggerILogger()
-{
-
-	 temp = iLoggerObj->ILogger();
-	return (int) temp;
-
-}
-
-extern "C" int ILoggerGetLogLevel()
-{
-
-	 temp = iLoggerObj->getLogLevel();
-	return (int) temp;
-
-}
-
-extern "C" int ILoggerSetLogLevel(int ll)
-{
-
-	iLoggerObj->setLogLevel(ll);
-
-}
-
-extern "C" int ILoggerLog(char * text, int ll)
-{
-
-	iLoggerObj->log(text, ll);
-
-}
-
-extern "C" int ILoggerLog(char * text, char * hint, int ll)
-{
-
-	iLoggerObj->log(text, hint, ll);
-
-}
-
-extern "C" int ILoggerLog(char * text, char * hint, int ll)
-{
-
-	iLoggerObj->log(text, hint, ll);
-
-}
-
-extern "C" int ILoggerLog(char * text, char * hint, int ll)
-{
-
-	iLoggerObj->log(text, hint, ll);
-
-}
-
-extern "C" int ILoggerLog(char * text, int ll)
-{
-
-	iLoggerObj->log(text, ll);
-
-}
-
-extern "C" int IAnimatedMeshMD3SetInterpolationShift(int shift, int loopMode)
-{
-
-	iAnimatedMeshMD3Obj->setInterpolationShift(shift, loopMode);
-
-}
-
-extern "C" int IAnimatedMeshMD3GetTagList(int frame, int detailLevel, int startFrameLoop, int endFrameLoop)
-{
-
-	SMD3QuaternionTagList * temp = iAnimatedMeshMD3Obj->getTagList(frame, detailLevel, startFrameLoop, endFrameLoop);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshMD3GetOriginalMesh()
-{
-
-	SMD3Mesh * temp = iAnimatedMeshMD3Obj->getOriginalMesh();
-	return (int) temp;
-
-}
-
-extern "C" int IReferenceCountedIReferenceCounted(int ), int 1)
-{
-
-	iReferenceCountedObj->IReferenceCounted(), 1);
-
-}
-
-extern "C" int IReferenceCountedIReferenceCounted()
-{
-
-	 temp = iReferenceCountedObj->IReferenceCounted();
-	return (int) temp;
-
-}
-
-extern "C" int IReferenceCountedGrab()
-{
-
-	iReferenceCountedObj->grab();
-
-}
-
-extern "C" int IReferenceCountedDrop()
-{
-
-	bool temp = iReferenceCountedObj->drop();
-	return (int) temp;
-
-}
-
-extern "C" int IReferenceCounted_IRR_DEBUG_BREAK_IF(int <)
-{
-
-	iReferenceCountedObj->_IRR_DEBUG_BREAK_IF(<);
-
-}
-
-extern "C" int IReferenceCountedGetReferenceCount()
-{
-
-	 temp = iReferenceCountedObj->getReferenceCount();
-	return (int) temp;
-
-}
-
-extern "C" int IReferenceCountedGetDebugName()
-{
-
-	c8 * temp = iReferenceCountedObj->getDebugName();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleMeshEmitterSetMesh(int mesh)
-{
-
-	iParticleMeshEmitterObj->setMesh(mesh);
-
-}
-
-extern "C" int IParticleMeshEmitterSetUseNormalDirection(int useNormalDirection)
-{
-
-	iParticleMeshEmitterObj->setUseNormalDirection(useNormalDirection);
-
-}
-
-extern "C" int IParticleMeshEmitterSetNormalDirectionModifier(int normalDirectionModifier)
-{
-
-	iParticleMeshEmitterObj->setNormalDirectionModifier(normalDirectionModifier);
-
-}
-
-extern "C" int IParticleMeshEmitterSetEveryMeshVertex(int everyMeshVertex)
-{
-
-	iParticleMeshEmitterObj->setEveryMeshVertex(everyMeshVertex);
-
-}
-
-extern "C" int IParticleMeshEmitterGetMesh()
-{
-
-	IMesh * temp = iParticleMeshEmitterObj->getMesh();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleMeshEmitterIsUsingNormalDirection()
-{
-
-	bool temp = iParticleMeshEmitterObj->isUsingNormalDirection();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleMeshEmitterGetNormalDirectionModifier()
-{
-
-	 temp = iParticleMeshEmitterObj->getNormalDirectionModifier();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleMeshEmitterGetEveryMeshVertex()
-{
-
-	bool temp = iParticleMeshEmitterObj->getEveryMeshVertex();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleMeshEmitterGetType()
-{
-
-	 temp = iParticleMeshEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ICollisionCallbackOnCollision(int animator)
-{
-
-	bool temp = iCollisionCallbackObj->onCollision(animator);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->ISceneNodeAnimatorCollisionResponse();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseIsFalling()
-{
-
-	bool temp = iSceneNodeAnimatorCollisionResponseObj->isFalling();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(int radius)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setEllipsoidRadius(radius);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->getEllipsoidRadius();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetGravity(int gravity)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setGravity(gravity);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetGravity()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->getGravity();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseJump(int jumpSpeed)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->jump(jumpSpeed);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetAnimateTarget(int enable)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setAnimateTarget(enable);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetAnimateTarget()
-{
-
-	bool temp = iSceneNodeAnimatorCollisionResponseObj->getAnimateTarget();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(int translation)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setEllipsoidTranslation(translation);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->getEllipsoidTranslation();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetWorld(int newWorld)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setWorld(newWorld);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetWorld()
-{
-
-	ITriangleSelector * temp = iSceneNodeAnimatorCollisionResponseObj->getWorld();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetTargetNode(int node)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setTargetNode(node);
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetTargetNode()
-{
-
-	ISceneNode * temp = iSceneNodeAnimatorCollisionResponseObj->getTargetNode();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseCollisionOccurred()
-{
-
-	bool temp = iSceneNodeAnimatorCollisionResponseObj->collisionOccurred();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionPoint()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->getCollisionPoint();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionTriangle()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->getCollisionTriangle();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition()
-{
-
-	 temp = iSceneNodeAnimatorCollisionResponseObj->getCollisionResultPosition();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionNode()
-{
-
-	ISceneNode * temp = iSceneNodeAnimatorCollisionResponseObj->getCollisionNode();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCollisionResponseSetCollisionCallback(int callback)
-{
-
-	iSceneNodeAnimatorCollisionResponseObj->setCollisionCallback(callback);
-
-}
-
-extern "C" int CDynamicMeshBufferCDynamicMeshBuffer(int vertexType, int indexType)
-{
-
-	cDynamicMeshBufferObj->CDynamicMeshBuffer(vertexType, indexType);
-
-}
-
-extern "C" int CDynamicMeshBufferCVertexBuffer()
-{
-
-	 temp = cDynamicMeshBufferObj->CVertexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferCIndexBuffer()
-{
-
-	 temp = cDynamicMeshBufferObj->CIndexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferCDynamicMeshBuffer()
-{
-
-	 temp = cDynamicMeshBufferObj->CDynamicMeshBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferGetVertexBuffer()
-{
-
-	 temp = cDynamicMeshBufferObj->getVertexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferGetIndexBuffer()
-{
-
-	 temp = cDynamicMeshBufferObj->getIndexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferSetVertexBuffer(int newVertexBuffer)
-{
-
-	cDynamicMeshBufferObj->setVertexBuffer(newVertexBuffer);
-
-}
-
-extern "C" int CDynamicMeshBufferSetIndexBuffer(int newIndexBuffer)
-{
-
-	cDynamicMeshBufferObj->setIndexBuffer(newIndexBuffer);
-
-}
-
-extern "C" int CDynamicMeshBufferGetMaterial()
-{
-
-	 temp = cDynamicMeshBufferObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferGetMaterial()
-{
-
-	 temp = cDynamicMeshBufferObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferGetBoundingBox()
-{
-
-	 temp = cDynamicMeshBufferObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferSetBoundingBox(int box)
-{
-
-	cDynamicMeshBufferObj->setBoundingBox(box);
-
-}
-
-extern "C" int CDynamicMeshBufferRecalculateBoundingBox()
-{
-
-	cDynamicMeshBufferObj->recalculateBoundingBox();
-
-}
-
-extern "C" int CDynamicMeshBufferReset(int Pos)
-{
-
-	 temp = cDynamicMeshBufferObj->reset(Pos);
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBuffer<getVertexBuffer(int ()
-{
-
-	 temp = cDynamicMeshBufferObj-><getVertexBuffer(();
-	return (int) temp;
-
-}
-
-extern "C" int CDynamicMeshBufferAddInternalPoint(int Pos)
-{
-
-	 temp = cDynamicMeshBufferObj->addInternalPoint(Pos);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontBitmapGetType()
-{
-
-	 temp = iGUIFontBitmapObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontBitmapGetSpriteBank()
-{
-
-	IGUISpriteBank * temp = iGUIFontBitmapObj->getSpriteBank();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontBitmapGetSpriteNoFromChar(char * c)
-{
-
-	 temp = iGUIFontBitmapObj->getSpriteNoFromChar(c);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontBitmapGetKerningWidth(char * thisLetter, char * previousLetter)
-{
-
-	 temp = iGUIFontBitmapObj->getKerningWidth(thisLetter, previousLetter);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIInOutFaderIGUIInOutFader(int environment, int parent, int id, int EGUIET_IN_OUT_FADER, int arg5, int arg6, int arg7)
-{
-
-	iGUIInOutFaderObj->IGUIInOutFader(environment, parent, id, EGUIET_IN_OUT_FADER, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIInOutFaderGetColor()
-{
-
-	 temp = iGUIInOutFaderObj->getColor();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIInOutFaderSetColor(int color)
-{
-
-	iGUIInOutFaderObj->setColor(color);
-
-}
-
-extern "C" int IGUIInOutFaderSetColor(int source, int dest)
-{
-
-	iGUIInOutFaderObj->setColor(source, dest);
-
-}
-
-extern "C" int IGUIInOutFaderFadeIn(int time)
-{
-
-	iGUIInOutFaderObj->fadeIn(time);
-
-}
-
-extern "C" int IGUIInOutFaderFadeOut(int time)
-{
-
-	iGUIInOutFaderObj->fadeOut(time);
-
-}
-
-extern "C" int IGUIInOutFaderIsReady()
-{
-
-	bool temp = iGUIInOutFaderObj->isReady();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpinBoxIGUISpinBox(int environment, int parent, int id, int EGUIET_SPIN_BOX, int arg5, int arg6, int arg7)
-{
-
-	iGUISpinBoxObj->IGUISpinBox(environment, parent, id, EGUIET_SPIN_BOX, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUISpinBoxGetEditBox()
-{
-
-	IGUIEditBox * temp = iGUISpinBoxObj->getEditBox();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpinBoxSetValue(int val)
-{
-
-	iGUISpinBoxObj->setValue(val);
-
-}
-
-extern "C" int IGUISpinBoxGetValue()
-{
-
-	 temp = iGUISpinBoxObj->getValue();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpinBoxSetRange(int min, int max)
-{
-
-	iGUISpinBoxObj->setRange(min, max);
-
-}
-
-extern "C" int IGUISpinBoxGetMin()
-{
-
-	 temp = iGUISpinBoxObj->getMin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpinBoxGetMax()
-{
-
-	 temp = iGUISpinBoxObj->getMax();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpinBoxSetStepSize(int step)
-{
-
-	iGUISpinBoxObj->setStepSize(step);
-
-}
-
-extern "C" int IGUISpinBoxSetDecimalPlaces(int places)
-{
-
-	iGUISpinBoxObj->setDecimalPlaces(places);
-
-}
-
-extern "C" int IGUISpinBoxGetStepSize()
-{
-
-	 temp = iGUISpinBoxObj->getStepSize();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeICameraSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16, int false)
-{
-
-	iCameraSceneNodeObj->ICameraSceneNode(parent, mgr, id, position, arg5, rotation, arg8, scale, 0f, parent, arg13, arg14, arg15, arg16, false);
-
-}
-
-extern "C" int ICameraSceneNodeSetProjectionMatrix(int projection, int isOrthogonal)
-{
-
-	iCameraSceneNodeObj->setProjectionMatrix(projection, isOrthogonal);
-
-}
-
-extern "C" int ICameraSceneNodeGetProjectionMatrix()
-{
-
-	 temp = iCameraSceneNodeObj->getProjectionMatrix();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeGetViewMatrix()
-{
-
-	 temp = iCameraSceneNodeObj->getViewMatrix();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeSetViewMatrixAffector(int affector)
-{
-
-	iCameraSceneNodeObj->setViewMatrixAffector(affector);
-
-}
-
-extern "C" int ICameraSceneNodeGetViewMatrixAffector()
-{
-
-	 temp = iCameraSceneNodeObj->getViewMatrixAffector();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeOnEvent(int event)
-{
-
-	bool temp = iCameraSceneNodeObj->OnEvent(event);
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeSetTarget(int pos)
-{
-
-	iCameraSceneNodeObj->setTarget(pos);
-
-}
-
-extern "C" int ICameraSceneNodeSetRotation(int rotation)
-{
-
-	iCameraSceneNodeObj->setRotation(rotation);
-
-}
-
-extern "C" int ICameraSceneNodeGetTarget()
-{
-
-	 temp = iCameraSceneNodeObj->getTarget();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeSetUpVector(int pos)
-{
-
-	iCameraSceneNodeObj->setUpVector(pos);
-
-}
-
-extern "C" int ICameraSceneNodeGetUpVector()
-{
-
-	 temp = iCameraSceneNodeObj->getUpVector();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeGetNearValue()
-{
-
-	 temp = iCameraSceneNodeObj->getNearValue();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeGetFarValue()
-{
-
-	 temp = iCameraSceneNodeObj->getFarValue();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeGetAspectRatio()
-{
-
-	 temp = iCameraSceneNodeObj->getAspectRatio();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeGetFOV()
-{
-
-	 temp = iCameraSceneNodeObj->getFOV();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeSetNearValue(int zn)
-{
-
-	iCameraSceneNodeObj->setNearValue(zn);
-
-}
-
-extern "C" int ICameraSceneNodeSetFarValue(int zf)
-{
-
-	iCameraSceneNodeObj->setFarValue(zf);
-
-}
-
-extern "C" int ICameraSceneNodeSetAspectRatio(int aspect)
-{
-
-	iCameraSceneNodeObj->setAspectRatio(aspect);
-
-}
-
-extern "C" int ICameraSceneNodeSetFOV(int fovy)
-{
-
-	iCameraSceneNodeObj->setFOV(fovy);
-
-}
-
-extern "C" int ICameraSceneNodeGetViewFrustum()
-{
-
-	SViewFrustum * temp = iCameraSceneNodeObj->getViewFrustum();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeSetInputReceiverEnabled(int enabled)
-{
-
-	iCameraSceneNodeObj->setInputReceiverEnabled(enabled);
-
-}
-
-extern "C" int ICameraSceneNodeIsInputReceiverEnabled()
-{
-
-	bool temp = iCameraSceneNodeObj->isInputReceiverEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeIsOrthogonal()
-{
-
-	bool temp = iCameraSceneNodeObj->isOrthogonal();
-	return (int) temp;
-
-}
-
-extern "C" int ICameraSceneNodeBindTargetAndRotation(int bound)
-{
-
-	iCameraSceneNodeObj->bindTargetAndRotation(bound);
-
-}
-
-extern "C" int ICameraSceneNodeGetTargetAndRotationBinding()
-{
-
-	bool temp = iCameraSceneNodeObj->getTargetAndRotationBinding();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRingEmitterSetCenter(int center)
-{
-
-	iParticleRingEmitterObj->setCenter(center);
-
-}
-
-extern "C" int IParticleRingEmitterSetRadius(int radius)
-{
-
-	iParticleRingEmitterObj->setRadius(radius);
-
-}
-
-extern "C" int IParticleRingEmitterSetRingThickness(int ringThickness)
-{
-
-	iParticleRingEmitterObj->setRingThickness(ringThickness);
-
-}
-
-extern "C" int IParticleRingEmitterGetCenter()
-{
-
-	 temp = iParticleRingEmitterObj->getCenter();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRingEmitterGetRadius()
-{
-
-	 temp = iParticleRingEmitterObj->getRadius();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRingEmitterGetRingThickness()
-{
-
-	 temp = iParticleRingEmitterObj->getRingThickness();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRingEmitterGetType()
-{
-
-	 temp = iParticleRingEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSphereEmitterSetCenter(int center)
-{
-
-	iParticleSphereEmitterObj->setCenter(center);
-
-}
-
-extern "C" int IParticleSphereEmitterSetRadius(int radius)
-{
-
-	iParticleSphereEmitterObj->setRadius(radius);
-
-}
-
-extern "C" int IParticleSphereEmitterGetCenter()
-{
-
-	 temp = iParticleSphereEmitterObj->getCenter();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSphereEmitterGetRadius()
-{
-
-	 temp = iParticleSphereEmitterObj->getRadius();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSphereEmitterGetType()
-{
-
-	 temp = iParticleSphereEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerISceneManager()
-{
-
-	 temp = iSceneManagerObj->ISceneManager();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetMesh(int filename)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->getMesh(filename);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetMesh(int file)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->getMesh(file);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetMeshCache()
-{
-
-	IMeshCache * temp = iSceneManagerObj->getMeshCache();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetVideoDriver()
-{
-
-	IVideoDriver * temp = iSceneManagerObj->getVideoDriver();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetGUIEnvironment()
-{
-
-	IGUIEnvironment * temp = iSceneManagerObj->getGUIEnvironment();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetFileSystem()
-{
-
-	IFileSystem * temp = iSceneManagerObj->getFileSystem();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddVolumeLightSceneNode(int parent, int id, int subdivU, int subdivV, int foot, int arg6, int arg7, int tail, int arg10, int arg11, int position, int arg14, int rotation, int arg17, int scale, int 0f)
-{
-
-	IVolumeLightSceneNode * temp = iSceneManagerObj->addVolumeLightSceneNode(parent, id, subdivU, subdivV, foot, arg6, arg7, tail, arg10, arg11, position, arg14, rotation, arg17, scale, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddCubeSceneNode(int size, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f)
-{
-
-	IMeshSceneNode * temp = iSceneManagerObj->addCubeSceneNode(size, parent, id, position, arg5, rotation, arg8, scale, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddSphereSceneNode(int radius, int polyCount, int parent, int id, int position, int arg6, int rotation, int arg9, int scale, int 0f)
-{
-
-	IMeshSceneNode * temp = iSceneManagerObj->addSphereSceneNode(radius, polyCount, parent, id, position, arg6, rotation, arg9, scale, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddAnimatedMeshSceneNode(int mesh, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int alsoAddIfMeshPointerZero)
-{
-
-	IAnimatedMeshSceneNode * temp = iSceneManagerObj->addAnimatedMeshSceneNode(mesh, parent, id, position, arg5, rotation, arg8, scale, 0f, alsoAddIfMeshPointerZero);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddMeshSceneNode(int mesh, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int alsoAddIfMeshPointerZero)
-{
-
-	IMeshSceneNode * temp = iSceneManagerObj->addMeshSceneNode(mesh, parent, id, position, arg5, rotation, arg8, scale, 0f, alsoAddIfMeshPointerZero);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddWaterSurfaceSceneNode(int mesh, int waveHeight, int waveSpeed, int waveLength, int parent, int id, int position, int arg8, int rotation, int arg11, int scale, int 0f)
-{
-
-	ISceneNode * temp = iSceneManagerObj->addWaterSurfaceSceneNode(mesh, waveHeight, waveSpeed, waveLength, parent, id, position, arg8, rotation, arg11, scale, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
-{
-
-	IMeshSceneNode * temp = iSceneManagerObj->addOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
-{
-
-	IMeshSceneNode * temp = iSceneManagerObj->addOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddCameraSceneNode(int parent, int position, int arg3, int lookat, int arg6, int id)
-{
-
-	ICameraSceneNode * temp = iSceneManagerObj->addCameraSceneNode(parent, position, arg3, lookat, arg6, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddCameraSceneNodeMaya(int parent, int rotateSpeed, int zoomSpeed, int translationSpeed, int id)
-{
-
-	ICameraSceneNode * temp = iSceneManagerObj->addCameraSceneNodeMaya(parent, rotateSpeed, zoomSpeed, translationSpeed, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddCameraSceneNodeFPS(int parent, int rotateSpeed, int moveSpeed, int id, int keyMapArray, int keyMapSize, int noVerticalMovement, int jumpSpeed, int invertMouse)
-{
-
-	ICameraSceneNode * temp = iSceneManagerObj->addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, keyMapArray, keyMapSize, noVerticalMovement, jumpSpeed, invertMouse);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddLightSceneNode(int parent, int position, int arg3, int color, int 0f, int radius, int id)
-{
-
-	ILightSceneNode * temp = iSceneManagerObj->addLightSceneNode(parent, position, arg3, color, 0f, radius, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddBillboardSceneNode(int parent, int size, int position, int arg5, int id, int colorTop, int colorBottom)
-{
-
-	IBillboardSceneNode * temp = iSceneManagerObj->addBillboardSceneNode(parent, size, position, arg5, id, colorTop, colorBottom);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddSkyBoxSceneNode(int top, int bottom, int left, int right, int front, int back, int parent, int id)
-{
-
-	ISceneNode * temp = iSceneManagerObj->addSkyBoxSceneNode(top, bottom, left, right, front, back, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddSkyDomeSceneNode(int texture, int horiRes, int vertRes, int texturePercentage, int spherePercentage, int radius, int parent, int id)
-{
-
-	ISceneNode * temp = iSceneManagerObj->addSkyDomeSceneNode(texture, horiRes, vertRes, texturePercentage, spherePercentage, radius, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddParticleSystemSceneNode(int withDefaultEmitter, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f)
-{
-
-	IParticleSystemSceneNode * temp = iSceneManagerObj->addParticleSystemSceneNode(withDefaultEmitter, parent, id, position, arg5, rotation, arg8, scale, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddTerrainSceneNode(int heightMapFileName, int parent, int id, int position, int 0f, int rotation, int 0f, int scale, int 0f, int vertexColor, int arg14, int arg15, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty)
-{
-
-	ITerrainSceneNode * temp = iSceneManagerObj->addTerrainSceneNode(heightMapFileName, parent, id, position, 0f, rotation, 0f, scale, 0f, vertexColor, arg14, arg15, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddTerrainSceneNode(int heightMapFile, int parent, int id, int position, int 0f, int rotation, int 0f, int scale, int 0f, int vertexColor, int arg14, int arg15, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty)
-{
-
-	ITerrainSceneNode * temp = iSceneManagerObj->addTerrainSceneNode(heightMapFile, parent, id, position, 0f, rotation, 0f, scale, 0f, vertexColor, arg14, arg15, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddQuake3SceneNode(int meshBuffer, int shader, int parent, int id)
-{
-
-	IMeshSceneNode * temp = iSceneManagerObj->addQuake3SceneNode(meshBuffer, shader, parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddEmptySceneNode(int parent, int id)
-{
-
-	ISceneNode * temp = iSceneManagerObj->addEmptySceneNode(parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddDummyTransformationSceneNode(int parent, int id)
-{
-
-	IDummyTransformationSceneNode * temp = iSceneManagerObj->addDummyTransformationSceneNode(parent, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddTextSceneNode(int font, char * text, int color, int arg4, int arg5, int parent, int position, int arg9, int id)
-{
-
-	ITextSceneNode * temp = iSceneManagerObj->addTextSceneNode(font, text, color, arg4, arg5, parent, position, arg9, id);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddBillboardTextSceneNode(int font, char * text, int parent, int size, int position, int arg7, int id, int colorTop, int colorBottom)
-{
-
-	IBillboardTextSceneNode * temp = iSceneManagerObj->addBillboardTextSceneNode(font, text, parent, size, position, arg7, id, colorTop, colorBottom);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddHillPlaneMesh(int name, int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->addHillPlaneMesh(name, tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddTerrainMesh(int meshname, int texture, int heightmap, int stretchSize, int maxHeight, int defaultVertexBlockSize)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->addTerrainMesh(meshname, texture, heightmap, stretchSize, maxHeight, defaultVertexBlockSize);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddArrowMesh(int name, int vtxColor0, int vtxColor1, int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int width0, int width1)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->addArrowMesh(name, vtxColor0, vtxColor1, tesselationCylinder, tesselationCone, height, cylinderHeight, width0, width1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddSphereMesh(int name, int radius, int polyCountX, int polyCountY)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->addSphereMesh(name, radius, polyCountX, polyCountY);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddVolumeLightMesh(int name, int SubdivideU, int SubdivideV, int FootColor, int arg5, int arg6, int TailColor, int arg9, int arg10)
-{
-
-	IAnimatedMesh * temp = iSceneManagerObj->addVolumeLightMesh(name, SubdivideU, SubdivideV, FootColor, arg5, arg6, TailColor, arg9, arg10);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetRootSceneNode()
-{
-
-	ISceneNode * temp = iSceneManagerObj->getRootSceneNode();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeFromId(int id, int start)
-{
-
-	ISceneNode * temp = iSceneManagerObj->getSceneNodeFromId(id, start);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeFromName(char * name, int start)
-{
-
-	ISceneNode * temp = iSceneManagerObj->getSceneNodeFromName(name, start);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeFromType(int type, int start)
-{
-
-	ISceneNode * temp = iSceneManagerObj->getSceneNodeFromType(type, start);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodesFromType(int type, int outNodes, int start)
-{
-
-	iSceneManagerObj->getSceneNodesFromType(type, outNodes, start);
-
-}
-
-extern "C" int ISceneManagerGetActiveCamera()
-{
-
-	ICameraSceneNode * temp = iSceneManagerObj->getActiveCamera();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerSetActiveCamera(int camera)
-{
-
-	iSceneManagerObj->setActiveCamera(camera);
-
-}
-
-extern "C" int ISceneManagerSetShadowColor(int color, int arg2, int arg3)
-{
-
-	iSceneManagerObj->setShadowColor(color, arg2, arg3);
-
-}
-
-extern "C" int ISceneManagerGetShadowColor()
-{
-
-	 temp = iSceneManagerObj->getShadowColor();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerRegisterNodeForRendering(int node, int pass)
-{
-
-	 temp = iSceneManagerObj->registerNodeForRendering(node, pass);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerDrawAll()
-{
-
-	iSceneManagerObj->drawAll();
-
-}
-
-extern "C" int ISceneManagerCreateRotationAnimator(int rotationSpeed)
-{
-
-	ISceneNodeAnimator * temp = iSceneManagerObj->createRotationAnimator(rotationSpeed);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateFlyCircleAnimator(int center, int f, int radius, int speed, int direction, int f, int startPosition, int radiusEllipsoid)
-{
-
-	ISceneNodeAnimator * temp = iSceneManagerObj->createFlyCircleAnimator(center, f, radius, speed, direction, f, startPosition, radiusEllipsoid);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateFlyStraightAnimator(int startPoint, int endPoint, int timeForWay, int loop, int pingpong)
-{
-
-	ISceneNodeAnimator * temp = iSceneManagerObj->createFlyStraightAnimator(startPoint, endPoint, timeForWay, loop, pingpong);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateTextureAnimator(int textures, int timePerFrame, int loop)
-{
-
-	ISceneNodeAnimator * temp = iSceneManagerObj->createTextureAnimator(textures, timePerFrame, loop);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateDeleteAnimator(int timeMs)
-{
-
-	ISceneNodeAnimator * temp = iSceneManagerObj->createDeleteAnimator(timeMs);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateCollisionResponseAnimator(int world, int sceneNode, int ellipsoidRadius, int arg4, int gravityPerSecond, int 0f, int ellipsoidTranslation, int arg10, int slidingValue)
-{
-
-	ISceneNodeAnimatorCollisionResponse * temp = iSceneManagerObj->createCollisionResponseAnimator(world, sceneNode, ellipsoidRadius, arg4, gravityPerSecond, 0f, ellipsoidTranslation, arg10, slidingValue);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateFollowSplineAnimator(int startTime, int points, int speed, int tightness)
-{
-
-	ISceneNodeAnimator * temp = iSceneManagerObj->createFollowSplineAnimator(startTime, points, speed, tightness);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateTriangleSelector(int mesh, int node)
-{
-
-	ITriangleSelector * temp = iSceneManagerObj->createTriangleSelector(mesh, node);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateTriangleSelector(int node)
-{
-
-	ITriangleSelector * temp = iSceneManagerObj->createTriangleSelector(node);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateTriangleSelectorFromBoundingBox(int node)
-{
-
-	ITriangleSelector * temp = iSceneManagerObj->createTriangleSelectorFromBoundingBox(node);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateOctTreeTriangleSelector(int mesh, int node, int minimalPolysPerNode)
-{
-
-	ITriangleSelector * temp = iSceneManagerObj->createOctTreeTriangleSelector(mesh, node, minimalPolysPerNode);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateMetaTriangleSelector()
-{
-
-	IMetaTriangleSelector * temp = iSceneManagerObj->createMetaTriangleSelector();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateTerrainTriangleSelector(int node, int LOD)
-{
-
-	ITriangleSelector * temp = iSceneManagerObj->createTerrainTriangleSelector(node, LOD);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddExternalMeshLoader(int externalLoader)
-{
-
-	iSceneManagerObj->addExternalMeshLoader(externalLoader);
-
-}
-
-extern "C" int ISceneManagerGetSceneCollisionManager()
-{
-
-	ISceneCollisionManager * temp = iSceneManagerObj->getSceneCollisionManager();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetMeshManipulator()
-{
-
-	IMeshManipulator * temp = iSceneManagerObj->getMeshManipulator();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddToDeletionQueue(int node)
-{
-
-	iSceneManagerObj->addToDeletionQueue(node);
-
-}
-
-extern "C" int ISceneManagerPostEventFromUser(int event)
-{
-
-	bool temp = iSceneManagerObj->postEventFromUser(event);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerClear()
-{
-
-	iSceneManagerObj->clear();
-
-}
-
-extern "C" int ISceneManagerGetParameters()
-{
-
-	IAttributes * temp = iSceneManagerObj->getParameters();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeRenderPass()
-{
-
-	 temp = iSceneManagerObj->getSceneNodeRenderPass();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetDefaultSceneNodeFactory()
-{
-
-	ISceneNodeFactory * temp = iSceneManagerObj->getDefaultSceneNodeFactory();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerRegisterSceneNodeFactory(int factoryToAdd)
-{
-
-	iSceneManagerObj->registerSceneNodeFactory(factoryToAdd);
-
-}
-
-extern "C" int ISceneManagerGetRegisteredSceneNodeFactoryCount()
-{
-
-	 temp = iSceneManagerObj->getRegisteredSceneNodeFactoryCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeFactory(int index)
-{
-
-	ISceneNodeFactory * temp = iSceneManagerObj->getSceneNodeFactory(index);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetDefaultSceneNodeAnimatorFactory()
-{
-
-	ISceneNodeAnimatorFactory * temp = iSceneManagerObj->getDefaultSceneNodeAnimatorFactory();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerRegisterSceneNodeAnimatorFactory(int factoryToAdd)
-{
-
-	iSceneManagerObj->registerSceneNodeAnimatorFactory(factoryToAdd);
-
-}
-
-extern "C" int ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount()
-{
-
-	 temp = iSceneManagerObj->getRegisteredSceneNodeAnimatorFactoryCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeAnimatorFactory(int index)
-{
-
-	ISceneNodeAnimatorFactory * temp = iSceneManagerObj->getSceneNodeAnimatorFactory(index);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetSceneNodeTypeName(int type)
-{
-
-	c8 * temp = iSceneManagerObj->getSceneNodeTypeName(type);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerGetAnimatorTypeName(int type)
-{
-
-	c8 * temp = iSceneManagerObj->getAnimatorTypeName(type);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerAddSceneNode(int sceneNodeTypeName, int parent)
-{
-
-	ISceneNode * temp = iSceneManagerObj->addSceneNode(sceneNodeTypeName, parent);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateNewSceneManager(int cloneContent)
-{
-
-	ISceneManager * temp = iSceneManagerObj->createNewSceneManager(cloneContent);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerSaveScene(int filename, int userDataSerializer)
-{
-
-	bool temp = iSceneManagerObj->saveScene(filename, userDataSerializer);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerSaveScene(int file, int userDataSerializer)
-{
-
-	bool temp = iSceneManagerObj->saveScene(file, userDataSerializer);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerLoadScene(int filename, int userDataSerializer)
-{
-
-	bool temp = iSceneManagerObj->loadScene(filename, userDataSerializer);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerLoadScene(int file, int userDataSerializer)
-{
-
-	bool temp = iSceneManagerObj->loadScene(file, userDataSerializer);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateMeshWriter(int type)
-{
-
-	IMeshWriter * temp = iSceneManagerObj->createMeshWriter(type);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerCreateSkinnedMesh()
-{
-
-	ISkinnedMesh * temp = iSceneManagerObj->createSkinnedMesh();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerSetAmbientLight(int ambientColor)
-{
-
-	iSceneManagerObj->setAmbientLight(ambientColor);
-
-}
-
-extern "C" int ISceneManagerGetAmbientLight()
-{
-
-	 temp = iSceneManagerObj->getAmbientLight();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerSetLightManager(int lightManager)
-{
-
-	iSceneManagerObj->setLightManager(lightManager);
-
-}
-
-extern "C" int ISceneManagerGetGeometryCreator()
-{
-
-	IGeometryCreator * temp = iSceneManagerObj->getGeometryCreator();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneManagerIsCulled(int node)
-{
-
-	bool temp = iSceneManagerObj->isCulled(node);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeISceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int false)
-{
-
-	iSceneNodeObj->ISceneNode(parent, mgr, id, position, arg5, rotation, arg8, scale, 0f, false);
-
-}
-
-extern "C" int ISceneNodeUpdateAbsolutePosition()
-{
-
-	iSceneNodeObj->updateAbsolutePosition();
-
-}
-
-extern "C" int ISceneNodeISceneNode()
-{
-
-	 temp = iSceneNodeObj->ISceneNode();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemoveAll()
-{
-
-	iSceneNodeObj->removeAll();
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNode)(int ()
-{
-
-	 temp = iSceneNodeObj->)(();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeOnRegisterSceneNode()
-{
-
-	iSceneNodeObj->OnRegisterSceneNode();
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNode)(int ()
-{
-
-	 temp = iSceneNodeObj->)(();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeOnAnimate(int timeMs)
-{
-
-	iSceneNodeObj->OnAnimate(timeMs);
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeWhile(int ait)
-{
-
-	iSceneNodeObj->while(ait);
-
-}
-
-extern "C" int ISceneNodeAnimateNode(int arg1)
-{
-
-	 temp = iSceneNodeObj->animateNode(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeUpdateAbsolutePosition()
-{
-
-	iSceneNodeObj->updateAbsolutePosition();
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNode)(int timeMs)
-{
-
-	 temp = iSceneNodeObj->)(timeMs);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRender()
-{
-
-	iSceneNodeObj->render();
-
-}
-
-extern "C" int ISceneNodeGetName()
-{
-
-	c8 * temp = iSceneNodeObj->getName();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetName(char * name)
-{
-
-	iSceneNodeObj->setName(name);
-
-}
-
-extern "C" int ISceneNodeSetName(int name)
-{
-
-	iSceneNodeObj->setName(name);
-
-}
-
-extern "C" int ISceneNodeGetBoundingBox()
-{
-
-	 temp = iSceneNodeObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetTransformedBoundingBox()
-{
-
-	 temp = iSceneNodeObj->getTransformedBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetBoundingBox()
-{
-
-	 temp = iSceneNodeObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeTransformBoxEx()
-{
-
-	 temp = iSceneNodeObj->transformBoxEx();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetAbsoluteTransformation()
-{
-
-	 temp = iSceneNodeObj->getAbsoluteTransformation();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetRelativeTransformation()
-{
-
-	 temp = iSceneNodeObj->getRelativeTransformation();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetRotationDegrees()
-{
-
-	 temp = iSceneNodeObj->setRotationDegrees();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetTranslation()
-{
-
-	 temp = iSceneNodeObj->setTranslation();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetScale()
-{
-
-	 temp = iSceneNodeObj->setScale();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeIsVisible()
-{
-
-	bool temp = iSceneNodeObj->isVisible();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeIsTrulyVisible()
-{
-
-	bool temp = iSceneNodeObj->isTrulyVisible();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetVisible(int isVisible)
-{
-
-	iSceneNodeObj->setVisible(isVisible);
-
-}
-
-extern "C" int ISceneNodeGetID()
-{
-
-	 temp = iSceneNodeObj->getID();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetID(int id)
-{
-
-	iSceneNodeObj->setID(id);
-
-}
-
-extern "C" int ISceneNodeAddChild(int child)
-{
-
-	iSceneNodeObj->addChild(child);
-
-}
-
-extern "C" int ISceneNodeGrab()
-{
-
-	 temp = iSceneNodeObj->grab();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemove()
-{
-
-	 temp = iSceneNodeObj->remove();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodePush_back()
-{
-
-	 temp = iSceneNodeObj->push_back();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemoveChild(int child)
-{
-
-	bool temp = iSceneNodeObj->removeChild(child);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeErase()
-{
-
-	 temp = iSceneNodeObj->erase();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemoveAll()
-{
-
-	iSceneNodeObj->removeAll();
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeClear()
-{
-
-	 temp = iSceneNodeObj->clear();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemove()
-{
-
-	iSceneNodeObj->remove();
-
-}
-
-extern "C" int ISceneNodeAddAnimator(int animator)
-{
-
-	iSceneNodeObj->addAnimator(animator);
-
-}
-
-extern "C" int ISceneNodePush_back()
-{
-
-	 temp = iSceneNodeObj->push_back();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGrab()
-{
-
-	 temp = iSceneNodeObj->grab();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetAnimators()
-{
-
-	 temp = iSceneNodeObj->getAnimators();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemoveAnimator(int animator)
-{
-
-	iSceneNodeObj->removeAnimator(animator);
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeErase()
-{
-
-	 temp = iSceneNodeObj->erase();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeRemoveAnimators()
-{
-
-	iSceneNodeObj->removeAnimators();
-
-}
-
-extern "C" int ISceneNodeBegin()
-{
-
-	 temp = iSceneNodeObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeEnd()
-{
-
-	 temp = iSceneNodeObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNode)(int ()
-{
-
-	 temp = iSceneNodeObj->)(();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeClear()
-{
-
-	 temp = iSceneNodeObj->clear();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetMaterial(int num)
-{
-
-	 temp = iSceneNodeObj->getMaterial(num);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetMaterialCount()
-{
-
-	 temp = iSceneNodeObj->getMaterialCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetMaterialFlag(int flag, int newvalue)
-{
-
-	iSceneNodeObj->setMaterialFlag(flag, newvalue);
-
-}
-
-extern "C" int ISceneNode<getMaterialCount()
-{
-
-	 temp = iSceneNodeObj-><getMaterialCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetMaterial(int flag)
-{
-
-	 temp = iSceneNodeObj->getMaterial(flag);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetMaterialTexture(int textureLayer, int texture)
-{
-
-	iSceneNodeObj->setMaterialTexture(textureLayer, texture);
-
-}
-
-extern "C" int ISceneNode<getMaterialCount()
-{
-
-	 temp = iSceneNodeObj-><getMaterialCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetMaterial(int textureLayer)
-{
-
-	 temp = iSceneNodeObj->getMaterial(textureLayer);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetMaterialType(int newType)
-{
-
-	iSceneNodeObj->setMaterialType(newType);
-
-}
-
-extern "C" int ISceneNode<getMaterialCount()
-{
-
-	 temp = iSceneNodeObj-><getMaterialCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetMaterial()
-{
-
-	 temp = iSceneNodeObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetScale()
-{
-
-	 temp = iSceneNodeObj->getScale();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetScale(int scale)
-{
-
-	iSceneNodeObj->setScale(scale);
-
-}
-
-extern "C" int ISceneNodeGetRotation()
-{
-
-	 temp = iSceneNodeObj->getRotation();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetRotation(int rotation)
-{
-
-	iSceneNodeObj->setRotation(rotation);
-
-}
-
-extern "C" int ISceneNodeGetPosition()
-{
-
-	 temp = iSceneNodeObj->getPosition();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetPosition(int newpos)
-{
-
-	iSceneNodeObj->setPosition(newpos);
-
-}
-
-extern "C" int ISceneNodeGetAbsolutePosition()
-{
-
-	 temp = iSceneNodeObj->getAbsolutePosition();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetAutomaticCulling(int state)
-{
-
-	iSceneNodeObj->setAutomaticCulling(state);
-
-}
-
-extern "C" int ISceneNodeGetAutomaticCulling()
-{
-
-	 temp = iSceneNodeObj->getAutomaticCulling();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetDebugDataVisible(int state)
-{
-
-	iSceneNodeObj->setDebugDataVisible(state);
-
-}
-
-extern "C" int ISceneNodeIsDebugDataVisible()
-{
-
-	 temp = iSceneNodeObj->isDebugDataVisible();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetIsDebugObject(int debugObject)
-{
-
-	iSceneNodeObj->setIsDebugObject(debugObject);
-
-}
-
-extern "C" int ISceneNodeIsDebugObject()
-{
-
-	bool temp = iSceneNodeObj->isDebugObject();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetChildren()
-{
-
-	 temp = iSceneNodeObj->getChildren();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetParent(int newParent)
-{
-
-	iSceneNodeObj->setParent(newParent);
-
-}
-
-extern "C" int ISceneNodeGrab()
-{
-
-	iSceneNodeObj->grab();
-
-}
-
-extern "C" int ISceneNodeRemove()
-{
-
-	iSceneNodeObj->remove();
-
-}
-
-extern "C" int ISceneNodeDrop()
-{
-
-	iSceneNodeObj->drop();
-
-}
-
-extern "C" int ISceneNodeGetTriangleSelector()
-{
-
-	ITriangleSelector * temp = iSceneNodeObj->getTriangleSelector();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetTriangleSelector(int selector)
-{
-
-	iSceneNodeObj->setTriangleSelector(selector);
-
-}
-
-extern "C" int ISceneNodeUpdateAbsolutePosition()
-{
-
-	iSceneNodeObj->updateAbsolutePosition();
-
-}
-
-extern "C" int ISceneNodeGetAbsoluteTransformation(int ()
-{
-
-	 temp = iSceneNodeObj->getAbsoluteTransformation(();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetRelativeTransformation()
-{
-
-	 temp = iSceneNodeObj->getRelativeTransformation();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetParent()
-{
-
-	ISceneNode * temp = iSceneNodeObj->getParent();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetType()
-{
-
-	 temp = iSceneNodeObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSerializeAttributes(int out, int options)
-{
-
-	iSceneNodeObj->serializeAttributes(out, options);
-
-}
-
-extern "C" int ISceneNodeAddString(int arg1)
-{
-
-	 temp = iSceneNodeObj->addString(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddInt(int arg1)
-{
-
-	 temp = iSceneNodeObj->addInt(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddVector3d(int arg1)
-{
-
-	 temp = iSceneNodeObj->addVector3d(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddVector3d(int arg1)
-{
-
-	 temp = iSceneNodeObj->addVector3d(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddVector3d(int arg1)
-{
-
-	 temp = iSceneNodeObj->addVector3d(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddBool(int arg1)
-{
-
-	 temp = iSceneNodeObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddEnum(int arg1, int arg2)
-{
-
-	 temp = iSceneNodeObj->addEnum(arg1, arg2);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddInt(int arg1)
-{
-
-	 temp = iSceneNodeObj->addInt(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAddBool(int arg1)
-{
-
-	 temp = iSceneNodeObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeDeserializeAttributes(int in, int options)
-{
-
-	iSceneNodeObj->deserializeAttributes(in, options);
-
-}
-
-extern "C" int ISceneNodeGetAttributeAsString()
-{
-
-	 temp = iSceneNodeObj->getAttributeAsString();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetAttributeAsInt()
-{
-
-	 temp = iSceneNodeObj->getAttributeAsInt();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeSetPosition(int ))
-{
-
-	iSceneNodeObj->setPosition());
-
-}
-
-extern "C" int ISceneNodeSetRotation(int ))
-{
-
-	iSceneNodeObj->setRotation());
-
-}
-
-extern "C" int ISceneNodeSetScale(int ))
-{
-
-	iSceneNodeObj->setScale());
-
-}
-
-extern "C" int ISceneNodeGetAttributeAsBool()
-{
-
-	 temp = iSceneNodeObj->getAttributeAsBool();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNode=(int "AutomaticCulling", int AutomaticCullingNames)
-{
-
-	 temp = iSceneNodeObj->=("AutomaticCulling", AutomaticCullingNames);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetAttributeAsInt()
-{
-
-	 temp = iSceneNodeObj->getAttributeAsInt();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetAttributeAsBool()
-{
-
-	 temp = iSceneNodeObj->getAttributeAsBool();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeUpdateAbsolutePosition()
-{
-
-	iSceneNodeObj->updateAbsolutePosition();
-
-}
-
-extern "C" int ISceneNodeClone(int newParent, int newManager)
-{
-
-	ISceneNode * temp = iSceneNodeObj->clone(newParent, newManager);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeGetSceneManager()
-{
-
-	ISceneManager * temp = iSceneNodeObj->getSceneManager();
-	return (int) temp;
-
-}
-
-extern "C" int ITextSceneNodeITextSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8)
-{
-
-	iTextSceneNodeObj->ITextSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-
-}
-
-extern "C" int ITextSceneNodeSetText(char * text)
-{
-
-	iTextSceneNodeObj->setText(text);
-
-}
-
-extern "C" int ITextSceneNodeSetTextColor(int color)
-{
-
-	iTextSceneNodeObj->setTextColor(color);
-
-}
-
-extern "C" int IGUIStaticTextIGUIStaticText(int environment, int parent, int id, int EGUIET_STATIC_TEXT, int arg5, int arg6, int arg7)
-{
-
-	iGUIStaticTextObj->IGUIStaticText(environment, parent, id, EGUIET_STATIC_TEXT, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIStaticTextSetOverrideFont(int font)
-{
-
-	iGUIStaticTextObj->setOverrideFont(font);
-
-}
-
-extern "C" int IGUIStaticTextGetOverrideFont()
-{
-
-	IGUIFont * temp = iGUIStaticTextObj->getOverrideFont();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIStaticTextSetOverrideColor(int color)
-{
-
-	iGUIStaticTextObj->setOverrideColor(color);
-
-}
-
-extern "C" int IGUIStaticTextGetOverrideColor()
-{
-
-	 temp = iGUIStaticTextObj->getOverrideColor();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIStaticTextEnableOverrideColor(int enable)
-{
-
-	iGUIStaticTextObj->enableOverrideColor(enable);
-
-}
-
-extern "C" int IGUIStaticTextIsOverrideColorEnabled()
-{
-
-	bool temp = iGUIStaticTextObj->isOverrideColorEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIStaticTextSetBackgroundColor(int color)
-{
-
-	iGUIStaticTextObj->setBackgroundColor(color);
-
-}
-
-extern "C" int IGUIStaticTextSetDrawBackground(int draw)
-{
-
-	iGUIStaticTextObj->setDrawBackground(draw);
-
-}
-
-extern "C" int IGUIStaticTextSetDrawBorder(int draw)
-{
-
-	iGUIStaticTextObj->setDrawBorder(draw);
-
-}
-
-extern "C" int IGUIStaticTextSetTextAlignment(int horizontal, int vertical)
-{
-
-	iGUIStaticTextObj->setTextAlignment(horizontal, vertical);
-
-}
-
-extern "C" int IGUIStaticTextSetWordWrap(int enable)
-{
-
-	iGUIStaticTextObj->setWordWrap(enable);
-
-}
-
-extern "C" int IGUIStaticTextIsWordWrapEnabled()
-{
-
-	bool temp = iGUIStaticTextObj->isWordWrapEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIStaticTextGetTextHeight()
-{
-
-	 temp = iGUIStaticTextObj->getTextHeight();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIStaticTextGetTextWidth()
-{
-
-	 temp = iGUIStaticTextObj->getTextWidth();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeIParticleSystemSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16)
-{
-
-	iParticleSystemSceneNodeObj->IParticleSystemSceneNode(parent, mgr, id, position, arg5, rotation, arg8, scale, 0f, parent, arg13, arg14, arg15, arg16);
-
-}
-
-extern "C" int IParticleSystemSceneNodeSetParticleSize(int size)
-{
-
-	iParticleSystemSceneNodeObj->setParticleSize(size);
-
-}
-
-extern "C" int IParticleSystemSceneNodeSetParticlesAreGlobal(int global)
-{
-
-	iParticleSystemSceneNodeObj->setParticlesAreGlobal(global);
-
-}
-
-extern "C" int IParticleSystemSceneNodeGetEmitter()
-{
-
-	IParticleEmitter * temp = iParticleSystemSceneNodeObj->getEmitter();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeSetEmitter(int emitter)
-{
-
-	iParticleSystemSceneNodeObj->setEmitter(emitter);
-
-}
-
-extern "C" int IParticleSystemSceneNodeAddAffector(int affector)
-{
-
-	iParticleSystemSceneNodeObj->addAffector(affector);
-
-}
-
-extern "C" int IParticleSystemSceneNodeRemoveAllAffectors()
-{
-
-	iParticleSystemSceneNodeObj->removeAllAffectors();
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(int node, int useNormalDirection, int direction, int 03f, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg12, int arg13, int maxStartColor, int arg16, int arg17, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticleAnimatedMeshSceneNodeEmitter * temp = iParticleSystemSceneNodeObj->createAnimatedMeshSceneNodeEmitter(node, useNormalDirection, direction, 03f, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg12, arg13, maxStartColor, arg16, arg17, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateBoxEmitter(int box, int arg2, int 10, int arg4, int arg5, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg13, int arg14, int maxStartColor, int arg17, int arg18, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticleBoxEmitter * temp = iParticleSystemSceneNodeObj->createBoxEmitter(box, arg2, 10, arg4, arg5, direction, 03f, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg13, arg14, maxStartColor, arg17, arg18, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateCylinderEmitter(int center, int radius, int normal, int length, int outlineOnly, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg12, int arg13, int maxStartColor, int arg16, int arg17, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticleCylinderEmitter * temp = iParticleSystemSceneNodeObj->createCylinderEmitter(center, radius, normal, length, outlineOnly, direction, 03f, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg12, arg13, maxStartColor, arg16, arg17, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateMeshEmitter(int mesh, int useNormalDirection, int direction, int 03f, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg12, int arg13, int maxStartColor, int arg16, int arg17, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticleMeshEmitter * temp = iParticleSystemSceneNodeObj->createMeshEmitter(mesh, useNormalDirection, direction, 03f, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg12, arg13, maxStartColor, arg16, arg17, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreatePointEmitter(int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg7, int arg8, int maxStartColor, int arg11, int arg12, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticlePointEmitter * temp = iParticleSystemSceneNodeObj->createPointEmitter(direction, 03f, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg7, arg8, maxStartColor, arg11, arg12, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateRingEmitter(int center, int radius, int ringThickness, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg10, int arg11, int maxStartColor, int arg14, int arg15, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticleRingEmitter * temp = iParticleSystemSceneNodeObj->createRingEmitter(center, radius, ringThickness, direction, 03f, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg10, arg11, maxStartColor, arg14, arg15, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateSphereEmitter(int center, int radius, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg9, int arg10, int maxStartColor, int arg13, int arg14, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
-{
-
-	IParticleSphereEmitter * temp = iParticleSystemSceneNodeObj->createSphereEmitter(center, radius, direction, 03f, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, arg9, arg10, maxStartColor, arg13, arg14, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateAttractionAffector(int point, int speed, int attract, int affectX, int affectY, int affectZ)
-{
-
-	IParticleAttractionAffector * temp = iParticleSystemSceneNodeObj->createAttractionAffector(point, speed, attract, affectX, affectY, affectZ);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateScaleParticleAffector(int scaleTo)
-{
-
-	IParticleAffector * temp = iParticleSystemSceneNodeObj->createScaleParticleAffector(scaleTo);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateFadeOutParticleAffector(int targetColor, int arg2, int arg3, int timeNeededToFadeOut)
-{
-
-	IParticleFadeOutAffector * temp = iParticleSystemSceneNodeObj->createFadeOutParticleAffector(targetColor, arg2, arg3, timeNeededToFadeOut);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateGravityAffector(int gravity, int 03f, int timeForceLost)
-{
-
-	IParticleGravityAffector * temp = iParticleSystemSceneNodeObj->createGravityAffector(gravity, 03f, timeForceLost);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleSystemSceneNodeCreateRotationAffector(int speed, int 0f, int pivotPoint, int 0f)
-{
-
-	IParticleRotationAffector * temp = iParticleSystemSceneNodeObj->createRotationAffector(speed, 0f, pivotPoint, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeITerrainSceneNode(int parent, int mgr, int id, int position, int 0f, int rotation, int 0f, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16)
-{
-
-	iTerrainSceneNodeObj->ITerrainSceneNode(parent, mgr, id, position, 0f, rotation, 0f, scale, 0f, parent, arg13, arg14, arg15, arg16);
-
-}
-
-extern "C" int ITerrainSceneNodeGetBoundingBox()
-{
-
-	 temp = iTerrainSceneNodeObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetBoundingBox(int patchX, int patchZ)
-{
-
-	 temp = iTerrainSceneNodeObj->getBoundingBox(patchX, patchZ);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetIndexCount()
-{
-
-	 temp = iTerrainSceneNodeObj->getIndexCount();
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetMesh()
-{
-
-	IMesh * temp = iTerrainSceneNodeObj->getMesh();
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetRenderBuffer()
-{
-
-	IMeshBuffer * temp = iTerrainSceneNodeObj->getRenderBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetMeshBufferForLOD(int mb, int LOD)
-{
-
-	iTerrainSceneNodeObj->getMeshBufferForLOD(mb, LOD);
-
-}
-
-extern "C" int ITerrainSceneNodeGetIndicesForPatch(int indices, int patchX, int patchZ, int LOD)
-{
-
-	 temp = iTerrainSceneNodeObj->getIndicesForPatch(indices, patchX, patchZ, LOD);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetCurrentLODOfPatches(int LODs)
-{
-
-	 temp = iTerrainSceneNodeObj->getCurrentLODOfPatches(LODs);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeSetLODOfPatch(int patchX, int patchZ, int LOD)
-{
-
-	iTerrainSceneNodeObj->setLODOfPatch(patchX, patchZ, LOD);
-
-}
-
-extern "C" int ITerrainSceneNodeGetTerrainCenter()
-{
-
-	 temp = iTerrainSceneNodeObj->getTerrainCenter();
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeGetHeight(int x, int y)
-{
-
-	 temp = iTerrainSceneNodeObj->getHeight(x, y);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeSetCameraMovementDelta(int delta)
-{
-
-	iTerrainSceneNodeObj->setCameraMovementDelta(delta);
-
-}
-
-extern "C" int ITerrainSceneNodeSetCameraRotationDelta(int delta)
-{
-
-	iTerrainSceneNodeObj->setCameraRotationDelta(delta);
-
-}
-
-extern "C" int ITerrainSceneNodeSetDynamicSelectorUpdate(int bVal)
-{
-
-	iTerrainSceneNodeObj->setDynamicSelectorUpdate(bVal);
-
-}
-
-extern "C" int ITerrainSceneNodeOverrideLODDistance(int LOD, int newDistance)
-{
-
-	bool temp = iTerrainSceneNodeObj->overrideLODDistance(LOD, newDistance);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeScaleTexture(int scale, int scale2)
-{
-
-	iTerrainSceneNodeObj->scaleTexture(scale, scale2);
-
-}
-
-extern "C" int ITerrainSceneNodeLoadHeightMap(int file, int vertexColor, int arg3, int arg4, int smoothFactor)
-{
-
-	bool temp = iTerrainSceneNodeObj->loadHeightMap(file, vertexColor, arg3, arg4, smoothFactor);
-	return (int) temp;
-
-}
-
-extern "C" int ITerrainSceneNodeLoadHeightMapRAW(int file, int bitsPerPixel, int signedData, int floatVals, int width, int vertexColor, int arg7, int arg8, int smoothFactor)
-{
-
-	bool temp = iTerrainSceneNodeObj->loadHeightMapRAW(file, bitsPerPixel, signedData, floatVals, width, vertexColor, arg7, arg8, smoothFactor);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuIGUIContextMenu(int environment, int parent, int id, int EGUIET_CONTEXT_MENU, int arg5, int arg6, int arg7)
-{
-
-	iGUIContextMenuObj->IGUIContextMenu(environment, parent, id, EGUIET_CONTEXT_MENU, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIContextMenuGetItemCount()
-{
-
-	 temp = iGUIContextMenuObj->getItemCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuAddItem(char * text, int commandId, int enabled, int hasSubMenu, int checked)
-{
-
-	 temp = iGUIContextMenuObj->addItem(text, commandId, enabled, hasSubMenu, checked);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuAddSeparator()
-{
-
-	iGUIContextMenuObj->addSeparator();
-
-}
-
-extern "C" int IGUIContextMenuGetItemText(int idx)
-{
-
-	wchar_t * temp = iGUIContextMenuObj->getItemText(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuSetItemText(int idx, char * text)
-{
-
-	iGUIContextMenuObj->setItemText(idx, text);
-
-}
-
-extern "C" int IGUIContextMenuIsItemEnabled(int idx)
-{
-
-	bool temp = iGUIContextMenuObj->isItemEnabled(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuSetItemEnabled(int idx, int enabled)
-{
-
-	iGUIContextMenuObj->setItemEnabled(idx, enabled);
-
-}
-
-extern "C" int IGUIContextMenuSetItemChecked(int idx, int enabled)
-{
-
-	iGUIContextMenuObj->setItemChecked(idx, enabled);
-
-}
-
-extern "C" int IGUIContextMenuIsItemChecked(int idx)
-{
-
-	bool temp = iGUIContextMenuObj->isItemChecked(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuRemoveItem(int idx)
-{
-
-	iGUIContextMenuObj->removeItem(idx);
-
-}
-
-extern "C" int IGUIContextMenuRemoveAllItems()
-{
-
-	iGUIContextMenuObj->removeAllItems();
-
-}
-
-extern "C" int IGUIContextMenuGetSelectedItem()
-{
-
-	 temp = iGUIContextMenuObj->getSelectedItem();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuGetItemCommandId(int idx)
-{
-
-	 temp = iGUIContextMenuObj->getItemCommandId(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIContextMenuSetItemCommandId(int idx, int id)
-{
-
-	iGUIContextMenuObj->setItemCommandId(idx, id);
-
-}
-
-extern "C" int IGUIContextMenuGetSubMenu(int idx)
-{
-
-	IGUIContextMenu * temp = iGUIContextMenuObj->getSubMenu(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IImageLock()
-{
-
-	iImageObj->lock();
-
-}
-
-extern "C" int IImageUnlock()
-{
-
-	iImageObj->unlock();
-
-}
-
-extern "C" int IImageGetDimension()
-{
-
-	 temp = iImageObj->getDimension();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetBitsPerPixel()
-{
-
-	 temp = iImageObj->getBitsPerPixel();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetBytesPerPixel()
-{
-
-	 temp = iImageObj->getBytesPerPixel();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetImageDataSizeInBytes()
-{
-
-	 temp = iImageObj->getImageDataSizeInBytes();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetImageDataSizeInPixels()
-{
-
-	 temp = iImageObj->getImageDataSizeInPixels();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetPixel(int x, int y)
-{
-
-	 temp = iImageObj->getPixel(x, y);
-	return (int) temp;
-
-}
-
-extern "C" int IImageSetPixel(int x, int y, int color, int blend)
-{
-
-	iImageObj->setPixel(x, y, color, blend);
-
-}
-
-extern "C" int IImageGetColorFormat()
-{
-
-	 temp = iImageObj->getColorFormat();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetRedMask()
-{
-
-	 temp = iImageObj->getRedMask();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetGreenMask()
-{
-
-	 temp = iImageObj->getGreenMask();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetBlueMask()
-{
-
-	 temp = iImageObj->getBlueMask();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetAlphaMask()
-{
-
-	 temp = iImageObj->getAlphaMask();
-	return (int) temp;
-
-}
-
-extern "C" int IImageGetPitch()
-{
-
-	 temp = iImageObj->getPitch();
-	return (int) temp;
-
-}
-
-extern "C" int IImageCopyToScaling(int target, int width, int height, int format, int pitch)
-{
-
-	iImageObj->copyToScaling(target, width, height, format, pitch);
-
-}
-
-extern "C" int IImageCopyToScaling(int target)
-{
-
-	iImageObj->copyToScaling(target);
-
-}
-
-extern "C" int IImageCopyTo(int target, int pos)
-{
-
-	iImageObj->copyTo(target, pos);
-
-}
-
-extern "C" int IImageCopyTo(int target, int pos, int sourceRect, int clipRect)
-{
-
-	iImageObj->copyTo(target, pos, sourceRect, clipRect);
-
-}
-
-extern "C" int IImageCopyToWithAlpha(int target, int pos, int sourceRect, int color, int clipRect)
-{
-
-	iImageObj->copyToWithAlpha(target, pos, sourceRect, color, clipRect);
-
-}
-
-extern "C" int IImageCopyToScalingBoxFilter(int target, int bias, int blend)
-{
-
-	iImageObj->copyToScalingBoxFilter(target, bias, blend);
-
-}
-
-extern "C" int IImageFill(int color)
-{
-
-	iImageObj->fill(color);
-
-}
-
-extern "C" int IImageGetBitsPerPixelFromFormat(int format)
-{
-
-	 temp = iImageObj->getBitsPerPixelFromFormat(format);
-	return (int) temp;
-
-}
-
-extern "C" int IImageSwitch()
-{
-
-	iImageObj->switch();
-
-}
-
-extern "C" int IImageIsRenderTargetOnlyFormat(int format)
-{
-
-	bool temp = iImageObj->isRenderTargetOnlyFormat(format);
-	return (int) temp;
-
-}
-
-extern "C" int IImageSwitch()
-{
-
-	iImageObj->switch();
-
-}
-
-extern "C" int IAnimatedMeshMD2GetFrameLoop(int l, int outBegin, int outEnd, int outFPS)
-{
-
-	iAnimatedMeshMD2Obj->getFrameLoop(l, outBegin, outEnd, outFPS);
-
-}
-
-extern "C" int IAnimatedMeshMD2GetFrameLoop(char * name, int outBegin, int outEnd, int outFPS)
-{
-
-	bool temp = iAnimatedMeshMD2Obj->getFrameLoop(name, outBegin, outEnd, outFPS);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshMD2GetAnimationCount()
-{
-
-	 temp = iAnimatedMeshMD2Obj->getAnimationCount();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshMD2GetAnimationName(int nr)
-{
-
-	c8 * temp = iAnimatedMeshMD2Obj->getAnimationName(nr);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferGetData()
-{
-
-	iIndexBufferObj->getData();
-
-}
-
-extern "C" int IIndexBufferGetType()
-{
-
-	 temp = iIndexBufferObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferSetType(int IndexType)
-{
-
-	iIndexBufferObj->setType(IndexType);
-
-}
-
-extern "C" int IIndexBufferStride()
-{
-
-	 temp = iIndexBufferObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferSize()
-{
-
-	 temp = iIndexBufferObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferPush_back(int element)
-{
-
-	iIndexBufferObj->push_back(element);
-
-}
-
-extern "C" int IIndexBufferOperator(int index)
-{
-
-	 temp = iIndexBufferObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferGetLast()
-{
-
-	 temp = iIndexBufferObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferSetValue(int index, int value)
-{
-
-	iIndexBufferObj->setValue(index, value);
-
-}
-
-extern "C" int IIndexBufferSet_used(int usedNow)
-{
-
-	iIndexBufferObj->set_used(usedNow);
-
-}
-
-extern "C" int IIndexBufferReallocate(int new_size)
-{
-
-	iIndexBufferObj->reallocate(new_size);
-
-}
-
-extern "C" int IIndexBufferAllocated_size()
-{
-
-	 temp = iIndexBufferObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferPointer()
-{
-
-	iIndexBufferObj->pointer();
-
-}
-
-extern "C" int IIndexBufferGetHardwareMappingHint()
-{
-
-	 temp = iIndexBufferObj->getHardwareMappingHint();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexBufferSetHardwareMappingHint(int NewMappingHint)
-{
-
-	iIndexBufferObj->setHardwareMappingHint(NewMappingHint);
-
-}
-
-extern "C" int IIndexBufferSetDirty()
-{
-
-	iIndexBufferObj->setDirty();
-
-}
-
-extern "C" int IIndexBufferGetChangedID()
-{
-
-	 temp = iIndexBufferObj->getChangedID();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferGetData()
-{
-
-	iVertexBufferObj->getData();
-
-}
-
-extern "C" int IVertexBufferGetType()
-{
-
-	 temp = iVertexBufferObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferSetType(int vertexType)
-{
-
-	iVertexBufferObj->setType(vertexType);
-
-}
-
-extern "C" int IVertexBufferStride()
-{
-
-	 temp = iVertexBufferObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferSize()
-{
-
-	 temp = iVertexBufferObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferPush_back(int element)
-{
-
-	iVertexBufferObj->push_back(element);
-
-}
-
-extern "C" int IVertexBufferOperator(int index)
-{
-
-	 temp = iVertexBufferObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferGetLast()
-{
-
-	 temp = iVertexBufferObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferSet_used(int usedNow)
-{
-
-	iVertexBufferObj->set_used(usedNow);
-
-}
-
-extern "C" int IVertexBufferReallocate(int new_size)
-{
-
-	iVertexBufferObj->reallocate(new_size);
-
-}
-
-extern "C" int IVertexBufferAllocated_size()
-{
-
-	 temp = iVertexBufferObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferPointer()
-{
-
-	S3DVertex * temp = iVertexBufferObj->pointer();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferGetHardwareMappingHint()
-{
-
-	 temp = iVertexBufferObj->getHardwareMappingHint();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexBufferSetHardwareMappingHint(int NewMappingHint)
-{
-
-	iVertexBufferObj->setHardwareMappingHint(NewMappingHint);
-
-}
-
-extern "C" int IVertexBufferSetDirty()
-{
-
-	iVertexBufferObj->setDirty();
-
-}
-
-extern "C" int IVertexBufferGetChangedID()
-{
-
-	 temp = iVertexBufferObj->getChangedID();
-	return (int) temp;
-
-}
-
-extern "C" int IWriteFileWrite(int buffer, int sizeToWrite)
-{
-
-	 temp = iWriteFileObj->write(buffer, sizeToWrite);
-	return (int) temp;
-
-}
-
-extern "C" int IWriteFileSeek(int finalPos, int relativeMovement)
-{
-
-	bool temp = iWriteFileObj->seek(finalPos, relativeMovement);
-	return (int) temp;
-
-}
-
-extern "C" int IWriteFileGetPos()
-{
-
-	 temp = iWriteFileObj->getPos();
-	return (int) temp;
-
-}
-
-extern "C" int IWriteFileGetFileName()
-{
-
-	 temp = iWriteFileObj->getFileName();
-	return (int) temp;
-
-}
-
-extern "C" int IWriteFileCreateWriteFile(int fileName, int append)
-{
-
-	IWriteFile * temp = iWriteFileObj->createWriteFile(fileName, append);
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileRead(int buffer, int sizeToRead)
-{
-
-	 temp = iReadFileObj->read(buffer, sizeToRead);
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileSeek(int finalPos, int relativeMovement)
-{
-
-	bool temp = iReadFileObj->seek(finalPos, relativeMovement);
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileGetSize()
-{
-
-	 temp = iReadFileObj->getSize();
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileGetPos()
-{
-
-	 temp = iReadFileObj->getPos();
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileGetFileName()
-{
-
-	 temp = iReadFileObj->getFileName();
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileCreateReadFile(int fileName)
-{
-
-	IReadFile * temp = iReadFileObj->createReadFile(fileName);
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize)
-{
-
-	IReadFile * temp = iReadFileObj->createLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
-	return (int) temp;
-
-}
-
-extern "C" int IReadFileCreateMemoryReadFile(int memory, int size, int fileName, int deleteMemoryWhenDropped)
-{
-
-	IReadFile * temp = iReadFileObj->createMemoryReadFile(memory, size, fileName, deleteMemoryWhenDropped);
-	return (int) temp;
-
-}
-
-extern "C" int IBillboardSceneNodeIBillboardSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8)
-{
-
-	iBillboardSceneNodeObj->IBillboardSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-
-}
-
-extern "C" int IBillboardSceneNodeSetSize(int size)
-{
-
-	iBillboardSceneNodeObj->setSize(size);
-
-}
-
-extern "C" int IBillboardSceneNodeGetSize()
-{
-
-	 temp = iBillboardSceneNodeObj->getSize();
-	return (int) temp;
-
-}
-
-extern "C" int IBillboardSceneNodeSetColor(int overallColor)
-{
-
-	iBillboardSceneNodeObj->setColor(overallColor);
-
-}
-
-extern "C" int IBillboardSceneNodeSetColor(int topColor, int bottomColor)
-{
-
-	iBillboardSceneNodeObj->setColor(topColor, bottomColor);
-
-}
-
-extern "C" int IBillboardSceneNodeGetColor(int topColor, int bottomColor)
-{
-
-	iBillboardSceneNodeObj->getColor(topColor, bottomColor);
-
-}
-
-extern "C" int IAttributeExchangingObjectSerializeAttributes(int out, int options)
-{
-
-	iAttributeExchangingObjectObj->serializeAttributes(out, options);
-
-}
-
-extern "C" int IAttributeExchangingObjectDeserializeAttributes(int in, int options)
-{
-
-	iAttributeExchangingObjectObj->deserializeAttributes(in, options);
-
-}
-
-extern "C" int IParticleEmitterEmitt(int now, int timeSinceLastCall, int outArray)
-{
-
-	 temp = iParticleEmitterObj->emitt(now, timeSinceLastCall, outArray);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterSetDirection(int newDirection)
-{
-
-	iParticleEmitterObj->setDirection(newDirection);
-
-}
-
-extern "C" int IParticleEmitterSetMinParticlesPerSecond(int minPPS)
-{
-
-	iParticleEmitterObj->setMinParticlesPerSecond(minPPS);
-
-}
-
-extern "C" int IParticleEmitterSetMaxParticlesPerSecond(int maxPPS)
-{
-
-	iParticleEmitterObj->setMaxParticlesPerSecond(maxPPS);
-
-}
-
-extern "C" int IParticleEmitterSetMinStartColor(int color)
-{
-
-	iParticleEmitterObj->setMinStartColor(color);
-
-}
-
-extern "C" int IParticleEmitterSetMaxStartColor(int color)
-{
-
-	iParticleEmitterObj->setMaxStartColor(color);
-
-}
-
-extern "C" int IParticleEmitterSetMaxStartSize(int size)
-{
-
-	iParticleEmitterObj->setMaxStartSize(size);
-
-}
-
-extern "C" int IParticleEmitterSetMinStartSize(int size)
-{
-
-	iParticleEmitterObj->setMinStartSize(size);
-
-}
-
-extern "C" int IParticleEmitterGetDirection()
-{
-
-	 temp = iParticleEmitterObj->getDirection();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetMinParticlesPerSecond()
-{
-
-	 temp = iParticleEmitterObj->getMinParticlesPerSecond();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetMaxParticlesPerSecond()
-{
-
-	 temp = iParticleEmitterObj->getMaxParticlesPerSecond();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetMinStartColor()
-{
-
-	 temp = iParticleEmitterObj->getMinStartColor();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetMaxStartColor()
-{
-
-	 temp = iParticleEmitterObj->getMaxStartColor();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetMaxStartSize()
-{
-
-	 temp = iParticleEmitterObj->getMaxStartSize();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetMinStartSize()
-{
-
-	 temp = iParticleEmitterObj->getMinStartSize();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleEmitterGetType()
-{
-
-	 temp = iParticleEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListIIndexList()
-{
-
-	 temp = iIndexListObj->IIndexList();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListStride()
-{
-
-	 temp = iIndexListObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSize()
-{
-
-	 temp = iIndexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPush_back(int element)
-{
-
-	iIndexListObj->push_back(element);
-
-}
-
-extern "C" int IIndexListOperator(int index)
-{
-
-	 temp = iIndexListObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListGetLast()
-{
-
-	 temp = iIndexListObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSetValue(int index, int value)
-{
-
-	iIndexListObj->setValue(index, value);
-
-}
-
-extern "C" int IIndexListSet_used(int usedNow)
-{
-
-	iIndexListObj->set_used(usedNow);
-
-}
-
-extern "C" int IIndexListReallocate(int new_size)
-{
-
-	iIndexListObj->reallocate(new_size);
-
-}
-
-extern "C" int IIndexListAllocated_size()
-{
-
-	 temp = iIndexListObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPointer()
-{
-
-	iIndexListObj->pointer();
-
-}
-
-extern "C" int IIndexListGetType()
-{
-
-	 temp = iIndexListObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListStride()
-{
-
-	 temp = iIndexListObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSize()
-{
-
-	 temp = iIndexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPush_back(int element)
-{
-
-	iIndexListObj->push_back(element);
-
-}
-
-extern "C" int IIndexListPush_back(int element)
-{
-
-	 temp = iIndexListObj->push_back(element);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListOperator(int index)
-{
-
-	 temp = iIndexListObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListGetLast()
-{
-
-	 temp = iIndexListObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSetValue(int index, int value)
-{
-
-	iIndexListObj->setValue(index, value);
-
-}
-
-extern "C" int IIndexList=()
-{
-
-	 temp = iIndexListObj->=();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSet_used(int usedNow)
-{
-
-	iIndexListObj->set_used(usedNow);
-
-}
-
-extern "C" int IIndexListSet_used()
-{
-
-	 temp = iIndexListObj->set_used();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListReallocate(int new_size)
-{
-
-	iIndexListObj->reallocate(new_size);
-
-}
-
-extern "C" int IIndexListReallocate()
-{
-
-	 temp = iIndexListObj->reallocate();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListAllocated_size()
-{
-
-	 temp = iIndexListObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPointer()
-{
-
-	iIndexListObj->pointer();
-
-}
-
-extern "C" int IIndexListGetType()
-{
-
-	 temp = iIndexListObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListCIndexBuffer(int ), int 1)
-{
-
-	iIndexListObj->CIndexBuffer(), 1);
-
-}
-
-extern "C" int IIndexListSetType()
-{
-
-	iIndexListObj->setType();
-
-}
-
-extern "C" int IIndexListCIndexBuffer(int ), int 1)
-{
-
-	iIndexListObj->CIndexBuffer(), 1);
-
-}
-
-extern "C" int IIndexListSetType(int ))
-{
-
-	iIndexListObj->setType());
-
-}
-
-extern "C" int IIndexListReallocate(int ))
-{
-
-	iIndexListObj->reallocate());
-
-}
-
-extern "C" int IIndexListSize()
-{
-
-	 temp = iIndexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPush_back(int n)
-{
-
-	 temp = iIndexListObj->push_back(n);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListCIndexBuffer()
-{
-
-	 temp = iIndexListObj->CIndexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSetType(int IndexType)
-{
-
-	iIndexListObj->setType(IndexType);
-
-}
-
-extern "C" int IIndexListSwitch()
-{
-
-	iIndexListObj->switch();
-
-}
-
-extern "C" int IIndexListReallocate(int ))
-{
-
-	 temp = iIndexListObj->reallocate());
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSize()
-{
-
-	 temp = iIndexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPush_back(int n)
-{
-
-	 temp = iIndexListObj->push_back(n);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListGetData()
-{
-
-	iIndexListObj->getData();
-
-}
-
-extern "C" int IIndexListGetType()
-{
-
-	 temp = iIndexListObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListStride()
-{
-
-	 temp = iIndexListObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSize()
-{
-
-	 temp = iIndexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPush_back(int element)
-{
-
-	iIndexListObj->push_back(element);
-
-}
-
-extern "C" int IIndexListPush_back()
-{
-
-	 temp = iIndexListObj->push_back();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListOperator(int index)
-{
-
-	 temp = iIndexListObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListGetLast()
-{
-
-	 temp = iIndexListObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSetValue(int index, int value)
-{
-
-	iIndexListObj->setValue(index, value);
-
-}
-
-extern "C" int IIndexListSetValue(int arg1)
-{
-
-	 temp = iIndexListObj->setValue(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSet_used(int usedNow)
-{
-
-	iIndexListObj->set_used(usedNow);
-
-}
-
-extern "C" int IIndexListSet_used()
-{
-
-	 temp = iIndexListObj->set_used();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListReallocate(int new_size)
-{
-
-	iIndexListObj->reallocate(new_size);
-
-}
-
-extern "C" int IIndexListReallocate()
-{
-
-	 temp = iIndexListObj->reallocate();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListAllocated_size()
-{
-
-	 temp = iIndexListObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListPointer()
-{
-
-	iIndexListObj->pointer();
-
-}
-
-extern "C" int IIndexListGetHardwareMappingHint()
-{
-
-	 temp = iIndexListObj->getHardwareMappingHint();
-	return (int) temp;
-
-}
-
-extern "C" int IIndexListSetHardwareMappingHint(int NewMappingHint)
-{
-
-	iIndexListObj->setHardwareMappingHint(NewMappingHint);
-
-}
-
-extern "C" int IIndexListSetDirty()
-{
-
-	iIndexListObj->setDirty();
-
-}
-
-extern "C" int IIndexListGetChangedID()
-{
-
-	 temp = iIndexListObj->getChangedID();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleGravityAffectorSetTimeForceLost(int timeForceLost)
-{
-
-	iParticleGravityAffectorObj->setTimeForceLost(timeForceLost);
-
-}
-
-extern "C" int IParticleGravityAffectorSetGravity(int gravity)
-{
-
-	iParticleGravityAffectorObj->setGravity(gravity);
-
-}
-
-extern "C" int IParticleGravityAffectorGetTimeForceLost()
-{
-
-	 temp = iParticleGravityAffectorObj->getTimeForceLost();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleGravityAffectorGetGravity()
-{
-
-	 temp = iParticleGravityAffectorObj->getGravity();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleGravityAffectorGetType()
-{
-
-	 temp = iParticleGravityAffectorObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRotationAffectorSetPivotPoint(int point)
-{
-
-	iParticleRotationAffectorObj->setPivotPoint(point);
-
-}
-
-extern "C" int IParticleRotationAffectorSetSpeed(int speed)
-{
-
-	iParticleRotationAffectorObj->setSpeed(speed);
-
-}
-
-extern "C" int IParticleRotationAffectorGetPivotPoint()
-{
-
-	 temp = iParticleRotationAffectorObj->getPivotPoint();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRotationAffectorGetSpeed()
-{
-
-	 temp = iParticleRotationAffectorObj->getSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleRotationAffectorGetType()
-{
-
-	 temp = iParticleRotationAffectorObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IGUICheckBoxIGUICheckBox(int environment, int parent, int id, int EGUIET_CHECK_BOX, int arg5, int arg6, int arg7)
-{
-
-	iGUICheckBoxObj->IGUICheckBox(environment, parent, id, EGUIET_CHECK_BOX, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUICheckBoxSetChecked(int checked)
-{
-
-	iGUICheckBoxObj->setChecked(checked);
-
-}
-
-extern "C" int IGUICheckBoxIsChecked()
-{
-
-	bool temp = iGUICheckBoxObj->isChecked();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshGetMeshBufferCount()
-{
-
-	 temp = iMeshObj->getMeshBufferCount();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshGetMeshBuffer(int nr)
-{
-
-	IMeshBuffer * temp = iMeshObj->getMeshBuffer(nr);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshGetMeshBuffer(int material)
-{
-
-	IMeshBuffer * temp = iMeshObj->getMeshBuffer(material);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshGetBoundingBox()
-{
-
-	 temp = iMeshObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshSetBoundingBox(int box)
-{
-
-	iMeshObj->setBoundingBox(box);
-
-}
-
-extern "C" int IMeshSetMaterialFlag(int flag, int newvalue)
-{
-
-	iMeshObj->setMaterialFlag(flag, newvalue);
-
-}
-
-extern "C" int IMeshSetHardwareMappingHint(int newMappingHint, int buffer)
-{
-
-	iMeshObj->setHardwareMappingHint(newMappingHint, buffer);
-
-}
-
-extern "C" int IMeshSetDirty(int buffer)
-{
-
-	iMeshObj->setDirty(buffer);
-
-}
-
-extern "C" int IBillboardTextSceneNodeIBillboardTextSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8)
-{
-
-	iBillboardTextSceneNodeObj->IBillboardTextSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-
-}
-
-extern "C" int IBillboardTextSceneNodeSetSize(int size)
-{
-
-	iBillboardTextSceneNodeObj->setSize(size);
-
-}
-
-extern "C" int IBillboardTextSceneNodeGetSize()
-{
-
-	 temp = iBillboardTextSceneNodeObj->getSize();
-	return (int) temp;
-
-}
-
-extern "C" int IBillboardTextSceneNodeSetColor(int overallColor)
-{
-
-	iBillboardTextSceneNodeObj->setColor(overallColor);
-
-}
-
-extern "C" int IBillboardTextSceneNodeSetColor(int topColor, int bottomColor)
-{
-
-	iBillboardTextSceneNodeObj->setColor(topColor, bottomColor);
-
-}
-
-extern "C" int IBillboardTextSceneNodeGetColor(int topColor, int bottomColor)
-{
-
-	iBillboardTextSceneNodeObj->getColor(topColor, bottomColor);
-
-}
-
-extern "C" int IBillboardTextSceneNodeSetText(char * text)
-{
-
-	iBillboardTextSceneNodeObj->setText(text);
-
-}
-
-extern "C" int IBillboardTextSceneNodeSetTextColor(int color)
-{
-
-	iBillboardTextSceneNodeObj->setTextColor(color);
-
-}
-
-extern "C" int IParticleFadeOutAffectorSetTargetColor(int targetColor)
-{
-
-	iParticleFadeOutAffectorObj->setTargetColor(targetColor);
-
-}
-
-extern "C" int IParticleFadeOutAffectorSetFadeOutTime(int fadeOutTime)
-{
-
-	iParticleFadeOutAffectorObj->setFadeOutTime(fadeOutTime);
-
-}
-
-extern "C" int IParticleFadeOutAffectorGetTargetColor()
-{
-
-	 temp = iParticleFadeOutAffectorObj->getTargetColor();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleFadeOutAffectorGetFadeOutTime()
-{
-
-	 temp = iParticleFadeOutAffectorObj->getFadeOutTime();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleFadeOutAffectorGetType()
-{
-
-	 temp = iParticleFadeOutAffectorObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IShadowVolumeSceneNodeIShadowVolumeSceneNode(int parent, int mgr, int parent, int arg4)
-{
-
-	iShadowVolumeSceneNodeObj->IShadowVolumeSceneNode(parent, mgr, parent, arg4);
-
-}
-
-extern "C" int IShadowVolumeSceneNodeSetShadowMesh(int mesh)
-{
-
-	iShadowVolumeSceneNodeObj->setShadowMesh(mesh);
-
-}
-
-extern "C" int IShadowVolumeSceneNodeUpdateShadowVolumes()
-{
-
-	iShadowVolumeSceneNodeObj->updateShadowVolumes();
-
-}
-
-extern "C" int IFileListGetFileCount()
-{
-
-	 temp = iFileListObj->getFileCount();
-	return (int) temp;
-
-}
-
-extern "C" int IFileListGetFileName(int index)
-{
-
-	 temp = iFileListObj->getFileName(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileListGetFullFileName(int index)
-{
-
-	 temp = iFileListObj->getFullFileName(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileListGetFileSize(int index)
-{
-
-	 temp = iFileListObj->getFileSize(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileListIsDirectory(int index)
-{
-
-	bool temp = iFileListObj->isDirectory(index);
-	return (int) temp;
-
-}
-
-extern "C" int IFileListFindFile(int filename, int isFolder)
-{
-
-	 temp = iFileListObj->findFile(filename, isFolder);
-	return (int) temp;
-
-}
-
-extern "C" int IFileListGetPath()
-{
-
-	 temp = iFileListObj->getPath();
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateCubeMesh(int size, int f)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createCubeMesh(size, f);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateHillPlaneMesh(int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createHillPlaneMesh(tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateTerrainMesh(int texture, int heightmap, int stretchSize, int maxHeight, int driver, int defaultVertexBlockSize, int debugBorders)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createTerrainMesh(texture, heightmap, stretchSize, maxHeight, driver, defaultVertexBlockSize, debugBorders);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateArrowMesh(int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int widthCylinder, int widthCone, int colorCylinder, int colorCone)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createArrowMesh(tesselationCylinder, tesselationCone, height, cylinderHeight, widthCylinder, widthCone, colorCylinder, colorCone);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateSphereMesh(int radius, int polyCountX, int polyCountY)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createSphereMesh(radius, polyCountX, polyCountY);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateCylinderMesh(int radius, int length, int tesselation, int color, int closeTop, int oblique)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createCylinderMesh(radius, length, tesselation, color, closeTop, oblique);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateConeMesh(int radius, int length, int tesselation, int colorTop, int colorBottom, int oblique)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createConeMesh(radius, length, tesselation, colorTop, colorBottom, oblique);
-	return (int) temp;
-
-}
-
-extern "C" int IGeometryCreatorCreateVolumeLightMesh(int subdivideU, int subdivideV, int footColor, int tailColor, int lpDistance, int lightDim, int 2f)
-{
-
-	IMesh * temp = iGeometryCreatorObj->createVolumeLightMesh(subdivideU, subdivideV, footColor, tailColor, lpDistance, lightDim, 2f);
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesIGPUProgrammingServices()
-{
-
-	 temp = iGPUProgrammingServicesObj->IGPUProgrammingServices();
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
-{
-
-	 temp = iGPUProgrammingServicesObj->addHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
-{
-
-	 temp = iGPUProgrammingServicesObj->addHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
-{
-
-	 temp = iGPUProgrammingServicesObj->addHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesAddShaderMaterial(char * vertexShaderProgram, char * pixelShaderProgram, int callback, int baseMaterial, int userData)
-{
-
-	 temp = iGPUProgrammingServicesObj->addShaderMaterial(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgram, int pixelShaderProgram, int callback, int baseMaterial, int userData)
-{
-
-	 temp = iGPUProgrammingServicesObj->addShaderMaterialFromFiles(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
-	return (int) temp;
-
-}
-
-extern "C" int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgramFileName, int pixelShaderProgramFileName, int callback, int baseMaterial, int userData)
-{
-
-	 temp = iGPUProgrammingServicesObj->addShaderMaterialFromFiles(vertexShaderProgramFileName, pixelShaderProgramFileName, callback, baseMaterial, userData);
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(int node)
-{
-
-	iParticleAnimatedMeshSceneNodeEmitterObj->setAnimatedMeshSceneNode(node);
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(int useNormalDirection)
-{
-
-	iParticleAnimatedMeshSceneNodeEmitterObj->setUseNormalDirection(useNormalDirection);
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(int normalDirectionModifier)
-{
-
-	iParticleAnimatedMeshSceneNodeEmitterObj->setNormalDirectionModifier(normalDirectionModifier);
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(int everyMeshVertex)
-{
-
-	iParticleAnimatedMeshSceneNodeEmitterObj->setEveryMeshVertex(everyMeshVertex);
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode()
-{
-
-	IAnimatedMeshSceneNode * temp = iParticleAnimatedMeshSceneNodeEmitterObj->getAnimatedMeshSceneNode();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection()
-{
-
-	bool temp = iParticleAnimatedMeshSceneNodeEmitterObj->isUsingNormalDirection();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier()
-{
-
-	 temp = iParticleAnimatedMeshSceneNodeEmitterObj->getNormalDirectionModifier();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex()
-{
-
-	bool temp = iParticleAnimatedMeshSceneNodeEmitterObj->getEveryMeshVertex();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetType()
-{
-
-	 temp = iParticleAnimatedMeshSceneNodeEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureITexture(int name)
-{
-
-	iTextureObj->ITexture(name);
-
-}
-
-extern "C" int ITextureMake_lower()
-{
-
-	 temp = iTextureObj->make_lower();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureLock(int readOnly)
-{
-
-	iTextureObj->lock(readOnly);
-
-}
-
-extern "C" int ITextureUnlock()
-{
-
-	iTextureObj->unlock();
-
-}
-
-extern "C" int ITextureGetOriginalSize()
-{
-
-	 temp = iTextureObj->getOriginalSize();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureGetSize()
-{
-
-	 temp = iTextureObj->getSize();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureGetDriverType()
-{
-
-	 temp = iTextureObj->getDriverType();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureGetColorFormat()
-{
-
-	 temp = iTextureObj->getColorFormat();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureGetPitch()
-{
-
-	 temp = iTextureObj->getPitch();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureHasMipMaps()
-{
-
-	bool temp = iTextureObj->hasMipMaps();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureHasAlpha()
-{
-
-	bool temp = iTextureObj->hasAlpha();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureRegenerateMipMapLevels()
-{
-
-	iTextureObj->regenerateMipMapLevels();
-
-}
-
-extern "C" int ITextureIsRenderTarget()
-{
-
-	bool temp = iTextureObj->isRenderTarget();
-	return (int) temp;
-
-}
-
-extern "C" int ITextureGetName()
-{
-
-	 temp = iTextureObj->getName();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshGetFrameCount()
-{
-
-	 temp = iAnimatedMeshObj->getFrameCount();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshGetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop)
-{
-
-	IMesh * temp = iAnimatedMeshObj->getMesh(frame, detailLevel, startFrameLoop, endFrameLoop);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshGetMeshType()
-{
-
-	 temp = iAnimatedMeshObj->getMeshType();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIToolBarIGUIToolBar(int environment, int parent, int id, int EGUIET_TOOL_BAR, int arg5, int arg6, int arg7)
-{
-
-	iGUIToolBarObj->IGUIToolBar(environment, parent, id, EGUIET_TOOL_BAR, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIToolBarAddButton(int id, char * text, char * tooltiptext, int img, int pressedimg, int isPushButton, int useAlphaChannel)
-{
-
-	IGUIButton * temp = iGUIToolBarObj->addButton(id, text, tooltiptext, img, pressedimg, isPushButton, useAlphaChannel);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetCollisionPoint(int ray, int selector, int outCollisionPoint, int outTriangle, int outNode)
-{
-
-	bool temp = iSceneCollisionManagerObj->getCollisionPoint(ray, selector, outCollisionPoint, outTriangle, outNode);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetCollisionResultPosition(int selector, int ellipsoidPosition, int ellipsoidRadius, int ellipsoidDirectionAndSpeed, int triout, int hitPosition, int outFalling, int outNode, int slidingSpeed, int gravityDirectionAndSpeed, int 0f)
-{
-
-	 temp = iSceneCollisionManagerObj->getCollisionResultPosition(selector, ellipsoidPosition, ellipsoidRadius, ellipsoidDirectionAndSpeed, triout, hitPosition, outFalling, outNode, slidingSpeed, gravityDirectionAndSpeed, 0f);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetRayFromScreenCoordinates(int pos, int camera)
-{
-
-	 temp = iSceneCollisionManagerObj->getRayFromScreenCoordinates(pos, camera);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(int pos, int camera)
-{
-
-	 temp = iSceneCollisionManagerObj->getScreenCoordinatesFrom3DPosition(pos, camera);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(int pos, int idBitMask, int bNoDebugObjects, int root)
-{
-
-	ISceneNode * temp = iSceneCollisionManagerObj->getSceneNodeFromScreenCoordinatesBB(pos, idBitMask, bNoDebugObjects, root);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetSceneNodeFromRayBB(int ray, int idBitMask, int bNoDebugObjects, int root)
-{
-
-	ISceneNode * temp = iSceneCollisionManagerObj->getSceneNodeFromRayBB(ray, idBitMask, bNoDebugObjects, root);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetSceneNodeFromCameraBB(int camera, int idBitMask, int bNoDebugObjects)
-{
-
-	ISceneNode * temp = iSceneCollisionManagerObj->getSceneNodeFromCameraBB(camera, idBitMask, bNoDebugObjects);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(int ray, int outCollisionPoint, int outTriangle, int idBitMask, int collisionRootNode, int noDebugObjects)
-{
-
-	ISceneNode * temp = iSceneCollisionManagerObj->getSceneNodeAndCollisionPointFromRay(ray, outCollisionPoint, outTriangle, idBitMask, collisionRootNode, noDebugObjects);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneUserDataSerializerISceneUserDataSerializer()
-{
-
-	 temp = iSceneUserDataSerializerObj->ISceneUserDataSerializer();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneUserDataSerializerOnCreateNode(int node)
-{
-
-	iSceneUserDataSerializerObj->OnCreateNode(node);
-
-}
-
-extern "C" int ISceneUserDataSerializerOnReadUserData(int forSceneNode, int userData)
-{
-
-	iSceneUserDataSerializerObj->OnReadUserData(forSceneNode, userData);
-
-}
-
-extern "C" int ISceneUserDataSerializerCreateUserData(int forSceneNode)
-{
-
-	IAttributes * temp = iSceneUserDataSerializerObj->createUserData(forSceneNode);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIImageListIGUIImageList()
-{
-
-	 temp = iGUIImageListObj->IGUIImageList();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIImageListDraw(int index, int destPos, int clip)
-{
-
-	iGUIImageListObj->draw(index, destPos, clip);
-
-}
-
-extern "C" int IGUIImageListGetImageCount()
-{
-
-	 temp = iGUIImageListObj->getImageCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIImageListGetImageSize()
-{
-
-	 temp = iGUIImageListObj->getImageSize();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIMeshViewerIGUIMeshViewer(int environment, int parent, int id, int EGUIET_MESH_VIEWER, int arg5, int arg6, int arg7)
-{
-
-	iGUIMeshViewerObj->IGUIMeshViewer(environment, parent, id, EGUIET_MESH_VIEWER, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIMeshViewerSetMesh(int mesh)
-{
-
-	iGUIMeshViewerObj->setMesh(mesh);
-
-}
-
-extern "C" int IGUIMeshViewerGetMesh()
-{
-
-	IAnimatedMesh * temp = iGUIMeshViewerObj->getMesh();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIMeshViewerSetMaterial(int material)
-{
-
-	iGUIMeshViewerObj->setMaterial(material);
-
-}
-
-extern "C" int IGUIMeshViewerGetMaterial()
-{
-
-	 temp = iGUIMeshViewerObj->getMaterial();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIScrollBarIGUIScrollBar(int environment, int parent, int id, int EGUIET_SCROLL_BAR, int arg5, int arg6, int arg7)
-{
-
-	iGUIScrollBarObj->IGUIScrollBar(environment, parent, id, EGUIET_SCROLL_BAR, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIScrollBarSetMax(int max)
-{
-
-	iGUIScrollBarObj->setMax(max);
-
-}
-
-extern "C" int IGUIScrollBarGetMax()
-{
-
-	 temp = iGUIScrollBarObj->getMax();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIScrollBarSetMin(int max)
-{
-
-	iGUIScrollBarObj->setMin(max);
-
-}
-
-extern "C" int IGUIScrollBarGetMin()
-{
-
-	 temp = iGUIScrollBarObj->getMin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIScrollBarGetSmallStep()
-{
-
-	 temp = iGUIScrollBarObj->getSmallStep();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIScrollBarSetSmallStep(int step)
-{
-
-	iGUIScrollBarObj->setSmallStep(step);
-
-}
-
-extern "C" int IGUIScrollBarGetLargeStep()
-{
-
-	 temp = iGUIScrollBarObj->getLargeStep();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIScrollBarSetLargeStep(int step)
-{
-
-	iGUIScrollBarObj->setLargeStep(step);
-
-}
-
-extern "C" int IGUIScrollBarGetPos()
-{
-
-	 temp = iGUIScrollBarObj->getPos();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIScrollBarSetPos(int pos)
-{
-
-	iGUIScrollBarObj->setPos(pos);
-
-}
-
-extern "C" int IGUIListBoxIGUIListBox(int environment, int parent, int id, int EGUIET_LIST_BOX, int arg5, int arg6, int arg7)
-{
-
-	iGUIListBoxObj->IGUIListBox(environment, parent, id, EGUIET_LIST_BOX, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIListBoxGetItemCount()
-{
-
-	 temp = iGUIListBoxObj->getItemCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxGetListItem(int id)
-{
-
-	wchar_t * temp = iGUIListBoxObj->getListItem(id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxAddItem(char * text)
-{
-
-	 temp = iGUIListBoxObj->addItem(text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxAddItem(char * text, int icon)
-{
-
-	 temp = iGUIListBoxObj->addItem(text, icon);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxRemoveItem(int index)
-{
-
-	iGUIListBoxObj->removeItem(index);
-
-}
-
-extern "C" int IGUIListBoxGetIcon(int index)
-{
-
-	 temp = iGUIListBoxObj->getIcon(index);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxSetSpriteBank(int bank)
-{
-
-	iGUIListBoxObj->setSpriteBank(bank);
-
-}
-
-extern "C" int IGUIListBoxClear()
-{
-
-	iGUIListBoxObj->clear();
-
-}
-
-extern "C" int IGUIListBoxGetSelected()
-{
-
-	 temp = iGUIListBoxObj->getSelected();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxSetSelected(int index)
-{
-
-	iGUIListBoxObj->setSelected(index);
-
-}
-
-extern "C" int IGUIListBoxSetSelected(char * item)
-{
-
-	iGUIListBoxObj->setSelected(item);
-
-}
-
-extern "C" int IGUIListBoxSetAutoScrollEnabled(int scroll)
-{
-
-	iGUIListBoxObj->setAutoScrollEnabled(scroll);
-
-}
-
-extern "C" int IGUIListBoxIsAutoScrollEnabled()
-{
-
-	bool temp = iGUIListBoxObj->isAutoScrollEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxSetItemOverrideColor(int index, int color)
-{
-
-	iGUIListBoxObj->setItemOverrideColor(index, color);
-
-}
-
-extern "C" int IGUIListBoxSetItemOverrideColor(int index, int colorType, int color)
-{
-
-	iGUIListBoxObj->setItemOverrideColor(index, colorType, color);
-
-}
-
-extern "C" int IGUIListBoxClearItemOverrideColor(int index)
-{
-
-	iGUIListBoxObj->clearItemOverrideColor(index);
-
-}
-
-extern "C" int IGUIListBoxClearItemOverrideColor(int index, int colorType)
-{
-
-	iGUIListBoxObj->clearItemOverrideColor(index, colorType);
-
-}
-
-extern "C" int IGUIListBoxHasItemOverrideColor(int index, int colorType)
-{
-
-	bool temp = iGUIListBoxObj->hasItemOverrideColor(index, colorType);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxGetItemOverrideColor(int index, int colorType)
-{
-
-	 temp = iGUIListBoxObj->getItemOverrideColor(index, colorType);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxGetItemDefaultColor(int colorType)
-{
-
-	 temp = iGUIListBoxObj->getItemDefaultColor(colorType);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxSetItem(int index, char * text, int icon)
-{
-
-	iGUIListBoxObj->setItem(index, text, icon);
-
-}
-
-extern "C" int IGUIListBoxInsertItem(int index, char * text, int icon)
-{
-
-	 temp = iGUIListBoxObj->insertItem(index, text, icon);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIListBoxSwapItems(int index1, int index2)
-{
-
-	iGUIListBoxObj->swapItems(index1, index2);
-
-}
-
-extern "C" int IGUIListBoxSetItemHeight(int height)
-{
-
-	iGUIListBoxObj->setItemHeight(height);
-
-}
-
-extern "C" int IGUIListBoxSetDrawBackground(int draw)
-{
-
-	iGUIListBoxObj->setDrawBackground(draw);
-
-}
-
-extern "C" int IGUIWindowIGUIWindow(int environment, int parent, int id, int EGUIET_WINDOW, int arg5, int arg6, int arg7)
-{
-
-	iGUIWindowObj->IGUIWindow(environment, parent, id, EGUIET_WINDOW, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIWindowGetCloseButton()
-{
-
-	IGUIButton * temp = iGUIWindowObj->getCloseButton();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIWindowGetMinimizeButton()
-{
-
-	IGUIButton * temp = iGUIWindowObj->getMinimizeButton();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIWindowGetMaximizeButton()
-{
-
-	IGUIButton * temp = iGUIWindowObj->getMaximizeButton();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIWindowIsDraggable()
-{
-
-	bool temp = iGUIWindowObj->isDraggable();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIWindowSetDraggable(int draggable)
-{
-
-	iGUIWindowObj->setDraggable(draggable);
-
-}
-
-extern "C" int IGUIWindowSetDrawBackground(int draw)
-{
-
-	iGUIWindowObj->setDrawBackground(draw);
-
-}
-
-extern "C" int IGUIWindowGetDrawBackground()
-{
-
-	bool temp = iGUIWindowObj->getDrawBackground();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIWindowSetDrawTitlebar(int draw)
-{
-
-	iGUIWindowObj->setDrawTitlebar(draw);
-
-}
-
-extern "C" int IGUIWindowGetDrawTitlebar()
-{
-
-	bool temp = iGUIWindowObj->getDrawTitlebar();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFileOpenDialogIGUIFileOpenDialog(int environment, int parent, int id, int EGUIET_FILE_OPEN_DIALOG, int arg5, int arg6, int arg7)
-{
-
-	iGUIFileOpenDialogObj->IGUIFileOpenDialog(environment, parent, id, EGUIET_FILE_OPEN_DIALOG, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIFileOpenDialogGetFileName()
-{
-
-	wchar_t * temp = iGUIFileOpenDialogObj->getFileName();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFileOpenDialogGetDirectoryName()
-{
-
-	 temp = iGUIFileOpenDialogObj->getDirectoryName();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleBoxEmitterSetBox(int box)
-{
-
-	iParticleBoxEmitterObj->setBox(box);
-
-}
-
-extern "C" int IParticleBoxEmitterGetBox()
-{
-
-	 temp = iParticleBoxEmitterObj->getBox();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleBoxEmitterGetType()
-{
-
-	 temp = iParticleBoxEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ICursorControlSetVisible(int visible)
-{
-
-	iCursorControlObj->setVisible(visible);
-
-}
-
-extern "C" int ICursorControlIsVisible()
-{
-
-	bool temp = iCursorControlObj->isVisible();
-	return (int) temp;
-
-}
-
-extern "C" int ICursorControlSetPosition(int pos)
-{
-
-	iCursorControlObj->setPosition(pos);
-
-}
-
-extern "C" int ICursorControlSetPosition(int x, int y)
-{
-
-	iCursorControlObj->setPosition(x, y);
-
-}
-
-extern "C" int ICursorControlSetPosition(int pos)
-{
-
-	iCursorControlObj->setPosition(pos);
-
-}
-
-extern "C" int ICursorControlSetPosition(int x, int y)
-{
-
-	iCursorControlObj->setPosition(x, y);
-
-}
-
-extern "C" int ICursorControlGetPosition()
-{
-
-	 temp = iCursorControlObj->getPosition();
-	return (int) temp;
-
-}
-
-extern "C" int ICursorControlGetRelativePosition()
-{
-
-	 temp = iCursorControlObj->getRelativePosition();
-	return (int) temp;
-
-}
-
-extern "C" int ICursorControlSetReferenceRect(int rect)
-{
-
-	iCursorControlObj->setReferenceRect(rect);
-
-}
-
-extern "C" int IBoneSceneNodeIBoneSceneNode(int parent, int mgr, int id, int arg4, int 1)
-{
-
-	iBoneSceneNodeObj->IBoneSceneNode(parent, mgr, id, arg4, 1);
-
-}
-
-extern "C" int IBoneSceneNodeGetBoneName()
-{
-
-	c8 * temp = iBoneSceneNodeObj->getBoneName();
-	return (int) temp;
-
-}
-
-extern "C" int IBoneSceneNodeGetBoneIndex()
-{
-
-	 temp = iBoneSceneNodeObj->getBoneIndex();
-	return (int) temp;
-
-}
-
-extern "C" int IBoneSceneNodeSetAnimationMode(int mode)
-{
-
-	bool temp = iBoneSceneNodeObj->setAnimationMode(mode);
-	return (int) temp;
-
-}
-
-extern "C" int IBoneSceneNodeGetAnimationMode()
-{
-
-	 temp = iBoneSceneNodeObj->getAnimationMode();
-	return (int) temp;
-
-}
-
-extern "C" int IBoneSceneNodeGetBoundingBox()
-{
-
-	 temp = iBoneSceneNodeObj->getBoundingBox();
-	return (int) temp;
-
-}
-
-extern "C" int IBoneSceneNodeOnAnimate(int timeMs)
-{
-
-	iBoneSceneNodeObj->OnAnimate(timeMs);
-
-}
-
-extern "C" int IBoneSceneNodeRender()
-{
-
-	iBoneSceneNodeObj->render();
-
-}
-
-extern "C" int IBoneSceneNodeSetSkinningSpace(int space)
-{
-
-	iBoneSceneNodeObj->setSkinningSpace(space);
-
-}
-
-extern "C" int IBoneSceneNodeGetSkinningSpace()
-{
-
-	 temp = iBoneSceneNodeObj->getSkinningSpace();
-	return (int) temp;
-
-}
-
-extern "C" int IBoneSceneNodeUpdateAbsolutePositionOfAllChildren()
-{
-
-	iBoneSceneNodeObj->updateAbsolutePositionOfAllChildren();
-
-}
-
-extern "C" int IMaterialRendererServicesIMaterialRendererServices()
-{
-
-	 temp = iMaterialRendererServicesObj->IMaterialRendererServices();
-	return (int) temp;
-
-}
-
-extern "C" int IMaterialRendererServicesSetBasicRenderStates(int material, int lastMaterial, int resetAllRenderstates)
-{
-
-	iMaterialRendererServicesObj->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
-
-}
-
-extern "C" int IMaterialRendererServicesSetVertexShaderConstant(char * name, int floats, int count)
-{
-
-	bool temp = iMaterialRendererServicesObj->setVertexShaderConstant(name, floats, count);
-	return (int) temp;
-
-}
-
-extern "C" int IMaterialRendererServicesSetVertexShaderConstant(int data, int startRegister, int constantAmount)
-{
-
-	iMaterialRendererServicesObj->setVertexShaderConstant(data, startRegister, constantAmount);
-
-}
-
-extern "C" int IMaterialRendererServicesSetPixelShaderConstant(char * name, int floats, int count)
-{
-
-	bool temp = iMaterialRendererServicesObj->setPixelShaderConstant(name, floats, count);
-	return (int) temp;
-
-}
-
-extern "C" int IMaterialRendererServicesSetPixelShaderConstant(int data, int startRegister, int constantAmount)
-{
-
-	iMaterialRendererServicesObj->setPixelShaderConstant(data, startRegister, constantAmount);
-
-}
-
-extern "C" int IMaterialRendererServicesGetVideoDriver()
-{
-
-	IVideoDriver * temp = iMaterialRendererServicesObj->getVideoDriver();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListIVertexList()
-{
-
-	 temp = iVertexListObj->IVertexList();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListStride()
-{
-
-	 temp = iVertexListObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSize()
-{
-
-	 temp = iVertexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPush_back(int element)
-{
-
-	iVertexListObj->push_back(element);
-
-}
-
-extern "C" int IVertexListOperator(int index)
-{
-
-	 temp = iVertexListObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetLast()
-{
-
-	 temp = iVertexListObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSet_used(int usedNow)
-{
-
-	iVertexListObj->set_used(usedNow);
-
-}
-
-extern "C" int IVertexListReallocate(int new_size)
-{
-
-	iVertexListObj->reallocate(new_size);
-
-}
-
-extern "C" int IVertexListAllocated_size()
-{
-
-	 temp = iVertexListObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPointer()
-{
-
-	S3DVertex * temp = iVertexListObj->pointer();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetType()
-{
-
-	 temp = iVertexListObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListStride()
-{
-
-	 temp = iVertexListObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSize()
-{
-
-	 temp = iVertexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPush_back(int element)
-{
-
-	iVertexListObj->push_back(element);
-
-}
-
-extern "C" int IVertexListPush_back(int element)
-{
-
-	 temp = iVertexListObj->push_back(element);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListOperator(int index)
-{
-
-	 temp = iVertexListObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetLast()
-{
-
-	 temp = iVertexListObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSet_used(int usedNow)
-{
-
-	iVertexListObj->set_used(usedNow);
-
-}
-
-extern "C" int IVertexListSet_used()
-{
-
-	 temp = iVertexListObj->set_used();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListReallocate(int new_size)
-{
-
-	iVertexListObj->reallocate(new_size);
-
-}
-
-extern "C" int IVertexListReallocate()
-{
-
-	 temp = iVertexListObj->reallocate();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListAllocated_size()
-{
-
-	 temp = iVertexListObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPointer()
-{
-
-	S3DVertex * temp = iVertexListObj->pointer();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetType()
-{
-
-	 temp = iVertexListObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListCVertexBuffer(int ), int 1)
-{
-
-	iVertexListObj->CVertexBuffer(), 1);
-
-}
-
-extern "C" int IVertexListSetType()
-{
-
-	iVertexListObj->setType();
-
-}
-
-extern "C" int IVertexListCVertexBuffer(int ), int 1)
-{
-
-	iVertexListObj->CVertexBuffer(), 1);
-
-}
-
-extern "C" int IVertexListSetType(int ))
-{
-
-	iVertexListObj->setType());
-
-}
-
-extern "C" int IVertexListReallocate(int ))
-{
-
-	iVertexListObj->reallocate());
-
-}
-
-extern "C" int IVertexListSize()
-{
-
-	 temp = iVertexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPush_back(int n)
-{
-
-	 temp = iVertexListObj->push_back(n);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListCVertexBuffer()
-{
-
-	 temp = iVertexListObj->CVertexBuffer();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSetType(int vertexType)
-{
-
-	iVertexListObj->setType(vertexType);
-
-}
-
-extern "C" int IVertexListSwitch()
-{
-
-	iVertexListObj->switch();
-
-}
-
-extern "C" int IVertexListReallocate(int ))
-{
-
-	 temp = iVertexListObj->reallocate());
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSize()
-{
-
-	 temp = iVertexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPush_back(int n)
-{
-
-	 temp = iVertexListObj->push_back(n);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetData()
-{
-
-	iVertexListObj->getData();
-
-}
-
-extern "C" int IVertexListGetType()
-{
-
-	 temp = iVertexListObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListStride()
-{
-
-	 temp = iVertexListObj->stride();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSize()
-{
-
-	 temp = iVertexListObj->size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPush_back(int element)
-{
-
-	iVertexListObj->push_back(element);
-
-}
-
-extern "C" int IVertexListPush_back()
-{
-
-	 temp = iVertexListObj->push_back();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListOperator(int index)
-{
-
-	 temp = iVertexListObj->operator(index);
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetLast()
-{
-
-	 temp = iVertexListObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSet_used(int usedNow)
-{
-
-	iVertexListObj->set_used(usedNow);
-
-}
-
-extern "C" int IVertexListSet_used()
-{
-
-	 temp = iVertexListObj->set_used();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListReallocate(int new_size)
-{
-
-	iVertexListObj->reallocate(new_size);
-
-}
-
-extern "C" int IVertexListReallocate()
-{
-
-	 temp = iVertexListObj->reallocate();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListAllocated_size()
-{
-
-	 temp = iVertexListObj->allocated_size();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListPointer()
-{
-
-	S3DVertex * temp = iVertexListObj->pointer();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListGetHardwareMappingHint()
-{
-
-	 temp = iVertexListObj->getHardwareMappingHint();
-	return (int) temp;
-
-}
-
-extern "C" int IVertexListSetHardwareMappingHint(int NewMappingHint)
-{
-
-	iVertexListObj->setHardwareMappingHint(NewMappingHint);
-
-}
-
-extern "C" int IVertexListSetDirty()
-{
-
-	iVertexListObj->setDirty();
-
-}
-
-extern "C" int IVertexListGetChangedID()
-{
-
-	 temp = iVertexListObj->getChangedID();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSGetMoveSpeed()
-{
-
-	 temp = iSceneNodeAnimatorCameraFPSObj->getMoveSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSSetMoveSpeed(int moveSpeed)
-{
-
-	iSceneNodeAnimatorCameraFPSObj->setMoveSpeed(moveSpeed);
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSGetRotateSpeed()
-{
-
-	 temp = iSceneNodeAnimatorCameraFPSObj->getRotateSpeed();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSSetRotateSpeed(int rotateSpeed)
-{
-
-	iSceneNodeAnimatorCameraFPSObj->setRotateSpeed(rotateSpeed);
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSSetKeyMap(int map, int count)
-{
-
-	iSceneNodeAnimatorCameraFPSObj->setKeyMap(map, count);
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSSetVerticalMovement(int allow)
-{
-
-	iSceneNodeAnimatorCameraFPSObj->setVerticalMovement(allow);
-
-}
-
-extern "C" int ISceneNodeAnimatorCameraFPSSetInvertMouse(int invert)
-{
-
-	iSceneNodeAnimatorCameraFPSObj->setInvertMouse(invert);
-
-}
-
-extern "C" int IGUITabIGUITab(int environment, int parent, int id, int EGUIET_TAB, int arg5, int arg6, int arg7)
-{
-
-	iGUITabObj->IGUITab(environment, parent, id, EGUIET_TAB, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUITabGetNumber()
-{
-
-	 temp = iGUITabObj->getNumber();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabSetDrawBackground(int draw)
-{
-
-	iGUITabObj->setDrawBackground(draw);
-
-}
-
-extern "C" int IGUITabSetBackgroundColor(int c)
-{
-
-	iGUITabObj->setBackgroundColor(c);
-
-}
-
-extern "C" int IGUITabIsDrawingBackground()
-{
-
-	bool temp = iGUITabObj->isDrawingBackground();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabGetBackgroundColor()
-{
-
-	 temp = iGUITabObj->getBackgroundColor();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabSetTextColor(int c)
-{
-
-	iGUITabObj->setTextColor(c);
-
-}
-
-extern "C" int IGUITabGetTextColor()
-{
-
-	 temp = iGUITabObj->getTextColor();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlIGUITabControl(int environment, int parent, int id, int EGUIET_TAB_CONTROL, int arg5, int arg6, int arg7)
-{
-
-	iGUITabControlObj->IGUITabControl(environment, parent, id, EGUIET_TAB_CONTROL, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUITabControlAddTab(char * caption, int id)
-{
-
-	IGUITab * temp = iGUITabControlObj->addTab(caption, id);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlGetTabCount()
-{
-
-	 temp = iGUITabControlObj->getTabCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlGetTab(int idx)
-{
-
-	IGUITab * temp = iGUITabControlObj->getTab(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlSetActiveTab(int idx)
-{
-
-	bool temp = iGUITabControlObj->setActiveTab(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlSetActiveTab(int tab)
-{
-
-	bool temp = iGUITabControlObj->setActiveTab(tab);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlGetActiveTab()
-{
-
-	 temp = iGUITabControlObj->getActiveTab();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlSetTabHeight(int height)
-{
-
-	iGUITabControlObj->setTabHeight(height);
-
-}
-
-extern "C" int IGUITabControlGetTabHeight()
-{
-
-	 temp = iGUITabControlObj->getTabHeight();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlSetTabMaxWidth(int width)
-{
-
-	iGUITabControlObj->setTabMaxWidth(width);
-
-}
-
-extern "C" int IGUITabControlGetTabMaxWidth()
-{
-
-	 temp = iGUITabControlObj->getTabMaxWidth();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlSetTabVerticalAlignment(int alignment)
-{
-
-	iGUITabControlObj->setTabVerticalAlignment(alignment);
-
-}
-
-extern "C" int IGUITabControlGetTabVerticalAlignment()
-{
-
-	 temp = iGUITabControlObj->getTabVerticalAlignment();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITabControlSetTabExtraWidth(int extraWidth)
-{
-
-	iGUITabControlObj->setTabExtraWidth(extraWidth);
-
-}
-
-extern "C" int IGUITabControlGetTabExtraWidth()
-{
-
-	 temp = iGUITabControlObj->getTabExtraWidth();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleCylinderEmitterSetCenter(int center)
-{
-
-	iParticleCylinderEmitterObj->setCenter(center);
-
-}
-
-extern "C" int IParticleCylinderEmitterSetNormal(int normal)
-{
-
-	iParticleCylinderEmitterObj->setNormal(normal);
-
-}
-
-extern "C" int IParticleCylinderEmitterSetRadius(int radius)
-{
-
-	iParticleCylinderEmitterObj->setRadius(radius);
-
-}
-
-extern "C" int IParticleCylinderEmitterSetLength(int length)
-{
-
-	iParticleCylinderEmitterObj->setLength(length);
-
-}
-
-extern "C" int IParticleCylinderEmitterSetOutlineOnly(int outlineOnly)
-{
-
-	iParticleCylinderEmitterObj->setOutlineOnly(outlineOnly);
-
-}
-
-extern "C" int IParticleCylinderEmitterGetCenter()
-{
-
-	 temp = iParticleCylinderEmitterObj->getCenter();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleCylinderEmitterGetNormal()
-{
-
-	 temp = iParticleCylinderEmitterObj->getNormal();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleCylinderEmitterGetRadius()
-{
-
-	 temp = iParticleCylinderEmitterObj->getRadius();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleCylinderEmitterGetLength()
-{
-
-	 temp = iParticleCylinderEmitterObj->getLength();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleCylinderEmitterGetOutlineOnly()
-{
-
-	bool temp = iParticleCylinderEmitterObj->getOutlineOnly();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleCylinderEmitterGetType()
-{
-
-	 temp = iParticleCylinderEmitterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpriteBankGetPositions()
-{
-
-	 temp = iGUISpriteBankObj->getPositions();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpriteBankGetSprites()
-{
-
-	 temp = iGUISpriteBankObj->getSprites();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpriteBankGetTextureCount()
-{
-
-	 temp = iGUISpriteBankObj->getTextureCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpriteBankGetTexture(int index)
-{
-
-	ITexture * temp = iGUISpriteBankObj->getTexture(index);
-	return (int) temp;
-
-}
-
-extern "C" int IGUISpriteBankAddTexture(int texture)
-{
-
-	iGUISpriteBankObj->addTexture(texture);
-
-}
-
-extern "C" int IGUISpriteBankSetTexture(int index, int texture)
-{
-
-	iGUISpriteBankObj->setTexture(index, texture);
-
-}
-
-extern "C" int IGUISpriteBankDraw2DSprite(int index, int pos, int clip, int color, int arg5, int arg6, int starttime, int currenttime, int loop, int center)
-{
-
-	iGUISpriteBankObj->draw2DSprite(index, pos, clip, color, arg5, arg6, starttime, currenttime, loop, center);
-
-}
-
-extern "C" int IGUISpriteBankDraw2DSpriteBatch(int indices, int pos, int clip, int color, int arg5, int arg6, int starttime, int currenttime, int loop, int center)
-{
-
-	iGUISpriteBankObj->draw2DSpriteBatch(indices, pos, clip, color, arg5, arg6, starttime, currenttime, loop, center);
-
-}
-
-extern "C" int IMetaTriangleSelectorAddTriangleSelector(int toAdd)
-{
-
-	iMetaTriangleSelectorObj->addTriangleSelector(toAdd);
-
-}
-
-extern "C" int IMetaTriangleSelectorRemoveTriangleSelector(int toRemove)
-{
-
-	bool temp = iMetaTriangleSelectorObj->removeTriangleSelector(toRemove);
-	return (int) temp;
-
-}
-
-extern "C" int IMetaTriangleSelectorRemoveAllTriangleSelectors()
-{
-
-	iMetaTriangleSelectorObj->removeAllTriangleSelectors();
-
-}
-
-extern "C" int IGUIImageIGUIImage(int environment, int parent, int id, int EGUIET_IMAGE, int arg5, int arg6, int arg7)
-{
-
-	iGUIImageObj->IGUIImage(environment, parent, id, EGUIET_IMAGE, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIImageSetImage(int image)
-{
-
-	iGUIImageObj->setImage(image);
-
-}
-
-extern "C" int IGUIImageSetColor(int color)
-{
-
-	iGUIImageObj->setColor(color);
-
-}
-
-extern "C" int IGUIImageSetScaleImage(int scale)
-{
-
-	iGUIImageObj->setScaleImage(scale);
-
-}
-
-extern "C" int IGUIImageSetUseAlphaChannel(int use)
-{
-
-	iGUIImageObj->setUseAlphaChannel(use);
-
-}
-
-extern "C" int IGUIImageIsImageScaled()
-{
-
-	bool temp = iGUIImageObj->isImageScaled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIImageIsAlphaChannelUsed()
-{
-
-	bool temp = iGUIImageObj->isAlphaChannelUsed();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16)
-{
-
-	iAnimatedMeshSceneNodeObj->IAnimatedMeshSceneNode(parent, mgr, id, position, arg5, rotation, arg8, scale, 0f, parent, arg13, arg14, arg15, arg16);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode()
-{
-
-	 temp = iAnimatedMeshSceneNodeObj->IAnimatedMeshSceneNode();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetCurrentFrame(int frame)
-{
-
-	iAnimatedMeshSceneNodeObj->setCurrentFrame(frame);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetFrameLoop(int begin, int end)
-{
-
-	bool temp = iAnimatedMeshSceneNodeObj->setFrameLoop(begin, end);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetAnimationSpeed(int framesPerSecond)
-{
-
-	iAnimatedMeshSceneNodeObj->setAnimationSpeed(framesPerSecond);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(int shadowMesh, int id, int zfailmethod, int infinity)
-{
-
-	IShadowVolumeSceneNode * temp = iAnimatedMeshSceneNodeObj->addShadowVolumeSceneNode(shadowMesh, id, zfailmethod, infinity);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetJointNode(char * jointName)
-{
-
-	IBoneSceneNode * temp = iAnimatedMeshSceneNodeObj->getJointNode(jointName);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetJointNode(int jointID)
-{
-
-	IBoneSceneNode * temp = iAnimatedMeshSceneNodeObj->getJointNode(jointID);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetJointCount()
-{
-
-	 temp = iAnimatedMeshSceneNodeObj->getJointCount();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetMS3DJointNode(char * jointName)
-{
-
-	ISceneNode * temp = iAnimatedMeshSceneNodeObj->getMS3DJointNode(jointName);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetXJointNode(char * jointName)
-{
-
-	ISceneNode * temp = iAnimatedMeshSceneNodeObj->getXJointNode(jointName);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetMD2Animation(int anim)
-{
-
-	bool temp = iAnimatedMeshSceneNodeObj->setMD2Animation(anim);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetMD2Animation(char * animationName)
-{
-
-	bool temp = iAnimatedMeshSceneNodeObj->setMD2Animation(animationName);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetFrameNr()
-{
-
-	 temp = iAnimatedMeshSceneNodeObj->getFrameNr();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetStartFrame()
-{
-
-	 temp = iAnimatedMeshSceneNodeObj->getStartFrame();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetEndFrame()
-{
-
-	 temp = iAnimatedMeshSceneNodeObj->getEndFrame();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetLoopMode(int playAnimationLooped)
-{
-
-	iAnimatedMeshSceneNodeObj->setLoopMode(playAnimationLooped);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetAnimationEndCallback(int callback)
-{
-
-	iAnimatedMeshSceneNodeObj->setAnimationEndCallback(callback);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetReadOnlyMaterials(int readonly)
-{
-
-	iAnimatedMeshSceneNodeObj->setReadOnlyMaterials(readonly);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeIsReadOnlyMaterials()
-{
-
-	bool temp = iAnimatedMeshSceneNodeObj->isReadOnlyMaterials();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetMesh(int mesh)
-{
-
-	iAnimatedMeshSceneNodeObj->setMesh(mesh);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetMesh()
-{
-
-	IAnimatedMesh * temp = iAnimatedMeshSceneNodeObj->getMesh();
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeGetMD3TagTransformation(int tagname)
-{
-
-	SMD3QuaternionTag * temp = iAnimatedMeshSceneNodeObj->getMD3TagTransformation(tagname);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetJointMode(int mode)
-{
-
-	iAnimatedMeshSceneNodeObj->setJointMode(mode);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetTransitionTime(int Time)
-{
-
-	iAnimatedMeshSceneNodeObj->setTransitionTime(Time);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeAnimateJoints(int CalculateAbsolutePositions)
-{
-
-	iAnimatedMeshSceneNodeObj->animateJoints(CalculateAbsolutePositions);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeSetRenderFromIdentity(int On)
-{
-
-	iAnimatedMeshSceneNodeObj->setRenderFromIdentity(On);
-
-}
-
-extern "C" int IAnimatedMeshSceneNodeClone(int newParent, int newManager)
-{
-
-	ISceneNode * temp = iAnimatedMeshSceneNodeObj->clone(newParent, newManager);
-	return (int) temp;
-
-}
-
-extern "C" int IAnimationEndCallBackOnAnimationEnd(int node)
-{
-
-	iAnimationEndCallBackObj->OnAnimationEnd(node);
-
-}
-
-extern "C" int IGUIColorSelectDialogIGUIColorSelectDialog(int environment, int parent, int id, int EGUIET_COLOR_SELECT_DIALOG, int arg5, int arg6, int arg7)
-{
-
-	iGUIColorSelectDialogObj->IGUIColorSelectDialog(environment, parent, id, EGUIET_COLOR_SELECT_DIALOG, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUITableIGUITable(int environment, int parent, int id, int EGUIET_TABLE, int arg5, int arg6, int arg7)
-{
-
-	iGUITableObj->IGUITable(environment, parent, id, EGUIET_TABLE, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUITableAddColumn(char * caption, int columnIndex)
-{
-
-	iGUITableObj->addColumn(caption, columnIndex);
-
-}
-
-extern "C" int IGUITableRemoveColumn(int columnIndex)
-{
-
-	iGUITableObj->removeColumn(columnIndex);
-
-}
-
-extern "C" int IGUITableGetColumnCount()
-{
-
-	 temp = iGUITableObj->getColumnCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableSetActiveColumn(int idx, int doOrder)
-{
-
-	bool temp = iGUITableObj->setActiveColumn(idx, doOrder);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableGetActiveColumn()
-{
-
-	 temp = iGUITableObj->getActiveColumn();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableGetActiveColumnOrdering()
-{
-
-	 temp = iGUITableObj->getActiveColumnOrdering();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableSetColumnWidth(int columnIndex, int width)
-{
-
-	iGUITableObj->setColumnWidth(columnIndex, width);
-
-}
-
-extern "C" int IGUITableSetResizableColumns(int resizable)
-{
-
-	iGUITableObj->setResizableColumns(resizable);
-
-}
-
-extern "C" int IGUITableHasResizableColumns()
-{
-
-	bool temp = iGUITableObj->hasResizableColumns();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableSetColumnOrdering(int columnIndex, int mode)
-{
-
-	iGUITableObj->setColumnOrdering(columnIndex, mode);
-
-}
-
-extern "C" int IGUITableGetSelected()
-{
-
-	 temp = iGUITableObj->getSelected();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableSetSelected(int index)
-{
-
-	iGUITableObj->setSelected(index);
-
-}
-
-extern "C" int IGUITableGetRowCount()
-{
-
-	 temp = iGUITableObj->getRowCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableAddRow(int rowIndex)
-{
-
-	 temp = iGUITableObj->addRow(rowIndex);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableRemoveRow(int rowIndex)
-{
-
-	iGUITableObj->removeRow(rowIndex);
-
-}
-
-extern "C" int IGUITableClearRows()
-{
-
-	iGUITableObj->clearRows();
-
-}
-
-extern "C" int IGUITableSwapRows(int rowIndexA, int rowIndexB)
-{
-
-	iGUITableObj->swapRows(rowIndexA, rowIndexB);
-
-}
-
-extern "C" int IGUITableOrderRows(int columnIndex, int mode)
-{
-
-	iGUITableObj->orderRows(columnIndex, mode);
-
-}
-
-extern "C" int IGUITableSetCellText(int rowIndex, int columnIndex, int text)
-{
-
-	iGUITableObj->setCellText(rowIndex, columnIndex, text);
-
-}
-
-extern "C" int IGUITableSetCellText(int rowIndex, int columnIndex, int text, int color)
-{
-
-	iGUITableObj->setCellText(rowIndex, columnIndex, text, color);
-
-}
-
-extern "C" int IGUITableSetCellData(int rowIndex, int columnIndex, int data)
-{
-
-	iGUITableObj->setCellData(rowIndex, columnIndex, data);
-
-}
-
-extern "C" int IGUITableSetCellColor(int rowIndex, int columnIndex, int color)
-{
-
-	iGUITableObj->setCellColor(rowIndex, columnIndex, color);
-
-}
-
-extern "C" int IGUITableGetCellText(int rowIndex, int columnIndex)
-{
-
-	wchar_t * temp = iGUITableObj->getCellText(rowIndex, columnIndex);
-	return (int) temp;
-
-}
-
-extern "C" int IGUITableGetCellData(int rowIndex, int columnIndex)
-{
-
-	iGUITableObj->getCellData(rowIndex, columnIndex);
-
-}
-
-extern "C" int IGUITableClear()
-{
-
-	iGUITableObj->clear();
-
-}
-
-extern "C" int IGUITableSetDrawFlags(int flags)
-{
-
-	iGUITableObj->setDrawFlags(flags);
-
-}
-
-extern "C" int IGUITableGetDrawFlags()
-{
-
-	 temp = iGUITableObj->getDrawFlags();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeFactoryAddSceneNode(int type, int parent)
-{
-
-	ISceneNode * temp = iSceneNodeFactoryObj->addSceneNode(type, parent);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeFactoryAddSceneNode(char * typeName, int parent)
-{
-
-	ISceneNode * temp = iSceneNodeFactoryObj->addSceneNode(typeName, parent);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeFactoryGetCreatableSceneNodeTypeCount()
-{
-
-	 temp = iSceneNodeFactoryObj->getCreatableSceneNodeTypeCount();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeFactoryGetCreateableSceneNodeType(int idx)
-{
-
-	 temp = iSceneNodeFactoryObj->getCreateableSceneNodeType(idx);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int idx)
-{
-
-	c8 * temp = iSceneNodeFactoryObj->getCreateableSceneNodeTypeName(idx);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int type)
-{
-
-	c8 * temp = iSceneNodeFactoryObj->getCreateableSceneNodeTypeName(type);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontDraw(int text, int position, int color, int hcenter, int vcenter, int clip)
-{
-
-	iGUIFontObj->draw(text, position, color, hcenter, vcenter, clip);
-
-}
-
-extern "C" int IGUIFontGetDimension(char * text)
-{
-
-	 temp = iGUIFontObj->getDimension(text);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontGetCharacterFromPos(char * text, int pixel_x)
-{
-
-	 temp = iGUIFontObj->getCharacterFromPos(text, pixel_x);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontGetType()
-{
-
-	 temp = iGUIFontObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontSetKerningWidth(int kerning)
-{
-
-	iGUIFontObj->setKerningWidth(kerning);
-
-}
-
-extern "C" int IGUIFontSetKerningHeight(int kerning)
-{
-
-	iGUIFontObj->setKerningHeight(kerning);
-
-}
-
-extern "C" int IGUIFontGetKerningWidth(char * thisLetter, char * previousLetter)
-{
-
-	 temp = iGUIFontObj->getKerningWidth(thisLetter, previousLetter);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontGetKerningHeight()
-{
-
-	 temp = iGUIFontObj->getKerningHeight();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIFontSetInvisibleCharacters(char * s)
-{
-
-	iGUIFontObj->setInvisibleCharacters(s);
-
-}
-
-extern "C" int IMeshWriterIMeshWriter()
-{
-
-	 temp = iMeshWriterObj->IMeshWriter();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshWriterGetType()
-{
-
-	 temp = iMeshWriterObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IMeshWriterWriteMesh(int file, int mesh, int flags)
-{
-
-	bool temp = iMeshWriterObj->writeMesh(file, mesh, flags);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementFactoryAddGUIElement(int type, int parent)
-{
-
-	IGUIElement * temp = iGUIElementFactoryObj->addGUIElement(type, parent);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementFactoryAddGUIElement(char * typeName, int parent)
-{
-
-	IGUIElement * temp = iGUIElementFactoryObj->addGUIElement(typeName, parent);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementFactoryGetCreatableGUIElementTypeCount()
-{
-
-	 temp = iGUIElementFactoryObj->getCreatableGUIElementTypeCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementFactoryGetCreateableGUIElementType(int idx)
-{
-
-	 temp = iGUIElementFactoryObj->getCreateableGUIElementType(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementFactoryGetCreateableGUIElementTypeName(int idx)
-{
-
-	c8 * temp = iGUIElementFactoryObj->getCreateableGUIElementTypeName(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementFactoryGetCreateableGUIElementTypeName(int type)
-{
-
-	c8 * temp = iGUIElementFactoryObj->getCreateableGUIElementTypeName(type);
-	return (int) temp;
-
-}
-
-extern "C" int IShaderConstantSetCallBackOnSetMaterial(int material)
-{
-
-	iShaderConstantSetCallBackObj->OnSetMaterial(material);
-
-}
-
-extern "C" int IShaderConstantSetCallBackOnSetConstants(int services, int userData)
-{
-
-	iShaderConstantSetCallBackObj->OnSetConstants(services, userData);
-
-}
-
-extern "C" int IMeshManipulatorFlipSurfaces(int mesh)
-{
-
-	iMeshManipulatorObj->flipSurfaces(mesh);
-
-}
-
-extern "C" int IMeshManipulatorSetVertexColorAlpha(int mesh, int alpha)
-{
-
-	iMeshManipulatorObj->setVertexColorAlpha(mesh, alpha);
-
-}
-
-extern "C" int IMeshManipulatorSetVertexColors(int mesh, int color)
-{
-
-	iMeshManipulatorObj->setVertexColors(mesh, color);
-
-}
-
-extern "C" int IMeshManipulatorRecalculateNormals(int mesh, int smooth, int angleWeighted)
-{
-
-	iMeshManipulatorObj->recalculateNormals(mesh, smooth, angleWeighted);
-
-}
-
-extern "C" int IMeshManipulatorRecalculateNormals(int buffer, int smooth, int angleWeighted)
-{
-
-	iMeshManipulatorObj->recalculateNormals(buffer, smooth, angleWeighted);
-
-}
-
-extern "C" int IMeshManipulatorScale(int mesh, int factor)
-{
-
-	iMeshManipulatorObj->scale(mesh, factor);
-
-}
-
-extern "C" int IMeshManipulatorScale(int buffer, int factor)
-{
-
-	iMeshManipulatorObj->scale(buffer, factor);
-
-}
-
-extern "C" int IMeshManipulatorScaleMesh(int mesh, int factor)
-{
-
-	iMeshManipulatorObj->scaleMesh(mesh, factor);
-
-}
-
-extern "C" int IMeshManipulatorScaleTCoords(int mesh, int factor, int level)
-{
-
-	iMeshManipulatorObj->scaleTCoords(mesh, factor, level);
-
-}
-
-extern "C" int IMeshManipulatorScaleTCoords(int buffer, int factor, int level)
-{
-
-	iMeshManipulatorObj->scaleTCoords(buffer, factor, level);
-
-}
-
-extern "C" int IMeshManipulatorTransform(int mesh, int m)
-{
-
-	iMeshManipulatorObj->transform(mesh, m);
-
-}
-
-extern "C" int IMeshManipulatorTransform(int buffer, int m)
-{
-
-	iMeshManipulatorObj->transform(buffer, m);
-
-}
-
-extern "C" int IMeshManipulatorTransformMesh(int mesh, int m)
-{
-
-	iMeshManipulatorObj->transformMesh(mesh, m);
-
-}
-
-extern "C" int IMeshManipulatorCreateMeshCopy(int mesh)
-{
-
-	SMesh * temp = iMeshManipulatorObj->createMeshCopy(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorMakePlanarTextureMapping(int mesh, int resolution)
-{
-
-	iMeshManipulatorObj->makePlanarTextureMapping(mesh, resolution);
-
-}
-
-extern "C" int IMeshManipulatorMakePlanarTextureMapping(int meshbuffer, int resolution)
-{
-
-	iMeshManipulatorObj->makePlanarTextureMapping(meshbuffer, resolution);
-
-}
-
-extern "C" int IMeshManipulatorMakePlanarTextureMapping(int buffer, int resolutionS, int resolutionT, int axis, int offset)
-{
-
-	iMeshManipulatorObj->makePlanarTextureMapping(buffer, resolutionS, resolutionT, axis, offset);
-
-}
-
-extern "C" int IMeshManipulatorCreateMeshWithTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted)
-{
-
-	IMesh * temp = iMeshManipulatorObj->createMeshWithTangents(mesh, recalculateNormals, smooth, angleWeighted);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorCreateMeshWith2TCoords(int mesh)
-{
-
-	IMesh * temp = iMeshManipulatorObj->createMeshWith2TCoords(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorCreateMeshWith1TCoords(int mesh)
-{
-
-	IMesh * temp = iMeshManipulatorObj->createMeshWith1TCoords(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorCreateMeshUniquePrimitives(int mesh)
-{
-
-	IMesh * temp = iMeshManipulatorObj->createMeshUniquePrimitives(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorCreateMeshWelded(int mesh, int tolerance)
-{
-
-	IMesh * temp = iMeshManipulatorObj->createMeshWelded(mesh, tolerance);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorGetPolyCount(int mesh)
-{
-
-	 temp = iMeshManipulatorObj->getPolyCount(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorGetPolyCount(int mesh)
-{
-
-	 temp = iMeshManipulatorObj->getPolyCount(mesh);
-	return (int) temp;
-
-}
-
-extern "C" int IMeshManipulatorCreateAnimatedMesh(int mesh, int type)
-{
-
-	IAnimatedMesh * temp = iMeshManipulatorObj->createAnimatedMesh(mesh, type);
-	return (int) temp;
-
-}
-
-extern "C" int SColorHSLSColorHSL(int h, int s, int l, int l)
-{
-
-	sColorHSLObj->SColorHSL(h, s, l, l);
-
-}
-
-extern "C" int SColorHSLFromRGB(int color)
-{
-
-	sColorHSLObj->fromRGB(color);
-
-}
-
-extern "C" int SColorHSLToRGB(int color)
-{
-
-	sColorHSLObj->toRGB(color);
-
-}
-
-extern "C" int SColorSColor()
-{
-
-	sColorObj->SColor();
-
-}
-
-extern "C" int SColorSColor(int a, int r, int g)
-{
-
-	sColorObj->SColor(a, r, g);
-
-}
-
-extern "C" int SColorSColor(int clr)
-{
-
-	sColorObj->SColor(clr);
-
-}
-
-extern "C" int SColorGetAlpha()
-{
-
-	 temp = sColorObj->getAlpha();
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetRed()
-{
-
-	 temp = sColorObj->getRed();
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetGreen()
-{
-
-	 temp = sColorObj->getGreen();
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetBlue()
-{
-
-	 temp = sColorObj->getBlue();
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetLuminance()
-{
-
-	 temp = sColorObj->getLuminance();
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetAverage()
-{
-
-	 temp = sColorObj->getAverage();
-	return (int) temp;
-
-}
-
-extern "C" int SColorSetAlpha(int a)
-{
-
-	sColorObj->setAlpha(a);
-
-}
-
-extern "C" int SColor=(int 0x00ffffff)
-{
-
-	 temp = sColorObj->=(0x00ffffff);
-	return (int) temp;
-
-}
-
-extern "C" int SColorSetRed(int r)
-{
-
-	sColorObj->setRed(r);
-
-}
-
-extern "C" int SColor=(int 0xff00ffff)
-{
-
-	 temp = sColorObj->=(0xff00ffff);
-	return (int) temp;
-
-}
-
-extern "C" int SColorSetGreen(int g)
-{
-
-	sColorObj->setGreen(g);
-
-}
-
-extern "C" int SColor=(int 0xffff00ff)
-{
-
-	 temp = sColorObj->=(0xffff00ff);
-	return (int) temp;
-
-}
-
-extern "C" int SColorSetBlue(int b)
-{
-
-	sColorObj->setBlue(b);
-
-}
-
-extern "C" int SColor=(int 0xffffff00)
-{
-
-	 temp = sColorObj->=(0xffffff00);
-	return (int) temp;
-
-}
-
-extern "C" int SColorToA1R5G5B5()
-{
-
-	 temp = sColorObj->toA1R5G5B5();
-	return (int) temp;
-
-}
-
-extern "C" int SColorToOpenGLColor(int dest)
-{
-
-	sColorObj->toOpenGLColor(dest);
-
-}
-
-extern "C" int SColor=(int ()
-{
-
-	 temp = sColorObj->=(();
-	return (int) temp;
-
-}
-
-extern "C" int SColor=(int ()
-{
-
-	 temp = sColorObj->=(();
-	return (int) temp;
-
-}
-
-extern "C" int SColor=(int ()
-{
-
-	 temp = sColorObj->=(();
-	return (int) temp;
-
-}
-
-extern "C" int SColor=(int ()
-{
-
-	 temp = sColorObj->=(();
-	return (int) temp;
-
-}
-
-extern "C" int SColorSet(int a, int r, int g, int b)
-{
-
-	sColorObj->set(a, r, g, b);
-
-}
-
-extern "C" int SColor=(int ))
-{
-
-	 temp = sColorObj->=());
-	return (int) temp;
-
-}
-
-extern "C" int SColorSet(int col)
-{
-
-	sColorObj->set(col);
-
-}
-
-extern "C" int SColor=(int other)
-{
-
-	bool temp = sColorObj->=(other);
-	return (int) temp;
-
-}
-
-extern "C" int SColor=(int other)
-{
-
-	bool temp = sColorObj->=(other);
-	return (int) temp;
-
-}
-
-extern "C" int SColor<(int other)
-{
-
-	bool temp = sColorObj-><(other);
-	return (int) temp;
-
-}
-
-extern "C" int SColor+(int other)
-{
-
-	 temp = sColorObj->+(other);
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetInterpolated(int other, int d)
-{
-
-	 temp = sColorObj->getInterpolated(other, d);
-	return (int) temp;
-
-}
-
-extern "C" int SColorClamp(int arg1, int f, int f)
-{
-
-	 temp = sColorObj->clamp(arg1, f, f);
-	return (int) temp;
-
-}
-
-extern "C" int SColorGetInterpolated_quadratic(int c1, int c2, int d)
-{
-
-	 temp = sColorObj->getInterpolated_quadratic(c1, c2, d);
-	return (int) temp;
-
-}
-
-extern "C" int SColorClamp(int arg1, int f, int f)
-{
-
-	 temp = sColorObj->clamp(arg1, f, f);
-	return (int) temp;
-
-}
-
-extern "C" int SColorfSColorf(int ), int 0f)
-{
-
-	sColorfObj->SColorf(), 0f);
-
-}
-
-extern "C" int SColorfSColorf(int r, int g, int b, int a, int a)
-{
-
-	sColorfObj->SColorf(r, g, b, a, a);
-
-}
-
-extern "C" int SColorfSColorf(int c)
-{
-
-	sColorfObj->SColorf(c);
-
-}
-
-extern "C" int SColorfGetRed()
-{
-
-	 temp = sColorfObj->getRed();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetGreen()
-{
-
-	 temp = sColorfObj->getGreen();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetBlue()
-{
-
-	 temp = sColorfObj->getBlue();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetAlpha()
-{
-
-	 temp = sColorfObj->getAlpha();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfToSColor()
-{
-
-	 temp = sColorfObj->toSColor();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfSet(int rr, int gg, int bb)
-{
-
-	sColorfObj->set(rr, gg, bb);
-
-}
-
-extern "C" int SColorfSet(int aa, int rr, int gg, int bb)
-{
-
-	sColorfObj->set(aa, rr, gg, bb);
-
-}
-
-extern "C" int SColorfGetInterpolated(int other, int d)
-{
-
-	 temp = sColorfObj->getInterpolated(other, d);
-	return (int) temp;
-
-}
-
-extern "C" int SColorfClamp(int arg1, int f, int f)
-{
-
-	 temp = sColorfObj->clamp(arg1, f, f);
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetInterpolated_quadratic(int c1, int c2, int d)
-{
-
-	 temp = sColorfObj->getInterpolated_quadratic(c1, c2, d);
-	return (int) temp;
-
-}
-
-extern "C" int SColorfClamp(int arg1, int f, int f)
-{
-
-	 temp = sColorfObj->clamp(arg1, f, f);
-	return (int) temp;
-
-}
-
-extern "C" int SColorfSetColorComponentValue(int index, int value)
-{
-
-	sColorfObj->setColorComponentValue(index, value);
-
-}
-
-extern "C" int SColorfSwitch()
-{
-
-	sColorfObj->switch();
-
-}
-
-extern "C" int SColorfGetAlpha()
-{
-
-	 temp = sColorfObj->getAlpha();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetRed()
-{
-
-	 temp = sColorfObj->getRed();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetGreen()
-{
-
-	 temp = sColorfObj->getGreen();
-	return (int) temp;
-
-}
-
-extern "C" int SColorfGetBlue()
-{
-
-	 temp = sColorfObj->getBlue();
-	return (int) temp;
-
-}
-
-extern "C" int IImageLoaderIsALoadableFileExtension(int filename)
-{
-
-	bool temp = iImageLoaderObj->isALoadableFileExtension(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IImageLoaderIsALoadableFileFormat(int file)
-{
-
-	bool temp = iImageLoaderObj->isALoadableFileFormat(file);
-	return (int) temp;
-
-}
-
-extern "C" int IImageLoaderLoadImage(int file)
-{
-
-	IImage * temp = iImageLoaderObj->loadImage(file);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorAnimateNode(int node, int timeMs)
-{
-
-	iSceneNodeAnimatorObj->animateNode(node, timeMs);
-
-}
-
-extern "C" int ISceneNodeAnimatorCreateClone(int node, int newManager)
-{
-
-	ISceneNodeAnimator * temp = iSceneNodeAnimatorObj->createClone(node, newManager);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorIsEventReceiverEnabled()
-{
-
-	bool temp = iSceneNodeAnimatorObj->isEventReceiverEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorOnEvent(int event)
-{
-
-	bool temp = iSceneNodeAnimatorObj->OnEvent(event);
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorGetType()
-{
-
-	 temp = iSceneNodeAnimatorObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ISceneNodeAnimatorHasFinished()
-{
-
-	bool temp = iSceneNodeAnimatorObj->hasFinished();
-	return (int) temp;
-
-}
-
-extern "C" int IOSOperatorIOSOperator()
-{
-
-	 temp = iOSOperatorObj->IOSOperator();
-	return (int) temp;
-
-}
-
-extern "C" int IOSOperatorGetOperationSystemVersion()
-{
-
-	wchar_t * temp = iOSOperatorObj->getOperationSystemVersion();
-	return (int) temp;
-
-}
-
-extern "C" int IOSOperatorCopyToClipboard(char * text)
-{
-
-	iOSOperatorObj->copyToClipboard(text);
-
-}
-
-extern "C" int IOSOperatorGetTextFromClipboard()
-{
-
-	c8 * temp = iOSOperatorObj->getTextFromClipboard();
-	return (int) temp;
-
-}
-
-extern "C" int IOSOperatorGetProcessorSpeedMHz(int MHz)
-{
-
-	bool temp = iOSOperatorObj->getProcessorSpeedMHz(MHz);
-	return (int) temp;
-
-}
-
-extern "C" int IOSOperatorGetSystemMemory(int Total, int Avail)
-{
-
-	bool temp = iOSOperatorObj->getSystemMemory(Total, Avail);
-	return (int) temp;
-
-}
-
-extern "C" int IQ3LevelMeshGetShader(char * filename, int fileNameIsValid)
-{
-
-	IShader * temp = iQ3LevelMeshObj->getShader(filename, fileNameIsValid);
-	return (int) temp;
-
-}
-
-extern "C" int IQ3LevelMeshGetShader(int index)
-{
-
-	IShader * temp = iQ3LevelMeshObj->getShader(index);
-	return (int) temp;
-
-}
-
-extern "C" int IQ3LevelMeshGetEntityList()
-{
-
-	 temp = iQ3LevelMeshObj->getEntityList();
-	return (int) temp;
-
-}
-
-extern "C" int IImageWriterIsAWriteableFileExtension(int filename)
-{
-
-	bool temp = iImageWriterObj->isAWriteableFileExtension(filename);
-	return (int) temp;
-
-}
-
-extern "C" int IImageWriterWriteImage(int file, int image, int param)
-{
-
-	bool temp = iImageWriterObj->writeImage(file, image, param);
-	return (int) temp;
-
-}
-
-extern "C" int ILightManagerOnPreRender(int lightList)
-{
-
-	iLightManagerObj->OnPreRender(lightList);
-
-}
-
-extern "C" int ILightManagerOnPostRender()
-{
-
-	iLightManagerObj->OnPostRender();
-
-}
-
-extern "C" int ILightManagerOnRenderPassPreRender(int renderPass)
-{
-
-	iLightManagerObj->OnRenderPassPreRender(renderPass);
-
-}
-
-extern "C" int ILightManagerOnRenderPassPostRender(int renderPass)
-{
-
-	iLightManagerObj->OnRenderPassPostRender(renderPass);
-
-}
-
-extern "C" int ILightManagerOnNodePreRender(int node)
-{
-
-	iLightManagerObj->OnNodePreRender(node);
-
-}
-
-extern "C" int ILightManagerOnNodePostRender(int node)
-{
-
-	iLightManagerObj->OnNodePostRender(node);
-
-}
-
-extern "C" int IParticleAttractionAffectorSetPoint(int point)
-{
-
-	iParticleAttractionAffectorObj->setPoint(point);
-
-}
-
-extern "C" int IParticleAttractionAffectorSetAttract(int attract)
-{
-
-	iParticleAttractionAffectorObj->setAttract(attract);
-
-}
-
-extern "C" int IParticleAttractionAffectorSetAffectX(int affect)
-{
-
-	iParticleAttractionAffectorObj->setAffectX(affect);
-
-}
-
-extern "C" int IParticleAttractionAffectorSetAffectY(int affect)
-{
-
-	iParticleAttractionAffectorObj->setAffectY(affect);
-
-}
-
-extern "C" int IParticleAttractionAffectorSetAffectZ(int affect)
-{
-
-	iParticleAttractionAffectorObj->setAffectZ(affect);
-
-}
-
-extern "C" int IParticleAttractionAffectorGetPoint()
-{
-
-	 temp = iParticleAttractionAffectorObj->getPoint();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAttractionAffectorGetAttract()
-{
-
-	bool temp = iParticleAttractionAffectorObj->getAttract();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAttractionAffectorGetAffectX()
-{
-
-	bool temp = iParticleAttractionAffectorObj->getAffectX();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAttractionAffectorGetAffectY()
-{
-
-	bool temp = iParticleAttractionAffectorObj->getAffectY();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAttractionAffectorGetAffectZ()
-{
-
-	bool temp = iParticleAttractionAffectorObj->getAffectZ();
-	return (int) temp;
-
-}
-
-extern "C" int IParticleAttractionAffectorGetType()
-{
-
-	 temp = iParticleAttractionAffectorObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int ILightSceneNodeILightSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8)
-{
-
-	iLightSceneNodeObj->ILightSceneNode(parent, mgr, id, position, arg5, parent, arg7, arg8);
-
-}
-
-extern "C" int ILightSceneNodeSetLightData(int light)
-{
-
-	iLightSceneNodeObj->setLightData(light);
-
-}
-
-extern "C" int ILightSceneNodeGetLightData()
-{
-
-	 temp = iLightSceneNodeObj->getLightData();
-	return (int) temp;
-
-}
-
-extern "C" int ILightSceneNodeGetLightData()
-{
-
-	 temp = iLightSceneNodeObj->getLightData();
-	return (int) temp;
-
-}
-
-extern "C" int ILightSceneNodeSetVisible(int isVisible)
-{
-
-	iLightSceneNodeObj->setVisible(isVisible);
-
-}
-
-extern "C" int ILightSceneNodeSetRadius(int radius)
-{
-
-	iLightSceneNodeObj->setRadius(radius);
-
-}
-
-extern "C" int ILightSceneNodeGetRadius()
-{
-
-	 temp = iLightSceneNodeObj->getRadius();
-	return (int) temp;
-
-}
-
-extern "C" int ILightSceneNodeSetLightType(int type)
-{
-
-	iLightSceneNodeObj->setLightType(type);
-
-}
-
-extern "C" int ILightSceneNodeGetLightType()
-{
-
-	 temp = iLightSceneNodeObj->getLightType();
-	return (int) temp;
-
-}
-
-extern "C" int ILightSceneNodeEnableCastShadow(int shadow)
-{
-
-	iLightSceneNodeObj->enableCastShadow(shadow);
-
-}
-
-extern "C" int ILightSceneNodeGetCastShadow()
-{
-
-	bool temp = iLightSceneNodeObj->getCastShadow();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxIGUIComboBox(int environment, int parent, int id, int EGUIET_COMBO_BOX, int arg5, int arg6, int arg7)
-{
-
-	iGUIComboBoxObj->IGUIComboBox(environment, parent, id, EGUIET_COMBO_BOX, arg5, arg6, arg7);
-
-}
-
-extern "C" int IGUIComboBoxGetItemCount()
-{
-
-	 temp = iGUIComboBoxObj->getItemCount();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxGetItem(int idx)
-{
-
-	wchar_t * temp = iGUIComboBoxObj->getItem(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxGetItemData(int idx)
-{
-
-	 temp = iGUIComboBoxObj->getItemData(idx);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxGetIndexForItemData(int data)
-{
-
-	 temp = iGUIComboBoxObj->getIndexForItemData(data);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxAddItem(char * text, int data)
-{
-
-	 temp = iGUIComboBoxObj->addItem(text, data);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxRemoveItem(int idx)
-{
-
-	iGUIComboBoxObj->removeItem(idx);
-
-}
-
-extern "C" int IGUIComboBoxClear()
-{
-
-	iGUIComboBoxObj->clear();
-
-}
-
-extern "C" int IGUIComboBoxGetSelected()
-{
-
-	 temp = iGUIComboBoxObj->getSelected();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIComboBoxSetSelected(int idx)
-{
-
-	iGUIComboBoxObj->setSelected(idx);
-
-}
-
-extern "C" int IGUIComboBoxSetTextAlignment(int horizontal, int vertical)
-{
-
-	iGUIComboBoxObj->setTextAlignment(horizontal, vertical);
-
-}
-
-extern "C" int IGUIElementIGUIElement(int type, int environment, int parent, int id, int 0, int 1, int type)
-{
-
-	iGUIElementObj->IGUIElement(type, environment, parent, id, 0, 1, type);
-
-}
-
-extern "C" int IGUIElementSetDebugName()
-{
-
-	iGUIElementObj->setDebugName();
-
-}
-
-extern "C" int IGUIElementIGUIElement()
-{
-
-	 temp = iGUIElementObj->IGUIElement();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetParent()
-{
-
-	IGUIElement * temp = iGUIElementObj->getParent();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetRelativePosition()
-{
-
-	 temp = iGUIElementObj->getRelativePosition();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetRelativePosition(int r)
-{
-
-	iGUIElementObj->setRelativePosition(r);
-
-}
-
-extern "C" int IGUIElementGetAbsolutePosition()
-{
-
-	 temp = iGUIElementObj->getAbsolutePosition();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementD(int ))
-{
-
-	 temp = iGUIElementObj->d());
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	iGUIElementObj->updateAbsolutePosition();
-
-}
-
-extern "C" int IGUIElementSetRelativePosition(int position)
-{
-
-	iGUIElementObj->setRelativePosition(position);
-
-}
-
-extern "C" int IGUIElementGetSize()
-{
-
-	 temp = iGUIElementObj->getSize();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementRectangle(int X, int Y, int Width, int Height)
-{
-
-	 temp = iGUIElementObj->rectangle(X, Y, Width, Height);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetRelativePosition()
-{
-
-	iGUIElementObj->setRelativePosition();
-
-}
-
-extern "C" int IGUIElementSetRelativePositionProportional(int r)
-{
-
-	iGUIElementObj->setRelativePositionProportional(r);
-
-}
-
-extern "C" int IGUIElementGetAbsolutePosition(int ()
-{
-
-	 temp = iGUIElementObj->getAbsolutePosition(();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	iGUIElementObj->updateAbsolutePosition();
-
-}
-
-extern "C" int IGUIElementGetAbsolutePosition()
-{
-
-	 temp = iGUIElementObj->getAbsolutePosition();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetAbsoluteClippingRect()
-{
-
-	 temp = iGUIElementObj->getAbsoluteClippingRect();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetNotClipped(int noClip)
-{
-
-	iGUIElementObj->setNotClipped(noClip);
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	iGUIElementObj->updateAbsolutePosition();
-
-}
-
-extern "C" int IGUIElementIsNotClipped()
-{
-
-	bool temp = iGUIElementObj->isNotClipped();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetMaxSize(int size)
-{
-
-	iGUIElementObj->setMaxSize(size);
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	iGUIElementObj->updateAbsolutePosition();
-
-}
-
-extern "C" int IGUIElementSetMinSize(int size)
-{
-
-	iGUIElementObj->setMinSize(size);
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	iGUIElementObj->updateAbsolutePosition();
-
-}
-
-extern "C" int IGUIElementSetAlignment(int left, int right, int top, int bottom)
-{
-
-	iGUIElementObj->setAlignment(left, right, top, bottom);
-
-}
-
-extern "C" int IGUIElementR(int ))
-{
-
-	 temp = iGUIElementObj->r());
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementD(int Width, int Height)
-{
-
-	 temp = iGUIElementObj->d(Width, Height);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	iGUIElementObj->updateAbsolutePosition();
-
-}
-
-extern "C" int IGUIElementParentAbsolute(int arg1, int arg2, int arg3)
-{
-
-	 temp = iGUIElementObj->parentAbsolute(arg1, arg2, arg3);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementWhile(int >Parent)
-{
-
-	iGUIElementObj->while(>Parent);
-
-}
-
-extern "C" int IGUIElementGetWidth(int ()
-{
-
-	 temp = iGUIElementObj->getWidth(();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetHeight(int ()
-{
-
-	 temp = iGUIElementObj->getHeight(();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSwitch()
-{
-
-	iGUIElementObj->switch();
-
-}
-
-extern "C" int IGUIElement=(int fw)
-{
-
-	 temp = iGUIElementObj->=(fw);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSwitch()
-{
-
-	iGUIElementObj->switch();
-
-}
-
-extern "C" int IGUIElement=(int fw)
-{
-
-	 temp = iGUIElementObj->=(fw);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSwitch()
-{
-
-	iGUIElementObj->switch();
-
-}
-
-extern "C" int IGUIElement=(int fh)
-{
-
-	 temp = iGUIElementObj->=(fh);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSwitch()
-{
-
-	iGUIElementObj->switch();
-
-}
-
-extern "C" int IGUIElement=(int fh)
-{
-
-	 temp = iGUIElementObj->=(fh);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetWidth()
-{
-
-	 temp = iGUIElementObj->getWidth();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetHeight()
-{
-
-	 temp = iGUIElementObj->getHeight();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementRepair()
-{
-
-	 temp = iGUIElementObj->repair();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementClipAgainst()
-{
-
-	 temp = iGUIElementObj->clipAgainst();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetElementFromPoint(int point)
-{
-
-	IGUIElement * temp = iGUIElementObj->getElementFromPoint(point);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetLast()
-{
-
-	 temp = iGUIElementObj->getLast();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementWhile(int it)
-{
-
-	iGUIElementObj->while(it);
-
-}
-
-extern "C" int IGUIElement=(int point)
-{
-
-	 temp = iGUIElementObj->=(point);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementIsPointInside(int point)
-{
-
-	bool temp = iGUIElementObj->isPointInside(point);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddChild(int child)
-{
-
-	iGUIElementObj->addChild(child);
-
-}
-
-extern "C" int IGUIElementGrab()
-{
-
-	 temp = iGUIElementObj->grab();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementRemove()
-{
-
-	 temp = iGUIElementObj->remove();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetAbsolutePosition()
-{
-
-	 temp = iGUIElementObj->getAbsolutePosition();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementPush_back()
-{
-
-	 temp = iGUIElementObj->push_back();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementUpdateAbsolutePosition()
-{
-
-	 temp = iGUIElementObj->updateAbsolutePosition();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementRemoveChild(int child)
-{
-
-	iGUIElementObj->removeChild(child);
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementErase()
-{
-
-	 temp = iGUIElementObj->erase();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementRemove()
-{
-
-	iGUIElementObj->remove();
-
-}
-
-extern "C" int IGUIElementDraw()
-{
-
-	iGUIElementObj->draw();
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElement)(int ()
-{
-
-	 temp = iGUIElementObj->)(();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementOnPostRender(int timeMs)
-{
-
-	iGUIElementObj->OnPostRender(timeMs);
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElement)(int timeMs)
-{
-
-	 temp = iGUIElementObj->)(timeMs);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementMove(int absoluteMovement)
-{
-
-	iGUIElementObj->move(absoluteMovement);
-
-}
-
-extern "C" int IGUIElementSetRelativePosition(int absoluteMovement)
-{
-
-	iGUIElementObj->setRelativePosition(absoluteMovement);
-
-}
-
-extern "C" int IGUIElementIsVisible()
-{
-
-	bool temp = iGUIElementObj->isVisible();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetVisible(int visible)
-{
-
-	iGUIElementObj->setVisible(visible);
-
-}
-
-extern "C" int IGUIElementIsSubElement()
-{
-
-	bool temp = iGUIElementObj->isSubElement();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetSubElement(int subElement)
-{
-
-	iGUIElementObj->setSubElement(subElement);
-
-}
-
-extern "C" int IGUIElementSetTabStop(int enable)
-{
-
-	iGUIElementObj->setTabStop(enable);
-
-}
-
-extern "C" int IGUIElementIsTabStop()
-{
-
-	bool temp = iGUIElementObj->isTabStop();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetTabOrder(int index)
-{
-
-	iGUIElementObj->setTabOrder(index);
-
-}
-
-extern "C" int IGUIElementGetTabGroup()
-{
-
-	 temp = iGUIElementObj->getTabGroup();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementWhile(int >Parent)
-{
-
-	iGUIElementObj->while(>Parent);
-
-}
-
-extern "C" int IGUIElementGetNextElement(int 1, int arg2, int arg3, int arg4, int arg5)
-{
-
-	 temp = iGUIElementObj->getNextElement(1, arg2, arg3, arg4, arg5);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetTabOrder()
-{
-
-	 temp = iGUIElementObj->getTabOrder();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetTabOrder()
-{
-
-	 temp = iGUIElementObj->getTabOrder();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetTabGroup(int isGroup)
-{
-
-	iGUIElementObj->setTabGroup(isGroup);
-
-}
-
-extern "C" int IGUIElementIsTabGroup()
-{
-
-	bool temp = iGUIElementObj->isTabGroup();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetTabGroup()
-{
-
-	IGUIElement * temp = iGUIElementObj->getTabGroup();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementWhile(int ret)
-{
-
-	iGUIElementObj->while(ret);
-
-}
-
-extern "C" int IGUIElementIsEnabled()
-{
-
-	bool temp = iGUIElementObj->isEnabled();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetEnabled(int enabled)
-{
-
-	iGUIElementObj->setEnabled(enabled);
-
-}
-
-extern "C" int IGUIElementSetText(char * text)
-{
-
-	iGUIElementObj->setText(text);
-
-}
-
-extern "C" int IGUIElementGetText()
-{
-
-	wchar_t * temp = iGUIElementObj->getText();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetToolTipText(char * text)
-{
-
-	iGUIElementObj->setToolTipText(text);
-
-}
-
-extern "C" int IGUIElementGetToolTipText()
-{
-
-	 temp = iGUIElementObj->getToolTipText();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetID()
-{
-
-	 temp = iGUIElementObj->getID();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetID(int id)
-{
-
-	iGUIElementObj->setID(id);
-
-}
-
-extern "C" int IGUIElementOnEvent(int event)
-{
-
-	bool temp = iGUIElementObj->OnEvent(event);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementBringToFront(int element)
-{
-
-	bool temp = iGUIElementObj->bringToFront(element);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementErase()
-{
-
-	 temp = iGUIElementObj->erase();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementPush_back()
-{
-
-	 temp = iGUIElementObj->push_back();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetChildren()
-{
-
-	 temp = iGUIElementObj->getChildren();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetElementFromId(int id, int searchchildren)
-{
-
-	IGUIElement * temp = iGUIElementObj->getElementFromId(id, searchchildren);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementEnd()
-{
-
-	 temp = iGUIElementObj->end();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementIsMyChild(int child)
-{
-
-	bool temp = iGUIElementObj->isMyChild(child);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementWhile(int child)
-{
-
-	iGUIElementObj->while(child);
-
-}
-
-extern "C" int IGUIElementGetNextElement(int startOrder, int reverse, int group, int first, int closest, int includeInvisible)
-{
-
-	bool temp = iGUIElementObj->getNextElement(startOrder, reverse, group, first, closest, includeInvisible);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElement+(int 1)
-{
-
-	 temp = iGUIElementObj->+(1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementBegin()
-{
-
-	 temp = iGUIElementObj->begin();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementWhile(int it)
-{
-
-	iGUIElementObj->while(it);
-
-}
-
-extern "C" int IGUIElement=(int ()
-{
-
-	 temp = iGUIElementObj->=(();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetTabOrder()
-{
-
-	 temp = iGUIElementObj->getTabOrder();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetTabOrder()
-{
-
-	 temp = iGUIElementObj->getTabOrder();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetType()
-{
-
-	 temp = iGUIElementObj->getType();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetTypeName()
-{
-
-	c8 * temp = iGUIElementObj->getTypeName();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSerializeAttributes(int out, int options)
-{
-
-	iGUIElementObj->serializeAttributes(out, options);
-
-}
-
-extern "C" int IGUIElementAddInt(int arg1)
-{
-
-	 temp = iGUIElementObj->addInt(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddString(int arg1)
-{
-
-	 temp = iGUIElementObj->addString(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddRect(int arg1)
-{
-
-	 temp = iGUIElementObj->addRect(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddPosition2d(int arg1, int Width)
-{
-
-	 temp = iGUIElementObj->addPosition2d(arg1, Width);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddPosition2d(int arg1, int Width)
-{
-
-	 temp = iGUIElementObj->addPosition2d(arg1, Width);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddEnum(int arg1, int arg2)
-{
-
-	 temp = iGUIElementObj->addEnum(arg1, arg2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddEnum(int arg1, int arg2)
-{
-
-	 temp = iGUIElementObj->addEnum(arg1, arg2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddEnum(int arg1, int arg2)
-{
-
-	 temp = iGUIElementObj->addEnum(arg1, arg2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddEnum(int arg1, int arg2)
-{
-
-	 temp = iGUIElementObj->addEnum(arg1, arg2);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddBool(int arg1)
-{
-
-	 temp = iGUIElementObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddBool(int arg1)
-{
-
-	 temp = iGUIElementObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddBool(int arg1)
-{
-
-	 temp = iGUIElementObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddBool(int arg1)
-{
-
-	 temp = iGUIElementObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddInt(int arg1)
-{
-
-	 temp = iGUIElementObj->addInt(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementAddBool(int arg1)
-{
-
-	 temp = iGUIElementObj->addBool(arg1);
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementDeserializeAttributes(int in, int options)
-{
-
-	iGUIElementObj->deserializeAttributes(in, options);
-
-}
-
-extern "C" int IGUIElementSetID(int ))
-{
-
-	iGUIElementObj->setID());
-
-}
-
-extern "C" int IGUIElementSetText(int ))
-{
-
-	iGUIElementObj->setText());
-
-}
-
-extern "C" int IGUIElementSetVisible(int ))
-{
-
-	iGUIElementObj->setVisible());
-
-}
-
-extern "C" int IGUIElementSetEnabled(int ))
-{
-
-	iGUIElementObj->setEnabled());
-
-}
-
-extern "C" int IGUIElementGetAttributeAsBool()
-{
-
-	 temp = iGUIElementObj->getAttributeAsBool();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetAttributeAsBool()
-{
-
-	 temp = iGUIElementObj->getAttributeAsBool();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetAttributeAsInt()
-{
-
-	 temp = iGUIElementObj->getAttributeAsInt();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementGetAttributeAsPosition2d()
-{
-
-	 temp = iGUIElementObj->getAttributeAsPosition2d();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetMaxSize(int X)
-{
-
-	iGUIElementObj->setMaxSize(X);
-
-}
-
-extern "C" int IGUIElementGetAttributeAsPosition2d()
-{
-
-	 temp = iGUIElementObj->getAttributeAsPosition2d();
-	return (int) temp;
-
-}
-
-extern "C" int IGUIElementSetMinSize(int X)
-{
-
-	iGUIElementObj->setMinSize(X);
-
-}
-
-extern "C" int IGUIElementSetAlignment(int "LeftAlign", int "RightAlign", int "TopAlign", int "BottomAlign")
-{
-
-	iGUIElementObj->setAlignment("LeftAlign", "RightAlign", "TopAlign", "BottomAlign");
-
-}
-
-extern "C" int IGUIElementSetRelativePosition(int ))
-{
-
-	iGUIElementObj->setRelativePosition());
-
-}
-
-extern "C" int IGUIElementSetNotClipped(int ))
-{
-
-	iGUIElementObj->setNotClipped());
-
-}
-
-extern "C" int IAttributesGetAttributeCount()
-{
-
-	 temp = iAttributesObj->getAttributeCount();
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeName(int index)
-{
-
-	c8 * temp = iAttributesObj->getAttributeName(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeType(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeType(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeType(int index)
-{
-
-	 temp = iAttributesObj->getAttributeType(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeTypeString(char * attributeName)
-{
-
-	wchar_t * temp = iAttributesObj->getAttributeTypeString(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeTypeString(int index)
-{
-
-	wchar_t * temp = iAttributesObj->getAttributeTypeString(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesExistsAttribute(char * attributeName)
-{
-
-	bool temp = iAttributesObj->existsAttribute(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesFindAttribute(char * attributeName)
-{
-
-	 temp = iAttributesObj->findAttribute(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesClear()
-{
-
-	iAttributesObj->clear();
-
-}
-
-extern "C" int IAttributesRead(int reader, int readCurrentElementOnly, char * elementName)
-{
-
-	bool temp = iAttributesObj->read(reader, readCurrentElementOnly, elementName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesWrite(int writer, int writeXMLHeader, char * elementName)
-{
-
-	bool temp = iAttributesObj->write(writer, writeXMLHeader, elementName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesAddInt(char * attributeName, int value)
-{
-
-	iAttributesObj->addInt(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int value)
-{
-
-	iAttributesObj->setAttribute(attributeName, value);
-
-}
-
-extern "C" int IAttributesGetAttributeAsInt(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsInt(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsInt(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsInt(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int value)
-{
-
-	iAttributesObj->setAttribute(index, value);
-
-}
-
-extern "C" int IAttributesAddFloat(char * attributeName, int value)
-{
-
-	iAttributesObj->addFloat(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int value)
-{
-
-	iAttributesObj->setAttribute(attributeName, value);
-
-}
-
-extern "C" int IAttributesGetAttributeAsFloat(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsFloat(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsFloat(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsFloat(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int value)
-{
-
-	iAttributesObj->setAttribute(index, value);
-
-}
-
-extern "C" int IAttributesAddString(char * attributeName, char * value)
-{
-
-	iAttributesObj->addString(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, char * value)
-{
-
-	iAttributesObj->setAttribute(attributeName, value);
-
-}
-
-extern "C" int IAttributesGetAttributeAsString(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsString(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsString(char * attributeName, char * target)
-{
-
-	iAttributesObj->getAttributeAsString(attributeName, target);
-
-}
-
-extern "C" int IAttributesGetAttributeAsString(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsString(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, char * value)
-{
-
-	iAttributesObj->setAttribute(index, value);
-
-}
-
-extern "C" int IAttributesAddString(char * attributeName, char * value)
-{
-
-	iAttributesObj->addString(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, char * value)
-{
-
-	iAttributesObj->setAttribute(attributeName, value);
-
-}
-
-extern "C" int IAttributesGetAttributeAsStringW(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsStringW(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsStringW(char * attributeName, char * target)
-{
-
-	iAttributesObj->getAttributeAsStringW(attributeName, target);
-
-}
-
-extern "C" int IAttributesGetAttributeAsStringW(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsStringW(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, char * value)
-{
-
-	iAttributesObj->setAttribute(index, value);
-
-}
-
-extern "C" int IAttributesAddBinary(char * attributeName, int data, int dataSizeInBytes)
-{
-
-	iAttributesObj->addBinary(attributeName, data, dataSizeInBytes);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int data, int dataSizeInBytes)
-{
-
-	iAttributesObj->setAttribute(attributeName, data, dataSizeInBytes);
-
-}
-
-extern "C" int IAttributesGetAttributeAsBinaryData(char * attributeName, int outData, int maxSizeInBytes)
-{
-
-	iAttributesObj->getAttributeAsBinaryData(attributeName, outData, maxSizeInBytes);
-
-}
-
-extern "C" int IAttributesGetAttributeAsBinaryData(int index, int outData, int maxSizeInBytes)
-{
-
-	iAttributesObj->getAttributeAsBinaryData(index, outData, maxSizeInBytes);
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int data, int dataSizeInBytes)
-{
-
-	iAttributesObj->setAttribute(index, data, dataSizeInBytes);
-
-}
-
-extern "C" int IAttributesAddArray(char * attributeName, int value)
-{
-
-	iAttributesObj->addArray(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int value)
-{
-
-	iAttributesObj->setAttribute(attributeName, value);
-
-}
-
-extern "C" int IAttributesGetAttributeAsArray(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsArray(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsArray(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsArray(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int value)
-{
-
-	iAttributesObj->setAttribute(index, value);
-
-}
-
-extern "C" int IAttributesAddBool(char * attributeName, int value)
-{
-
-	iAttributesObj->addBool(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int value)
-{
-
-	iAttributesObj->setAttribute(attributeName, value);
-
-}
-
-extern "C" int IAttributesGetAttributeAsBool(char * attributeName)
-{
-
-	bool temp = iAttributesObj->getAttributeAsBool(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsBool(int index)
-{
-
-	bool temp = iAttributesObj->getAttributeAsBool(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int value)
-{
-
-	iAttributesObj->setAttribute(index, value);
-
-}
-
-extern "C" int IAttributesAddEnum(char * attributeName, char * enumValue, char * enumerationLiterals)
-{
-
-	iAttributesObj->addEnum(attributeName, enumValue, enumerationLiterals);
-
-}
-
-extern "C" int IAttributesAddEnum(char * attributeName, int enumValue, char * enumerationLiterals)
-{
-
-	iAttributesObj->addEnum(attributeName, enumValue, enumerationLiterals);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, char * enumValue, char * enumerationLiterals)
-{
-
-	iAttributesObj->setAttribute(attributeName, enumValue, enumerationLiterals);
-
-}
-
-extern "C" int IAttributesGetAttributeAsEnumeration(char * attributeName)
-{
-
-	c8 * temp = iAttributesObj->getAttributeAsEnumeration(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsEnumeration(char * attributeName, char * enumerationLiteralsToUse)
-{
-
-	 temp = iAttributesObj->getAttributeAsEnumeration(attributeName, enumerationLiteralsToUse);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsEnumeration(int index, char * enumerationLiteralsToUse)
-{
-
-	 temp = iAttributesObj->getAttributeAsEnumeration(index, enumerationLiteralsToUse);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsEnumeration(int index)
-{
-
-	c8 * temp = iAttributesObj->getAttributeAsEnumeration(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(char * attributeName, int outLiterals)
-{
-
-	iAttributesObj->getAttributeEnumerationLiteralsOfEnumeration(attributeName, outLiterals);
-
-}
-
-extern "C" int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(int index, int outLiterals)
-{
-
-	iAttributesObj->getAttributeEnumerationLiteralsOfEnumeration(index, outLiterals);
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, char * enumValue, char * enumerationLiterals)
-{
-
-	iAttributesObj->setAttribute(index, enumValue, enumerationLiterals);
-
-}
-
-extern "C" int IAttributesAddColor(char * attributeName, int value)
-{
-
-	iAttributesObj->addColor(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int color)
-{
-
-	iAttributesObj->setAttribute(attributeName, color);
-
-}
-
-extern "C" int IAttributesGetAttributeAsColor(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsColor(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsColor(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsColor(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int color)
-{
-
-	iAttributesObj->setAttribute(index, color);
-
-}
-
-extern "C" int IAttributesAddColorf(char * attributeName, int value)
-{
-
-	iAttributesObj->addColorf(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int color)
-{
-
-	iAttributesObj->setAttribute(attributeName, color);
-
-}
-
-extern "C" int IAttributesGetAttributeAsColorf(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsColorf(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsColorf(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsColorf(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int color)
-{
-
-	iAttributesObj->setAttribute(index, color);
-
-}
-
-extern "C" int IAttributesAddVector3d(char * attributeName, int value)
-{
-
-	iAttributesObj->addVector3d(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsVector3d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsVector3d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsVector3d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsVector3d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddPosition2d(char * attributeName, int value)
-{
-
-	iAttributesObj->addPosition2d(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsPosition2d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsPosition2d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsPosition2d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsPosition2d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddRect(char * attributeName, int value)
-{
-
-	iAttributesObj->addRect(attributeName, value);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsRect(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsRect(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsRect(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsRect(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddMatrix(char * attributeName, int v)
-{
-
-	iAttributesObj->addMatrix(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsMatrix(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsMatrix(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsMatrix(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsMatrix(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddQuaternion(char * attributeName, int v)
-{
-
-	iAttributesObj->addQuaternion(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsQuaternion(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsQuaternion(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsQuaternion(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsQuaternion(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddBox3d(char * attributeName, int v)
-{
-
-	iAttributesObj->addBox3d(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsBox3d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsBox3d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsBox3d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsBox3d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddPlane3d(char * attributeName, int v)
-{
-
-	iAttributesObj->addPlane3d(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsPlane3d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsPlane3d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsPlane3d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsPlane3d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddTriangle3d(char * attributeName, int v)
-{
-
-	iAttributesObj->addTriangle3d(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsTriangle3d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsTriangle3d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsTriangle3d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsTriangle3d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddLine2d(char * attributeName, int v)
-{
-
-	iAttributesObj->addLine2d(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsLine2d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsLine2d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsLine2d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsLine2d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddLine3d(char * attributeName, int v)
-{
-
-	iAttributesObj->addLine3d(attributeName, v);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int v)
-{
-
-	iAttributesObj->setAttribute(attributeName, v);
-
-}
-
-extern "C" int IAttributesGetAttributeAsLine3d(char * attributeName)
-{
-
-	 temp = iAttributesObj->getAttributeAsLine3d(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsLine3d(int index)
-{
-
-	 temp = iAttributesObj->getAttributeAsLine3d(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int v)
-{
-
-	iAttributesObj->setAttribute(index, v);
-
-}
-
-extern "C" int IAttributesAddTexture(char * attributeName, int texture)
-{
-
-	iAttributesObj->addTexture(attributeName, texture);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int texture)
-{
-
-	iAttributesObj->setAttribute(attributeName, texture);
-
-}
-
-extern "C" int IAttributesGetAttributeAsTexture(char * attributeName)
-{
-
-	ITexture * temp = iAttributesObj->getAttributeAsTexture(attributeName);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesGetAttributeAsTexture(int index)
-{
-
-	ITexture * temp = iAttributesObj->getAttributeAsTexture(index);
-	return (int) temp;
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int texture)
-{
-
-	iAttributesObj->setAttribute(index, texture);
-
-}
-
-extern "C" int IAttributesAddUserPointer(char * attributeName, int userPointer)
-{
-
-	iAttributesObj->addUserPointer(attributeName, userPointer);
-
-}
-
-extern "C" int IAttributesSetAttribute(char * attributeName, int userPointer)
-{
-
-	iAttributesObj->setAttribute(attributeName, userPointer);
-
-}
-
-extern "C" int IAttributesGetAttributeAsUserPointer(char * attributeName)
-{
-
-	iAttributesObj->getAttributeAsUserPointer(attributeName);
-
-}
-
-extern "C" int IAttributesGetAttributeAsUserPointer(int index)
-{
-
-	iAttributesObj->getAttributeAsUserPointer(index);
-
-}
-
-extern "C" int IAttributesSetAttribute(int index, int userPointer)
-{
-
-	iAttributesObj->setAttribute(index, userPointer);
-
-}
-
-extern "C" int IXMLWriterIXMLWriter()
-{
-
-	 temp = iXMLWriterObj->IXMLWriter();
-	return (int) temp;
+extern "C" int IGUIButtonIGUIButton(int environment, int parent, int id, int EGUIET_BUTTON)
+{
+
+	iGUIButtonObj->IGUIButton(environment, parent, id, EGUIET_BUTTON);
+
+}
+
+extern "C" int IGUIButtonSetOverrideFont(int font)
+{
+
+	iGUIButtonObj->setOverrideFont(font);
+
+}
+
+extern "C" int IGUIButtonSetImage(int image)
+{
+
+	iGUIButtonObj->setImage(image);
+
+}
+
+extern "C" int IGUIButtonSetImage(int image, int pos)
+{
+
+	iGUIButtonObj->setImage(image, pos);
+
+}
+
+extern "C" int IGUIButtonSetPressedImage(int image)
+{
+
+	iGUIButtonObj->setPressedImage(image);
+
+}
+
+extern "C" int IGUIButtonSetPressedImage(int image, int pos)
+{
+
+	iGUIButtonObj->setPressedImage(image, pos);
+
+}
+
+extern "C" int IGUIButtonSetSpriteBank(int bank)
+{
+
+	iGUIButtonObj->setSpriteBank(bank);
+
+}
+
+extern "C" int IGUIButtonSetSprite(int state, int index, int color, int loop)
+{
+
+	iGUIButtonObj->setSprite(state, index, color, loop);
+
+}
+
+extern "C" int IGUIButtonSetIsPushButton(int isPushButton)
+{
+
+	iGUIButtonObj->setIsPushButton(isPushButton);
+
+}
+
+extern "C" int IGUIButtonSetPressed(int pressed)
+{
+
+	iGUIButtonObj->setPressed(pressed);
+
+}
+
+extern "C" int IGUIButtonIsPressed()
+{
+
+	iGUIButtonObj = isPressed();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonSetUseAlphaChannel(int useAlphaChannel)
+{
+
+	iGUIButtonObj->setUseAlphaChannel(useAlphaChannel);
+
+}
+
+extern "C" int IGUIButtonIsAlphaChannelUsed()
+{
+
+	iGUIButtonObj = isAlphaChannelUsed();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonIsPushButton()
+{
+
+	iGUIButtonObj = isPushButton();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonSetDrawBorder(int border)
+{
+
+	iGUIButtonObj->setDrawBorder(border);
+
+}
+
+extern "C" int IGUIButtonIsDrawingBorder()
+{
+
+	iGUIButtonObj = isDrawingBorder();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonSetScaleImage(int scaleImage)
+{
+
+	iGUIButtonObj->setScaleImage(scaleImage);
+
+}
+
+extern "C" int IGUIButtonIsScalingImage()
+{
+
+	iGUIButtonObj = isScalingImage();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int ISceneUserDataSerializerISceneUserDataSerializer()
+{
+
+	iSceneUserDataSerializerObj = ISceneUserDataSerializer();
+	return (int) iSceneUserDataSerializerObj;
+
+}
+
+extern "C" int ISceneUserDataSerializerOnCreateNode(int node)
+{
+
+	iSceneUserDataSerializerObj->OnCreateNode(node);
+
+}
+
+extern "C" int ISceneUserDataSerializerOnReadUserData(int forSceneNode, int userData)
+{
+
+	iSceneUserDataSerializerObj->OnReadUserData(forSceneNode, userData);
+
+}
+
+extern "C" int ISceneUserDataSerializerCreateUserData(int forSceneNode)
+{
+
+	iSceneUserDataSerializerObj = createUserData(forSceneNode);
+	return (int) iSceneUserDataSerializerObj;
+
+}
+
+extern "C" int IEventReceiverIEventReceiver()
+{
+
+	iEventReceiverObj = IEventReceiver();
+	return (int) iEventReceiverObj;
+
+}
+
+extern "C" int IEventReceiverOnEvent(int event)
+{
+
+	iEventReceiverObj = OnEvent(event);
+	return (int) iEventReceiverObj;
+
+}
+
+extern "C" int IFileArchiveCreateAndOpenFile(int filename)
+{
+
+	iFileArchiveObj = createAndOpenFile(filename);
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IFileArchiveCreateAndOpenFile(int index)
+{
+
+	iFileArchiveObj = createAndOpenFile(index);
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IFileArchiveGetFileList()
+{
+
+	iFileArchiveObj = getFileList();
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IFileArchiveGetType()
+{
+
+	iFileArchiveObj = getType();
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IArchiveLoaderIsALoadableFileFormat(int filename)
+{
+
+	iArchiveLoaderObj = isALoadableFileFormat(filename);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderIsALoadableFileFormat(int file)
+{
+
+	iArchiveLoaderObj = isALoadableFileFormat(file);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderIsALoadableFileFormat(int fileType)
+{
+
+	iArchiveLoaderObj = isALoadableFileFormat(fileType);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderCreateArchive(int filename, int ignoreCase, int ignorePaths)
+{
+
+	iArchiveLoaderObj = createArchive(filename, ignoreCase, ignorePaths);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderCreateArchive(int file, int ignoreCase, int ignorePaths)
+{
+
+	iArchiveLoaderObj = createArchive(file, ignoreCase, ignorePaths);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int ITimerITimer()
+{
+
+	iTimerObj = ITimer();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerGetRealTime()
+{
+
+	iTimerObj = getRealTime();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerGetTime()
+{
+
+	iTimerObj = getTime();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerSetTime(int time)
+{
+
+	iTimerObj->setTime(time);
+
+}
+
+extern "C" int ITimerStop()
+{
+
+	iTimerObj->stop();
+
+}
+
+extern "C" int ITimerStart()
+{
+
+	iTimerObj->start();
+
+}
+
+extern "C" int ITimerSetSpeed(int speed)
+{
+
+	iTimerObj->setSpeed(speed);
+
+}
+
+extern "C" int ITimerGetSpeed()
+{
+
+	iTimerObj = getSpeed();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerIsStopped()
+{
+
+	iTimerObj = isStopped();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerTick()
+{
+
+	iTimerObj->tick();
+
+}
+
+extern "C" int IMeshLoaderIMeshLoader()
+{
+
+	iMeshLoaderObj = IMeshLoader();
+	return (int) iMeshLoaderObj;
+
+}
+
+extern "C" int IMeshLoaderIsALoadableFileExtension(int filename)
+{
+
+	iMeshLoaderObj = isALoadableFileExtension(filename);
+	return (int) iMeshLoaderObj;
+
+}
+
+extern "C" int IMeshLoaderCreateMesh(int file)
+{
+
+	iMeshLoaderObj = createMesh(file);
+	return (int) iMeshLoaderObj;
+
+}
+
+extern "C" int IGUIMeshViewerIGUIMeshViewer(int environment, int parent, int id, int EGUIET_MESH_VIEWER)
+{
+
+	iGUIMeshViewerObj->IGUIMeshViewer(environment, parent, id, EGUIET_MESH_VIEWER);
+
+}
+
+extern "C" int IGUIMeshViewerSetMesh(int mesh)
+{
+
+	iGUIMeshViewerObj->setMesh(mesh);
+
+}
+
+extern "C" int IGUIMeshViewerGetMesh()
+{
+
+	iGUIMeshViewerObj = getMesh();
+	return (int) iGUIMeshViewerObj;
+
+}
+
+extern "C" int IGUIMeshViewerSetMaterial(int material)
+{
+
+	iGUIMeshViewerObj->setMaterial(material);
+
+}
+
+extern "C" int IGUIMeshViewerGetMaterial()
+{
+
+	iGUIMeshViewerObj = getMaterial();
+	return (int) iGUIMeshViewerObj;
+
+}
+
+extern "C" int ISceneManagerISceneManager()
+{
+
+	iSceneManagerObj = ISceneManager();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMesh(int filename)
+{
+
+	iSceneManagerObj = getMesh(filename);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMesh(int file)
+{
+
+	iSceneManagerObj = getMesh(file);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMeshCache()
+{
+
+	iSceneManagerObj = getMeshCache();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetVideoDriver()
+{
+
+	iSceneManagerObj = getVideoDriver();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetGUIEnvironment()
+{
+
+	iSceneManagerObj = getGUIEnvironment();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetFileSystem()
+{
+
+	iSceneManagerObj = getFileSystem();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddVolumeLightSceneNode(int parent, int id, int subdivU, int subdivV, int foot, int tail, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addVolumeLightSceneNode(parent, id, subdivU, subdivV, foot, tail, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCubeSceneNode(int size, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addCubeSceneNode(size, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSphereSceneNode(int radius, int polyCount, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addSphereSceneNode(radius, polyCount, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddAnimatedMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addAnimatedMeshSceneNode(mesh, parent, id, position, rotation, scale, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addMeshSceneNode(mesh, parent, id, position, rotation, scale, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddWaterSurfaceSceneNode(int mesh, int waveHeight, int waveSpeed, int waveLength, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addWaterSurfaceSceneNode(mesh, waveHeight, waveSpeed, waveLength, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCameraSceneNode(int parent, int position, int lookat, int id, int makeActive)
+{
+
+	iSceneManagerObj = addCameraSceneNode(parent, position, lookat, id, makeActive);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCameraSceneNodeMaya(int parent, int rotateSpeed, int zoomSpeed, int translationSpeed, int id, int makeActive)
+{
+
+	iSceneManagerObj = addCameraSceneNodeMaya(parent, rotateSpeed, zoomSpeed, translationSpeed, id, makeActive);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCameraSceneNodeFPS(int parent, int rotateSpeed, int moveSpeed, int id, int keyMapArray, int keyMapSize, int noVerticalMovement, int jumpSpeed, int invertMouse, int makeActive)
+{
+
+	iSceneManagerObj = addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, keyMapArray, keyMapSize, noVerticalMovement, jumpSpeed, invertMouse, makeActive);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddLightSceneNode(int parent, int position, int color, int radius, int id)
+{
+
+	iSceneManagerObj = addLightSceneNode(parent, position, color, radius, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddBillboardSceneNode(int parent, int size, int position, int id, int colorTop, int colorBottom)
+{
+
+	iSceneManagerObj = addBillboardSceneNode(parent, size, position, id, colorTop, colorBottom);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSkyBoxSceneNode(int top, int bottom, int left, int right, int front, int back, int parent, int id)
+{
+
+	iSceneManagerObj = addSkyBoxSceneNode(top, bottom, left, right, front, back, parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSkyDomeSceneNode(int texture, int horiRes, int vertRes, int texturePercentage, int spherePercentage, int radius, int parent, int id)
+{
+
+	iSceneManagerObj = addSkyDomeSceneNode(texture, horiRes, vertRes, texturePercentage, spherePercentage, radius, parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddParticleSystemSceneNode(int withDefaultEmitter, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addParticleSystemSceneNode(withDefaultEmitter, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTerrainSceneNode(int heightMapFileName, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty)
+{
+
+	iSceneManagerObj = addTerrainSceneNode(heightMapFileName, parent, id, position, rotation, scale, vertexColor, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTerrainSceneNode(int heightMapFile, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty)
+{
+
+	iSceneManagerObj = addTerrainSceneNode(heightMapFile, parent, id, position, rotation, scale, vertexColor, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddQuake3SceneNode(int meshBuffer, int shader, int parent, int id)
+{
+
+	iSceneManagerObj = addQuake3SceneNode(meshBuffer, shader, parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddEmptySceneNode(int parent, int id)
+{
+
+	iSceneManagerObj = addEmptySceneNode(parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddDummyTransformationSceneNode(int parent, int id)
+{
+
+	iSceneManagerObj = addDummyTransformationSceneNode(parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTextSceneNode(int font, char * text, int color, int parent, int position, int id)
+{
+
+	iSceneManagerObj = addTextSceneNode(font, text, color, parent, position, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddBillboardTextSceneNode(int font, char * text, int parent, int size, int position, int id, int colorTop, int colorBottom)
+{
+
+	iSceneManagerObj = addBillboardTextSceneNode(font, text, parent, size, position, id, colorTop, colorBottom);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddHillPlaneMesh(int name, int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount)
+{
+
+	iSceneManagerObj = addHillPlaneMesh(name, tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTerrainMesh(int meshname, int texture, int heightmap, int stretchSize, int maxHeight, int defaultVertexBlockSize)
+{
+
+	iSceneManagerObj = addTerrainMesh(meshname, texture, heightmap, stretchSize, maxHeight, defaultVertexBlockSize);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddArrowMesh(int name, int vtxColor0, int vtxColor1, int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int width0, int width1)
+{
+
+	iSceneManagerObj = addArrowMesh(name, vtxColor0, vtxColor1, tesselationCylinder, tesselationCone, height, cylinderHeight, width0, width1);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSphereMesh(int name, int radius, int polyCountX, int polyCountY)
+{
+
+	iSceneManagerObj = addSphereMesh(name, radius, polyCountX, polyCountY);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddVolumeLightMesh(int name, int SubdivideU, int SubdivideV, int FootColor, int TailColor)
+{
+
+	iSceneManagerObj = addVolumeLightMesh(name, SubdivideU, SubdivideV, FootColor, TailColor);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetRootSceneNode()
+{
+
+	iSceneManagerObj = getRootSceneNode();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFromId(int id, int start)
+{
+
+	iSceneManagerObj = getSceneNodeFromId(id, start);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFromName(char * name, int start)
+{
+
+	iSceneManagerObj = getSceneNodeFromName(name, start);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFromType(int type, int start)
+{
+
+	iSceneManagerObj = getSceneNodeFromType(type, start);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodesFromType(int type, int outNodes, int start)
+{
+
+	iSceneManagerObj->getSceneNodesFromType(type, outNodes, start);
+
+}
+
+extern "C" int ISceneManagerGetActiveCamera()
+{
+
+	iSceneManagerObj = getActiveCamera();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSetActiveCamera(int camera)
+{
+
+	iSceneManagerObj->setActiveCamera(camera);
+
+}
+
+extern "C" int ISceneManagerSetShadowColor(int color)
+{
+
+	iSceneManagerObj->setShadowColor(color);
+
+}
+
+extern "C" int ISceneManagerGetShadowColor()
+{
+
+	iSceneManagerObj = getShadowColor();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerRegisterNodeForRendering(int node, int pass)
+{
+
+	iSceneManagerObj = registerNodeForRendering(node, pass);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerDrawAll()
+{
+
+	iSceneManagerObj->drawAll();
+
+}
+
+extern "C" int ISceneManagerCreateRotationAnimator(int rotationSpeed)
+{
+
+	iSceneManagerObj = createRotationAnimator(rotationSpeed);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateFlyCircleAnimator(int center, int radius, int speed, int direction, int startPosition, int radiusEllipsoid)
+{
+
+	iSceneManagerObj = createFlyCircleAnimator(center, radius, speed, direction, startPosition, radiusEllipsoid);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateFlyStraightAnimator(int startPoint, int endPoint, int timeForWay, int loop, int pingpong)
+{
+
+	iSceneManagerObj = createFlyStraightAnimator(startPoint, endPoint, timeForWay, loop, pingpong);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTextureAnimator(int textures, int timePerFrame, int loop)
+{
+
+	iSceneManagerObj = createTextureAnimator(textures, timePerFrame, loop);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateDeleteAnimator(int timeMs)
+{
+
+	iSceneManagerObj = createDeleteAnimator(timeMs);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateCollisionResponseAnimator(int world, int sceneNode, int ellipsoidRadius, int gravityPerSecond, int ellipsoidTranslation, int slidingValue)
+{
+
+	iSceneManagerObj = createCollisionResponseAnimator(world, sceneNode, ellipsoidRadius, gravityPerSecond, ellipsoidTranslation, slidingValue);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateFollowSplineAnimator(int startTime, int points, int speed, int tightness, int loop, int pingpong)
+{
+
+	iSceneManagerObj = createFollowSplineAnimator(startTime, points, speed, tightness, loop, pingpong);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTriangleSelector(int mesh, int node)
+{
+
+	iSceneManagerObj = createTriangleSelector(mesh, node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTriangleSelector(int node)
+{
+
+	iSceneManagerObj = createTriangleSelector(node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTriangleSelectorFromBoundingBox(int node)
+{
+
+	iSceneManagerObj = createTriangleSelectorFromBoundingBox(node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateOctreeTriangleSelector(int mesh, int node, int minimalPolysPerNode)
+{
+
+	iSceneManagerObj = createOctreeTriangleSelector(mesh, node, minimalPolysPerNode);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateOctTreeTriangleSelector(int mesh, int node, int minimalPolysPerNode)
+{
+
+	iSceneManagerObj = createOctTreeTriangleSelector(mesh, node, minimalPolysPerNode);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateMetaTriangleSelector()
+{
+
+	iSceneManagerObj = createMetaTriangleSelector();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTerrainTriangleSelector(int node, int LOD)
+{
+
+	iSceneManagerObj = createTerrainTriangleSelector(node, LOD);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddExternalMeshLoader(int externalLoader)
+{
+
+	iSceneManagerObj->addExternalMeshLoader(externalLoader);
+
+}
+
+extern "C" int ISceneManagerGetSceneCollisionManager()
+{
+
+	iSceneManagerObj = getSceneCollisionManager();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMeshManipulator()
+{
+
+	iSceneManagerObj = getMeshManipulator();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddToDeletionQueue(int node)
+{
+
+	iSceneManagerObj->addToDeletionQueue(node);
+
+}
+
+extern "C" int ISceneManagerPostEventFromUser(int event)
+{
+
+	iSceneManagerObj = postEventFromUser(event);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerClear()
+{
+
+	iSceneManagerObj->clear();
+
+}
+
+extern "C" int ISceneManagerGetParameters()
+{
+
+	iSceneManagerObj = getParameters();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeRenderPass()
+{
+
+	iSceneManagerObj = getSceneNodeRenderPass();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetDefaultSceneNodeFactory()
+{
+
+	iSceneManagerObj = getDefaultSceneNodeFactory();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerRegisterSceneNodeFactory(int factoryToAdd)
+{
+
+	iSceneManagerObj->registerSceneNodeFactory(factoryToAdd);
+
+}
+
+extern "C" int ISceneManagerGetRegisteredSceneNodeFactoryCount()
+{
+
+	iSceneManagerObj = getRegisteredSceneNodeFactoryCount();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFactory(int index)
+{
+
+	iSceneManagerObj = getSceneNodeFactory(index);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetDefaultSceneNodeAnimatorFactory()
+{
+
+	iSceneManagerObj = getDefaultSceneNodeAnimatorFactory();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerRegisterSceneNodeAnimatorFactory(int factoryToAdd)
+{
+
+	iSceneManagerObj->registerSceneNodeAnimatorFactory(factoryToAdd);
+
+}
+
+extern "C" int ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount()
+{
+
+	iSceneManagerObj = getRegisteredSceneNodeAnimatorFactoryCount();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeAnimatorFactory(int index)
+{
+
+	iSceneManagerObj = getSceneNodeAnimatorFactory(index);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeTypeName(int type)
+{
+
+	iSceneManagerObj = getSceneNodeTypeName(type);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetAnimatorTypeName(int type)
+{
+
+	iSceneManagerObj = getAnimatorTypeName(type);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSceneNode(int sceneNodeTypeName, int parent)
+{
+
+	iSceneManagerObj = addSceneNode(sceneNodeTypeName, parent);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateNewSceneManager(int cloneContent)
+{
+
+	iSceneManagerObj = createNewSceneManager(cloneContent);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSaveScene(int filename, int userDataSerializer)
+{
+
+	iSceneManagerObj = saveScene(filename, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSaveScene(int file, int userDataSerializer)
+{
+
+	iSceneManagerObj = saveScene(file, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerLoadScene(int filename, int userDataSerializer)
+{
+
+	iSceneManagerObj = loadScene(filename, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerLoadScene(int file, int userDataSerializer)
+{
+
+	iSceneManagerObj = loadScene(file, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateMeshWriter(int type)
+{
+
+	iSceneManagerObj = createMeshWriter(type);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateSkinnedMesh()
+{
+
+	iSceneManagerObj = createSkinnedMesh();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSetAmbientLight(int ambientColor)
+{
+
+	iSceneManagerObj->setAmbientLight(ambientColor);
+
+}
+
+extern "C" int ISceneManagerGetAmbientLight()
+{
+
+	iSceneManagerObj = getAmbientLight();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSetLightManager(int lightManager)
+{
+
+	iSceneManagerObj->setLightManager(lightManager);
+
+}
+
+extern "C" int ISceneManagerGetGeometryCreator()
+{
+
+	iSceneManagerObj = getGeometryCreator();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerIsCulled(int node)
+{
+
+	iSceneManagerObj = isCulled(node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int IVideoDriverBeginScene(int backBuffer, int zBuffer, int color, int videoData, int sourceRect)
+{
+
+	iVideoDriverObj = beginScene(backBuffer, zBuffer, color, videoData, sourceRect);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverEndScene()
+{
+
+	iVideoDriverObj = endScene();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverQueryFeature(int feature)
+{
+
+	iVideoDriverObj = queryFeature(feature);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverDisableFeature(int feature, int flag)
+{
+
+	iVideoDriverObj->disableFeature(feature, flag);
+
+}
+
+extern "C" int IVideoDriverCheckDriverReset()
+{
+
+	iVideoDriverObj = checkDriverReset();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetTransform(int state, int mat)
+{
+
+	iVideoDriverObj->setTransform(state, mat);
+
+}
+
+extern "C" int IVideoDriverGetTransform(int state)
+{
+
+	iVideoDriverObj = getTransform(state);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageLoaderCount()
+{
+
+	iVideoDriverObj = getImageLoaderCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageLoader(int n)
+{
+
+	iVideoDriverObj = getImageLoader(n);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageWriterCount()
+{
+
+	iVideoDriverObj = getImageWriterCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageWriter(int n)
+{
+
+	iVideoDriverObj = getImageWriter(n);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetMaterial(int material)
+{
+
+	iVideoDriverObj->setMaterial(material);
+
+}
+
+extern "C" int IVideoDriverGetTexture(int filename)
+{
+
+	iVideoDriverObj = getTexture(filename);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetTexture(int file)
+{
+
+	iVideoDriverObj = getTexture(file);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetTextureByIndex(int index)
+{
+
+	iVideoDriverObj = getTextureByIndex(index);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetTextureCount()
+{
+
+	iVideoDriverObj = getTextureCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverRenameTexture(int texture, int newName)
+{
+
+	iVideoDriverObj->renameTexture(texture, newName);
+
+}
+
+extern "C" int IVideoDriverAddTexture(int size, int name, int format)
+{
+
+	iVideoDriverObj = addTexture(size, name, format);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverAddTexture(int name, int image, int mipmapData)
+{
+
+	iVideoDriverObj = addTexture(name, image, mipmapData);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverAddRenderTargetTexture(int size, int name, int format)
+{
+
+	iVideoDriverObj = addRenderTargetTexture(size, name, format);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverRemoveTexture(int texture)
+{
+
+	iVideoDriverObj->removeTexture(texture);
+
+}
+
+extern "C" int IVideoDriverRemoveAllTextures()
+{
+
+	iVideoDriverObj->removeAllTextures();
+
+}
+
+extern "C" int IVideoDriverRemoveHardwareBuffer(int mb)
+{
+
+	iVideoDriverObj->removeHardwareBuffer(mb);
+
+}
+
+extern "C" int IVideoDriverRemoveAllHardwareBuffers()
+{
+
+	iVideoDriverObj->removeAllHardwareBuffers();
+
+}
+
+extern "C" int IVideoDriverCreateOcclusionQuery(int node, int mesh)
+{
+
+	iVideoDriverObj->createOcclusionQuery(node, mesh);
+
+}
+
+extern "C" int IVideoDriverRemoveOcclusionQuery(int node)
+{
+
+	iVideoDriverObj->removeOcclusionQuery(node);
+
+}
+
+extern "C" int IVideoDriverRemoveAllOcclusionQueries()
+{
+
+	iVideoDriverObj->removeAllOcclusionQueries();
+
+}
+
+extern "C" int IVideoDriverRunOcclusionQuery(int node, int visible)
+{
+
+	iVideoDriverObj->runOcclusionQuery(node, visible);
+
+}
+
+extern "C" int IVideoDriverRunAllOcclusionQueries(int visible)
+{
+
+	iVideoDriverObj->runAllOcclusionQueries(visible);
+
+}
+
+extern "C" int IVideoDriverUpdateOcclusionQuery(int node, int block)
+{
+
+	iVideoDriverObj->updateOcclusionQuery(node, block);
+
+}
+
+extern "C" int IVideoDriverUpdateAllOcclusionQueries(int block)
+{
+
+	iVideoDriverObj->updateAllOcclusionQueries(block);
+
+}
+
+extern "C" int IVideoDriverGetOcclusionQueryResult(int node)
+{
+
+	iVideoDriverObj = getOcclusionQueryResult(node);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverMakeColorKeyTexture(int texture, int color, int zeroTexels)
+{
+
+	iVideoDriverObj->makeColorKeyTexture(texture, color, zeroTexels);
+
+}
+
+extern "C" int IVideoDriverMakeColorKeyTexture(int texture, int colorKeyPixelPos, int zeroTexels)
+{
+
+	iVideoDriverObj->makeColorKeyTexture(texture, colorKeyPixelPos, zeroTexels);
+
+}
+
+extern "C" int IVideoDriverMakeNormalMapTexture(int texture, int amplitude)
+{
+
+	iVideoDriverObj->makeNormalMapTexture(texture, amplitude);
+
+}
+
+extern "C" int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color)
+{
+
+	iVideoDriverObj = setRenderTarget(texture, clearBackBuffer, clearZBuffer, color);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetRenderTarget(int target, int clearTarget, int clearZBuffer, int color)
+{
+
+	iVideoDriverObj = setRenderTarget(target, clearTarget, clearZBuffer, color);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color)
+{
+
+	iVideoDriverObj = setRenderTarget(texture, clearBackBuffer, clearZBuffer, color);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetViewPort(int area)
+{
+
+	iVideoDriverObj->setViewPort(area);
+
+}
+
+extern "C" int IVideoDriverGetViewPort()
+{
+
+	iVideoDriverObj = getViewPort();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
+
+}
+
+extern "C" int IVideoDriverDraw2DVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType)
+{
+
+	iVideoDriverObj->draw2DVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLES);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLES);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLES);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+
+}
+
+extern "C" int IVideoDriverDraw3DLine(int start, int end, int color)
+{
+
+	iVideoDriverObj->draw3DLine(start, end, color);
+
+}
+
+extern "C" int IVideoDriverDraw3DTriangle(int triangle, int color)
+{
+
+	iVideoDriverObj->draw3DTriangle(triangle, color);
+
+}
+
+extern "C" int IVideoDriverDraw3DBox(int box, int color)
+{
+
+	iVideoDriverObj->draw3DBox(box, color);
+
+}
+
+extern "C" int IVideoDriverDraw2DImage(int texture, int destPos)
+{
+
+	iVideoDriverObj->draw2DImage(texture, destPos);
+
+}
+
+extern "C" int IVideoDriverDraw2DImage(int texture, int destPos, int sourceRect, int clipRect, int color, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImage(texture, destPos, sourceRect, clipRect, color, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DImageBatch(int texture, int pos, int sourceRects, int indices, int kerningWidth, int clipRect, int color, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImageBatch(texture, pos, sourceRects, indices, kerningWidth, clipRect, color, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DImageBatch(int texture, int positions, int sourceRects, int clipRect, int color, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImageBatch(texture, positions, sourceRects, clipRect, color, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DImage(int texture, int destRect, int sourceRect, int clipRect, int colors, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImage(texture, destRect, sourceRect, clipRect, colors, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DRectangle(int color, int pos, int clip)
+{
+
+	iVideoDriverObj->draw2DRectangle(color, pos, clip);
+
+}
+
+extern "C" int IVideoDriverDraw2DRectangle(int pos, int colorLeftUp, int colorRightUp, int colorLeftDown, int colorRightDown, int clip)
+{
+
+	iVideoDriverObj->draw2DRectangle(pos, colorLeftUp, colorRightUp, colorLeftDown, colorRightDown, clip);
+
+}
+
+extern "C" int IVideoDriverDraw2DRectangleOutline(int pos, int color)
+{
+
+	iVideoDriverObj->draw2DRectangleOutline(pos, color);
+
+}
+
+extern "C" int IVideoDriverDraw2DLine(int start, int end, int color)
+{
+
+	iVideoDriverObj->draw2DLine(start, end, color);
+
+}
+
+extern "C" int IVideoDriverDrawPixel(int x, int y, int color)
+{
+
+	iVideoDriverObj->drawPixel(x, y, color);
+
+}
+
+extern "C" int IVideoDriverDraw2DPolygon(int center, int radius, int color, int vertexCount)
+{
+
+	iVideoDriverObj->draw2DPolygon(center, radius, color, vertexCount);
+
+}
+
+extern "C" int IVideoDriverDrawStencilShadowVolume(int triangles, int count, int zfail)
+{
+
+	iVideoDriverObj->drawStencilShadowVolume(triangles, count, zfail);
+
+}
+
+extern "C" int IVideoDriverDrawStencilShadow(int clearStencilBuffer, int leftUpEdge, int rightUpEdge, int leftDownEdge, int rightDownEdge)
+{
+
+	iVideoDriverObj->drawStencilShadow(clearStencilBuffer, leftUpEdge, rightUpEdge, leftDownEdge, rightDownEdge);
+
+}
+
+extern "C" int IVideoDriverDrawMeshBuffer(int mb)
+{
+
+	iVideoDriverObj->drawMeshBuffer(mb);
+
+}
+
+extern "C" int IVideoDriverSetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog)
+{
+
+	iVideoDriverObj->setFog(color, fogType, start, end, density, pixelFog, rangeFog);
+
+}
+
+extern "C" int IVideoDriverGetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog)
+{
+
+	iVideoDriverObj->getFog(color, fogType, start, end, density, pixelFog, rangeFog);
+
+}
+
+extern "C" int IVideoDriverGetColorFormat()
+{
+
+	iVideoDriverObj = getColorFormat();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetScreenSize()
+{
+
+	iVideoDriverObj = getScreenSize();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetCurrentRenderTargetSize()
+{
+
+	iVideoDriverObj = getCurrentRenderTargetSize();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetFPS()
+{
+
+	iVideoDriverObj = getFPS();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetPrimitiveCountDrawn(int mode)
+{
+
+	iVideoDriverObj = getPrimitiveCountDrawn(mode);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverDeleteAllDynamicLights()
+{
+
+	iVideoDriverObj->deleteAllDynamicLights();
+
+}
+
+extern "C" int IVideoDriverAddDynamicLight(int light)
+{
+
+	iVideoDriverObj = addDynamicLight(light);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaximalDynamicLightAmount()
+{
+
+	iVideoDriverObj = getMaximalDynamicLightAmount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetDynamicLightCount()
+{
+
+	iVideoDriverObj = getDynamicLightCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetDynamicLight(int idx)
+{
+
+	iVideoDriverObj = getDynamicLight(idx);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverTurnLightOn(int lightIndex, int turnOn)
+{
+
+	iVideoDriverObj->turnLightOn(lightIndex, turnOn);
+
+}
+
+extern "C" int IVideoDriverGetName()
+{
+
+	iVideoDriverObj = getName();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverAddExternalImageLoader(int loader)
+{
+
+	iVideoDriverObj->addExternalImageLoader(loader);
+
+}
+
+extern "C" int IVideoDriverAddExternalImageWriter(int writer)
+{
+
+	iVideoDriverObj->addExternalImageWriter(writer);
+
+}
+
+extern "C" int IVideoDriverGetMaximalPrimitiveCount()
+{
+
+	iVideoDriverObj = getMaximalPrimitiveCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetTextureCreationFlag(int flag, int enabled)
+{
+
+	iVideoDriverObj->setTextureCreationFlag(flag, enabled);
+
+}
+
+extern "C" int IVideoDriverGetTextureCreationFlag(int flag)
+{
+
+	iVideoDriverObj = getTextureCreationFlag(flag);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImageFromFile(int filename)
+{
+
+	iVideoDriverObj = createImageFromFile(filename);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImageFromFile(int file)
+{
+
+	iVideoDriverObj = createImageFromFile(file);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverWriteImageToFile(int image, int filename, int param)
+{
+
+	iVideoDriverObj = writeImageToFile(image, filename, param);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverWriteImageToFile(int image, int file, int param)
+{
+
+	iVideoDriverObj = writeImageToFile(image, file, param);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImageFromData(int format, int size, int data, int ownForeignMemory, int deleteMemory)
+{
+
+	iVideoDriverObj = createImageFromData(format, size, data, ownForeignMemory, deleteMemory);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int format, int size)
+{
+
+	iVideoDriverObj = createImage(format, size);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int format, int imageToCopy)
+{
+
+	iVideoDriverObj = createImage(format, imageToCopy);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int imageToCopy, int pos, int size)
+{
+
+	iVideoDriverObj = createImage(imageToCopy, pos, size);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int texture, int pos, int size)
+{
+
+	iVideoDriverObj = createImage(texture, pos, size);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverOnResize(int size)
+{
+
+	iVideoDriverObj->OnResize(size);
+
+}
+
+extern "C" int IVideoDriverAddMaterialRenderer(int renderer, char * name)
+{
+
+	iVideoDriverObj = addMaterialRenderer(renderer, name);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterialRenderer(int idx)
+{
+
+	iVideoDriverObj = getMaterialRenderer(idx);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterialRendererCount()
+{
+
+	iVideoDriverObj = getMaterialRendererCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterialRendererName(int idx)
+{
+
+	iVideoDriverObj = getMaterialRendererName(idx);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetMaterialRendererName(int idx, char * name)
+{
+
+	iVideoDriverObj->setMaterialRendererName(idx, name);
+
+}
+
+extern "C" int IVideoDriverCreateAttributesFromMaterial(int material)
+{
+
+	iVideoDriverObj = createAttributesFromMaterial(material);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverFillMaterialStructureFromAttributes(int outMaterial, int attributes)
+{
+
+	iVideoDriverObj->fillMaterialStructureFromAttributes(outMaterial, attributes);
+
+}
+
+extern "C" int IVideoDriverGetExposedVideoData()
+{
+
+	iVideoDriverObj = getExposedVideoData();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetDriverType()
+{
+
+	iVideoDriverObj = getDriverType();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetGPUProgrammingServices()
+{
+
+	iVideoDriverObj = getGPUProgrammingServices();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMeshManipulator()
+{
+
+	iVideoDriverObj = getMeshManipulator();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverClearZBuffer()
+{
+
+	iVideoDriverObj->clearZBuffer();
+
+}
+
+extern "C" int IVideoDriverCreateScreenShot()
+{
+
+	iVideoDriverObj = createScreenShot();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverFindTexture(int filename)
+{
+
+	iVideoDriverObj = findTexture(filename);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetClipPlane(int index, int plane, int enable)
+{
+
+	iVideoDriverObj = setClipPlane(index, plane, enable);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverEnableClipPlane(int index, int enable)
+{
+
+	iVideoDriverObj->enableClipPlane(index, enable);
+
+}
+
+extern "C" int IVideoDriverSetMinHardwareBufferVertexCount(int count)
+{
+
+	iVideoDriverObj->setMinHardwareBufferVertexCount(count);
+
+}
+
+extern "C" int IVideoDriverGetOverrideMaterial()
+{
+
+	iVideoDriverObj = getOverrideMaterial();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterial2D()
+{
+
+	iVideoDriverObj = getMaterial2D();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverEnableMaterial2D(int enable)
+{
+
+	iVideoDriverObj->enableMaterial2D(enable);
+
+}
+
+extern "C" int IVideoDriverGetVendorInfo()
+{
+
+	iVideoDriverObj = getVendorInfo();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetAmbientLight(int color)
+{
+
+	iVideoDriverObj->setAmbientLight(color);
+
+}
+
+extern "C" int IVideoDriverSetAllowZWriteOnTransparent(int flag)
+{
+
+	iVideoDriverObj->setAllowZWriteOnTransparent(flag);
+
+}
+
+extern "C" int IVideoDriverGetMaxTextureSize()
+{
+
+	iVideoDriverObj = getMaxTextureSize();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverConvertColor(int sP, int sF, int sN, int dP, int dF)
+{
+
+	iVideoDriverObj->convertColor(sP, sF, sN, dP, dF);
+
+}
+
+extern "C" int ISkinnedMeshGetJointCount()
+{
+
+	iSkinnedMeshObj = getJointCount();
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshGetJointName(int number)
+{
+
+	iSkinnedMeshObj = getJointName(number);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshGetJointNumber(char * name)
+{
+
+	iSkinnedMeshObj = getJointNumber(name);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshUseAnimationFrom(int mesh)
+{
+
+	iSkinnedMeshObj = useAnimationFrom(mesh);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshUpdateNormalsWhenAnimating(int on)
+{
+
+	iSkinnedMeshObj->updateNormalsWhenAnimating(on);
+
+}
+
+extern "C" int ISkinnedMeshSetInterpolationMode(int mode)
+{
+
+	iSkinnedMeshObj->setInterpolationMode(mode);
+
+}
+
+extern "C" int ISkinnedMeshAnimateMesh(int frame, int blend)
+{
+
+	iSkinnedMeshObj->animateMesh(frame, blend);
+
+}
+
+extern "C" int ISkinnedMeshSkinMesh()
+{
+
+	iSkinnedMeshObj->skinMesh();
+
+}
+
+extern "C" int ISkinnedMeshConvertMeshToTangents()
+{
+
+	iSkinnedMeshObj->convertMeshToTangents();
+
+}
+
+extern "C" int ISkinnedMeshSetHardwareSkinning(int on)
+{
+
+	iSkinnedMeshObj = setHardwareSkinning(on);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeCount()
+{
+
+	iVideoModeListObj = getVideoModeCount();
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeResolution(int modeNumber)
+{
+
+	iVideoModeListObj = getVideoModeResolution(modeNumber);
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeResolution(int minSize, int maxSize)
+{
+
+	iVideoModeListObj = getVideoModeResolution(minSize, maxSize);
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeDepth(int modeNumber)
+{
+
+	iVideoModeListObj = getVideoModeDepth(modeNumber);
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetDesktopResolution()
+{
+
+	iVideoModeListObj = getDesktopResolution();
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetDesktopDepth()
+{
+
+	iVideoModeListObj = getDesktopDepth();
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IMeshCacheIMeshCache()
+{
+
+	iMeshCacheObj = IMeshCache();
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheAddMesh(int name, int mesh)
+{
+
+	iMeshCacheObj->addMesh(name, mesh);
+
+}
+
+extern "C" int IMeshCacheRemoveMesh(int mesh)
+{
+
+	iMeshCacheObj->removeMesh(mesh);
+
+}
+
+extern "C" int IMeshCacheRemoveMesh(int mesh)
+{
+
+	iMeshCacheObj->removeMesh(mesh);
+
+}
+
+extern "C" int IMeshCacheGetMeshCount()
+{
+
+	iMeshCacheObj = getMeshCount();
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshIndex(int mesh)
+{
+
+	iMeshCacheObj = getMeshIndex(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshIndex(int mesh)
+{
+
+	iMeshCacheObj = getMeshIndex(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshByIndex(int index)
+{
+
+	iMeshCacheObj = getMeshByIndex(index);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshByFilename(int filename)
+{
+
+	iMeshCacheObj = getMeshByFilename(filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshFilename(int index)
+{
+
+	iMeshCacheObj = getMeshFilename(index);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshFilename(int mesh)
+{
+
+	iMeshCacheObj = getMeshFilename(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshFilename(int mesh)
+{
+
+	iMeshCacheObj = getMeshFilename(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheSetMeshFilename(int index, int filename)
+{
+
+	iMeshCacheObj = setMeshFilename(index, filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheSetMeshFilename(int mesh, int filename)
+{
+
+	iMeshCacheObj = setMeshFilename(mesh, filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheSetMeshFilename(int mesh, int filename)
+{
+
+	iMeshCacheObj = setMeshFilename(mesh, filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshByName(int name)
+{
+
+	iMeshCacheObj = getMeshByName(name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshName(int index)
+{
+
+	iMeshCacheObj = getMeshName(index);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshName(int mesh)
+{
+
+	iMeshCacheObj = getMeshName(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshName(int mesh)
+{
+
+	iMeshCacheObj = getMeshName(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheRenameMesh(int index, int name)
+{
+
+	iMeshCacheObj = renameMesh(index, name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheRenameMesh(int mesh, int name)
+{
+
+	iMeshCacheObj = renameMesh(mesh, name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheRenameMesh(int mesh, int name)
+{
+
+	iMeshCacheObj = renameMesh(mesh, name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheIsMeshLoaded(int name)
+{
+
+	iMeshCacheObj = isMeshLoaded(name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheClear()
+{
+
+	iMeshCacheObj->clear();
+
+}
+
+extern "C" int IMeshCacheClearUnusedMeshes()
+{
+
+	iMeshCacheObj->clearUnusedMeshes();
+
+}
+
+extern "C" int IGPUProgrammingServicesIGPUProgrammingServices()
+{
+
+	iGPUProgrammingServicesObj = IGPUProgrammingServices();
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, char * geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgram, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgramFileName, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgramFileName, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgram, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddShaderMaterial(char * vertexShaderProgram, char * pixelShaderProgram, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addShaderMaterial(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgram, int pixelShaderProgram, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addShaderMaterialFromFiles(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgramFileName, int pixelShaderProgramFileName, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addShaderMaterialFromFiles(vertexShaderProgramFileName, pixelShaderProgramFileName, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGUIListBoxIGUIListBox(int environment, int parent, int id, int EGUIET_LIST_BOX)
+{
+
+	iGUIListBoxObj->IGUIListBox(environment, parent, id, EGUIET_LIST_BOX);
+
+}
+
+extern "C" int IGUIListBoxGetItemCount()
+{
+
+	iGUIListBoxObj = getItemCount();
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxGetListItem(int id)
+{
+
+	iGUIListBoxObj = getListItem(id);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxAddItem(char * text)
+{
+
+	iGUIListBoxObj = addItem(text);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxAddItem(char * text, int icon)
+{
+
+	iGUIListBoxObj = addItem(text, icon);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxRemoveItem(int index)
+{
+
+	iGUIListBoxObj->removeItem(index);
+
+}
+
+extern "C" int IGUIListBoxGetIcon(int index)
+{
+
+	iGUIListBoxObj = getIcon(index);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetSpriteBank(int bank)
+{
+
+	iGUIListBoxObj->setSpriteBank(bank);
+
+}
+
+extern "C" int IGUIListBoxClear()
+{
+
+	iGUIListBoxObj->clear();
+
+}
+
+extern "C" int IGUIListBoxGetSelected()
+{
+
+	iGUIListBoxObj = getSelected();
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetSelected(int index)
+{
+
+	iGUIListBoxObj->setSelected(index);
+
+}
+
+extern "C" int IGUIListBoxSetSelected(char * item)
+{
+
+	iGUIListBoxObj->setSelected(item);
+
+}
+
+extern "C" int IGUIListBoxSetAutoScrollEnabled(int scroll)
+{
+
+	iGUIListBoxObj->setAutoScrollEnabled(scroll);
+
+}
+
+extern "C" int IGUIListBoxIsAutoScrollEnabled()
+{
+
+	iGUIListBoxObj = isAutoScrollEnabled();
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetItemOverrideColor(int index, int color)
+{
+
+	iGUIListBoxObj->setItemOverrideColor(index, color);
+
+}
+
+extern "C" int IGUIListBoxSetItemOverrideColor(int index, int colorType, int color)
+{
+
+	iGUIListBoxObj->setItemOverrideColor(index, colorType, color);
+
+}
+
+extern "C" int IGUIListBoxClearItemOverrideColor(int index)
+{
+
+	iGUIListBoxObj->clearItemOverrideColor(index);
+
+}
+
+extern "C" int IGUIListBoxClearItemOverrideColor(int index, int colorType)
+{
+
+	iGUIListBoxObj->clearItemOverrideColor(index, colorType);
+
+}
+
+extern "C" int IGUIListBoxHasItemOverrideColor(int index, int colorType)
+{
+
+	iGUIListBoxObj = hasItemOverrideColor(index, colorType);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxGetItemOverrideColor(int index, int colorType)
+{
+
+	iGUIListBoxObj = getItemOverrideColor(index, colorType);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxGetItemDefaultColor(int colorType)
+{
+
+	iGUIListBoxObj = getItemDefaultColor(colorType);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetItem(int index, char * text, int icon)
+{
+
+	iGUIListBoxObj->setItem(index, text, icon);
+
+}
+
+extern "C" int IGUIListBoxInsertItem(int index, char * text, int icon)
+{
+
+	iGUIListBoxObj = insertItem(index, text, icon);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSwapItems(int index1, int index2)
+{
+
+	iGUIListBoxObj->swapItems(index1, index2);
+
+}
+
+extern "C" int IGUIListBoxSetItemHeight(int height)
+{
+
+	iGUIListBoxObj->setItemHeight(height);
+
+}
+
+extern "C" int IGUIListBoxSetDrawBackground(int draw)
+{
+
+	iGUIListBoxObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUIEditBoxIGUIEditBox(int environment, int parent, int id, int EGUIET_EDIT_BOX)
+{
+
+	iGUIEditBoxObj->IGUIEditBox(environment, parent, id, EGUIET_EDIT_BOX);
+
+}
+
+extern "C" int IGUIEditBoxSetOverrideFont(int font)
+{
+
+	iGUIEditBoxObj->setOverrideFont(font);
+
+}
+
+extern "C" int IGUIEditBoxSetOverrideColor(int color)
+{
+
+	iGUIEditBoxObj->setOverrideColor(color);
+
+}
+
+extern "C" int IGUIEditBoxGetOverrideColor()
+{
+
+	iGUIEditBoxObj = getOverrideColor();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxEnableOverrideColor(int enable)
+{
+
+	iGUIEditBoxObj->enableOverrideColor(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsOverrideColorEnabled()
+{
+
+	iGUIEditBoxObj = isOverrideColorEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetDrawBorder(int border)
+{
+
+	iGUIEditBoxObj->setDrawBorder(border);
+
+}
+
+extern "C" int IGUIEditBoxSetTextAlignment(int horizontal, int vertical)
+{
+
+	iGUIEditBoxObj->setTextAlignment(horizontal, vertical);
+
+}
+
+extern "C" int IGUIEditBoxSetWordWrap(int enable)
+{
+
+	iGUIEditBoxObj->setWordWrap(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsWordWrapEnabled()
+{
+
+	iGUIEditBoxObj = isWordWrapEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetMultiLine(int enable)
+{
+
+	iGUIEditBoxObj->setMultiLine(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsMultiLineEnabled()
+{
+
+	iGUIEditBoxObj = isMultiLineEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetAutoScroll(int enable)
+{
+
+	iGUIEditBoxObj->setAutoScroll(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsAutoScrollEnabled()
+{
+
+	iGUIEditBoxObj = isAutoScrollEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetPasswordBox(int passwordBox, char * passwordChar)
+{
+
+	iGUIEditBoxObj->setPasswordBox(passwordBox, passwordChar);
+
+}
+
+extern "C" int IGUIEditBoxIsPasswordBox()
+{
+
+	iGUIEditBoxObj = isPasswordBox();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxGetTextDimension()
+{
+
+	iGUIEditBoxObj = getTextDimension();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetMax(int max)
+{
+
+	iGUIEditBoxObj->setMax(max);
+
+}
+
+extern "C" int IGUIEditBoxGetMax()
+{
+
+	iGUIEditBoxObj = getMax();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int ITriangleSelectorITriangleSelector()
+{
+
+	iTriangleSelectorObj = ITriangleSelector();
+	return (int) iTriangleSelectorObj;
+
+}
+
+extern "C" int ITriangleSelectorGetTriangleCount()
+{
+
+	iTriangleSelectorObj = getTriangleCount();
+	return (int) iTriangleSelectorObj;
+
+}
+
+extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int transform)
+{
+
+	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, transform);
+
+}
+
+extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int box, int transform)
+{
+
+	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, box, transform);
+
+}
+
+extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int line, int transform)
+{
+
+	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, line, transform);
+
+}
+
+extern "C" int ITriangleSelectorGetSceneNodeForTriangle(int triangleIndex)
+{
+
+	iTriangleSelectorObj = getSceneNodeForTriangle(triangleIndex);
+	return (int) iTriangleSelectorObj;
+
+}
+
+extern "C" int IGUISkinGetColor(int color)
+{
+
+	iGUISkinObj = getColor(color);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetColor(int which, int newColor)
+{
+
+	iGUISkinObj->setColor(which, newColor);
+
+}
+
+extern "C" int IGUISkinGetSize(int size)
+{
+
+	iGUISkinObj = getSize(size);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinGetDefaultText(int text)
+{
+
+	iGUISkinObj = getDefaultText(text);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetDefaultText(int which, char * newText)
+{
+
+	iGUISkinObj->setDefaultText(which, newText);
+
+}
+
+extern "C" int IGUISkinSetSize(int which, int size)
+{
+
+	iGUISkinObj->setSize(which, size);
+
+}
+
+extern "C" int IGUISkinGetFont(int which)
+{
+
+	iGUISkinObj = getFont(which);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetFont(int font, int which)
+{
+
+	iGUISkinObj->setFont(font, which);
+
+}
+
+extern "C" int IGUISkinGetSpriteBank()
+{
+
+	iGUISkinObj = getSpriteBank();
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetSpriteBank(int bank)
+{
+
+	iGUISkinObj->setSpriteBank(bank);
+
+}
+
+extern "C" int IGUISkinGetIcon(int icon)
+{
+
+	iGUISkinObj = getIcon(icon);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetIcon(int icon, int index)
+{
+
+	iGUISkinObj->setIcon(icon, index);
+
+}
+
+extern "C" int IGUISkinDraw3DButtonPaneStandard(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DButtonPaneStandard(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DButtonPanePressed(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DButtonPanePressed(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DSunkenPane(int element, int bgcolor, int flat, int fillBackGround, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DSunkenPane(element, bgcolor, flat, fillBackGround, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DWindowBackground(int element, int drawTitleBar, int titleBarColor, int rect, int clip, int checkClientArea)
+{
+
+	iGUISkinObj = draw3DWindowBackground(element, drawTitleBar, titleBarColor, rect, clip, checkClientArea);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinDraw3DMenuPane(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DMenuPane(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DToolBar(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DToolBar(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DTabButton(int element, int active, int rect, int clip, int alignment)
+{
+
+	iGUISkinObj->draw3DTabButton(element, active, rect, clip, alignment);
+
+}
+
+extern "C" int IGUISkinDraw3DTabBody(int element, int border, int background, int rect, int clip, int tabHeight, int alignment)
+{
+
+	iGUISkinObj->draw3DTabBody(element, border, background, rect, clip, tabHeight, alignment);
+
+}
+
+extern "C" int IGUISkinDrawIcon(int element, int icon, int position, int starttime, int currenttime, int loop, int clip)
+{
+
+	iGUISkinObj->drawIcon(element, icon, position, starttime, currenttime, loop, clip);
+
+}
+
+extern "C" int IGUISkinDraw2DRectangle(int element, int color, int pos, int clip)
+{
+
+	iGUISkinObj->draw2DRectangle(element, color, pos, clip);
+
+}
+
+extern "C" int IGUISkinGetType()
+{
+
+	iGUISkinObj = getType();
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IDummyTransformationSceneNodeIDummyTransformationSceneNode(int parent, int mgr, int parent)
+{
+
+	iDummyTransformationSceneNodeObj->IDummyTransformationSceneNode(parent, mgr, parent);
+
+}
+
+extern "C" int IDummyTransformationSceneNodeGetRelativeTransformationMatrix()
+{
+
+	iDummyTransformationSceneNodeObj = getRelativeTransformationMatrix();
+	return (int) iDummyTransformationSceneNodeObj;
+
+}
+
+extern "C" int IFileSystemCreateAndOpenFile(int filename)
+{
+
+	iFileSystemObj = createAndOpenFile(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateMemoryReadFile(int memory, int len, int fileName, int deleteMemoryWhenDropped)
+{
+
+	iFileSystemObj = createMemoryReadFile(memory, len, fileName, deleteMemoryWhenDropped);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize)
+{
+
+	iFileSystemObj = createLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateMemoryWriteFile(int memory, int len, int fileName, int deleteMemoryWhenDropped)
+{
+
+	iFileSystemObj = createMemoryWriteFile(memory, len, fileName, deleteMemoryWhenDropped);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateAndWriteFile(int filename, int append)
+{
+
+	iFileSystemObj = createAndWriteFile(filename, append);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddFileArchive(int filename, int ignoreCase, int ignorePaths, int archiveType, int password)
+{
+
+	iFileSystemObj = addFileArchive(filename, ignoreCase, ignorePaths, archiveType, password);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddArchiveLoader(int loader)
+{
+
+	iFileSystemObj->addArchiveLoader(loader);
+
+}
+
+extern "C" int IFileSystemGetFileArchiveCount()
+{
+
+	iFileSystemObj = getFileArchiveCount();
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemRemoveFileArchive(int index)
+{
+
+	iFileSystemObj = removeFileArchive(index);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemRemoveFileArchive(int filename)
+{
+
+	iFileSystemObj = removeFileArchive(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemMoveFileArchive(int sourceIndex, int relative)
+{
+
+	iFileSystemObj = moveFileArchive(sourceIndex, relative);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetFileArchive(int index)
+{
+
+	iFileSystemObj = getFileArchive(index);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddZipFileArchive(char * filename, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = addZipFileArchive(filename, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddFolderFileArchive(char * filename, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = addFolderFileArchive(filename, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddPakFileArchive(char * filename, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = addPakFileArchive(filename, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetWorkingDirectory()
+{
+
+	iFileSystemObj = getWorkingDirectory();
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemChangeWorkingDirectoryTo(int newDirectory)
+{
+
+	iFileSystemObj = changeWorkingDirectoryTo(newDirectory);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetAbsolutePath(int filename)
+{
+
+	iFileSystemObj = getAbsolutePath(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetFileDir(int filename)
+{
+
+	iFileSystemObj = getFileDir(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetFileBasename(int filename, int keepExtension)
+{
+
+	iFileSystemObj = getFileBasename(filename, keepExtension);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemFlattenFilename(int directory, int root)
+{
+
+	iFileSystemObj = flattenFilename(directory, root);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateFileList()
+{
+
+	iFileSystemObj = createFileList();
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateEmptyFileList(int path, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = createEmptyFileList(path, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemSetFileListSystem(int listType)
+{
+
+	iFileSystemObj = setFileListSystem(listType);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemExistFile(int filename)
+{
+
+	iFileSystemObj = existFile(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReader(int filename)
+{
+
+	iFileSystemObj = createXMLReader(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReader(int file)
+{
+
+	iFileSystemObj = createXMLReader(file);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReaderUTF8(int filename)
+{
+
+	iFileSystemObj = createXMLReaderUTF8(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReaderUTF8(int file)
+{
+
+	iFileSystemObj = createXMLReaderUTF8(file);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLWriter(int filename)
+{
+
+	iFileSystemObj = createXMLWriter(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLWriter(int file)
+{
+
+	iFileSystemObj = createXMLWriter(file);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateEmptyAttributes(int driver)
+{
+
+	iFileSystemObj = createEmptyAttributes(driver);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertexBuffer()
+{
+
+	iDynamicMeshBufferObj = getVertexBuffer();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndexBuffer()
+{
+
+	iDynamicMeshBufferObj = getIndexBuffer();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferSetVertexBuffer(int vertexBuffer)
+{
+
+	iDynamicMeshBufferObj->setVertexBuffer(vertexBuffer);
+
+}
+
+extern "C" int IDynamicMeshBufferSetIndexBuffer(int indexBuffer)
+{
+
+	iDynamicMeshBufferObj->setIndexBuffer(indexBuffer);
+
+}
+
+extern "C" int IDynamicMeshBufferGetMaterial()
+{
+
+	iDynamicMeshBufferObj = getMaterial();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetMaterial()
+{
+
+	iDynamicMeshBufferObj = getMaterial();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetBoundingBox()
+{
+
+	iDynamicMeshBufferObj = getBoundingBox();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferSetBoundingBox(int box)
+{
+
+	iDynamicMeshBufferObj->setBoundingBox(box);
+
+}
+
+extern "C" int IDynamicMeshBufferRecalculateBoundingBox()
+{
+
+	iDynamicMeshBufferObj->recalculateBoundingBox();
+
+}
+
+extern "C" int IDynamicMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices)
+{
+
+	iDynamicMeshBufferObj->append(vertices, numVertices, indices, numIndices);
+
+}
+
+extern "C" int IDynamicMeshBufferAppend(int other)
+{
+
+	iDynamicMeshBufferObj->append(other);
+
+}
+
+extern "C" int IDynamicMeshBufferGetHardwareMappingHint_Vertex()
+{
+
+	iDynamicMeshBufferObj = getHardwareMappingHint_Vertex();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetHardwareMappingHint_Index()
+{
+
+	iDynamicMeshBufferObj = getHardwareMappingHint_Index();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferSetHardwareMappingHint(int NewMappingHint, int Buffer)
+{
+
+	iDynamicMeshBufferObj->setHardwareMappingHint(NewMappingHint, Buffer);
+
+}
+
+extern "C" int IDynamicMeshBufferSetDirty(int Buffer)
+{
+
+	iDynamicMeshBufferObj->setDirty(Buffer);
+
+}
+
+extern "C" int IDynamicMeshBufferGetChangedID_Vertex()
+{
+
+	iDynamicMeshBufferObj = getChangedID_Vertex();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetChangedID_Index()
+{
+
+	iDynamicMeshBufferObj = getChangedID_Index();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertexType()
+{
+
+	iDynamicMeshBufferObj = getVertexType();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertices()
+{
+
+	iDynamicMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertices()
+{
+
+	iDynamicMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertexCount()
+{
+
+	iDynamicMeshBufferObj = getVertexCount();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndexType()
+{
+
+	iDynamicMeshBufferObj = getIndexType();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndices()
+{
+
+	iDynamicMeshBufferObj = getIndices();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndices()
+{
+
+	iDynamicMeshBufferObj = getIndices();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndexCount()
+{
+
+	iDynamicMeshBufferObj = getIndexCount();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetPosition(int i)
+{
+
+	iDynamicMeshBufferObj = getPosition(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetPosition(int i)
+{
+
+	iDynamicMeshBufferObj = getPosition(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetTCoords(int i)
+{
+
+	iDynamicMeshBufferObj = getTCoords(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetTCoords(int i)
+{
+
+	iDynamicMeshBufferObj = getTCoords(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetNormal(int i)
+{
+
+	iDynamicMeshBufferObj = getNormal(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetNormal(int i)
+{
+
+	iDynamicMeshBufferObj = getNormal(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetMaterial()
+{
+
+	iMeshBufferObj = getMaterial();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetMaterial()
+{
+
+	iMeshBufferObj = getMaterial();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetVertexType()
+{
+
+	iMeshBufferObj = getVertexType();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetVertices()
+{
+
+	iMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IMeshBufferGetVertices()
+{
+
+	iMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IMeshBufferGetVertexCount()
+{
+
+	iMeshBufferObj = getVertexCount();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndexType()
+{
+
+	iMeshBufferObj = getIndexType();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndices()
+{
+
+	iMeshBufferObj = getIndices();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndices()
+{
+
+	iMeshBufferObj = getIndices();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndexCount()
+{
+
+	iMeshBufferObj = getIndexCount();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetBoundingBox()
+{
+
+	iMeshBufferObj = getBoundingBox();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferSetBoundingBox(int box)
+{
+
+	iMeshBufferObj->setBoundingBox(box);
+
+}
+
+extern "C" int IMeshBufferRecalculateBoundingBox()
+{
+
+	iMeshBufferObj->recalculateBoundingBox();
+
+}
+
+extern "C" int IMeshBufferGetPosition(int i)
+{
+
+	iMeshBufferObj = getPosition(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetPosition(int i)
+{
+
+	iMeshBufferObj = getPosition(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetNormal(int i)
+{
+
+	iMeshBufferObj = getNormal(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetNormal(int i)
+{
+
+	iMeshBufferObj = getNormal(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetTCoords(int i)
+{
+
+	iMeshBufferObj = getTCoords(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetTCoords(int i)
+{
+
+	iMeshBufferObj = getTCoords(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices)
+{
+
+	iMeshBufferObj->append(vertices, numVertices, indices, numIndices);
+
+}
+
+extern "C" int IMeshBufferAppend(int other)
+{
+
+	iMeshBufferObj->append(other);
+
+}
+
+extern "C" int IMeshBufferGetHardwareMappingHint_Vertex()
+{
+
+	iMeshBufferObj = getHardwareMappingHint_Vertex();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetHardwareMappingHint_Index()
+{
+
+	iMeshBufferObj = getHardwareMappingHint_Index();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferSetHardwareMappingHint(int newMappingHint, int buffer)
+{
+
+	iMeshBufferObj->setHardwareMappingHint(newMappingHint, buffer);
+
+}
+
+extern "C" int IMeshBufferSetDirty(int buffer)
+{
+
+	iMeshBufferObj->setDirty(buffer);
+
+}
+
+extern "C" int IMeshBufferGetChangedID_Vertex()
+{
+
+	iMeshBufferObj = getChangedID_Vertex();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetChangedID_Index()
+{
+
+	iMeshBufferObj = getChangedID_Index();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int SMaterialSMaterial()
+{
+
+	sMaterialObj->SMaterial();
+
+}
+
+extern "C" int SMaterialSMaterial(int other)
+{
+
+	sMaterialObj->SMaterial(other);
+
+}
+
+extern "C" int SMaterialGetTextureMatrix(int i)
+{
+
+	sMaterialObj = getTextureMatrix(i);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialGetTextureMatrix(int i)
+{
+
+	sMaterialObj = getTextureMatrix(i);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialSetTextureMatrix(int i, int mat)
+{
+
+	sMaterialObj->setTextureMatrix(i, mat);
+
+}
+
+extern "C" int SMaterialSetTextureMatrix()
+{
+
+	sMaterialObj = setTextureMatrix();
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialGetTexture(int i)
+{
+
+	sMaterialObj = getTexture(i);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialSetTexture(int i, int tex)
+{
+
+	sMaterialObj->setTexture(i, tex);
+
+}
+
+extern "C" int SMaterialSetFlag(int flag, int value)
+{
+
+	sMaterialObj->setFlag(flag, value);
+
+}
+
+extern "C" int SMaterialSwitch()
+{
+
+	sMaterialObj->switch();
+
+}
+
+extern "C" int SMaterialGetFlag(int flag)
+{
+
+	sMaterialObj = getFlag(flag);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialSwitch()
+{
+
+	sMaterialObj->switch();
+
+}
+
+extern "C" int SMaterialIsTransparent()
+{
+
+	sMaterialObj = isTransparent();
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int IMaterialRendererOnSetMaterial(int material, int lastMaterial, int resetAllRenderstates, int services)
+{
+
+	iMaterialRendererObj->OnSetMaterial(material, lastMaterial, resetAllRenderstates, services);
+
+}
+
+extern "C" int IMaterialRendererOnRender(int service, int vtxtype)
+{
+
+	iMaterialRendererObj = OnRender(service, vtxtype);
+	return (int) iMaterialRendererObj;
+
+}
+
+extern "C" int IMaterialRendererOnUnsetMaterial()
+{
+
+	iMaterialRendererObj->OnUnsetMaterial();
+
+}
+
+extern "C" int IMaterialRendererIsTransparent()
+{
+
+	iMaterialRendererObj = isTransparent();
+	return (int) iMaterialRendererObj;
+
+}
+
+extern "C" int IMaterialRendererGetRenderCapability()
+{
+
+	iMaterialRendererObj = getRenderCapability();
+	return (int) iMaterialRendererObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory()
+{
+
+	iSceneNodeAnimatorFactoryObj = ISceneNodeAnimatorFactory();
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(int type, int target)
+{
+
+	iSceneNodeAnimatorFactoryObj = createSceneNodeAnimator(type, target);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(char * typeName, int target)
+{
+
+	iSceneNodeAnimatorFactoryObj = createSceneNodeAnimator(typeName, target);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount()
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreatableSceneNodeAnimatorTypeCount();
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(int idx)
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreateableSceneNodeAnimatorType(idx);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int idx)
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreateableSceneNodeAnimatorTypeName(idx);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int type)
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreateableSceneNodeAnimatorTypeName(type);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int IMeshSceneNodeIMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iMeshSceneNodeObj->IMeshSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int IMeshSceneNodeSetMesh(int mesh)
+{
+
+	iMeshSceneNodeObj->setMesh(mesh);
+
+}
+
+extern "C" int IMeshSceneNodeGetMesh()
+{
+
+	iMeshSceneNodeObj = getMesh();
+	return (int) iMeshSceneNodeObj;
+
+}
+
+extern "C" int IMeshSceneNodeSetReadOnlyMaterials(int readonly)
+{
+
+	iMeshSceneNodeObj->setReadOnlyMaterials(readonly);
+
+}
+
+extern "C" int IMeshSceneNodeIsReadOnlyMaterials()
+{
+
+	iMeshSceneNodeObj = isReadOnlyMaterials();
+	return (int) iMeshSceneNodeObj;
+
+}
+
+extern "C" int ILoggerILogger()
+{
+
+	iLoggerObj = ILogger();
+	return (int) iLoggerObj;
+
+}
+
+extern "C" int ILoggerGetLogLevel()
+{
+
+	iLoggerObj = getLogLevel();
+	return (int) iLoggerObj;
+
+}
+
+extern "C" int ILoggerSetLogLevel(int ll)
+{
+
+	iLoggerObj->setLogLevel(ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, int ll)
+{
+
+	iLoggerObj->log(text, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, char * hint, int ll)
+{
+
+	iLoggerObj->log(text, hint, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, char * hint, int ll)
+{
+
+	iLoggerObj->log(text, hint, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, char * hint, int ll)
+{
+
+	iLoggerObj->log(text, hint, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, int ll)
+{
+
+	iLoggerObj->log(text, ll);
+
+}
+
+extern "C" int IAnimatedMeshMD3SetInterpolationShift(int shift, int loopMode)
+{
+
+	iAnimatedMeshMD3Obj->setInterpolationShift(shift, loopMode);
+
+}
+
+extern "C" int IAnimatedMeshMD3GetTagList(int frame, int detailLevel, int startFrameLoop, int endFrameLoop)
+{
+
+	iAnimatedMeshMD3Obj = getTagList(frame, detailLevel, startFrameLoop, endFrameLoop);
+	return (int) iAnimatedMeshMD3Obj;
+
+}
+
+extern "C" int IAnimatedMeshMD3GetOriginalMesh()
+{
+
+	iAnimatedMeshMD3Obj = getOriginalMesh();
+	return (int) iAnimatedMeshMD3Obj;
+
+}
+
+extern "C" int IReferenceCountedIReferenceCounted()
+{
+
+	iReferenceCountedObj->IReferenceCounted();
+
+}
+
+extern "C" int IReferenceCountedIReferenceCounted()
+{
+
+	iReferenceCountedObj = IReferenceCounted();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IReferenceCountedGrab()
+{
+
+	iReferenceCountedObj->grab();
+
+}
+
+extern "C" int IReferenceCountedDrop()
+{
+
+	iReferenceCountedObj = drop();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IReferenceCounted_IRR_DEBUG_BREAK_IF()
+{
+
+	iReferenceCountedObj->_IRR_DEBUG_BREAK_IF();
+
+}
+
+extern "C" int IReferenceCountedGetReferenceCount()
+{
+
+	iReferenceCountedObj = getReferenceCount();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IReferenceCountedGetDebugName()
+{
+
+	iReferenceCountedObj = getDebugName();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IParticleMeshEmitterSetMesh(int mesh)
+{
+
+	iParticleMeshEmitterObj->setMesh(mesh);
+
+}
+
+extern "C" int IParticleMeshEmitterSetUseNormalDirection(int useNormalDirection)
+{
+
+	iParticleMeshEmitterObj->setUseNormalDirection(useNormalDirection);
+
+}
+
+extern "C" int IParticleMeshEmitterSetNormalDirectionModifier(int normalDirectionModifier)
+{
+
+	iParticleMeshEmitterObj->setNormalDirectionModifier(normalDirectionModifier);
+
+}
+
+extern "C" int IParticleMeshEmitterSetEveryMeshVertex(int everyMeshVertex)
+{
+
+	iParticleMeshEmitterObj->setEveryMeshVertex(everyMeshVertex);
+
+}
+
+extern "C" int IParticleMeshEmitterGetMesh()
+{
+
+	iParticleMeshEmitterObj = getMesh();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterIsUsingNormalDirection()
+{
+
+	iParticleMeshEmitterObj = isUsingNormalDirection();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterGetNormalDirectionModifier()
+{
+
+	iParticleMeshEmitterObj = getNormalDirectionModifier();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterGetEveryMeshVertex()
+{
+
+	iParticleMeshEmitterObj = getEveryMeshVertex();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterGetType()
+{
+
+	iParticleMeshEmitterObj = getType();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int ICollisionCallbackOnCollision(int animator)
+{
+
+	iCollisionCallbackObj = onCollision(animator);
+	return (int) iCollisionCallbackObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = ISceneNodeAnimatorCollisionResponse();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseIsFalling()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = isFalling();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(int radius)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setEllipsoidRadius(radius);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getEllipsoidRadius();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetGravity(int gravity)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setGravity(gravity);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetGravity()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getGravity();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseJump(int jumpSpeed)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->jump(jumpSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetAnimateTarget(int enable)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setAnimateTarget(enable);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetAnimateTarget()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getAnimateTarget();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(int translation)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setEllipsoidTranslation(translation);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getEllipsoidTranslation();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetWorld(int newWorld)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setWorld(newWorld);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetWorld()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getWorld();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetTargetNode(int node)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setTargetNode(node);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetTargetNode()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getTargetNode();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseCollisionOccurred()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = collisionOccurred();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionPoint()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionPoint();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionTriangle()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionTriangle();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionResultPosition();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionNode()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionNode();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetCollisionCallback(int callback)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setCollisionCallback(callback);
+
+}
+
+extern "C" int CDynamicMeshBufferCDynamicMeshBuffer(int vertexType, int indexType)
+{
+
+	cDynamicMeshBufferObj->CDynamicMeshBuffer(vertexType, indexType);
+
+}
+
+extern "C" int CDynamicMeshBufferCVertexBuffer()
+{
+
+	cDynamicMeshBufferObj = CVertexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferCIndexBuffer()
+{
+
+	cDynamicMeshBufferObj = CIndexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferCDynamicMeshBuffer()
+{
+
+	cDynamicMeshBufferObj = CDynamicMeshBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetVertexBuffer()
+{
+
+	cDynamicMeshBufferObj = getVertexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetIndexBuffer()
+{
+
+	cDynamicMeshBufferObj = getIndexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferSetVertexBuffer(int newVertexBuffer)
+{
+
+	cDynamicMeshBufferObj->setVertexBuffer(newVertexBuffer);
+
+}
+
+extern "C" int CDynamicMeshBufferSetIndexBuffer(int newIndexBuffer)
+{
+
+	cDynamicMeshBufferObj->setIndexBuffer(newIndexBuffer);
+
+}
+
+extern "C" int CDynamicMeshBufferGetMaterial()
+{
+
+	cDynamicMeshBufferObj = getMaterial();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetMaterial()
+{
+
+	cDynamicMeshBufferObj = getMaterial();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetBoundingBox()
+{
+
+	cDynamicMeshBufferObj = getBoundingBox();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferSetBoundingBox(int box)
+{
+
+	cDynamicMeshBufferObj->setBoundingBox(box);
+
+}
+
+extern "C" int CDynamicMeshBufferRecalculateBoundingBox()
+{
+
+	cDynamicMeshBufferObj->recalculateBoundingBox();
+
+}
+
+extern "C" int CDynamicMeshBufferReset(int Pos)
+{
+
+	cDynamicMeshBufferObj = reset(Pos);
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetVertexBuffer()
+{
+
+	cDynamicMeshBufferObj = getVertexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferAddInternalPoint(int Pos)
+{
+
+	cDynamicMeshBufferObj = addInternalPoint(Pos);
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetType()
+{
+
+	iGUIFontBitmapObj = getType();
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetSpriteBank()
+{
+
+	iGUIFontBitmapObj = getSpriteBank();
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetSpriteNoFromChar(char * c)
+{
+
+	iGUIFontBitmapObj = getSpriteNoFromChar(c);
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetKerningWidth(char * thisLetter, char * previousLetter)
+{
+
+	iGUIFontBitmapObj = getKerningWidth(thisLetter, previousLetter);
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIInOutFaderIGUIInOutFader(int environment, int parent, int id, int EGUIET_IN_OUT_FADER)
+{
+
+	iGUIInOutFaderObj->IGUIInOutFader(environment, parent, id, EGUIET_IN_OUT_FADER);
+
+}
+
+extern "C" int IGUIInOutFaderGetColor()
+{
+
+	iGUIInOutFaderObj = getColor();
+	return (int) iGUIInOutFaderObj;
+
+}
+
+extern "C" int IGUIInOutFaderSetColor(int color)
+{
+
+	iGUIInOutFaderObj->setColor(color);
+
+}
+
+extern "C" int IGUIInOutFaderSetColor(int source, int dest)
+{
+
+	iGUIInOutFaderObj->setColor(source, dest);
+
+}
+
+extern "C" int IGUIInOutFaderFadeIn(int time)
+{
+
+	iGUIInOutFaderObj->fadeIn(time);
+
+}
+
+extern "C" int IGUIInOutFaderFadeOut(int time)
+{
+
+	iGUIInOutFaderObj->fadeOut(time);
+
+}
+
+extern "C" int IGUIInOutFaderIsReady()
+{
+
+	iGUIInOutFaderObj = isReady();
+	return (int) iGUIInOutFaderObj;
+
+}
+
+extern "C" int IGUISpinBoxIGUISpinBox(int environment, int parent, int id, int EGUIET_SPIN_BOX)
+{
+
+	iGUISpinBoxObj->IGUISpinBox(environment, parent, id, EGUIET_SPIN_BOX);
+
+}
+
+extern "C" int IGUISpinBoxGetEditBox()
+{
+
+	iGUISpinBoxObj = getEditBox();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxSetValue(int val)
+{
+
+	iGUISpinBoxObj->setValue(val);
+
+}
+
+extern "C" int IGUISpinBoxGetValue()
+{
+
+	iGUISpinBoxObj = getValue();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxSetRange(int min, int max)
+{
+
+	iGUISpinBoxObj->setRange(min, max);
+
+}
+
+extern "C" int IGUISpinBoxGetMin()
+{
+
+	iGUISpinBoxObj = getMin();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxGetMax()
+{
+
+	iGUISpinBoxObj = getMax();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxSetStepSize(int step)
+{
+
+	iGUISpinBoxObj->setStepSize(step);
+
+}
+
+extern "C" int IGUISpinBoxSetDecimalPlaces(int places)
+{
+
+	iGUISpinBoxObj->setDecimalPlaces(places);
+
+}
+
+extern "C" int IGUISpinBoxGetStepSize()
+{
+
+	iGUISpinBoxObj = getStepSize();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int ICameraSceneNodeICameraSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iCameraSceneNodeObj->ICameraSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int ICameraSceneNodeSetProjectionMatrix(int projection, int isOrthogonal)
+{
+
+	iCameraSceneNodeObj->setProjectionMatrix(projection, isOrthogonal);
+
+}
+
+extern "C" int ICameraSceneNodeGetProjectionMatrix()
+{
+
+	iCameraSceneNodeObj = getProjectionMatrix();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetViewMatrix()
+{
+
+	iCameraSceneNodeObj = getViewMatrix();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetViewMatrixAffector(int affector)
+{
+
+	iCameraSceneNodeObj->setViewMatrixAffector(affector);
+
+}
+
+extern "C" int ICameraSceneNodeGetViewMatrixAffector()
+{
+
+	iCameraSceneNodeObj = getViewMatrixAffector();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeOnEvent(int event)
+{
+
+	iCameraSceneNodeObj = OnEvent(event);
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetTarget(int pos)
+{
+
+	iCameraSceneNodeObj->setTarget(pos);
+
+}
+
+extern "C" int ICameraSceneNodeSetRotation(int rotation)
+{
+
+	iCameraSceneNodeObj->setRotation(rotation);
+
+}
+
+extern "C" int ICameraSceneNodeGetTarget()
+{
+
+	iCameraSceneNodeObj = getTarget();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetUpVector(int pos)
+{
+
+	iCameraSceneNodeObj->setUpVector(pos);
+
+}
+
+extern "C" int ICameraSceneNodeGetUpVector()
+{
+
+	iCameraSceneNodeObj = getUpVector();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetNearValue()
+{
+
+	iCameraSceneNodeObj = getNearValue();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetFarValue()
+{
+
+	iCameraSceneNodeObj = getFarValue();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetAspectRatio()
+{
+
+	iCameraSceneNodeObj = getAspectRatio();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetFOV()
+{
+
+	iCameraSceneNodeObj = getFOV();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetNearValue(int zn)
+{
+
+	iCameraSceneNodeObj->setNearValue(zn);
+
+}
+
+extern "C" int ICameraSceneNodeSetFarValue(int zf)
+{
+
+	iCameraSceneNodeObj->setFarValue(zf);
+
+}
+
+extern "C" int ICameraSceneNodeSetAspectRatio(int aspect)
+{
+
+	iCameraSceneNodeObj->setAspectRatio(aspect);
+
+}
+
+extern "C" int ICameraSceneNodeSetFOV(int fovy)
+{
+
+	iCameraSceneNodeObj->setFOV(fovy);
+
+}
+
+extern "C" int ICameraSceneNodeGetViewFrustum()
+{
+
+	iCameraSceneNodeObj = getViewFrustum();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetInputReceiverEnabled(int enabled)
+{
+
+	iCameraSceneNodeObj->setInputReceiverEnabled(enabled);
+
+}
+
+extern "C" int ICameraSceneNodeIsInputReceiverEnabled()
+{
+
+	iCameraSceneNodeObj = isInputReceiverEnabled();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeIsOrthogonal()
+{
+
+	iCameraSceneNodeObj = isOrthogonal();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeBindTargetAndRotation(int bound)
+{
+
+	iCameraSceneNodeObj->bindTargetAndRotation(bound);
+
+}
+
+extern "C" int ICameraSceneNodeGetTargetAndRotationBinding()
+{
+
+	iCameraSceneNodeObj = getTargetAndRotationBinding();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int IParticleRingEmitterSetCenter(int center)
+{
+
+	iParticleRingEmitterObj->setCenter(center);
+
+}
+
+extern "C" int IParticleRingEmitterSetRadius(int radius)
+{
+
+	iParticleRingEmitterObj->setRadius(radius);
+
+}
+
+extern "C" int IParticleRingEmitterSetRingThickness(int ringThickness)
+{
+
+	iParticleRingEmitterObj->setRingThickness(ringThickness);
+
+}
+
+extern "C" int IParticleRingEmitterGetCenter()
+{
+
+	iParticleRingEmitterObj = getCenter();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleRingEmitterGetRadius()
+{
+
+	iParticleRingEmitterObj = getRadius();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleRingEmitterGetRingThickness()
+{
+
+	iParticleRingEmitterObj = getRingThickness();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleRingEmitterGetType()
+{
+
+	iParticleRingEmitterObj = getType();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleSphereEmitterSetCenter(int center)
+{
+
+	iParticleSphereEmitterObj->setCenter(center);
+
+}
+
+extern "C" int IParticleSphereEmitterSetRadius(int radius)
+{
+
+	iParticleSphereEmitterObj->setRadius(radius);
+
+}
+
+extern "C" int IParticleSphereEmitterGetCenter()
+{
+
+	iParticleSphereEmitterObj = getCenter();
+	return (int) iParticleSphereEmitterObj;
+
+}
+
+extern "C" int IParticleSphereEmitterGetRadius()
+{
+
+	iParticleSphereEmitterObj = getRadius();
+	return (int) iParticleSphereEmitterObj;
+
+}
+
+extern "C" int IParticleSphereEmitterGetType()
+{
+
+	iParticleSphereEmitterObj = getType();
+	return (int) iParticleSphereEmitterObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaGetMoveSpeed()
+{
+
+	iSceneNodeAnimatorCameraMayaObj = getMoveSpeed();
+	return (int) iSceneNodeAnimatorCameraMayaObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaSetMoveSpeed(int moveSpeed)
+{
+
+	iSceneNodeAnimatorCameraMayaObj->setMoveSpeed(moveSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaGetRotateSpeed()
+{
+
+	iSceneNodeAnimatorCameraMayaObj = getRotateSpeed();
+	return (int) iSceneNodeAnimatorCameraMayaObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaSetRotateSpeed(int rotateSpeed)
+{
+
+	iSceneNodeAnimatorCameraMayaObj->setRotateSpeed(rotateSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaGetZoomSpeed()
+{
+
+	iSceneNodeAnimatorCameraMayaObj = getZoomSpeed();
+	return (int) iSceneNodeAnimatorCameraMayaObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaSetZoomSpeed(int zoomSpeed)
+{
+
+	iSceneNodeAnimatorCameraMayaObj->setZoomSpeed(zoomSpeed);
+
+}
+
+extern "C" int IParticleGravityAffectorSetTimeForceLost(int timeForceLost)
+{
+
+	iParticleGravityAffectorObj->setTimeForceLost(timeForceLost);
+
+}
+
+extern "C" int IParticleGravityAffectorSetGravity(int gravity)
+{
+
+	iParticleGravityAffectorObj->setGravity(gravity);
+
+}
+
+extern "C" int IParticleGravityAffectorGetTimeForceLost()
+{
+
+	iParticleGravityAffectorObj = getTimeForceLost();
+	return (int) iParticleGravityAffectorObj;
+
+}
+
+extern "C" int IParticleGravityAffectorGetGravity()
+{
+
+	iParticleGravityAffectorObj = getGravity();
+	return (int) iParticleGravityAffectorObj;
+
+}
+
+extern "C" int IParticleGravityAffectorGetType()
+{
+
+	iParticleGravityAffectorObj = getType();
+	return (int) iParticleGravityAffectorObj;
+
+}
+
+extern "C" int ISceneNodeISceneNode(int parent, int mgr, int id, int position, int rotation, int scale)
+{
+
+	iSceneNodeObj->ISceneNode(parent, mgr, id, position, rotation, scale);
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeISceneNode()
+{
+
+	iSceneNodeObj = ISceneNode();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAll()
+{
+
+	iSceneNodeObj->removeAll();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeOnRegisterSceneNode()
+{
+
+	iSceneNodeObj->OnRegisterSceneNode();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeOnAnimate(int timeMs)
+{
+
+	iSceneNodeObj->OnAnimate(timeMs);
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeWhile(int ait)
+{
+
+	iSceneNodeObj->while(ait);
+
+}
+
+extern "C" int ISceneNodeAnimateNode()
+{
+
+	iSceneNodeObj = animateNode();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRender()
+{
+
+	iSceneNodeObj->render();
+
+}
+
+extern "C" int ISceneNodeGetName()
+{
+
+	iSceneNodeObj = getName();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetName(char * name)
+{
+
+	iSceneNodeObj->setName(name);
+
+}
+
+extern "C" int ISceneNodeSetName(int name)
+{
+
+	iSceneNodeObj->setName(name);
+
+}
+
+extern "C" int ISceneNodeGetBoundingBox()
+{
+
+	iSceneNodeObj = getBoundingBox();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetTransformedBoundingBox()
+{
+
+	iSceneNodeObj = getTransformedBoundingBox();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetBoundingBox()
+{
+
+	iSceneNodeObj = getBoundingBox();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeTransformBoxEx()
+{
+
+	iSceneNodeObj = transformBoxEx();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAbsoluteTransformation()
+{
+
+	iSceneNodeObj = getAbsoluteTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetRelativeTransformation()
+{
+
+	iSceneNodeObj = getRelativeTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetRotationDegrees()
+{
+
+	iSceneNodeObj = setRotationDegrees();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetTranslation()
+{
+
+	iSceneNodeObj = setTranslation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetScale()
+{
+
+	iSceneNodeObj = setScale();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeIsVisible()
+{
+
+	iSceneNodeObj = isVisible();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeIsTrulyVisible()
+{
+
+	iSceneNodeObj = isTrulyVisible();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetVisible(int isVisible)
+{
+
+	iSceneNodeObj->setVisible(isVisible);
+
+}
+
+extern "C" int ISceneNodeGetID()
+{
+
+	iSceneNodeObj = getID();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetID(int id)
+{
+
+	iSceneNodeObj->setID(id);
+
+}
+
+extern "C" int ISceneNodeAddChild(int child)
+{
+
+	iSceneNodeObj->addChild(child);
+
+}
+
+extern "C" int ISceneNodeGrab()
+{
+
+	iSceneNodeObj = grab();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemove()
+{
+
+	iSceneNodeObj = remove();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodePush_back()
+{
+
+	iSceneNodeObj = push_back();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveChild(int child)
+{
+
+	iSceneNodeObj = removeChild(child);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeErase()
+{
+
+	iSceneNodeObj = erase();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAll()
+{
+
+	iSceneNodeObj->removeAll();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeClear()
+{
+
+	iSceneNodeObj = clear();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemove()
+{
+
+	iSceneNodeObj->remove();
+
+}
+
+extern "C" int ISceneNodeAddAnimator(int animator)
+{
+
+	iSceneNodeObj->addAnimator(animator);
+
+}
+
+extern "C" int ISceneNodePush_back()
+{
+
+	iSceneNodeObj = push_back();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGrab()
+{
+
+	iSceneNodeObj = grab();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAnimators()
+{
+
+	iSceneNodeObj = getAnimators();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAnimator(int animator)
+{
+
+	iSceneNodeObj->removeAnimator(animator);
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeErase()
+{
+
+	iSceneNodeObj = erase();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAnimators()
+{
+
+	iSceneNodeObj->removeAnimators();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeClear()
+{
+
+	iSceneNodeObj = clear();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial(int num)
+{
+
+	iSceneNodeObj = getMaterial(num);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetMaterialFlag(int flag, int newvalue)
+{
+
+	iSceneNodeObj->setMaterialFlag(flag, newvalue);
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial(int flag)
+{
+
+	iSceneNodeObj = getMaterial(flag);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetMaterialTexture(int textureLayer, int texture)
+{
+
+	iSceneNodeObj->setMaterialTexture(textureLayer, texture);
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial(int textureLayer)
+{
+
+	iSceneNodeObj = getMaterial(textureLayer);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetMaterialType(int newType)
+{
+
+	iSceneNodeObj->setMaterialType(newType);
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial()
+{
+
+	iSceneNodeObj = getMaterial();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetScale()
+{
+
+	iSceneNodeObj = getScale();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetScale(int scale)
+{
+
+	iSceneNodeObj->setScale(scale);
+
+}
+
+extern "C" int ISceneNodeGetRotation()
+{
+
+	iSceneNodeObj = getRotation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetRotation(int rotation)
+{
+
+	iSceneNodeObj->setRotation(rotation);
+
+}
+
+extern "C" int ISceneNodeGetPosition()
+{
+
+	iSceneNodeObj = getPosition();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetPosition(int newpos)
+{
+
+	iSceneNodeObj->setPosition(newpos);
+
+}
+
+extern "C" int ISceneNodeGetAbsolutePosition()
+{
+
+	iSceneNodeObj = getAbsolutePosition();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetAutomaticCulling(int state)
+{
+
+	iSceneNodeObj->setAutomaticCulling(state);
+
+}
+
+extern "C" int ISceneNodeGetAutomaticCulling()
+{
+
+	iSceneNodeObj = getAutomaticCulling();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetDebugDataVisible(int state)
+{
+
+	iSceneNodeObj->setDebugDataVisible(state);
+
+}
+
+extern "C" int ISceneNodeIsDebugDataVisible()
+{
+
+	iSceneNodeObj = isDebugDataVisible();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetIsDebugObject(int debugObject)
+{
+
+	iSceneNodeObj->setIsDebugObject(debugObject);
+
+}
+
+extern "C" int ISceneNodeIsDebugObject()
+{
+
+	iSceneNodeObj = isDebugObject();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetChildren()
+{
+
+	iSceneNodeObj = getChildren();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetParent(int newParent)
+{
+
+	iSceneNodeObj->setParent(newParent);
+
+}
+
+extern "C" int ISceneNodeGrab()
+{
+
+	iSceneNodeObj->grab();
+
+}
+
+extern "C" int ISceneNodeRemove()
+{
+
+	iSceneNodeObj->remove();
+
+}
+
+extern "C" int ISceneNodeDrop()
+{
+
+	iSceneNodeObj->drop();
+
+}
+
+extern "C" int ISceneNodeGetTriangleSelector()
+{
+
+	iSceneNodeObj = getTriangleSelector();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetTriangleSelector(int selector)
+{
+
+	iSceneNodeObj->setTriangleSelector(selector);
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeGetAbsoluteTransformation()
+{
+
+	iSceneNodeObj = getAbsoluteTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetRelativeTransformation()
+{
+
+	iSceneNodeObj = getRelativeTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetParent()
+{
+
+	iSceneNodeObj = getParent();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetType()
+{
+
+	iSceneNodeObj = getType();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSerializeAttributes(int out, int options)
+{
+
+	iSceneNodeObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int ISceneNodeAddString()
+{
+
+	iSceneNodeObj = addString();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddInt()
+{
+
+	iSceneNodeObj = addInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddVector3d()
+{
+
+	iSceneNodeObj = addVector3d();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddVector3d()
+{
+
+	iSceneNodeObj = addVector3d();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddVector3d()
+{
+
+	iSceneNodeObj = addVector3d();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddBool()
+{
+
+	iSceneNodeObj = addBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddInt()
+{
+
+	iSceneNodeObj = addInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddInt()
+{
+
+	iSceneNodeObj = addInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddBool()
+{
+
+	iSceneNodeObj = addBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeDeserializeAttributes(int in, int options)
+{
+
+	iSceneNodeObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsString()
+{
+
+	iSceneNodeObj = getAttributeAsString();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsInt()
+{
+
+	iSceneNodeObj = getAttributeAsInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetPosition()
+{
+
+	iSceneNodeObj->setPosition();
+
+}
+
+extern "C" int ISceneNodeSetRotation()
+{
+
+	iSceneNodeObj->setRotation();
+
+}
+
+extern "C" int ISceneNodeSetScale()
+{
+
+	iSceneNodeObj->setScale();
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsBool()
+{
+
+	iSceneNodeObj = getAttributeAsBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsEnumeration(int AutomaticCullingNames)
+{
+
+	iSceneNodeObj = getAttributeAsEnumeration(AutomaticCullingNames);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsInt()
+{
+
+	iSceneNodeObj = getAttributeAsInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsInt()
+{
+
+	iSceneNodeObj = getAttributeAsInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsBool()
+{
+
+	iSceneNodeObj = getAttributeAsBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeClone(int newParent, int newManager)
+{
+
+	iSceneNodeObj = clone(newParent, newManager);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetSceneManager()
+{
+
+	iSceneNodeObj = getSceneManager();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ITextSceneNodeITextSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iTextSceneNodeObj->ITextSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int ITextSceneNodeSetText(char * text)
+{
+
+	iTextSceneNodeObj->setText(text);
+
+}
+
+extern "C" int ITextSceneNodeSetTextColor(int color)
+{
+
+	iTextSceneNodeObj->setTextColor(color);
+
+}
+
+extern "C" int SMaterialLayerSMaterialLayer()
+{
+
+	sMaterialLayerObj->SMaterialLayer();
+
+}
+
+extern "C" int SMaterialLayerSMaterialLayer(int other)
+{
+
+	sMaterialLayerObj->SMaterialLayer(other);
+
+}
+
+extern "C" int SMaterialLayerSMaterialLayer()
+{
+
+	sMaterialLayerObj->SMaterialLayer();
+
+}
+
+extern "C" int SMaterialLayerDestruct()
+{
+
+	sMaterialLayerObj = destruct();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerDeallocate()
+{
+
+	sMaterialLayerObj = deallocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerDestruct()
+{
+
+	sMaterialLayerObj = destruct();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerDeallocate()
+{
+
+	sMaterialLayerObj = deallocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerAllocate()
+{
+
+	sMaterialLayerObj = allocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerConstruct(int TextureMatrix)
+{
+
+	sMaterialLayerObj = construct(TextureMatrix);
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerGetTextureMatrix()
+{
+
+	sMaterialLayerObj = getTextureMatrix();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerAllocate()
+{
+
+	sMaterialLayerObj = allocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerConstruct(int IdentityMatrix)
+{
+
+	sMaterialLayerObj = construct(IdentityMatrix);
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerGetTextureMatrix()
+{
+
+	sMaterialLayerObj = getTextureMatrix();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerSetTextureMatrix(int mat)
+{
+
+	sMaterialLayerObj->setTextureMatrix(mat);
+
+}
+
+extern "C" int SMaterialLayerAllocate()
+{
+
+	sMaterialLayerObj = allocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerConstruct()
+{
+
+	sMaterialLayerObj = construct();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int IGUIStaticTextIGUIStaticText(int environment, int parent, int id, int EGUIET_STATIC_TEXT)
+{
+
+	iGUIStaticTextObj->IGUIStaticText(environment, parent, id, EGUIET_STATIC_TEXT);
+
+}
+
+extern "C" int IGUIStaticTextSetOverrideFont(int font)
+{
+
+	iGUIStaticTextObj->setOverrideFont(font);
+
+}
+
+extern "C" int IGUIStaticTextGetOverrideFont()
+{
+
+	iGUIStaticTextObj = getOverrideFont();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextSetOverrideColor(int color)
+{
+
+	iGUIStaticTextObj->setOverrideColor(color);
+
+}
+
+extern "C" int IGUIStaticTextGetOverrideColor()
+{
+
+	iGUIStaticTextObj = getOverrideColor();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextEnableOverrideColor(int enable)
+{
+
+	iGUIStaticTextObj->enableOverrideColor(enable);
+
+}
+
+extern "C" int IGUIStaticTextIsOverrideColorEnabled()
+{
+
+	iGUIStaticTextObj = isOverrideColorEnabled();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextSetBackgroundColor(int color)
+{
+
+	iGUIStaticTextObj->setBackgroundColor(color);
+
+}
+
+extern "C" int IGUIStaticTextSetDrawBackground(int draw)
+{
+
+	iGUIStaticTextObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUIStaticTextSetDrawBorder(int draw)
+{
+
+	iGUIStaticTextObj->setDrawBorder(draw);
+
+}
+
+extern "C" int IGUIStaticTextSetTextAlignment(int horizontal, int vertical)
+{
+
+	iGUIStaticTextObj->setTextAlignment(horizontal, vertical);
+
+}
+
+extern "C" int IGUIStaticTextSetWordWrap(int enable)
+{
+
+	iGUIStaticTextObj->setWordWrap(enable);
+
+}
+
+extern "C" int IGUIStaticTextIsWordWrapEnabled()
+{
+
+	iGUIStaticTextObj = isWordWrapEnabled();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextGetTextHeight()
+{
+
+	iGUIStaticTextObj = getTextHeight();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextGetTextWidth()
+{
+
+	iGUIStaticTextObj = getTextWidth();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeIParticleSystemSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iParticleSystemSceneNodeObj->IParticleSystemSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int IParticleSystemSceneNodeSetParticleSize(int size)
+{
+
+	iParticleSystemSceneNodeObj->setParticleSize(size);
+
+}
+
+extern "C" int IParticleSystemSceneNodeSetParticlesAreGlobal(int global)
+{
+
+	iParticleSystemSceneNodeObj->setParticlesAreGlobal(global);
+
+}
+
+extern "C" int IParticleSystemSceneNodeGetEmitter()
+{
+
+	iParticleSystemSceneNodeObj = getEmitter();
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeSetEmitter(int emitter)
+{
+
+	iParticleSystemSceneNodeObj->setEmitter(emitter);
+
+}
+
+extern "C" int IParticleSystemSceneNodeAddAffector(int affector)
+{
+
+	iParticleSystemSceneNodeObj->addAffector(affector);
+
+}
+
+extern "C" int IParticleSystemSceneNodeRemoveAllAffectors()
+{
+
+	iParticleSystemSceneNodeObj->removeAllAffectors();
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(int node, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createAnimatedMeshSceneNodeEmitter(node, useNormalDirection, direction, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateBoxEmitter(int box, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createBoxEmitter(box, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateCylinderEmitter(int center, int radius, int normal, int length, int outlineOnly, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createCylinderEmitter(center, radius, normal, length, outlineOnly, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateMeshEmitter(int mesh, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createMeshEmitter(mesh, useNormalDirection, direction, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreatePointEmitter(int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createPointEmitter(direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateRingEmitter(int center, int radius, int ringThickness, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createRingEmitter(center, radius, ringThickness, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateSphereEmitter(int center, int radius, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createSphereEmitter(center, radius, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateAttractionAffector(int point, int speed, int attract, int affectX, int affectY, int affectZ)
+{
+
+	iParticleSystemSceneNodeObj = createAttractionAffector(point, speed, attract, affectX, affectY, affectZ);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateScaleParticleAffector(int scaleTo)
+{
+
+	iParticleSystemSceneNodeObj = createScaleParticleAffector(scaleTo);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateFadeOutParticleAffector(int targetColor, int timeNeededToFadeOut)
+{
+
+	iParticleSystemSceneNodeObj = createFadeOutParticleAffector(targetColor, timeNeededToFadeOut);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateGravityAffector(int gravity, int timeForceLost)
+{
+
+	iParticleSystemSceneNodeObj = createGravityAffector(gravity, timeForceLost);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateRotationAffector(int speed, int pivotPoint)
+{
+
+	iParticleSystemSceneNodeObj = createRotationAffector(speed, pivotPoint);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeITerrainSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iTerrainSceneNodeObj->ITerrainSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int ITerrainSceneNodeGetBoundingBox()
+{
+
+	iTerrainSceneNodeObj = getBoundingBox();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetBoundingBox(int patchX, int patchZ)
+{
+
+	iTerrainSceneNodeObj = getBoundingBox(patchX, patchZ);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetIndexCount()
+{
+
+	iTerrainSceneNodeObj = getIndexCount();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetMesh()
+{
+
+	iTerrainSceneNodeObj = getMesh();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetRenderBuffer()
+{
+
+	iTerrainSceneNodeObj = getRenderBuffer();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetMeshBufferForLOD(int mb, int LOD)
+{
+
+	iTerrainSceneNodeObj->getMeshBufferForLOD(mb, LOD);
+
+}
+
+extern "C" int ITerrainSceneNodeGetIndicesForPatch(int indices, int patchX, int patchZ, int LOD)
+{
+
+	iTerrainSceneNodeObj = getIndicesForPatch(indices, patchX, patchZ, LOD);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetCurrentLODOfPatches(int LODs)
+{
+
+	iTerrainSceneNodeObj = getCurrentLODOfPatches(LODs);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeSetLODOfPatch(int patchX, int patchZ, int LOD)
+{
+
+	iTerrainSceneNodeObj->setLODOfPatch(patchX, patchZ, LOD);
+
+}
+
+extern "C" int ITerrainSceneNodeGetTerrainCenter()
+{
+
+	iTerrainSceneNodeObj = getTerrainCenter();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetHeight(int x, int y)
+{
+
+	iTerrainSceneNodeObj = getHeight(x, y);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeSetCameraMovementDelta(int delta)
+{
+
+	iTerrainSceneNodeObj->setCameraMovementDelta(delta);
+
+}
+
+extern "C" int ITerrainSceneNodeSetCameraRotationDelta(int delta)
+{
+
+	iTerrainSceneNodeObj->setCameraRotationDelta(delta);
+
+}
+
+extern "C" int ITerrainSceneNodeSetDynamicSelectorUpdate(int bVal)
+{
+
+	iTerrainSceneNodeObj->setDynamicSelectorUpdate(bVal);
+
+}
+
+extern "C" int ITerrainSceneNodeOverrideLODDistance(int LOD, int newDistance)
+{
+
+	iTerrainSceneNodeObj = overrideLODDistance(LOD, newDistance);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeScaleTexture(int scale, int scale2)
+{
+
+	iTerrainSceneNodeObj->scaleTexture(scale, scale2);
+
+}
+
+extern "C" int ITerrainSceneNodeLoadHeightMap(int file, int vertexColor, int smoothFactor)
+{
+
+	iTerrainSceneNodeObj = loadHeightMap(file, vertexColor, smoothFactor);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeLoadHeightMapRAW(int file, int bitsPerPixel, int signedData, int floatVals, int width, int vertexColor, int smoothFactor)
+{
+
+	iTerrainSceneNodeObj = loadHeightMapRAW(file, bitsPerPixel, signedData, floatVals, width, vertexColor, smoothFactor);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int IGUIContextMenuIGUIContextMenu(int environment, int parent, int id, int EGUIET_CONTEXT_MENU)
+{
+
+	iGUIContextMenuObj->IGUIContextMenu(environment, parent, id, EGUIET_CONTEXT_MENU);
+
+}
+
+extern "C" int IGUIContextMenuSetCloseHandling(int onClose)
+{
+
+	iGUIContextMenuObj->setCloseHandling(onClose);
+
+}
+
+extern "C" int IGUIContextMenuGetCloseHandling()
+{
+
+	iGUIContextMenuObj = getCloseHandling();
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuGetItemCount()
+{
+
+	iGUIContextMenuObj = getItemCount();
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuAddItem(char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking)
+{
+
+	iGUIContextMenuObj = addItem(text, commandId, enabled, hasSubMenu, checked, autoChecking);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuInsertItem(int idx, char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking)
+{
+
+	iGUIContextMenuObj = insertItem(idx, text, commandId, enabled, hasSubMenu, checked, autoChecking);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuFindItemWithCommandId(int commandId, int idxStartSearch)
+{
+
+	iGUIContextMenuObj = findItemWithCommandId(commandId, idxStartSearch);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuAddSeparator()
+{
+
+	iGUIContextMenuObj->addSeparator();
+
+}
+
+extern "C" int IGUIContextMenuGetItemText(int idx)
+{
+
+	iGUIContextMenuObj = getItemText(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemText(int idx, char * text)
+{
+
+	iGUIContextMenuObj->setItemText(idx, text);
+
+}
+
+extern "C" int IGUIContextMenuIsItemEnabled(int idx)
+{
+
+	iGUIContextMenuObj = isItemEnabled(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemEnabled(int idx, int enabled)
+{
+
+	iGUIContextMenuObj->setItemEnabled(idx, enabled);
+
+}
+
+extern "C" int IGUIContextMenuSetItemChecked(int idx, int enabled)
+{
+
+	iGUIContextMenuObj->setItemChecked(idx, enabled);
+
+}
+
+extern "C" int IGUIContextMenuIsItemChecked(int idx)
+{
+
+	iGUIContextMenuObj = isItemChecked(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuRemoveItem(int idx)
+{
+
+	iGUIContextMenuObj->removeItem(idx);
+
+}
+
+extern "C" int IGUIContextMenuRemoveAllItems()
+{
+
+	iGUIContextMenuObj->removeAllItems();
+
+}
+
+extern "C" int IGUIContextMenuGetSelectedItem()
+{
+
+	iGUIContextMenuObj = getSelectedItem();
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuGetItemCommandId(int idx)
+{
+
+	iGUIContextMenuObj = getItemCommandId(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemCommandId(int idx, int id)
+{
+
+	iGUIContextMenuObj->setItemCommandId(idx, id);
+
+}
+
+extern "C" int IGUIContextMenuGetSubMenu(int idx)
+{
+
+	iGUIContextMenuObj = getSubMenu(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemAutoChecking(int idx, int autoChecking)
+{
+
+	iGUIContextMenuObj->setItemAutoChecking(idx, autoChecking);
+
+}
+
+extern "C" int IGUIContextMenuGetItemAutoChecking(int idx)
+{
+
+	iGUIContextMenuObj = getItemAutoChecking(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetEventParent(int parent)
+{
+
+	iGUIContextMenuObj->setEventParent(parent);
+
+}
+
+extern "C" int IImageLock()
+{
+
+	iImageObj->lock();
+
+}
+
+extern "C" int IImageUnlock()
+{
+
+	iImageObj->unlock();
+
+}
+
+extern "C" int IImageGetDimension()
+{
+
+	iImageObj = getDimension();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetBitsPerPixel()
+{
+
+	iImageObj = getBitsPerPixel();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetBytesPerPixel()
+{
+
+	iImageObj = getBytesPerPixel();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetImageDataSizeInBytes()
+{
+
+	iImageObj = getImageDataSizeInBytes();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetImageDataSizeInPixels()
+{
+
+	iImageObj = getImageDataSizeInPixels();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetPixel(int x, int y)
+{
+
+	iImageObj = getPixel(x, y);
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageSetPixel(int x, int y, int color, int blend)
+{
+
+	iImageObj->setPixel(x, y, color, blend);
+
+}
+
+extern "C" int IImageGetColorFormat()
+{
+
+	iImageObj = getColorFormat();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetRedMask()
+{
+
+	iImageObj = getRedMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetGreenMask()
+{
+
+	iImageObj = getGreenMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetBlueMask()
+{
+
+	iImageObj = getBlueMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetAlphaMask()
+{
+
+	iImageObj = getAlphaMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetPitch()
+{
+
+	iImageObj = getPitch();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageCopyToScaling(int target, int width, int height, int format, int pitch)
+{
+
+	iImageObj->copyToScaling(target, width, height, format, pitch);
+
+}
+
+extern "C" int IImageCopyToScaling(int target)
+{
+
+	iImageObj->copyToScaling(target);
+
+}
+
+extern "C" int IImageCopyTo(int target, int pos)
+{
+
+	iImageObj->copyTo(target, pos);
+
+}
+
+extern "C" int IImageCopyTo(int target, int pos, int sourceRect, int clipRect)
+{
+
+	iImageObj->copyTo(target, pos, sourceRect, clipRect);
+
+}
+
+extern "C" int IImageCopyToWithAlpha(int target, int pos, int sourceRect, int color, int clipRect)
+{
+
+	iImageObj->copyToWithAlpha(target, pos, sourceRect, color, clipRect);
+
+}
+
+extern "C" int IImageCopyToScalingBoxFilter(int target, int bias, int blend)
+{
+
+	iImageObj->copyToScalingBoxFilter(target, bias, blend);
+
+}
+
+extern "C" int IImageFill(int color)
+{
+
+	iImageObj->fill(color);
+
+}
+
+extern "C" int IImageGetBitsPerPixelFromFormat(int format)
+{
+
+	iImageObj = getBitsPerPixelFromFormat(format);
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageSwitch()
+{
+
+	iImageObj->switch();
+
+}
+
+extern "C" int IImageIsRenderTargetOnlyFormat(int format)
+{
+
+	iImageObj = isRenderTargetOnlyFormat(format);
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageSwitch()
+{
+
+	iImageObj->switch();
+
+}
+
+extern "C" int IAnimatedMeshMD2GetFrameLoop(int l, int outBegin, int outEnd, int outFPS)
+{
+
+	iAnimatedMeshMD2Obj->getFrameLoop(l, outBegin, outEnd, outFPS);
+
+}
+
+extern "C" int IAnimatedMeshMD2GetFrameLoop(char * name, int outBegin, int outEnd, int outFPS)
+{
+
+	iAnimatedMeshMD2Obj = getFrameLoop(name, outBegin, outEnd, outFPS);
+	return (int) iAnimatedMeshMD2Obj;
+
+}
+
+extern "C" int IAnimatedMeshMD2GetAnimationCount()
+{
+
+	iAnimatedMeshMD2Obj = getAnimationCount();
+	return (int) iAnimatedMeshMD2Obj;
+
+}
+
+extern "C" int IAnimatedMeshMD2GetAnimationName(int nr)
+{
+
+	iAnimatedMeshMD2Obj = getAnimationName(nr);
+	return (int) iAnimatedMeshMD2Obj;
+
+}
+
+extern "C" int IIndexBufferGetData()
+{
+
+	iIndexBufferObj->getData();
+
+}
+
+extern "C" int IIndexBufferGetType()
+{
+
+	iIndexBufferObj = getType();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSetType(int IndexType)
+{
+
+	iIndexBufferObj->setType(IndexType);
+
+}
+
+extern "C" int IIndexBufferStride()
+{
+
+	iIndexBufferObj = stride();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSize()
+{
+
+	iIndexBufferObj = size();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferPush_back(int element)
+{
+
+	iIndexBufferObj->push_back(element);
+
+}
+
+extern "C" int IIndexBufferOperator(int index)
+{
+
+	iIndexBufferObj = operator(index);
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferGetLast()
+{
+
+	iIndexBufferObj = getLast();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSetValue(int index, int value)
+{
+
+	iIndexBufferObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexBufferSet_used(int usedNow)
+{
+
+	iIndexBufferObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexBufferReallocate(int new_size)
+{
+
+	iIndexBufferObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexBufferAllocated_size()
+{
+
+	iIndexBufferObj = allocated_size();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferPointer()
+{
+
+	iIndexBufferObj->pointer();
+
+}
+
+extern "C" int IIndexBufferGetHardwareMappingHint()
+{
+
+	iIndexBufferObj = getHardwareMappingHint();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iIndexBufferObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IIndexBufferSetDirty()
+{
+
+	iIndexBufferObj->setDirty();
+
+}
+
+extern "C" int IIndexBufferGetChangedID()
+{
+
+	iIndexBufferObj = getChangedID();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IVertexBufferGetData()
+{
+
+	iVertexBufferObj->getData();
+
+}
+
+extern "C" int IVertexBufferGetType()
+{
+
+	iVertexBufferObj = getType();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSetType(int vertexType)
+{
+
+	iVertexBufferObj->setType(vertexType);
+
+}
+
+extern "C" int IVertexBufferStride()
+{
+
+	iVertexBufferObj = stride();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSize()
+{
+
+	iVertexBufferObj = size();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferPush_back(int element)
+{
+
+	iVertexBufferObj->push_back(element);
+
+}
+
+extern "C" int IVertexBufferOperator(int index)
+{
+
+	iVertexBufferObj = operator(index);
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferGetLast()
+{
+
+	iVertexBufferObj = getLast();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSet_used(int usedNow)
+{
+
+	iVertexBufferObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexBufferReallocate(int new_size)
+{
+
+	iVertexBufferObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexBufferAllocated_size()
+{
+
+	iVertexBufferObj = allocated_size();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferPointer()
+{
+
+	iVertexBufferObj = pointer();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferGetHardwareMappingHint()
+{
+
+	iVertexBufferObj = getHardwareMappingHint();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iVertexBufferObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IVertexBufferSetDirty()
+{
+
+	iVertexBufferObj->setDirty();
+
+}
+
+extern "C" int IVertexBufferGetChangedID()
+{
+
+	iVertexBufferObj = getChangedID();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IWriteFileWrite(int buffer, int sizeToWrite)
+{
+
+	iWriteFileObj = write(buffer, sizeToWrite);
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileSeek(int finalPos, int relativeMovement)
+{
+
+	iWriteFileObj = seek(finalPos, relativeMovement);
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileGetPos()
+{
+
+	iWriteFileObj = getPos();
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileGetFileName()
+{
+
+	iWriteFileObj = getFileName();
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileCreateWriteFile(int fileName, int append)
+{
+
+	iWriteFileObj = createWriteFile(fileName, append);
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IImageWriterIsAWriteableFileExtension(int filename)
+{
+
+	iImageWriterObj = isAWriteableFileExtension(filename);
+	return (int) iImageWriterObj;
+
+}
+
+extern "C" int IImageWriterWriteImage(int file, int image, int param)
+{
+
+	iImageWriterObj = writeImage(file, image, param);
+	return (int) iImageWriterObj;
+
+}
+
+extern "C" int IReadFileRead(int buffer, int sizeToRead)
+{
+
+	iReadFileObj = read(buffer, sizeToRead);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileSeek(int finalPos, int relativeMovement)
+{
+
+	iReadFileObj = seek(finalPos, relativeMovement);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileGetSize()
+{
+
+	iReadFileObj = getSize();
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileGetPos()
+{
+
+	iReadFileObj = getPos();
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileGetFileName()
+{
+
+	iReadFileObj = getFileName();
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileCreateReadFile(int fileName)
+{
+
+	iReadFileObj = createReadFile(fileName);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize)
+{
+
+	iReadFileObj = createLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileCreateMemoryReadFile(int memory, int size, int fileName, int deleteMemoryWhenDropped)
+{
+
+	iReadFileObj = createMemoryReadFile(memory, size, fileName, deleteMemoryWhenDropped);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IBillboardSceneNodeIBillboardSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iBillboardSceneNodeObj->IBillboardSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int IBillboardSceneNodeSetSize(int size)
+{
+
+	iBillboardSceneNodeObj->setSize(size);
+
+}
+
+extern "C" int IBillboardSceneNodeGetSize()
+{
+
+	iBillboardSceneNodeObj = getSize();
+	return (int) iBillboardSceneNodeObj;
+
+}
+
+extern "C" int IBillboardSceneNodeSetColor(int overallColor)
+{
+
+	iBillboardSceneNodeObj->setColor(overallColor);
+
+}
+
+extern "C" int IBillboardSceneNodeSetColor(int topColor, int bottomColor)
+{
+
+	iBillboardSceneNodeObj->setColor(topColor, bottomColor);
+
+}
+
+extern "C" int IBillboardSceneNodeGetColor(int topColor, int bottomColor)
+{
+
+	iBillboardSceneNodeObj->getColor(topColor, bottomColor);
+
+}
+
+extern "C" int IAttributeExchangingObjectSerializeAttributes(int out, int options)
+{
+
+	iAttributeExchangingObjectObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int IAttributeExchangingObjectDeserializeAttributes(int in, int options)
+{
+
+	iAttributeExchangingObjectObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int IParticleEmitterEmitt(int now, int timeSinceLastCall, int outArray)
+{
+
+	iParticleEmitterObj = emitt(now, timeSinceLastCall, outArray);
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterSetDirection(int newDirection)
+{
+
+	iParticleEmitterObj->setDirection(newDirection);
+
+}
+
+extern "C" int IParticleEmitterSetMinParticlesPerSecond(int minPPS)
+{
+
+	iParticleEmitterObj->setMinParticlesPerSecond(minPPS);
+
+}
+
+extern "C" int IParticleEmitterSetMaxParticlesPerSecond(int maxPPS)
+{
+
+	iParticleEmitterObj->setMaxParticlesPerSecond(maxPPS);
+
+}
+
+extern "C" int IParticleEmitterSetMinStartColor(int color)
+{
+
+	iParticleEmitterObj->setMinStartColor(color);
+
+}
+
+extern "C" int IParticleEmitterSetMaxStartColor(int color)
+{
+
+	iParticleEmitterObj->setMaxStartColor(color);
+
+}
+
+extern "C" int IParticleEmitterSetMaxStartSize(int size)
+{
+
+	iParticleEmitterObj->setMaxStartSize(size);
+
+}
+
+extern "C" int IParticleEmitterSetMinStartSize(int size)
+{
+
+	iParticleEmitterObj->setMinStartSize(size);
+
+}
+
+extern "C" int IParticleEmitterGetDirection()
+{
+
+	iParticleEmitterObj = getDirection();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMinParticlesPerSecond()
+{
+
+	iParticleEmitterObj = getMinParticlesPerSecond();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMaxParticlesPerSecond()
+{
+
+	iParticleEmitterObj = getMaxParticlesPerSecond();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMinStartColor()
+{
+
+	iParticleEmitterObj = getMinStartColor();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMaxStartColor()
+{
+
+	iParticleEmitterObj = getMaxStartColor();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMaxStartSize()
+{
+
+	iParticleEmitterObj = getMaxStartSize();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMinStartSize()
+{
+
+	iParticleEmitterObj = getMinStartSize();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetType()
+{
+
+	iParticleEmitterObj = getType();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IIndexListIIndexList()
+{
+
+	iIndexListObj = IIndexList();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListStride()
+{
+
+	iIndexListObj = stride();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj->push_back(element);
+
+}
+
+extern "C" int IIndexListOperator(int index)
+{
+
+	iIndexListObj = operator(index);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetLast()
+{
+
+	iIndexListObj = getLast();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetValue(int index, int value)
+{
+
+	iIndexListObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexListSet_used(int usedNow)
+{
+
+	iIndexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexListReallocate(int new_size)
+{
+
+	iIndexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexListAllocated_size()
+{
+
+	iIndexListObj = allocated_size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPointer()
+{
+
+	iIndexListObj->pointer();
+
+}
+
+extern "C" int IIndexListGetType()
+{
+
+	iIndexListObj = getType();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListStride()
+{
+
+	iIndexListObj = stride();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj->push_back(element);
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj = push_back(element);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListOperator(int index)
+{
+
+	iIndexListObj = operator(index);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetLast()
+{
+
+	iIndexListObj = getLast();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetValue(int index, int value)
+{
+
+	iIndexListObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexListSet_used(int usedNow)
+{
+
+	iIndexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexListSet_used()
+{
+
+	iIndexListObj = set_used();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListReallocate(int new_size)
+{
+
+	iIndexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj = reallocate();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListAllocated_size()
+{
+
+	iIndexListObj = allocated_size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPointer()
+{
+
+	iIndexListObj->pointer();
+
+}
+
+extern "C" int IIndexListGetType()
+{
+
+	iIndexListObj = getType();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListCIndexBuffer()
+{
+
+	iIndexListObj->CIndexBuffer();
+
+}
+
+extern "C" int IIndexListSetType()
+{
+
+	iIndexListObj->setType();
+
+}
+
+extern "C" int IIndexListCIndexBuffer()
+{
+
+	iIndexListObj->CIndexBuffer();
+
+}
+
+extern "C" int IIndexListSetType()
+{
+
+	iIndexListObj->setType();
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj->reallocate();
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int n)
+{
+
+	iIndexListObj = push_back(n);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListCIndexBuffer()
+{
+
+	iIndexListObj = CIndexBuffer();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetType(int IndexType)
+{
+
+	iIndexListObj->setType(IndexType);
+
+}
+
+extern "C" int IIndexListSwitch()
+{
+
+	iIndexListObj->switch();
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj = reallocate();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int n)
+{
+
+	iIndexListObj = push_back(n);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetData()
+{
+
+	iIndexListObj->getData();
+
+}
+
+extern "C" int IIndexListGetType()
+{
+
+	iIndexListObj = getType();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListStride()
+{
+
+	iIndexListObj = stride();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj->push_back(element);
+
+}
+
+extern "C" int IIndexListPush_back()
+{
+
+	iIndexListObj = push_back();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListOperator(int index)
+{
+
+	iIndexListObj = operator(index);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetLast()
+{
+
+	iIndexListObj = getLast();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetValue(int index, int value)
+{
+
+	iIndexListObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexListSetValue()
+{
+
+	iIndexListObj = setValue();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSet_used(int usedNow)
+{
+
+	iIndexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexListSet_used()
+{
+
+	iIndexListObj = set_used();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListReallocate(int new_size)
+{
+
+	iIndexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj = reallocate();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListAllocated_size()
+{
+
+	iIndexListObj = allocated_size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPointer()
+{
+
+	iIndexListObj->pointer();
+
+}
+
+extern "C" int IIndexListGetHardwareMappingHint()
+{
+
+	iIndexListObj = getHardwareMappingHint();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iIndexListObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IIndexListSetDirty()
+{
+
+	iIndexListObj->setDirty();
+
+}
+
+extern "C" int IIndexListGetChangedID()
+{
+
+	iIndexListObj = getChangedID();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IParticleAffectorIParticleAffector()
+{
+
+	iParticleAffectorObj->IParticleAffector();
+
+}
+
+extern "C" int IParticleAffectorAffect(int now, int particlearray, int count)
+{
+
+	iParticleAffectorObj->affect(now, particlearray, count);
+
+}
+
+extern "C" int IParticleAffectorSetEnabled(int enabled)
+{
+
+	iParticleAffectorObj->setEnabled(enabled);
+
+}
+
+extern "C" int IParticleAffectorGetEnabled()
+{
+
+	iParticleAffectorObj = getEnabled();
+	return (int) iParticleAffectorObj;
+
+}
+
+extern "C" int IParticleAffectorGetType()
+{
+
+	iParticleAffectorObj = getType();
+	return (int) iParticleAffectorObj;
+
+}
+
+extern "C" int IParticleRotationAffectorSetPivotPoint(int point)
+{
+
+	iParticleRotationAffectorObj->setPivotPoint(point);
+
+}
+
+extern "C" int IParticleRotationAffectorSetSpeed(int speed)
+{
+
+	iParticleRotationAffectorObj->setSpeed(speed);
+
+}
+
+extern "C" int IParticleRotationAffectorGetPivotPoint()
+{
+
+	iParticleRotationAffectorObj = getPivotPoint();
+	return (int) iParticleRotationAffectorObj;
+
+}
+
+extern "C" int IParticleRotationAffectorGetSpeed()
+{
+
+	iParticleRotationAffectorObj = getSpeed();
+	return (int) iParticleRotationAffectorObj;
+
+}
+
+extern "C" int IParticleRotationAffectorGetType()
+{
+
+	iParticleRotationAffectorObj = getType();
+	return (int) iParticleRotationAffectorObj;
+
+}
+
+extern "C" int IGUICheckBoxIGUICheckBox(int environment, int parent, int id, int EGUIET_CHECK_BOX)
+{
+
+	iGUICheckBoxObj->IGUICheckBox(environment, parent, id, EGUIET_CHECK_BOX);
+
+}
+
+extern "C" int IGUICheckBoxSetChecked(int checked)
+{
+
+	iGUICheckBoxObj->setChecked(checked);
+
+}
+
+extern "C" int IGUICheckBoxIsChecked()
+{
+
+	iGUICheckBoxObj = isChecked();
+	return (int) iGUICheckBoxObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateCubeMesh(int size)
+{
+
+	iGeometryCreatorObj = createCubeMesh(size);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateHillPlaneMesh(int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount)
+{
+
+	iGeometryCreatorObj = createHillPlaneMesh(tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreatePlaneMesh(int tileSize, int tileCount, int material, int textureRepeatCount)
+{
+
+	iGeometryCreatorObj = createPlaneMesh(tileSize, tileCount, material, textureRepeatCount);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateTerrainMesh(int texture, int heightmap, int stretchSize, int maxHeight, int driver, int defaultVertexBlockSize, int debugBorders)
+{
+
+	iGeometryCreatorObj = createTerrainMesh(texture, heightmap, stretchSize, maxHeight, driver, defaultVertexBlockSize, debugBorders);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateArrowMesh(int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int widthCylinder, int widthCone, int colorCylinder, int colorCone)
+{
+
+	iGeometryCreatorObj = createArrowMesh(tesselationCylinder, tesselationCone, height, cylinderHeight, widthCylinder, widthCone, colorCylinder, colorCone);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateSphereMesh(int radius, int polyCountX, int polyCountY)
+{
+
+	iGeometryCreatorObj = createSphereMesh(radius, polyCountX, polyCountY);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateCylinderMesh(int radius, int length, int tesselation, int color, int closeTop, int oblique)
+{
+
+	iGeometryCreatorObj = createCylinderMesh(radius, length, tesselation, color, closeTop, oblique);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateConeMesh(int radius, int length, int tesselation, int colorTop, int colorBottom, int oblique)
+{
+
+	iGeometryCreatorObj = createConeMesh(radius, length, tesselation, colorTop, colorBottom, oblique);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateVolumeLightMesh(int subdivideU, int subdivideV, int footColor, int tailColor, int lpDistance, int lightDim)
+{
+
+	iGeometryCreatorObj = createVolumeLightMesh(subdivideU, subdivideV, footColor, tailColor, lpDistance, lightDim);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IBillboardTextSceneNodeIBillboardTextSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iBillboardTextSceneNodeObj->IBillboardTextSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetSize(int size)
+{
+
+	iBillboardTextSceneNodeObj->setSize(size);
+
+}
+
+extern "C" int IBillboardTextSceneNodeGetSize()
+{
+
+	iBillboardTextSceneNodeObj = getSize();
+	return (int) iBillboardTextSceneNodeObj;
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetColor(int overallColor)
+{
+
+	iBillboardTextSceneNodeObj->setColor(overallColor);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetColor(int topColor, int bottomColor)
+{
+
+	iBillboardTextSceneNodeObj->setColor(topColor, bottomColor);
+
+}
+
+extern "C" int IBillboardTextSceneNodeGetColor(int topColor, int bottomColor)
+{
+
+	iBillboardTextSceneNodeObj->getColor(topColor, bottomColor);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetText(char * text)
+{
+
+	iBillboardTextSceneNodeObj->setText(text);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetTextColor(int color)
+{
+
+	iBillboardTextSceneNodeObj->setTextColor(color);
+
+}
+
+extern "C" int IParticleFadeOutAffectorSetTargetColor(int targetColor)
+{
+
+	iParticleFadeOutAffectorObj->setTargetColor(targetColor);
+
+}
+
+extern "C" int IParticleFadeOutAffectorSetFadeOutTime(int fadeOutTime)
+{
+
+	iParticleFadeOutAffectorObj->setFadeOutTime(fadeOutTime);
+
+}
+
+extern "C" int IParticleFadeOutAffectorGetTargetColor()
+{
+
+	iParticleFadeOutAffectorObj = getTargetColor();
+	return (int) iParticleFadeOutAffectorObj;
+
+}
+
+extern "C" int IParticleFadeOutAffectorGetFadeOutTime()
+{
+
+	iParticleFadeOutAffectorObj = getFadeOutTime();
+	return (int) iParticleFadeOutAffectorObj;
+
+}
+
+extern "C" int IParticleFadeOutAffectorGetType()
+{
+
+	iParticleFadeOutAffectorObj = getType();
+	return (int) iParticleFadeOutAffectorObj;
+
+}
+
+extern "C" int IShadowVolumeSceneNodeIShadowVolumeSceneNode(int parent, int mgr, int parent)
+{
+
+	iShadowVolumeSceneNodeObj->IShadowVolumeSceneNode(parent, mgr, parent);
+
+}
+
+extern "C" int IShadowVolumeSceneNodeSetShadowMesh(int mesh)
+{
+
+	iShadowVolumeSceneNodeObj->setShadowMesh(mesh);
+
+}
+
+extern "C" int IShadowVolumeSceneNodeUpdateShadowVolumes()
+{
+
+	iShadowVolumeSceneNodeObj->updateShadowVolumes();
+
+}
+
+extern "C" int IFileListGetFileCount()
+{
+
+	iFileListObj = getFileCount();
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetFileName(int index)
+{
+
+	iFileListObj = getFileName(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetFullFileName(int index)
+{
+
+	iFileListObj = getFullFileName(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetFileSize(int index)
+{
+
+	iFileListObj = getFileSize(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetID(int index)
+{
+
+	iFileListObj = getID(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListIsDirectory(int index)
+{
+
+	iFileListObj = isDirectory(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListFindFile(int filename, int isFolder)
+{
+
+	iFileListObj = findFile(filename, isFolder);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetPath()
+{
+
+	iFileListObj = getPath();
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListAddItem(int fullPath, int size, int isDirectory, int id)
+{
+
+	iFileListObj = addItem(fullPath, size, isDirectory, id);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListSort()
+{
+
+	iFileListObj->sort();
+
+}
+
+extern "C" int IMeshGetMeshBufferCount()
+{
+
+	iMeshObj = getMeshBufferCount();
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshGetMeshBuffer(int nr)
+{
+
+	iMeshObj = getMeshBuffer(nr);
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshGetMeshBuffer(int material)
+{
+
+	iMeshObj = getMeshBuffer(material);
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshGetBoundingBox()
+{
+
+	iMeshObj = getBoundingBox();
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshSetBoundingBox(int box)
+{
+
+	iMeshObj->setBoundingBox(box);
+
+}
+
+extern "C" int IMeshSetMaterialFlag(int flag, int newvalue)
+{
+
+	iMeshObj->setMaterialFlag(flag, newvalue);
+
+}
+
+extern "C" int IMeshSetHardwareMappingHint(int newMappingHint, int buffer)
+{
+
+	iMeshObj->setHardwareMappingHint(newMappingHint, buffer);
+
+}
+
+extern "C" int IMeshSetDirty(int buffer)
+{
+
+	iMeshObj->setDirty(buffer);
+
+}
+
+extern "C" int IrrlichtDeviceRun()
+{
+
+	irrlichtDeviceObj = run();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceYield()
+{
+
+	irrlichtDeviceObj->yield();
+
+}
+
+extern "C" int IrrlichtDeviceSleep(int timeMs, int pauseTimer)
+{
+
+	irrlichtDeviceObj->sleep(timeMs, pauseTimer);
+
+}
+
+extern "C" int IrrlichtDeviceGetVideoDriver()
+{
+
+	irrlichtDeviceObj = getVideoDriver();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetFileSystem()
+{
+
+	irrlichtDeviceObj = getFileSystem();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetGUIEnvironment()
+{
+
+	irrlichtDeviceObj = getGUIEnvironment();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetSceneManager()
+{
+
+	irrlichtDeviceObj = getSceneManager();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetCursorControl()
+{
+
+	irrlichtDeviceObj = getCursorControl();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetLogger()
+{
+
+	irrlichtDeviceObj = getLogger();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetVideoModeList()
+{
+
+	irrlichtDeviceObj = getVideoModeList();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetOSOperator()
+{
+
+	irrlichtDeviceObj = getOSOperator();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetTimer()
+{
+
+	irrlichtDeviceObj = getTimer();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetWindowCaption(char * text)
+{
+
+	irrlichtDeviceObj->setWindowCaption(text);
+
+}
+
+extern "C" int IrrlichtDeviceIsWindowActive()
+{
+
+	irrlichtDeviceObj = isWindowActive();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsWindowFocused()
+{
+
+	irrlichtDeviceObj = isWindowFocused();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsWindowMinimized()
+{
+
+	irrlichtDeviceObj = isWindowMinimized();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsFullscreen()
+{
+
+	irrlichtDeviceObj = isFullscreen();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetColorFormat()
+{
+
+	irrlichtDeviceObj = getColorFormat();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceCloseDevice()
+{
+
+	irrlichtDeviceObj->closeDevice();
+
+}
+
+extern "C" int IrrlichtDeviceGetVersion()
+{
+
+	irrlichtDeviceObj = getVersion();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetEventReceiver(int receiver)
+{
+
+	irrlichtDeviceObj->setEventReceiver(receiver);
+
+}
+
+extern "C" int IrrlichtDeviceGetEventReceiver()
+{
+
+	irrlichtDeviceObj = getEventReceiver();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDevicePostEventFromUser(int event)
+{
+
+	irrlichtDeviceObj = postEventFromUser(event);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetInputReceivingSceneManager(int sceneManager)
+{
+
+	irrlichtDeviceObj->setInputReceivingSceneManager(sceneManager);
+
+}
+
+extern "C" int IrrlichtDeviceSetResizable(int resize)
+{
+
+	irrlichtDeviceObj->setResizable(resize);
+
+}
+
+extern "C" int IrrlichtDeviceMinimizeWindow()
+{
+
+	irrlichtDeviceObj->minimizeWindow();
+
+}
+
+extern "C" int IrrlichtDeviceMaximizeWindow()
+{
+
+	irrlichtDeviceObj->maximizeWindow();
+
+}
+
+extern "C" int IrrlichtDeviceRestoreWindow()
+{
+
+	irrlichtDeviceObj->restoreWindow();
+
+}
+
+extern "C" int IrrlichtDeviceActivateJoysticks(int joystickInfo)
+{
+
+	irrlichtDeviceObj = activateJoysticks(joystickInfo);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetGammaRamp(int red, int green, int blue, int relativebrightness, int relativecontrast)
+{
+
+	irrlichtDeviceObj = setGammaRamp(red, green, blue, relativebrightness, relativecontrast);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetGammaRamp(int red, int green, int blue, int brightness, int contrast)
+{
+
+	irrlichtDeviceObj = getGammaRamp(red, green, blue, brightness, contrast);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceClearSystemMessages()
+{
+
+	irrlichtDeviceObj->clearSystemMessages();
+
+}
+
+extern "C" int IrrlichtDeviceGetType()
+{
+
+	irrlichtDeviceObj = getType();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsDriverSupported(int driver)
+{
+
+	irrlichtDeviceObj = isDriverSupported(driver);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSwitch()
+{
+
+	irrlichtDeviceObj->switch();
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(int node)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setAnimatedMeshSceneNode(node);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(int useNormalDirection)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setUseNormalDirection(useNormalDirection);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(int normalDirectionModifier)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setNormalDirectionModifier(normalDirectionModifier);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(int everyMeshVertex)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setEveryMeshVertex(everyMeshVertex);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getAnimatedMeshSceneNode();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = isUsingNormalDirection();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getNormalDirectionModifier();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getEveryMeshVertex();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetType()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getType();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSVertexColorGammaManipulator()
+{
+
+	sVertexColorGammaManipulatorObj->SVertexColorGammaManipulator();
+
+}
+
+extern "C" int SVertexColorGammaManipulatorOperator(int vertex)
+{
+
+	sVertexColorGammaManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSetRed()
+{
+
+	sVertexColorGammaManipulatorObj = setRed();
+	return (int) sVertexColorGammaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSetGreen()
+{
+
+	sVertexColorGammaManipulatorObj = setGreen();
+	return (int) sVertexColorGammaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSetBlue()
+{
+
+	sVertexColorGammaManipulatorObj = setBlue();
+	return (int) sVertexColorGammaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorSetManipulatorSVertexColorSetManipulator(int color)
+{
+
+	sVertexColorSetManipulatorObj->SVertexColorSetManipulator(color);
+
+}
+
+extern "C" int SVertexColorSetManipulatorOperator(int vertex)
+{
+
+	sVertexColorSetManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexTCoordsScaleManipulatorSVertexTCoordsScaleManipulator(int factor, int uvSet, int uvSet)
+{
+
+	sVertexTCoordsScaleManipulatorObj->SVertexTCoordsScaleManipulator(factor, uvSet, uvSet);
+
+}
+
+extern "C" int SVertexTCoordsScaleManipulatorOperator(int vertex)
+{
+
+	sVertexTCoordsScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexTCoordsScaleManipulatorOperator(int vertex)
+{
+
+	sVertexTCoordsScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSVertexColorBrightnessManipulator(int amount)
+{
+
+	sVertexColorBrightnessManipulatorObj->SVertexColorBrightnessManipulator(amount);
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorOperator(int vertex)
+{
+
+	sVertexColorBrightnessManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSetRed(int Amount, int u)
+{
+
+	sVertexColorBrightnessManipulatorObj = setRed(Amount, u);
+	return (int) sVertexColorBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSetGreen(int Amount, int u)
+{
+
+	sVertexColorBrightnessManipulatorObj = setGreen(Amount, u);
+	return (int) sVertexColorBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSetBlue(int Amount, int u)
+{
+
+	sVertexColorBrightnessManipulatorObj = setBlue(Amount, u);
+	return (int) sVertexColorBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorSetAlphaManipulatorSVertexColorSetAlphaManipulator(int alpha)
+{
+
+	sVertexColorSetAlphaManipulatorObj->SVertexColorSetAlphaManipulator(alpha);
+
+}
+
+extern "C" int SVertexColorSetAlphaManipulatorOperator(int vertex)
+{
+
+	sVertexColorSetAlphaManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorSetAlphaManipulatorSetAlpha()
+{
+
+	sVertexColorSetAlphaManipulatorObj = setAlpha();
+	return (int) sVertexColorSetAlphaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInvertManipulatorOperator(int vertex)
+{
+
+	sVertexColorInvertManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorInvertManipulatorSetRed()
+{
+
+	sVertexColorInvertManipulatorObj = setRed();
+	return (int) sVertexColorInvertManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInvertManipulatorSetGreen()
+{
+
+	sVertexColorInvertManipulatorObj = setGreen();
+	return (int) sVertexColorInvertManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInvertManipulatorSetBlue()
+{
+
+	sVertexColorInvertManipulatorObj = setBlue();
+	return (int) sVertexColorInvertManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInterpolateLinearManipulatorSVertexColorInterpolateLinearManipulator(int color, int factor)
+{
+
+	sVertexColorInterpolateLinearManipulatorObj->SVertexColorInterpolateLinearManipulator(color, factor);
+
+}
+
+extern "C" int SVertexColorInterpolateLinearManipulatorOperator(int vertex)
+{
+
+	sVertexColorInterpolateLinearManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorInterpolateLinearManipulatorGetInterpolated()
+{
+
+	sVertexColorInterpolateLinearManipulatorObj = getInterpolated();
+	return (int) sVertexColorInterpolateLinearManipulatorObj;
+
+}
+
+extern "C" int SVertexColorThresholdManipulatorSVertexColorThresholdManipulator(int threshold, int low, int high)
+{
+
+	sVertexColorThresholdManipulatorObj->SVertexColorThresholdManipulator(threshold, low, high);
+
+}
+
+extern "C" int SVertexColorThresholdManipulatorOperator(int vertex)
+{
+
+	sVertexColorThresholdManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSVertexColorContrastManipulator(int factor)
+{
+
+	sVertexColorContrastManipulatorObj->SVertexColorContrastManipulator(factor);
+
+}
+
+extern "C" int SVertexColorContrastManipulatorOperator(int vertex)
+{
+
+	sVertexColorContrastManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSetRed()
+{
+
+	sVertexColorContrastManipulatorObj = setRed();
+	return (int) sVertexColorContrastManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSetGreen()
+{
+
+	sVertexColorContrastManipulatorObj = setGreen();
+	return (int) sVertexColorContrastManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSetBlue()
+{
+
+	sVertexColorContrastManipulatorObj = setBlue();
+	return (int) sVertexColorContrastManipulatorObj;
+
+}
+
+extern "C" int SVertexPositionScaleManipulatorSVertexPositionScaleManipulator(int factor)
+{
+
+	sVertexPositionScaleManipulatorObj->SVertexPositionScaleManipulator(factor);
+
+}
+
+extern "C" int SVertexPositionScaleManipulatorOperator(int vertex)
+{
+
+	sVertexPositionScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSVertexColorContrastBrightnessManipulator(int factor)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj->SVertexColorContrastBrightnessManipulator(factor);
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorOperator(int vertex)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSetRed(int Amount)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj = setRed(Amount);
+	return (int) sVertexColorContrastBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSetGreen(int Amount)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj = setGreen(Amount);
+	return (int) sVertexColorContrastBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSetBlue(int Amount)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj = setBlue(Amount);
+	return (int) sVertexColorContrastBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSVertexColorScaleManipulator(int factor)
+{
+
+	sVertexColorScaleManipulatorObj->SVertexColorScaleManipulator(factor);
+
+}
+
+extern "C" int SVertexColorScaleManipulatorOperator(int vertex)
+{
+
+	sVertexColorScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSetRed()
+{
+
+	sVertexColorScaleManipulatorObj = setRed();
+	return (int) sVertexColorScaleManipulatorObj;
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSetGreen()
+{
+
+	sVertexColorScaleManipulatorObj = setGreen();
+	return (int) sVertexColorScaleManipulatorObj;
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSetBlue()
+{
+
+	sVertexColorScaleManipulatorObj = setBlue();
+	return (int) sVertexColorScaleManipulatorObj;
+
+}
+
+extern "C" int SVertexColorDesaturateToLuminanceManipulatorOperator(int vertex)
+{
+
+	sVertexColorDesaturateToLuminanceManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorDesaturateToLuminanceManipulatorRound32()
+{
+
+	sVertexColorDesaturateToLuminanceManipulatorObj = round32();
+	return (int) sVertexColorDesaturateToLuminanceManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInterpolateQuadraticManipulatorSVertexColorInterpolateQuadraticManipulator(int color1, int color2, int factor)
+{
+
+	sVertexColorInterpolateQuadraticManipulatorObj->SVertexColorInterpolateQuadraticManipulator(color1, color2, factor);
+
+}
+
+extern "C" int SVertexColorInterpolateQuadraticManipulatorOperator(int vertex)
+{
+
+	sVertexColorInterpolateQuadraticManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorInterpolateQuadraticManipulatorGetInterpolated_quadratic()
+{
+
+	sVertexColorInterpolateQuadraticManipulatorObj = getInterpolated_quadratic();
+	return (int) sVertexColorInterpolateQuadraticManipulatorObj;
+
+}
+
+extern "C" int SVertexColorDesaturateToLightnessManipulatorOperator(int vertex)
+{
+
+	sVertexColorDesaturateToLightnessManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorDesaturateToLightnessManipulatorRound32()
+{
+
+	sVertexColorDesaturateToLightnessManipulatorObj = round32();
+	return (int) sVertexColorDesaturateToLightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorDesaturateToAverageManipulatorOperator(int vertex)
+{
+
+	sVertexColorDesaturateToAverageManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorDesaturateToAverageManipulatorGetAverage()
+{
+
+	sVertexColorDesaturateToAverageManipulatorObj = getAverage();
+	return (int) sVertexColorDesaturateToAverageManipulatorObj;
+
+}
+
+extern "C" int SVertexPositionScaleAlongNormalsManipulatorSVertexPositionScaleAlongNormalsManipulator(int factor)
+{
+
+	sVertexPositionScaleAlongNormalsManipulatorObj->SVertexPositionScaleAlongNormalsManipulator(factor);
+
+}
+
+extern "C" int SVertexPositionScaleAlongNormalsManipulatorOperator(int vertex)
+{
+
+	sVertexPositionScaleAlongNormalsManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexPositionTransformManipulatorSVertexPositionTransformManipulator(int m)
+{
+
+	sVertexPositionTransformManipulatorObj->SVertexPositionTransformManipulator(m);
+
+}
+
+extern "C" int SVertexPositionTransformManipulatorOperator(int vertex)
+{
+
+	sVertexPositionTransformManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexPositionTransformManipulatorTransformVect(int Pos)
+{
+
+	sVertexPositionTransformManipulatorObj = transformVect(Pos);
+	return (int) sVertexPositionTransformManipulatorObj;
+
+}
+
+extern "C" int ITextureITexture(int name)
+{
+
+	iTextureObj->ITexture(name);
+
+}
+
+extern "C" int ITextureLock(int readOnly, int mipmapLevel)
+{
+
+	iTextureObj->lock(readOnly, mipmapLevel);
+
+}
+
+extern "C" int ITextureUnlock()
+{
+
+	iTextureObj->unlock();
+
+}
+
+extern "C" int ITextureGetOriginalSize()
+{
+
+	iTextureObj = getOriginalSize();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetSize()
+{
+
+	iTextureObj = getSize();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetDriverType()
+{
+
+	iTextureObj = getDriverType();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetColorFormat()
+{
+
+	iTextureObj = getColorFormat();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetPitch()
+{
+
+	iTextureObj = getPitch();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureHasMipMaps()
+{
+
+	iTextureObj = hasMipMaps();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureHasAlpha()
+{
+
+	iTextureObj = hasAlpha();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureRegenerateMipMapLevels(int mipmapData)
+{
+
+	iTextureObj->regenerateMipMapLevels(mipmapData);
+
+}
+
+extern "C" int ITextureIsRenderTarget()
+{
+
+	iTextureObj = isRenderTarget();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetName()
+{
+
+	iTextureObj = getName();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int IAnimatedMeshGetFrameCount()
+{
+
+	iAnimatedMeshObj = getFrameCount();
+	return (int) iAnimatedMeshObj;
+
+}
+
+extern "C" int IAnimatedMeshGetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop)
+{
+
+	iAnimatedMeshObj = getMesh(frame, detailLevel, startFrameLoop, endFrameLoop);
+	return (int) iAnimatedMeshObj;
+
+}
+
+extern "C" int IAnimatedMeshGetMeshType()
+{
+
+	iAnimatedMeshObj = getMeshType();
+	return (int) iAnimatedMeshObj;
+
+}
+
+extern "C" int IGUIToolBarIGUIToolBar(int environment, int parent, int id, int EGUIET_TOOL_BAR)
+{
+
+	iGUIToolBarObj->IGUIToolBar(environment, parent, id, EGUIET_TOOL_BAR);
+
+}
+
+extern "C" int IGUIToolBarAddButton(int id, char * text, char * tooltiptext, int img, int pressedimg, int isPushButton, int useAlphaChannel)
+{
+
+	iGUIToolBarObj = addButton(id, text, tooltiptext, img, pressedimg, isPushButton, useAlphaChannel);
+	return (int) iGUIToolBarObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetCollisionPoint(int ray, int selector, int outCollisionPoint, int outTriangle, int outNode)
+{
+
+	iSceneCollisionManagerObj = getCollisionPoint(ray, selector, outCollisionPoint, outTriangle, outNode);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetCollisionResultPosition(int selector, int ellipsoidPosition, int ellipsoidRadius, int ellipsoidDirectionAndSpeed, int triout, int hitPosition, int outFalling, int outNode, int slidingSpeed, int gravityDirectionAndSpeed)
+{
+
+	iSceneCollisionManagerObj = getCollisionResultPosition(selector, ellipsoidPosition, ellipsoidRadius, ellipsoidDirectionAndSpeed, triout, hitPosition, outFalling, outNode, slidingSpeed, gravityDirectionAndSpeed);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetRayFromScreenCoordinates(int pos, int camera)
+{
+
+	iSceneCollisionManagerObj = getRayFromScreenCoordinates(pos, camera);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(int pos, int camera)
+{
+
+	iSceneCollisionManagerObj = getScreenCoordinatesFrom3DPosition(pos, camera);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(int pos, int idBitMask, int bNoDebugObjects, int root)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeFromScreenCoordinatesBB(pos, idBitMask, bNoDebugObjects, root);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeFromRayBB(int ray, int idBitMask, int bNoDebugObjects, int root)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeFromRayBB(ray, idBitMask, bNoDebugObjects, root);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeFromCameraBB(int camera, int idBitMask, int bNoDebugObjects)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeFromCameraBB(camera, idBitMask, bNoDebugObjects);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(int ray, int outCollisionPoint, int outTriangle, int idBitMask, int collisionRootNode, int noDebugObjects)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeAndCollisionPointFromRay(ray, outCollisionPoint, outTriangle, idBitMask, collisionRootNode, noDebugObjects);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int IGUIEnvironmentDrawAll()
+{
+
+	iGUIEnvironmentObj->drawAll();
+
+}
+
+extern "C" int IGUIEnvironmentSetFocus(int element)
+{
+
+	iGUIEnvironmentObj = setFocus(element);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetFocus()
+{
+
+	iGUIEnvironmentObj = getFocus();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentRemoveFocus(int element)
+{
+
+	iGUIEnvironmentObj = removeFocus(element);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentHasFocus(int element)
+{
+
+	iGUIEnvironmentObj = hasFocus(element);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetVideoDriver()
+{
+
+	iGUIEnvironmentObj = getVideoDriver();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetFileSystem()
+{
+
+	iGUIEnvironmentObj = getFileSystem();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetOSOperator()
+{
+
+	iGUIEnvironmentObj = getOSOperator();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentClear()
+{
+
+	iGUIEnvironmentObj->clear();
+
+}
+
+extern "C" int IGUIEnvironmentPostEventFromUser(int event)
+{
+
+	iGUIEnvironmentObj = postEventFromUser(event);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSetUserEventReceiver(int evr)
+{
+
+	iGUIEnvironmentObj->setUserEventReceiver(evr);
+
+}
+
+extern "C" int IGUIEnvironmentGetSkin()
+{
+
+	iGUIEnvironmentObj = getSkin();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSetSkin(int skin)
+{
+
+	iGUIEnvironmentObj->setSkin(skin);
+
+}
+
+extern "C" int IGUIEnvironmentCreateSkin(int type)
+{
+
+	iGUIEnvironmentObj = createSkin(type);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentCreateImageList(int texture, int imageSize, int useAlphaChannel)
+{
+
+	iGUIEnvironmentObj = createImageList(texture, imageSize, useAlphaChannel);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetFont(int filename)
+{
+
+	iGUIEnvironmentObj = getFont(filename);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddFont(int name, int font)
+{
+
+	iGUIEnvironmentObj = addFont(name, font);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetBuiltInFont()
+{
+
+	iGUIEnvironmentObj = getBuiltInFont();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetSpriteBank(int filename)
+{
+
+	iGUIEnvironmentObj = getSpriteBank(filename);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddEmptySpriteBank(int name)
+{
+
+	iGUIEnvironmentObj = addEmptySpriteBank(name);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetRootGUIElement()
+{
+
+	iGUIEnvironmentObj = getRootGUIElement();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddButton(int rectangle, int parent, int id, char * text, char * tooltiptext)
+{
+
+	iGUIEnvironmentObj = addButton(rectangle, parent, id, text, tooltiptext);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddWindow(int rectangle, int modal, char * text, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addWindow(rectangle, modal, text, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddModalScreen(int parent)
+{
+
+	iGUIEnvironmentObj = addModalScreen(parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddMessageBox(char * caption, char * text, int modal, int flags, int parent, int id, int image)
+{
+
+	iGUIEnvironmentObj = addMessageBox(caption, text, modal, flags, parent, id, image);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddScrollBar(int horizontal, int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addScrollBar(horizontal, rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddImage(int image, int pos, int useAlphaChannel, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addImage(image, pos, useAlphaChannel, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddImage(int rectangle, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addImage(rectangle, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddCheckBox(int checked, int rectangle, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addCheckBox(checked, rectangle, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddListBox(int rectangle, int parent, int id, int drawBackground)
+{
+
+	iGUIEnvironmentObj = addListBox(rectangle, parent, id, drawBackground);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTreeView(int rectangle, int parent, int id, int drawBackground, int scrollBarVertical, int scrollBarHorizontal)
+{
+
+	iGUIEnvironmentObj = addTreeView(rectangle, parent, id, drawBackground, scrollBarVertical, scrollBarHorizontal);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddMeshViewer(int rectangle, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addMeshViewer(rectangle, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddFileOpenDialog(char * title, int modal, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addFileOpenDialog(title, modal, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddColorSelectDialog(char * title, int modal, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addColorSelectDialog(title, modal, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddStaticText(char * text, int rectangle, int border, int wordWrap, int parent, int id, int fillBackground)
+{
+
+	iGUIEnvironmentObj = addStaticText(text, rectangle, border, wordWrap, parent, id, fillBackground);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddEditBox(char * text, int rectangle, int border, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addEditBox(text, rectangle, border, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddSpinBox(char * text, int rectangle, int border, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addSpinBox(text, rectangle, border, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddInOutFader(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addInOutFader(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTabControl(int rectangle, int parent, int fillbackground, int border, int id)
+{
+
+	iGUIEnvironmentObj = addTabControl(rectangle, parent, fillbackground, border, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTab(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addTab(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddContextMenu(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addContextMenu(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddMenu(int parent, int id)
+{
+
+	iGUIEnvironmentObj = addMenu(parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddToolBar(int parent, int id)
+{
+
+	iGUIEnvironmentObj = addToolBar(parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddComboBox(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addComboBox(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTable(int rectangle, int parent, int id, int drawBackground)
+{
+
+	iGUIEnvironmentObj = addTable(rectangle, parent, id, drawBackground);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetDefaultGUIElementFactory()
+{
+
+	iGUIEnvironmentObj = getDefaultGUIElementFactory();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentRegisterGUIElementFactory(int factoryToAdd)
+{
+
+	iGUIEnvironmentObj->registerGUIElementFactory(factoryToAdd);
+
+}
+
+extern "C" int IGUIEnvironmentGetRegisteredGUIElementFactoryCount()
+{
+
+	iGUIEnvironmentObj = getRegisteredGUIElementFactoryCount();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetGUIElementFactory(int index)
+{
+
+	iGUIEnvironmentObj = getGUIElementFactory(index);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddGUIElement(char * elementName, int parent)
+{
+
+	iGUIEnvironmentObj = addGUIElement(elementName, parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSaveGUI(int filename, int start)
+{
+
+	iGUIEnvironmentObj = saveGUI(filename, start);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSaveGUI(int file, int start)
+{
+
+	iGUIEnvironmentObj = saveGUI(file, start);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentLoadGUI(int filename, int parent)
+{
+
+	iGUIEnvironmentObj = loadGUI(filename, parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentLoadGUI(int file, int parent)
+{
+
+	iGUIEnvironmentObj = loadGUI(file, parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSerializeAttributes(int out, int options)
+{
+
+	iGUIEnvironmentObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int IGUIEnvironmentDeserializeAttributes(int in, int options)
+{
+
+	iGUIEnvironmentObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int IGUIEnvironmentWriteGUIElement(int writer, int node)
+{
+
+	iGUIEnvironmentObj->writeGUIElement(writer, node);
+
+}
+
+extern "C" int IGUIEnvironmentReadGUIElement(int reader, int node)
+{
+
+	iGUIEnvironmentObj->readGUIElement(reader, node);
+
+}
+
+extern "C" int IGUIImageListIGUIImageList()
+{
+
+	iGUIImageListObj = IGUIImageList();
+	return (int) iGUIImageListObj;
+
+}
+
+extern "C" int IGUIImageListDraw(int index, int destPos, int clip)
+{
+
+	iGUIImageListObj->draw(index, destPos, clip);
+
+}
+
+extern "C" int IGUIImageListGetImageCount()
+{
+
+	iGUIImageListObj = getImageCount();
+	return (int) iGUIImageListObj;
+
+}
+
+extern "C" int IGUIImageListGetImageSize()
+{
+
+	iGUIImageListObj = getImageSize();
+	return (int) iGUIImageListObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetOwner()
+{
+
+	iGUITreeViewNodeObj = getOwner();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetParent()
+{
+
+	iGUITreeViewNodeObj = getParent();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetText()
+{
+
+	iGUITreeViewNodeObj = getText();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetText(char * text)
+{
+
+	iGUITreeViewNodeObj->setText(text);
+
+}
+
+extern "C" int IGUITreeViewNodeGetIcon()
+{
+
+	iGUITreeViewNodeObj = getIcon();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetIcon(char * icon)
+{
+
+	iGUITreeViewNodeObj->setIcon(icon);
+
+}
+
+extern "C" int IGUITreeViewNodeGetImageIndex()
+{
+
+	iGUITreeViewNodeObj = getImageIndex();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetImageIndex(int imageIndex)
+{
+
+	iGUITreeViewNodeObj->setImageIndex(imageIndex);
+
+}
+
+extern "C" int IGUITreeViewNodeGetSelectedImageIndex()
+{
+
+	iGUITreeViewNodeObj = getSelectedImageIndex();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetSelectedImageIndex(int imageIndex)
+{
+
+	iGUITreeViewNodeObj->setSelectedImageIndex(imageIndex);
+
+}
+
+extern "C" int IGUITreeViewNodeGetData()
+{
+
+	iGUITreeViewNodeObj->getData();
+
+}
+
+extern "C" int IGUITreeViewNodeSetData(int data)
+{
+
+	iGUITreeViewNodeObj->setData(data);
+
+}
+
+extern "C" int IGUITreeViewNodeGetData2()
+{
+
+	iGUITreeViewNodeObj = getData2();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetData2(int data)
+{
+
+	iGUITreeViewNodeObj->setData2(data);
+
+}
+
+extern "C" int IGUITreeViewNodeGetChildCount()
+{
+
+	iGUITreeViewNodeObj = getChildCount();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeClearChilds()
+{
+
+	iGUITreeViewNodeObj->clearChilds();
+
+}
+
+extern "C" int IGUITreeViewNodeHasChilds()
+{
+
+	iGUITreeViewNodeObj = hasChilds();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeAddChildBack(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = addChildBack(text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeAddChildFront(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = addChildFront(text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeInsertChildAfter(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = insertChildAfter(other, text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeInsertChildBefore(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = insertChildBefore(other, text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetFirstChild()
+{
+
+	iGUITreeViewNodeObj = getFirstChild();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetLastChild()
+{
+
+	iGUITreeViewNodeObj = getLastChild();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetPrevSibling()
+{
+
+	iGUITreeViewNodeObj = getPrevSibling();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetNextSibling()
+{
+
+	iGUITreeViewNodeObj = getNextSibling();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetNextVisible()
+{
+
+	iGUITreeViewNodeObj = getNextVisible();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeDeleteChild(int child)
+{
+
+	iGUITreeViewNodeObj = deleteChild(child);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeMoveChildUp(int child)
+{
+
+	iGUITreeViewNodeObj = moveChildUp(child);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeMoveChildDown(int child)
+{
+
+	iGUITreeViewNodeObj = moveChildDown(child);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetExpanded()
+{
+
+	iGUITreeViewNodeObj = getExpanded();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetExpanded(int expanded)
+{
+
+	iGUITreeViewNodeObj->setExpanded(expanded);
+
+}
+
+extern "C" int IGUITreeViewNodeGetSelected()
+{
+
+	iGUITreeViewNodeObj = getSelected();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetSelected(int selected)
+{
+
+	iGUITreeViewNodeObj->setSelected(selected);
+
+}
+
+extern "C" int IGUITreeViewNodeIsRoot()
+{
+
+	iGUITreeViewNodeObj = isRoot();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetLevel()
+{
+
+	iGUITreeViewNodeObj = getLevel();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeIsVisible()
+{
+
+	iGUITreeViewNodeObj = isVisible();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewIGUITreeView(int environment, int parent, int id, int EGUIET_TREE_VIEW)
+{
+
+	iGUITreeViewObj->IGUITreeView(environment, parent, id, EGUIET_TREE_VIEW);
+
+}
+
+extern "C" int IGUITreeViewGetRoot()
+{
+
+	iGUITreeViewObj = getRoot();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewGetSelected()
+{
+
+	iGUITreeViewObj = getSelected();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewGetLinesVisible()
+{
+
+	iGUITreeViewObj = getLinesVisible();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewSetLinesVisible(int visible)
+{
+
+	iGUITreeViewObj->setLinesVisible(visible);
+
+}
+
+extern "C" int IGUITreeViewSetIconFont(int font)
+{
+
+	iGUITreeViewObj->setIconFont(font);
+
+}
+
+extern "C" int IGUITreeViewSetImageList(int imageList)
+{
+
+	iGUITreeViewObj->setImageList(imageList);
+
+}
+
+extern "C" int IGUITreeViewGetImageList()
+{
+
+	iGUITreeViewObj = getImageList();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewSetImageLeftOfIcon(int bLeftOf)
+{
+
+	iGUITreeViewObj->setImageLeftOfIcon(bLeftOf);
+
+}
+
+extern "C" int IGUITreeViewGetImageLeftOfIcon()
+{
+
+	iGUITreeViewObj = getImageLeftOfIcon();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewGetLastEventNode()
+{
+
+	iGUITreeViewObj = getLastEventNode();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUIScrollBarIGUIScrollBar(int environment, int parent, int id, int EGUIET_SCROLL_BAR)
+{
+
+	iGUIScrollBarObj->IGUIScrollBar(environment, parent, id, EGUIET_SCROLL_BAR);
+
+}
+
+extern "C" int IGUIScrollBarSetMax(int max)
+{
+
+	iGUIScrollBarObj->setMax(max);
+
+}
+
+extern "C" int IGUIScrollBarGetMax()
+{
+
+	iGUIScrollBarObj = getMax();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetMin(int min)
+{
+
+	iGUIScrollBarObj->setMin(min);
+
+}
+
+extern "C" int IGUIScrollBarGetMin()
+{
+
+	iGUIScrollBarObj = getMin();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarGetSmallStep()
+{
+
+	iGUIScrollBarObj = getSmallStep();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetSmallStep(int step)
+{
+
+	iGUIScrollBarObj->setSmallStep(step);
+
+}
+
+extern "C" int IGUIScrollBarGetLargeStep()
+{
+
+	iGUIScrollBarObj = getLargeStep();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetLargeStep(int step)
+{
+
+	iGUIScrollBarObj->setLargeStep(step);
+
+}
+
+extern "C" int IGUIScrollBarGetPos()
+{
+
+	iGUIScrollBarObj = getPos();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetPos(int pos)
+{
+
+	iGUIScrollBarObj->setPos(pos);
+
+}
+
+extern "C" int IVolumeLightSceneNodeIVolumeLightSceneNode(int parent, int mgr, int id, int position, int rotation, int parent)
+{
+
+	iVolumeLightSceneNodeObj->IVolumeLightSceneNode(parent, mgr, id, position, rotation, parent);
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetType()
+{
+
+	iVolumeLightSceneNodeObj = getType();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetSubDivideU(int inU)
+{
+
+	iVolumeLightSceneNodeObj->setSubDivideU(inU);
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetSubDivideV(int inV)
+{
+
+	iVolumeLightSceneNodeObj->setSubDivideV(inV);
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetSubDivideU()
+{
+
+	iVolumeLightSceneNodeObj = getSubDivideU();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetSubDivideV()
+{
+
+	iVolumeLightSceneNodeObj = getSubDivideV();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetFootColor(int inColour)
+{
+
+	iVolumeLightSceneNodeObj->setFootColor(inColour);
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetTailColor(int inColour)
+{
+
+	iVolumeLightSceneNodeObj->setTailColor(inColour);
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetFootColor()
+{
+
+	iVolumeLightSceneNodeObj = getFootColor();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetTailColor()
+{
+
+	iVolumeLightSceneNodeObj = getTailColor();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IGUIWindowIGUIWindow(int environment, int parent, int id, int EGUIET_WINDOW)
+{
+
+	iGUIWindowObj->IGUIWindow(environment, parent, id, EGUIET_WINDOW);
+
+}
+
+extern "C" int IGUIWindowGetCloseButton()
+{
+
+	iGUIWindowObj = getCloseButton();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowGetMinimizeButton()
+{
+
+	iGUIWindowObj = getMinimizeButton();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowGetMaximizeButton()
+{
+
+	iGUIWindowObj = getMaximizeButton();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowIsDraggable()
+{
+
+	iGUIWindowObj = isDraggable();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowSetDraggable(int draggable)
+{
+
+	iGUIWindowObj->setDraggable(draggable);
+
+}
+
+extern "C" int IGUIWindowSetDrawBackground(int draw)
+{
+
+	iGUIWindowObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUIWindowGetDrawBackground()
+{
+
+	iGUIWindowObj = getDrawBackground();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowSetDrawTitlebar(int draw)
+{
+
+	iGUIWindowObj->setDrawTitlebar(draw);
+
+}
+
+extern "C" int IGUIWindowGetDrawTitlebar()
+{
+
+	iGUIWindowObj = getDrawTitlebar();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowGetClientRect()
+{
+
+	iGUIWindowObj = getClientRect();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIFileOpenDialogIGUIFileOpenDialog(int environment, int parent, int id, int EGUIET_FILE_OPEN_DIALOG)
+{
+
+	iGUIFileOpenDialogObj->IGUIFileOpenDialog(environment, parent, id, EGUIET_FILE_OPEN_DIALOG);
+
+}
+
+extern "C" int IGUIFileOpenDialogGetFileName()
+{
+
+	iGUIFileOpenDialogObj = getFileName();
+	return (int) iGUIFileOpenDialogObj;
+
+}
+
+extern "C" int IGUIFileOpenDialogGetDirectoryName()
+{
+
+	iGUIFileOpenDialogObj = getDirectoryName();
+	return (int) iGUIFileOpenDialogObj;
+
+}
+
+extern "C" int IParticleBoxEmitterSetBox(int box)
+{
+
+	iParticleBoxEmitterObj->setBox(box);
+
+}
+
+extern "C" int IParticleBoxEmitterGetBox()
+{
+
+	iParticleBoxEmitterObj = getBox();
+	return (int) iParticleBoxEmitterObj;
+
+}
+
+extern "C" int IParticleBoxEmitterGetType()
+{
+
+	iParticleBoxEmitterObj = getType();
+	return (int) iParticleBoxEmitterObj;
+
+}
+
+extern "C" int ICursorControlSetVisible(int visible)
+{
+
+	iCursorControlObj->setVisible(visible);
+
+}
+
+extern "C" int ICursorControlIsVisible()
+{
+
+	iCursorControlObj = isVisible();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlSetPosition(int pos)
+{
+
+	iCursorControlObj->setPosition(pos);
+
+}
+
+extern "C" int ICursorControlSetPosition(int x, int y)
+{
+
+	iCursorControlObj->setPosition(x, y);
+
+}
+
+extern "C" int ICursorControlSetPosition(int pos)
+{
+
+	iCursorControlObj->setPosition(pos);
+
+}
+
+extern "C" int ICursorControlSetPosition(int x, int y)
+{
+
+	iCursorControlObj->setPosition(x, y);
+
+}
+
+extern "C" int ICursorControlGetPosition()
+{
+
+	iCursorControlObj = getPosition();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlGetRelativePosition()
+{
+
+	iCursorControlObj = getRelativePosition();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlSetReferenceRect(int rect)
+{
+
+	iCursorControlObj->setReferenceRect(rect);
+
+}
+
+extern "C" int ICursorControlSetActiveIcon(int iconId)
+{
+
+	iCursorControlObj->setActiveIcon(iconId);
+
+}
+
+extern "C" int ICursorControlGetActiveIcon()
+{
+
+	iCursorControlObj = getActiveIcon();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlAddIcon(int icon)
+{
+
+	iCursorControlObj = addIcon(icon);
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlChangeIcon(int iconId, int sprite)
+{
+
+	iCursorControlObj->changeIcon(iconId, sprite);
+
+}
+
+extern "C" int ICursorControlGetSupportedIconSize()
+{
+
+	iCursorControlObj = getSupportedIconSize();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int IBoneSceneNodeIBoneSceneNode(int parent, int mgr, int id)
+{
+
+	iBoneSceneNodeObj->IBoneSceneNode(parent, mgr, id);
+
+}
+
+extern "C" int IBoneSceneNodeGetBoneName()
+{
+
+	iBoneSceneNodeObj = getBoneName();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeGetBoneIndex()
+{
+
+	iBoneSceneNodeObj = getBoneIndex();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeSetAnimationMode(int mode)
+{
+
+	iBoneSceneNodeObj = setAnimationMode(mode);
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeGetAnimationMode()
+{
+
+	iBoneSceneNodeObj = getAnimationMode();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeGetBoundingBox()
+{
+
+	iBoneSceneNodeObj = getBoundingBox();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeOnAnimate(int timeMs)
+{
+
+	iBoneSceneNodeObj->OnAnimate(timeMs);
+
+}
+
+extern "C" int IBoneSceneNodeRender()
+{
+
+	iBoneSceneNodeObj->render();
+
+}
+
+extern "C" int IBoneSceneNodeSetSkinningSpace(int space)
+{
+
+	iBoneSceneNodeObj->setSkinningSpace(space);
+
+}
+
+extern "C" int IBoneSceneNodeGetSkinningSpace()
+{
+
+	iBoneSceneNodeObj = getSkinningSpace();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeUpdateAbsolutePositionOfAllChildren()
+{
+
+	iBoneSceneNodeObj->updateAbsolutePositionOfAllChildren();
+
+}
+
+extern "C" int IMaterialRendererServicesIMaterialRendererServices()
+{
+
+	iMaterialRendererServicesObj = IMaterialRendererServices();
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IMaterialRendererServicesSetBasicRenderStates(int material, int lastMaterial, int resetAllRenderstates)
+{
+
+	iMaterialRendererServicesObj->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
+
+}
+
+extern "C" int IMaterialRendererServicesSetVertexShaderConstant(char * name, int floats, int count)
+{
+
+	iMaterialRendererServicesObj = setVertexShaderConstant(name, floats, count);
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IMaterialRendererServicesSetVertexShaderConstant(int data, int startRegister, int constantAmount)
+{
+
+	iMaterialRendererServicesObj->setVertexShaderConstant(data, startRegister, constantAmount);
+
+}
+
+extern "C" int IMaterialRendererServicesSetPixelShaderConstant(char * name, int floats, int count)
+{
+
+	iMaterialRendererServicesObj = setPixelShaderConstant(name, floats, count);
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IMaterialRendererServicesSetPixelShaderConstant(int data, int startRegister, int constantAmount)
+{
+
+	iMaterialRendererServicesObj->setPixelShaderConstant(data, startRegister, constantAmount);
+
+}
+
+extern "C" int IMaterialRendererServicesGetVideoDriver()
+{
+
+	iMaterialRendererServicesObj = getVideoDriver();
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IVertexListIVertexList()
+{
+
+	iVertexListObj = IVertexList();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListStride()
+{
+
+	iVertexListObj = stride();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj->push_back(element);
+
+}
+
+extern "C" int IVertexListOperator(int index)
+{
+
+	iVertexListObj = operator(index);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetLast()
+{
+
+	iVertexListObj = getLast();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSet_used(int usedNow)
+{
+
+	iVertexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexListReallocate(int new_size)
+{
+
+	iVertexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexListAllocated_size()
+{
+
+	iVertexListObj = allocated_size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPointer()
+{
+
+	iVertexListObj = pointer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetType()
+{
+
+	iVertexListObj = getType();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListStride()
+{
+
+	iVertexListObj = stride();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj->push_back(element);
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj = push_back(element);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListOperator(int index)
+{
+
+	iVertexListObj = operator(index);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetLast()
+{
+
+	iVertexListObj = getLast();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSet_used(int usedNow)
+{
+
+	iVertexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexListSet_used()
+{
+
+	iVertexListObj = set_used();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListReallocate(int new_size)
+{
+
+	iVertexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj = reallocate();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListAllocated_size()
+{
+
+	iVertexListObj = allocated_size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPointer()
+{
+
+	iVertexListObj = pointer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetType()
+{
+
+	iVertexListObj = getType();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListCVertexBuffer()
+{
+
+	iVertexListObj->CVertexBuffer();
+
+}
+
+extern "C" int IVertexListSetType()
+{
+
+	iVertexListObj->setType();
+
+}
+
+extern "C" int IVertexListCVertexBuffer()
+{
+
+	iVertexListObj->CVertexBuffer();
+
+}
+
+extern "C" int IVertexListSetType()
+{
+
+	iVertexListObj->setType();
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj->reallocate();
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int n)
+{
+
+	iVertexListObj = push_back(n);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListCVertexBuffer()
+{
+
+	iVertexListObj = CVertexBuffer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSetType(int vertexType)
+{
+
+	iVertexListObj->setType(vertexType);
+
+}
+
+extern "C" int IVertexListSwitch()
+{
+
+	iVertexListObj->switch();
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj = reallocate();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int n)
+{
+
+	iVertexListObj = push_back(n);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetData()
+{
+
+	iVertexListObj->getData();
+
+}
+
+extern "C" int IVertexListGetType()
+{
+
+	iVertexListObj = getType();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListStride()
+{
+
+	iVertexListObj = stride();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj->push_back(element);
+
+}
+
+extern "C" int IVertexListPush_back()
+{
+
+	iVertexListObj = push_back();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListOperator(int index)
+{
+
+	iVertexListObj = operator(index);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetLast()
+{
+
+	iVertexListObj = getLast();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSet_used(int usedNow)
+{
+
+	iVertexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexListSet_used()
+{
+
+	iVertexListObj = set_used();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListReallocate(int new_size)
+{
+
+	iVertexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj = reallocate();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListAllocated_size()
+{
+
+	iVertexListObj = allocated_size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPointer()
+{
+
+	iVertexListObj = pointer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetHardwareMappingHint()
+{
+
+	iVertexListObj = getHardwareMappingHint();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iVertexListObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IVertexListSetDirty()
+{
+
+	iVertexListObj->setDirty();
+
+}
+
+extern "C" int IVertexListGetChangedID()
+{
+
+	iVertexListObj = getChangedID();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSGetMoveSpeed()
+{
+
+	iSceneNodeAnimatorCameraFPSObj = getMoveSpeed();
+	return (int) iSceneNodeAnimatorCameraFPSObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetMoveSpeed(int moveSpeed)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setMoveSpeed(moveSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSGetRotateSpeed()
+{
+
+	iSceneNodeAnimatorCameraFPSObj = getRotateSpeed();
+	return (int) iSceneNodeAnimatorCameraFPSObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetRotateSpeed(int rotateSpeed)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setRotateSpeed(rotateSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetKeyMap(int map, int count)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setKeyMap(map, count);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetVerticalMovement(int allow)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setVerticalMovement(allow);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetInvertMouse(int invert)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setInvertMouse(invert);
+
+}
+
+extern "C" int IGUITabIGUITab(int environment, int parent, int id, int EGUIET_TAB)
+{
+
+	iGUITabObj->IGUITab(environment, parent, id, EGUIET_TAB);
+
+}
+
+extern "C" int IGUITabGetNumber()
+{
+
+	iGUITabObj = getNumber();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabSetDrawBackground(int draw)
+{
+
+	iGUITabObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUITabSetBackgroundColor(int c)
+{
+
+	iGUITabObj->setBackgroundColor(c);
+
+}
+
+extern "C" int IGUITabIsDrawingBackground()
+{
+
+	iGUITabObj = isDrawingBackground();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabGetBackgroundColor()
+{
+
+	iGUITabObj = getBackgroundColor();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabSetTextColor(int c)
+{
+
+	iGUITabObj->setTextColor(c);
+
+}
+
+extern "C" int IGUITabGetTextColor()
+{
+
+	iGUITabObj = getTextColor();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabControlIGUITabControl(int environment, int parent, int id, int EGUIET_TAB_CONTROL)
+{
+
+	iGUITabControlObj->IGUITabControl(environment, parent, id, EGUIET_TAB_CONTROL);
+
+}
+
+extern "C" int IGUITabControlAddTab(char * caption, int id)
+{
+
+	iGUITabControlObj = addTab(caption, id);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlGetTabCount()
+{
+
+	iGUITabControlObj = getTabCount();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlGetTab(int idx)
+{
+
+	iGUITabControlObj = getTab(idx);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetActiveTab(int idx)
+{
+
+	iGUITabControlObj = setActiveTab(idx);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetActiveTab(int tab)
+{
+
+	iGUITabControlObj = setActiveTab(tab);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlGetActiveTab()
+{
+
+	iGUITabControlObj = getActiveTab();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabHeight(int height)
+{
+
+	iGUITabControlObj->setTabHeight(height);
+
+}
+
+extern "C" int IGUITabControlGetTabHeight()
+{
+
+	iGUITabControlObj = getTabHeight();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabMaxWidth(int width)
+{
+
+	iGUITabControlObj->setTabMaxWidth(width);
+
+}
+
+extern "C" int IGUITabControlGetTabMaxWidth()
+{
+
+	iGUITabControlObj = getTabMaxWidth();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabVerticalAlignment(int alignment)
+{
+
+	iGUITabControlObj->setTabVerticalAlignment(alignment);
+
+}
+
+extern "C" int IGUITabControlGetTabVerticalAlignment()
+{
+
+	iGUITabControlObj = getTabVerticalAlignment();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabExtraWidth(int extraWidth)
+{
+
+	iGUITabControlObj->setTabExtraWidth(extraWidth);
+
+}
+
+extern "C" int IGUITabControlGetTabExtraWidth()
+{
+
+	iGUITabControlObj = getTabExtraWidth();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterSetCenter(int center)
+{
+
+	iParticleCylinderEmitterObj->setCenter(center);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetNormal(int normal)
+{
+
+	iParticleCylinderEmitterObj->setNormal(normal);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetRadius(int radius)
+{
+
+	iParticleCylinderEmitterObj->setRadius(radius);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetLength(int length)
+{
+
+	iParticleCylinderEmitterObj->setLength(length);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetOutlineOnly(int outlineOnly)
+{
+
+	iParticleCylinderEmitterObj->setOutlineOnly(outlineOnly);
+
+}
+
+extern "C" int IParticleCylinderEmitterGetCenter()
+{
+
+	iParticleCylinderEmitterObj = getCenter();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetNormal()
+{
+
+	iParticleCylinderEmitterObj = getNormal();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetRadius()
+{
+
+	iParticleCylinderEmitterObj = getRadius();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetLength()
+{
+
+	iParticleCylinderEmitterObj = getLength();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetOutlineOnly()
+{
+
+	iParticleCylinderEmitterObj = getOutlineOnly();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetType()
+{
+
+	iParticleCylinderEmitterObj = getType();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IGUISpriteBankGetPositions()
+{
+
+	iGUISpriteBankObj = getPositions();
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankGetSprites()
+{
+
+	iGUISpriteBankObj = getSprites();
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankGetTextureCount()
+{
+
+	iGUISpriteBankObj = getTextureCount();
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankGetTexture(int index)
+{
+
+	iGUISpriteBankObj = getTexture(index);
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankAddTexture(int texture)
+{
+
+	iGUISpriteBankObj->addTexture(texture);
+
+}
+
+extern "C" int IGUISpriteBankSetTexture(int index, int texture)
+{
+
+	iGUISpriteBankObj->setTexture(index, texture);
+
+}
+
+extern "C" int IGUISpriteBankAddTextureAsSprite(int texture)
+{
+
+	iGUISpriteBankObj = addTextureAsSprite(texture);
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankClear()
+{
+
+	iGUISpriteBankObj->clear();
+
+}
+
+extern "C" int IGUISpriteBankDraw2DSprite(int index, int pos, int clip, int color, int starttime, int currenttime, int loop, int center)
+{
+
+	iGUISpriteBankObj->draw2DSprite(index, pos, clip, color, starttime, currenttime, loop, center);
+
+}
+
+extern "C" int IGUISpriteBankDraw2DSpriteBatch(int indices, int pos, int clip, int color, int starttime, int currenttime, int loop, int center)
+{
+
+	iGUISpriteBankObj->draw2DSpriteBatch(indices, pos, clip, color, starttime, currenttime, loop, center);
+
+}
+
+extern "C" int IMetaTriangleSelectorAddTriangleSelector(int toAdd)
+{
+
+	iMetaTriangleSelectorObj->addTriangleSelector(toAdd);
+
+}
+
+extern "C" int IMetaTriangleSelectorRemoveTriangleSelector(int toRemove)
+{
+
+	iMetaTriangleSelectorObj = removeTriangleSelector(toRemove);
+	return (int) iMetaTriangleSelectorObj;
+
+}
+
+extern "C" int IMetaTriangleSelectorRemoveAllTriangleSelectors()
+{
+
+	iMetaTriangleSelectorObj->removeAllTriangleSelectors();
+
+}
+
+extern "C" int IGUIImageIGUIImage(int environment, int parent, int id, int EGUIET_IMAGE)
+{
+
+	iGUIImageObj->IGUIImage(environment, parent, id, EGUIET_IMAGE);
+
+}
+
+extern "C" int IGUIImageSetImage(int image)
+{
+
+	iGUIImageObj->setImage(image);
+
+}
+
+extern "C" int IGUIImageSetColor(int color)
+{
+
+	iGUIImageObj->setColor(color);
+
+}
+
+extern "C" int IGUIImageSetScaleImage(int scale)
+{
+
+	iGUIImageObj->setScaleImage(scale);
+
+}
+
+extern "C" int IGUIImageSetUseAlphaChannel(int use)
+{
+
+	iGUIImageObj->setUseAlphaChannel(use);
+
+}
+
+extern "C" int IGUIImageIsImageScaled()
+{
+
+	iGUIImageObj = isImageScaled();
+	return (int) iGUIImageObj;
+
+}
+
+extern "C" int IGUIImageIsAlphaChannelUsed()
+{
+
+	iGUIImageObj = isAlphaChannelUsed();
+	return (int) iGUIImageObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iAnimatedMeshSceneNodeObj->IAnimatedMeshSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode()
+{
+
+	iAnimatedMeshSceneNodeObj = IAnimatedMeshSceneNode();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetCurrentFrame(int frame)
+{
+
+	iAnimatedMeshSceneNodeObj->setCurrentFrame(frame);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetFrameLoop(int begin, int end)
+{
+
+	iAnimatedMeshSceneNodeObj = setFrameLoop(begin, end);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetAnimationSpeed(int framesPerSecond)
+{
+
+	iAnimatedMeshSceneNodeObj->setAnimationSpeed(framesPerSecond);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetAnimationSpeed()
+{
+
+	iAnimatedMeshSceneNodeObj = getAnimationSpeed();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(int shadowMesh, int id, int zfailmethod, int infinity)
+{
+
+	iAnimatedMeshSceneNodeObj = addShadowVolumeSceneNode(shadowMesh, id, zfailmethod, infinity);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetJointNode(char * jointName)
+{
+
+	iAnimatedMeshSceneNodeObj = getJointNode(jointName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetJointNode(int jointID)
+{
+
+	iAnimatedMeshSceneNodeObj = getJointNode(jointID);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetJointCount()
+{
+
+	iAnimatedMeshSceneNodeObj = getJointCount();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetMS3DJointNode(char * jointName)
+{
+
+	iAnimatedMeshSceneNodeObj = getMS3DJointNode(jointName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetXJointNode(char * jointName)
+{
+
+	iAnimatedMeshSceneNodeObj = getXJointNode(jointName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetMD2Animation(int anim)
+{
+
+	iAnimatedMeshSceneNodeObj = setMD2Animation(anim);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetMD2Animation(char * animationName)
+{
+
+	iAnimatedMeshSceneNodeObj = setMD2Animation(animationName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetFrameNr()
+{
+
+	iAnimatedMeshSceneNodeObj = getFrameNr();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetStartFrame()
+{
+
+	iAnimatedMeshSceneNodeObj = getStartFrame();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetEndFrame()
+{
+
+	iAnimatedMeshSceneNodeObj = getEndFrame();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetLoopMode(int playAnimationLooped)
+{
+
+	iAnimatedMeshSceneNodeObj->setLoopMode(playAnimationLooped);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetAnimationEndCallback(int callback)
+{
+
+	iAnimatedMeshSceneNodeObj->setAnimationEndCallback(callback);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetReadOnlyMaterials(int readonly)
+{
+
+	iAnimatedMeshSceneNodeObj->setReadOnlyMaterials(readonly);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeIsReadOnlyMaterials()
+{
+
+	iAnimatedMeshSceneNodeObj = isReadOnlyMaterials();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetMesh(int mesh)
+{
+
+	iAnimatedMeshSceneNodeObj->setMesh(mesh);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetMesh()
+{
+
+	iAnimatedMeshSceneNodeObj = getMesh();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetMD3TagTransformation(int tagname)
+{
+
+	iAnimatedMeshSceneNodeObj = getMD3TagTransformation(tagname);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetJointMode(int mode)
+{
+
+	iAnimatedMeshSceneNodeObj->setJointMode(mode);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetTransitionTime(int Time)
+{
+
+	iAnimatedMeshSceneNodeObj->setTransitionTime(Time);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeAnimateJoints(int CalculateAbsolutePositions)
+{
+
+	iAnimatedMeshSceneNodeObj->animateJoints(CalculateAbsolutePositions);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetRenderFromIdentity(int On)
+{
+
+	iAnimatedMeshSceneNodeObj->setRenderFromIdentity(On);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeClone(int newParent, int newManager)
+{
+
+	iAnimatedMeshSceneNodeObj = clone(newParent, newManager);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimationEndCallBackOnAnimationEnd(int node)
+{
+
+	iAnimationEndCallBackObj->OnAnimationEnd(node);
+
+}
+
+extern "C" int IGUIColorSelectDialogIGUIColorSelectDialog(int environment, int parent, int id, int EGUIET_COLOR_SELECT_DIALOG)
+{
+
+	iGUIColorSelectDialogObj->IGUIColorSelectDialog(environment, parent, id, EGUIET_COLOR_SELECT_DIALOG);
+
+}
+
+extern "C" int IGUITableIGUITable(int environment, int parent, int id, int EGUIET_TABLE)
+{
+
+	iGUITableObj->IGUITable(environment, parent, id, EGUIET_TABLE);
+
+}
+
+extern "C" int IGUITableAddColumn(char * caption, int columnIndex)
+{
+
+	iGUITableObj->addColumn(caption, columnIndex);
+
+}
+
+extern "C" int IGUITableRemoveColumn(int columnIndex)
+{
+
+	iGUITableObj->removeColumn(columnIndex);
+
+}
+
+extern "C" int IGUITableGetColumnCount()
+{
+
+	iGUITableObj = getColumnCount();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetActiveColumn(int idx, int doOrder)
+{
+
+	iGUITableObj = setActiveColumn(idx, doOrder);
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableGetActiveColumn()
+{
+
+	iGUITableObj = getActiveColumn();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableGetActiveColumnOrdering()
+{
+
+	iGUITableObj = getActiveColumnOrdering();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetColumnWidth(int columnIndex, int width)
+{
+
+	iGUITableObj->setColumnWidth(columnIndex, width);
+
+}
+
+extern "C" int IGUITableSetResizableColumns(int resizable)
+{
+
+	iGUITableObj->setResizableColumns(resizable);
+
+}
+
+extern "C" int IGUITableHasResizableColumns()
+{
+
+	iGUITableObj = hasResizableColumns();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetColumnOrdering(int columnIndex, int mode)
+{
+
+	iGUITableObj->setColumnOrdering(columnIndex, mode);
+
+}
+
+extern "C" int IGUITableGetSelected()
+{
+
+	iGUITableObj = getSelected();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetSelected(int index)
+{
+
+	iGUITableObj->setSelected(index);
+
+}
+
+extern "C" int IGUITableGetRowCount()
+{
+
+	iGUITableObj = getRowCount();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableAddRow(int rowIndex)
+{
+
+	iGUITableObj = addRow(rowIndex);
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableRemoveRow(int rowIndex)
+{
+
+	iGUITableObj->removeRow(rowIndex);
+
+}
+
+extern "C" int IGUITableClearRows()
+{
+
+	iGUITableObj->clearRows();
+
+}
+
+extern "C" int IGUITableSwapRows(int rowIndexA, int rowIndexB)
+{
+
+	iGUITableObj->swapRows(rowIndexA, rowIndexB);
+
+}
+
+extern "C" int IGUITableOrderRows(int columnIndex, int mode)
+{
+
+	iGUITableObj->orderRows(columnIndex, mode);
+
+}
+
+extern "C" int IGUITableSetCellText(int rowIndex, int columnIndex, int text)
+{
+
+	iGUITableObj->setCellText(rowIndex, columnIndex, text);
+
+}
+
+extern "C" int IGUITableSetCellText(int rowIndex, int columnIndex, int text, int color)
+{
+
+	iGUITableObj->setCellText(rowIndex, columnIndex, text, color);
+
+}
+
+extern "C" int IGUITableSetCellData(int rowIndex, int columnIndex, int data)
+{
+
+	iGUITableObj->setCellData(rowIndex, columnIndex, data);
+
+}
+
+extern "C" int IGUITableSetCellColor(int rowIndex, int columnIndex, int color)
+{
+
+	iGUITableObj->setCellColor(rowIndex, columnIndex, color);
+
+}
+
+extern "C" int IGUITableGetCellText(int rowIndex, int columnIndex)
+{
+
+	iGUITableObj = getCellText(rowIndex, columnIndex);
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableGetCellData(int rowIndex, int columnIndex)
+{
+
+	iGUITableObj->getCellData(rowIndex, columnIndex);
+
+}
+
+extern "C" int IGUITableClear()
+{
+
+	iGUITableObj->clear();
+
+}
+
+extern "C" int IGUITableSetDrawFlags(int flags)
+{
+
+	iGUITableObj->setDrawFlags(flags);
+
+}
+
+extern "C" int IGUITableGetDrawFlags()
+{
+
+	iGUITableObj = getDrawFlags();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int ISceneNodeFactoryAddSceneNode(int type, int parent)
+{
+
+	iSceneNodeFactoryObj = addSceneNode(type, parent);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryAddSceneNode(char * typeName, int parent)
+{
+
+	iSceneNodeFactoryObj = addSceneNode(typeName, parent);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreatableSceneNodeTypeCount()
+{
+
+	iSceneNodeFactoryObj = getCreatableSceneNodeTypeCount();
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreateableSceneNodeType(int idx)
+{
+
+	iSceneNodeFactoryObj = getCreateableSceneNodeType(idx);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int idx)
+{
+
+	iSceneNodeFactoryObj = getCreateableSceneNodeTypeName(idx);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int type)
+{
+
+	iSceneNodeFactoryObj = getCreateableSceneNodeTypeName(type);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int IGUIFontDraw(int text, int position, int color, int hcenter, int vcenter, int clip)
+{
+
+	iGUIFontObj->draw(text, position, color, hcenter, vcenter, clip);
+
+}
+
+extern "C" int IGUIFontGetDimension(char * text)
+{
+
+	iGUIFontObj = getDimension(text);
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontGetCharacterFromPos(char * text, int pixel_x)
+{
+
+	iGUIFontObj = getCharacterFromPos(text, pixel_x);
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontGetType()
+{
+
+	iGUIFontObj = getType();
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontSetKerningWidth(int kerning)
+{
+
+	iGUIFontObj->setKerningWidth(kerning);
+
+}
+
+extern "C" int IGUIFontSetKerningHeight(int kerning)
+{
+
+	iGUIFontObj->setKerningHeight(kerning);
+
+}
+
+extern "C" int IGUIFontGetKerningWidth(char * thisLetter, char * previousLetter)
+{
+
+	iGUIFontObj = getKerningWidth(thisLetter, previousLetter);
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontGetKerningHeight()
+{
+
+	iGUIFontObj = getKerningHeight();
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontSetInvisibleCharacters(char * s)
+{
+
+	iGUIFontObj->setInvisibleCharacters(s);
+
+}
+
+extern "C" int IMeshWriterIMeshWriter()
+{
+
+	iMeshWriterObj = IMeshWriter();
+	return (int) iMeshWriterObj;
+
+}
+
+extern "C" int IMeshWriterGetType()
+{
+
+	iMeshWriterObj = getType();
+	return (int) iMeshWriterObj;
+
+}
+
+extern "C" int IMeshWriterWriteMesh(int file, int mesh, int flags)
+{
+
+	iMeshWriterObj = writeMesh(file, mesh, flags);
+	return (int) iMeshWriterObj;
+
+}
+
+extern "C" int IGUIElementFactoryAddGUIElement(int type, int parent)
+{
+
+	iGUIElementFactoryObj = addGUIElement(type, parent);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryAddGUIElement(char * typeName, int parent)
+{
+
+	iGUIElementFactoryObj = addGUIElement(typeName, parent);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreatableGUIElementTypeCount()
+{
+
+	iGUIElementFactoryObj = getCreatableGUIElementTypeCount();
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreateableGUIElementType(int idx)
+{
+
+	iGUIElementFactoryObj = getCreateableGUIElementType(idx);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreateableGUIElementTypeName(int idx)
+{
+
+	iGUIElementFactoryObj = getCreateableGUIElementTypeName(idx);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreateableGUIElementTypeName(int type)
+{
+
+	iGUIElementFactoryObj = getCreateableGUIElementTypeName(type);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IShaderConstantSetCallBackOnSetMaterial(int material)
+{
+
+	iShaderConstantSetCallBackObj->OnSetMaterial(material);
+
+}
+
+extern "C" int IShaderConstantSetCallBackOnSetConstants(int services, int userData)
+{
+
+	iShaderConstantSetCallBackObj->OnSetConstants(services, userData);
+
+}
+
+extern "C" int IMeshManipulatorFlipSurfaces(int mesh)
+{
+
+	iMeshManipulatorObj->flipSurfaces(mesh);
+
+}
+
+extern "C" int IMeshManipulatorSetVertexColorAlpha(int mesh, int alpha)
+{
+
+	iMeshManipulatorObj->setVertexColorAlpha(mesh, alpha);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorSetVertexColors(int mesh, int color)
+{
+
+	iMeshManipulatorObj->setVertexColors(mesh, color);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorRecalculateNormals(int mesh, int smooth, int angleWeighted)
+{
+
+	iMeshManipulatorObj->recalculateNormals(mesh, smooth, angleWeighted);
+
+}
+
+extern "C" int IMeshManipulatorRecalculateNormals(int buffer, int smooth, int angleWeighted)
+{
+
+	iMeshManipulatorObj->recalculateNormals(buffer, smooth, angleWeighted);
+
+}
+
+extern "C" int IMeshManipulatorRecalculateTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted)
+{
+
+	iMeshManipulatorObj->recalculateTangents(mesh, recalculateNormals, smooth, angleWeighted);
+
+}
+
+extern "C" int IMeshManipulatorScale(int mesh, int factor)
+{
+
+	iMeshManipulatorObj->scale(mesh, factor);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorScale(int buffer, int factor)
+{
+
+	iMeshManipulatorObj->scale(buffer, factor);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorScaleMesh(int mesh, int factor)
+{
+
+	iMeshManipulatorObj->scaleMesh(mesh, factor);
+
+}
+
+extern "C" int IMeshManipulatorScaleTCoords(int mesh, int factor, int level)
+{
+
+	iMeshManipulatorObj->scaleTCoords(mesh, factor, level);
+
+}
+
+extern "C" int IMeshManipulatorApply(int factor)
+{
+
+	iMeshManipulatorObj->apply(factor);
+
+}
+
+extern "C" int IMeshManipulatorScaleTCoords(int buffer, int factor, int level)
+{
+
+	iMeshManipulatorObj->scaleTCoords(buffer, factor, level);
+
+}
+
+extern "C" int IMeshManipulatorApply(int factor)
+{
+
+	iMeshManipulatorObj->apply(factor);
+
+}
+
+extern "C" int IMeshManipulatorTransform(int mesh, int m)
+{
+
+	iMeshManipulatorObj->transform(mesh, m);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorTransform(int buffer, int m)
+{
+
+	iMeshManipulatorObj->transform(buffer, m);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorTransformMesh(int mesh, int m)
+{
+
+	iMeshManipulatorObj->transformMesh(mesh, m);
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshCopy(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshCopy(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorMakePlanarTextureMapping(int mesh, int resolution)
+{
+
+	iMeshManipulatorObj->makePlanarTextureMapping(mesh, resolution);
+
+}
+
+extern "C" int IMeshManipulatorMakePlanarTextureMapping(int meshbuffer, int resolution)
+{
+
+	iMeshManipulatorObj->makePlanarTextureMapping(meshbuffer, resolution);
+
+}
+
+extern "C" int IMeshManipulatorMakePlanarTextureMapping(int buffer, int resolutionS, int resolutionT, int axis, int offset)
+{
+
+	iMeshManipulatorObj->makePlanarTextureMapping(buffer, resolutionS, resolutionT, axis, offset);
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWithTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted, int recalculateTangents)
+{
+
+	iMeshManipulatorObj = createMeshWithTangents(mesh, recalculateNormals, smooth, angleWeighted, recalculateTangents);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWith2TCoords(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshWith2TCoords(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWith1TCoords(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshWith1TCoords(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshUniquePrimitives(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshUniquePrimitives(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWelded(int mesh, int tolerance)
+{
+
+	iMeshManipulatorObj = createMeshWelded(mesh, tolerance);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorGetPolyCount(int mesh)
+{
+
+	iMeshManipulatorObj = getPolyCount(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorGetPolyCount(int mesh)
+{
+
+	iMeshManipulatorObj = getPolyCount(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateAnimatedMesh(int mesh, int type)
+{
+
+	iMeshManipulatorObj = createAnimatedMesh(mesh, type);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorApply(int func, int buffer, int boundingBoxUpdate)
+{
+
+	iMeshManipulatorObj = apply(func, buffer, boundingBoxUpdate);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorApply(int func, int mesh, int boundingBoxUpdate)
+{
+
+	iMeshManipulatorObj = apply(func, mesh, boundingBoxUpdate);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorGetMeshBufferCount()
+{
+
+	iMeshManipulatorObj = getMeshBufferCount();
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj = apply();
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorAddInternalBox()
+{
+
+	iMeshManipulatorObj = addInternalBox();
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int SColorHSLSColorHSL(int h, int s, int l, int l)
+{
+
+	sColorHSLObj->SColorHSL(h, s, l, l);
+
+}
+
+extern "C" int SColorHSLFromRGB(int color)
+{
+
+	sColorHSLObj->fromRGB(color);
+
+}
+
+extern "C" int SColorHSLToRGB(int color)
+{
+
+	sColorHSLObj->toRGB(color);
+
+}
+
+extern "C" int SColorSColor()
+{
+
+	sColorObj->SColor();
+
+}
+
+extern "C" int SColorSColor(int a, int r, int g)
+{
+
+	sColorObj->SColor(a, r, g);
+
+}
+
+extern "C" int SColorSColor(int clr)
+{
+
+	sColorObj->SColor(clr);
+
+}
+
+extern "C" int SColorGetAlpha()
+{
+
+	sColorObj = getAlpha();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetRed()
+{
+
+	sColorObj = getRed();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetGreen()
+{
+
+	sColorObj = getGreen();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetBlue()
+{
+
+	sColorObj = getBlue();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetLightness()
+{
+
+	sColorObj = getLightness();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetLuminance()
+{
+
+	sColorObj = getLuminance();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetAverage()
+{
+
+	sColorObj = getAverage();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorSetAlpha(int a)
+{
+
+	sColorObj->setAlpha(a);
+
+}
+
+extern "C" int SColorSetRed(int r)
+{
+
+	sColorObj->setRed(r);
+
+}
+
+extern "C" int SColorSetGreen(int g)
+{
+
+	sColorObj->setGreen(g);
+
+}
+
+extern "C" int SColorSetBlue(int b)
+{
+
+	sColorObj->setBlue(b);
+
+}
+
+extern "C" int SColorToA1R5G5B5()
+{
+
+	sColorObj = toA1R5G5B5();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorToOpenGLColor(int dest)
+{
+
+	sColorObj->toOpenGLColor(dest);
+
+}
+
+extern "C" int SColorSet(int a, int r, int g, int b)
+{
+
+	sColorObj->set(a, r, g, b);
+
+}
+
+extern "C" int SColorSet(int col)
+{
+
+	sColorObj->set(col);
+
+}
+
+extern "C" int SColorGetInterpolated(int other, int d)
+{
+
+	sColorObj = getInterpolated(other, d);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorClamp()
+{
+
+	sColorObj = clamp();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetInterpolated_quadratic(int c1, int c2, int d)
+{
+
+	sColorObj = getInterpolated_quadratic(c1, c2, d);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorClamp()
+{
+
+	sColorObj = clamp();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorSetData(int data, int format)
+{
+
+	sColorObj->setData(data, format);
+
+}
+
+extern "C" int SColorSwitch()
+{
+
+	sColorObj->switch();
+
+}
+
+extern "C" int SColorA1R5G5B5toA8R8G8B8(int data)
+{
+
+	sColorObj = A1R5G5B5toA8R8G8B8(data);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorR5G6B5toA8R8G8B8(int data)
+{
+
+	sColorObj = R5G6B5toA8R8G8B8(data);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColor_()
+{
+
+	sColorObj = *();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorSet()
+{
+
+	sColorObj->set();
+
+}
+
+extern "C" int SColorGetData(int data, int format)
+{
+
+	sColorObj->getData(data, format);
+
+}
+
+extern "C" int SColorSwitch()
+{
+
+	sColorObj->switch();
+
+}
+
+extern "C" int SColorA8R8G8B8toA1R5G5B5()
+{
+
+	sColorObj = A8R8G8B8toA1R5G5B5();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorA8R8G8B8toR5G6B5()
+{
+
+	sColorObj = A8R8G8B8toR5G6B5();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorfSColorf()
+{
+
+	sColorfObj->SColorf();
+
+}
+
+extern "C" int SColorfSColorf(int r, int g, int b, int a, int a)
+{
+
+	sColorfObj->SColorf(r, g, b, a, a);
+
+}
+
+extern "C" int SColorfSColorf(int c)
+{
+
+	sColorfObj->SColorf(c);
+
+}
+
+extern "C" int SColorfGetRed()
+{
+
+	sColorfObj = getRed();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetGreen()
+{
+
+	sColorfObj = getGreen();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetBlue()
+{
+
+	sColorfObj = getBlue();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetAlpha()
+{
+
+	sColorfObj = getAlpha();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfToSColor()
+{
+
+	sColorfObj = toSColor();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfSet(int rr, int gg, int bb)
+{
+
+	sColorfObj->set(rr, gg, bb);
+
+}
+
+extern "C" int SColorfSet(int aa, int rr, int gg, int bb)
+{
+
+	sColorfObj->set(aa, rr, gg, bb);
+
+}
+
+extern "C" int SColorfGetInterpolated(int other, int d)
+{
+
+	sColorfObj = getInterpolated(other, d);
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfClamp()
+{
+
+	sColorfObj = clamp();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetInterpolated_quadratic(int c1, int c2, int d)
+{
+
+	sColorfObj = getInterpolated_quadratic(c1, c2, d);
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfClamp()
+{
+
+	sColorfObj = clamp();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfSetColorComponentValue(int index, int value)
+{
+
+	sColorfObj->setColorComponentValue(index, value);
+
+}
+
+extern "C" int SColorfSwitch()
+{
+
+	sColorfObj->switch();
+
+}
+
+extern "C" int SColorfGetAlpha()
+{
+
+	sColorfObj = getAlpha();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetRed()
+{
+
+	sColorfObj = getRed();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetGreen()
+{
+
+	sColorfObj = getGreen();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetBlue()
+{
+
+	sColorfObj = getBlue();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int IImageLoaderIsALoadableFileExtension(int filename)
+{
+
+	iImageLoaderObj = isALoadableFileExtension(filename);
+	return (int) iImageLoaderObj;
+
+}
+
+extern "C" int IImageLoaderIsALoadableFileFormat(int file)
+{
+
+	iImageLoaderObj = isALoadableFileFormat(file);
+	return (int) iImageLoaderObj;
+
+}
+
+extern "C" int IImageLoaderLoadImage(int file)
+{
+
+	iImageLoaderObj = loadImage(file);
+	return (int) iImageLoaderObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorAnimateNode(int node, int timeMs)
+{
+
+	iSceneNodeAnimatorObj->animateNode(node, timeMs);
+
+}
+
+extern "C" int ISceneNodeAnimatorCreateClone(int node, int newManager)
+{
+
+	iSceneNodeAnimatorObj = createClone(node, newManager);
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorIsEventReceiverEnabled()
+{
+
+	iSceneNodeAnimatorObj = isEventReceiverEnabled();
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorOnEvent(int event)
+{
+
+	iSceneNodeAnimatorObj = OnEvent(event);
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorGetType()
+{
+
+	iSceneNodeAnimatorObj = getType();
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorHasFinished()
+{
+
+	iSceneNodeAnimatorObj = hasFinished();
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int IOSOperatorIOSOperator()
+{
+
+	iOSOperatorObj = IOSOperator();
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorGetOperationSystemVersion()
+{
+
+	iOSOperatorObj = getOperationSystemVersion();
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorCopyToClipboard(char * text)
+{
+
+	iOSOperatorObj->copyToClipboard(text);
+
+}
+
+extern "C" int IOSOperatorGetTextFromClipboard()
+{
+
+	iOSOperatorObj = getTextFromClipboard();
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorGetProcessorSpeedMHz(int MHz)
+{
+
+	iOSOperatorObj = getProcessorSpeedMHz(MHz);
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorGetSystemMemory(int Total, int Avail)
+{
+
+	iOSOperatorObj = getSystemMemory(Total, Avail);
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IQ3LevelMeshGetShader(char * filename, int fileNameIsValid)
+{
+
+	iQ3LevelMeshObj = getShader(filename, fileNameIsValid);
+	return (int) iQ3LevelMeshObj;
+
+}
+
+extern "C" int IQ3LevelMeshGetShader(int index)
+{
+
+	iQ3LevelMeshObj = getShader(index);
+	return (int) iQ3LevelMeshObj;
+
+}
+
+extern "C" int IQ3LevelMeshGetEntityList()
+{
+
+	iQ3LevelMeshObj = getEntityList();
+	return (int) iQ3LevelMeshObj;
+
+}
+
+extern "C" int ILightManagerOnPreRender(int lightList)
+{
+
+	iLightManagerObj->OnPreRender(lightList);
+
+}
+
+extern "C" int ILightManagerOnPostRender()
+{
+
+	iLightManagerObj->OnPostRender();
+
+}
+
+extern "C" int ILightManagerOnRenderPassPreRender(int renderPass)
+{
+
+	iLightManagerObj->OnRenderPassPreRender(renderPass);
+
+}
+
+extern "C" int ILightManagerOnRenderPassPostRender(int renderPass)
+{
+
+	iLightManagerObj->OnRenderPassPostRender(renderPass);
+
+}
+
+extern "C" int ILightManagerOnNodePreRender(int node)
+{
+
+	iLightManagerObj->OnNodePreRender(node);
+
+}
+
+extern "C" int ILightManagerOnNodePostRender(int node)
+{
+
+	iLightManagerObj->OnNodePostRender(node);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetPoint(int point)
+{
+
+	iParticleAttractionAffectorObj->setPoint(point);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAttract(int attract)
+{
+
+	iParticleAttractionAffectorObj->setAttract(attract);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAffectX(int affect)
+{
+
+	iParticleAttractionAffectorObj->setAffectX(affect);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAffectY(int affect)
+{
+
+	iParticleAttractionAffectorObj->setAffectY(affect);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAffectZ(int affect)
+{
+
+	iParticleAttractionAffectorObj->setAffectZ(affect);
+
+}
+
+extern "C" int IParticleAttractionAffectorGetPoint()
+{
+
+	iParticleAttractionAffectorObj = getPoint();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAttract()
+{
+
+	iParticleAttractionAffectorObj = getAttract();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAffectX()
+{
+
+	iParticleAttractionAffectorObj = getAffectX();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAffectY()
+{
+
+	iParticleAttractionAffectorObj = getAffectY();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAffectZ()
+{
+
+	iParticleAttractionAffectorObj = getAffectZ();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetType()
+{
+
+	iParticleAttractionAffectorObj = getType();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int ILightSceneNodeILightSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iLightSceneNodeObj->ILightSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int ILightSceneNodeSetLightData(int light)
+{
+
+	iLightSceneNodeObj->setLightData(light);
+
+}
+
+extern "C" int ILightSceneNodeGetLightData()
+{
+
+	iLightSceneNodeObj = getLightData();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeGetLightData()
+{
+
+	iLightSceneNodeObj = getLightData();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeSetVisible(int isVisible)
+{
+
+	iLightSceneNodeObj->setVisible(isVisible);
+
+}
+
+extern "C" int ILightSceneNodeSetRadius(int radius)
+{
+
+	iLightSceneNodeObj->setRadius(radius);
+
+}
+
+extern "C" int ILightSceneNodeGetRadius()
+{
+
+	iLightSceneNodeObj = getRadius();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeSetLightType(int type)
+{
+
+	iLightSceneNodeObj->setLightType(type);
+
+}
+
+extern "C" int ILightSceneNodeGetLightType()
+{
+
+	iLightSceneNodeObj = getLightType();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeEnableCastShadow(int shadow)
+{
+
+	iLightSceneNodeObj->enableCastShadow(shadow);
+
+}
+
+extern "C" int ILightSceneNodeGetCastShadow()
+{
+
+	iLightSceneNodeObj = getCastShadow();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int IGUIComboBoxIGUIComboBox(int environment, int parent, int id, int EGUIET_COMBO_BOX)
+{
+
+	iGUIComboBoxObj->IGUIComboBox(environment, parent, id, EGUIET_COMBO_BOX);
+
+}
+
+extern "C" int IGUIComboBoxGetItemCount()
+{
+
+	iGUIComboBoxObj = getItemCount();
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxGetItem(int idx)
+{
+
+	iGUIComboBoxObj = getItem(idx);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxGetItemData(int idx)
+{
+
+	iGUIComboBoxObj = getItemData(idx);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxGetIndexForItemData(int data)
+{
+
+	iGUIComboBoxObj = getIndexForItemData(data);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxAddItem(char * text, int data)
+{
+
+	iGUIComboBoxObj = addItem(text, data);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxRemoveItem(int idx)
+{
+
+	iGUIComboBoxObj->removeItem(idx);
+
+}
+
+extern "C" int IGUIComboBoxClear()
+{
+
+	iGUIComboBoxObj->clear();
+
+}
+
+extern "C" int IGUIComboBoxGetSelected()
+{
+
+	iGUIComboBoxObj = getSelected();
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxSetSelected(int idx)
+{
+
+	iGUIComboBoxObj->setSelected(idx);
+
+}
+
+extern "C" int IGUIComboBoxSetTextAlignment(int horizontal, int vertical)
+{
+
+	iGUIComboBoxObj->setTextAlignment(horizontal, vertical);
+
+}
+
+extern "C" int IGUIElementIGUIElement(int type, int environment, int parent, int id, int type)
+{
+
+	iGUIElementObj->IGUIElement(type, environment, parent, id, type);
+
+}
+
+extern "C" int IGUIElementSetDebugName()
+{
+
+	iGUIElementObj->setDebugName();
+
+}
+
+extern "C" int IGUIElementAddChildToEnd()
+{
+
+	iGUIElementObj = addChildToEnd();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRecalculateAbsolutePosition()
+{
+
+	iGUIElementObj->recalculateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementIGUIElement()
+{
+
+	iGUIElementObj = IGUIElement();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetParent()
+{
+
+	iGUIElementObj = getParent();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetRelativePosition()
+{
+
+	iGUIElementObj = getRelativePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetRelativePosition(int r)
+{
+
+	iGUIElementObj->setRelativePosition(r);
+
+}
+
+extern "C" int IGUIElementGetAbsolutePosition()
+{
+
+	iGUIElementObj = getAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementD()
+{
+
+	iGUIElementObj = d();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementSetRelativePosition(int position)
+{
+
+	iGUIElementObj->setRelativePosition(position);
+
+}
+
+extern "C" int IGUIElementGetSize()
+{
+
+	iGUIElementObj = getSize();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRectangle(int X, int Y, int Width, int Height)
+{
+
+	iGUIElementObj = rectangle(X, Y, Width, Height);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetRelativePosition()
+{
+
+	iGUIElementObj->setRelativePosition();
+
+}
+
+extern "C" int IGUIElementSetRelativePositionProportional(int r)
+{
+
+	iGUIElementObj->setRelativePositionProportional(r);
+
+}
+
+extern "C" int IGUIElementGetAbsolutePosition()
+{
+
+	iGUIElementObj = getAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementGetAbsolutePosition()
+{
+
+	iGUIElementObj = getAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAbsoluteClippingRect()
+{
+
+	iGUIElementObj = getAbsoluteClippingRect();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetNotClipped(int noClip)
+{
+
+	iGUIElementObj->setNotClipped(noClip);
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementIsNotClipped()
+{
+
+	iGUIElementObj = isNotClipped();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetMaxSize(int size)
+{
+
+	iGUIElementObj->setMaxSize(size);
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementSetMinSize(int size)
+{
+
+	iGUIElementObj->setMinSize(size);
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementSetAlignment(int left, int right, int top, int bottom)
+{
+
+	iGUIElementObj->setAlignment(left, right, top, bottom);
+
+}
+
+extern "C" int IGUIElementR()
+{
+
+	iGUIElementObj = r();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementD(int Width, int Height)
+{
+
+	iGUIElementObj = d(Width, Height);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementRecalculateAbsolutePosition()
+{
+
+	iGUIElementObj->recalculateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetElementFromPoint(int point)
+{
+
+	iGUIElementObj = getElementFromPoint(point);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetLast()
+{
+
+	iGUIElementObj = getLast();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int it)
+{
+
+	iGUIElementObj->while(it);
+
+}
+
+extern "C" int IGUIElementIsPointInside(int point)
+{
+
+	iGUIElementObj = isPointInside(point);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddChild(int child)
+{
+
+	iGUIElementObj->addChild(child);
+
+}
+
+extern "C" int IGUIElementAddChildToEnd()
+{
+
+	iGUIElementObj->addChildToEnd();
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj = updateAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRemoveChild(int child)
+{
+
+	iGUIElementObj->removeChild(child);
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementErase()
+{
+
+	iGUIElementObj = erase();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRemove()
+{
+
+	iGUIElementObj->remove();
+
+}
+
+extern "C" int IGUIElementDraw()
+{
+
+	iGUIElementObj->draw();
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementOnPostRender(int timeMs)
+{
+
+	iGUIElementObj->OnPostRender(timeMs);
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementMove(int absoluteMovement)
+{
+
+	iGUIElementObj->move(absoluteMovement);
+
+}
+
+extern "C" int IGUIElementSetRelativePosition(int absoluteMovement)
+{
+
+	iGUIElementObj->setRelativePosition(absoluteMovement);
+
+}
+
+extern "C" int IGUIElementIsVisible()
+{
+
+	iGUIElementObj = isVisible();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetVisible(int visible)
+{
+
+	iGUIElementObj->setVisible(visible);
+
+}
+
+extern "C" int IGUIElementIsSubElement()
+{
+
+	iGUIElementObj = isSubElement();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetSubElement(int subElement)
+{
+
+	iGUIElementObj->setSubElement(subElement);
+
+}
+
+extern "C" int IGUIElementSetTabStop(int enable)
+{
+
+	iGUIElementObj->setTabStop(enable);
+
+}
+
+extern "C" int IGUIElementIsTabStop()
+{
+
+	iGUIElementObj = isTabStop();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetTabOrder(int index)
+{
+
+	iGUIElementObj->setTabOrder(index);
+
+}
+
+extern "C" int IGUIElementGetTabGroup()
+{
+
+	iGUIElementObj = getTabGroup();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile()
+{
+
+	iGUIElementObj->while();
+
+}
+
+extern "C" int IGUIElementGetNextElement()
+{
+
+	iGUIElementObj = getNextElement();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetTabGroup(int isGroup)
+{
+
+	iGUIElementObj->setTabGroup(isGroup);
+
+}
+
+extern "C" int IGUIElementIsTabGroup()
+{
+
+	iGUIElementObj = isTabGroup();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabGroup()
+{
+
+	iGUIElementObj = getTabGroup();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int ret)
+{
+
+	iGUIElementObj->while(ret);
+
+}
+
+extern "C" int IGUIElementIsEnabled()
+{
+
+	iGUIElementObj = isEnabled();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetEnabled(int enabled)
+{
+
+	iGUIElementObj->setEnabled(enabled);
+
+}
+
+extern "C" int IGUIElementSetText(char * text)
+{
+
+	iGUIElementObj->setText(text);
+
+}
+
+extern "C" int IGUIElementGetText()
+{
+
+	iGUIElementObj = getText();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetToolTipText(char * text)
+{
+
+	iGUIElementObj->setToolTipText(text);
+
+}
+
+extern "C" int IGUIElementGetToolTipText()
+{
+
+	iGUIElementObj = getToolTipText();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetID()
+{
+
+	iGUIElementObj = getID();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetID(int id)
+{
+
+	iGUIElementObj->setID(id);
+
+}
+
+extern "C" int IGUIElementOnEvent(int event)
+{
+
+	iGUIElementObj = OnEvent(event);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBringToFront(int element)
+{
+
+	iGUIElementObj = bringToFront(element);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementErase()
+{
+
+	iGUIElementObj = erase();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementPush_back()
+{
+
+	iGUIElementObj = push_back();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetChildren()
+{
+
+	iGUIElementObj = getChildren();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetElementFromId(int id, int searchchildren)
+{
+
+	iGUIElementObj = getElementFromId(id, searchchildren);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementIsMyChild(int child)
+{
+
+	iGUIElementObj = isMyChild(child);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int child)
+{
+
+	iGUIElementObj->while(child);
+
+}
+
+extern "C" int IGUIElementGetNextElement(int startOrder, int reverse, int group, int first, int closest, int includeInvisible)
+{
+
+	iGUIElementObj = getNextElement(startOrder, reverse, group, first, closest, includeInvisible);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int it)
+{
+
+	iGUIElementObj->while(it);
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetType()
+{
+
+	iGUIElementObj = getType();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementHasType(int type)
+{
+
+	iGUIElementObj = hasType(type);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTypeName()
+{
+
+	iGUIElementObj = getTypeName();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSerializeAttributes(int out, int options)
+{
+
+	iGUIElementObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int IGUIElementAddInt()
+{
+
+	iGUIElementObj = addInt();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddString()
+{
+
+	iGUIElementObj = addString();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddRect()
+{
+
+	iGUIElementObj = addRect();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddPosition2d(int Width)
+{
+
+	iGUIElementObj = addPosition2d(Width);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddPosition2d(int Width)
+{
+
+	iGUIElementObj = addPosition2d(Width);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddInt()
+{
+
+	iGUIElementObj = addInt();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementDeserializeAttributes(int in, int options)
+{
+
+	iGUIElementObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int IGUIElementSetID()
+{
+
+	iGUIElementObj->setID();
+
+}
+
+extern "C" int IGUIElementSetText()
+{
+
+	iGUIElementObj->setText();
+
+}
+
+extern "C" int IGUIElementSetVisible()
+{
+
+	iGUIElementObj->setVisible();
+
+}
+
+extern "C" int IGUIElementSetEnabled()
+{
+
+	iGUIElementObj->setEnabled();
+
+}
+
+extern "C" int IGUIElementGetAttributeAsBool()
+{
+
+	iGUIElementObj = getAttributeAsBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAttributeAsBool()
+{
+
+	iGUIElementObj = getAttributeAsBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAttributeAsInt()
+{
+
+	iGUIElementObj = getAttributeAsInt();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAttributeAsPosition2d()
+{
+
+	iGUIElementObj = getAttributeAsPosition2d();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetMaxSize(int X)
+{
+
+	iGUIElementObj->setMaxSize(X);
+
+}
+
+extern "C" int IGUIElementGetAttributeAsPosition2d()
+{
+
+	iGUIElementObj = getAttributeAsPosition2d();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetMinSize(int X)
+{
+
+	iGUIElementObj->setMinSize(X);
+
+}
+
+extern "C" int IGUIElementSetAlignment(int LeftAlign, int RightAlign, int TopAlign, int BottomAlign)
+{
+
+	iGUIElementObj->setAlignment(LeftAlign, RightAlign, TopAlign, BottomAlign);
+
+}
+
+extern "C" int IGUIElementSetRelativePosition()
+{
+
+	iGUIElementObj->setRelativePosition();
+
+}
+
+extern "C" int IGUIElementSetNotClipped()
+{
+
+	iGUIElementObj->setNotClipped();
+
+}
+
+extern "C" int IAttributesGetAttributeCount()
+{
+
+	iAttributesObj = getAttributeCount();
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeName(int index)
+{
+
+	iAttributesObj = getAttributeName(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeType(char * attributeName)
+{
+
+	iAttributesObj = getAttributeType(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeType(int index)
+{
+
+	iAttributesObj = getAttributeType(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeTypeString(char * attributeName)
+{
+
+	iAttributesObj = getAttributeTypeString(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeTypeString(int index)
+{
+
+	iAttributesObj = getAttributeTypeString(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesExistsAttribute(char * attributeName)
+{
+
+	iAttributesObj = existsAttribute(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesFindAttribute(char * attributeName)
+{
+
+	iAttributesObj = findAttribute(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesClear()
+{
+
+	iAttributesObj->clear();
+
+}
+
+extern "C" int IAttributesRead(int reader, int readCurrentElementOnly, char * elementName)
+{
+
+	iAttributesObj = read(reader, readCurrentElementOnly, elementName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesWrite(int writer, int writeXMLHeader, char * elementName)
+{
+
+	iAttributesObj = write(writer, writeXMLHeader, elementName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesAddInt(char * attributeName, int value)
+{
+
+	iAttributesObj->addInt(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsInt(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsInt(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsInt(int index)
+{
+
+	iAttributesObj = getAttributeAsInt(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddFloat(char * attributeName, int value)
+{
+
+	iAttributesObj->addFloat(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsFloat(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsFloat(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsFloat(int index)
+{
+
+	iAttributesObj = getAttributeAsFloat(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddString(char * attributeName, char * value)
+{
+
+	iAttributesObj->addString(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, char * value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsString(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsString(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsString(char * attributeName, char * target)
+{
+
+	iAttributesObj->getAttributeAsString(attributeName, target);
+
+}
+
+extern "C" int IAttributesGetAttributeAsString(int index)
+{
+
+	iAttributesObj = getAttributeAsString(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, char * value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddString(char * attributeName, char * value)
+{
+
+	iAttributesObj->addString(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, char * value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsStringW(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsStringW(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsStringW(char * attributeName, char * target)
+{
+
+	iAttributesObj->getAttributeAsStringW(attributeName, target);
+
+}
+
+extern "C" int IAttributesGetAttributeAsStringW(int index)
+{
+
+	iAttributesObj = getAttributeAsStringW(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, char * value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddBinary(char * attributeName, int data, int dataSizeInBytes)
+{
+
+	iAttributesObj->addBinary(attributeName, data, dataSizeInBytes);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int data, int dataSizeInBytes)
+{
+
+	iAttributesObj->setAttribute(attributeName, data, dataSizeInBytes);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBinaryData(char * attributeName, int outData, int maxSizeInBytes)
+{
+
+	iAttributesObj->getAttributeAsBinaryData(attributeName, outData, maxSizeInBytes);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBinaryData(int index, int outData, int maxSizeInBytes)
+{
+
+	iAttributesObj->getAttributeAsBinaryData(index, outData, maxSizeInBytes);
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int data, int dataSizeInBytes)
+{
+
+	iAttributesObj->setAttribute(index, data, dataSizeInBytes);
+
+}
+
+extern "C" int IAttributesAddArray(char * attributeName, int value)
+{
+
+	iAttributesObj->addArray(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsArray(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsArray(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsArray(int index)
+{
+
+	iAttributesObj = getAttributeAsArray(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddBool(char * attributeName, int value)
+{
+
+	iAttributesObj->addBool(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBool(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsBool(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsBool(int index)
+{
+
+	iAttributesObj = getAttributeAsBool(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddEnum(char * attributeName, char * enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->addEnum(attributeName, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesAddEnum(char * attributeName, int enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->addEnum(attributeName, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, char * enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->setAttribute(attributeName, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(char * attributeName, char * enumerationLiteralsToUse)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(attributeName, enumerationLiteralsToUse);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(int index, char * enumerationLiteralsToUse)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(index, enumerationLiteralsToUse);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(int index)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(char * attributeName, int outLiterals)
+{
+
+	iAttributesObj->getAttributeEnumerationLiteralsOfEnumeration(attributeName, outLiterals);
+
+}
+
+extern "C" int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(int index, int outLiterals)
+{
+
+	iAttributesObj->getAttributeEnumerationLiteralsOfEnumeration(index, outLiterals);
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, char * enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->setAttribute(index, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesAddColor(char * attributeName, int value)
+{
+
+	iAttributesObj->addColor(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int color)
+{
+
+	iAttributesObj->setAttribute(attributeName, color);
+
+}
+
+extern "C" int IAttributesGetAttributeAsColor(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsColor(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsColor(int index)
+{
+
+	iAttributesObj = getAttributeAsColor(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int color)
+{
+
+	iAttributesObj->setAttribute(index, color);
+
+}
+
+extern "C" int IAttributesAddColorf(char * attributeName, int value)
+{
+
+	iAttributesObj->addColorf(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int color)
+{
+
+	iAttributesObj->setAttribute(attributeName, color);
+
+}
+
+extern "C" int IAttributesGetAttributeAsColorf(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsColorf(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsColorf(int index)
+{
+
+	iAttributesObj = getAttributeAsColorf(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int color)
+{
+
+	iAttributesObj->setAttribute(index, color);
+
+}
+
+extern "C" int IAttributesAddVector3d(char * attributeName, int value)
+{
+
+	iAttributesObj->addVector3d(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsVector3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsVector3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsVector3d(int index)
+{
+
+	iAttributesObj = getAttributeAsVector3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddPosition2d(char * attributeName, int value)
+{
+
+	iAttributesObj->addPosition2d(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsPosition2d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsPosition2d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsPosition2d(int index)
+{
+
+	iAttributesObj = getAttributeAsPosition2d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddRect(char * attributeName, int value)
+{
+
+	iAttributesObj->addRect(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsRect(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsRect(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsRect(int index)
+{
+
+	iAttributesObj = getAttributeAsRect(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddMatrix(char * attributeName, int v)
+{
+
+	iAttributesObj->addMatrix(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsMatrix(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsMatrix(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsMatrix(int index)
+{
+
+	iAttributesObj = getAttributeAsMatrix(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddQuaternion(char * attributeName, int v)
+{
+
+	iAttributesObj->addQuaternion(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsQuaternion(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsQuaternion(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsQuaternion(int index)
+{
+
+	iAttributesObj = getAttributeAsQuaternion(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddBox3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addBox3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBox3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsBox3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsBox3d(int index)
+{
+
+	iAttributesObj = getAttributeAsBox3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddPlane3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addPlane3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsPlane3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsPlane3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsPlane3d(int index)
+{
+
+	iAttributesObj = getAttributeAsPlane3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddTriangle3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addTriangle3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsTriangle3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsTriangle3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsTriangle3d(int index)
+{
+
+	iAttributesObj = getAttributeAsTriangle3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddLine2d(char * attributeName, int v)
+{
+
+	iAttributesObj->addLine2d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine2d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsLine2d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine2d(int index)
+{
+
+	iAttributesObj = getAttributeAsLine2d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddLine3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addLine3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsLine3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine3d(int index)
+{
+
+	iAttributesObj = getAttributeAsLine3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddTexture(char * attributeName, int texture)
+{
+
+	iAttributesObj->addTexture(attributeName, texture);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int texture)
+{
+
+	iAttributesObj->setAttribute(attributeName, texture);
+
+}
+
+extern "C" int IAttributesGetAttributeAsTexture(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsTexture(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsTexture(int index)
+{
+
+	iAttributesObj = getAttributeAsTexture(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int texture)
+{
+
+	iAttributesObj->setAttribute(index, texture);
+
+}
+
+extern "C" int IAttributesAddUserPointer(char * attributeName, int userPointer)
+{
+
+	iAttributesObj->addUserPointer(attributeName, userPointer);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int userPointer)
+{
+
+	iAttributesObj->setAttribute(attributeName, userPointer);
+
+}
+
+extern "C" int IAttributesGetAttributeAsUserPointer(char * attributeName)
+{
+
+	iAttributesObj->getAttributeAsUserPointer(attributeName);
+
+}
+
+extern "C" int IAttributesGetAttributeAsUserPointer(int index)
+{
+
+	iAttributesObj->getAttributeAsUserPointer(index);
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int userPointer)
+{
+
+	iAttributesObj->setAttribute(index, userPointer);
+
+}
+
+extern "C" int IXMLWriterIXMLWriter()
+{
+
+	iXMLWriterObj = IXMLWriter();
+	return (int) iXMLWriterObj;
 
 }
 
diff --git a/InterfaceGenerator/c_interface.h b/InterfaceGenerator/c_interface.h
--- a/InterfaceGenerator/c_interface.h
+++ b/InterfaceGenerator/c_interface.h
@@ -2,3565 +2,3749 @@
 extern "C" {
 #endif
 
-int IGUIButtonIGUIButton(int environment, int parent, int id, int EGUIET_BUTTON, int arg5, int arg6, int arg7);
-
-int IGUIButtonSetOverrideFont(int font);
-
-int IGUIButtonSetImage(int image);
-
-int IGUIButtonSetImage(int image, int pos);
-
-int IGUIButtonSetPressedImage(int image);
-
-int IGUIButtonSetPressedImage(int image, int pos);
-
-int IGUIButtonSetSpriteBank(int bank);
-
-int IGUIButtonSetSprite(int state, int index, int color, int arg4, int arg5, int loop);
-
-int IGUIButtonSetIsPushButton(int isPushButton);
-
-int IGUIButtonSetPressed(int pressed);
-
-int IGUIButtonIsPressed();
-
-int IGUIButtonSetUseAlphaChannel(int useAlphaChannel);
-
-int IGUIButtonIsAlphaChannelUsed();
-
-int IGUIButtonIsPushButton();
-
-int IGUIButtonSetDrawBorder(int border);
-
-int IGUIButtonIsDrawingBorder();
-
-int IGUIButtonSetScaleImage(int scaleImage);
-
-int IGUIButtonIsScalingImage();
-
-int IGUIEnvironmentDrawAll();
-
-int IGUIEnvironmentSetFocus(int element);
-
-int IGUIEnvironmentGetFocus();
-
-int IGUIEnvironmentRemoveFocus(int element);
-
-int IGUIEnvironmentHasFocus(int element);
-
-int IGUIEnvironmentGetVideoDriver();
-
-int IGUIEnvironmentGetFileSystem();
-
-int IGUIEnvironmentGetOSOperator();
-
-int IGUIEnvironmentClear();
-
-int IGUIEnvironmentPostEventFromUser(int event);
-
-int IGUIEnvironmentSetUserEventReceiver(int evr);
-
-int IGUIEnvironmentGetSkin();
-
-int IGUIEnvironmentSetSkin(int skin);
-
-int IGUIEnvironmentCreateSkin(int type);
-
-int IGUIEnvironmentCreateImageList(int texture, int imageSize, int useAlphaChannel);
-
-int IGUIEnvironmentGetFont(int filename);
-
-int IGUIEnvironmentGetBuiltInFont();
-
-int IGUIEnvironmentGetSpriteBank(int filename);
-
-int IGUIEnvironmentAddEmptySpriteBank(int name);
-
-int IGUIEnvironmentGetRootGUIElement();
-
-int IGUIEnvironmentAddButton(int rectangle, int parent, int id, char * text, char * tooltiptext);
-
-int IGUIEnvironmentAddWindow(int rectangle, int modal, char * text, int parent, int id);
-
-int IGUIEnvironmentAddModalScreen(int parent);
-
-int IGUIEnvironmentAddMessageBox(char * caption, char * text, int modal, int flags, int parent, int id);
-
-int IGUIEnvironmentAddScrollBar(int horizontal, int rectangle, int parent, int id);
-
-int IGUIEnvironmentAddImage(int image, int pos, int useAlphaChannel, int parent, int id, char * text);
-
-int IGUIEnvironmentAddImage(int rectangle, int parent, int id, char * text);
-
-int IGUIEnvironmentAddCheckBox(int checked, int rectangle, int parent, int id, char * text);
-
-int IGUIEnvironmentAddListBox(int rectangle, int parent, int id, int drawBackground);
-
-int IGUIEnvironmentAddTreeView(int rectangle, int parent, int id, int drawBackground, int scrollBarVertical, int scrollBarHorizontal);
-
-int IGUIEnvironmentAddMeshViewer(int rectangle, int parent, int id, char * text);
-
-int IGUIEnvironmentAddFileOpenDialog(char * title, int modal, int parent, int id);
-
-int IGUIEnvironmentAddColorSelectDialog(char * title, int modal, int parent, int id);
-
-int IGUIEnvironmentAddStaticText(char * text, int rectangle, int border, int wordWrap, int parent, int id, int fillBackground);
-
-int IGUIEnvironmentAddEditBox(char * text, int rectangle, int border, int parent, int id);
-
-int IGUIEnvironmentAddSpinBox(char * text, int rectangle, int border, int parent, int id);
-
-int IGUIEnvironmentAddInOutFader(int rectangle, int parent, int id);
-
-int IGUIEnvironmentAddTabControl(int rectangle, int parent, int fillbackground, int border, int id);
-
-int IGUIEnvironmentAddTab(int rectangle, int parent, int id);
-
-int IGUIEnvironmentAddContextMenu(int rectangle, int parent, int id);
-
-int IGUIEnvironmentAddMenu(int parent, int id);
-
-int IGUIEnvironmentAddToolBar(int parent, int id);
-
-int IGUIEnvironmentAddComboBox(int rectangle, int parent, int id);
-
-int IGUIEnvironmentAddTable(int rectangle, int parent, int id, int drawBackground);
-
-int IGUIEnvironmentGetDefaultGUIElementFactory();
-
-int IGUIEnvironmentRegisterGUIElementFactory(int factoryToAdd);
-
-int IGUIEnvironmentGetRegisteredGUIElementFactoryCount();
-
-int IGUIEnvironmentGetGUIElementFactory(int index);
-
-int IGUIEnvironmentAddGUIElement(char * elementName, int parent);
-
-int IGUIEnvironmentSaveGUI(int filename, int start);
-
-int IGUIEnvironmentSaveGUI(int file, int start);
-
-int IGUIEnvironmentLoadGUI(int filename, int parent);
-
-int IGUIEnvironmentLoadGUI(int file, int parent);
-
-int IGUIEnvironmentSerializeAttributes(int out, int options);
-
-int IGUIEnvironmentDeserializeAttributes(int in, int options);
-
-int IGUIEnvironmentWriteGUIElement(int writer, int node);
-
-int IGUIEnvironmentReadGUIElement(int reader, int node);
-
-int IEventReceiverIEventReceiver();
-
-int IEventReceiverOnEvent(int event);
-
-int IFileArchiveCreateAndOpenFile(int filename);
-
-int IFileArchiveCreateAndOpenFile(int index);
-
-int IFileArchiveGetFileList();
-
-int IFileArchiveGetType();
-
-int IArchiveLoaderIsALoadableFileFormat(int filename);
-
-int IArchiveLoaderIsALoadableFileFormat(int file);
-
-int IArchiveLoaderIsALoadableFileFormat(int fileType);
-
-int IArchiveLoaderCreateArchive(int filename, int ignoreCase, int ignorePaths);
-
-int IArchiveLoaderCreateArchive(int file, int ignoreCase, int ignorePaths);
-
-int ITimerITimer();
-
-int ITimerGetRealTime();
-
-int ITimerGetTime();
-
-int ITimerSetTime(int time);
-
-int ITimerStop();
-
-int ITimerStart();
-
-int ITimerSetSpeed(int speed);
-
-int ITimerGetSpeed();
-
-int ITimerIsStopped();
-
-int ITimerTick();
-
-int IMeshLoaderIMeshLoader();
-
-int IMeshLoaderIsALoadableFileExtension(int filename);
-
-int IMeshLoaderCreateMesh(int file);
-
-int IGUITreeViewNodeIGUITreeViewNode();
-
-int IGUITreeViewNodeIGUITreeViewNode();
-
-int IGUITreeViewNodeGetOwner();
-
-int IGUITreeViewNodeGetParent();
-
-int IGUITreeViewNodeGetText();
-
-int IGUITreeViewNodeSetText(char * text);
-
-int IGUITreeViewNodeGetIcon();
-
-int IGUITreeViewNodeSetIcon(char * icon);
-
-int IGUITreeViewNodeGetImageIndex();
-
-int IGUITreeViewNodeSetImageIndex(int imageIndex);
-
-int IGUITreeViewNodeGetSelectedImageIndex();
-
-int IGUITreeViewNodeSetSelectedImageIndex(int imageIndex);
-
-int IGUITreeViewNodeGetData();
-
-int IGUITreeViewNodeSetData(int data);
-
-int IGUITreeViewNodeGetData2();
-
-int IGUITreeViewNodeSetData2(int data);
-
-int IGUITreeViewNodeGetChildCount();
-
-int IGUITreeViewNodeClearChilds();
-
-int IGUITreeViewNodeHasChilds();
-
-int IGUITreeViewNodeAddChildBack(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
-
-int IGUITreeViewNodeAddChildFront(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
-
-int IGUITreeViewNodeInsertChildAfter(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
-
-int IGUITreeViewNodeInsertChildBefore(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
-
-int IGUITreeViewNodeGetFirstChild();
-
-int IGUITreeViewNodeGetLastChild();
-
-int IGUITreeViewNodeGetPrevSibling();
-
-int IGUITreeViewNodeGetNextSibling();
-
-int IGUITreeViewNodeGetNextVisible();
-
-int IGUITreeViewNodeDeleteChild(int child);
-
-int IGUITreeViewNodeMoveChildUp(int child);
-
-int IGUITreeViewNodeMoveChildDown(int child);
-
-int IGUITreeViewNodeGetExpanded();
-
-int IGUITreeViewNodeSetExpanded(int expanded);
-
-int IGUITreeViewNodeGetSelected();
-
-int IGUITreeViewNodeSetSelected(int selected);
-
-int IGUITreeViewNodeIsRoot();
-
-int IGUITreeViewNodeGetLevel();
-
-int IGUITreeViewNodeIsVisible();
-
-int IGUITreeViewIGUITreeView(int environment, int parent, int id, int EGUIET_TREE_VIEW, int arg5, int arg6, int arg7);
-
-int IGUITreeViewIGUITreeView();
-
-int IGUITreeViewGetRoot();
-
-int IGUITreeViewGetSelected();
-
-int IGUITreeViewGetLinesVisible();
-
-int IGUITreeViewSetLinesVisible(int visible);
-
-int IGUITreeViewSetIconFont(int font);
-
-int IGUITreeViewSetImageList(int imageList);
-
-int IGUITreeViewGetImageList();
-
-int IGUITreeViewSetImageLeftOfIcon(int bLeftOf);
-
-int IGUITreeViewGetImageLeftOfIcon();
-
-int IGUITreeViewGetLastEventNode();
-
-int SMaterialLayerSMaterialLayer(int ), int 0);
-
-int SMaterialLayerSMaterialLayer(int other);
-
-int SMaterialLayerSMaterialLayer();
-
-int SMaterialLayerDestruct();
-
-int SMaterialLayerDeallocate();
-
-int SMaterialLayer=(int other);
-
-int SMaterialLayerDestruct();
-
-int SMaterialLayerDeallocate();
-
-int SMaterialLayerAllocate();
-
-int SMaterialLayerConstruct(int arg1, int TextureMatrix);
-
-int SMaterialLayerGetTextureMatrix();
-
-int SMaterialLayerAllocate();
-
-int SMaterialLayerConstruct(int arg1, int IdentityMatrix);
-
-int SMaterialLayerGetTextureMatrix();
-
-int SMaterialLayerSetTextureMatrix(int mat);
-
-int SMaterialLayerAllocate();
-
-int SMaterialLayerConstruct(int arg1);
-
-int SMaterialLayer=(int b);
-
-int SMaterialLayer=(int TextureMatrix);
-
-int SMaterialLayer=(int b);
-
-int IVideoDriverBeginScene(int backBuffer, int zBuffer, int color, int arg4, int arg5, int windowId, int sourceRect);
-
-int IVideoDriverEndScene();
-
-int IVideoDriverQueryFeature(int feature);
-
-int IVideoDriverDisableFeature(int feature, int flag);
-
-int IVideoDriverCheckDriverReset();
-
-int IVideoDriverSetTransform(int state, int mat);
-
-int IVideoDriverGetTransform(int state);
-
-int IVideoDriverGetImageLoaderCount();
-
-int IVideoDriverGetImageLoader(int n);
-
-int IVideoDriverGetImageWriterCount();
-
-int IVideoDriverGetImageWriter(int n);
-
-int IVideoDriverSetMaterial(int material);
-
-int IVideoDriverGetTexture(int filename);
-
-int IVideoDriverGetTexture(int file);
-
-int IVideoDriverGetTextureByIndex(int index);
-
-int IVideoDriverGetTextureCount();
-
-int IVideoDriverRenameTexture(int texture, int newName);
-
-int IVideoDriverAddTexture(int size, int name, int format);
-
-int IVideoDriverAddTexture(int name, int image);
-
-int IVideoDriverAddRenderTargetTexture(int size, int name, int format);
-
-int IVideoDriverRemoveTexture(int texture);
-
-int IVideoDriverRemoveAllTextures();
-
-int IVideoDriverRemoveHardwareBuffer(int mb);
-
-int IVideoDriverRemoveAllHardwareBuffers();
-
-int IVideoDriverMakeColorKeyTexture(int texture, int color, int zeroTexels);
-
-int IVideoDriverMakeColorKeyTexture(int texture, int colorKeyPixelPos, int zeroTexels);
-
-int IVideoDriverMakeNormalMapTexture(int texture, int amplitude);
-
-int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color, int arg5, int arg6);
-
-int IVideoDriverSetRenderTarget(int target, int clearTarget, int clearZBuffer, int color, int arg5, int arg6);
-
-int IVideoDriverSetViewPort(int area);
-
-int IVideoDriverGetViewPort();
-
-int IVideoDriverDrawVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType);
-
-int IVideoDriverDraw2DVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType);
-
-int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
-
-int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
-
-int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
-
-int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
-
-int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
-
-int IVideoDriverDraw3DLine(int start, int end, int color, int arg4, int arg5);
-
-int IVideoDriverDraw3DTriangle(int triangle, int color, int arg3, int arg4);
-
-int IVideoDriverDraw3DBox(int box, int color, int arg3, int arg4);
-
-int IVideoDriverDraw2DImage(int texture, int destPos);
-
-int IVideoDriverDraw2DImage(int texture, int destPos, int sourceRect, int clipRect, int color, int arg6, int arg7, int useAlphaChannelOfTexture);
-
-int IVideoDriverDraw2DImageBatch(int texture, int pos, int sourceRects, int indices, int kerningWidth, int clipRect, int color, int arg8, int arg9, int useAlphaChannelOfTexture);
-
-int IVideoDriverDraw2DImageBatch(int texture, int positions, int sourceRects, int clipRect, int color, int arg6, int arg7, int useAlphaChannelOfTexture);
-
-int IVideoDriverDraw2DImage(int texture, int destRect, int sourceRect, int clipRect, int colors, int useAlphaChannelOfTexture);
-
-int IVideoDriverDraw2DRectangle(int color, int pos, int clip);
-
-int IVideoDriverDraw2DRectangle(int pos, int colorLeftUp, int colorRightUp, int colorLeftDown, int colorRightDown, int clip);
-
-int IVideoDriverDraw2DRectangleOutline(int pos, int color, int arg3, int arg4);
-
-int IVideoDriverDraw2DLine(int start, int end, int color, int arg4, int arg5);
-
-int IVideoDriverDrawPixel(int x, int y, int color);
-
-int IVideoDriverDraw2DPolygon(int center, int radius, int color, int arg4, int arg5, int vertexCount);
-
-int IVideoDriverDrawStencilShadowVolume(int triangles, int count, int zfail);
-
-int IVideoDriverDrawStencilShadow(int clearStencilBuffer, int leftUpEdge, int arg3, int arg4, int rightUpEdge, int arg7, int arg8, int leftDownEdge, int arg11, int arg12, int rightDownEdge, int arg15, int arg16);
-
-int IVideoDriverDrawMeshBuffer(int mb);
-
-int IVideoDriverSetFog(int color, int arg2, int arg3, int fogType, int start, int end, int density, int pixelFog, int rangeFog);
-
-int IVideoDriverGetColorFormat();
-
-int IVideoDriverGetScreenSize();
-
-int IVideoDriverGetCurrentRenderTargetSize();
-
-int IVideoDriverGetFPS();
-
-int IVideoDriverGetPrimitiveCountDrawn(int mode);
-
-int IVideoDriverDeleteAllDynamicLights();
-
-int IVideoDriverAddDynamicLight(int light);
-
-int IVideoDriverGetMaximalDynamicLightAmount();
-
-int IVideoDriverGetDynamicLightCount();
-
-int IVideoDriverGetDynamicLight(int idx);
-
-int IVideoDriverTurnLightOn(int lightIndex, int turnOn);
-
-int IVideoDriverGetName();
-
-int IVideoDriverAddExternalImageLoader(int loader);
-
-int IVideoDriverAddExternalImageWriter(int writer);
-
-int IVideoDriverGetMaximalPrimitiveCount();
-
-int IVideoDriverSetTextureCreationFlag(int flag, int enabled);
-
-int IVideoDriverGetTextureCreationFlag(int flag);
-
-int IVideoDriverCreateImageFromFile(int filename);
-
-int IVideoDriverCreateImageFromFile(int file);
-
-int IVideoDriverWriteImageToFile(int image, int filename, int param);
-
-int IVideoDriverWriteImageToFile(int image, int file, int param);
-
-int IVideoDriverCreateImageFromData(int format, int size, int data, int ownForeignMemory, int deleteMemory);
-
-int IVideoDriverCreateImage(int format, int size);
-
-int IVideoDriverCreateImage(int format, int imageToCopy);
-
-int IVideoDriverCreateImage(int imageToCopy, int pos, int size);
-
-int IVideoDriverCreateImage(int texture, int pos, int size);
-
-int IVideoDriverOnResize(int size);
-
-int IVideoDriverAddMaterialRenderer(int renderer, char * name);
-
-int IVideoDriverGetMaterialRenderer(int idx);
-
-int IVideoDriverGetMaterialRendererCount();
-
-int IVideoDriverGetMaterialRendererName(int idx);
-
-int IVideoDriverSetMaterialRendererName(int idx, char * name);
-
-int IVideoDriverCreateAttributesFromMaterial(int material);
-
-int IVideoDriverFillMaterialStructureFromAttributes(int outMaterial, int attributes);
-
-int IVideoDriverGetExposedVideoData();
-
-int IVideoDriverGetDriverType();
-
-int IVideoDriverGetGPUProgrammingServices();
-
-int IVideoDriverGetMeshManipulator();
-
-int IVideoDriverClearZBuffer();
-
-int IVideoDriverCreateScreenShot();
-
-int IVideoDriverFindTexture(int filename);
-
-int IVideoDriverSetClipPlane(int index, int plane, int enable);
-
-int IVideoDriverEnableClipPlane(int index, int enable);
-
-int IVideoDriverSetMinHardwareBufferVertexCount(int count);
-
-int IVideoDriverGetOverrideMaterial();
-
-int IVideoDriverGetVendorInfo();
-
-int IVideoDriverSetAmbientLight(int color);
-
-int IVideoDriverSetAllowZWriteOnTransparent(int flag);
-
-int ISkinnedMeshGetJointCount();
-
-int ISkinnedMeshGetJointName(int number);
-
-int ISkinnedMeshGetJointNumber(char * name);
-
-int ISkinnedMeshUseAnimationFrom(int mesh);
-
-int ISkinnedMeshUpdateNormalsWhenAnimating(int on);
-
-int ISkinnedMeshSetInterpolationMode(int mode);
-
-int ISkinnedMeshAnimateMesh(int frame, int blend);
-
-int ISkinnedMeshSkinMesh();
-
-int ISkinnedMeshConvertMeshToTangents();
-
-int ISkinnedMeshSetHardwareSkinning(int on);
-
-int IParticleAffectorIParticleAffector(int true);
-
-int IParticleAffectorAffect(int now, int particlearray, int count);
-
-int IParticleAffectorSetEnabled(int enabled);
-
-int IParticleAffectorGetEnabled();
-
-int IParticleAffectorGetType();
-
-int SMaterialSMaterial(int ), int 255, int arg3, int arg4, int 255, int arg7, int arg8, int 0, int arg11, int arg12, int 255, int arg15, int arg16, int false);
-
-int SMaterialSMaterial(int other);
-
-int SMaterial=(int other);
-
-int SMaterialGetTextureMatrix(int i);
-
-int SMaterialGetTextureMatrix(int i);
-
-int SMaterialSetTextureMatrix(int i, int mat);
-
-int SMaterialSetTextureMatrix();
-
-int SMaterialGetTexture(int i);
-
-int SMaterialSetTexture(int i, int tex);
-
-int SMaterialSetFlag(int flag, int value);
-
-int SMaterialSwitch();
-
-int SMaterial=();
-
-int SMaterialGetFlag(int flag);
-
-int SMaterialSwitch();
-
-int SMaterial=(int b);
-
-int SMaterial=(int i);
-
-int SMaterial=(int b);
-
-int SMaterialIsTransparent();
-
-int IMeshCacheIMeshCache();
-
-int IMeshCacheAddMesh(int filename, int mesh);
-
-int IMeshCacheRemoveMesh(int mesh);
-
-int IMeshCacheRemoveMesh(int mesh);
-
-int IMeshCacheGetMeshCount();
-
-int IMeshCacheGetMeshIndex(int mesh);
-
-int IMeshCacheGetMeshIndex(int mesh);
-
-int IMeshCacheGetMeshByIndex(int index);
-
-int IMeshCacheGetMeshByFilename(int filename);
-
-int IMeshCacheGetMeshFilename(int index);
-
-int IMeshCacheGetMeshFilename(int mesh);
-
-int IMeshCacheGetMeshFilename(int mesh);
-
-int IMeshCacheSetMeshFilename(int index, int filename);
-
-int IMeshCacheSetMeshFilename(int mesh, int filename);
-
-int IMeshCacheSetMeshFilename(int mesh, int filename);
-
-int IMeshCacheIsMeshLoaded(int filename);
-
-int IMeshCacheClear();
-
-int IMeshCacheClearUnusedMeshes();
-
-int IrrlichtDeviceRun();
-
-int IrrlichtDeviceYield();
-
-int IrrlichtDeviceSleep(int timeMs, int pauseTimer);
-
-int IrrlichtDeviceGetVideoDriver();
-
-int IrrlichtDeviceGetFileSystem();
-
-int IrrlichtDeviceGetGUIEnvironment();
-
-int IrrlichtDeviceGetSceneManager();
-
-int IrrlichtDeviceGetCursorControl();
-
-int IrrlichtDeviceGetLogger();
-
-int IrrlichtDeviceGetVideoModeList();
-
-int IrrlichtDeviceGetOSOperator();
-
-int IrrlichtDeviceGetTimer();
-
-int IrrlichtDeviceSetWindowCaption(char * text);
-
-int IrrlichtDeviceIsWindowActive();
-
-int IrrlichtDeviceIsWindowFocused();
-
-int IrrlichtDeviceIsWindowMinimized();
-
-int IrrlichtDeviceIsFullscreen();
-
-int IrrlichtDeviceGetColorFormat();
-
-int IrrlichtDeviceCloseDevice();
-
-int IrrlichtDeviceGetVersion();
-
-int IrrlichtDeviceSetEventReceiver(int receiver);
-
-int IrrlichtDeviceGetEventReceiver();
-
-int IrrlichtDevicePostEventFromUser(int event);
-
-int IrrlichtDeviceSetInputReceivingSceneManager(int sceneManager);
-
-int IrrlichtDeviceSetResizable(int resize);
-
-int IrrlichtDeviceMinimizeWindow();
-
-int IrrlichtDeviceMaximizeWindow();
-
-int IrrlichtDeviceRestoreWindow();
-
-int IrrlichtDeviceActivateJoysticks(int joystickInfo);
-
-int IrrlichtDeviceSetGammaRamp(int red, int green, int blue, int relativebrightness, int relativecontrast);
-
-int IrrlichtDeviceGetGammaRamp(int red, int green, int blue, int brightness, int contrast);
-
-int IrrlichtDeviceGetType();
-
-int IrrlichtDeviceIsDriverSupported(int driver);
-
-int IrrlichtDeviceSwitch();
-
-int IVolumeLightSceneNodeIVolumeLightSceneNode(int parent, int mgr, int id, int position, int rotation, int parent, int arg7, int arg8, int arg9, int arg10);
-
-int IVolumeLightSceneNodeGetType();
-
-int IVolumeLightSceneNodeSetSubDivideU(int inU);
-
-int IVolumeLightSceneNodeSetSubDivideV(int inV);
-
-int IVolumeLightSceneNodeGetSubDivideU();
-
-int IVolumeLightSceneNodeGetSubDivideV();
-
-int IVolumeLightSceneNodeSetFootColor(int inColour);
-
-int IVolumeLightSceneNodeSetTailColor(int inColour);
-
-int IVolumeLightSceneNodeGetFootColor();
-
-int IVolumeLightSceneNodeGetTailColor();
-
-int IGUIEditBoxIGUIEditBox(int environment, int parent, int id, int EGUIET_EDIT_BOX, int arg5, int arg6, int arg7);
-
-int IGUIEditBoxSetOverrideFont(int font);
-
-int IGUIEditBoxSetOverrideColor(int color);
-
-int IGUIEditBoxEnableOverrideColor(int enable);
-
-int IGUIEditBoxSetDrawBorder(int border);
-
-int IGUIEditBoxSetTextAlignment(int horizontal, int vertical);
-
-int IGUIEditBoxSetWordWrap(int enable);
-
-int IGUIEditBoxIsWordWrapEnabled();
-
-int IGUIEditBoxSetMultiLine(int enable);
-
-int IGUIEditBoxIsMultiLineEnabled();
-
-int IGUIEditBoxSetAutoScroll(int enable);
-
-int IGUIEditBoxIsAutoScrollEnabled();
-
-int IGUIEditBoxSetPasswordBox(int passwordBox, char * passwordChar);
-
-int IGUIEditBoxIsPasswordBox();
-
-int IGUIEditBoxGetTextDimension();
-
-int IGUIEditBoxSetMax(int max);
-
-int IGUIEditBoxGetMax();
-
-int ITriangleSelectorITriangleSelector();
-
-int ITriangleSelectorGetTriangleCount();
-
-int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int transform);
-
-int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int box, int transform);
-
-int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int line, int transform);
-
-int ITriangleSelectorGetSceneNodeForTriangle(int triangleIndex);
-
-int IGUISkinGetColor(int color);
-
-int IGUISkinSetColor(int which, int newColor);
-
-int IGUISkinGetSize(int size);
-
-int IGUISkinGetDefaultText(int text);
-
-int IGUISkinSetDefaultText(int which, char * newText);
-
-int IGUISkinSetSize(int which, int size);
-
-int IGUISkinGetFont(int which);
-
-int IGUISkinSetFont(int font, int which);
-
-int IGUISkinGetSpriteBank();
-
-int IGUISkinSetSpriteBank(int bank);
-
-int IGUISkinGetIcon(int icon);
-
-int IGUISkinSetIcon(int icon, int index);
-
-int IGUISkinDraw3DButtonPaneStandard(int element, int rect, int clip);
-
-int IGUISkinDraw3DButtonPanePressed(int element, int rect, int clip);
-
-int IGUISkinDraw3DSunkenPane(int element, int bgcolor, int flat, int fillBackGround, int rect, int clip);
-
-int IGUISkinDraw3DWindowBackground(int element, int drawTitleBar, int titleBarColor, int rect, int clip);
-
-int IGUISkinDraw3DMenuPane(int element, int rect, int clip);
-
-int IGUISkinDraw3DToolBar(int element, int rect, int clip);
-
-int IGUISkinDraw3DTabButton(int element, int active, int rect, int clip, int alignment);
-
-int IGUISkinDraw3DTabBody(int element, int border, int background, int rect, int clip, int tabHeight, int alignment);
-
-int IGUISkinDrawIcon(int element, int icon, int position, int starttime, int currenttime, int loop, int clip);
-
-int IGUISkinDraw2DRectangle(int element, int color, int pos, int clip);
-
-int IGUISkinGetType();
-
-int IDummyTransformationSceneNodeIDummyTransformationSceneNode(int parent, int mgr, int parent, int arg4);
-
-int IDummyTransformationSceneNodeGetRelativeTransformationMatrix();
-
-int IFileSystemCreateAndOpenFile(int filename);
-
-int IFileSystemCreateMemoryReadFile(int memory, int len, int fileName, int deleteMemoryWhenDropped);
-
-int IFileSystemCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize);
-
-int IFileSystemCreateMemoryWriteFile(int memory, int len, int fileName, int deleteMemoryWhenDropped);
-
-int IFileSystemCreateAndWriteFile(int filename, int append);
-
-int IFileSystemAddFileArchive(int filename, int ignoreCase, int ignorePaths, int archiveType);
-
-int IFileSystemAddArchiveLoader(int loader);
-
-int IFileSystemGetFileArchiveCount();
-
-int IFileSystemRemoveFileArchive(int index);
-
-int IFileSystemRemoveFileArchive(int filename);
-
-int IFileSystemMoveFileArchive(int sourceIndex, int relative);
-
-int IFileSystemGetFileArchive(int index);
-
-int IFileSystemAddZipFileArchive(char * filename, int ignoreCase, int ignorePaths);
-
-int IFileSystemAddFolderFileArchive(char * filename, int ignoreCase, int ignorePaths);
-
-int IFileSystemAddPakFileArchive(char * filename, int ignoreCase, int ignorePaths);
-
-int IFileSystemGetWorkingDirectory();
-
-int IFileSystemChangeWorkingDirectoryTo(int newDirectory);
-
-int IFileSystemGetAbsolutePath(int filename);
-
-int IFileSystemGetFileDir(int filename);
-
-int IFileSystemGetFileBasename(int filename, int keepExtension);
-
-int IFileSystemFlattenFilename(int directory, int root);
-
-int IFileSystemCreateFileList();
-
-int IFileSystemSetFileListSystem(int listType);
-
-int IFileSystemExistFile(int filename);
-
-int IFileSystemCreateXMLReader(int filename);
-
-int IFileSystemCreateXMLReader(int file);
-
-int IFileSystemCreateXMLReaderUTF8(int filename);
-
-int IFileSystemCreateXMLReaderUTF8(int file);
-
-int IFileSystemCreateXMLWriter(int filename);
-
-int IFileSystemCreateXMLWriter(int file);
-
-int IFileSystemCreateEmptyAttributes(int driver);
-
-int IDynamicMeshBufferGetVertexBuffer();
-
-int IDynamicMeshBufferGetIndexBuffer();
-
-int IDynamicMeshBufferSetVertexBuffer(int vertexBuffer);
-
-int IDynamicMeshBufferSetIndexBuffer(int indexBuffer);
-
-int IDynamicMeshBufferGetMaterial();
-
-int IDynamicMeshBufferGetMaterial();
-
-int IDynamicMeshBufferGetBoundingBox();
-
-int IDynamicMeshBufferSetBoundingBox(int box);
-
-int IDynamicMeshBufferRecalculateBoundingBox();
-
-int IDynamicMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices);
-
-int IDynamicMeshBufferAppend(int other);
-
-int IDynamicMeshBufferGetHardwareMappingHint_Vertex();
-
-int IDynamicMeshBufferGetHardwareMappingHint_Index();
-
-int IDynamicMeshBufferSetHardwareMappingHint(int NewMappingHint, int Buffer);
-
-int IDynamicMeshBufferSetDirty(int Buffer);
-
-int IDynamicMeshBufferGetChangedID_Vertex();
-
-int IDynamicMeshBufferGetChangedID_Index();
-
-int IDynamicMeshBufferGetVertexType();
-
-int IDynamicMeshBufferGetVertices();
-
-int IDynamicMeshBufferGetVertices();
-
-int IDynamicMeshBufferGetVertexCount();
-
-int IDynamicMeshBufferGetIndexType();
-
-int IDynamicMeshBufferGetIndices();
-
-int IDynamicMeshBufferGetIndices();
-
-int IDynamicMeshBufferGetIndexCount();
-
-int IDynamicMeshBufferGetPosition(int i);
-
-int IDynamicMeshBufferGetPosition(int i);
-
-int IDynamicMeshBufferGetTCoords(int i);
-
-int IDynamicMeshBufferGetTCoords(int i);
-
-int IDynamicMeshBufferGetNormal(int i);
-
-int IDynamicMeshBufferGetNormal(int i);
-
-int IMeshBufferGetMaterial();
-
-int IMeshBufferGetMaterial();
-
-int IMeshBufferGetVertexType();
-
-int IMeshBufferGetVertices();
-
-int IMeshBufferGetVertices();
-
-int IMeshBufferGetVertexCount();
-
-int IMeshBufferGetIndexType();
-
-int IMeshBufferGetIndices();
-
-int IMeshBufferGetIndices();
-
-int IMeshBufferGetIndexCount();
-
-int IMeshBufferGetBoundingBox();
-
-int IMeshBufferSetBoundingBox(int box);
-
-int IMeshBufferRecalculateBoundingBox();
-
-int IMeshBufferGetPosition(int i);
-
-int IMeshBufferGetPosition(int i);
-
-int IMeshBufferGetNormal(int i);
-
-int IMeshBufferGetNormal(int i);
-
-int IMeshBufferGetTCoords(int i);
-
-int IMeshBufferGetTCoords(int i);
-
-int IMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices);
-
-int IMeshBufferAppend(int other);
-
-int IMeshBufferGetHardwareMappingHint_Vertex();
-
-int IMeshBufferGetHardwareMappingHint_Index();
-
-int IMeshBufferSetHardwareMappingHint(int newMappingHint, int buffer);
-
-int IMeshBufferSetDirty(int buffer);
-
-int IMeshBufferGetChangedID_Vertex();
-
-int IMeshBufferGetChangedID_Index();
-
-int IVideoModeListGetVideoModeCount();
-
-int IVideoModeListGetVideoModeResolution(int modeNumber);
-
-int IVideoModeListGetVideoModeResolution(int minSize, int maxSize);
-
-int IVideoModeListGetVideoModeDepth(int modeNumber);
-
-int IVideoModeListGetDesktopResolution();
-
-int IVideoModeListGetDesktopDepth();
-
-int IMaterialRendererOnSetMaterial(int material, int lastMaterial, int resetAllRenderstates, int services);
-
-int IMaterialRendererOnRender(int service, int vtxtype);
-
-int IMaterialRendererOnUnsetMaterial();
-
-int IMaterialRendererIsTransparent();
-
-int IMaterialRendererGetRenderCapability();
-
-int ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory();
-
-int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(int type, int target);
-
-int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(char * typeName, int target);
-
-int ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount();
-
-int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(int idx);
-
-int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int idx);
-
-int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int type);
-
-int IMeshSceneNodeIMeshSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int arg11, int parent, int arg13, int arg14, int arg15, int arg16);
-
-int IMeshSceneNodeSetMesh(int mesh);
-
-int IMeshSceneNodeGetMesh();
-
-int IMeshSceneNodeSetReadOnlyMaterials(int readonly);
-
-int IMeshSceneNodeIsReadOnlyMaterials();
-
-int ISceneNodeAnimatorCameraMayaGetMoveSpeed();
-
-int ISceneNodeAnimatorCameraMayaSetMoveSpeed(int moveSpeed);
-
-int ISceneNodeAnimatorCameraMayaGetRotateSpeed();
-
-int ISceneNodeAnimatorCameraMayaSetRotateSpeed(int rotateSpeed);
-
-int ISceneNodeAnimatorCameraMayaGetZoomSpeed();
-
-int ISceneNodeAnimatorCameraMayaSetZoomSpeed(int zoomSpeed);
-
-int ILoggerILogger();
-
-int ILoggerGetLogLevel();
-
-int ILoggerSetLogLevel(int ll);
-
-int ILoggerLog(char * text, int ll);
-
-int ILoggerLog(char * text, char * hint, int ll);
-
-int ILoggerLog(char * text, char * hint, int ll);
-
-int ILoggerLog(char * text, char * hint, int ll);
-
-int ILoggerLog(char * text, int ll);
-
-int IAnimatedMeshMD3SetInterpolationShift(int shift, int loopMode);
-
-int IAnimatedMeshMD3GetTagList(int frame, int detailLevel, int startFrameLoop, int endFrameLoop);
-
-int IAnimatedMeshMD3GetOriginalMesh();
-
-int IReferenceCountedIReferenceCounted(int ), int 1);
-
-int IReferenceCountedIReferenceCounted();
-
-int IReferenceCountedGrab();
-
-int IReferenceCountedDrop();
-
-int IReferenceCounted_IRR_DEBUG_BREAK_IF(int <);
-
-int IReferenceCountedGetReferenceCount();
-
-int IReferenceCountedGetDebugName();
-
-int IParticleMeshEmitterSetMesh(int mesh);
-
-int IParticleMeshEmitterSetUseNormalDirection(int useNormalDirection);
-
-int IParticleMeshEmitterSetNormalDirectionModifier(int normalDirectionModifier);
-
-int IParticleMeshEmitterSetEveryMeshVertex(int everyMeshVertex);
-
-int IParticleMeshEmitterGetMesh();
-
-int IParticleMeshEmitterIsUsingNormalDirection();
-
-int IParticleMeshEmitterGetNormalDirectionModifier();
-
-int IParticleMeshEmitterGetEveryMeshVertex();
-
-int IParticleMeshEmitterGetType();
-
-int ICollisionCallbackOnCollision(int animator);
-
-int ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse();
-
-int ISceneNodeAnimatorCollisionResponseIsFalling();
-
-int ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(int radius);
-
-int ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius();
-
-int ISceneNodeAnimatorCollisionResponseSetGravity(int gravity);
-
-int ISceneNodeAnimatorCollisionResponseGetGravity();
-
-int ISceneNodeAnimatorCollisionResponseJump(int jumpSpeed);
-
-int ISceneNodeAnimatorCollisionResponseSetAnimateTarget(int enable);
-
-int ISceneNodeAnimatorCollisionResponseGetAnimateTarget();
-
-int ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(int translation);
-
-int ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation();
-
-int ISceneNodeAnimatorCollisionResponseSetWorld(int newWorld);
-
-int ISceneNodeAnimatorCollisionResponseGetWorld();
-
-int ISceneNodeAnimatorCollisionResponseSetTargetNode(int node);
-
-int ISceneNodeAnimatorCollisionResponseGetTargetNode();
-
-int ISceneNodeAnimatorCollisionResponseCollisionOccurred();
-
-int ISceneNodeAnimatorCollisionResponseGetCollisionPoint();
-
-int ISceneNodeAnimatorCollisionResponseGetCollisionTriangle();
-
-int ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition();
-
-int ISceneNodeAnimatorCollisionResponseGetCollisionNode();
-
-int ISceneNodeAnimatorCollisionResponseSetCollisionCallback(int callback);
-
-int CDynamicMeshBufferCDynamicMeshBuffer(int vertexType, int indexType);
-
-int CDynamicMeshBufferCVertexBuffer();
-
-int CDynamicMeshBufferCIndexBuffer();
-
-int CDynamicMeshBufferCDynamicMeshBuffer();
-
-int CDynamicMeshBufferGetVertexBuffer();
-
-int CDynamicMeshBufferGetIndexBuffer();
-
-int CDynamicMeshBufferSetVertexBuffer(int newVertexBuffer);
-
-int CDynamicMeshBufferSetIndexBuffer(int newIndexBuffer);
-
-int CDynamicMeshBufferGetMaterial();
-
-int CDynamicMeshBufferGetMaterial();
-
-int CDynamicMeshBufferGetBoundingBox();
-
-int CDynamicMeshBufferSetBoundingBox(int box);
-
-int CDynamicMeshBufferRecalculateBoundingBox();
-
-int CDynamicMeshBufferReset(int Pos);
-
-int CDynamicMeshBuffer<getVertexBuffer(int ();
-
-int CDynamicMeshBufferAddInternalPoint(int Pos);
-
-int IGUIFontBitmapGetType();
-
-int IGUIFontBitmapGetSpriteBank();
-
-int IGUIFontBitmapGetSpriteNoFromChar(char * c);
-
-int IGUIFontBitmapGetKerningWidth(char * thisLetter, char * previousLetter);
-
-int IGUIInOutFaderIGUIInOutFader(int environment, int parent, int id, int EGUIET_IN_OUT_FADER, int arg5, int arg6, int arg7);
-
-int IGUIInOutFaderGetColor();
-
-int IGUIInOutFaderSetColor(int color);
-
-int IGUIInOutFaderSetColor(int source, int dest);
-
-int IGUIInOutFaderFadeIn(int time);
-
-int IGUIInOutFaderFadeOut(int time);
-
-int IGUIInOutFaderIsReady();
-
-int IGUISpinBoxIGUISpinBox(int environment, int parent, int id, int EGUIET_SPIN_BOX, int arg5, int arg6, int arg7);
-
-int IGUISpinBoxGetEditBox();
-
-int IGUISpinBoxSetValue(int val);
-
-int IGUISpinBoxGetValue();
-
-int IGUISpinBoxSetRange(int min, int max);
-
-int IGUISpinBoxGetMin();
-
-int IGUISpinBoxGetMax();
-
-int IGUISpinBoxSetStepSize(int step);
-
-int IGUISpinBoxSetDecimalPlaces(int places);
-
-int IGUISpinBoxGetStepSize();
-
-int ICameraSceneNodeICameraSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16, int false);
-
-int ICameraSceneNodeSetProjectionMatrix(int projection, int isOrthogonal);
-
-int ICameraSceneNodeGetProjectionMatrix();
-
-int ICameraSceneNodeGetViewMatrix();
-
-int ICameraSceneNodeSetViewMatrixAffector(int affector);
-
-int ICameraSceneNodeGetViewMatrixAffector();
-
-int ICameraSceneNodeOnEvent(int event);
-
-int ICameraSceneNodeSetTarget(int pos);
-
-int ICameraSceneNodeSetRotation(int rotation);
-
-int ICameraSceneNodeGetTarget();
-
-int ICameraSceneNodeSetUpVector(int pos);
-
-int ICameraSceneNodeGetUpVector();
-
-int ICameraSceneNodeGetNearValue();
-
-int ICameraSceneNodeGetFarValue();
-
-int ICameraSceneNodeGetAspectRatio();
-
-int ICameraSceneNodeGetFOV();
-
-int ICameraSceneNodeSetNearValue(int zn);
-
-int ICameraSceneNodeSetFarValue(int zf);
-
-int ICameraSceneNodeSetAspectRatio(int aspect);
-
-int ICameraSceneNodeSetFOV(int fovy);
-
-int ICameraSceneNodeGetViewFrustum();
-
-int ICameraSceneNodeSetInputReceiverEnabled(int enabled);
-
-int ICameraSceneNodeIsInputReceiverEnabled();
-
-int ICameraSceneNodeIsOrthogonal();
-
-int ICameraSceneNodeBindTargetAndRotation(int bound);
-
-int ICameraSceneNodeGetTargetAndRotationBinding();
-
-int IParticleRingEmitterSetCenter(int center);
-
-int IParticleRingEmitterSetRadius(int radius);
-
-int IParticleRingEmitterSetRingThickness(int ringThickness);
-
-int IParticleRingEmitterGetCenter();
-
-int IParticleRingEmitterGetRadius();
-
-int IParticleRingEmitterGetRingThickness();
-
-int IParticleRingEmitterGetType();
-
-int IParticleSphereEmitterSetCenter(int center);
-
-int IParticleSphereEmitterSetRadius(int radius);
-
-int IParticleSphereEmitterGetCenter();
-
-int IParticleSphereEmitterGetRadius();
-
-int IParticleSphereEmitterGetType();
-
-int ISceneManagerISceneManager();
-
-int ISceneManagerGetMesh(int filename);
-
-int ISceneManagerGetMesh(int file);
-
-int ISceneManagerGetMeshCache();
-
-int ISceneManagerGetVideoDriver();
-
-int ISceneManagerGetGUIEnvironment();
-
-int ISceneManagerGetFileSystem();
-
-int ISceneManagerAddVolumeLightSceneNode(int parent, int id, int subdivU, int subdivV, int foot, int arg6, int arg7, int tail, int arg10, int arg11, int position, int arg14, int rotation, int arg17, int scale, int 0f);
-
-int ISceneManagerAddCubeSceneNode(int size, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f);
-
-int ISceneManagerAddSphereSceneNode(int radius, int polyCount, int parent, int id, int position, int arg6, int rotation, int arg9, int scale, int 0f);
-
-int ISceneManagerAddAnimatedMeshSceneNode(int mesh, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int alsoAddIfMeshPointerZero);
-
-int ISceneManagerAddMeshSceneNode(int mesh, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int alsoAddIfMeshPointerZero);
-
-int ISceneManagerAddWaterSurfaceSceneNode(int mesh, int waveHeight, int waveSpeed, int waveLength, int parent, int id, int position, int arg8, int rotation, int arg11, int scale, int 0f);
-
-int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
-
-int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
-
-int ISceneManagerAddCameraSceneNode(int parent, int position, int arg3, int lookat, int arg6, int id);
-
-int ISceneManagerAddCameraSceneNodeMaya(int parent, int rotateSpeed, int zoomSpeed, int translationSpeed, int id);
-
-int ISceneManagerAddCameraSceneNodeFPS(int parent, int rotateSpeed, int moveSpeed, int id, int keyMapArray, int keyMapSize, int noVerticalMovement, int jumpSpeed, int invertMouse);
-
-int ISceneManagerAddLightSceneNode(int parent, int position, int arg3, int color, int 0f, int radius, int id);
-
-int ISceneManagerAddBillboardSceneNode(int parent, int size, int position, int arg5, int id, int colorTop, int colorBottom);
-
-int ISceneManagerAddSkyBoxSceneNode(int top, int bottom, int left, int right, int front, int back, int parent, int id);
-
-int ISceneManagerAddSkyDomeSceneNode(int texture, int horiRes, int vertRes, int texturePercentage, int spherePercentage, int radius, int parent, int id);
-
-int ISceneManagerAddParticleSystemSceneNode(int withDefaultEmitter, int parent, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f);
-
-int ISceneManagerAddTerrainSceneNode(int heightMapFileName, int parent, int id, int position, int 0f, int rotation, int 0f, int scale, int 0f, int vertexColor, int arg14, int arg15, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty);
-
-int ISceneManagerAddTerrainSceneNode(int heightMapFile, int parent, int id, int position, int 0f, int rotation, int 0f, int scale, int 0f, int vertexColor, int arg14, int arg15, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty);
-
-int ISceneManagerAddQuake3SceneNode(int meshBuffer, int shader, int parent, int id);
-
-int ISceneManagerAddEmptySceneNode(int parent, int id);
-
-int ISceneManagerAddDummyTransformationSceneNode(int parent, int id);
-
-int ISceneManagerAddTextSceneNode(int font, char * text, int color, int arg4, int arg5, int parent, int position, int arg9, int id);
-
-int ISceneManagerAddBillboardTextSceneNode(int font, char * text, int parent, int size, int position, int arg7, int id, int colorTop, int colorBottom);
-
-int ISceneManagerAddHillPlaneMesh(int name, int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount);
-
-int ISceneManagerAddTerrainMesh(int meshname, int texture, int heightmap, int stretchSize, int maxHeight, int defaultVertexBlockSize);
-
-int ISceneManagerAddArrowMesh(int name, int vtxColor0, int vtxColor1, int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int width0, int width1);
-
-int ISceneManagerAddSphereMesh(int name, int radius, int polyCountX, int polyCountY);
-
-int ISceneManagerAddVolumeLightMesh(int name, int SubdivideU, int SubdivideV, int FootColor, int arg5, int arg6, int TailColor, int arg9, int arg10);
-
-int ISceneManagerGetRootSceneNode();
-
-int ISceneManagerGetSceneNodeFromId(int id, int start);
-
-int ISceneManagerGetSceneNodeFromName(char * name, int start);
-
-int ISceneManagerGetSceneNodeFromType(int type, int start);
-
-int ISceneManagerGetSceneNodesFromType(int type, int outNodes, int start);
-
-int ISceneManagerGetActiveCamera();
-
-int ISceneManagerSetActiveCamera(int camera);
-
-int ISceneManagerSetShadowColor(int color, int arg2, int arg3);
-
-int ISceneManagerGetShadowColor();
-
-int ISceneManagerRegisterNodeForRendering(int node, int pass);
-
-int ISceneManagerDrawAll();
-
-int ISceneManagerCreateRotationAnimator(int rotationSpeed);
-
-int ISceneManagerCreateFlyCircleAnimator(int center, int f, int radius, int speed, int direction, int f, int startPosition, int radiusEllipsoid);
-
-int ISceneManagerCreateFlyStraightAnimator(int startPoint, int endPoint, int timeForWay, int loop, int pingpong);
-
-int ISceneManagerCreateTextureAnimator(int textures, int timePerFrame, int loop);
-
-int ISceneManagerCreateDeleteAnimator(int timeMs);
-
-int ISceneManagerCreateCollisionResponseAnimator(int world, int sceneNode, int ellipsoidRadius, int arg4, int gravityPerSecond, int 0f, int ellipsoidTranslation, int arg10, int slidingValue);
-
-int ISceneManagerCreateFollowSplineAnimator(int startTime, int points, int speed, int tightness);
-
-int ISceneManagerCreateTriangleSelector(int mesh, int node);
-
-int ISceneManagerCreateTriangleSelector(int node);
-
-int ISceneManagerCreateTriangleSelectorFromBoundingBox(int node);
-
-int ISceneManagerCreateOctTreeTriangleSelector(int mesh, int node, int minimalPolysPerNode);
-
-int ISceneManagerCreateMetaTriangleSelector();
-
-int ISceneManagerCreateTerrainTriangleSelector(int node, int LOD);
-
-int ISceneManagerAddExternalMeshLoader(int externalLoader);
-
-int ISceneManagerGetSceneCollisionManager();
-
-int ISceneManagerGetMeshManipulator();
-
-int ISceneManagerAddToDeletionQueue(int node);
-
-int ISceneManagerPostEventFromUser(int event);
-
-int ISceneManagerClear();
-
-int ISceneManagerGetParameters();
-
-int ISceneManagerGetSceneNodeRenderPass();
-
-int ISceneManagerGetDefaultSceneNodeFactory();
-
-int ISceneManagerRegisterSceneNodeFactory(int factoryToAdd);
-
-int ISceneManagerGetRegisteredSceneNodeFactoryCount();
-
-int ISceneManagerGetSceneNodeFactory(int index);
-
-int ISceneManagerGetDefaultSceneNodeAnimatorFactory();
-
-int ISceneManagerRegisterSceneNodeAnimatorFactory(int factoryToAdd);
-
-int ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount();
-
-int ISceneManagerGetSceneNodeAnimatorFactory(int index);
-
-int ISceneManagerGetSceneNodeTypeName(int type);
-
-int ISceneManagerGetAnimatorTypeName(int type);
-
-int ISceneManagerAddSceneNode(int sceneNodeTypeName, int parent);
-
-int ISceneManagerCreateNewSceneManager(int cloneContent);
-
-int ISceneManagerSaveScene(int filename, int userDataSerializer);
-
-int ISceneManagerSaveScene(int file, int userDataSerializer);
-
-int ISceneManagerLoadScene(int filename, int userDataSerializer);
-
-int ISceneManagerLoadScene(int file, int userDataSerializer);
-
-int ISceneManagerCreateMeshWriter(int type);
-
-int ISceneManagerCreateSkinnedMesh();
-
-int ISceneManagerSetAmbientLight(int ambientColor);
-
-int ISceneManagerGetAmbientLight();
-
-int ISceneManagerSetLightManager(int lightManager);
-
-int ISceneManagerGetGeometryCreator();
-
-int ISceneManagerIsCulled(int node);
-
-int ISceneNodeISceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int false);
-
-int ISceneNodeUpdateAbsolutePosition();
-
-int ISceneNodeISceneNode();
-
-int ISceneNodeRemoveAll();
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNode)(int ();
-
-int ISceneNodeOnRegisterSceneNode();
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNode)(int ();
-
-int ISceneNodeOnAnimate(int timeMs);
-
-int ISceneNodeBegin();
-
-int ISceneNodeWhile(int ait);
-
-int ISceneNodeAnimateNode(int arg1);
-
-int ISceneNodeUpdateAbsolutePosition();
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNode)(int timeMs);
-
-int ISceneNodeRender();
-
-int ISceneNodeGetName();
-
-int ISceneNodeSetName(char * name);
-
-int ISceneNodeSetName(int name);
-
-int ISceneNodeGetBoundingBox();
-
-int ISceneNodeGetTransformedBoundingBox();
-
-int ISceneNodeGetBoundingBox();
-
-int ISceneNodeTransformBoxEx();
-
-int ISceneNodeGetAbsoluteTransformation();
-
-int ISceneNodeGetRelativeTransformation();
-
-int ISceneNodeSetRotationDegrees();
-
-int ISceneNodeSetTranslation();
-
-int ISceneNodeSetScale();
-
-int ISceneNodeIsVisible();
-
-int ISceneNodeIsTrulyVisible();
-
-int ISceneNodeSetVisible(int isVisible);
-
-int ISceneNodeGetID();
-
-int ISceneNodeSetID(int id);
-
-int ISceneNodeAddChild(int child);
-
-int ISceneNodeGrab();
-
-int ISceneNodeRemove();
-
-int ISceneNodePush_back();
-
-int ISceneNodeRemoveChild(int child);
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNodeErase();
-
-int ISceneNodeRemoveAll();
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNodeClear();
-
-int ISceneNodeRemove();
-
-int ISceneNodeAddAnimator(int animator);
-
-int ISceneNodePush_back();
-
-int ISceneNodeGrab();
-
-int ISceneNodeGetAnimators();
-
-int ISceneNodeRemoveAnimator(int animator);
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNodeErase();
-
-int ISceneNodeRemoveAnimators();
-
-int ISceneNodeBegin();
-
-int ISceneNodeEnd();
-
-int ISceneNode)(int ();
-
-int ISceneNodeClear();
-
-int ISceneNodeGetMaterial(int num);
-
-int ISceneNodeGetMaterialCount();
-
-int ISceneNodeSetMaterialFlag(int flag, int newvalue);
-
-int ISceneNode<getMaterialCount();
-
-int ISceneNodeGetMaterial(int flag);
-
-int ISceneNodeSetMaterialTexture(int textureLayer, int texture);
-
-int ISceneNode<getMaterialCount();
-
-int ISceneNodeGetMaterial(int textureLayer);
-
-int ISceneNodeSetMaterialType(int newType);
-
-int ISceneNode<getMaterialCount();
-
-int ISceneNodeGetMaterial();
-
-int ISceneNodeGetScale();
-
-int ISceneNodeSetScale(int scale);
-
-int ISceneNodeGetRotation();
-
-int ISceneNodeSetRotation(int rotation);
-
-int ISceneNodeGetPosition();
-
-int ISceneNodeSetPosition(int newpos);
-
-int ISceneNodeGetAbsolutePosition();
-
-int ISceneNodeSetAutomaticCulling(int state);
-
-int ISceneNodeGetAutomaticCulling();
-
-int ISceneNodeSetDebugDataVisible(int state);
-
-int ISceneNodeIsDebugDataVisible();
-
-int ISceneNodeSetIsDebugObject(int debugObject);
-
-int ISceneNodeIsDebugObject();
-
-int ISceneNodeGetChildren();
-
-int ISceneNodeSetParent(int newParent);
-
-int ISceneNodeGrab();
-
-int ISceneNodeRemove();
-
-int ISceneNodeDrop();
-
-int ISceneNodeGetTriangleSelector();
-
-int ISceneNodeSetTriangleSelector(int selector);
-
-int ISceneNodeUpdateAbsolutePosition();
-
-int ISceneNodeGetAbsoluteTransformation(int ();
-
-int ISceneNodeGetRelativeTransformation();
-
-int ISceneNodeGetParent();
-
-int ISceneNodeGetType();
-
-int ISceneNodeSerializeAttributes(int out, int options);
-
-int ISceneNodeAddString(int arg1);
-
-int ISceneNodeAddInt(int arg1);
-
-int ISceneNodeAddVector3d(int arg1);
-
-int ISceneNodeAddVector3d(int arg1);
-
-int ISceneNodeAddVector3d(int arg1);
-
-int ISceneNodeAddBool(int arg1);
-
-int ISceneNodeAddEnum(int arg1, int arg2);
-
-int ISceneNodeAddInt(int arg1);
-
-int ISceneNodeAddBool(int arg1);
-
-int ISceneNodeDeserializeAttributes(int in, int options);
-
-int ISceneNodeGetAttributeAsString();
-
-int ISceneNodeGetAttributeAsInt();
-
-int ISceneNodeSetPosition(int ));
-
-int ISceneNodeSetRotation(int ));
-
-int ISceneNodeSetScale(int ));
-
-int ISceneNodeGetAttributeAsBool();
-
-int ISceneNode=(int "AutomaticCulling", int AutomaticCullingNames);
-
-int ISceneNodeGetAttributeAsInt();
-
-int ISceneNodeGetAttributeAsBool();
-
-int ISceneNodeUpdateAbsolutePosition();
-
-int ISceneNodeClone(int newParent, int newManager);
-
-int ISceneNodeGetSceneManager();
-
-int ITextSceneNodeITextSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8);
-
-int ITextSceneNodeSetText(char * text);
-
-int ITextSceneNodeSetTextColor(int color);
-
-int IGUIStaticTextIGUIStaticText(int environment, int parent, int id, int EGUIET_STATIC_TEXT, int arg5, int arg6, int arg7);
-
-int IGUIStaticTextSetOverrideFont(int font);
-
-int IGUIStaticTextGetOverrideFont();
-
-int IGUIStaticTextSetOverrideColor(int color);
-
-int IGUIStaticTextGetOverrideColor();
-
-int IGUIStaticTextEnableOverrideColor(int enable);
-
-int IGUIStaticTextIsOverrideColorEnabled();
-
-int IGUIStaticTextSetBackgroundColor(int color);
-
-int IGUIStaticTextSetDrawBackground(int draw);
-
-int IGUIStaticTextSetDrawBorder(int draw);
-
-int IGUIStaticTextSetTextAlignment(int horizontal, int vertical);
-
-int IGUIStaticTextSetWordWrap(int enable);
-
-int IGUIStaticTextIsWordWrapEnabled();
-
-int IGUIStaticTextGetTextHeight();
-
-int IGUIStaticTextGetTextWidth();
-
-int IParticleSystemSceneNodeIParticleSystemSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16);
-
-int IParticleSystemSceneNodeSetParticleSize(int size);
-
-int IParticleSystemSceneNodeSetParticlesAreGlobal(int global);
-
-int IParticleSystemSceneNodeGetEmitter();
-
-int IParticleSystemSceneNodeSetEmitter(int emitter);
-
-int IParticleSystemSceneNodeAddAffector(int affector);
-
-int IParticleSystemSceneNodeRemoveAllAffectors();
-
-int IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(int node, int useNormalDirection, int direction, int 03f, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg12, int arg13, int maxStartColor, int arg16, int arg17, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreateBoxEmitter(int box, int arg2, int 10, int arg4, int arg5, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg13, int arg14, int maxStartColor, int arg17, int arg18, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreateCylinderEmitter(int center, int radius, int normal, int length, int outlineOnly, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg12, int arg13, int maxStartColor, int arg16, int arg17, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreateMeshEmitter(int mesh, int useNormalDirection, int direction, int 03f, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg12, int arg13, int maxStartColor, int arg16, int arg17, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreatePointEmitter(int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg7, int arg8, int maxStartColor, int arg11, int arg12, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreateRingEmitter(int center, int radius, int ringThickness, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg10, int arg11, int maxStartColor, int arg14, int arg15, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreateSphereEmitter(int center, int radius, int direction, int 03f, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int arg9, int arg10, int maxStartColor, int arg13, int arg14, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
-
-int IParticleSystemSceneNodeCreateAttractionAffector(int point, int speed, int attract, int affectX, int affectY, int affectZ);
-
-int IParticleSystemSceneNodeCreateScaleParticleAffector(int scaleTo);
-
-int IParticleSystemSceneNodeCreateFadeOutParticleAffector(int targetColor, int arg2, int arg3, int timeNeededToFadeOut);
-
-int IParticleSystemSceneNodeCreateGravityAffector(int gravity, int 03f, int timeForceLost);
-
-int IParticleSystemSceneNodeCreateRotationAffector(int speed, int 0f, int pivotPoint, int 0f);
-
-int ITerrainSceneNodeITerrainSceneNode(int parent, int mgr, int id, int position, int 0f, int rotation, int 0f, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16);
-
-int ITerrainSceneNodeGetBoundingBox();
-
-int ITerrainSceneNodeGetBoundingBox(int patchX, int patchZ);
-
-int ITerrainSceneNodeGetIndexCount();
-
-int ITerrainSceneNodeGetMesh();
-
-int ITerrainSceneNodeGetRenderBuffer();
-
-int ITerrainSceneNodeGetMeshBufferForLOD(int mb, int LOD);
-
-int ITerrainSceneNodeGetIndicesForPatch(int indices, int patchX, int patchZ, int LOD);
-
-int ITerrainSceneNodeGetCurrentLODOfPatches(int LODs);
-
-int ITerrainSceneNodeSetLODOfPatch(int patchX, int patchZ, int LOD);
-
-int ITerrainSceneNodeGetTerrainCenter();
-
-int ITerrainSceneNodeGetHeight(int x, int y);
-
-int ITerrainSceneNodeSetCameraMovementDelta(int delta);
-
-int ITerrainSceneNodeSetCameraRotationDelta(int delta);
-
-int ITerrainSceneNodeSetDynamicSelectorUpdate(int bVal);
-
-int ITerrainSceneNodeOverrideLODDistance(int LOD, int newDistance);
-
-int ITerrainSceneNodeScaleTexture(int scale, int scale2);
-
-int ITerrainSceneNodeLoadHeightMap(int file, int vertexColor, int arg3, int arg4, int smoothFactor);
-
-int ITerrainSceneNodeLoadHeightMapRAW(int file, int bitsPerPixel, int signedData, int floatVals, int width, int vertexColor, int arg7, int arg8, int smoothFactor);
-
-int IGUIContextMenuIGUIContextMenu(int environment, int parent, int id, int EGUIET_CONTEXT_MENU, int arg5, int arg6, int arg7);
-
-int IGUIContextMenuGetItemCount();
-
-int IGUIContextMenuAddItem(char * text, int commandId, int enabled, int hasSubMenu, int checked);
-
-int IGUIContextMenuAddSeparator();
-
-int IGUIContextMenuGetItemText(int idx);
-
-int IGUIContextMenuSetItemText(int idx, char * text);
-
-int IGUIContextMenuIsItemEnabled(int idx);
-
-int IGUIContextMenuSetItemEnabled(int idx, int enabled);
-
-int IGUIContextMenuSetItemChecked(int idx, int enabled);
-
-int IGUIContextMenuIsItemChecked(int idx);
-
-int IGUIContextMenuRemoveItem(int idx);
-
-int IGUIContextMenuRemoveAllItems();
-
-int IGUIContextMenuGetSelectedItem();
-
-int IGUIContextMenuGetItemCommandId(int idx);
-
-int IGUIContextMenuSetItemCommandId(int idx, int id);
-
-int IGUIContextMenuGetSubMenu(int idx);
-
-int IImageLock();
-
-int IImageUnlock();
-
-int IImageGetDimension();
-
-int IImageGetBitsPerPixel();
-
-int IImageGetBytesPerPixel();
-
-int IImageGetImageDataSizeInBytes();
-
-int IImageGetImageDataSizeInPixels();
-
-int IImageGetPixel(int x, int y);
-
-int IImageSetPixel(int x, int y, int color, int blend);
-
-int IImageGetColorFormat();
-
-int IImageGetRedMask();
-
-int IImageGetGreenMask();
-
-int IImageGetBlueMask();
-
-int IImageGetAlphaMask();
-
-int IImageGetPitch();
-
-int IImageCopyToScaling(int target, int width, int height, int format, int pitch);
-
-int IImageCopyToScaling(int target);
-
-int IImageCopyTo(int target, int pos);
-
-int IImageCopyTo(int target, int pos, int sourceRect, int clipRect);
-
-int IImageCopyToWithAlpha(int target, int pos, int sourceRect, int color, int clipRect);
-
-int IImageCopyToScalingBoxFilter(int target, int bias, int blend);
-
-int IImageFill(int color);
-
-int IImageGetBitsPerPixelFromFormat(int format);
-
-int IImageSwitch();
-
-int IImageIsRenderTargetOnlyFormat(int format);
-
-int IImageSwitch();
-
-int IAnimatedMeshMD2GetFrameLoop(int l, int outBegin, int outEnd, int outFPS);
-
-int IAnimatedMeshMD2GetFrameLoop(char * name, int outBegin, int outEnd, int outFPS);
-
-int IAnimatedMeshMD2GetAnimationCount();
-
-int IAnimatedMeshMD2GetAnimationName(int nr);
-
-int IIndexBufferGetData();
-
-int IIndexBufferGetType();
-
-int IIndexBufferSetType(int IndexType);
-
-int IIndexBufferStride();
-
-int IIndexBufferSize();
-
-int IIndexBufferPush_back(int element);
-
-int IIndexBufferOperator(int index);
-
-int IIndexBufferGetLast();
-
-int IIndexBufferSetValue(int index, int value);
-
-int IIndexBufferSet_used(int usedNow);
-
-int IIndexBufferReallocate(int new_size);
-
-int IIndexBufferAllocated_size();
-
-int IIndexBufferPointer();
-
-int IIndexBufferGetHardwareMappingHint();
-
-int IIndexBufferSetHardwareMappingHint(int NewMappingHint);
-
-int IIndexBufferSetDirty();
-
-int IIndexBufferGetChangedID();
-
-int IVertexBufferGetData();
-
-int IVertexBufferGetType();
-
-int IVertexBufferSetType(int vertexType);
-
-int IVertexBufferStride();
-
-int IVertexBufferSize();
-
-int IVertexBufferPush_back(int element);
-
-int IVertexBufferOperator(int index);
-
-int IVertexBufferGetLast();
-
-int IVertexBufferSet_used(int usedNow);
-
-int IVertexBufferReallocate(int new_size);
-
-int IVertexBufferAllocated_size();
-
-int IVertexBufferPointer();
-
-int IVertexBufferGetHardwareMappingHint();
-
-int IVertexBufferSetHardwareMappingHint(int NewMappingHint);
-
-int IVertexBufferSetDirty();
-
-int IVertexBufferGetChangedID();
-
-int IWriteFileWrite(int buffer, int sizeToWrite);
-
-int IWriteFileSeek(int finalPos, int relativeMovement);
-
-int IWriteFileGetPos();
-
-int IWriteFileGetFileName();
-
-int IWriteFileCreateWriteFile(int fileName, int append);
-
-int IReadFileRead(int buffer, int sizeToRead);
-
-int IReadFileSeek(int finalPos, int relativeMovement);
-
-int IReadFileGetSize();
-
-int IReadFileGetPos();
-
-int IReadFileGetFileName();
-
-int IReadFileCreateReadFile(int fileName);
-
-int IReadFileCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize);
-
-int IReadFileCreateMemoryReadFile(int memory, int size, int fileName, int deleteMemoryWhenDropped);
-
-int IBillboardSceneNodeIBillboardSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8);
-
-int IBillboardSceneNodeSetSize(int size);
-
-int IBillboardSceneNodeGetSize();
-
-int IBillboardSceneNodeSetColor(int overallColor);
-
-int IBillboardSceneNodeSetColor(int topColor, int bottomColor);
-
-int IBillboardSceneNodeGetColor(int topColor, int bottomColor);
-
-int IAttributeExchangingObjectSerializeAttributes(int out, int options);
-
-int IAttributeExchangingObjectDeserializeAttributes(int in, int options);
-
-int IParticleEmitterEmitt(int now, int timeSinceLastCall, int outArray);
-
-int IParticleEmitterSetDirection(int newDirection);
-
-int IParticleEmitterSetMinParticlesPerSecond(int minPPS);
-
-int IParticleEmitterSetMaxParticlesPerSecond(int maxPPS);
-
-int IParticleEmitterSetMinStartColor(int color);
-
-int IParticleEmitterSetMaxStartColor(int color);
-
-int IParticleEmitterSetMaxStartSize(int size);
-
-int IParticleEmitterSetMinStartSize(int size);
-
-int IParticleEmitterGetDirection();
-
-int IParticleEmitterGetMinParticlesPerSecond();
-
-int IParticleEmitterGetMaxParticlesPerSecond();
-
-int IParticleEmitterGetMinStartColor();
-
-int IParticleEmitterGetMaxStartColor();
-
-int IParticleEmitterGetMaxStartSize();
-
-int IParticleEmitterGetMinStartSize();
-
-int IParticleEmitterGetType();
-
-int IIndexListIIndexList();
-
-int IIndexListStride();
-
-int IIndexListSize();
-
-int IIndexListPush_back(int element);
-
-int IIndexListOperator(int index);
-
-int IIndexListGetLast();
-
-int IIndexListSetValue(int index, int value);
-
-int IIndexListSet_used(int usedNow);
-
-int IIndexListReallocate(int new_size);
-
-int IIndexListAllocated_size();
-
-int IIndexListPointer();
-
-int IIndexListGetType();
-
-int IIndexListStride();
-
-int IIndexListSize();
-
-int IIndexListPush_back(int element);
-
-int IIndexListPush_back(int element);
-
-int IIndexListOperator(int index);
-
-int IIndexListGetLast();
-
-int IIndexListSetValue(int index, int value);
-
-int IIndexList=();
-
-int IIndexListSet_used(int usedNow);
-
-int IIndexListSet_used();
-
-int IIndexListReallocate(int new_size);
-
-int IIndexListReallocate();
-
-int IIndexListAllocated_size();
-
-int IIndexListPointer();
-
-int IIndexListGetType();
-
-int IIndexListCIndexBuffer(int ), int 1);
-
-int IIndexListSetType();
-
-int IIndexListCIndexBuffer(int ), int 1);
-
-int IIndexListSetType(int ));
-
-int IIndexListReallocate(int ));
-
-int IIndexListSize();
-
-int IIndexListPush_back(int n);
-
-int IIndexListCIndexBuffer();
-
-int IIndexListSetType(int IndexType);
-
-int IIndexListSwitch();
-
-int IIndexListReallocate(int ));
-
-int IIndexListSize();
-
-int IIndexListPush_back(int n);
-
-int IIndexListGetData();
-
-int IIndexListGetType();
-
-int IIndexListStride();
-
-int IIndexListSize();
-
-int IIndexListPush_back(int element);
-
-int IIndexListPush_back();
-
-int IIndexListOperator(int index);
-
-int IIndexListGetLast();
-
-int IIndexListSetValue(int index, int value);
-
-int IIndexListSetValue(int arg1);
-
-int IIndexListSet_used(int usedNow);
-
-int IIndexListSet_used();
-
-int IIndexListReallocate(int new_size);
-
-int IIndexListReallocate();
-
-int IIndexListAllocated_size();
-
-int IIndexListPointer();
-
-int IIndexListGetHardwareMappingHint();
-
-int IIndexListSetHardwareMappingHint(int NewMappingHint);
-
-int IIndexListSetDirty();
-
-int IIndexListGetChangedID();
-
-int IParticleGravityAffectorSetTimeForceLost(int timeForceLost);
-
-int IParticleGravityAffectorSetGravity(int gravity);
-
-int IParticleGravityAffectorGetTimeForceLost();
-
-int IParticleGravityAffectorGetGravity();
-
-int IParticleGravityAffectorGetType();
-
-int IParticleRotationAffectorSetPivotPoint(int point);
-
-int IParticleRotationAffectorSetSpeed(int speed);
-
-int IParticleRotationAffectorGetPivotPoint();
-
-int IParticleRotationAffectorGetSpeed();
-
-int IParticleRotationAffectorGetType();
-
-int IGUICheckBoxIGUICheckBox(int environment, int parent, int id, int EGUIET_CHECK_BOX, int arg5, int arg6, int arg7);
-
-int IGUICheckBoxSetChecked(int checked);
-
-int IGUICheckBoxIsChecked();
-
-int IMeshGetMeshBufferCount();
-
-int IMeshGetMeshBuffer(int nr);
-
-int IMeshGetMeshBuffer(int material);
-
-int IMeshGetBoundingBox();
-
-int IMeshSetBoundingBox(int box);
-
-int IMeshSetMaterialFlag(int flag, int newvalue);
-
-int IMeshSetHardwareMappingHint(int newMappingHint, int buffer);
-
-int IMeshSetDirty(int buffer);
-
-int IBillboardTextSceneNodeIBillboardTextSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8);
-
-int IBillboardTextSceneNodeSetSize(int size);
-
-int IBillboardTextSceneNodeGetSize();
-
-int IBillboardTextSceneNodeSetColor(int overallColor);
-
-int IBillboardTextSceneNodeSetColor(int topColor, int bottomColor);
-
-int IBillboardTextSceneNodeGetColor(int topColor, int bottomColor);
-
-int IBillboardTextSceneNodeSetText(char * text);
-
-int IBillboardTextSceneNodeSetTextColor(int color);
-
-int IParticleFadeOutAffectorSetTargetColor(int targetColor);
-
-int IParticleFadeOutAffectorSetFadeOutTime(int fadeOutTime);
-
-int IParticleFadeOutAffectorGetTargetColor();
-
-int IParticleFadeOutAffectorGetFadeOutTime();
-
-int IParticleFadeOutAffectorGetType();
-
-int IShadowVolumeSceneNodeIShadowVolumeSceneNode(int parent, int mgr, int parent, int arg4);
-
-int IShadowVolumeSceneNodeSetShadowMesh(int mesh);
-
-int IShadowVolumeSceneNodeUpdateShadowVolumes();
-
-int IFileListGetFileCount();
-
-int IFileListGetFileName(int index);
-
-int IFileListGetFullFileName(int index);
-
-int IFileListGetFileSize(int index);
-
-int IFileListIsDirectory(int index);
-
-int IFileListFindFile(int filename, int isFolder);
-
-int IFileListGetPath();
-
-int IGeometryCreatorCreateCubeMesh(int size, int f);
-
-int IGeometryCreatorCreateHillPlaneMesh(int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount);
-
-int IGeometryCreatorCreateTerrainMesh(int texture, int heightmap, int stretchSize, int maxHeight, int driver, int defaultVertexBlockSize, int debugBorders);
-
-int IGeometryCreatorCreateArrowMesh(int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int widthCylinder, int widthCone, int colorCylinder, int colorCone);
-
-int IGeometryCreatorCreateSphereMesh(int radius, int polyCountX, int polyCountY);
-
-int IGeometryCreatorCreateCylinderMesh(int radius, int length, int tesselation, int color, int closeTop, int oblique);
-
-int IGeometryCreatorCreateConeMesh(int radius, int length, int tesselation, int colorTop, int colorBottom, int oblique);
-
-int IGeometryCreatorCreateVolumeLightMesh(int subdivideU, int subdivideV, int footColor, int tailColor, int lpDistance, int lightDim, int 2f);
-
-int IGPUProgrammingServicesIGPUProgrammingServices();
-
-int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
-
-int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
-
-int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
-
-int IGPUProgrammingServicesAddShaderMaterial(char * vertexShaderProgram, char * pixelShaderProgram, int callback, int baseMaterial, int userData);
-
-int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgram, int pixelShaderProgram, int callback, int baseMaterial, int userData);
-
-int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgramFileName, int pixelShaderProgramFileName, int callback, int baseMaterial, int userData);
-
-int IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(int node);
-
-int IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(int useNormalDirection);
-
-int IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(int normalDirectionModifier);
-
-int IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(int everyMeshVertex);
-
-int IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode();
-
-int IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection();
-
-int IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier();
-
-int IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex();
-
-int IParticleAnimatedMeshSceneNodeEmitterGetType();
-
-int ITextureITexture(int name);
-
-int ITextureMake_lower();
-
-int ITextureLock(int readOnly);
-
-int ITextureUnlock();
-
-int ITextureGetOriginalSize();
-
-int ITextureGetSize();
-
-int ITextureGetDriverType();
-
-int ITextureGetColorFormat();
-
-int ITextureGetPitch();
-
-int ITextureHasMipMaps();
-
-int ITextureHasAlpha();
-
-int ITextureRegenerateMipMapLevels();
-
-int ITextureIsRenderTarget();
-
-int ITextureGetName();
-
-int IAnimatedMeshGetFrameCount();
-
-int IAnimatedMeshGetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop);
-
-int IAnimatedMeshGetMeshType();
-
-int IGUIToolBarIGUIToolBar(int environment, int parent, int id, int EGUIET_TOOL_BAR, int arg5, int arg6, int arg7);
-
-int IGUIToolBarAddButton(int id, char * text, char * tooltiptext, int img, int pressedimg, int isPushButton, int useAlphaChannel);
-
-int ISceneCollisionManagerGetCollisionPoint(int ray, int selector, int outCollisionPoint, int outTriangle, int outNode);
-
-int ISceneCollisionManagerGetCollisionResultPosition(int selector, int ellipsoidPosition, int ellipsoidRadius, int ellipsoidDirectionAndSpeed, int triout, int hitPosition, int outFalling, int outNode, int slidingSpeed, int gravityDirectionAndSpeed, int 0f);
-
-int ISceneCollisionManagerGetRayFromScreenCoordinates(int pos, int camera);
-
-int ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(int pos, int camera);
-
-int ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(int pos, int idBitMask, int bNoDebugObjects, int root);
-
-int ISceneCollisionManagerGetSceneNodeFromRayBB(int ray, int idBitMask, int bNoDebugObjects, int root);
-
-int ISceneCollisionManagerGetSceneNodeFromCameraBB(int camera, int idBitMask, int bNoDebugObjects);
-
-int ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(int ray, int outCollisionPoint, int outTriangle, int idBitMask, int collisionRootNode, int noDebugObjects);
-
-int ISceneUserDataSerializerISceneUserDataSerializer();
-
-int ISceneUserDataSerializerOnCreateNode(int node);
-
-int ISceneUserDataSerializerOnReadUserData(int forSceneNode, int userData);
-
-int ISceneUserDataSerializerCreateUserData(int forSceneNode);
-
-int IGUIImageListIGUIImageList();
-
-int IGUIImageListDraw(int index, int destPos, int clip);
-
-int IGUIImageListGetImageCount();
-
-int IGUIImageListGetImageSize();
-
-int IGUIMeshViewerIGUIMeshViewer(int environment, int parent, int id, int EGUIET_MESH_VIEWER, int arg5, int arg6, int arg7);
-
-int IGUIMeshViewerSetMesh(int mesh);
-
-int IGUIMeshViewerGetMesh();
-
-int IGUIMeshViewerSetMaterial(int material);
-
-int IGUIMeshViewerGetMaterial();
-
-int IGUIScrollBarIGUIScrollBar(int environment, int parent, int id, int EGUIET_SCROLL_BAR, int arg5, int arg6, int arg7);
-
-int IGUIScrollBarSetMax(int max);
-
-int IGUIScrollBarGetMax();
-
-int IGUIScrollBarSetMin(int max);
-
-int IGUIScrollBarGetMin();
-
-int IGUIScrollBarGetSmallStep();
-
-int IGUIScrollBarSetSmallStep(int step);
-
-int IGUIScrollBarGetLargeStep();
-
-int IGUIScrollBarSetLargeStep(int step);
-
-int IGUIScrollBarGetPos();
-
-int IGUIScrollBarSetPos(int pos);
-
-int IGUIListBoxIGUIListBox(int environment, int parent, int id, int EGUIET_LIST_BOX, int arg5, int arg6, int arg7);
-
-int IGUIListBoxGetItemCount();
-
-int IGUIListBoxGetListItem(int id);
-
-int IGUIListBoxAddItem(char * text);
-
-int IGUIListBoxAddItem(char * text, int icon);
-
-int IGUIListBoxRemoveItem(int index);
-
-int IGUIListBoxGetIcon(int index);
-
-int IGUIListBoxSetSpriteBank(int bank);
-
-int IGUIListBoxClear();
-
-int IGUIListBoxGetSelected();
-
-int IGUIListBoxSetSelected(int index);
-
-int IGUIListBoxSetSelected(char * item);
-
-int IGUIListBoxSetAutoScrollEnabled(int scroll);
-
-int IGUIListBoxIsAutoScrollEnabled();
-
-int IGUIListBoxSetItemOverrideColor(int index, int color);
-
-int IGUIListBoxSetItemOverrideColor(int index, int colorType, int color);
-
-int IGUIListBoxClearItemOverrideColor(int index);
-
-int IGUIListBoxClearItemOverrideColor(int index, int colorType);
-
-int IGUIListBoxHasItemOverrideColor(int index, int colorType);
-
-int IGUIListBoxGetItemOverrideColor(int index, int colorType);
-
-int IGUIListBoxGetItemDefaultColor(int colorType);
-
-int IGUIListBoxSetItem(int index, char * text, int icon);
-
-int IGUIListBoxInsertItem(int index, char * text, int icon);
-
-int IGUIListBoxSwapItems(int index1, int index2);
-
-int IGUIListBoxSetItemHeight(int height);
-
-int IGUIListBoxSetDrawBackground(int draw);
-
-int IGUIWindowIGUIWindow(int environment, int parent, int id, int EGUIET_WINDOW, int arg5, int arg6, int arg7);
-
-int IGUIWindowGetCloseButton();
-
-int IGUIWindowGetMinimizeButton();
-
-int IGUIWindowGetMaximizeButton();
-
-int IGUIWindowIsDraggable();
-
-int IGUIWindowSetDraggable(int draggable);
-
-int IGUIWindowSetDrawBackground(int draw);
-
-int IGUIWindowGetDrawBackground();
-
-int IGUIWindowSetDrawTitlebar(int draw);
-
-int IGUIWindowGetDrawTitlebar();
-
-int IGUIFileOpenDialogIGUIFileOpenDialog(int environment, int parent, int id, int EGUIET_FILE_OPEN_DIALOG, int arg5, int arg6, int arg7);
-
-int IGUIFileOpenDialogGetFileName();
-
-int IGUIFileOpenDialogGetDirectoryName();
-
-int IParticleBoxEmitterSetBox(int box);
-
-int IParticleBoxEmitterGetBox();
-
-int IParticleBoxEmitterGetType();
-
-int ICursorControlSetVisible(int visible);
-
-int ICursorControlIsVisible();
-
-int ICursorControlSetPosition(int pos);
-
-int ICursorControlSetPosition(int x, int y);
-
-int ICursorControlSetPosition(int pos);
-
-int ICursorControlSetPosition(int x, int y);
-
-int ICursorControlGetPosition();
-
-int ICursorControlGetRelativePosition();
-
-int ICursorControlSetReferenceRect(int rect);
-
-int IBoneSceneNodeIBoneSceneNode(int parent, int mgr, int id, int arg4, int 1);
-
-int IBoneSceneNodeGetBoneName();
-
-int IBoneSceneNodeGetBoneIndex();
-
-int IBoneSceneNodeSetAnimationMode(int mode);
-
-int IBoneSceneNodeGetAnimationMode();
-
-int IBoneSceneNodeGetBoundingBox();
-
-int IBoneSceneNodeOnAnimate(int timeMs);
-
-int IBoneSceneNodeRender();
-
-int IBoneSceneNodeSetSkinningSpace(int space);
-
-int IBoneSceneNodeGetSkinningSpace();
-
-int IBoneSceneNodeUpdateAbsolutePositionOfAllChildren();
-
-int IMaterialRendererServicesIMaterialRendererServices();
-
-int IMaterialRendererServicesSetBasicRenderStates(int material, int lastMaterial, int resetAllRenderstates);
-
-int IMaterialRendererServicesSetVertexShaderConstant(char * name, int floats, int count);
-
-int IMaterialRendererServicesSetVertexShaderConstant(int data, int startRegister, int constantAmount);
-
-int IMaterialRendererServicesSetPixelShaderConstant(char * name, int floats, int count);
-
-int IMaterialRendererServicesSetPixelShaderConstant(int data, int startRegister, int constantAmount);
-
-int IMaterialRendererServicesGetVideoDriver();
-
-int IVertexListIVertexList();
-
-int IVertexListStride();
-
-int IVertexListSize();
-
-int IVertexListPush_back(int element);
-
-int IVertexListOperator(int index);
-
-int IVertexListGetLast();
-
-int IVertexListSet_used(int usedNow);
-
-int IVertexListReallocate(int new_size);
-
-int IVertexListAllocated_size();
-
-int IVertexListPointer();
-
-int IVertexListGetType();
-
-int IVertexListStride();
-
-int IVertexListSize();
-
-int IVertexListPush_back(int element);
-
-int IVertexListPush_back(int element);
-
-int IVertexListOperator(int index);
-
-int IVertexListGetLast();
-
-int IVertexListSet_used(int usedNow);
-
-int IVertexListSet_used();
-
-int IVertexListReallocate(int new_size);
-
-int IVertexListReallocate();
-
-int IVertexListAllocated_size();
-
-int IVertexListPointer();
-
-int IVertexListGetType();
-
-int IVertexListCVertexBuffer(int ), int 1);
-
-int IVertexListSetType();
-
-int IVertexListCVertexBuffer(int ), int 1);
-
-int IVertexListSetType(int ));
-
-int IVertexListReallocate(int ));
-
-int IVertexListSize();
-
-int IVertexListPush_back(int n);
-
-int IVertexListCVertexBuffer();
-
-int IVertexListSetType(int vertexType);
-
-int IVertexListSwitch();
-
-int IVertexListReallocate(int ));
-
-int IVertexListSize();
-
-int IVertexListPush_back(int n);
-
-int IVertexListGetData();
-
-int IVertexListGetType();
-
-int IVertexListStride();
-
-int IVertexListSize();
-
-int IVertexListPush_back(int element);
-
-int IVertexListPush_back();
-
-int IVertexListOperator(int index);
-
-int IVertexListGetLast();
-
-int IVertexListSet_used(int usedNow);
-
-int IVertexListSet_used();
-
-int IVertexListReallocate(int new_size);
-
-int IVertexListReallocate();
-
-int IVertexListAllocated_size();
-
-int IVertexListPointer();
-
-int IVertexListGetHardwareMappingHint();
-
-int IVertexListSetHardwareMappingHint(int NewMappingHint);
-
-int IVertexListSetDirty();
-
-int IVertexListGetChangedID();
-
-int ISceneNodeAnimatorCameraFPSGetMoveSpeed();
-
-int ISceneNodeAnimatorCameraFPSSetMoveSpeed(int moveSpeed);
-
-int ISceneNodeAnimatorCameraFPSGetRotateSpeed();
-
-int ISceneNodeAnimatorCameraFPSSetRotateSpeed(int rotateSpeed);
-
-int ISceneNodeAnimatorCameraFPSSetKeyMap(int map, int count);
-
-int ISceneNodeAnimatorCameraFPSSetVerticalMovement(int allow);
-
-int ISceneNodeAnimatorCameraFPSSetInvertMouse(int invert);
-
-int IGUITabIGUITab(int environment, int parent, int id, int EGUIET_TAB, int arg5, int arg6, int arg7);
-
-int IGUITabGetNumber();
-
-int IGUITabSetDrawBackground(int draw);
-
-int IGUITabSetBackgroundColor(int c);
-
-int IGUITabIsDrawingBackground();
-
-int IGUITabGetBackgroundColor();
-
-int IGUITabSetTextColor(int c);
-
-int IGUITabGetTextColor();
-
-int IGUITabControlIGUITabControl(int environment, int parent, int id, int EGUIET_TAB_CONTROL, int arg5, int arg6, int arg7);
-
-int IGUITabControlAddTab(char * caption, int id);
-
-int IGUITabControlGetTabCount();
-
-int IGUITabControlGetTab(int idx);
-
-int IGUITabControlSetActiveTab(int idx);
-
-int IGUITabControlSetActiveTab(int tab);
-
-int IGUITabControlGetActiveTab();
-
-int IGUITabControlSetTabHeight(int height);
-
-int IGUITabControlGetTabHeight();
-
-int IGUITabControlSetTabMaxWidth(int width);
-
-int IGUITabControlGetTabMaxWidth();
-
-int IGUITabControlSetTabVerticalAlignment(int alignment);
-
-int IGUITabControlGetTabVerticalAlignment();
-
-int IGUITabControlSetTabExtraWidth(int extraWidth);
-
-int IGUITabControlGetTabExtraWidth();
-
-int IParticleCylinderEmitterSetCenter(int center);
-
-int IParticleCylinderEmitterSetNormal(int normal);
-
-int IParticleCylinderEmitterSetRadius(int radius);
-
-int IParticleCylinderEmitterSetLength(int length);
-
-int IParticleCylinderEmitterSetOutlineOnly(int outlineOnly);
-
-int IParticleCylinderEmitterGetCenter();
-
-int IParticleCylinderEmitterGetNormal();
-
-int IParticleCylinderEmitterGetRadius();
-
-int IParticleCylinderEmitterGetLength();
-
-int IParticleCylinderEmitterGetOutlineOnly();
-
-int IParticleCylinderEmitterGetType();
-
-int IGUISpriteBankGetPositions();
-
-int IGUISpriteBankGetSprites();
-
-int IGUISpriteBankGetTextureCount();
-
-int IGUISpriteBankGetTexture(int index);
-
-int IGUISpriteBankAddTexture(int texture);
-
-int IGUISpriteBankSetTexture(int index, int texture);
-
-int IGUISpriteBankDraw2DSprite(int index, int pos, int clip, int color, int arg5, int arg6, int starttime, int currenttime, int loop, int center);
-
-int IGUISpriteBankDraw2DSpriteBatch(int indices, int pos, int clip, int color, int arg5, int arg6, int starttime, int currenttime, int loop, int center);
-
-int IMetaTriangleSelectorAddTriangleSelector(int toAdd);
-
-int IMetaTriangleSelectorRemoveTriangleSelector(int toRemove);
-
-int IMetaTriangleSelectorRemoveAllTriangleSelectors();
-
-int IGUIImageIGUIImage(int environment, int parent, int id, int EGUIET_IMAGE, int arg5, int arg6, int arg7);
-
-int IGUIImageSetImage(int image);
-
-int IGUIImageSetColor(int color);
-
-int IGUIImageSetScaleImage(int scale);
-
-int IGUIImageSetUseAlphaChannel(int use);
-
-int IGUIImageIsImageScaled();
-
-int IGUIImageIsAlphaChannelUsed();
-
-int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(int parent, int mgr, int id, int position, int arg5, int rotation, int arg8, int scale, int 0f, int parent, int arg13, int arg14, int arg15, int arg16);
-
-int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode();
-
-int IAnimatedMeshSceneNodeSetCurrentFrame(int frame);
-
-int IAnimatedMeshSceneNodeSetFrameLoop(int begin, int end);
-
-int IAnimatedMeshSceneNodeSetAnimationSpeed(int framesPerSecond);
-
-int IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(int shadowMesh, int id, int zfailmethod, int infinity);
-
-int IAnimatedMeshSceneNodeGetJointNode(char * jointName);
-
-int IAnimatedMeshSceneNodeGetJointNode(int jointID);
-
-int IAnimatedMeshSceneNodeGetJointCount();
-
-int IAnimatedMeshSceneNodeGetMS3DJointNode(char * jointName);
-
-int IAnimatedMeshSceneNodeGetXJointNode(char * jointName);
-
-int IAnimatedMeshSceneNodeSetMD2Animation(int anim);
-
-int IAnimatedMeshSceneNodeSetMD2Animation(char * animationName);
-
-int IAnimatedMeshSceneNodeGetFrameNr();
-
-int IAnimatedMeshSceneNodeGetStartFrame();
-
-int IAnimatedMeshSceneNodeGetEndFrame();
-
-int IAnimatedMeshSceneNodeSetLoopMode(int playAnimationLooped);
-
-int IAnimatedMeshSceneNodeSetAnimationEndCallback(int callback);
-
-int IAnimatedMeshSceneNodeSetReadOnlyMaterials(int readonly);
-
-int IAnimatedMeshSceneNodeIsReadOnlyMaterials();
-
-int IAnimatedMeshSceneNodeSetMesh(int mesh);
-
-int IAnimatedMeshSceneNodeGetMesh();
-
-int IAnimatedMeshSceneNodeGetMD3TagTransformation(int tagname);
-
-int IAnimatedMeshSceneNodeSetJointMode(int mode);
-
-int IAnimatedMeshSceneNodeSetTransitionTime(int Time);
-
-int IAnimatedMeshSceneNodeAnimateJoints(int CalculateAbsolutePositions);
-
-int IAnimatedMeshSceneNodeSetRenderFromIdentity(int On);
-
-int IAnimatedMeshSceneNodeClone(int newParent, int newManager);
-
-int IAnimationEndCallBackOnAnimationEnd(int node);
-
-int IGUIColorSelectDialogIGUIColorSelectDialog(int environment, int parent, int id, int EGUIET_COLOR_SELECT_DIALOG, int arg5, int arg6, int arg7);
-
-int IGUITableIGUITable(int environment, int parent, int id, int EGUIET_TABLE, int arg5, int arg6, int arg7);
-
-int IGUITableAddColumn(char * caption, int columnIndex);
-
-int IGUITableRemoveColumn(int columnIndex);
-
-int IGUITableGetColumnCount();
-
-int IGUITableSetActiveColumn(int idx, int doOrder);
-
-int IGUITableGetActiveColumn();
-
-int IGUITableGetActiveColumnOrdering();
-
-int IGUITableSetColumnWidth(int columnIndex, int width);
-
-int IGUITableSetResizableColumns(int resizable);
-
-int IGUITableHasResizableColumns();
-
-int IGUITableSetColumnOrdering(int columnIndex, int mode);
-
-int IGUITableGetSelected();
-
-int IGUITableSetSelected(int index);
-
-int IGUITableGetRowCount();
-
-int IGUITableAddRow(int rowIndex);
-
-int IGUITableRemoveRow(int rowIndex);
-
-int IGUITableClearRows();
-
-int IGUITableSwapRows(int rowIndexA, int rowIndexB);
-
-int IGUITableOrderRows(int columnIndex, int mode);
-
-int IGUITableSetCellText(int rowIndex, int columnIndex, int text);
-
-int IGUITableSetCellText(int rowIndex, int columnIndex, int text, int color);
-
-int IGUITableSetCellData(int rowIndex, int columnIndex, int data);
-
-int IGUITableSetCellColor(int rowIndex, int columnIndex, int color);
-
-int IGUITableGetCellText(int rowIndex, int columnIndex);
-
-int IGUITableGetCellData(int rowIndex, int columnIndex);
-
-int IGUITableClear();
-
-int IGUITableSetDrawFlags(int flags);
-
-int IGUITableGetDrawFlags();
-
-int ISceneNodeFactoryAddSceneNode(int type, int parent);
-
-int ISceneNodeFactoryAddSceneNode(char * typeName, int parent);
-
-int ISceneNodeFactoryGetCreatableSceneNodeTypeCount();
-
-int ISceneNodeFactoryGetCreateableSceneNodeType(int idx);
-
-int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int idx);
-
-int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int type);
-
-int IGUIFontDraw(int text, int position, int color, int hcenter, int vcenter, int clip);
-
-int IGUIFontGetDimension(char * text);
-
-int IGUIFontGetCharacterFromPos(char * text, int pixel_x);
-
-int IGUIFontGetType();
-
-int IGUIFontSetKerningWidth(int kerning);
-
-int IGUIFontSetKerningHeight(int kerning);
-
-int IGUIFontGetKerningWidth(char * thisLetter, char * previousLetter);
-
-int IGUIFontGetKerningHeight();
-
-int IGUIFontSetInvisibleCharacters(char * s);
-
-int IMeshWriterIMeshWriter();
-
-int IMeshWriterGetType();
-
-int IMeshWriterWriteMesh(int file, int mesh, int flags);
-
-int IGUIElementFactoryAddGUIElement(int type, int parent);
-
-int IGUIElementFactoryAddGUIElement(char * typeName, int parent);
-
-int IGUIElementFactoryGetCreatableGUIElementTypeCount();
-
-int IGUIElementFactoryGetCreateableGUIElementType(int idx);
-
-int IGUIElementFactoryGetCreateableGUIElementTypeName(int idx);
-
-int IGUIElementFactoryGetCreateableGUIElementTypeName(int type);
-
-int IShaderConstantSetCallBackOnSetMaterial(int material);
-
-int IShaderConstantSetCallBackOnSetConstants(int services, int userData);
-
-int IMeshManipulatorFlipSurfaces(int mesh);
-
-int IMeshManipulatorSetVertexColorAlpha(int mesh, int alpha);
-
-int IMeshManipulatorSetVertexColors(int mesh, int color);
-
-int IMeshManipulatorRecalculateNormals(int mesh, int smooth, int angleWeighted);
-
-int IMeshManipulatorRecalculateNormals(int buffer, int smooth, int angleWeighted);
-
-int IMeshManipulatorScale(int mesh, int factor);
-
-int IMeshManipulatorScale(int buffer, int factor);
-
-int IMeshManipulatorScaleMesh(int mesh, int factor);
-
-int IMeshManipulatorScaleTCoords(int mesh, int factor, int level);
-
-int IMeshManipulatorScaleTCoords(int buffer, int factor, int level);
-
-int IMeshManipulatorTransform(int mesh, int m);
-
-int IMeshManipulatorTransform(int buffer, int m);
-
-int IMeshManipulatorTransformMesh(int mesh, int m);
-
-int IMeshManipulatorCreateMeshCopy(int mesh);
-
-int IMeshManipulatorMakePlanarTextureMapping(int mesh, int resolution);
-
-int IMeshManipulatorMakePlanarTextureMapping(int meshbuffer, int resolution);
-
-int IMeshManipulatorMakePlanarTextureMapping(int buffer, int resolutionS, int resolutionT, int axis, int offset);
-
-int IMeshManipulatorCreateMeshWithTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted);
-
-int IMeshManipulatorCreateMeshWith2TCoords(int mesh);
-
-int IMeshManipulatorCreateMeshWith1TCoords(int mesh);
-
-int IMeshManipulatorCreateMeshUniquePrimitives(int mesh);
-
-int IMeshManipulatorCreateMeshWelded(int mesh, int tolerance);
-
-int IMeshManipulatorGetPolyCount(int mesh);
-
-int IMeshManipulatorGetPolyCount(int mesh);
-
-int IMeshManipulatorCreateAnimatedMesh(int mesh, int type);
-
-int SColorHSLSColorHSL(int h, int s, int l, int l);
-
-int SColorHSLFromRGB(int color);
-
-int SColorHSLToRGB(int color);
-
-int SColorSColor();
-
-int SColorSColor(int a, int r, int g);
-
-int SColorSColor(int clr);
-
-int SColorGetAlpha();
-
-int SColorGetRed();
-
-int SColorGetGreen();
-
-int SColorGetBlue();
-
-int SColorGetLuminance();
-
-int SColorGetAverage();
-
-int SColorSetAlpha(int a);
-
-int SColor=(int 0x00ffffff);
-
-int SColorSetRed(int r);
-
-int SColor=(int 0xff00ffff);
-
-int SColorSetGreen(int g);
-
-int SColor=(int 0xffff00ff);
-
-int SColorSetBlue(int b);
-
-int SColor=(int 0xffffff00);
-
-int SColorToA1R5G5B5();
-
-int SColorToOpenGLColor(int dest);
-
-int SColor=(int ();
-
-int SColor=(int ();
-
-int SColor=(int ();
-
-int SColor=(int ();
-
-int SColorSet(int a, int r, int g, int b);
-
-int SColor=(int ));
-
-int SColorSet(int col);
-
-int SColor=(int other);
-
-int SColor=(int other);
-
-int SColor<(int other);
-
-int SColor+(int other);
-
-int SColorGetInterpolated(int other, int d);
-
-int SColorClamp(int arg1, int f, int f);
-
-int SColorGetInterpolated_quadratic(int c1, int c2, int d);
-
-int SColorClamp(int arg1, int f, int f);
-
-int SColorfSColorf(int ), int 0f);
-
-int SColorfSColorf(int r, int g, int b, int a, int a);
-
-int SColorfSColorf(int c);
-
-int SColorfGetRed();
-
-int SColorfGetGreen();
-
-int SColorfGetBlue();
-
-int SColorfGetAlpha();
-
-int SColorfToSColor();
-
-int SColorfSet(int rr, int gg, int bb);
-
-int SColorfSet(int aa, int rr, int gg, int bb);
-
-int SColorfGetInterpolated(int other, int d);
-
-int SColorfClamp(int arg1, int f, int f);
-
-int SColorfGetInterpolated_quadratic(int c1, int c2, int d);
-
-int SColorfClamp(int arg1, int f, int f);
-
-int SColorfSetColorComponentValue(int index, int value);
-
-int SColorfSwitch();
-
-int SColorfGetAlpha();
-
-int SColorfGetRed();
-
-int SColorfGetGreen();
-
-int SColorfGetBlue();
-
-int IImageLoaderIsALoadableFileExtension(int filename);
-
-int IImageLoaderIsALoadableFileFormat(int file);
-
-int IImageLoaderLoadImage(int file);
-
-int ISceneNodeAnimatorAnimateNode(int node, int timeMs);
-
-int ISceneNodeAnimatorCreateClone(int node, int newManager);
-
-int ISceneNodeAnimatorIsEventReceiverEnabled();
-
-int ISceneNodeAnimatorOnEvent(int event);
-
-int ISceneNodeAnimatorGetType();
-
-int ISceneNodeAnimatorHasFinished();
-
-int IOSOperatorIOSOperator();
-
-int IOSOperatorGetOperationSystemVersion();
-
-int IOSOperatorCopyToClipboard(char * text);
-
-int IOSOperatorGetTextFromClipboard();
-
-int IOSOperatorGetProcessorSpeedMHz(int MHz);
-
-int IOSOperatorGetSystemMemory(int Total, int Avail);
-
-int IQ3LevelMeshGetShader(char * filename, int fileNameIsValid);
-
-int IQ3LevelMeshGetShader(int index);
-
-int IQ3LevelMeshGetEntityList();
-
-int IImageWriterIsAWriteableFileExtension(int filename);
-
-int IImageWriterWriteImage(int file, int image, int param);
-
-int ILightManagerOnPreRender(int lightList);
-
-int ILightManagerOnPostRender();
-
-int ILightManagerOnRenderPassPreRender(int renderPass);
-
-int ILightManagerOnRenderPassPostRender(int renderPass);
-
-int ILightManagerOnNodePreRender(int node);
-
-int ILightManagerOnNodePostRender(int node);
-
-int IParticleAttractionAffectorSetPoint(int point);
-
-int IParticleAttractionAffectorSetAttract(int attract);
-
-int IParticleAttractionAffectorSetAffectX(int affect);
-
-int IParticleAttractionAffectorSetAffectY(int affect);
-
-int IParticleAttractionAffectorSetAffectZ(int affect);
-
-int IParticleAttractionAffectorGetPoint();
-
-int IParticleAttractionAffectorGetAttract();
-
-int IParticleAttractionAffectorGetAffectX();
-
-int IParticleAttractionAffectorGetAffectY();
-
-int IParticleAttractionAffectorGetAffectZ();
-
-int IParticleAttractionAffectorGetType();
-
-int ILightSceneNodeILightSceneNode(int parent, int mgr, int id, int position, int arg5, int parent, int arg7, int arg8);
-
-int ILightSceneNodeSetLightData(int light);
-
-int ILightSceneNodeGetLightData();
-
-int ILightSceneNodeGetLightData();
-
-int ILightSceneNodeSetVisible(int isVisible);
-
-int ILightSceneNodeSetRadius(int radius);
-
-int ILightSceneNodeGetRadius();
-
-int ILightSceneNodeSetLightType(int type);
-
-int ILightSceneNodeGetLightType();
-
-int ILightSceneNodeEnableCastShadow(int shadow);
-
-int ILightSceneNodeGetCastShadow();
-
-int IGUIComboBoxIGUIComboBox(int environment, int parent, int id, int EGUIET_COMBO_BOX, int arg5, int arg6, int arg7);
-
-int IGUIComboBoxGetItemCount();
-
-int IGUIComboBoxGetItem(int idx);
-
-int IGUIComboBoxGetItemData(int idx);
-
-int IGUIComboBoxGetIndexForItemData(int data);
-
-int IGUIComboBoxAddItem(char * text, int data);
-
-int IGUIComboBoxRemoveItem(int idx);
-
-int IGUIComboBoxClear();
-
-int IGUIComboBoxGetSelected();
-
-int IGUIComboBoxSetSelected(int idx);
-
-int IGUIComboBoxSetTextAlignment(int horizontal, int vertical);
-
-int IGUIElementIGUIElement(int type, int environment, int parent, int id, int 0, int 1, int type);
-
-int IGUIElementSetDebugName();
-
-int IGUIElementIGUIElement();
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElementGetParent();
-
-int IGUIElementGetRelativePosition();
-
-int IGUIElementSetRelativePosition(int r);
-
-int IGUIElementGetAbsolutePosition();
-
-int IGUIElementD(int ));
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementSetRelativePosition(int position);
-
-int IGUIElementGetSize();
-
-int IGUIElementRectangle(int X, int Y, int Width, int Height);
-
-int IGUIElementSetRelativePosition();
-
-int IGUIElementSetRelativePositionProportional(int r);
-
-int IGUIElementGetAbsolutePosition(int ();
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementGetAbsolutePosition();
-
-int IGUIElementGetAbsoluteClippingRect();
-
-int IGUIElementSetNotClipped(int noClip);
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementIsNotClipped();
-
-int IGUIElementSetMaxSize(int size);
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementSetMinSize(int size);
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementSetAlignment(int left, int right, int top, int bottom);
-
-int IGUIElementR(int ));
-
-int IGUIElementD(int Width, int Height);
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementParentAbsolute(int arg1, int arg2, int arg3);
-
-int IGUIElementWhile(int >Parent);
-
-int IGUIElementGetWidth(int ();
-
-int IGUIElementGetHeight(int ();
-
-int IGUIElementSwitch();
-
-int IGUIElement=(int fw);
-
-int IGUIElementSwitch();
-
-int IGUIElement=(int fw);
-
-int IGUIElementSwitch();
-
-int IGUIElement=(int fh);
-
-int IGUIElementSwitch();
-
-int IGUIElement=(int fh);
-
-int IGUIElementGetWidth();
-
-int IGUIElementGetHeight();
-
-int IGUIElementRepair();
-
-int IGUIElementClipAgainst();
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElementGetElementFromPoint(int point);
-
-int IGUIElementGetLast();
-
-int IGUIElementWhile(int it);
-
-int IGUIElement=(int point);
-
-int IGUIElementIsPointInside(int point);
-
-int IGUIElementAddChild(int child);
-
-int IGUIElementGrab();
-
-int IGUIElementRemove();
-
-int IGUIElementGetAbsolutePosition();
-
-int IGUIElementPush_back();
-
-int IGUIElementUpdateAbsolutePosition();
-
-int IGUIElementRemoveChild(int child);
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElementErase();
-
-int IGUIElementRemove();
-
-int IGUIElementDraw();
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElement)(int ();
-
-int IGUIElementOnPostRender(int timeMs);
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElement)(int timeMs);
-
-int IGUIElementMove(int absoluteMovement);
-
-int IGUIElementSetRelativePosition(int absoluteMovement);
-
-int IGUIElementIsVisible();
-
-int IGUIElementSetVisible(int visible);
-
-int IGUIElementIsSubElement();
-
-int IGUIElementSetSubElement(int subElement);
-
-int IGUIElementSetTabStop(int enable);
-
-int IGUIElementIsTabStop();
-
-int IGUIElementSetTabOrder(int index);
-
-int IGUIElementGetTabGroup();
-
-int IGUIElementWhile(int >Parent);
-
-int IGUIElementGetNextElement(int 1, int arg2, int arg3, int arg4, int arg5);
-
-int IGUIElementGetTabOrder();
-
-int IGUIElementGetTabOrder();
-
-int IGUIElementSetTabGroup(int isGroup);
-
-int IGUIElementIsTabGroup();
-
-int IGUIElementGetTabGroup();
-
-int IGUIElementWhile(int ret);
-
-int IGUIElementIsEnabled();
-
-int IGUIElementSetEnabled(int enabled);
-
-int IGUIElementSetText(char * text);
-
-int IGUIElementGetText();
-
-int IGUIElementSetToolTipText(char * text);
-
-int IGUIElementGetToolTipText();
-
-int IGUIElementGetID();
-
-int IGUIElementSetID(int id);
-
-int IGUIElementOnEvent(int event);
-
-int IGUIElementBringToFront(int element);
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElementErase();
-
-int IGUIElementPush_back();
-
-int IGUIElementGetChildren();
-
-int IGUIElementGetElementFromId(int id, int searchchildren);
-
-int IGUIElementBegin();
-
-int IGUIElementEnd();
-
-int IGUIElementIsMyChild(int child);
-
-int IGUIElementWhile(int child);
-
-int IGUIElementGetNextElement(int startOrder, int reverse, int group, int first, int closest, int includeInvisible);
-
-int IGUIElement+(int 1);
-
-int IGUIElementBegin();
-
-int IGUIElementWhile(int it);
-
-int IGUIElement=(int ();
-
-int IGUIElementGetTabOrder();
-
-int IGUIElementGetTabOrder();
-
-int IGUIElementGetType();
-
-int IGUIElementGetTypeName();
-
-int IGUIElementSerializeAttributes(int out, int options);
-
-int IGUIElementAddInt(int arg1);
-
-int IGUIElementAddString(int arg1);
-
-int IGUIElementAddRect(int arg1);
-
-int IGUIElementAddPosition2d(int arg1, int Width);
-
-int IGUIElementAddPosition2d(int arg1, int Width);
-
-int IGUIElementAddEnum(int arg1, int arg2);
-
-int IGUIElementAddEnum(int arg1, int arg2);
-
-int IGUIElementAddEnum(int arg1, int arg2);
-
-int IGUIElementAddEnum(int arg1, int arg2);
-
-int IGUIElementAddBool(int arg1);
-
-int IGUIElementAddBool(int arg1);
-
-int IGUIElementAddBool(int arg1);
-
-int IGUIElementAddBool(int arg1);
-
-int IGUIElementAddInt(int arg1);
-
-int IGUIElementAddBool(int arg1);
-
-int IGUIElementDeserializeAttributes(int in, int options);
-
-int IGUIElementSetID(int ));
-
-int IGUIElementSetText(int ));
-
-int IGUIElementSetVisible(int ));
-
-int IGUIElementSetEnabled(int ));
-
-int IGUIElementGetAttributeAsBool();
-
-int IGUIElementGetAttributeAsBool();
-
-int IGUIElementGetAttributeAsInt();
-
-int IGUIElementGetAttributeAsPosition2d();
-
-int IGUIElementSetMaxSize(int X);
-
-int IGUIElementGetAttributeAsPosition2d();
-
-int IGUIElementSetMinSize(int X);
-
-int IGUIElementSetAlignment(int "LeftAlign", int "RightAlign", int "TopAlign", int "BottomAlign");
-
-int IGUIElementSetRelativePosition(int ));
-
-int IGUIElementSetNotClipped(int ));
+int IGUIButtonIGUIButton(int environment, int parent, int id, int EGUIET_BUTTON);
+
+int IGUIButtonSetOverrideFont(int font);
+
+int IGUIButtonSetImage(int image);
+
+int IGUIButtonSetImage(int image, int pos);
+
+int IGUIButtonSetPressedImage(int image);
+
+int IGUIButtonSetPressedImage(int image, int pos);
+
+int IGUIButtonSetSpriteBank(int bank);
+
+int IGUIButtonSetSprite(int state, int index, int color, int loop);
+
+int IGUIButtonSetIsPushButton(int isPushButton);
+
+int IGUIButtonSetPressed(int pressed);
+
+int IGUIButtonIsPressed();
+
+int IGUIButtonSetUseAlphaChannel(int useAlphaChannel);
+
+int IGUIButtonIsAlphaChannelUsed();
+
+int IGUIButtonIsPushButton();
+
+int IGUIButtonSetDrawBorder(int border);
+
+int IGUIButtonIsDrawingBorder();
+
+int IGUIButtonSetScaleImage(int scaleImage);
+
+int IGUIButtonIsScalingImage();
+
+int ISceneUserDataSerializerISceneUserDataSerializer();
+
+int ISceneUserDataSerializerOnCreateNode(int node);
+
+int ISceneUserDataSerializerOnReadUserData(int forSceneNode, int userData);
+
+int ISceneUserDataSerializerCreateUserData(int forSceneNode);
+
+int IEventReceiverIEventReceiver();
+
+int IEventReceiverOnEvent(int event);
+
+int IFileArchiveCreateAndOpenFile(int filename);
+
+int IFileArchiveCreateAndOpenFile(int index);
+
+int IFileArchiveGetFileList();
+
+int IFileArchiveGetType();
+
+int IArchiveLoaderIsALoadableFileFormat(int filename);
+
+int IArchiveLoaderIsALoadableFileFormat(int file);
+
+int IArchiveLoaderIsALoadableFileFormat(int fileType);
+
+int IArchiveLoaderCreateArchive(int filename, int ignoreCase, int ignorePaths);
+
+int IArchiveLoaderCreateArchive(int file, int ignoreCase, int ignorePaths);
+
+int ITimerITimer();
+
+int ITimerGetRealTime();
+
+int ITimerGetTime();
+
+int ITimerSetTime(int time);
+
+int ITimerStop();
+
+int ITimerStart();
+
+int ITimerSetSpeed(int speed);
+
+int ITimerGetSpeed();
+
+int ITimerIsStopped();
+
+int ITimerTick();
+
+int IMeshLoaderIMeshLoader();
+
+int IMeshLoaderIsALoadableFileExtension(int filename);
+
+int IMeshLoaderCreateMesh(int file);
+
+int IGUIMeshViewerIGUIMeshViewer(int environment, int parent, int id, int EGUIET_MESH_VIEWER);
+
+int IGUIMeshViewerSetMesh(int mesh);
+
+int IGUIMeshViewerGetMesh();
+
+int IGUIMeshViewerSetMaterial(int material);
+
+int IGUIMeshViewerGetMaterial();
+
+int ISceneManagerISceneManager();
+
+int ISceneManagerGetMesh(int filename);
+
+int ISceneManagerGetMesh(int file);
+
+int ISceneManagerGetMeshCache();
+
+int ISceneManagerGetVideoDriver();
+
+int ISceneManagerGetGUIEnvironment();
+
+int ISceneManagerGetFileSystem();
+
+int ISceneManagerAddVolumeLightSceneNode(int parent, int id, int subdivU, int subdivV, int foot, int tail, int position, int rotation, int scale);
+
+int ISceneManagerAddCubeSceneNode(int size, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddSphereSceneNode(int radius, int polyCount, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddAnimatedMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddWaterSurfaceSceneNode(int mesh, int waveHeight, int waveSpeed, int waveLength, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddCameraSceneNode(int parent, int position, int lookat, int id, int makeActive);
+
+int ISceneManagerAddCameraSceneNodeMaya(int parent, int rotateSpeed, int zoomSpeed, int translationSpeed, int id, int makeActive);
+
+int ISceneManagerAddCameraSceneNodeFPS(int parent, int rotateSpeed, int moveSpeed, int id, int keyMapArray, int keyMapSize, int noVerticalMovement, int jumpSpeed, int invertMouse, int makeActive);
+
+int ISceneManagerAddLightSceneNode(int parent, int position, int color, int radius, int id);
+
+int ISceneManagerAddBillboardSceneNode(int parent, int size, int position, int id, int colorTop, int colorBottom);
+
+int ISceneManagerAddSkyBoxSceneNode(int top, int bottom, int left, int right, int front, int back, int parent, int id);
+
+int ISceneManagerAddSkyDomeSceneNode(int texture, int horiRes, int vertRes, int texturePercentage, int spherePercentage, int radius, int parent, int id);
+
+int ISceneManagerAddParticleSystemSceneNode(int withDefaultEmitter, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddTerrainSceneNode(int heightMapFileName, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty);
+
+int ISceneManagerAddTerrainSceneNode(int heightMapFile, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty);
+
+int ISceneManagerAddQuake3SceneNode(int meshBuffer, int shader, int parent, int id);
+
+int ISceneManagerAddEmptySceneNode(int parent, int id);
+
+int ISceneManagerAddDummyTransformationSceneNode(int parent, int id);
+
+int ISceneManagerAddTextSceneNode(int font, char * text, int color, int parent, int position, int id);
+
+int ISceneManagerAddBillboardTextSceneNode(int font, char * text, int parent, int size, int position, int id, int colorTop, int colorBottom);
+
+int ISceneManagerAddHillPlaneMesh(int name, int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount);
+
+int ISceneManagerAddTerrainMesh(int meshname, int texture, int heightmap, int stretchSize, int maxHeight, int defaultVertexBlockSize);
+
+int ISceneManagerAddArrowMesh(int name, int vtxColor0, int vtxColor1, int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int width0, int width1);
+
+int ISceneManagerAddSphereMesh(int name, int radius, int polyCountX, int polyCountY);
+
+int ISceneManagerAddVolumeLightMesh(int name, int SubdivideU, int SubdivideV, int FootColor, int TailColor);
+
+int ISceneManagerGetRootSceneNode();
+
+int ISceneManagerGetSceneNodeFromId(int id, int start);
+
+int ISceneManagerGetSceneNodeFromName(char * name, int start);
+
+int ISceneManagerGetSceneNodeFromType(int type, int start);
+
+int ISceneManagerGetSceneNodesFromType(int type, int outNodes, int start);
+
+int ISceneManagerGetActiveCamera();
+
+int ISceneManagerSetActiveCamera(int camera);
+
+int ISceneManagerSetShadowColor(int color);
+
+int ISceneManagerGetShadowColor();
+
+int ISceneManagerRegisterNodeForRendering(int node, int pass);
+
+int ISceneManagerDrawAll();
+
+int ISceneManagerCreateRotationAnimator(int rotationSpeed);
+
+int ISceneManagerCreateFlyCircleAnimator(int center, int radius, int speed, int direction, int startPosition, int radiusEllipsoid);
+
+int ISceneManagerCreateFlyStraightAnimator(int startPoint, int endPoint, int timeForWay, int loop, int pingpong);
+
+int ISceneManagerCreateTextureAnimator(int textures, int timePerFrame, int loop);
+
+int ISceneManagerCreateDeleteAnimator(int timeMs);
+
+int ISceneManagerCreateCollisionResponseAnimator(int world, int sceneNode, int ellipsoidRadius, int gravityPerSecond, int ellipsoidTranslation, int slidingValue);
+
+int ISceneManagerCreateFollowSplineAnimator(int startTime, int points, int speed, int tightness, int loop, int pingpong);
+
+int ISceneManagerCreateTriangleSelector(int mesh, int node);
+
+int ISceneManagerCreateTriangleSelector(int node);
+
+int ISceneManagerCreateTriangleSelectorFromBoundingBox(int node);
+
+int ISceneManagerCreateOctreeTriangleSelector(int mesh, int node, int minimalPolysPerNode);
+
+int ISceneManagerCreateOctTreeTriangleSelector(int mesh, int node, int minimalPolysPerNode);
+
+int ISceneManagerCreateMetaTriangleSelector();
+
+int ISceneManagerCreateTerrainTriangleSelector(int node, int LOD);
+
+int ISceneManagerAddExternalMeshLoader(int externalLoader);
+
+int ISceneManagerGetSceneCollisionManager();
+
+int ISceneManagerGetMeshManipulator();
+
+int ISceneManagerAddToDeletionQueue(int node);
+
+int ISceneManagerPostEventFromUser(int event);
+
+int ISceneManagerClear();
+
+int ISceneManagerGetParameters();
+
+int ISceneManagerGetSceneNodeRenderPass();
+
+int ISceneManagerGetDefaultSceneNodeFactory();
+
+int ISceneManagerRegisterSceneNodeFactory(int factoryToAdd);
+
+int ISceneManagerGetRegisteredSceneNodeFactoryCount();
+
+int ISceneManagerGetSceneNodeFactory(int index);
+
+int ISceneManagerGetDefaultSceneNodeAnimatorFactory();
+
+int ISceneManagerRegisterSceneNodeAnimatorFactory(int factoryToAdd);
+
+int ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount();
+
+int ISceneManagerGetSceneNodeAnimatorFactory(int index);
+
+int ISceneManagerGetSceneNodeTypeName(int type);
+
+int ISceneManagerGetAnimatorTypeName(int type);
+
+int ISceneManagerAddSceneNode(int sceneNodeTypeName, int parent);
+
+int ISceneManagerCreateNewSceneManager(int cloneContent);
+
+int ISceneManagerSaveScene(int filename, int userDataSerializer);
+
+int ISceneManagerSaveScene(int file, int userDataSerializer);
+
+int ISceneManagerLoadScene(int filename, int userDataSerializer);
+
+int ISceneManagerLoadScene(int file, int userDataSerializer);
+
+int ISceneManagerCreateMeshWriter(int type);
+
+int ISceneManagerCreateSkinnedMesh();
+
+int ISceneManagerSetAmbientLight(int ambientColor);
+
+int ISceneManagerGetAmbientLight();
+
+int ISceneManagerSetLightManager(int lightManager);
+
+int ISceneManagerGetGeometryCreator();
+
+int ISceneManagerIsCulled(int node);
+
+int IVideoDriverBeginScene(int backBuffer, int zBuffer, int color, int videoData, int sourceRect);
+
+int IVideoDriverEndScene();
+
+int IVideoDriverQueryFeature(int feature);
+
+int IVideoDriverDisableFeature(int feature, int flag);
+
+int IVideoDriverCheckDriverReset();
+
+int IVideoDriverSetTransform(int state, int mat);
+
+int IVideoDriverGetTransform(int state);
+
+int IVideoDriverGetImageLoaderCount();
+
+int IVideoDriverGetImageLoader(int n);
+
+int IVideoDriverGetImageWriterCount();
+
+int IVideoDriverGetImageWriter(int n);
+
+int IVideoDriverSetMaterial(int material);
+
+int IVideoDriverGetTexture(int filename);
+
+int IVideoDriverGetTexture(int file);
+
+int IVideoDriverGetTextureByIndex(int index);
+
+int IVideoDriverGetTextureCount();
+
+int IVideoDriverRenameTexture(int texture, int newName);
+
+int IVideoDriverAddTexture(int size, int name, int format);
+
+int IVideoDriverAddTexture(int name, int image, int mipmapData);
+
+int IVideoDriverAddRenderTargetTexture(int size, int name, int format);
+
+int IVideoDriverRemoveTexture(int texture);
+
+int IVideoDriverRemoveAllTextures();
+
+int IVideoDriverRemoveHardwareBuffer(int mb);
+
+int IVideoDriverRemoveAllHardwareBuffers();
+
+int IVideoDriverCreateOcclusionQuery(int node, int mesh);
+
+int IVideoDriverRemoveOcclusionQuery(int node);
+
+int IVideoDriverRemoveAllOcclusionQueries();
+
+int IVideoDriverRunOcclusionQuery(int node, int visible);
+
+int IVideoDriverRunAllOcclusionQueries(int visible);
+
+int IVideoDriverUpdateOcclusionQuery(int node, int block);
+
+int IVideoDriverUpdateAllOcclusionQueries(int block);
+
+int IVideoDriverGetOcclusionQueryResult(int node);
+
+int IVideoDriverMakeColorKeyTexture(int texture, int color, int zeroTexels);
+
+int IVideoDriverMakeColorKeyTexture(int texture, int colorKeyPixelPos, int zeroTexels);
+
+int IVideoDriverMakeNormalMapTexture(int texture, int amplitude);
+
+int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color);
+
+int IVideoDriverSetRenderTarget(int target, int clearTarget, int clearZBuffer, int color);
+
+int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color);
+
+int IVideoDriverSetViewPort(int area);
+
+int IVideoDriverGetViewPort();
+
+int IVideoDriverDrawVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType);
+
+int IVideoDriverDraw2DVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType);
+
+int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES);
+
+int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES);
+
+int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES);
+
+int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN);
+
+int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN);
+
+int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN);
+
+int IVideoDriverDraw3DLine(int start, int end, int color);
+
+int IVideoDriverDraw3DTriangle(int triangle, int color);
+
+int IVideoDriverDraw3DBox(int box, int color);
+
+int IVideoDriverDraw2DImage(int texture, int destPos);
+
+int IVideoDriverDraw2DImage(int texture, int destPos, int sourceRect, int clipRect, int color, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DImageBatch(int texture, int pos, int sourceRects, int indices, int kerningWidth, int clipRect, int color, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DImageBatch(int texture, int positions, int sourceRects, int clipRect, int color, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DImage(int texture, int destRect, int sourceRect, int clipRect, int colors, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DRectangle(int color, int pos, int clip);
+
+int IVideoDriverDraw2DRectangle(int pos, int colorLeftUp, int colorRightUp, int colorLeftDown, int colorRightDown, int clip);
+
+int IVideoDriverDraw2DRectangleOutline(int pos, int color);
+
+int IVideoDriverDraw2DLine(int start, int end, int color);
+
+int IVideoDriverDrawPixel(int x, int y, int color);
+
+int IVideoDriverDraw2DPolygon(int center, int radius, int color, int vertexCount);
+
+int IVideoDriverDrawStencilShadowVolume(int triangles, int count, int zfail);
+
+int IVideoDriverDrawStencilShadow(int clearStencilBuffer, int leftUpEdge, int rightUpEdge, int leftDownEdge, int rightDownEdge);
+
+int IVideoDriverDrawMeshBuffer(int mb);
+
+int IVideoDriverSetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog);
+
+int IVideoDriverGetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog);
+
+int IVideoDriverGetColorFormat();
+
+int IVideoDriverGetScreenSize();
+
+int IVideoDriverGetCurrentRenderTargetSize();
+
+int IVideoDriverGetFPS();
+
+int IVideoDriverGetPrimitiveCountDrawn(int mode);
+
+int IVideoDriverDeleteAllDynamicLights();
+
+int IVideoDriverAddDynamicLight(int light);
+
+int IVideoDriverGetMaximalDynamicLightAmount();
+
+int IVideoDriverGetDynamicLightCount();
+
+int IVideoDriverGetDynamicLight(int idx);
+
+int IVideoDriverTurnLightOn(int lightIndex, int turnOn);
+
+int IVideoDriverGetName();
+
+int IVideoDriverAddExternalImageLoader(int loader);
+
+int IVideoDriverAddExternalImageWriter(int writer);
+
+int IVideoDriverGetMaximalPrimitiveCount();
+
+int IVideoDriverSetTextureCreationFlag(int flag, int enabled);
+
+int IVideoDriverGetTextureCreationFlag(int flag);
+
+int IVideoDriverCreateImageFromFile(int filename);
+
+int IVideoDriverCreateImageFromFile(int file);
+
+int IVideoDriverWriteImageToFile(int image, int filename, int param);
+
+int IVideoDriverWriteImageToFile(int image, int file, int param);
+
+int IVideoDriverCreateImageFromData(int format, int size, int data, int ownForeignMemory, int deleteMemory);
+
+int IVideoDriverCreateImage(int format, int size);
+
+int IVideoDriverCreateImage(int format, int imageToCopy);
+
+int IVideoDriverCreateImage(int imageToCopy, int pos, int size);
+
+int IVideoDriverCreateImage(int texture, int pos, int size);
+
+int IVideoDriverOnResize(int size);
+
+int IVideoDriverAddMaterialRenderer(int renderer, char * name);
+
+int IVideoDriverGetMaterialRenderer(int idx);
+
+int IVideoDriverGetMaterialRendererCount();
+
+int IVideoDriverGetMaterialRendererName(int idx);
+
+int IVideoDriverSetMaterialRendererName(int idx, char * name);
+
+int IVideoDriverCreateAttributesFromMaterial(int material);
+
+int IVideoDriverFillMaterialStructureFromAttributes(int outMaterial, int attributes);
+
+int IVideoDriverGetExposedVideoData();
+
+int IVideoDriverGetDriverType();
+
+int IVideoDriverGetGPUProgrammingServices();
+
+int IVideoDriverGetMeshManipulator();
+
+int IVideoDriverClearZBuffer();
+
+int IVideoDriverCreateScreenShot();
+
+int IVideoDriverFindTexture(int filename);
+
+int IVideoDriverSetClipPlane(int index, int plane, int enable);
+
+int IVideoDriverEnableClipPlane(int index, int enable);
+
+int IVideoDriverSetMinHardwareBufferVertexCount(int count);
+
+int IVideoDriverGetOverrideMaterial();
+
+int IVideoDriverGetMaterial2D();
+
+int IVideoDriverEnableMaterial2D(int enable);
+
+int IVideoDriverGetVendorInfo();
+
+int IVideoDriverSetAmbientLight(int color);
+
+int IVideoDriverSetAllowZWriteOnTransparent(int flag);
+
+int IVideoDriverGetMaxTextureSize();
+
+int IVideoDriverConvertColor(int sP, int sF, int sN, int dP, int dF);
+
+int ISkinnedMeshGetJointCount();
+
+int ISkinnedMeshGetJointName(int number);
+
+int ISkinnedMeshGetJointNumber(char * name);
+
+int ISkinnedMeshUseAnimationFrom(int mesh);
+
+int ISkinnedMeshUpdateNormalsWhenAnimating(int on);
+
+int ISkinnedMeshSetInterpolationMode(int mode);
+
+int ISkinnedMeshAnimateMesh(int frame, int blend);
+
+int ISkinnedMeshSkinMesh();
+
+int ISkinnedMeshConvertMeshToTangents();
+
+int ISkinnedMeshSetHardwareSkinning(int on);
+
+int IVideoModeListGetVideoModeCount();
+
+int IVideoModeListGetVideoModeResolution(int modeNumber);
+
+int IVideoModeListGetVideoModeResolution(int minSize, int maxSize);
+
+int IVideoModeListGetVideoModeDepth(int modeNumber);
+
+int IVideoModeListGetDesktopResolution();
+
+int IVideoModeListGetDesktopDepth();
+
+int IMeshCacheIMeshCache();
+
+int IMeshCacheAddMesh(int name, int mesh);
+
+int IMeshCacheRemoveMesh(int mesh);
+
+int IMeshCacheRemoveMesh(int mesh);
+
+int IMeshCacheGetMeshCount();
+
+int IMeshCacheGetMeshIndex(int mesh);
+
+int IMeshCacheGetMeshIndex(int mesh);
+
+int IMeshCacheGetMeshByIndex(int index);
+
+int IMeshCacheGetMeshByFilename(int filename);
+
+int IMeshCacheGetMeshFilename(int index);
+
+int IMeshCacheGetMeshFilename(int mesh);
+
+int IMeshCacheGetMeshFilename(int mesh);
+
+int IMeshCacheSetMeshFilename(int index, int filename);
+
+int IMeshCacheSetMeshFilename(int mesh, int filename);
+
+int IMeshCacheSetMeshFilename(int mesh, int filename);
+
+int IMeshCacheGetMeshByName(int name);
+
+int IMeshCacheGetMeshName(int index);
+
+int IMeshCacheGetMeshName(int mesh);
+
+int IMeshCacheGetMeshName(int mesh);
+
+int IMeshCacheRenameMesh(int index, int name);
+
+int IMeshCacheRenameMesh(int mesh, int name);
+
+int IMeshCacheRenameMesh(int mesh, int name);
+
+int IMeshCacheIsMeshLoaded(int name);
+
+int IMeshCacheClear();
+
+int IMeshCacheClearUnusedMeshes();
+
+int IGPUProgrammingServicesIGPUProgrammingServices();
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, char * geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgramFileName, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddShaderMaterial(char * vertexShaderProgram, char * pixelShaderProgram, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgram, int pixelShaderProgram, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgramFileName, int pixelShaderProgramFileName, int callback, int baseMaterial, int userData);
+
+int IGUIListBoxIGUIListBox(int environment, int parent, int id, int EGUIET_LIST_BOX);
+
+int IGUIListBoxGetItemCount();
+
+int IGUIListBoxGetListItem(int id);
+
+int IGUIListBoxAddItem(char * text);
+
+int IGUIListBoxAddItem(char * text, int icon);
+
+int IGUIListBoxRemoveItem(int index);
+
+int IGUIListBoxGetIcon(int index);
+
+int IGUIListBoxSetSpriteBank(int bank);
+
+int IGUIListBoxClear();
+
+int IGUIListBoxGetSelected();
+
+int IGUIListBoxSetSelected(int index);
+
+int IGUIListBoxSetSelected(char * item);
+
+int IGUIListBoxSetAutoScrollEnabled(int scroll);
+
+int IGUIListBoxIsAutoScrollEnabled();
+
+int IGUIListBoxSetItemOverrideColor(int index, int color);
+
+int IGUIListBoxSetItemOverrideColor(int index, int colorType, int color);
+
+int IGUIListBoxClearItemOverrideColor(int index);
+
+int IGUIListBoxClearItemOverrideColor(int index, int colorType);
+
+int IGUIListBoxHasItemOverrideColor(int index, int colorType);
+
+int IGUIListBoxGetItemOverrideColor(int index, int colorType);
+
+int IGUIListBoxGetItemDefaultColor(int colorType);
+
+int IGUIListBoxSetItem(int index, char * text, int icon);
+
+int IGUIListBoxInsertItem(int index, char * text, int icon);
+
+int IGUIListBoxSwapItems(int index1, int index2);
+
+int IGUIListBoxSetItemHeight(int height);
+
+int IGUIListBoxSetDrawBackground(int draw);
+
+int IGUIEditBoxIGUIEditBox(int environment, int parent, int id, int EGUIET_EDIT_BOX);
+
+int IGUIEditBoxSetOverrideFont(int font);
+
+int IGUIEditBoxSetOverrideColor(int color);
+
+int IGUIEditBoxGetOverrideColor();
+
+int IGUIEditBoxEnableOverrideColor(int enable);
+
+int IGUIEditBoxIsOverrideColorEnabled();
+
+int IGUIEditBoxSetDrawBorder(int border);
+
+int IGUIEditBoxSetTextAlignment(int horizontal, int vertical);
+
+int IGUIEditBoxSetWordWrap(int enable);
+
+int IGUIEditBoxIsWordWrapEnabled();
+
+int IGUIEditBoxSetMultiLine(int enable);
+
+int IGUIEditBoxIsMultiLineEnabled();
+
+int IGUIEditBoxSetAutoScroll(int enable);
+
+int IGUIEditBoxIsAutoScrollEnabled();
+
+int IGUIEditBoxSetPasswordBox(int passwordBox, char * passwordChar);
+
+int IGUIEditBoxIsPasswordBox();
+
+int IGUIEditBoxGetTextDimension();
+
+int IGUIEditBoxSetMax(int max);
+
+int IGUIEditBoxGetMax();
+
+int ITriangleSelectorITriangleSelector();
+
+int ITriangleSelectorGetTriangleCount();
+
+int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int transform);
+
+int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int box, int transform);
+
+int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int line, int transform);
+
+int ITriangleSelectorGetSceneNodeForTriangle(int triangleIndex);
+
+int IGUISkinGetColor(int color);
+
+int IGUISkinSetColor(int which, int newColor);
+
+int IGUISkinGetSize(int size);
+
+int IGUISkinGetDefaultText(int text);
+
+int IGUISkinSetDefaultText(int which, char * newText);
+
+int IGUISkinSetSize(int which, int size);
+
+int IGUISkinGetFont(int which);
+
+int IGUISkinSetFont(int font, int which);
+
+int IGUISkinGetSpriteBank();
+
+int IGUISkinSetSpriteBank(int bank);
+
+int IGUISkinGetIcon(int icon);
+
+int IGUISkinSetIcon(int icon, int index);
+
+int IGUISkinDraw3DButtonPaneStandard(int element, int rect, int clip);
+
+int IGUISkinDraw3DButtonPanePressed(int element, int rect, int clip);
+
+int IGUISkinDraw3DSunkenPane(int element, int bgcolor, int flat, int fillBackGround, int rect, int clip);
+
+int IGUISkinDraw3DWindowBackground(int element, int drawTitleBar, int titleBarColor, int rect, int clip, int checkClientArea);
+
+int IGUISkinDraw3DMenuPane(int element, int rect, int clip);
+
+int IGUISkinDraw3DToolBar(int element, int rect, int clip);
+
+int IGUISkinDraw3DTabButton(int element, int active, int rect, int clip, int alignment);
+
+int IGUISkinDraw3DTabBody(int element, int border, int background, int rect, int clip, int tabHeight, int alignment);
+
+int IGUISkinDrawIcon(int element, int icon, int position, int starttime, int currenttime, int loop, int clip);
+
+int IGUISkinDraw2DRectangle(int element, int color, int pos, int clip);
+
+int IGUISkinGetType();
+
+int IDummyTransformationSceneNodeIDummyTransformationSceneNode(int parent, int mgr, int parent);
+
+int IDummyTransformationSceneNodeGetRelativeTransformationMatrix();
+
+int IFileSystemCreateAndOpenFile(int filename);
+
+int IFileSystemCreateMemoryReadFile(int memory, int len, int fileName, int deleteMemoryWhenDropped);
+
+int IFileSystemCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize);
+
+int IFileSystemCreateMemoryWriteFile(int memory, int len, int fileName, int deleteMemoryWhenDropped);
+
+int IFileSystemCreateAndWriteFile(int filename, int append);
+
+int IFileSystemAddFileArchive(int filename, int ignoreCase, int ignorePaths, int archiveType, int password);
+
+int IFileSystemAddArchiveLoader(int loader);
+
+int IFileSystemGetFileArchiveCount();
+
+int IFileSystemRemoveFileArchive(int index);
+
+int IFileSystemRemoveFileArchive(int filename);
+
+int IFileSystemMoveFileArchive(int sourceIndex, int relative);
+
+int IFileSystemGetFileArchive(int index);
+
+int IFileSystemAddZipFileArchive(char * filename, int ignoreCase, int ignorePaths);
+
+int IFileSystemAddFolderFileArchive(char * filename, int ignoreCase, int ignorePaths);
+
+int IFileSystemAddPakFileArchive(char * filename, int ignoreCase, int ignorePaths);
+
+int IFileSystemGetWorkingDirectory();
+
+int IFileSystemChangeWorkingDirectoryTo(int newDirectory);
+
+int IFileSystemGetAbsolutePath(int filename);
+
+int IFileSystemGetFileDir(int filename);
+
+int IFileSystemGetFileBasename(int filename, int keepExtension);
+
+int IFileSystemFlattenFilename(int directory, int root);
+
+int IFileSystemCreateFileList();
+
+int IFileSystemCreateEmptyFileList(int path, int ignoreCase, int ignorePaths);
+
+int IFileSystemSetFileListSystem(int listType);
+
+int IFileSystemExistFile(int filename);
+
+int IFileSystemCreateXMLReader(int filename);
+
+int IFileSystemCreateXMLReader(int file);
+
+int IFileSystemCreateXMLReaderUTF8(int filename);
+
+int IFileSystemCreateXMLReaderUTF8(int file);
+
+int IFileSystemCreateXMLWriter(int filename);
+
+int IFileSystemCreateXMLWriter(int file);
+
+int IFileSystemCreateEmptyAttributes(int driver);
+
+int IDynamicMeshBufferGetVertexBuffer();
+
+int IDynamicMeshBufferGetIndexBuffer();
+
+int IDynamicMeshBufferSetVertexBuffer(int vertexBuffer);
+
+int IDynamicMeshBufferSetIndexBuffer(int indexBuffer);
+
+int IDynamicMeshBufferGetMaterial();
+
+int IDynamicMeshBufferGetMaterial();
+
+int IDynamicMeshBufferGetBoundingBox();
+
+int IDynamicMeshBufferSetBoundingBox(int box);
+
+int IDynamicMeshBufferRecalculateBoundingBox();
+
+int IDynamicMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices);
+
+int IDynamicMeshBufferAppend(int other);
+
+int IDynamicMeshBufferGetHardwareMappingHint_Vertex();
+
+int IDynamicMeshBufferGetHardwareMappingHint_Index();
+
+int IDynamicMeshBufferSetHardwareMappingHint(int NewMappingHint, int Buffer);
+
+int IDynamicMeshBufferSetDirty(int Buffer);
+
+int IDynamicMeshBufferGetChangedID_Vertex();
+
+int IDynamicMeshBufferGetChangedID_Index();
+
+int IDynamicMeshBufferGetVertexType();
+
+int IDynamicMeshBufferGetVertices();
+
+int IDynamicMeshBufferGetVertices();
+
+int IDynamicMeshBufferGetVertexCount();
+
+int IDynamicMeshBufferGetIndexType();
+
+int IDynamicMeshBufferGetIndices();
+
+int IDynamicMeshBufferGetIndices();
+
+int IDynamicMeshBufferGetIndexCount();
+
+int IDynamicMeshBufferGetPosition(int i);
+
+int IDynamicMeshBufferGetPosition(int i);
+
+int IDynamicMeshBufferGetTCoords(int i);
+
+int IDynamicMeshBufferGetTCoords(int i);
+
+int IDynamicMeshBufferGetNormal(int i);
+
+int IDynamicMeshBufferGetNormal(int i);
+
+int IMeshBufferGetMaterial();
+
+int IMeshBufferGetMaterial();
+
+int IMeshBufferGetVertexType();
+
+int IMeshBufferGetVertices();
+
+int IMeshBufferGetVertices();
+
+int IMeshBufferGetVertexCount();
+
+int IMeshBufferGetIndexType();
+
+int IMeshBufferGetIndices();
+
+int IMeshBufferGetIndices();
+
+int IMeshBufferGetIndexCount();
+
+int IMeshBufferGetBoundingBox();
+
+int IMeshBufferSetBoundingBox(int box);
+
+int IMeshBufferRecalculateBoundingBox();
+
+int IMeshBufferGetPosition(int i);
+
+int IMeshBufferGetPosition(int i);
+
+int IMeshBufferGetNormal(int i);
+
+int IMeshBufferGetNormal(int i);
+
+int IMeshBufferGetTCoords(int i);
+
+int IMeshBufferGetTCoords(int i);
+
+int IMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices);
+
+int IMeshBufferAppend(int other);
+
+int IMeshBufferGetHardwareMappingHint_Vertex();
+
+int IMeshBufferGetHardwareMappingHint_Index();
+
+int IMeshBufferSetHardwareMappingHint(int newMappingHint, int buffer);
+
+int IMeshBufferSetDirty(int buffer);
+
+int IMeshBufferGetChangedID_Vertex();
+
+int IMeshBufferGetChangedID_Index();
+
+int SMaterialSMaterial();
+
+int SMaterialSMaterial(int other);
+
+int SMaterialGetTextureMatrix(int i);
+
+int SMaterialGetTextureMatrix(int i);
+
+int SMaterialSetTextureMatrix(int i, int mat);
+
+int SMaterialSetTextureMatrix();
+
+int SMaterialGetTexture(int i);
+
+int SMaterialSetTexture(int i, int tex);
+
+int SMaterialSetFlag(int flag, int value);
+
+int SMaterialSwitch();
+
+int SMaterialGetFlag(int flag);
+
+int SMaterialSwitch();
+
+int SMaterialIsTransparent();
+
+int IMaterialRendererOnSetMaterial(int material, int lastMaterial, int resetAllRenderstates, int services);
+
+int IMaterialRendererOnRender(int service, int vtxtype);
+
+int IMaterialRendererOnUnsetMaterial();
+
+int IMaterialRendererIsTransparent();
+
+int IMaterialRendererGetRenderCapability();
+
+int ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory();
+
+int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(int type, int target);
+
+int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(char * typeName, int target);
+
+int ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount();
+
+int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(int idx);
+
+int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int idx);
+
+int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int type);
+
+int IMeshSceneNodeIMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int IMeshSceneNodeSetMesh(int mesh);
+
+int IMeshSceneNodeGetMesh();
+
+int IMeshSceneNodeSetReadOnlyMaterials(int readonly);
+
+int IMeshSceneNodeIsReadOnlyMaterials();
+
+int ILoggerILogger();
+
+int ILoggerGetLogLevel();
+
+int ILoggerSetLogLevel(int ll);
+
+int ILoggerLog(char * text, int ll);
+
+int ILoggerLog(char * text, char * hint, int ll);
+
+int ILoggerLog(char * text, char * hint, int ll);
+
+int ILoggerLog(char * text, char * hint, int ll);
+
+int ILoggerLog(char * text, int ll);
+
+int IAnimatedMeshMD3SetInterpolationShift(int shift, int loopMode);
+
+int IAnimatedMeshMD3GetTagList(int frame, int detailLevel, int startFrameLoop, int endFrameLoop);
+
+int IAnimatedMeshMD3GetOriginalMesh();
+
+int IReferenceCountedIReferenceCounted();
+
+int IReferenceCountedIReferenceCounted();
+
+int IReferenceCountedGrab();
+
+int IReferenceCountedDrop();
+
+int IReferenceCounted_IRR_DEBUG_BREAK_IF();
+
+int IReferenceCountedGetReferenceCount();
+
+int IReferenceCountedGetDebugName();
+
+int IParticleMeshEmitterSetMesh(int mesh);
+
+int IParticleMeshEmitterSetUseNormalDirection(int useNormalDirection);
+
+int IParticleMeshEmitterSetNormalDirectionModifier(int normalDirectionModifier);
+
+int IParticleMeshEmitterSetEveryMeshVertex(int everyMeshVertex);
+
+int IParticleMeshEmitterGetMesh();
+
+int IParticleMeshEmitterIsUsingNormalDirection();
+
+int IParticleMeshEmitterGetNormalDirectionModifier();
+
+int IParticleMeshEmitterGetEveryMeshVertex();
+
+int IParticleMeshEmitterGetType();
+
+int ICollisionCallbackOnCollision(int animator);
+
+int ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse();
+
+int ISceneNodeAnimatorCollisionResponseIsFalling();
+
+int ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(int radius);
+
+int ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius();
+
+int ISceneNodeAnimatorCollisionResponseSetGravity(int gravity);
+
+int ISceneNodeAnimatorCollisionResponseGetGravity();
+
+int ISceneNodeAnimatorCollisionResponseJump(int jumpSpeed);
+
+int ISceneNodeAnimatorCollisionResponseSetAnimateTarget(int enable);
+
+int ISceneNodeAnimatorCollisionResponseGetAnimateTarget();
+
+int ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(int translation);
+
+int ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation();
+
+int ISceneNodeAnimatorCollisionResponseSetWorld(int newWorld);
+
+int ISceneNodeAnimatorCollisionResponseGetWorld();
+
+int ISceneNodeAnimatorCollisionResponseSetTargetNode(int node);
+
+int ISceneNodeAnimatorCollisionResponseGetTargetNode();
+
+int ISceneNodeAnimatorCollisionResponseCollisionOccurred();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionPoint();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionTriangle();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionNode();
+
+int ISceneNodeAnimatorCollisionResponseSetCollisionCallback(int callback);
+
+int CDynamicMeshBufferCDynamicMeshBuffer(int vertexType, int indexType);
+
+int CDynamicMeshBufferCVertexBuffer();
+
+int CDynamicMeshBufferCIndexBuffer();
+
+int CDynamicMeshBufferCDynamicMeshBuffer();
+
+int CDynamicMeshBufferGetVertexBuffer();
+
+int CDynamicMeshBufferGetIndexBuffer();
+
+int CDynamicMeshBufferSetVertexBuffer(int newVertexBuffer);
+
+int CDynamicMeshBufferSetIndexBuffer(int newIndexBuffer);
+
+int CDynamicMeshBufferGetMaterial();
+
+int CDynamicMeshBufferGetMaterial();
+
+int CDynamicMeshBufferGetBoundingBox();
+
+int CDynamicMeshBufferSetBoundingBox(int box);
+
+int CDynamicMeshBufferRecalculateBoundingBox();
+
+int CDynamicMeshBufferReset(int Pos);
+
+int CDynamicMeshBufferGetVertexBuffer();
+
+int CDynamicMeshBufferAddInternalPoint(int Pos);
+
+int IGUIFontBitmapGetType();
+
+int IGUIFontBitmapGetSpriteBank();
+
+int IGUIFontBitmapGetSpriteNoFromChar(char * c);
+
+int IGUIFontBitmapGetKerningWidth(char * thisLetter, char * previousLetter);
+
+int IGUIInOutFaderIGUIInOutFader(int environment, int parent, int id, int EGUIET_IN_OUT_FADER);
+
+int IGUIInOutFaderGetColor();
+
+int IGUIInOutFaderSetColor(int color);
+
+int IGUIInOutFaderSetColor(int source, int dest);
+
+int IGUIInOutFaderFadeIn(int time);
+
+int IGUIInOutFaderFadeOut(int time);
+
+int IGUIInOutFaderIsReady();
+
+int IGUISpinBoxIGUISpinBox(int environment, int parent, int id, int EGUIET_SPIN_BOX);
+
+int IGUISpinBoxGetEditBox();
+
+int IGUISpinBoxSetValue(int val);
+
+int IGUISpinBoxGetValue();
+
+int IGUISpinBoxSetRange(int min, int max);
+
+int IGUISpinBoxGetMin();
+
+int IGUISpinBoxGetMax();
+
+int IGUISpinBoxSetStepSize(int step);
+
+int IGUISpinBoxSetDecimalPlaces(int places);
+
+int IGUISpinBoxGetStepSize();
+
+int ICameraSceneNodeICameraSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int ICameraSceneNodeSetProjectionMatrix(int projection, int isOrthogonal);
+
+int ICameraSceneNodeGetProjectionMatrix();
+
+int ICameraSceneNodeGetViewMatrix();
+
+int ICameraSceneNodeSetViewMatrixAffector(int affector);
+
+int ICameraSceneNodeGetViewMatrixAffector();
+
+int ICameraSceneNodeOnEvent(int event);
+
+int ICameraSceneNodeSetTarget(int pos);
+
+int ICameraSceneNodeSetRotation(int rotation);
+
+int ICameraSceneNodeGetTarget();
+
+int ICameraSceneNodeSetUpVector(int pos);
+
+int ICameraSceneNodeGetUpVector();
+
+int ICameraSceneNodeGetNearValue();
+
+int ICameraSceneNodeGetFarValue();
+
+int ICameraSceneNodeGetAspectRatio();
+
+int ICameraSceneNodeGetFOV();
+
+int ICameraSceneNodeSetNearValue(int zn);
+
+int ICameraSceneNodeSetFarValue(int zf);
+
+int ICameraSceneNodeSetAspectRatio(int aspect);
+
+int ICameraSceneNodeSetFOV(int fovy);
+
+int ICameraSceneNodeGetViewFrustum();
+
+int ICameraSceneNodeSetInputReceiverEnabled(int enabled);
+
+int ICameraSceneNodeIsInputReceiverEnabled();
+
+int ICameraSceneNodeIsOrthogonal();
+
+int ICameraSceneNodeBindTargetAndRotation(int bound);
+
+int ICameraSceneNodeGetTargetAndRotationBinding();
+
+int IParticleRingEmitterSetCenter(int center);
+
+int IParticleRingEmitterSetRadius(int radius);
+
+int IParticleRingEmitterSetRingThickness(int ringThickness);
+
+int IParticleRingEmitterGetCenter();
+
+int IParticleRingEmitterGetRadius();
+
+int IParticleRingEmitterGetRingThickness();
+
+int IParticleRingEmitterGetType();
+
+int IParticleSphereEmitterSetCenter(int center);
+
+int IParticleSphereEmitterSetRadius(int radius);
+
+int IParticleSphereEmitterGetCenter();
+
+int IParticleSphereEmitterGetRadius();
+
+int IParticleSphereEmitterGetType();
+
+int ISceneNodeAnimatorCameraMayaGetMoveSpeed();
+
+int ISceneNodeAnimatorCameraMayaSetMoveSpeed(int moveSpeed);
+
+int ISceneNodeAnimatorCameraMayaGetRotateSpeed();
+
+int ISceneNodeAnimatorCameraMayaSetRotateSpeed(int rotateSpeed);
+
+int ISceneNodeAnimatorCameraMayaGetZoomSpeed();
+
+int ISceneNodeAnimatorCameraMayaSetZoomSpeed(int zoomSpeed);
+
+int IParticleGravityAffectorSetTimeForceLost(int timeForceLost);
+
+int IParticleGravityAffectorSetGravity(int gravity);
+
+int IParticleGravityAffectorGetTimeForceLost();
+
+int IParticleGravityAffectorGetGravity();
+
+int IParticleGravityAffectorGetType();
+
+int ISceneNodeISceneNode(int parent, int mgr, int id, int position, int rotation, int scale);
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeISceneNode();
+
+int ISceneNodeRemoveAll();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeOnRegisterSceneNode();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeOnAnimate(int timeMs);
+
+int ISceneNodeBegin();
+
+int ISceneNodeWhile(int ait);
+
+int ISceneNodeAnimateNode();
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeRender();
+
+int ISceneNodeGetName();
+
+int ISceneNodeSetName(char * name);
+
+int ISceneNodeSetName(int name);
+
+int ISceneNodeGetBoundingBox();
+
+int ISceneNodeGetTransformedBoundingBox();
+
+int ISceneNodeGetBoundingBox();
+
+int ISceneNodeTransformBoxEx();
+
+int ISceneNodeGetAbsoluteTransformation();
+
+int ISceneNodeGetRelativeTransformation();
+
+int ISceneNodeSetRotationDegrees();
+
+int ISceneNodeSetTranslation();
+
+int ISceneNodeSetScale();
+
+int ISceneNodeIsVisible();
+
+int ISceneNodeIsTrulyVisible();
+
+int ISceneNodeSetVisible(int isVisible);
+
+int ISceneNodeGetID();
+
+int ISceneNodeSetID(int id);
+
+int ISceneNodeAddChild(int child);
+
+int ISceneNodeGrab();
+
+int ISceneNodeRemove();
+
+int ISceneNodePush_back();
+
+int ISceneNodeRemoveChild(int child);
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeErase();
+
+int ISceneNodeRemoveAll();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeClear();
+
+int ISceneNodeRemove();
+
+int ISceneNodeAddAnimator(int animator);
+
+int ISceneNodePush_back();
+
+int ISceneNodeGrab();
+
+int ISceneNodeGetAnimators();
+
+int ISceneNodeRemoveAnimator(int animator);
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeErase();
+
+int ISceneNodeRemoveAnimators();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeClear();
+
+int ISceneNodeGetMaterial(int num);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeSetMaterialFlag(int flag, int newvalue);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeGetMaterial(int flag);
+
+int ISceneNodeSetMaterialTexture(int textureLayer, int texture);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeGetMaterial(int textureLayer);
+
+int ISceneNodeSetMaterialType(int newType);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeGetMaterial();
+
+int ISceneNodeGetScale();
+
+int ISceneNodeSetScale(int scale);
+
+int ISceneNodeGetRotation();
+
+int ISceneNodeSetRotation(int rotation);
+
+int ISceneNodeGetPosition();
+
+int ISceneNodeSetPosition(int newpos);
+
+int ISceneNodeGetAbsolutePosition();
+
+int ISceneNodeSetAutomaticCulling(int state);
+
+int ISceneNodeGetAutomaticCulling();
+
+int ISceneNodeSetDebugDataVisible(int state);
+
+int ISceneNodeIsDebugDataVisible();
+
+int ISceneNodeSetIsDebugObject(int debugObject);
+
+int ISceneNodeIsDebugObject();
+
+int ISceneNodeGetChildren();
+
+int ISceneNodeSetParent(int newParent);
+
+int ISceneNodeGrab();
+
+int ISceneNodeRemove();
+
+int ISceneNodeDrop();
+
+int ISceneNodeGetTriangleSelector();
+
+int ISceneNodeSetTriangleSelector(int selector);
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeGetAbsoluteTransformation();
+
+int ISceneNodeGetRelativeTransformation();
+
+int ISceneNodeGetParent();
+
+int ISceneNodeGetType();
+
+int ISceneNodeSerializeAttributes(int out, int options);
+
+int ISceneNodeAddString();
+
+int ISceneNodeAddInt();
+
+int ISceneNodeAddVector3d();
+
+int ISceneNodeAddVector3d();
+
+int ISceneNodeAddVector3d();
+
+int ISceneNodeAddBool();
+
+int ISceneNodeAddInt();
+
+int ISceneNodeAddInt();
+
+int ISceneNodeAddBool();
+
+int ISceneNodeDeserializeAttributes(int in, int options);
+
+int ISceneNodeGetAttributeAsString();
+
+int ISceneNodeGetAttributeAsInt();
+
+int ISceneNodeSetPosition();
+
+int ISceneNodeSetRotation();
+
+int ISceneNodeSetScale();
+
+int ISceneNodeGetAttributeAsBool();
+
+int ISceneNodeGetAttributeAsEnumeration(int AutomaticCullingNames);
+
+int ISceneNodeGetAttributeAsInt();
+
+int ISceneNodeGetAttributeAsInt();
+
+int ISceneNodeGetAttributeAsBool();
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeClone(int newParent, int newManager);
+
+int ISceneNodeGetSceneManager();
+
+int ITextSceneNodeITextSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int ITextSceneNodeSetText(char * text);
+
+int ITextSceneNodeSetTextColor(int color);
+
+int SMaterialLayerSMaterialLayer();
+
+int SMaterialLayerSMaterialLayer(int other);
+
+int SMaterialLayerSMaterialLayer();
+
+int SMaterialLayerDestruct();
+
+int SMaterialLayerDeallocate();
+
+int SMaterialLayerDestruct();
+
+int SMaterialLayerDeallocate();
+
+int SMaterialLayerAllocate();
+
+int SMaterialLayerConstruct(int TextureMatrix);
+
+int SMaterialLayerGetTextureMatrix();
+
+int SMaterialLayerAllocate();
+
+int SMaterialLayerConstruct(int IdentityMatrix);
+
+int SMaterialLayerGetTextureMatrix();
+
+int SMaterialLayerSetTextureMatrix(int mat);
+
+int SMaterialLayerAllocate();
+
+int SMaterialLayerConstruct();
+
+int IGUIStaticTextIGUIStaticText(int environment, int parent, int id, int EGUIET_STATIC_TEXT);
+
+int IGUIStaticTextSetOverrideFont(int font);
+
+int IGUIStaticTextGetOverrideFont();
+
+int IGUIStaticTextSetOverrideColor(int color);
+
+int IGUIStaticTextGetOverrideColor();
+
+int IGUIStaticTextEnableOverrideColor(int enable);
+
+int IGUIStaticTextIsOverrideColorEnabled();
+
+int IGUIStaticTextSetBackgroundColor(int color);
+
+int IGUIStaticTextSetDrawBackground(int draw);
+
+int IGUIStaticTextSetDrawBorder(int draw);
+
+int IGUIStaticTextSetTextAlignment(int horizontal, int vertical);
+
+int IGUIStaticTextSetWordWrap(int enable);
+
+int IGUIStaticTextIsWordWrapEnabled();
+
+int IGUIStaticTextGetTextHeight();
+
+int IGUIStaticTextGetTextWidth();
+
+int IParticleSystemSceneNodeIParticleSystemSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int IParticleSystemSceneNodeSetParticleSize(int size);
+
+int IParticleSystemSceneNodeSetParticlesAreGlobal(int global);
+
+int IParticleSystemSceneNodeGetEmitter();
+
+int IParticleSystemSceneNodeSetEmitter(int emitter);
+
+int IParticleSystemSceneNodeAddAffector(int affector);
+
+int IParticleSystemSceneNodeRemoveAllAffectors();
+
+int IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(int node, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateBoxEmitter(int box, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateCylinderEmitter(int center, int radius, int normal, int length, int outlineOnly, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateMeshEmitter(int mesh, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreatePointEmitter(int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateRingEmitter(int center, int radius, int ringThickness, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateSphereEmitter(int center, int radius, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateAttractionAffector(int point, int speed, int attract, int affectX, int affectY, int affectZ);
+
+int IParticleSystemSceneNodeCreateScaleParticleAffector(int scaleTo);
+
+int IParticleSystemSceneNodeCreateFadeOutParticleAffector(int targetColor, int timeNeededToFadeOut);
+
+int IParticleSystemSceneNodeCreateGravityAffector(int gravity, int timeForceLost);
+
+int IParticleSystemSceneNodeCreateRotationAffector(int speed, int pivotPoint);
+
+int ITerrainSceneNodeITerrainSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int ITerrainSceneNodeGetBoundingBox();
+
+int ITerrainSceneNodeGetBoundingBox(int patchX, int patchZ);
+
+int ITerrainSceneNodeGetIndexCount();
+
+int ITerrainSceneNodeGetMesh();
+
+int ITerrainSceneNodeGetRenderBuffer();
+
+int ITerrainSceneNodeGetMeshBufferForLOD(int mb, int LOD);
+
+int ITerrainSceneNodeGetIndicesForPatch(int indices, int patchX, int patchZ, int LOD);
+
+int ITerrainSceneNodeGetCurrentLODOfPatches(int LODs);
+
+int ITerrainSceneNodeSetLODOfPatch(int patchX, int patchZ, int LOD);
+
+int ITerrainSceneNodeGetTerrainCenter();
+
+int ITerrainSceneNodeGetHeight(int x, int y);
+
+int ITerrainSceneNodeSetCameraMovementDelta(int delta);
+
+int ITerrainSceneNodeSetCameraRotationDelta(int delta);
+
+int ITerrainSceneNodeSetDynamicSelectorUpdate(int bVal);
+
+int ITerrainSceneNodeOverrideLODDistance(int LOD, int newDistance);
+
+int ITerrainSceneNodeScaleTexture(int scale, int scale2);
+
+int ITerrainSceneNodeLoadHeightMap(int file, int vertexColor, int smoothFactor);
+
+int ITerrainSceneNodeLoadHeightMapRAW(int file, int bitsPerPixel, int signedData, int floatVals, int width, int vertexColor, int smoothFactor);
+
+int IGUIContextMenuIGUIContextMenu(int environment, int parent, int id, int EGUIET_CONTEXT_MENU);
+
+int IGUIContextMenuSetCloseHandling(int onClose);
+
+int IGUIContextMenuGetCloseHandling();
+
+int IGUIContextMenuGetItemCount();
+
+int IGUIContextMenuAddItem(char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking);
+
+int IGUIContextMenuInsertItem(int idx, char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking);
+
+int IGUIContextMenuFindItemWithCommandId(int commandId, int idxStartSearch);
+
+int IGUIContextMenuAddSeparator();
+
+int IGUIContextMenuGetItemText(int idx);
+
+int IGUIContextMenuSetItemText(int idx, char * text);
+
+int IGUIContextMenuIsItemEnabled(int idx);
+
+int IGUIContextMenuSetItemEnabled(int idx, int enabled);
+
+int IGUIContextMenuSetItemChecked(int idx, int enabled);
+
+int IGUIContextMenuIsItemChecked(int idx);
+
+int IGUIContextMenuRemoveItem(int idx);
+
+int IGUIContextMenuRemoveAllItems();
+
+int IGUIContextMenuGetSelectedItem();
+
+int IGUIContextMenuGetItemCommandId(int idx);
+
+int IGUIContextMenuSetItemCommandId(int idx, int id);
+
+int IGUIContextMenuGetSubMenu(int idx);
+
+int IGUIContextMenuSetItemAutoChecking(int idx, int autoChecking);
+
+int IGUIContextMenuGetItemAutoChecking(int idx);
+
+int IGUIContextMenuSetEventParent(int parent);
+
+int IImageLock();
+
+int IImageUnlock();
+
+int IImageGetDimension();
+
+int IImageGetBitsPerPixel();
+
+int IImageGetBytesPerPixel();
+
+int IImageGetImageDataSizeInBytes();
+
+int IImageGetImageDataSizeInPixels();
+
+int IImageGetPixel(int x, int y);
+
+int IImageSetPixel(int x, int y, int color, int blend);
+
+int IImageGetColorFormat();
+
+int IImageGetRedMask();
+
+int IImageGetGreenMask();
+
+int IImageGetBlueMask();
+
+int IImageGetAlphaMask();
+
+int IImageGetPitch();
+
+int IImageCopyToScaling(int target, int width, int height, int format, int pitch);
+
+int IImageCopyToScaling(int target);
+
+int IImageCopyTo(int target, int pos);
+
+int IImageCopyTo(int target, int pos, int sourceRect, int clipRect);
+
+int IImageCopyToWithAlpha(int target, int pos, int sourceRect, int color, int clipRect);
+
+int IImageCopyToScalingBoxFilter(int target, int bias, int blend);
+
+int IImageFill(int color);
+
+int IImageGetBitsPerPixelFromFormat(int format);
+
+int IImageSwitch();
+
+int IImageIsRenderTargetOnlyFormat(int format);
+
+int IImageSwitch();
+
+int IAnimatedMeshMD2GetFrameLoop(int l, int outBegin, int outEnd, int outFPS);
+
+int IAnimatedMeshMD2GetFrameLoop(char * name, int outBegin, int outEnd, int outFPS);
+
+int IAnimatedMeshMD2GetAnimationCount();
+
+int IAnimatedMeshMD2GetAnimationName(int nr);
+
+int IIndexBufferGetData();
+
+int IIndexBufferGetType();
+
+int IIndexBufferSetType(int IndexType);
+
+int IIndexBufferStride();
+
+int IIndexBufferSize();
+
+int IIndexBufferPush_back(int element);
+
+int IIndexBufferOperator(int index);
+
+int IIndexBufferGetLast();
+
+int IIndexBufferSetValue(int index, int value);
+
+int IIndexBufferSet_used(int usedNow);
+
+int IIndexBufferReallocate(int new_size);
+
+int IIndexBufferAllocated_size();
+
+int IIndexBufferPointer();
+
+int IIndexBufferGetHardwareMappingHint();
+
+int IIndexBufferSetHardwareMappingHint(int NewMappingHint);
+
+int IIndexBufferSetDirty();
+
+int IIndexBufferGetChangedID();
+
+int IVertexBufferGetData();
+
+int IVertexBufferGetType();
+
+int IVertexBufferSetType(int vertexType);
+
+int IVertexBufferStride();
+
+int IVertexBufferSize();
+
+int IVertexBufferPush_back(int element);
+
+int IVertexBufferOperator(int index);
+
+int IVertexBufferGetLast();
+
+int IVertexBufferSet_used(int usedNow);
+
+int IVertexBufferReallocate(int new_size);
+
+int IVertexBufferAllocated_size();
+
+int IVertexBufferPointer();
+
+int IVertexBufferGetHardwareMappingHint();
+
+int IVertexBufferSetHardwareMappingHint(int NewMappingHint);
+
+int IVertexBufferSetDirty();
+
+int IVertexBufferGetChangedID();
+
+int IWriteFileWrite(int buffer, int sizeToWrite);
+
+int IWriteFileSeek(int finalPos, int relativeMovement);
+
+int IWriteFileGetPos();
+
+int IWriteFileGetFileName();
+
+int IWriteFileCreateWriteFile(int fileName, int append);
+
+int IImageWriterIsAWriteableFileExtension(int filename);
+
+int IImageWriterWriteImage(int file, int image, int param);
+
+int IReadFileRead(int buffer, int sizeToRead);
+
+int IReadFileSeek(int finalPos, int relativeMovement);
+
+int IReadFileGetSize();
+
+int IReadFileGetPos();
+
+int IReadFileGetFileName();
+
+int IReadFileCreateReadFile(int fileName);
+
+int IReadFileCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize);
+
+int IReadFileCreateMemoryReadFile(int memory, int size, int fileName, int deleteMemoryWhenDropped);
+
+int IBillboardSceneNodeIBillboardSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int IBillboardSceneNodeSetSize(int size);
+
+int IBillboardSceneNodeGetSize();
+
+int IBillboardSceneNodeSetColor(int overallColor);
+
+int IBillboardSceneNodeSetColor(int topColor, int bottomColor);
+
+int IBillboardSceneNodeGetColor(int topColor, int bottomColor);
+
+int IAttributeExchangingObjectSerializeAttributes(int out, int options);
+
+int IAttributeExchangingObjectDeserializeAttributes(int in, int options);
+
+int IParticleEmitterEmitt(int now, int timeSinceLastCall, int outArray);
+
+int IParticleEmitterSetDirection(int newDirection);
+
+int IParticleEmitterSetMinParticlesPerSecond(int minPPS);
+
+int IParticleEmitterSetMaxParticlesPerSecond(int maxPPS);
+
+int IParticleEmitterSetMinStartColor(int color);
+
+int IParticleEmitterSetMaxStartColor(int color);
+
+int IParticleEmitterSetMaxStartSize(int size);
+
+int IParticleEmitterSetMinStartSize(int size);
+
+int IParticleEmitterGetDirection();
+
+int IParticleEmitterGetMinParticlesPerSecond();
+
+int IParticleEmitterGetMaxParticlesPerSecond();
+
+int IParticleEmitterGetMinStartColor();
+
+int IParticleEmitterGetMaxStartColor();
+
+int IParticleEmitterGetMaxStartSize();
+
+int IParticleEmitterGetMinStartSize();
+
+int IParticleEmitterGetType();
+
+int IIndexListIIndexList();
+
+int IIndexListStride();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int element);
+
+int IIndexListOperator(int index);
+
+int IIndexListGetLast();
+
+int IIndexListSetValue(int index, int value);
+
+int IIndexListSet_used(int usedNow);
+
+int IIndexListReallocate(int new_size);
+
+int IIndexListAllocated_size();
+
+int IIndexListPointer();
+
+int IIndexListGetType();
+
+int IIndexListStride();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int element);
+
+int IIndexListPush_back(int element);
+
+int IIndexListOperator(int index);
+
+int IIndexListGetLast();
+
+int IIndexListSetValue(int index, int value);
+
+int IIndexListSet_used(int usedNow);
+
+int IIndexListSet_used();
+
+int IIndexListReallocate(int new_size);
+
+int IIndexListReallocate();
+
+int IIndexListAllocated_size();
+
+int IIndexListPointer();
+
+int IIndexListGetType();
+
+int IIndexListCIndexBuffer();
+
+int IIndexListSetType();
+
+int IIndexListCIndexBuffer();
+
+int IIndexListSetType();
+
+int IIndexListReallocate();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int n);
+
+int IIndexListCIndexBuffer();
+
+int IIndexListSetType(int IndexType);
+
+int IIndexListSwitch();
+
+int IIndexListReallocate();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int n);
+
+int IIndexListGetData();
+
+int IIndexListGetType();
+
+int IIndexListStride();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int element);
+
+int IIndexListPush_back();
+
+int IIndexListOperator(int index);
+
+int IIndexListGetLast();
+
+int IIndexListSetValue(int index, int value);
+
+int IIndexListSetValue();
+
+int IIndexListSet_used(int usedNow);
+
+int IIndexListSet_used();
+
+int IIndexListReallocate(int new_size);
+
+int IIndexListReallocate();
+
+int IIndexListAllocated_size();
+
+int IIndexListPointer();
+
+int IIndexListGetHardwareMappingHint();
+
+int IIndexListSetHardwareMappingHint(int NewMappingHint);
+
+int IIndexListSetDirty();
+
+int IIndexListGetChangedID();
+
+int IParticleAffectorIParticleAffector();
+
+int IParticleAffectorAffect(int now, int particlearray, int count);
+
+int IParticleAffectorSetEnabled(int enabled);
+
+int IParticleAffectorGetEnabled();
+
+int IParticleAffectorGetType();
+
+int IParticleRotationAffectorSetPivotPoint(int point);
+
+int IParticleRotationAffectorSetSpeed(int speed);
+
+int IParticleRotationAffectorGetPivotPoint();
+
+int IParticleRotationAffectorGetSpeed();
+
+int IParticleRotationAffectorGetType();
+
+int IGUICheckBoxIGUICheckBox(int environment, int parent, int id, int EGUIET_CHECK_BOX);
+
+int IGUICheckBoxSetChecked(int checked);
+
+int IGUICheckBoxIsChecked();
+
+int IGeometryCreatorCreateCubeMesh(int size);
+
+int IGeometryCreatorCreateHillPlaneMesh(int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount);
+
+int IGeometryCreatorCreatePlaneMesh(int tileSize, int tileCount, int material, int textureRepeatCount);
+
+int IGeometryCreatorCreateTerrainMesh(int texture, int heightmap, int stretchSize, int maxHeight, int driver, int defaultVertexBlockSize, int debugBorders);
+
+int IGeometryCreatorCreateArrowMesh(int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int widthCylinder, int widthCone, int colorCylinder, int colorCone);
+
+int IGeometryCreatorCreateSphereMesh(int radius, int polyCountX, int polyCountY);
+
+int IGeometryCreatorCreateCylinderMesh(int radius, int length, int tesselation, int color, int closeTop, int oblique);
+
+int IGeometryCreatorCreateConeMesh(int radius, int length, int tesselation, int colorTop, int colorBottom, int oblique);
+
+int IGeometryCreatorCreateVolumeLightMesh(int subdivideU, int subdivideV, int footColor, int tailColor, int lpDistance, int lightDim);
+
+int IBillboardTextSceneNodeIBillboardTextSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int IBillboardTextSceneNodeSetSize(int size);
+
+int IBillboardTextSceneNodeGetSize();
+
+int IBillboardTextSceneNodeSetColor(int overallColor);
+
+int IBillboardTextSceneNodeSetColor(int topColor, int bottomColor);
+
+int IBillboardTextSceneNodeGetColor(int topColor, int bottomColor);
+
+int IBillboardTextSceneNodeSetText(char * text);
+
+int IBillboardTextSceneNodeSetTextColor(int color);
+
+int IParticleFadeOutAffectorSetTargetColor(int targetColor);
+
+int IParticleFadeOutAffectorSetFadeOutTime(int fadeOutTime);
+
+int IParticleFadeOutAffectorGetTargetColor();
+
+int IParticleFadeOutAffectorGetFadeOutTime();
+
+int IParticleFadeOutAffectorGetType();
+
+int IShadowVolumeSceneNodeIShadowVolumeSceneNode(int parent, int mgr, int parent);
+
+int IShadowVolumeSceneNodeSetShadowMesh(int mesh);
+
+int IShadowVolumeSceneNodeUpdateShadowVolumes();
+
+int IFileListGetFileCount();
+
+int IFileListGetFileName(int index);
+
+int IFileListGetFullFileName(int index);
+
+int IFileListGetFileSize(int index);
+
+int IFileListGetID(int index);
+
+int IFileListIsDirectory(int index);
+
+int IFileListFindFile(int filename, int isFolder);
+
+int IFileListGetPath();
+
+int IFileListAddItem(int fullPath, int size, int isDirectory, int id);
+
+int IFileListSort();
+
+int IMeshGetMeshBufferCount();
+
+int IMeshGetMeshBuffer(int nr);
+
+int IMeshGetMeshBuffer(int material);
+
+int IMeshGetBoundingBox();
+
+int IMeshSetBoundingBox(int box);
+
+int IMeshSetMaterialFlag(int flag, int newvalue);
+
+int IMeshSetHardwareMappingHint(int newMappingHint, int buffer);
+
+int IMeshSetDirty(int buffer);
+
+int IrrlichtDeviceRun();
+
+int IrrlichtDeviceYield();
+
+int IrrlichtDeviceSleep(int timeMs, int pauseTimer);
+
+int IrrlichtDeviceGetVideoDriver();
+
+int IrrlichtDeviceGetFileSystem();
+
+int IrrlichtDeviceGetGUIEnvironment();
+
+int IrrlichtDeviceGetSceneManager();
+
+int IrrlichtDeviceGetCursorControl();
+
+int IrrlichtDeviceGetLogger();
+
+int IrrlichtDeviceGetVideoModeList();
+
+int IrrlichtDeviceGetOSOperator();
+
+int IrrlichtDeviceGetTimer();
+
+int IrrlichtDeviceSetWindowCaption(char * text);
+
+int IrrlichtDeviceIsWindowActive();
+
+int IrrlichtDeviceIsWindowFocused();
+
+int IrrlichtDeviceIsWindowMinimized();
+
+int IrrlichtDeviceIsFullscreen();
+
+int IrrlichtDeviceGetColorFormat();
+
+int IrrlichtDeviceCloseDevice();
+
+int IrrlichtDeviceGetVersion();
+
+int IrrlichtDeviceSetEventReceiver(int receiver);
+
+int IrrlichtDeviceGetEventReceiver();
+
+int IrrlichtDevicePostEventFromUser(int event);
+
+int IrrlichtDeviceSetInputReceivingSceneManager(int sceneManager);
+
+int IrrlichtDeviceSetResizable(int resize);
+
+int IrrlichtDeviceMinimizeWindow();
+
+int IrrlichtDeviceMaximizeWindow();
+
+int IrrlichtDeviceRestoreWindow();
+
+int IrrlichtDeviceActivateJoysticks(int joystickInfo);
+
+int IrrlichtDeviceSetGammaRamp(int red, int green, int blue, int relativebrightness, int relativecontrast);
+
+int IrrlichtDeviceGetGammaRamp(int red, int green, int blue, int brightness, int contrast);
+
+int IrrlichtDeviceClearSystemMessages();
+
+int IrrlichtDeviceGetType();
+
+int IrrlichtDeviceIsDriverSupported(int driver);
+
+int IrrlichtDeviceSwitch();
+
+int IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(int node);
+
+int IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(int useNormalDirection);
+
+int IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(int normalDirectionModifier);
+
+int IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(int everyMeshVertex);
+
+int IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode();
+
+int IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection();
+
+int IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier();
+
+int IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex();
+
+int IParticleAnimatedMeshSceneNodeEmitterGetType();
+
+int SVertexColorGammaManipulatorSVertexColorGammaManipulator();
+
+int SVertexColorGammaManipulatorOperator(int vertex);
+
+int SVertexColorGammaManipulatorSetRed();
+
+int SVertexColorGammaManipulatorSetGreen();
+
+int SVertexColorGammaManipulatorSetBlue();
+
+int SVertexColorSetManipulatorSVertexColorSetManipulator(int color);
+
+int SVertexColorSetManipulatorOperator(int vertex);
+
+int SVertexTCoordsScaleManipulatorSVertexTCoordsScaleManipulator(int factor, int uvSet, int uvSet);
+
+int SVertexTCoordsScaleManipulatorOperator(int vertex);
+
+int SVertexTCoordsScaleManipulatorOperator(int vertex);
+
+int SVertexColorBrightnessManipulatorSVertexColorBrightnessManipulator(int amount);
+
+int SVertexColorBrightnessManipulatorOperator(int vertex);
+
+int SVertexColorBrightnessManipulatorSetRed(int Amount, int u);
+
+int SVertexColorBrightnessManipulatorSetGreen(int Amount, int u);
+
+int SVertexColorBrightnessManipulatorSetBlue(int Amount, int u);
+
+int SVertexColorSetAlphaManipulatorSVertexColorSetAlphaManipulator(int alpha);
+
+int SVertexColorSetAlphaManipulatorOperator(int vertex);
+
+int SVertexColorSetAlphaManipulatorSetAlpha();
+
+int SVertexColorInvertManipulatorOperator(int vertex);
+
+int SVertexColorInvertManipulatorSetRed();
+
+int SVertexColorInvertManipulatorSetGreen();
+
+int SVertexColorInvertManipulatorSetBlue();
+
+int SVertexColorInterpolateLinearManipulatorSVertexColorInterpolateLinearManipulator(int color, int factor);
+
+int SVertexColorInterpolateLinearManipulatorOperator(int vertex);
+
+int SVertexColorInterpolateLinearManipulatorGetInterpolated();
+
+int SVertexColorThresholdManipulatorSVertexColorThresholdManipulator(int threshold, int low, int high);
+
+int SVertexColorThresholdManipulatorOperator(int vertex);
+
+int SVertexColorContrastManipulatorSVertexColorContrastManipulator(int factor);
+
+int SVertexColorContrastManipulatorOperator(int vertex);
+
+int SVertexColorContrastManipulatorSetRed();
+
+int SVertexColorContrastManipulatorSetGreen();
+
+int SVertexColorContrastManipulatorSetBlue();
+
+int SVertexPositionScaleManipulatorSVertexPositionScaleManipulator(int factor);
+
+int SVertexPositionScaleManipulatorOperator(int vertex);
+
+int SVertexColorContrastBrightnessManipulatorSVertexColorContrastBrightnessManipulator(int factor);
+
+int SVertexColorContrastBrightnessManipulatorOperator(int vertex);
+
+int SVertexColorContrastBrightnessManipulatorSetRed(int Amount);
+
+int SVertexColorContrastBrightnessManipulatorSetGreen(int Amount);
+
+int SVertexColorContrastBrightnessManipulatorSetBlue(int Amount);
+
+int SVertexColorScaleManipulatorSVertexColorScaleManipulator(int factor);
+
+int SVertexColorScaleManipulatorOperator(int vertex);
+
+int SVertexColorScaleManipulatorSetRed();
+
+int SVertexColorScaleManipulatorSetGreen();
+
+int SVertexColorScaleManipulatorSetBlue();
+
+int SVertexColorDesaturateToLuminanceManipulatorOperator(int vertex);
+
+int SVertexColorDesaturateToLuminanceManipulatorRound32();
+
+int SVertexColorInterpolateQuadraticManipulatorSVertexColorInterpolateQuadraticManipulator(int color1, int color2, int factor);
+
+int SVertexColorInterpolateQuadraticManipulatorOperator(int vertex);
+
+int SVertexColorInterpolateQuadraticManipulatorGetInterpolated_quadratic();
+
+int SVertexColorDesaturateToLightnessManipulatorOperator(int vertex);
+
+int SVertexColorDesaturateToLightnessManipulatorRound32();
+
+int SVertexColorDesaturateToAverageManipulatorOperator(int vertex);
+
+int SVertexColorDesaturateToAverageManipulatorGetAverage();
+
+int SVertexPositionScaleAlongNormalsManipulatorSVertexPositionScaleAlongNormalsManipulator(int factor);
+
+int SVertexPositionScaleAlongNormalsManipulatorOperator(int vertex);
+
+int SVertexPositionTransformManipulatorSVertexPositionTransformManipulator(int m);
+
+int SVertexPositionTransformManipulatorOperator(int vertex);
+
+int SVertexPositionTransformManipulatorTransformVect(int Pos);
+
+int ITextureITexture(int name);
+
+int ITextureLock(int readOnly, int mipmapLevel);
+
+int ITextureUnlock();
+
+int ITextureGetOriginalSize();
+
+int ITextureGetSize();
+
+int ITextureGetDriverType();
+
+int ITextureGetColorFormat();
+
+int ITextureGetPitch();
+
+int ITextureHasMipMaps();
+
+int ITextureHasAlpha();
+
+int ITextureRegenerateMipMapLevels(int mipmapData);
+
+int ITextureIsRenderTarget();
+
+int ITextureGetName();
+
+int IAnimatedMeshGetFrameCount();
+
+int IAnimatedMeshGetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop);
+
+int IAnimatedMeshGetMeshType();
+
+int IGUIToolBarIGUIToolBar(int environment, int parent, int id, int EGUIET_TOOL_BAR);
+
+int IGUIToolBarAddButton(int id, char * text, char * tooltiptext, int img, int pressedimg, int isPushButton, int useAlphaChannel);
+
+int ISceneCollisionManagerGetCollisionPoint(int ray, int selector, int outCollisionPoint, int outTriangle, int outNode);
+
+int ISceneCollisionManagerGetCollisionResultPosition(int selector, int ellipsoidPosition, int ellipsoidRadius, int ellipsoidDirectionAndSpeed, int triout, int hitPosition, int outFalling, int outNode, int slidingSpeed, int gravityDirectionAndSpeed);
+
+int ISceneCollisionManagerGetRayFromScreenCoordinates(int pos, int camera);
+
+int ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(int pos, int camera);
+
+int ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(int pos, int idBitMask, int bNoDebugObjects, int root);
+
+int ISceneCollisionManagerGetSceneNodeFromRayBB(int ray, int idBitMask, int bNoDebugObjects, int root);
+
+int ISceneCollisionManagerGetSceneNodeFromCameraBB(int camera, int idBitMask, int bNoDebugObjects);
+
+int ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(int ray, int outCollisionPoint, int outTriangle, int idBitMask, int collisionRootNode, int noDebugObjects);
+
+int IGUIEnvironmentDrawAll();
+
+int IGUIEnvironmentSetFocus(int element);
+
+int IGUIEnvironmentGetFocus();
+
+int IGUIEnvironmentRemoveFocus(int element);
+
+int IGUIEnvironmentHasFocus(int element);
+
+int IGUIEnvironmentGetVideoDriver();
+
+int IGUIEnvironmentGetFileSystem();
+
+int IGUIEnvironmentGetOSOperator();
+
+int IGUIEnvironmentClear();
+
+int IGUIEnvironmentPostEventFromUser(int event);
+
+int IGUIEnvironmentSetUserEventReceiver(int evr);
+
+int IGUIEnvironmentGetSkin();
+
+int IGUIEnvironmentSetSkin(int skin);
+
+int IGUIEnvironmentCreateSkin(int type);
+
+int IGUIEnvironmentCreateImageList(int texture, int imageSize, int useAlphaChannel);
+
+int IGUIEnvironmentGetFont(int filename);
+
+int IGUIEnvironmentAddFont(int name, int font);
+
+int IGUIEnvironmentGetBuiltInFont();
+
+int IGUIEnvironmentGetSpriteBank(int filename);
+
+int IGUIEnvironmentAddEmptySpriteBank(int name);
+
+int IGUIEnvironmentGetRootGUIElement();
+
+int IGUIEnvironmentAddButton(int rectangle, int parent, int id, char * text, char * tooltiptext);
+
+int IGUIEnvironmentAddWindow(int rectangle, int modal, char * text, int parent, int id);
+
+int IGUIEnvironmentAddModalScreen(int parent);
+
+int IGUIEnvironmentAddMessageBox(char * caption, char * text, int modal, int flags, int parent, int id, int image);
+
+int IGUIEnvironmentAddScrollBar(int horizontal, int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddImage(int image, int pos, int useAlphaChannel, int parent, int id, char * text);
+
+int IGUIEnvironmentAddImage(int rectangle, int parent, int id, char * text);
+
+int IGUIEnvironmentAddCheckBox(int checked, int rectangle, int parent, int id, char * text);
+
+int IGUIEnvironmentAddListBox(int rectangle, int parent, int id, int drawBackground);
+
+int IGUIEnvironmentAddTreeView(int rectangle, int parent, int id, int drawBackground, int scrollBarVertical, int scrollBarHorizontal);
+
+int IGUIEnvironmentAddMeshViewer(int rectangle, int parent, int id, char * text);
+
+int IGUIEnvironmentAddFileOpenDialog(char * title, int modal, int parent, int id);
+
+int IGUIEnvironmentAddColorSelectDialog(char * title, int modal, int parent, int id);
+
+int IGUIEnvironmentAddStaticText(char * text, int rectangle, int border, int wordWrap, int parent, int id, int fillBackground);
+
+int IGUIEnvironmentAddEditBox(char * text, int rectangle, int border, int parent, int id);
+
+int IGUIEnvironmentAddSpinBox(char * text, int rectangle, int border, int parent, int id);
+
+int IGUIEnvironmentAddInOutFader(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddTabControl(int rectangle, int parent, int fillbackground, int border, int id);
+
+int IGUIEnvironmentAddTab(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddContextMenu(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddMenu(int parent, int id);
+
+int IGUIEnvironmentAddToolBar(int parent, int id);
+
+int IGUIEnvironmentAddComboBox(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddTable(int rectangle, int parent, int id, int drawBackground);
+
+int IGUIEnvironmentGetDefaultGUIElementFactory();
+
+int IGUIEnvironmentRegisterGUIElementFactory(int factoryToAdd);
+
+int IGUIEnvironmentGetRegisteredGUIElementFactoryCount();
+
+int IGUIEnvironmentGetGUIElementFactory(int index);
+
+int IGUIEnvironmentAddGUIElement(char * elementName, int parent);
+
+int IGUIEnvironmentSaveGUI(int filename, int start);
+
+int IGUIEnvironmentSaveGUI(int file, int start);
+
+int IGUIEnvironmentLoadGUI(int filename, int parent);
+
+int IGUIEnvironmentLoadGUI(int file, int parent);
+
+int IGUIEnvironmentSerializeAttributes(int out, int options);
+
+int IGUIEnvironmentDeserializeAttributes(int in, int options);
+
+int IGUIEnvironmentWriteGUIElement(int writer, int node);
+
+int IGUIEnvironmentReadGUIElement(int reader, int node);
+
+int IGUIImageListIGUIImageList();
+
+int IGUIImageListDraw(int index, int destPos, int clip);
+
+int IGUIImageListGetImageCount();
+
+int IGUIImageListGetImageSize();
+
+int IGUITreeViewNodeGetOwner();
+
+int IGUITreeViewNodeGetParent();
+
+int IGUITreeViewNodeGetText();
+
+int IGUITreeViewNodeSetText(char * text);
+
+int IGUITreeViewNodeGetIcon();
+
+int IGUITreeViewNodeSetIcon(char * icon);
+
+int IGUITreeViewNodeGetImageIndex();
+
+int IGUITreeViewNodeSetImageIndex(int imageIndex);
+
+int IGUITreeViewNodeGetSelectedImageIndex();
+
+int IGUITreeViewNodeSetSelectedImageIndex(int imageIndex);
+
+int IGUITreeViewNodeGetData();
+
+int IGUITreeViewNodeSetData(int data);
+
+int IGUITreeViewNodeGetData2();
+
+int IGUITreeViewNodeSetData2(int data);
+
+int IGUITreeViewNodeGetChildCount();
+
+int IGUITreeViewNodeClearChilds();
+
+int IGUITreeViewNodeHasChilds();
+
+int IGUITreeViewNodeAddChildBack(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeAddChildFront(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeInsertChildAfter(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeInsertChildBefore(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeGetFirstChild();
+
+int IGUITreeViewNodeGetLastChild();
+
+int IGUITreeViewNodeGetPrevSibling();
+
+int IGUITreeViewNodeGetNextSibling();
+
+int IGUITreeViewNodeGetNextVisible();
+
+int IGUITreeViewNodeDeleteChild(int child);
+
+int IGUITreeViewNodeMoveChildUp(int child);
+
+int IGUITreeViewNodeMoveChildDown(int child);
+
+int IGUITreeViewNodeGetExpanded();
+
+int IGUITreeViewNodeSetExpanded(int expanded);
+
+int IGUITreeViewNodeGetSelected();
+
+int IGUITreeViewNodeSetSelected(int selected);
+
+int IGUITreeViewNodeIsRoot();
+
+int IGUITreeViewNodeGetLevel();
+
+int IGUITreeViewNodeIsVisible();
+
+int IGUITreeViewIGUITreeView(int environment, int parent, int id, int EGUIET_TREE_VIEW);
+
+int IGUITreeViewGetRoot();
+
+int IGUITreeViewGetSelected();
+
+int IGUITreeViewGetLinesVisible();
+
+int IGUITreeViewSetLinesVisible(int visible);
+
+int IGUITreeViewSetIconFont(int font);
+
+int IGUITreeViewSetImageList(int imageList);
+
+int IGUITreeViewGetImageList();
+
+int IGUITreeViewSetImageLeftOfIcon(int bLeftOf);
+
+int IGUITreeViewGetImageLeftOfIcon();
+
+int IGUITreeViewGetLastEventNode();
+
+int IGUIScrollBarIGUIScrollBar(int environment, int parent, int id, int EGUIET_SCROLL_BAR);
+
+int IGUIScrollBarSetMax(int max);
+
+int IGUIScrollBarGetMax();
+
+int IGUIScrollBarSetMin(int min);
+
+int IGUIScrollBarGetMin();
+
+int IGUIScrollBarGetSmallStep();
+
+int IGUIScrollBarSetSmallStep(int step);
+
+int IGUIScrollBarGetLargeStep();
+
+int IGUIScrollBarSetLargeStep(int step);
+
+int IGUIScrollBarGetPos();
+
+int IGUIScrollBarSetPos(int pos);
+
+int IVolumeLightSceneNodeIVolumeLightSceneNode(int parent, int mgr, int id, int position, int rotation, int parent);
+
+int IVolumeLightSceneNodeGetType();
+
+int IVolumeLightSceneNodeSetSubDivideU(int inU);
+
+int IVolumeLightSceneNodeSetSubDivideV(int inV);
+
+int IVolumeLightSceneNodeGetSubDivideU();
+
+int IVolumeLightSceneNodeGetSubDivideV();
+
+int IVolumeLightSceneNodeSetFootColor(int inColour);
+
+int IVolumeLightSceneNodeSetTailColor(int inColour);
+
+int IVolumeLightSceneNodeGetFootColor();
+
+int IVolumeLightSceneNodeGetTailColor();
+
+int IGUIWindowIGUIWindow(int environment, int parent, int id, int EGUIET_WINDOW);
+
+int IGUIWindowGetCloseButton();
+
+int IGUIWindowGetMinimizeButton();
+
+int IGUIWindowGetMaximizeButton();
+
+int IGUIWindowIsDraggable();
+
+int IGUIWindowSetDraggable(int draggable);
+
+int IGUIWindowSetDrawBackground(int draw);
+
+int IGUIWindowGetDrawBackground();
+
+int IGUIWindowSetDrawTitlebar(int draw);
+
+int IGUIWindowGetDrawTitlebar();
+
+int IGUIWindowGetClientRect();
+
+int IGUIFileOpenDialogIGUIFileOpenDialog(int environment, int parent, int id, int EGUIET_FILE_OPEN_DIALOG);
+
+int IGUIFileOpenDialogGetFileName();
+
+int IGUIFileOpenDialogGetDirectoryName();
+
+int IParticleBoxEmitterSetBox(int box);
+
+int IParticleBoxEmitterGetBox();
+
+int IParticleBoxEmitterGetType();
+
+int ICursorControlSetVisible(int visible);
+
+int ICursorControlIsVisible();
+
+int ICursorControlSetPosition(int pos);
+
+int ICursorControlSetPosition(int x, int y);
+
+int ICursorControlSetPosition(int pos);
+
+int ICursorControlSetPosition(int x, int y);
+
+int ICursorControlGetPosition();
+
+int ICursorControlGetRelativePosition();
+
+int ICursorControlSetReferenceRect(int rect);
+
+int ICursorControlSetActiveIcon(int iconId);
+
+int ICursorControlGetActiveIcon();
+
+int ICursorControlAddIcon(int icon);
+
+int ICursorControlChangeIcon(int iconId, int sprite);
+
+int ICursorControlGetSupportedIconSize();
+
+int IBoneSceneNodeIBoneSceneNode(int parent, int mgr, int id);
+
+int IBoneSceneNodeGetBoneName();
+
+int IBoneSceneNodeGetBoneIndex();
+
+int IBoneSceneNodeSetAnimationMode(int mode);
+
+int IBoneSceneNodeGetAnimationMode();
+
+int IBoneSceneNodeGetBoundingBox();
+
+int IBoneSceneNodeOnAnimate(int timeMs);
+
+int IBoneSceneNodeRender();
+
+int IBoneSceneNodeSetSkinningSpace(int space);
+
+int IBoneSceneNodeGetSkinningSpace();
+
+int IBoneSceneNodeUpdateAbsolutePositionOfAllChildren();
+
+int IMaterialRendererServicesIMaterialRendererServices();
+
+int IMaterialRendererServicesSetBasicRenderStates(int material, int lastMaterial, int resetAllRenderstates);
+
+int IMaterialRendererServicesSetVertexShaderConstant(char * name, int floats, int count);
+
+int IMaterialRendererServicesSetVertexShaderConstant(int data, int startRegister, int constantAmount);
+
+int IMaterialRendererServicesSetPixelShaderConstant(char * name, int floats, int count);
+
+int IMaterialRendererServicesSetPixelShaderConstant(int data, int startRegister, int constantAmount);
+
+int IMaterialRendererServicesGetVideoDriver();
+
+int IVertexListIVertexList();
+
+int IVertexListStride();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int element);
+
+int IVertexListOperator(int index);
+
+int IVertexListGetLast();
+
+int IVertexListSet_used(int usedNow);
+
+int IVertexListReallocate(int new_size);
+
+int IVertexListAllocated_size();
+
+int IVertexListPointer();
+
+int IVertexListGetType();
+
+int IVertexListStride();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int element);
+
+int IVertexListPush_back(int element);
+
+int IVertexListOperator(int index);
+
+int IVertexListGetLast();
+
+int IVertexListSet_used(int usedNow);
+
+int IVertexListSet_used();
+
+int IVertexListReallocate(int new_size);
+
+int IVertexListReallocate();
+
+int IVertexListAllocated_size();
+
+int IVertexListPointer();
+
+int IVertexListGetType();
+
+int IVertexListCVertexBuffer();
+
+int IVertexListSetType();
+
+int IVertexListCVertexBuffer();
+
+int IVertexListSetType();
+
+int IVertexListReallocate();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int n);
+
+int IVertexListCVertexBuffer();
+
+int IVertexListSetType(int vertexType);
+
+int IVertexListSwitch();
+
+int IVertexListReallocate();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int n);
+
+int IVertexListGetData();
+
+int IVertexListGetType();
+
+int IVertexListStride();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int element);
+
+int IVertexListPush_back();
+
+int IVertexListOperator(int index);
+
+int IVertexListGetLast();
+
+int IVertexListSet_used(int usedNow);
+
+int IVertexListSet_used();
+
+int IVertexListReallocate(int new_size);
+
+int IVertexListReallocate();
+
+int IVertexListAllocated_size();
+
+int IVertexListPointer();
+
+int IVertexListGetHardwareMappingHint();
+
+int IVertexListSetHardwareMappingHint(int NewMappingHint);
+
+int IVertexListSetDirty();
+
+int IVertexListGetChangedID();
+
+int ISceneNodeAnimatorCameraFPSGetMoveSpeed();
+
+int ISceneNodeAnimatorCameraFPSSetMoveSpeed(int moveSpeed);
+
+int ISceneNodeAnimatorCameraFPSGetRotateSpeed();
+
+int ISceneNodeAnimatorCameraFPSSetRotateSpeed(int rotateSpeed);
+
+int ISceneNodeAnimatorCameraFPSSetKeyMap(int map, int count);
+
+int ISceneNodeAnimatorCameraFPSSetVerticalMovement(int allow);
+
+int ISceneNodeAnimatorCameraFPSSetInvertMouse(int invert);
+
+int IGUITabIGUITab(int environment, int parent, int id, int EGUIET_TAB);
+
+int IGUITabGetNumber();
+
+int IGUITabSetDrawBackground(int draw);
+
+int IGUITabSetBackgroundColor(int c);
+
+int IGUITabIsDrawingBackground();
+
+int IGUITabGetBackgroundColor();
+
+int IGUITabSetTextColor(int c);
+
+int IGUITabGetTextColor();
+
+int IGUITabControlIGUITabControl(int environment, int parent, int id, int EGUIET_TAB_CONTROL);
+
+int IGUITabControlAddTab(char * caption, int id);
+
+int IGUITabControlGetTabCount();
+
+int IGUITabControlGetTab(int idx);
+
+int IGUITabControlSetActiveTab(int idx);
+
+int IGUITabControlSetActiveTab(int tab);
+
+int IGUITabControlGetActiveTab();
+
+int IGUITabControlSetTabHeight(int height);
+
+int IGUITabControlGetTabHeight();
+
+int IGUITabControlSetTabMaxWidth(int width);
+
+int IGUITabControlGetTabMaxWidth();
+
+int IGUITabControlSetTabVerticalAlignment(int alignment);
+
+int IGUITabControlGetTabVerticalAlignment();
+
+int IGUITabControlSetTabExtraWidth(int extraWidth);
+
+int IGUITabControlGetTabExtraWidth();
+
+int IParticleCylinderEmitterSetCenter(int center);
+
+int IParticleCylinderEmitterSetNormal(int normal);
+
+int IParticleCylinderEmitterSetRadius(int radius);
+
+int IParticleCylinderEmitterSetLength(int length);
+
+int IParticleCylinderEmitterSetOutlineOnly(int outlineOnly);
+
+int IParticleCylinderEmitterGetCenter();
+
+int IParticleCylinderEmitterGetNormal();
+
+int IParticleCylinderEmitterGetRadius();
+
+int IParticleCylinderEmitterGetLength();
+
+int IParticleCylinderEmitterGetOutlineOnly();
+
+int IParticleCylinderEmitterGetType();
+
+int IGUISpriteBankGetPositions();
+
+int IGUISpriteBankGetSprites();
+
+int IGUISpriteBankGetTextureCount();
+
+int IGUISpriteBankGetTexture(int index);
+
+int IGUISpriteBankAddTexture(int texture);
+
+int IGUISpriteBankSetTexture(int index, int texture);
+
+int IGUISpriteBankAddTextureAsSprite(int texture);
+
+int IGUISpriteBankClear();
+
+int IGUISpriteBankDraw2DSprite(int index, int pos, int clip, int color, int starttime, int currenttime, int loop, int center);
+
+int IGUISpriteBankDraw2DSpriteBatch(int indices, int pos, int clip, int color, int starttime, int currenttime, int loop, int center);
+
+int IMetaTriangleSelectorAddTriangleSelector(int toAdd);
+
+int IMetaTriangleSelectorRemoveTriangleSelector(int toRemove);
+
+int IMetaTriangleSelectorRemoveAllTriangleSelectors();
+
+int IGUIImageIGUIImage(int environment, int parent, int id, int EGUIET_IMAGE);
+
+int IGUIImageSetImage(int image);
+
+int IGUIImageSetColor(int color);
+
+int IGUIImageSetScaleImage(int scale);
+
+int IGUIImageSetUseAlphaChannel(int use);
+
+int IGUIImageIsImageScaled();
+
+int IGUIImageIsAlphaChannelUsed();
+
+int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode();
+
+int IAnimatedMeshSceneNodeSetCurrentFrame(int frame);
+
+int IAnimatedMeshSceneNodeSetFrameLoop(int begin, int end);
+
+int IAnimatedMeshSceneNodeSetAnimationSpeed(int framesPerSecond);
+
+int IAnimatedMeshSceneNodeGetAnimationSpeed();
+
+int IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(int shadowMesh, int id, int zfailmethod, int infinity);
+
+int IAnimatedMeshSceneNodeGetJointNode(char * jointName);
+
+int IAnimatedMeshSceneNodeGetJointNode(int jointID);
+
+int IAnimatedMeshSceneNodeGetJointCount();
+
+int IAnimatedMeshSceneNodeGetMS3DJointNode(char * jointName);
+
+int IAnimatedMeshSceneNodeGetXJointNode(char * jointName);
+
+int IAnimatedMeshSceneNodeSetMD2Animation(int anim);
+
+int IAnimatedMeshSceneNodeSetMD2Animation(char * animationName);
+
+int IAnimatedMeshSceneNodeGetFrameNr();
+
+int IAnimatedMeshSceneNodeGetStartFrame();
+
+int IAnimatedMeshSceneNodeGetEndFrame();
+
+int IAnimatedMeshSceneNodeSetLoopMode(int playAnimationLooped);
+
+int IAnimatedMeshSceneNodeSetAnimationEndCallback(int callback);
+
+int IAnimatedMeshSceneNodeSetReadOnlyMaterials(int readonly);
+
+int IAnimatedMeshSceneNodeIsReadOnlyMaterials();
+
+int IAnimatedMeshSceneNodeSetMesh(int mesh);
+
+int IAnimatedMeshSceneNodeGetMesh();
+
+int IAnimatedMeshSceneNodeGetMD3TagTransformation(int tagname);
+
+int IAnimatedMeshSceneNodeSetJointMode(int mode);
+
+int IAnimatedMeshSceneNodeSetTransitionTime(int Time);
+
+int IAnimatedMeshSceneNodeAnimateJoints(int CalculateAbsolutePositions);
+
+int IAnimatedMeshSceneNodeSetRenderFromIdentity(int On);
+
+int IAnimatedMeshSceneNodeClone(int newParent, int newManager);
+
+int IAnimationEndCallBackOnAnimationEnd(int node);
+
+int IGUIColorSelectDialogIGUIColorSelectDialog(int environment, int parent, int id, int EGUIET_COLOR_SELECT_DIALOG);
+
+int IGUITableIGUITable(int environment, int parent, int id, int EGUIET_TABLE);
+
+int IGUITableAddColumn(char * caption, int columnIndex);
+
+int IGUITableRemoveColumn(int columnIndex);
+
+int IGUITableGetColumnCount();
+
+int IGUITableSetActiveColumn(int idx, int doOrder);
+
+int IGUITableGetActiveColumn();
+
+int IGUITableGetActiveColumnOrdering();
+
+int IGUITableSetColumnWidth(int columnIndex, int width);
+
+int IGUITableSetResizableColumns(int resizable);
+
+int IGUITableHasResizableColumns();
+
+int IGUITableSetColumnOrdering(int columnIndex, int mode);
+
+int IGUITableGetSelected();
+
+int IGUITableSetSelected(int index);
+
+int IGUITableGetRowCount();
+
+int IGUITableAddRow(int rowIndex);
+
+int IGUITableRemoveRow(int rowIndex);
+
+int IGUITableClearRows();
+
+int IGUITableSwapRows(int rowIndexA, int rowIndexB);
+
+int IGUITableOrderRows(int columnIndex, int mode);
+
+int IGUITableSetCellText(int rowIndex, int columnIndex, int text);
+
+int IGUITableSetCellText(int rowIndex, int columnIndex, int text, int color);
+
+int IGUITableSetCellData(int rowIndex, int columnIndex, int data);
+
+int IGUITableSetCellColor(int rowIndex, int columnIndex, int color);
+
+int IGUITableGetCellText(int rowIndex, int columnIndex);
+
+int IGUITableGetCellData(int rowIndex, int columnIndex);
+
+int IGUITableClear();
+
+int IGUITableSetDrawFlags(int flags);
+
+int IGUITableGetDrawFlags();
+
+int ISceneNodeFactoryAddSceneNode(int type, int parent);
+
+int ISceneNodeFactoryAddSceneNode(char * typeName, int parent);
+
+int ISceneNodeFactoryGetCreatableSceneNodeTypeCount();
+
+int ISceneNodeFactoryGetCreateableSceneNodeType(int idx);
+
+int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int idx);
+
+int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int type);
+
+int IGUIFontDraw(int text, int position, int color, int hcenter, int vcenter, int clip);
+
+int IGUIFontGetDimension(char * text);
+
+int IGUIFontGetCharacterFromPos(char * text, int pixel_x);
+
+int IGUIFontGetType();
+
+int IGUIFontSetKerningWidth(int kerning);
+
+int IGUIFontSetKerningHeight(int kerning);
+
+int IGUIFontGetKerningWidth(char * thisLetter, char * previousLetter);
+
+int IGUIFontGetKerningHeight();
+
+int IGUIFontSetInvisibleCharacters(char * s);
+
+int IMeshWriterIMeshWriter();
+
+int IMeshWriterGetType();
+
+int IMeshWriterWriteMesh(int file, int mesh, int flags);
+
+int IGUIElementFactoryAddGUIElement(int type, int parent);
+
+int IGUIElementFactoryAddGUIElement(char * typeName, int parent);
+
+int IGUIElementFactoryGetCreatableGUIElementTypeCount();
+
+int IGUIElementFactoryGetCreateableGUIElementType(int idx);
+
+int IGUIElementFactoryGetCreateableGUIElementTypeName(int idx);
+
+int IGUIElementFactoryGetCreateableGUIElementTypeName(int type);
+
+int IShaderConstantSetCallBackOnSetMaterial(int material);
+
+int IShaderConstantSetCallBackOnSetConstants(int services, int userData);
+
+int IMeshManipulatorFlipSurfaces(int mesh);
+
+int IMeshManipulatorSetVertexColorAlpha(int mesh, int alpha);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorSetVertexColors(int mesh, int color);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorRecalculateNormals(int mesh, int smooth, int angleWeighted);
+
+int IMeshManipulatorRecalculateNormals(int buffer, int smooth, int angleWeighted);
+
+int IMeshManipulatorRecalculateTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted);
+
+int IMeshManipulatorScale(int mesh, int factor);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorScale(int buffer, int factor);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorScaleMesh(int mesh, int factor);
+
+int IMeshManipulatorScaleTCoords(int mesh, int factor, int level);
+
+int IMeshManipulatorApply(int factor);
+
+int IMeshManipulatorScaleTCoords(int buffer, int factor, int level);
+
+int IMeshManipulatorApply(int factor);
+
+int IMeshManipulatorTransform(int mesh, int m);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorTransform(int buffer, int m);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorTransformMesh(int mesh, int m);
+
+int IMeshManipulatorCreateMeshCopy(int mesh);
+
+int IMeshManipulatorMakePlanarTextureMapping(int mesh, int resolution);
+
+int IMeshManipulatorMakePlanarTextureMapping(int meshbuffer, int resolution);
+
+int IMeshManipulatorMakePlanarTextureMapping(int buffer, int resolutionS, int resolutionT, int axis, int offset);
+
+int IMeshManipulatorCreateMeshWithTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted, int recalculateTangents);
+
+int IMeshManipulatorCreateMeshWith2TCoords(int mesh);
+
+int IMeshManipulatorCreateMeshWith1TCoords(int mesh);
+
+int IMeshManipulatorCreateMeshUniquePrimitives(int mesh);
+
+int IMeshManipulatorCreateMeshWelded(int mesh, int tolerance);
+
+int IMeshManipulatorGetPolyCount(int mesh);
+
+int IMeshManipulatorGetPolyCount(int mesh);
+
+int IMeshManipulatorCreateAnimatedMesh(int mesh, int type);
+
+int IMeshManipulatorApply(int func, int buffer, int boundingBoxUpdate);
+
+int IMeshManipulatorApply(int func, int mesh, int boundingBoxUpdate);
+
+int IMeshManipulatorGetMeshBufferCount();
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorAddInternalBox();
+
+int SColorHSLSColorHSL(int h, int s, int l, int l);
+
+int SColorHSLFromRGB(int color);
+
+int SColorHSLToRGB(int color);
+
+int SColorSColor();
+
+int SColorSColor(int a, int r, int g);
+
+int SColorSColor(int clr);
+
+int SColorGetAlpha();
+
+int SColorGetRed();
+
+int SColorGetGreen();
+
+int SColorGetBlue();
+
+int SColorGetLightness();
+
+int SColorGetLuminance();
+
+int SColorGetAverage();
+
+int SColorSetAlpha(int a);
+
+int SColorSetRed(int r);
+
+int SColorSetGreen(int g);
+
+int SColorSetBlue(int b);
+
+int SColorToA1R5G5B5();
+
+int SColorToOpenGLColor(int dest);
+
+int SColorSet(int a, int r, int g, int b);
+
+int SColorSet(int col);
+
+int SColorGetInterpolated(int other, int d);
+
+int SColorClamp();
+
+int SColorGetInterpolated_quadratic(int c1, int c2, int d);
+
+int SColorClamp();
+
+int SColorSetData(int data, int format);
+
+int SColorSwitch();
+
+int SColorA1R5G5B5toA8R8G8B8(int data);
+
+int SColorR5G6B5toA8R8G8B8(int data);
+
+int SColor_();
+
+int SColorSet();
+
+int SColorGetData(int data, int format);
+
+int SColorSwitch();
+
+int SColorA8R8G8B8toA1R5G5B5();
+
+int SColorA8R8G8B8toR5G6B5();
+
+int SColorfSColorf();
+
+int SColorfSColorf(int r, int g, int b, int a, int a);
+
+int SColorfSColorf(int c);
+
+int SColorfGetRed();
+
+int SColorfGetGreen();
+
+int SColorfGetBlue();
+
+int SColorfGetAlpha();
+
+int SColorfToSColor();
+
+int SColorfSet(int rr, int gg, int bb);
+
+int SColorfSet(int aa, int rr, int gg, int bb);
+
+int SColorfGetInterpolated(int other, int d);
+
+int SColorfClamp();
+
+int SColorfGetInterpolated_quadratic(int c1, int c2, int d);
+
+int SColorfClamp();
+
+int SColorfSetColorComponentValue(int index, int value);
+
+int SColorfSwitch();
+
+int SColorfGetAlpha();
+
+int SColorfGetRed();
+
+int SColorfGetGreen();
+
+int SColorfGetBlue();
+
+int IImageLoaderIsALoadableFileExtension(int filename);
+
+int IImageLoaderIsALoadableFileFormat(int file);
+
+int IImageLoaderLoadImage(int file);
+
+int ISceneNodeAnimatorAnimateNode(int node, int timeMs);
+
+int ISceneNodeAnimatorCreateClone(int node, int newManager);
+
+int ISceneNodeAnimatorIsEventReceiverEnabled();
+
+int ISceneNodeAnimatorOnEvent(int event);
+
+int ISceneNodeAnimatorGetType();
+
+int ISceneNodeAnimatorHasFinished();
+
+int IOSOperatorIOSOperator();
+
+int IOSOperatorGetOperationSystemVersion();
+
+int IOSOperatorCopyToClipboard(char * text);
+
+int IOSOperatorGetTextFromClipboard();
+
+int IOSOperatorGetProcessorSpeedMHz(int MHz);
+
+int IOSOperatorGetSystemMemory(int Total, int Avail);
+
+int IQ3LevelMeshGetShader(char * filename, int fileNameIsValid);
+
+int IQ3LevelMeshGetShader(int index);
+
+int IQ3LevelMeshGetEntityList();
+
+int ILightManagerOnPreRender(int lightList);
+
+int ILightManagerOnPostRender();
+
+int ILightManagerOnRenderPassPreRender(int renderPass);
+
+int ILightManagerOnRenderPassPostRender(int renderPass);
+
+int ILightManagerOnNodePreRender(int node);
+
+int ILightManagerOnNodePostRender(int node);
+
+int IParticleAttractionAffectorSetPoint(int point);
+
+int IParticleAttractionAffectorSetAttract(int attract);
+
+int IParticleAttractionAffectorSetAffectX(int affect);
+
+int IParticleAttractionAffectorSetAffectY(int affect);
+
+int IParticleAttractionAffectorSetAffectZ(int affect);
+
+int IParticleAttractionAffectorGetPoint();
+
+int IParticleAttractionAffectorGetAttract();
+
+int IParticleAttractionAffectorGetAffectX();
+
+int IParticleAttractionAffectorGetAffectY();
+
+int IParticleAttractionAffectorGetAffectZ();
+
+int IParticleAttractionAffectorGetType();
+
+int ILightSceneNodeILightSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int ILightSceneNodeSetLightData(int light);
+
+int ILightSceneNodeGetLightData();
+
+int ILightSceneNodeGetLightData();
+
+int ILightSceneNodeSetVisible(int isVisible);
+
+int ILightSceneNodeSetRadius(int radius);
+
+int ILightSceneNodeGetRadius();
+
+int ILightSceneNodeSetLightType(int type);
+
+int ILightSceneNodeGetLightType();
+
+int ILightSceneNodeEnableCastShadow(int shadow);
+
+int ILightSceneNodeGetCastShadow();
+
+int IGUIComboBoxIGUIComboBox(int environment, int parent, int id, int EGUIET_COMBO_BOX);
+
+int IGUIComboBoxGetItemCount();
+
+int IGUIComboBoxGetItem(int idx);
+
+int IGUIComboBoxGetItemData(int idx);
+
+int IGUIComboBoxGetIndexForItemData(int data);
+
+int IGUIComboBoxAddItem(char * text, int data);
+
+int IGUIComboBoxRemoveItem(int idx);
+
+int IGUIComboBoxClear();
+
+int IGUIComboBoxGetSelected();
+
+int IGUIComboBoxSetSelected(int idx);
+
+int IGUIComboBoxSetTextAlignment(int horizontal, int vertical);
+
+int IGUIElementIGUIElement(int type, int environment, int parent, int id, int type);
+
+int IGUIElementSetDebugName();
+
+int IGUIElementAddChildToEnd();
+
+int IGUIElementRecalculateAbsolutePosition();
+
+int IGUIElementIGUIElement();
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementGetParent();
+
+int IGUIElementGetRelativePosition();
+
+int IGUIElementSetRelativePosition(int r);
+
+int IGUIElementGetAbsolutePosition();
+
+int IGUIElementD();
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementSetRelativePosition(int position);
+
+int IGUIElementGetSize();
+
+int IGUIElementRectangle(int X, int Y, int Width, int Height);
+
+int IGUIElementSetRelativePosition();
+
+int IGUIElementSetRelativePositionProportional(int r);
+
+int IGUIElementGetAbsolutePosition();
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementGetAbsolutePosition();
+
+int IGUIElementGetAbsoluteClippingRect();
+
+int IGUIElementSetNotClipped(int noClip);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementIsNotClipped();
+
+int IGUIElementSetMaxSize(int size);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementSetMinSize(int size);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementSetAlignment(int left, int right, int top, int bottom);
+
+int IGUIElementR();
+
+int IGUIElementD(int Width, int Height);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementRecalculateAbsolutePosition();
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementGetElementFromPoint(int point);
+
+int IGUIElementGetLast();
+
+int IGUIElementWhile(int it);
+
+int IGUIElementIsPointInside(int point);
+
+int IGUIElementAddChild(int child);
+
+int IGUIElementAddChildToEnd();
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementRemoveChild(int child);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementErase();
+
+int IGUIElementRemove();
+
+int IGUIElementDraw();
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementOnPostRender(int timeMs);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementMove(int absoluteMovement);
+
+int IGUIElementSetRelativePosition(int absoluteMovement);
+
+int IGUIElementIsVisible();
+
+int IGUIElementSetVisible(int visible);
+
+int IGUIElementIsSubElement();
+
+int IGUIElementSetSubElement(int subElement);
+
+int IGUIElementSetTabStop(int enable);
+
+int IGUIElementIsTabStop();
+
+int IGUIElementSetTabOrder(int index);
+
+int IGUIElementGetTabGroup();
+
+int IGUIElementWhile();
+
+int IGUIElementGetNextElement();
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementSetTabGroup(int isGroup);
+
+int IGUIElementIsTabGroup();
+
+int IGUIElementGetTabGroup();
+
+int IGUIElementWhile(int ret);
+
+int IGUIElementIsEnabled();
+
+int IGUIElementSetEnabled(int enabled);
+
+int IGUIElementSetText(char * text);
+
+int IGUIElementGetText();
+
+int IGUIElementSetToolTipText(char * text);
+
+int IGUIElementGetToolTipText();
+
+int IGUIElementGetID();
+
+int IGUIElementSetID(int id);
+
+int IGUIElementOnEvent(int event);
+
+int IGUIElementBringToFront(int element);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementErase();
+
+int IGUIElementPush_back();
+
+int IGUIElementGetChildren();
+
+int IGUIElementGetElementFromId(int id, int searchchildren);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementIsMyChild(int child);
+
+int IGUIElementWhile(int child);
+
+int IGUIElementGetNextElement(int startOrder, int reverse, int group, int first, int closest, int includeInvisible);
+
+int IGUIElementBegin();
+
+int IGUIElementWhile(int it);
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementGetType();
+
+int IGUIElementHasType(int type);
+
+int IGUIElementGetTypeName();
+
+int IGUIElementSerializeAttributes(int out, int options);
+
+int IGUIElementAddInt();
+
+int IGUIElementAddString();
+
+int IGUIElementAddRect();
+
+int IGUIElementAddPosition2d(int Width);
+
+int IGUIElementAddPosition2d(int Width);
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddInt();
+
+int IGUIElementAddBool();
+
+int IGUIElementDeserializeAttributes(int in, int options);
+
+int IGUIElementSetID();
+
+int IGUIElementSetText();
+
+int IGUIElementSetVisible();
+
+int IGUIElementSetEnabled();
+
+int IGUIElementGetAttributeAsBool();
+
+int IGUIElementGetAttributeAsBool();
+
+int IGUIElementGetAttributeAsInt();
+
+int IGUIElementGetAttributeAsPosition2d();
+
+int IGUIElementSetMaxSize(int X);
+
+int IGUIElementGetAttributeAsPosition2d();
+
+int IGUIElementSetMinSize(int X);
+
+int IGUIElementSetAlignment(int LeftAlign, int RightAlign, int TopAlign, int BottomAlign);
+
+int IGUIElementSetRelativePosition();
+
+int IGUIElementSetNotClipped();
 
 int IAttributesGetAttributeCount();
 
diff --git a/InterfaceGenerator/createInterface.py b/InterfaceGenerator/createInterface.py
--- a/InterfaceGenerator/createInterface.py
+++ b/InterfaceGenerator/createInterface.py
@@ -73,11 +73,20 @@
     returnCode = ""
     listOfDataTypes = []
 
+    fName = ""
+
     if functionName != "":
-        returnCode += "%fun " + className + functionName[0].upper() + functionName[1:] + " :: "
+	for i in range(len(functionName)):
+	    ch = functionName[i]
+	    if ch == '=' or ch == '>' or ch == '<' or ch == '*' or ch == '(' or ch == ')':
+		ch = '_'
+		
+	    fName += ch
+	    
+        returnCode += "%fun " + className + fName[0].upper() + fName[1:] + " :: "
 
         callLine = "%call "
-        codeLine = "%code int result = " + className + functionName[0].upper() + functionName[1:] + "("
+        codeLine = "%code int result = " + className + fName[0].upper() + fName[1:] + "("
         codeArgsLine = ""
         failLine = "%fail {result < 0} {getError();}\n"
         
@@ -85,37 +94,66 @@
             count = 1
             for arg in args:
                 #arg is a dictionary
+		if arg.has_key('name'):
+		    argName = arg['name']
+		else:
+		    argName = ")"
 
-                if arg.has_key('type'):
-                    argType = arg['type']
-                else:
-                    argType = "Int"
-                
-                argType = convertArgType(argType)
-                
-                if ("Ptr" in argType):
-                    dType = "data " + argType + " = " + argType + " Int\n"
-                    if dType not in listOfArgumentTypes:
-                        listOfArgumentTypes.append(dType)
-                        listOfDataTypes.append(dType)
-                
-                returnCode += argType
-                
-                returnCode += " -> "
+		if argName == "in":
+		    argName = "i_n"
+		    
+		aName = ""
+		
+		for i in range(len(argName)):
+		    ch = argName[i]
+		    if ch == '=' or ch == '>' or ch == '<' or ch == '*':
+			ch = '_'
+			
+		    aName += ch
+		   
+		if str(aName)[0] in ["0","1","2","3","4","5","6","7","8","9"]:
+		    aName = "("
+		    
+		if aName[0] == '"':
+		    aName = aName[1:len(aName)-1]
+
+		if not aName in ["(",")","f","_","true","false"]:
+		    count += 1
                 
-                if arg.has_key('name'):
-                    argName = arg['name']
-                else:
-                    argName = "arg" + str(count)
-                    
-                count += 1
+		    if arg.has_key('type') and arg['type'] in ["String","Int"]:
+			argType = arg['type']
+		    else:
+			argType = "Int"
+		    
+		    argType = convertArgType(argType)
                 
-                callLine += "(" + argType[0].lower() + argType[1:] + " " + argName + ") "
+		    aType = ""
+		    
+		    if ("Ptr" in argType):
+			for i in range(len(argType)):
+			    ch = argType[i]
+			    if ch == '=' or ch == '<' or ch == '>' or ch == '*':
+				ch = '_'
+				aType += ch
+			    else:
+				aType += ch
+				
+			argType = aType
+			dType = "data " + argType + " = " + argType + " Int\n"
+			if dType not in listOfArgumentTypes:
+			    listOfArgumentTypes.append(dType)
+			    listOfDataTypes.append(dType)
+		    
+		    returnCode += argType
+		    
+		    returnCode += " -> "
                 
-                if codeArgsLine != "":
-                    codeArgsLine +=  ", " + argName
-                else:
-                    codeArgsLine += argName
+		    callLine += "(" + argType[0].lower() + argType[1:] + " " + aName + ") "
+		    
+		    if codeArgsLine != "":
+			codeArgsLine +=  ", " + aName
+		    else:
+			codeArgsLine += aName
                 
         codeLine += codeArgsLine + ");\n"        
         returnCode += "IO ()\n"
@@ -131,41 +169,72 @@
     returnCode = ""
     hDeclaration = ""
     functionCall = ""
+    fName = ""
 
-    if functionName != "":
-        returnCode = "extern \"C\" int " +  className + functionName[0].upper() + functionName[1:] + "("
-        hDeclaration = "int " + className + functionName[0].upper() + functionName[1:] + "("
+    for i in range(len(functionName)):
+        ch = functionName[i]
+	if ch == '*' or ch == '=' or ch == '(' or ch == ')':
+	    ch = '_'
+	    fName += ch
+	else:
+	    fName += ch
+
+    if fName != "":
+        returnCode = "extern \"C\" int " +  className + fName[0].upper() + fName[1:] + "("
+        hDeclaration = "int " + className + fName[0].upper() + fName[1:] + "("
         functionCall = functionName + "("
         
         if args != []:
-            args_len = len(args)
+            args_len = 0
             counter = 1
             count = 1
+
+	    for arg in args:
+		if arg.has_key('name'):
+		    if not arg['name'] in [")","f","(","_","true","false"] and not str(arg['name'])[0] in ["0","1","2","3","4","5","6","7","8","9",">"]:
+                        args_len += 1
+	
             for arg in args:
                
-                if arg.has_key('name'):
+                if arg.has_key('name') and not arg['name'] in [")","f","(","_","true","false"] and not str(arg['name'])[0] in ["0","1","2","3","4","5","6","7","8","9",">"]:
                     argName = arg['name']
                 else:
-                    argName = "arg" + str(count)
-                
-                count += 1
+                    argName = ")"
+         
+		aName = ""
+		for i in range(len(argName)):
+		    ch = argName[i]
+		    if ch == '*' or ch == '=' or ch == '<' or ch == '<':
+			if len(argName) != 1:
+			    ch = '_'
+			    aName += ch
+			else:
+			    aName = ")"
+		    else:
+			aName += ch
+
+		if aName[0] == '"':
+		    aName = aName[1:len(aName) - 1]
+
+		if aName != ")":
+                    count += 1
                     
-                if arg.has_key('type'):
-                    argType = arg['type']
-                else:
-                    argType = "int"
+       	            if arg.has_key('type'):
+               	        argType = arg['type']
+        	    else:
+                        argType = "int"
                     
-                argType = getArgType(argType)
-                returnCode += argType + " " + argName
-                hDeclaration += argType + " " + argName
-                functionCall += argName
+	            argType = getArgType(argType)
+        	    returnCode += argType + " " + aName
+                    hDeclaration += argType + " " + aName
+	            functionCall += aName
                 
-                if counter < args_len:
-                    returnCode += ", "
-                    hDeclaration += ", "
-                    functionCall += ", "
+	            if counter < args_len:
+        	        returnCode += ", "
+                        hDeclaration += ", "
+	                functionCall += ", "
                     
-                counter += 1
+	            counter += 1
         
         functionCall += ");\n"        
         hDeclaration += ");\n\n"
@@ -176,8 +245,8 @@
         if (returnType == "void"):
             returnCode += "\t" + className[0].lower() + className[1:] + "Obj->" + functionCall
         else:
-            returnCode += "\t" + returnType + " " + "temp = " + className[0].lower() + className[1:] + "Obj->" + functionCall
-            returnCode += "\treturn (int) temp;\n"
+            returnCode += "\t" + className[0].lower() + className[1:] + "Obj = " + functionCall
+            returnCode += "\treturn (int) " + className[0].lower() + className[1:] + "Obj;\n"
         
         returnCode += "\n}\n\n"
         
@@ -187,7 +256,7 @@
 try:
 
     if mode == 0:
-        cppHeader = CppHeaderParser.CppHeader("/home/maciek/Desktop/irrlicht-1.6/include/SMaterial.h")
+        cppHeader = CppHeaderParser.CppHeader("/home/ecochran/Desktop/irrlicht/include/SMaterial.h")
     else:
         pass
 		
@@ -211,26 +280,26 @@
     
     cInterface_cpp.write("""
 #include "c_interface.h"
-#include "irrlicht.h"
-
+#include "irrlicht.h"
+
 #include <stdlib.h>
-#include <iostream>
-
-using namespace std;
-using namespace irr;
-using namespace core;
-using namespace scene;
-using namespace video;
-using namespace io;
-using namespace gui;
+#include <iostream>
+
+using namespace std;
+using namespace irr;
+using namespace core;
+using namespace scene;
+using namespace video;
+using namespace io;
+using namespace gui;
 using namespace std;\n\n""")
 
-    cInterface_h.write("""#ifdef __cplusplus
-extern "C" {
+    cInterface_h.write("""#ifdef __cplusplus
+extern "C" {
 #endif\n\n""")
 
-    greenCardSpec.write("""{-# LANGUAGE ForeignFunctionInterface #-}
-module Irrlicht where
+    greenCardSpec.write("""{-# LANGUAGE ForeignFunctionInterface #-}
+module Irrlicht where
 import Foreign.GreenCard
 %#include "c_interface.h"\n\n""")
 
@@ -260,7 +329,11 @@
                 for function in functions:
                     args = function['parameters']
                     functionName = function['name']
-                    functionName = functionName.replace(">","") 
+                    functionName = functionName.replace(">","")
+		    functionName = functionName.replace(")","") 
+		    functionName = functionName.replace("<","")
+		    functionName = functionName.replace("=","")
+		    functionName = functionName.replace("+","")
 
                     returnType = ""
                     returnTypeString = function['rtnType']
@@ -292,8 +365,8 @@
 
     print "Done generating Green Card spec.\n"
 
-cInterface_h.write("""#ifdef __cplusplus
-}
+cInterface_h.write("""#ifdef __cplusplus
+}
 #endif\n""")
 
 cInterface_cpp.close()
diff --git a/IrrHaskell.cabal b/IrrHaskell.cabal
--- a/IrrHaskell.cabal
+++ b/IrrHaskell.cabal
@@ -1,30 +1,21 @@
-name: IrrHaskell
-version: 0.1.1
-cabal-version: >= 1.6
-build-type: Simple
-license: LGPL
-license-file: LICENSE
-author: Maciej Baranski
-maintainer: let at = "@" in concat ["m.baranski", at, "sms.ed.ac.uk"]
+Name:		IrrHaskell
+Version:	0.2
+Description:	A wrapper for the Irrlicht game engine allowing games to be written with functional reactive programming.
+License:	LGPL
+License-file:	LICENSE
+Author:		Ewen Cochran and Maciej Baranski
+Maintainer:	e.a.p.cochran@sms.ed.ac.uk
+Build-Type:	Simple
+Cabal-Version:	>=1.6
 stability: prototype
-homepage:
-category: Graphics, FFI, Game Engine
 tested-with: GHC == 6.10.1
-synopsis: Haskell binding to the Irrlicht game engine.
-description: 
-  Haskell binding to the Irrlicht game engine.
-
-library
-  build-depends: 
-    base >= 4.0.0.0 && < 5
-  exposed-modules:
+category: Graphics, FFI, Game Engine
+synopsis: Haskell FRP binding to the Irrlicht game engine.
+extra-source-files:	*.hs *.o *.cpp *.h *.hs *.c *.lhs *.pdf README Makefile InterfaceGenerator/*.hs InterfaceGenerator/*.cpp InterfaceGenerator/*.h InterfaceGenerator/*.py InterfaceGenerator/*.pyc 
+Library
+  Build-Depends:	base >= 4 && < 5, random >= 1, time >= 1
+  Exposed-modules:
   exposed: True
-  other-modules:
-
-  extensions: ForeignFunctionInterface
-
-
-  c-sources: irrlicht_interface.cpp
-
-
+  ghc-options:		
+  extensions:		ViewPatterns, NoMonomorphismRestriction, ForeignFunctionInterface
 
diff --git a/IrrHaskell.cabal~ b/IrrHaskell.cabal~
deleted file mode 100644
--- a/IrrHaskell.cabal~
+++ /dev/null
@@ -1,30 +0,0 @@
-name: IrrHaskell
-version: 0.1
-cabal-version: >= 1.6
-build-type: Simple
-license: LGPL
-license-file: LICENSE
-author: Maciej Baranski
-maintainer: let at = "@" in concat ["m.baranski", at, "sms.ed.ac.uk"]
-stability: prototype
-homepage:
-category: Graphics, FFI, Game Engine
-tested-with: GHC == 6.10.1
-synopsis: Haskell binding to the Irrlicht game engine.
-description: 
-  Haskell binding to the Irrlicht game engine.
-
-library
-  build-depends: 
-    base >= 4.0.0.0 && < 5
-  exposed-modules:
-  exposed: True
-  other-modules:
-
-  extensions: ForeignFunctionInterface
-
-
-  c-sources: irrlicht_interface.cpp
-
-
-
diff --git a/IrrHaskell.hs b/IrrHaskell.hs
new file mode 100644
--- /dev/null
+++ b/IrrHaskell.hs
@@ -0,0 +1,615 @@
+{- Most of the FRP code come from Paul Hudak's book The Haskell School of Expression and has been modified by Maciej Baranski to fit the project purpose -}
+
+module IrrHaskell (
+  Behavior, Event, Time,
+  Position, Visible, Display, Model, Rotation, BehaviorValues(Beh,position,rotation,visibility),
+  undefinedBehavior, behRecord,
+  undefinedModel,
+  time, randomB,
+  untilB, switch,
+  (=>>), (->>),
+  when, threshold, while,
+  (.|.), (.&.),
+  eventOr, eventAnd,
+  key, lbp, sample, collision,
+  step, stepAccum,
+  constB, lift0, lift1, lift2, lift3, lift4, lift5,
+  minimumB, maximumB,
+  fstTriple, sndTriple, trdTriple,
+  pairB, tripleB, quadB, pentB,
+  fstB, sndB,
+  (>*), (<*), (==*), (>=*), (<=*), (&&*), (||*),
+  snapshot, snapshot_,
+  distanceBetweenBeh,
+  createExtrudedMesh,
+  loadFPSCamera, loadStandardCamera,
+  loadAmbientLight,
+  loadCharacters, loadMeshes,
+  nodePosition, nodeVisibility,
+  setUp, reactimate
+  ) where    
+
+import Irrlicht
+import Prelude hiding ( catch )
+import Data.Time
+import Data.Time.Clock.POSIX
+import Data.Time.Clock
+import Data.List
+import Data.Char
+import Memo1
+import Control.Concurrent.Chan
+import Control.Exception
+import System.IO
+import System.IO.Unsafe
+import System.Random
+
+infixr 1 =>>, ->>
+infixr 1 `untilB`, `switch`, `stepAccum`, `step`
+infixr 4 <*, >*, ==*, >=*, <=*
+infixl 0 .|., .&.
+infixr 3 &&*
+infixr 2 ||*
+
+type Position = (Int,Int,Int)
+type Rotation = (Int,Int,Int)
+type Offset = (Float, Float, Float)
+type Caption = String
+type Counter = Int
+type Visible = Bool
+type Lives = Int
+type Collectables = Int
+
+type Display = (String, String, Bool)
+
+undefinedBehavior = constB undefined
+
+data BehaviorValues = Beh { position :: Behavior Position, rotation :: Behavior Rotation, visibility :: Behavior Visible }
+behRecord = Beh { position = undefinedBehavior, rotation = undefinedBehavior, visibility = undefinedBehavior }
+
+type Model = (String, String, Position, BehaviorValues)
+undefinedModel = (undefined, undefined, (undefined,undefined,undefined), undefined)
+
+-- FAL FUNCTIONS ----------
+
+type Time = POSIXTime
+
+data EventStruct = EventS { char :: Char, isDown :: Bool, leftButtonDown :: Int }
+
+  deriving Show
+
+type UserAction = EventStruct
+
+newtype Behavior a = Behavior (( [Maybe UserAction], [Time] ) -> [a] )
+newtype Event a = Event (( [Maybe UserAction], [Time] ) -> [Maybe a] )
+
+time :: Behavior Time
+time = Behavior ( \(_,ts) -> ts )
+
+instance Fractional a => Fractional (Behavior a) where
+  (/) = lift2 (/)
+  fromRational = lift0 . fromRational
+
+instance Num a => Num (Behavior a) where
+  (+) = lift2 (+)
+  (*) = lift2 (*)
+  negate = lift1 negate
+  abs = lift1 abs
+  signum = lift1 signum
+  fromInteger = lift0 . fromInteger
+
+instance Show (Behavior a)  where
+  showsPrec n a s = "<< Behavior >>"
+
+instance Eq (Behavior a) where
+  a1 == a2 = error "Can't compare behaviors."
+
+Behavior fb `untilB` Event fe =
+  memoB $ Behavior (\uts@(us,ts) -> loop us ts (fe uts) (fb uts))
+    where loop (_:us) (_:ts) ~(e:es) (b:bs) =
+            b : case e of 
+                  Nothing             -> loop us ts es bs
+                  Just (Behavior fb') -> fb' (us,ts)
+
+memoB :: Behavior a -> Behavior a
+memoB (Behavior fb) = Behavior (memo1 fb)
+
+Behavior fb `switch` Event fe =
+  memoB $ Behavior (\uts@(us,ts) -> loop us ts (fe uts) (fb uts))
+    where loop (_:us) (_:ts) ~(e:es) ~(b:bs) = 
+            b : case e of 
+                  Nothing             -> loop us ts es bs
+                  Just (Behavior fb') -> loop us ts es (fb' (us,ts))
+
+(=>>) :: Event a -> (a->b) -> Event b
+
+Event fe =>> f = Event (map (fmap f) . fe)
+
+e ->> v = e =>> \_ -> v
+
+unique :: (Show a, Eq a) => Event a -> Event a
+unique (Event fe) =
+      Event (\uts -> aux (fe uts))
+      where aux xs = zipWith remdup (Nothing:xs) xs
+            remdup x y | x==y      = Nothing
+                       | otherwise = y
+
+when :: Behavior Bool -> Event ()
+when = unique . while
+
+while :: Behavior Bool -> Event ()
+while (Behavior fb) 
+  = Event (\uts -> map aux (fb uts))
+    where aux True  = Just ()
+          aux False = Nothing
+          
+noEvent :: Event () -> Event ()
+noEvent (Event e) = Event (\uts -> map aux (e uts))
+  where aux (Just ()) = Nothing
+        aux Nothing = Just ()
+
+withElem  :: Event a -> [b] -> Event (a,b)
+withElem (Event fe) bs = Event (\uts -> loop (fe uts) bs)
+  where loop (Just a  : evs) (b:bs) = Just (a,b) : loop evs bs
+        loop (Nothing : evs)    bs  = Nothing    : loop evs bs
+
+withElem_ :: Event a -> [b] -> Event b
+withElem_ e bs = e `withElem` bs =>> snd
+
+(.|.) :: Event a -> Event a -> Event a
+Event fe1 .|. Event fe2 
+  = Event (\uts -> zipWith aux (fe1 uts) (fe2 uts))
+      where aux           Nothing  Nothing  = Nothing
+            aux (Just x) _        = Just x
+            aux _        (Just y) = Just y
+
+(.&.) :: Event () -> Event () -> Event ()
+Event fe1 .&. Event fe2
+  = Event (\uts -> zipWith aux (fe1 uts) (fe2 uts))
+    where aux (Just()) (Just()) = Just ()
+          aux _         _         = Nothing
+
+eventOr :: [ Event a ] -> Event a
+eventOr evs = foldr (.|.) (Event (\(uas,t) -> (repeat Nothing))) evs
+
+eventAnd :: [ Event () ] -> Event ()
+eventAnd evs = foldr (.&.) (Event(\(uas,t) -> (repeat (Just ())))) evs
+
+key :: Event Char
+key = unique( Event (\(uas,_) -> map getkey uas) )
+  where getkey (Just (EventS {char = ch, isDown = tf})) = Just ch
+        getkey _               = Nothing
+
+lbp :: Event ()
+lbp = unique( Event (\(uas,_) -> map getlbp uas) )
+  where getlbp (Just (EventS { leftButtonDown = 1 })) = Just ()
+        getlbp _                     = Nothing
+        
+step :: a -> Event a -> Behavior a
+a `step` e = constB a `switch` e =>> constB
+
+stepAccum :: a -> Event (a->a) -> Behavior a
+a `stepAccum` e = b 
+   where b = a `step` (e `snapshot` b =>> uncurry ($))
+
+---------------------------
+
+-- LIFTING FUNCTIONS ------
+
+constB :: a -> Behavior a
+constB x = Behavior ( \_ -> repeat x )
+
+($*) :: Behavior ( a -> b ) -> Behavior a -> Behavior b
+Behavior ff $* Behavior fb = Behavior ( \uts -> zipWith ($) ( ff uts ) ( fb uts ))
+
+lift0 :: a -> Behavior a
+lift0 = constB
+
+lift1 :: ( a -> b ) -> ( Behavior a -> Behavior b )
+lift1 f b1 = lift0 f $* b1
+
+lift2 :: ( a -> b -> c ) -> ( Behavior a -> Behavior b -> Behavior c )
+lift2 f b1 b2 = lift1 f b1 $* b2
+
+lift3 :: (a -> b -> c -> d) -> (Behavior a -> Behavior b -> Behavior c -> Behavior d)
+lift3 f b1 b2 b3 = lift2 f b1 b2 $* b3
+
+lift4 :: (a -> b -> c -> d -> e) -> (Behavior a -> Behavior b -> Behavior c -> Behavior d -> Behavior e)
+lift4 f b1 b2 b3 b4 = lift3 f b1 b2 b3 $* b4
+
+lift5 :: (a -> b -> c -> d -> e -> f) -> (Behavior a -> Behavior b -> Behavior c -> Behavior d -> Behavior e -> Behavior f)
+lift5 f b1 b2 b3 b4 b5 = lift4 f b1 b2 b3 b4 $* b5
+
+---------------------------
+
+-- BEHAVIOR MANIPULATION --
+
+minimumB :: [Behavior Int] -> Int -> Behavior Int
+minimumB [] m = constB m
+minimumB (b:behs) m = constB 9999 `switch` (sample `snapshot_` b) =>> \x -> if x < m then (minimumB behs x) else (minimumB behs m)
+
+maximumB :: [Behavior Int] -> Int -> Behavior Int
+maximumB [] m = constB m
+maximumB (b:behs) m = constB 9999 `switch` (sample `snapshot_` b) =>> \x -> if x > m then (maximumB behs x) else (maximumB behs m)
+
+fstTriple :: (a,b,c) -> a
+fstTriple (x,_,_) = x
+
+sndTriple :: (a,b,c) -> b
+sndTriple (_,y,_) = y
+
+trdTriple :: (a,b,c) -> c
+trdTriple (_,_,z) = z
+
+pairB :: Behavior a -> Behavior b -> Behavior (a,b)
+pairB = lift2 (,)
+
+tripleB :: Behavior a -> Behavior b -> Behavior c -> Behavior (a,b,c)
+tripleB = lift3 (,,)
+
+quadB :: Behavior a -> Behavior b -> Behavior c -> Behavior d -> Behavior (a,b,c,d)
+quadB = lift4 (,,,)
+
+pentB :: Behavior a -> Behavior b -> Behavior c -> Behavior d -> Behavior e -> Behavior (a,b,c,d,e)
+pentB = lift5 (,,,,)
+
+fstB :: Behavior (a,b) -> Behavior a
+fstB  = lift1 fst
+
+sndB :: Behavior (a,b) -> Behavior b
+sndB  = lift1 snd
+
+(>*),(<*), (==*) :: Ord a => Behavior a -> Behavior a -> Behavior Bool
+(>*) = lift2 (>)
+(<*) = lift2 (<)
+(==*) = lift2 (==)
+(>=*) = lift2 (>=)
+(<=*) = lift2 (<=)
+
+(&&*),(||*) :: Behavior Bool -> Behavior Bool -> Behavior Bool
+(&&*) = lift2 (&&)
+(||*) = lift2 (||)
+
+---------------------------
+
+-- SNAPSHOT FUNCTIONS -----
+
+snapshot :: Event a -> Behavior b -> Event (a,b)
+Event fe `snapshot` Behavior fb
+  = Event (\uts -> zipWith' aux (fe uts) (fb uts))
+      where aux (Just x) y = Just (x, y)
+            aux Nothing  _ = Nothing
+
+snapshot_ :: Event a -> Behavior b -> Event b
+snapshot_ e b = e `snapshot` b =>> snd
+
+zipWith' f ~(x:xs) ~(y:ys) = f x y : zipWith' f xs ys
+
+---------------------------
+
+-- CUSTOM FUNCTIONS -------
+
+distanceBetweenPoints :: (Integral t, Floating a) => (t, t, t) -> (t, t, t) -> a
+distanceBetweenPoints (x,y,z) (a,b,c) = sqrt ( fromInteger ( toInteger ( ( x - a )^2 + ( y - b )^2 + ( z - c )^2 ) ) )
+
+distanceBetweenBeh :: Behavior Position -> Behavior Position -> Behavior Float
+distanceBetweenBeh objBeh camBeh = constB 9999.0 `switch` (sample `snapshot_` (pairB objBeh camBeh) =>> \(o,c) -> constB (distanceBetweenPoints o c))
+
+---------------------------
+
+-- IRRLICHT FUNCTIONS -----
+
+data GameChan = GameChan {
+  eventsChan :: Chan UserAction
+  }
+
+initGameChan :: IO GameChan
+initGameChan = do
+  eventsChan <- newChan
+  return GameChan { eventsChan = eventsChan }
+
+runEvent (Event fe) u = fe u           
+
+sample :: Event ()
+sample = Event (\(us,_) -> map aux us)
+  where aux Nothing  = Just ()
+        aux (Just _) = Nothing
+    
+maybeGetWindowEvent :: GameChan -> IO (Maybe UserAction)
+maybeGetWindowEvent gameCh = do
+    noEvents <- isEmptyChan (eventsChan gameCh)
+    if noEvents       
+        then return Nothing
+        else do
+            event <- readChan (eventsChan gameCh)
+            if ((char event) == ' ') && ((leftButtonDown event) == 0)
+                then return Nothing
+                else return (Just event)
+
+windowUser :: GameChan -> IO (([Maybe UserAction], [POSIXTime]), IO ())
+windowUser gameCh = do 
+    (evs, addEv) <- makeStream
+    t0 <- getPOSIXTime
+    let loop rt = do
+        mev <- maybeGetWindowEvent gameCh
+        case mev of
+            Nothing -> return ()
+            Just e  -> do addEv (Just e, rt)
+                          loop rt                                
+    let addEvents = do
+        t <- getPOSIXTime
+        let rt = t - t0
+        loop rt
+        addEv (Nothing, rt)
+    return ((map fst evs, map snd evs), addEvents)
+
+makeStream :: IO ([a], a -> IO ())
+makeStream = do
+    ch <- newChan
+    contents <- getChanContents ch
+    return (contents, writeChan ch)
+
+---------------------------
+
+-- EVENT STREAM CREATION --
+
+threshold :: Behavior Bool -> Event ()
+threshold beh = unique ( when beh )
+
+collision :: Behavior Float -> [ NodePtr ] -> [ NodePtr ] -> Event ()
+collision thresh xnodes ynodes = eventOr [ threshold ( ( distanceBetweenBeh (nodePosition x) (nodePosition y) ) <=* thresh ) | x <- xnodes, y <- ynodes, sceneNodeIsVisible x == 1, sceneNodeIsVisible y == 1 ]
+
+randomB :: Behavior Int
+randomB = Behavior (\(uas,_) -> map (\t -> (unsafePerformIO (getStdRandom(randomR (1,1000))) ) ) uas )
+
+---------------------------
+
+-- HASKELL ENGINE FUNC. ---
+
+createExtrudedMesh :: [ (Int,Position) ] -> Position -> IO MeshPtr
+createExtrudedMesh vertices (ex,ey,ez) = do
+  buffer <- sceneCreateMeshBuffer
+  buffer2 <- pushBackVerticesOne buffer (length vertices) vertices (ex,ey,ez)
+  buffer3 <- pushBackVerticesTwo buffer (length vertices) vertices (ex,ey,ez)
+  mesh <- sceneGetMeshFromBuffer buffer3
+  return mesh
+  
+pushBackVerticesOne :: SMeshBufferPtr -> Int -> [ (Int,Position) ] -> Position -> IO SMeshBufferPtr
+pushBackVerticesOne buffer num ((i,(vx,vy,vz)):xs) (ex,ey,ez) = if (i == num) then do
+  newBuffer <- scenePushBackVerticesOne buffer num i vx vy vz ex ey ez
+  return newBuffer
+				           else do
+				             newBuffer <- scenePushBackVerticesOne buffer num i vx vy vz ex ey ez
+				             pushBackVerticesOne newBuffer num xs (ex,ey,ez)
+
+pushBackVerticesTwo :: SMeshBufferPtr -> Int -> [ (Int,Position) ] -> Position -> IO SMeshBufferPtr
+pushBackVerticesTwo buffer num ((i,(vx,vy,vz)):xs) (ex,ey,ez) = if (i == num) then do
+  newBuffer <- scenePushBackVerticesTwo buffer num i vx vy vz ex ey ez
+  return newBuffer
+				           else do
+				             newBuffer <- scenePushBackVerticesTwo buffer num i vx vy vz ex ey ez
+				             pushBackVerticesTwo newBuffer num xs (ex,ey,ez)  
+  
+  
+loadMap :: Model -> IO (NodePtr,MeshPtr)
+loadMap (m, mapMesh, (x,y,z), _) = do
+  catch (fileSystemAddZipFileArchive m) (\e -> do
+    let err = e :: SomeException
+    return () )
+  mesh <- catch (sceneGetMesh mapMesh) (\e -> do
+    let err = e :: SomeException
+    return undefined )
+  node <- catch (sceneAddOctTreeSceneNode mesh) (\e -> do
+    let err = e :: SomeException
+    return undefined )
+  catch (sceneNodeSetPosition (x,y,z) node) (\e -> do
+    let err = e:: SomeException
+    return undefined )
+  return (node,mesh)
+
+loadFPSCamera :: Position -> Position -> IO NodePtr
+loadFPSCamera start target = do
+  camera <- sceneAddCameraSceneNodeFPS
+  sceneNodeSetPosition start camera
+  sceneNodeSetTarget target camera
+  return camera
+  
+loadStandardCamera :: Position -> Position -> IO NodePtr
+loadStandardCamera start target = do
+  camera <- sceneAddCameraSceneNode start target
+  return camera
+  
+loadAmbientLight :: (Int,Int,Int,Int) -> IO ()
+loadAmbientLight(r,g,b,a) = do
+  sceneAddAmbientLight(r,g,b,a)
+  return ()
+  
+createCollisionResponse :: (MeshPtr, NodePtr) -> NodePtr -> Position -> Position -> Position -> IO ()
+createCollisionResponse (mapMesh, mapNode) camera radius gravity translation = do
+  -- Selector
+  selector <- sceneCreateOctreeTriangleSelector mapMesh mapNode 128  
+  sceneNodeSetTriangleSelector selector mapNode
+  -- Collision Response
+  anim <- sceneCreateCollisionResponseAnimator selector camera radius gravity translation
+  sceneNodeAddAnimator camera anim
+  sceneNodeAnimatorDrop anim
+  return ()
+
+loadFont :: String -> IO IGUIFontPtr
+loadFont path = do
+  font <- guiGetFont path
+  return font
+  
+setTextWindow :: String -> IGUIFontPtr -> IO ()--IGUIStaticTextPtr
+setTextWindow text font = do
+  textWindow <- guiAddStaticText text 10 10 320 65
+  guiSetDrawBackground True textWindow
+  guiSetDrawBorder False textWindow
+  guiSetBackgroundColor (255, 255, 255, 255) textWindow
+  guiSetOverrideFont font textWindow
+  return ()
+
+loadCharacter :: Model -> IO NodePtr
+loadCharacter (charMesh, textPath, (x,y,z), _) =
+  if (charMesh == "sphere")
+     then do
+       node <- sceneAddSphereSceneNode 10 (x,y,z)
+       texture <- videoGetTexture textPath
+       nodeSetMaterialTexture node texture
+       return node
+     else if (charMesh == "cube")
+             then do
+               node <- sceneAddCubeSceneNode
+               texture <- videoGetTexture textPath
+               nodeSetMaterialTexture node texture
+               sceneNodeSetPosition (x,y,z) node
+               sceneNodeSetScale 2 node
+               return node
+             else do
+               mesh <- sceneGetMesh charMesh
+               node <- sceneAddAnimatedMeshSceneNode mesh
+               nodeSetMaterialFlag node EMF_LIGHTING False
+               texture <- videoGetTexture textPath
+               nodeSetMaterialTexture node texture
+               sceneNodeSetPosition (x,y,z) node
+               return node
+
+loadCharacters :: [ Model ] -> IO [ NodePtr ]
+loadCharacters characters = sequence [ loadCharacter model | model <- characters ]
+
+loadMesh ::  (MeshPtr, String, Position, BehaviorValues) -> IO NodePtr
+loadMesh (mesh, text, (x,y,z), beh ) = do
+  node <- sceneAddMeshSceneNode mesh
+  sceneNodeSetPosition (x,y,z) node
+  return node
+  
+loadMeshes :: [ (MeshPtr, String, Position, BehaviorValues) ] -> IO [ NodePtr ]
+loadMeshes characters = sequence [ loadMesh model | model <- characters ]
+
+sceneNodeGetPosition :: NodePtr -> IO Position
+sceneNodeGetPosition node = do
+  x <- sceneNodeGetPositionX node
+  y <- sceneNodeGetPositionY node
+  z <- sceneNodeGetPositionZ node
+  return (x,y,z)
+  
+getNodePositions :: [ NodePtr ] -> [ Position ]
+getNodePositions nodes = [ unsafePerformIO (sceneNodeGetPosition n) | n <- nodes ]
+
+getPosition :: NodePtr -> Position
+getPosition node = unsafePerformIO (sceneNodeGetPosition node)
+
+---------------------------
+
+-- RENDERING FUNCTIONS ----
+
+renderPosition :: Position -> NodePtr -> IO ()
+renderPosition position node = catch (sceneNodeSetPosition position node) (\e -> do
+  let err = e :: SomeException
+  return () )
+
+renderRotation :: Rotation -> NodePtr -> IO ()
+renderRotation rotation node = catch (sceneNodeSetRotation rotation node) (\e -> do
+  let err = e :: SomeException
+  return () )
+  
+renderVisibility :: Visible -> NodePtr -> IO ()
+renderVisibility visibility node = catch ( sceneNodeSetVisible node visibility ) ( \e -> do
+  let err = e :: SomeException
+  return () )
+  
+getFont :: String -> IO IGUIFontPtr
+getFont path = catch (do
+  font <- guiGetFont path
+  return font) (\e -> do
+    let err = e :: SomeException
+    return undefined )
+    
+setFont :: IGUIFontPtr -> IGUIStaticTextPtr -> IO ()
+setFont font window = catch (do
+  guiSetOverrideFont font window
+  return () ) (\e -> do
+    let err = e :: SomeException
+    return () )
+  
+  
+renderText :: String -> IGUIStaticTextPtr -> String -> Bool -> IO ()
+renderText text window fontPath disp = if disp == True then catch (do
+  font <- getFont fontPath
+  oldText <- guiGetText window
+  guiSetDrawBackground disp window
+  if not (text == oldText) then do
+    guiSetText text window
+    setFont font window
+    return ()
+	           else do
+	             return ()
+  return () ) (\e -> do
+    let err = e :: SomeException
+    return () )
+  
+			        else do
+			          guiSetDrawBackground disp window
+			          return ()
+    
+createTextDisplay :: IO IGUIStaticTextPtr
+createTextDisplay = do
+  textWindow <- guiAddStaticText "" 10 10 320 65
+  guiSetDrawBorder False textWindow
+  return textWindow
+
+---------------------------
+
+nodePosition :: NodePtr -> Behavior Position
+nodePosition node = Behavior (\(uas,_) -> map (\t -> unsafePerformIO (sceneNodeGetPosition node)) uas)
+
+nodeVisibility :: NodePtr -> Behavior Int
+nodeVisibility node = Behavior (\(uas,_) -> map (\t -> (sceneNodeIsVisible node)) uas)
+
+-- SETUP FUNCTIONS
+
+setUp :: String -> Model -> IO NodePtr -> IO () -> IO NodePtr
+setUp title (m, mapMesh, (x,y,z), beh) camNode light = do
+  device <- irrCreateDevice EDT_OPENGL 800 600 False False False
+  -- Map
+  (node,mesh) <- loadMap (m, mapMesh, (x,y,z), beh)
+  -- Camera
+  camera <- camNode
+  -- Selector and Collision Response
+  catch (createCollisionResponse (mesh,node) camera (30,50,30) (0,-10,0) (0,30,0)) (\e -> do
+    let err = e :: SomeException
+    return () )
+  -- Misc.
+  deviceSetCursorVisibility False
+  deviceSetWindowCaption title
+  return camera
+
+-- REACTIMATE -------------
+   
+reactimate :: Behavior Position -> Behavior Display -> [ (NodePtr, BehaviorValues) ] -> IO ()
+reactimate camera disp nodeBehs = do
+  deviceSetEventReceiver 1
+  gameCh <- initGameChan
+  window <- createTextDisplay
+  do
+    (user,addEvents) <- windowUser gameCh
+    addEvents
+    let render (node, Just (cameraPosition, (guiText,font,v), position, rotation, visible) ) = do
+          renderPosition position node
+          renderRotation rotation node
+          renderText guiText window font v
+          renderVisibility visible node
+        render (_,Nothing) = return ()
+    let mapMulti f ~(l:ls) = do
+          running <- deviceRun
+          videoBeginScene True True 100 100 100 255
+          sceneDrawAll
+          guiDrawAll          
+          mapM_ f l
+          ch <- getCharEvent
+          left <- getLeftDown
+          writeChan (eventsChan gameCh) (EventS {char = ch, isDown = True, leftButtonDown = left })
+          addEvents
+          videoEndScene
+          mapMulti f ls
+    mapMulti render (transpose [ zip (cycle [node]) (runEvent (sample `snapshot_` (pentB camera disp p r v)) user) | (node, Beh {position = p, rotation = r, visibility = v}) <- nodeBehs] )
+  deviceDrop
diff --git a/IrrHaskell.o b/IrrHaskell.o
new file mode 100644
Binary files /dev/null and b/IrrHaskell.o differ
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,1 +1,165 @@
+                   GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
 
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions.
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version.
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+  Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,30 +1,30 @@
-SampleGame = sample
+SampleGame = template
 
-IrrlichtHomePath = /home/maciek/Desktop/irrlicht-1.6
-HaskellHomePath = /usr/lib/ghc-6.8.2
+IrrlichtHomePath = ~/Desktop/irrlicht
+HaskellHomePath = /usr/lib/ghc-6.12.1
 
 USERCXXFLAGS = -O3 -ffast-math -Wno-deprecated -Wno-write-strings
 
 CPPFLAGS = -I$(IrrlichtHomePath)/include -I$(HaskellHomePath)/include -I/usr/X11R6/include
 CXXFLAGS = $(USERCXXFLAGS)
 
-LDFLAGS += -L$(IrrlichtHomePath)/lib/Linux -lIrrlicht
+LDFLAGS += -L$(IrrlichtHomePath)/lib/Linux -lIrrlicht -lGreenCard
 LDFLAGS += -lopengl32 -lm
 LDFLAGS += -lgdi32 -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32
 
 SYSTEM=Linux
 
-HASKLIB = -L$(HaskellHomePath) -lHSrts -L$(HaskellHomePath)/base-4.1.0.0 -lHSbase-4.1.0.0
+HASKLIB = -L$(HaskellHomePath) -lHSrts -L$(HaskellHomePath)/base-4.2.0.0 -lHSbase-4.2.0.0
 
 TARGET = main
 
 main: $(SampleGame) aux_files
 
-$(SampleGame): $(SampleGame).hs irrlicht.hs irrlicht_interface_ffi.o irrlicht_interface.o
+$(SampleGame): $(SampleGame).hs irrlicht.hs irrlicht_interface_ffi.o irrlicht_interface.o IrrHaskell.hs
 	rm -f $(SampleGame).o Irrlicht.o
-	ghc --make $(SampleGame).hs -L$(IrrlichtHomePath)/lib/Linux -package greencard irrlicht.hs -lIrrlicht irrlicht_interface_ffi.o irrlicht_interface.o -lstdc++ -lXxf86vm -lXext -lglut -lGL -lX11
+	ghc --make $(SampleGame).hs -threaded -XViewPatterns -XNoMonomorphismRestriction -XTemplateHaskell -L$(IrrlichtHomePath)/lib/Linux -package greencard irrlicht.hs IrrHaskell.hs -lIrrlicht irrlicht_interface_ffi.o irrlicht_interface.o -lstdc++ -lXxf86vm -lXext -lglut -lGL -lX11 -lXcursor
 	
-irlicht.hs irrlicht_interface_ffi.c irrlicht_interface_ffi.h: irrlicht_interface.hs irrlicht_interface.h
+irrlicht.hs irrlicht_interface_ffi.c irrlicht_interface_ffi.h: irrlicht_interface.hs irrlicht_interface.h
 	greencard irrlicht_interface.hs -o irrlicht.hs -c irrlicht_interface_ffi.c
 	
 irrlicht_interface_ffi.o: irrlicht_interface_ffi.c irrlicht_interface_ffi.h
@@ -37,7 +37,7 @@
 
 Irrlicht.a:
 	cp $(IrrlichtHomePath)/lib/Linux/libIrrlicht.a libIrrlicht.a
-	
+
 .cpp.o:
 	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< 
 
diff --git a/Memo1.o b/Memo1.o
new file mode 100644
Binary files /dev/null and b/Memo1.o differ
diff --git a/README b/README
--- a/README
+++ b/README
@@ -1,12 +1,3 @@
-sample.hs is an example game written in Haskell using the interface to Irrlicht game engine. The game includes a Functional Reactive Programming Driver to drive few behaviors of the game, thus the tailored interface included in irrlicht_interface.{.hs, .cpp, .h} is being used. The automatically generated interface along with the tool is inside the InterfaceGenerator folder.
-
-Before compiling the sample game, please make sure you changed the IrrlichtHomePath and HaskellHomePath inside Makefile to point to the correct installations of Irrlicht and Haskell. Furthermore, there are a couple of paths inside the sample.hs file which should also be changed to point to appropriate Irrlicht files.
-
-At this point, simple 'make' command should compile the game. If the comiplation is successful, run it by typing ./sample
-
-The interface generator is contained within the InterfaceGenerator folder and should be used in the following way:
-./createInterface path-to-Irrlicht-include-folder
-
-where path-to-Irrlicht-include-folder should be for instance: /home/username/Desktop/irrlicht-1.6/include
+template.hs details the structure of a game.  Edit the makefile to point to your installations of Irrlicht, etc.
 
-Maciej Baranski
+Ewen Cocrhan
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,3 +1,2 @@
--- Simple setup
 import Distribution.Simple
 main = defaultMain
diff --git a/c_interface.cpp b/c_interface.cpp
new file mode 100644
--- /dev/null
+++ b/c_interface.cpp
@@ -0,0 +1,15256 @@
+
+#include "c_interface.h"
+#include "irrlicht.h"
+
+#include <stdlib.h>
+#include <iostream>
+
+using namespace std;
+using namespace irr;
+using namespace core;
+using namespace scene;
+using namespace video;
+using namespace io;
+using namespace gui;
+using namespace std;
+
+extern "C" int IGUIButtonIGUIButton(int environment, int parent, int id, int EGUIET_BUTTON)
+{
+
+	iGUIButtonObj->IGUIButton(environment, parent, id, EGUIET_BUTTON);
+
+}
+
+extern "C" int IGUIButtonSetOverrideFont(int font)
+{
+
+	iGUIButtonObj->setOverrideFont(font);
+
+}
+
+extern "C" int IGUIButtonSetImage(int image)
+{
+
+	iGUIButtonObj->setImage(image);
+
+}
+
+extern "C" int IGUIButtonSetImage(int image, int pos)
+{
+
+	iGUIButtonObj->setImage(image, pos);
+
+}
+
+extern "C" int IGUIButtonSetPressedImage(int image)
+{
+
+	iGUIButtonObj->setPressedImage(image);
+
+}
+
+extern "C" int IGUIButtonSetPressedImage(int image, int pos)
+{
+
+	iGUIButtonObj->setPressedImage(image, pos);
+
+}
+
+extern "C" int IGUIButtonSetSpriteBank(int bank)
+{
+
+	iGUIButtonObj->setSpriteBank(bank);
+
+}
+
+extern "C" int IGUIButtonSetSprite(int state, int index, int color, int loop)
+{
+
+	iGUIButtonObj->setSprite(state, index, color, loop);
+
+}
+
+extern "C" int IGUIButtonSetIsPushButton(int isPushButton)
+{
+
+	iGUIButtonObj->setIsPushButton(isPushButton);
+
+}
+
+extern "C" int IGUIButtonSetPressed(int pressed)
+{
+
+	iGUIButtonObj->setPressed(pressed);
+
+}
+
+extern "C" int IGUIButtonIsPressed()
+{
+
+	iGUIButtonObj = isPressed();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonSetUseAlphaChannel(int useAlphaChannel)
+{
+
+	iGUIButtonObj->setUseAlphaChannel(useAlphaChannel);
+
+}
+
+extern "C" int IGUIButtonIsAlphaChannelUsed()
+{
+
+	iGUIButtonObj = isAlphaChannelUsed();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonIsPushButton()
+{
+
+	iGUIButtonObj = isPushButton();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonSetDrawBorder(int border)
+{
+
+	iGUIButtonObj->setDrawBorder(border);
+
+}
+
+extern "C" int IGUIButtonIsDrawingBorder()
+{
+
+	iGUIButtonObj = isDrawingBorder();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int IGUIButtonSetScaleImage(int scaleImage)
+{
+
+	iGUIButtonObj->setScaleImage(scaleImage);
+
+}
+
+extern "C" int IGUIButtonIsScalingImage()
+{
+
+	iGUIButtonObj = isScalingImage();
+	return (int) iGUIButtonObj;
+
+}
+
+extern "C" int ISceneUserDataSerializerISceneUserDataSerializer()
+{
+
+	iSceneUserDataSerializerObj = ISceneUserDataSerializer();
+	return (int) iSceneUserDataSerializerObj;
+
+}
+
+extern "C" int ISceneUserDataSerializerOnCreateNode(int node)
+{
+
+	iSceneUserDataSerializerObj->OnCreateNode(node);
+
+}
+
+extern "C" int ISceneUserDataSerializerOnReadUserData(int forSceneNode, int userData)
+{
+
+	iSceneUserDataSerializerObj->OnReadUserData(forSceneNode, userData);
+
+}
+
+extern "C" int ISceneUserDataSerializerCreateUserData(int forSceneNode)
+{
+
+	iSceneUserDataSerializerObj = createUserData(forSceneNode);
+	return (int) iSceneUserDataSerializerObj;
+
+}
+
+extern "C" int IEventReceiverIEventReceiver()
+{
+
+	iEventReceiverObj = IEventReceiver();
+	return (int) iEventReceiverObj;
+
+}
+
+extern "C" int IEventReceiverOnEvent(int event)
+{
+
+	iEventReceiverObj = OnEvent(event);
+	return (int) iEventReceiverObj;
+
+}
+
+extern "C" int IFileArchiveCreateAndOpenFile(int filename)
+{
+
+	iFileArchiveObj = createAndOpenFile(filename);
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IFileArchiveCreateAndOpenFile(int index)
+{
+
+	iFileArchiveObj = createAndOpenFile(index);
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IFileArchiveGetFileList()
+{
+
+	iFileArchiveObj = getFileList();
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IFileArchiveGetType()
+{
+
+	iFileArchiveObj = getType();
+	return (int) iFileArchiveObj;
+
+}
+
+extern "C" int IArchiveLoaderIsALoadableFileFormat(int filename)
+{
+
+	iArchiveLoaderObj = isALoadableFileFormat(filename);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderIsALoadableFileFormat(int file)
+{
+
+	iArchiveLoaderObj = isALoadableFileFormat(file);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderIsALoadableFileFormat(int fileType)
+{
+
+	iArchiveLoaderObj = isALoadableFileFormat(fileType);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderCreateArchive(int filename, int ignoreCase, int ignorePaths)
+{
+
+	iArchiveLoaderObj = createArchive(filename, ignoreCase, ignorePaths);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int IArchiveLoaderCreateArchive(int file, int ignoreCase, int ignorePaths)
+{
+
+	iArchiveLoaderObj = createArchive(file, ignoreCase, ignorePaths);
+	return (int) iArchiveLoaderObj;
+
+}
+
+extern "C" int ITimerITimer()
+{
+
+	iTimerObj = ITimer();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerGetRealTime()
+{
+
+	iTimerObj = getRealTime();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerGetTime()
+{
+
+	iTimerObj = getTime();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerSetTime(int time)
+{
+
+	iTimerObj->setTime(time);
+
+}
+
+extern "C" int ITimerStop()
+{
+
+	iTimerObj->stop();
+
+}
+
+extern "C" int ITimerStart()
+{
+
+	iTimerObj->start();
+
+}
+
+extern "C" int ITimerSetSpeed(int speed)
+{
+
+	iTimerObj->setSpeed(speed);
+
+}
+
+extern "C" int ITimerGetSpeed()
+{
+
+	iTimerObj = getSpeed();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerIsStopped()
+{
+
+	iTimerObj = isStopped();
+	return (int) iTimerObj;
+
+}
+
+extern "C" int ITimerTick()
+{
+
+	iTimerObj->tick();
+
+}
+
+extern "C" int IMeshLoaderIMeshLoader()
+{
+
+	iMeshLoaderObj = IMeshLoader();
+	return (int) iMeshLoaderObj;
+
+}
+
+extern "C" int IMeshLoaderIsALoadableFileExtension(int filename)
+{
+
+	iMeshLoaderObj = isALoadableFileExtension(filename);
+	return (int) iMeshLoaderObj;
+
+}
+
+extern "C" int IMeshLoaderCreateMesh(int file)
+{
+
+	iMeshLoaderObj = createMesh(file);
+	return (int) iMeshLoaderObj;
+
+}
+
+extern "C" int IGUIMeshViewerIGUIMeshViewer(int environment, int parent, int id, int EGUIET_MESH_VIEWER)
+{
+
+	iGUIMeshViewerObj->IGUIMeshViewer(environment, parent, id, EGUIET_MESH_VIEWER);
+
+}
+
+extern "C" int IGUIMeshViewerSetMesh(int mesh)
+{
+
+	iGUIMeshViewerObj->setMesh(mesh);
+
+}
+
+extern "C" int IGUIMeshViewerGetMesh()
+{
+
+	iGUIMeshViewerObj = getMesh();
+	return (int) iGUIMeshViewerObj;
+
+}
+
+extern "C" int IGUIMeshViewerSetMaterial(int material)
+{
+
+	iGUIMeshViewerObj->setMaterial(material);
+
+}
+
+extern "C" int IGUIMeshViewerGetMaterial()
+{
+
+	iGUIMeshViewerObj = getMaterial();
+	return (int) iGUIMeshViewerObj;
+
+}
+
+extern "C" int ISceneManagerISceneManager()
+{
+
+	iSceneManagerObj = ISceneManager();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMesh(int filename)
+{
+
+	iSceneManagerObj = getMesh(filename);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMesh(int file)
+{
+
+	iSceneManagerObj = getMesh(file);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMeshCache()
+{
+
+	iSceneManagerObj = getMeshCache();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetVideoDriver()
+{
+
+	iSceneManagerObj = getVideoDriver();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetGUIEnvironment()
+{
+
+	iSceneManagerObj = getGUIEnvironment();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetFileSystem()
+{
+
+	iSceneManagerObj = getFileSystem();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddVolumeLightSceneNode(int parent, int id, int subdivU, int subdivV, int foot, int tail, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addVolumeLightSceneNode(parent, id, subdivU, subdivV, foot, tail, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCubeSceneNode(int size, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addCubeSceneNode(size, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSphereSceneNode(int radius, int polyCount, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addSphereSceneNode(radius, polyCount, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddAnimatedMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addAnimatedMeshSceneNode(mesh, parent, id, position, rotation, scale, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addMeshSceneNode(mesh, parent, id, position, rotation, scale, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddWaterSurfaceSceneNode(int mesh, int waveHeight, int waveSpeed, int waveLength, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addWaterSurfaceSceneNode(mesh, waveHeight, waveSpeed, waveLength, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero)
+{
+
+	iSceneManagerObj = addOctTreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCameraSceneNode(int parent, int position, int lookat, int id, int makeActive)
+{
+
+	iSceneManagerObj = addCameraSceneNode(parent, position, lookat, id, makeActive);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCameraSceneNodeMaya(int parent, int rotateSpeed, int zoomSpeed, int translationSpeed, int id, int makeActive)
+{
+
+	iSceneManagerObj = addCameraSceneNodeMaya(parent, rotateSpeed, zoomSpeed, translationSpeed, id, makeActive);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddCameraSceneNodeFPS(int parent, int rotateSpeed, int moveSpeed, int id, int keyMapArray, int keyMapSize, int noVerticalMovement, int jumpSpeed, int invertMouse, int makeActive)
+{
+
+	iSceneManagerObj = addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, keyMapArray, keyMapSize, noVerticalMovement, jumpSpeed, invertMouse, makeActive);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddLightSceneNode(int parent, int position, int color, int radius, int id)
+{
+
+	iSceneManagerObj = addLightSceneNode(parent, position, color, radius, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddBillboardSceneNode(int parent, int size, int position, int id, int colorTop, int colorBottom)
+{
+
+	iSceneManagerObj = addBillboardSceneNode(parent, size, position, id, colorTop, colorBottom);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSkyBoxSceneNode(int top, int bottom, int left, int right, int front, int back, int parent, int id)
+{
+
+	iSceneManagerObj = addSkyBoxSceneNode(top, bottom, left, right, front, back, parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSkyDomeSceneNode(int texture, int horiRes, int vertRes, int texturePercentage, int spherePercentage, int radius, int parent, int id)
+{
+
+	iSceneManagerObj = addSkyDomeSceneNode(texture, horiRes, vertRes, texturePercentage, spherePercentage, radius, parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddParticleSystemSceneNode(int withDefaultEmitter, int parent, int id, int position, int rotation, int scale)
+{
+
+	iSceneManagerObj = addParticleSystemSceneNode(withDefaultEmitter, parent, id, position, rotation, scale);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTerrainSceneNode(int heightMapFileName, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty)
+{
+
+	iSceneManagerObj = addTerrainSceneNode(heightMapFileName, parent, id, position, rotation, scale, vertexColor, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTerrainSceneNode(int heightMapFile, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty)
+{
+
+	iSceneManagerObj = addTerrainSceneNode(heightMapFile, parent, id, position, rotation, scale, vertexColor, maxLOD, patchSize, smoothFactor, addAlsoIfHeightmapEmpty);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddQuake3SceneNode(int meshBuffer, int shader, int parent, int id)
+{
+
+	iSceneManagerObj = addQuake3SceneNode(meshBuffer, shader, parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddEmptySceneNode(int parent, int id)
+{
+
+	iSceneManagerObj = addEmptySceneNode(parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddDummyTransformationSceneNode(int parent, int id)
+{
+
+	iSceneManagerObj = addDummyTransformationSceneNode(parent, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTextSceneNode(int font, char * text, int color, int parent, int position, int id)
+{
+
+	iSceneManagerObj = addTextSceneNode(font, text, color, parent, position, id);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddBillboardTextSceneNode(int font, char * text, int parent, int size, int position, int id, int colorTop, int colorBottom)
+{
+
+	iSceneManagerObj = addBillboardTextSceneNode(font, text, parent, size, position, id, colorTop, colorBottom);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddHillPlaneMesh(int name, int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount)
+{
+
+	iSceneManagerObj = addHillPlaneMesh(name, tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddTerrainMesh(int meshname, int texture, int heightmap, int stretchSize, int maxHeight, int defaultVertexBlockSize)
+{
+
+	iSceneManagerObj = addTerrainMesh(meshname, texture, heightmap, stretchSize, maxHeight, defaultVertexBlockSize);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddArrowMesh(int name, int vtxColor0, int vtxColor1, int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int width0, int width1)
+{
+
+	iSceneManagerObj = addArrowMesh(name, vtxColor0, vtxColor1, tesselationCylinder, tesselationCone, height, cylinderHeight, width0, width1);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSphereMesh(int name, int radius, int polyCountX, int polyCountY)
+{
+
+	iSceneManagerObj = addSphereMesh(name, radius, polyCountX, polyCountY);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddVolumeLightMesh(int name, int SubdivideU, int SubdivideV, int FootColor, int TailColor)
+{
+
+	iSceneManagerObj = addVolumeLightMesh(name, SubdivideU, SubdivideV, FootColor, TailColor);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetRootSceneNode()
+{
+
+	iSceneManagerObj = getRootSceneNode();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFromId(int id, int start)
+{
+
+	iSceneManagerObj = getSceneNodeFromId(id, start);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFromName(char * name, int start)
+{
+
+	iSceneManagerObj = getSceneNodeFromName(name, start);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFromType(int type, int start)
+{
+
+	iSceneManagerObj = getSceneNodeFromType(type, start);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodesFromType(int type, int outNodes, int start)
+{
+
+	iSceneManagerObj->getSceneNodesFromType(type, outNodes, start);
+
+}
+
+extern "C" int ISceneManagerGetActiveCamera()
+{
+
+	iSceneManagerObj = getActiveCamera();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSetActiveCamera(int camera)
+{
+
+	iSceneManagerObj->setActiveCamera(camera);
+
+}
+
+extern "C" int ISceneManagerSetShadowColor(int color)
+{
+
+	iSceneManagerObj->setShadowColor(color);
+
+}
+
+extern "C" int ISceneManagerGetShadowColor()
+{
+
+	iSceneManagerObj = getShadowColor();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerRegisterNodeForRendering(int node, int pass)
+{
+
+	iSceneManagerObj = registerNodeForRendering(node, pass);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerDrawAll()
+{
+
+	iSceneManagerObj->drawAll();
+
+}
+
+extern "C" int ISceneManagerCreateRotationAnimator(int rotationSpeed)
+{
+
+	iSceneManagerObj = createRotationAnimator(rotationSpeed);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateFlyCircleAnimator(int center, int radius, int speed, int direction, int startPosition, int radiusEllipsoid)
+{
+
+	iSceneManagerObj = createFlyCircleAnimator(center, radius, speed, direction, startPosition, radiusEllipsoid);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateFlyStraightAnimator(int startPoint, int endPoint, int timeForWay, int loop, int pingpong)
+{
+
+	iSceneManagerObj = createFlyStraightAnimator(startPoint, endPoint, timeForWay, loop, pingpong);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTextureAnimator(int textures, int timePerFrame, int loop)
+{
+
+	iSceneManagerObj = createTextureAnimator(textures, timePerFrame, loop);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateDeleteAnimator(int timeMs)
+{
+
+	iSceneManagerObj = createDeleteAnimator(timeMs);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateCollisionResponseAnimator(int world, int sceneNode, int ellipsoidRadius, int gravityPerSecond, int ellipsoidTranslation, int slidingValue)
+{
+
+	iSceneManagerObj = createCollisionResponseAnimator(world, sceneNode, ellipsoidRadius, gravityPerSecond, ellipsoidTranslation, slidingValue);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateFollowSplineAnimator(int startTime, int points, int speed, int tightness, int loop, int pingpong)
+{
+
+	iSceneManagerObj = createFollowSplineAnimator(startTime, points, speed, tightness, loop, pingpong);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTriangleSelector(int mesh, int node)
+{
+
+	iSceneManagerObj = createTriangleSelector(mesh, node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTriangleSelector(int node)
+{
+
+	iSceneManagerObj = createTriangleSelector(node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTriangleSelectorFromBoundingBox(int node)
+{
+
+	iSceneManagerObj = createTriangleSelectorFromBoundingBox(node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateOctreeTriangleSelector(int mesh, int node, int minimalPolysPerNode)
+{
+
+	iSceneManagerObj = createOctreeTriangleSelector(mesh, node, minimalPolysPerNode);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateOctTreeTriangleSelector(int mesh, int node, int minimalPolysPerNode)
+{
+
+	iSceneManagerObj = createOctTreeTriangleSelector(mesh, node, minimalPolysPerNode);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateMetaTriangleSelector()
+{
+
+	iSceneManagerObj = createMetaTriangleSelector();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateTerrainTriangleSelector(int node, int LOD)
+{
+
+	iSceneManagerObj = createTerrainTriangleSelector(node, LOD);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddExternalMeshLoader(int externalLoader)
+{
+
+	iSceneManagerObj->addExternalMeshLoader(externalLoader);
+
+}
+
+extern "C" int ISceneManagerGetSceneCollisionManager()
+{
+
+	iSceneManagerObj = getSceneCollisionManager();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetMeshManipulator()
+{
+
+	iSceneManagerObj = getMeshManipulator();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddToDeletionQueue(int node)
+{
+
+	iSceneManagerObj->addToDeletionQueue(node);
+
+}
+
+extern "C" int ISceneManagerPostEventFromUser(int event)
+{
+
+	iSceneManagerObj = postEventFromUser(event);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerClear()
+{
+
+	iSceneManagerObj->clear();
+
+}
+
+extern "C" int ISceneManagerGetParameters()
+{
+
+	iSceneManagerObj = getParameters();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeRenderPass()
+{
+
+	iSceneManagerObj = getSceneNodeRenderPass();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetDefaultSceneNodeFactory()
+{
+
+	iSceneManagerObj = getDefaultSceneNodeFactory();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerRegisterSceneNodeFactory(int factoryToAdd)
+{
+
+	iSceneManagerObj->registerSceneNodeFactory(factoryToAdd);
+
+}
+
+extern "C" int ISceneManagerGetRegisteredSceneNodeFactoryCount()
+{
+
+	iSceneManagerObj = getRegisteredSceneNodeFactoryCount();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeFactory(int index)
+{
+
+	iSceneManagerObj = getSceneNodeFactory(index);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetDefaultSceneNodeAnimatorFactory()
+{
+
+	iSceneManagerObj = getDefaultSceneNodeAnimatorFactory();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerRegisterSceneNodeAnimatorFactory(int factoryToAdd)
+{
+
+	iSceneManagerObj->registerSceneNodeAnimatorFactory(factoryToAdd);
+
+}
+
+extern "C" int ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount()
+{
+
+	iSceneManagerObj = getRegisteredSceneNodeAnimatorFactoryCount();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeAnimatorFactory(int index)
+{
+
+	iSceneManagerObj = getSceneNodeAnimatorFactory(index);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetSceneNodeTypeName(int type)
+{
+
+	iSceneManagerObj = getSceneNodeTypeName(type);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerGetAnimatorTypeName(int type)
+{
+
+	iSceneManagerObj = getAnimatorTypeName(type);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerAddSceneNode(int sceneNodeTypeName, int parent)
+{
+
+	iSceneManagerObj = addSceneNode(sceneNodeTypeName, parent);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateNewSceneManager(int cloneContent)
+{
+
+	iSceneManagerObj = createNewSceneManager(cloneContent);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSaveScene(int filename, int userDataSerializer)
+{
+
+	iSceneManagerObj = saveScene(filename, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSaveScene(int file, int userDataSerializer)
+{
+
+	iSceneManagerObj = saveScene(file, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerLoadScene(int filename, int userDataSerializer)
+{
+
+	iSceneManagerObj = loadScene(filename, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerLoadScene(int file, int userDataSerializer)
+{
+
+	iSceneManagerObj = loadScene(file, userDataSerializer);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateMeshWriter(int type)
+{
+
+	iSceneManagerObj = createMeshWriter(type);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerCreateSkinnedMesh()
+{
+
+	iSceneManagerObj = createSkinnedMesh();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSetAmbientLight(int ambientColor)
+{
+
+	iSceneManagerObj->setAmbientLight(ambientColor);
+
+}
+
+extern "C" int ISceneManagerGetAmbientLight()
+{
+
+	iSceneManagerObj = getAmbientLight();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerSetLightManager(int lightManager)
+{
+
+	iSceneManagerObj->setLightManager(lightManager);
+
+}
+
+extern "C" int ISceneManagerGetGeometryCreator()
+{
+
+	iSceneManagerObj = getGeometryCreator();
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int ISceneManagerIsCulled(int node)
+{
+
+	iSceneManagerObj = isCulled(node);
+	return (int) iSceneManagerObj;
+
+}
+
+extern "C" int IVideoDriverBeginScene(int backBuffer, int zBuffer, int color, int videoData, int sourceRect)
+{
+
+	iVideoDriverObj = beginScene(backBuffer, zBuffer, color, videoData, sourceRect);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverEndScene()
+{
+
+	iVideoDriverObj = endScene();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverQueryFeature(int feature)
+{
+
+	iVideoDriverObj = queryFeature(feature);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverDisableFeature(int feature, int flag)
+{
+
+	iVideoDriverObj->disableFeature(feature, flag);
+
+}
+
+extern "C" int IVideoDriverCheckDriverReset()
+{
+
+	iVideoDriverObj = checkDriverReset();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetTransform(int state, int mat)
+{
+
+	iVideoDriverObj->setTransform(state, mat);
+
+}
+
+extern "C" int IVideoDriverGetTransform(int state)
+{
+
+	iVideoDriverObj = getTransform(state);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageLoaderCount()
+{
+
+	iVideoDriverObj = getImageLoaderCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageLoader(int n)
+{
+
+	iVideoDriverObj = getImageLoader(n);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageWriterCount()
+{
+
+	iVideoDriverObj = getImageWriterCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetImageWriter(int n)
+{
+
+	iVideoDriverObj = getImageWriter(n);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetMaterial(int material)
+{
+
+	iVideoDriverObj->setMaterial(material);
+
+}
+
+extern "C" int IVideoDriverGetTexture(int filename)
+{
+
+	iVideoDriverObj = getTexture(filename);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetTexture(int file)
+{
+
+	iVideoDriverObj = getTexture(file);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetTextureByIndex(int index)
+{
+
+	iVideoDriverObj = getTextureByIndex(index);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetTextureCount()
+{
+
+	iVideoDriverObj = getTextureCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverRenameTexture(int texture, int newName)
+{
+
+	iVideoDriverObj->renameTexture(texture, newName);
+
+}
+
+extern "C" int IVideoDriverAddTexture(int size, int name, int format)
+{
+
+	iVideoDriverObj = addTexture(size, name, format);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverAddTexture(int name, int image, int mipmapData)
+{
+
+	iVideoDriverObj = addTexture(name, image, mipmapData);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverAddRenderTargetTexture(int size, int name, int format)
+{
+
+	iVideoDriverObj = addRenderTargetTexture(size, name, format);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverRemoveTexture(int texture)
+{
+
+	iVideoDriverObj->removeTexture(texture);
+
+}
+
+extern "C" int IVideoDriverRemoveAllTextures()
+{
+
+	iVideoDriverObj->removeAllTextures();
+
+}
+
+extern "C" int IVideoDriverRemoveHardwareBuffer(int mb)
+{
+
+	iVideoDriverObj->removeHardwareBuffer(mb);
+
+}
+
+extern "C" int IVideoDriverRemoveAllHardwareBuffers()
+{
+
+	iVideoDriverObj->removeAllHardwareBuffers();
+
+}
+
+extern "C" int IVideoDriverCreateOcclusionQuery(int node, int mesh)
+{
+
+	iVideoDriverObj->createOcclusionQuery(node, mesh);
+
+}
+
+extern "C" int IVideoDriverRemoveOcclusionQuery(int node)
+{
+
+	iVideoDriverObj->removeOcclusionQuery(node);
+
+}
+
+extern "C" int IVideoDriverRemoveAllOcclusionQueries()
+{
+
+	iVideoDriverObj->removeAllOcclusionQueries();
+
+}
+
+extern "C" int IVideoDriverRunOcclusionQuery(int node, int visible)
+{
+
+	iVideoDriverObj->runOcclusionQuery(node, visible);
+
+}
+
+extern "C" int IVideoDriverRunAllOcclusionQueries(int visible)
+{
+
+	iVideoDriverObj->runAllOcclusionQueries(visible);
+
+}
+
+extern "C" int IVideoDriverUpdateOcclusionQuery(int node, int block)
+{
+
+	iVideoDriverObj->updateOcclusionQuery(node, block);
+
+}
+
+extern "C" int IVideoDriverUpdateAllOcclusionQueries(int block)
+{
+
+	iVideoDriverObj->updateAllOcclusionQueries(block);
+
+}
+
+extern "C" int IVideoDriverGetOcclusionQueryResult(int node)
+{
+
+	iVideoDriverObj = getOcclusionQueryResult(node);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverMakeColorKeyTexture(int texture, int color, int zeroTexels)
+{
+
+	iVideoDriverObj->makeColorKeyTexture(texture, color, zeroTexels);
+
+}
+
+extern "C" int IVideoDriverMakeColorKeyTexture(int texture, int colorKeyPixelPos, int zeroTexels)
+{
+
+	iVideoDriverObj->makeColorKeyTexture(texture, colorKeyPixelPos, zeroTexels);
+
+}
+
+extern "C" int IVideoDriverMakeNormalMapTexture(int texture, int amplitude)
+{
+
+	iVideoDriverObj->makeNormalMapTexture(texture, amplitude);
+
+}
+
+extern "C" int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color)
+{
+
+	iVideoDriverObj = setRenderTarget(texture, clearBackBuffer, clearZBuffer, color);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetRenderTarget(int target, int clearTarget, int clearZBuffer, int color)
+{
+
+	iVideoDriverObj = setRenderTarget(target, clearTarget, clearZBuffer, color);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color)
+{
+
+	iVideoDriverObj = setRenderTarget(texture, clearBackBuffer, clearZBuffer, color);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetViewPort(int area)
+{
+
+	iVideoDriverObj->setViewPort(area);
+
+}
+
+extern "C" int IVideoDriverGetViewPort()
+{
+
+	iVideoDriverObj = getViewPort();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
+
+}
+
+extern "C" int IVideoDriverDraw2DVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType)
+{
+
+	iVideoDriverObj->draw2DVertexPrimitiveList(vertices, vertexCount, indexList, primCount, vType, pType, iType);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLES);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLES);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleList(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLES);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+
+}
+
+extern "C" int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount)
+{
+
+	iVideoDriverObj->drawIndexedTriangleFan(vertices, vertexCount, indexList, triangleCount);
+
+}
+
+extern "C" int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN)
+{
+
+	iVideoDriverObj->drawVertexPrimitiveList(EPT_TRIANGLE_FAN);
+
+}
+
+extern "C" int IVideoDriverDraw3DLine(int start, int end, int color)
+{
+
+	iVideoDriverObj->draw3DLine(start, end, color);
+
+}
+
+extern "C" int IVideoDriverDraw3DTriangle(int triangle, int color)
+{
+
+	iVideoDriverObj->draw3DTriangle(triangle, color);
+
+}
+
+extern "C" int IVideoDriverDraw3DBox(int box, int color)
+{
+
+	iVideoDriverObj->draw3DBox(box, color);
+
+}
+
+extern "C" int IVideoDriverDraw2DImage(int texture, int destPos)
+{
+
+	iVideoDriverObj->draw2DImage(texture, destPos);
+
+}
+
+extern "C" int IVideoDriverDraw2DImage(int texture, int destPos, int sourceRect, int clipRect, int color, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImage(texture, destPos, sourceRect, clipRect, color, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DImageBatch(int texture, int pos, int sourceRects, int indices, int kerningWidth, int clipRect, int color, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImageBatch(texture, pos, sourceRects, indices, kerningWidth, clipRect, color, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DImageBatch(int texture, int positions, int sourceRects, int clipRect, int color, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImageBatch(texture, positions, sourceRects, clipRect, color, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DImage(int texture, int destRect, int sourceRect, int clipRect, int colors, int useAlphaChannelOfTexture)
+{
+
+	iVideoDriverObj->draw2DImage(texture, destRect, sourceRect, clipRect, colors, useAlphaChannelOfTexture);
+
+}
+
+extern "C" int IVideoDriverDraw2DRectangle(int color, int pos, int clip)
+{
+
+	iVideoDriverObj->draw2DRectangle(color, pos, clip);
+
+}
+
+extern "C" int IVideoDriverDraw2DRectangle(int pos, int colorLeftUp, int colorRightUp, int colorLeftDown, int colorRightDown, int clip)
+{
+
+	iVideoDriverObj->draw2DRectangle(pos, colorLeftUp, colorRightUp, colorLeftDown, colorRightDown, clip);
+
+}
+
+extern "C" int IVideoDriverDraw2DRectangleOutline(int pos, int color)
+{
+
+	iVideoDriverObj->draw2DRectangleOutline(pos, color);
+
+}
+
+extern "C" int IVideoDriverDraw2DLine(int start, int end, int color)
+{
+
+	iVideoDriverObj->draw2DLine(start, end, color);
+
+}
+
+extern "C" int IVideoDriverDrawPixel(int x, int y, int color)
+{
+
+	iVideoDriverObj->drawPixel(x, y, color);
+
+}
+
+extern "C" int IVideoDriverDraw2DPolygon(int center, int radius, int color, int vertexCount)
+{
+
+	iVideoDriverObj->draw2DPolygon(center, radius, color, vertexCount);
+
+}
+
+extern "C" int IVideoDriverDrawStencilShadowVolume(int triangles, int count, int zfail)
+{
+
+	iVideoDriverObj->drawStencilShadowVolume(triangles, count, zfail);
+
+}
+
+extern "C" int IVideoDriverDrawStencilShadow(int clearStencilBuffer, int leftUpEdge, int rightUpEdge, int leftDownEdge, int rightDownEdge)
+{
+
+	iVideoDriverObj->drawStencilShadow(clearStencilBuffer, leftUpEdge, rightUpEdge, leftDownEdge, rightDownEdge);
+
+}
+
+extern "C" int IVideoDriverDrawMeshBuffer(int mb)
+{
+
+	iVideoDriverObj->drawMeshBuffer(mb);
+
+}
+
+extern "C" int IVideoDriverSetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog)
+{
+
+	iVideoDriverObj->setFog(color, fogType, start, end, density, pixelFog, rangeFog);
+
+}
+
+extern "C" int IVideoDriverGetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog)
+{
+
+	iVideoDriverObj->getFog(color, fogType, start, end, density, pixelFog, rangeFog);
+
+}
+
+extern "C" int IVideoDriverGetColorFormat()
+{
+
+	iVideoDriverObj = getColorFormat();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetScreenSize()
+{
+
+	iVideoDriverObj = getScreenSize();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetCurrentRenderTargetSize()
+{
+
+	iVideoDriverObj = getCurrentRenderTargetSize();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetFPS()
+{
+
+	iVideoDriverObj = getFPS();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetPrimitiveCountDrawn(int mode)
+{
+
+	iVideoDriverObj = getPrimitiveCountDrawn(mode);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverDeleteAllDynamicLights()
+{
+
+	iVideoDriverObj->deleteAllDynamicLights();
+
+}
+
+extern "C" int IVideoDriverAddDynamicLight(int light)
+{
+
+	iVideoDriverObj = addDynamicLight(light);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaximalDynamicLightAmount()
+{
+
+	iVideoDriverObj = getMaximalDynamicLightAmount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetDynamicLightCount()
+{
+
+	iVideoDriverObj = getDynamicLightCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetDynamicLight(int idx)
+{
+
+	iVideoDriverObj = getDynamicLight(idx);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverTurnLightOn(int lightIndex, int turnOn)
+{
+
+	iVideoDriverObj->turnLightOn(lightIndex, turnOn);
+
+}
+
+extern "C" int IVideoDriverGetName()
+{
+
+	iVideoDriverObj = getName();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverAddExternalImageLoader(int loader)
+{
+
+	iVideoDriverObj->addExternalImageLoader(loader);
+
+}
+
+extern "C" int IVideoDriverAddExternalImageWriter(int writer)
+{
+
+	iVideoDriverObj->addExternalImageWriter(writer);
+
+}
+
+extern "C" int IVideoDriverGetMaximalPrimitiveCount()
+{
+
+	iVideoDriverObj = getMaximalPrimitiveCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetTextureCreationFlag(int flag, int enabled)
+{
+
+	iVideoDriverObj->setTextureCreationFlag(flag, enabled);
+
+}
+
+extern "C" int IVideoDriverGetTextureCreationFlag(int flag)
+{
+
+	iVideoDriverObj = getTextureCreationFlag(flag);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImageFromFile(int filename)
+{
+
+	iVideoDriverObj = createImageFromFile(filename);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImageFromFile(int file)
+{
+
+	iVideoDriverObj = createImageFromFile(file);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverWriteImageToFile(int image, int filename, int param)
+{
+
+	iVideoDriverObj = writeImageToFile(image, filename, param);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverWriteImageToFile(int image, int file, int param)
+{
+
+	iVideoDriverObj = writeImageToFile(image, file, param);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImageFromData(int format, int size, int data, int ownForeignMemory, int deleteMemory)
+{
+
+	iVideoDriverObj = createImageFromData(format, size, data, ownForeignMemory, deleteMemory);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int format, int size)
+{
+
+	iVideoDriverObj = createImage(format, size);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int format, int imageToCopy)
+{
+
+	iVideoDriverObj = createImage(format, imageToCopy);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int imageToCopy, int pos, int size)
+{
+
+	iVideoDriverObj = createImage(imageToCopy, pos, size);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverCreateImage(int texture, int pos, int size)
+{
+
+	iVideoDriverObj = createImage(texture, pos, size);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverOnResize(int size)
+{
+
+	iVideoDriverObj->OnResize(size);
+
+}
+
+extern "C" int IVideoDriverAddMaterialRenderer(int renderer, char * name)
+{
+
+	iVideoDriverObj = addMaterialRenderer(renderer, name);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterialRenderer(int idx)
+{
+
+	iVideoDriverObj = getMaterialRenderer(idx);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterialRendererCount()
+{
+
+	iVideoDriverObj = getMaterialRendererCount();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterialRendererName(int idx)
+{
+
+	iVideoDriverObj = getMaterialRendererName(idx);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetMaterialRendererName(int idx, char * name)
+{
+
+	iVideoDriverObj->setMaterialRendererName(idx, name);
+
+}
+
+extern "C" int IVideoDriverCreateAttributesFromMaterial(int material)
+{
+
+	iVideoDriverObj = createAttributesFromMaterial(material);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverFillMaterialStructureFromAttributes(int outMaterial, int attributes)
+{
+
+	iVideoDriverObj->fillMaterialStructureFromAttributes(outMaterial, attributes);
+
+}
+
+extern "C" int IVideoDriverGetExposedVideoData()
+{
+
+	iVideoDriverObj = getExposedVideoData();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetDriverType()
+{
+
+	iVideoDriverObj = getDriverType();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetGPUProgrammingServices()
+{
+
+	iVideoDriverObj = getGPUProgrammingServices();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMeshManipulator()
+{
+
+	iVideoDriverObj = getMeshManipulator();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverClearZBuffer()
+{
+
+	iVideoDriverObj->clearZBuffer();
+
+}
+
+extern "C" int IVideoDriverCreateScreenShot()
+{
+
+	iVideoDriverObj = createScreenShot();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverFindTexture(int filename)
+{
+
+	iVideoDriverObj = findTexture(filename);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetClipPlane(int index, int plane, int enable)
+{
+
+	iVideoDriverObj = setClipPlane(index, plane, enable);
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverEnableClipPlane(int index, int enable)
+{
+
+	iVideoDriverObj->enableClipPlane(index, enable);
+
+}
+
+extern "C" int IVideoDriverSetMinHardwareBufferVertexCount(int count)
+{
+
+	iVideoDriverObj->setMinHardwareBufferVertexCount(count);
+
+}
+
+extern "C" int IVideoDriverGetOverrideMaterial()
+{
+
+	iVideoDriverObj = getOverrideMaterial();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverGetMaterial2D()
+{
+
+	iVideoDriverObj = getMaterial2D();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverEnableMaterial2D(int enable)
+{
+
+	iVideoDriverObj->enableMaterial2D(enable);
+
+}
+
+extern "C" int IVideoDriverGetVendorInfo()
+{
+
+	iVideoDriverObj = getVendorInfo();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverSetAmbientLight(int color)
+{
+
+	iVideoDriverObj->setAmbientLight(color);
+
+}
+
+extern "C" int IVideoDriverSetAllowZWriteOnTransparent(int flag)
+{
+
+	iVideoDriverObj->setAllowZWriteOnTransparent(flag);
+
+}
+
+extern "C" int IVideoDriverGetMaxTextureSize()
+{
+
+	iVideoDriverObj = getMaxTextureSize();
+	return (int) iVideoDriverObj;
+
+}
+
+extern "C" int IVideoDriverConvertColor(int sP, int sF, int sN, int dP, int dF)
+{
+
+	iVideoDriverObj->convertColor(sP, sF, sN, dP, dF);
+
+}
+
+extern "C" int ISkinnedMeshGetJointCount()
+{
+
+	iSkinnedMeshObj = getJointCount();
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshGetJointName(int number)
+{
+
+	iSkinnedMeshObj = getJointName(number);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshGetJointNumber(char * name)
+{
+
+	iSkinnedMeshObj = getJointNumber(name);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshUseAnimationFrom(int mesh)
+{
+
+	iSkinnedMeshObj = useAnimationFrom(mesh);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int ISkinnedMeshUpdateNormalsWhenAnimating(int on)
+{
+
+	iSkinnedMeshObj->updateNormalsWhenAnimating(on);
+
+}
+
+extern "C" int ISkinnedMeshSetInterpolationMode(int mode)
+{
+
+	iSkinnedMeshObj->setInterpolationMode(mode);
+
+}
+
+extern "C" int ISkinnedMeshAnimateMesh(int frame, int blend)
+{
+
+	iSkinnedMeshObj->animateMesh(frame, blend);
+
+}
+
+extern "C" int ISkinnedMeshSkinMesh()
+{
+
+	iSkinnedMeshObj->skinMesh();
+
+}
+
+extern "C" int ISkinnedMeshConvertMeshToTangents()
+{
+
+	iSkinnedMeshObj->convertMeshToTangents();
+
+}
+
+extern "C" int ISkinnedMeshSetHardwareSkinning(int on)
+{
+
+	iSkinnedMeshObj = setHardwareSkinning(on);
+	return (int) iSkinnedMeshObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeCount()
+{
+
+	iVideoModeListObj = getVideoModeCount();
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeResolution(int modeNumber)
+{
+
+	iVideoModeListObj = getVideoModeResolution(modeNumber);
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeResolution(int minSize, int maxSize)
+{
+
+	iVideoModeListObj = getVideoModeResolution(minSize, maxSize);
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetVideoModeDepth(int modeNumber)
+{
+
+	iVideoModeListObj = getVideoModeDepth(modeNumber);
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetDesktopResolution()
+{
+
+	iVideoModeListObj = getDesktopResolution();
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IVideoModeListGetDesktopDepth()
+{
+
+	iVideoModeListObj = getDesktopDepth();
+	return (int) iVideoModeListObj;
+
+}
+
+extern "C" int IMeshCacheIMeshCache()
+{
+
+	iMeshCacheObj = IMeshCache();
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheAddMesh(int name, int mesh)
+{
+
+	iMeshCacheObj->addMesh(name, mesh);
+
+}
+
+extern "C" int IMeshCacheRemoveMesh(int mesh)
+{
+
+	iMeshCacheObj->removeMesh(mesh);
+
+}
+
+extern "C" int IMeshCacheRemoveMesh(int mesh)
+{
+
+	iMeshCacheObj->removeMesh(mesh);
+
+}
+
+extern "C" int IMeshCacheGetMeshCount()
+{
+
+	iMeshCacheObj = getMeshCount();
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshIndex(int mesh)
+{
+
+	iMeshCacheObj = getMeshIndex(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshIndex(int mesh)
+{
+
+	iMeshCacheObj = getMeshIndex(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshByIndex(int index)
+{
+
+	iMeshCacheObj = getMeshByIndex(index);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshByFilename(int filename)
+{
+
+	iMeshCacheObj = getMeshByFilename(filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshFilename(int index)
+{
+
+	iMeshCacheObj = getMeshFilename(index);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshFilename(int mesh)
+{
+
+	iMeshCacheObj = getMeshFilename(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshFilename(int mesh)
+{
+
+	iMeshCacheObj = getMeshFilename(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheSetMeshFilename(int index, int filename)
+{
+
+	iMeshCacheObj = setMeshFilename(index, filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheSetMeshFilename(int mesh, int filename)
+{
+
+	iMeshCacheObj = setMeshFilename(mesh, filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheSetMeshFilename(int mesh, int filename)
+{
+
+	iMeshCacheObj = setMeshFilename(mesh, filename);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshByName(int name)
+{
+
+	iMeshCacheObj = getMeshByName(name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshName(int index)
+{
+
+	iMeshCacheObj = getMeshName(index);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshName(int mesh)
+{
+
+	iMeshCacheObj = getMeshName(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheGetMeshName(int mesh)
+{
+
+	iMeshCacheObj = getMeshName(mesh);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheRenameMesh(int index, int name)
+{
+
+	iMeshCacheObj = renameMesh(index, name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheRenameMesh(int mesh, int name)
+{
+
+	iMeshCacheObj = renameMesh(mesh, name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheRenameMesh(int mesh, int name)
+{
+
+	iMeshCacheObj = renameMesh(mesh, name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheIsMeshLoaded(int name)
+{
+
+	iMeshCacheObj = isMeshLoaded(name);
+	return (int) iMeshCacheObj;
+
+}
+
+extern "C" int IMeshCacheClear()
+{
+
+	iMeshCacheObj->clear();
+
+}
+
+extern "C" int IMeshCacheClearUnusedMeshes()
+{
+
+	iMeshCacheObj->clearUnusedMeshes();
+
+}
+
+extern "C" int IGPUProgrammingServicesIGPUProgrammingServices()
+{
+
+	iGPUProgrammingServicesObj = IGPUProgrammingServices();
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, char * geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgram, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterial(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgramFileName, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgramFileName, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgramFileName, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgramFileName, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, geometryShaderProgram, geometryShaderEntryPointName, gsCompileTarget, inType, outType, verticesOut, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addHighLevelShaderMaterialFromFiles(vertexShaderProgram, vertexShaderEntryPointName, vsCompileTarget, pixelShaderProgram, pixelShaderEntryPointName, psCompileTarget, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddShaderMaterial(char * vertexShaderProgram, char * pixelShaderProgram, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addShaderMaterial(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgram, int pixelShaderProgram, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addShaderMaterialFromFiles(vertexShaderProgram, pixelShaderProgram, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgramFileName, int pixelShaderProgramFileName, int callback, int baseMaterial, int userData)
+{
+
+	iGPUProgrammingServicesObj = addShaderMaterialFromFiles(vertexShaderProgramFileName, pixelShaderProgramFileName, callback, baseMaterial, userData);
+	return (int) iGPUProgrammingServicesObj;
+
+}
+
+extern "C" int IGUIListBoxIGUIListBox(int environment, int parent, int id, int EGUIET_LIST_BOX)
+{
+
+	iGUIListBoxObj->IGUIListBox(environment, parent, id, EGUIET_LIST_BOX);
+
+}
+
+extern "C" int IGUIListBoxGetItemCount()
+{
+
+	iGUIListBoxObj = getItemCount();
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxGetListItem(int id)
+{
+
+	iGUIListBoxObj = getListItem(id);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxAddItem(char * text)
+{
+
+	iGUIListBoxObj = addItem(text);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxAddItem(char * text, int icon)
+{
+
+	iGUIListBoxObj = addItem(text, icon);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxRemoveItem(int index)
+{
+
+	iGUIListBoxObj->removeItem(index);
+
+}
+
+extern "C" int IGUIListBoxGetIcon(int index)
+{
+
+	iGUIListBoxObj = getIcon(index);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetSpriteBank(int bank)
+{
+
+	iGUIListBoxObj->setSpriteBank(bank);
+
+}
+
+extern "C" int IGUIListBoxClear()
+{
+
+	iGUIListBoxObj->clear();
+
+}
+
+extern "C" int IGUIListBoxGetSelected()
+{
+
+	iGUIListBoxObj = getSelected();
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetSelected(int index)
+{
+
+	iGUIListBoxObj->setSelected(index);
+
+}
+
+extern "C" int IGUIListBoxSetSelected(char * item)
+{
+
+	iGUIListBoxObj->setSelected(item);
+
+}
+
+extern "C" int IGUIListBoxSetAutoScrollEnabled(int scroll)
+{
+
+	iGUIListBoxObj->setAutoScrollEnabled(scroll);
+
+}
+
+extern "C" int IGUIListBoxIsAutoScrollEnabled()
+{
+
+	iGUIListBoxObj = isAutoScrollEnabled();
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetItemOverrideColor(int index, int color)
+{
+
+	iGUIListBoxObj->setItemOverrideColor(index, color);
+
+}
+
+extern "C" int IGUIListBoxSetItemOverrideColor(int index, int colorType, int color)
+{
+
+	iGUIListBoxObj->setItemOverrideColor(index, colorType, color);
+
+}
+
+extern "C" int IGUIListBoxClearItemOverrideColor(int index)
+{
+
+	iGUIListBoxObj->clearItemOverrideColor(index);
+
+}
+
+extern "C" int IGUIListBoxClearItemOverrideColor(int index, int colorType)
+{
+
+	iGUIListBoxObj->clearItemOverrideColor(index, colorType);
+
+}
+
+extern "C" int IGUIListBoxHasItemOverrideColor(int index, int colorType)
+{
+
+	iGUIListBoxObj = hasItemOverrideColor(index, colorType);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxGetItemOverrideColor(int index, int colorType)
+{
+
+	iGUIListBoxObj = getItemOverrideColor(index, colorType);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxGetItemDefaultColor(int colorType)
+{
+
+	iGUIListBoxObj = getItemDefaultColor(colorType);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSetItem(int index, char * text, int icon)
+{
+
+	iGUIListBoxObj->setItem(index, text, icon);
+
+}
+
+extern "C" int IGUIListBoxInsertItem(int index, char * text, int icon)
+{
+
+	iGUIListBoxObj = insertItem(index, text, icon);
+	return (int) iGUIListBoxObj;
+
+}
+
+extern "C" int IGUIListBoxSwapItems(int index1, int index2)
+{
+
+	iGUIListBoxObj->swapItems(index1, index2);
+
+}
+
+extern "C" int IGUIListBoxSetItemHeight(int height)
+{
+
+	iGUIListBoxObj->setItemHeight(height);
+
+}
+
+extern "C" int IGUIListBoxSetDrawBackground(int draw)
+{
+
+	iGUIListBoxObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUIEditBoxIGUIEditBox(int environment, int parent, int id, int EGUIET_EDIT_BOX)
+{
+
+	iGUIEditBoxObj->IGUIEditBox(environment, parent, id, EGUIET_EDIT_BOX);
+
+}
+
+extern "C" int IGUIEditBoxSetOverrideFont(int font)
+{
+
+	iGUIEditBoxObj->setOverrideFont(font);
+
+}
+
+extern "C" int IGUIEditBoxSetOverrideColor(int color)
+{
+
+	iGUIEditBoxObj->setOverrideColor(color);
+
+}
+
+extern "C" int IGUIEditBoxGetOverrideColor()
+{
+
+	iGUIEditBoxObj = getOverrideColor();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxEnableOverrideColor(int enable)
+{
+
+	iGUIEditBoxObj->enableOverrideColor(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsOverrideColorEnabled()
+{
+
+	iGUIEditBoxObj = isOverrideColorEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetDrawBorder(int border)
+{
+
+	iGUIEditBoxObj->setDrawBorder(border);
+
+}
+
+extern "C" int IGUIEditBoxSetTextAlignment(int horizontal, int vertical)
+{
+
+	iGUIEditBoxObj->setTextAlignment(horizontal, vertical);
+
+}
+
+extern "C" int IGUIEditBoxSetWordWrap(int enable)
+{
+
+	iGUIEditBoxObj->setWordWrap(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsWordWrapEnabled()
+{
+
+	iGUIEditBoxObj = isWordWrapEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetMultiLine(int enable)
+{
+
+	iGUIEditBoxObj->setMultiLine(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsMultiLineEnabled()
+{
+
+	iGUIEditBoxObj = isMultiLineEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetAutoScroll(int enable)
+{
+
+	iGUIEditBoxObj->setAutoScroll(enable);
+
+}
+
+extern "C" int IGUIEditBoxIsAutoScrollEnabled()
+{
+
+	iGUIEditBoxObj = isAutoScrollEnabled();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetPasswordBox(int passwordBox, char * passwordChar)
+{
+
+	iGUIEditBoxObj->setPasswordBox(passwordBox, passwordChar);
+
+}
+
+extern "C" int IGUIEditBoxIsPasswordBox()
+{
+
+	iGUIEditBoxObj = isPasswordBox();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxGetTextDimension()
+{
+
+	iGUIEditBoxObj = getTextDimension();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int IGUIEditBoxSetMax(int max)
+{
+
+	iGUIEditBoxObj->setMax(max);
+
+}
+
+extern "C" int IGUIEditBoxGetMax()
+{
+
+	iGUIEditBoxObj = getMax();
+	return (int) iGUIEditBoxObj;
+
+}
+
+extern "C" int ITriangleSelectorITriangleSelector()
+{
+
+	iTriangleSelectorObj = ITriangleSelector();
+	return (int) iTriangleSelectorObj;
+
+}
+
+extern "C" int ITriangleSelectorGetTriangleCount()
+{
+
+	iTriangleSelectorObj = getTriangleCount();
+	return (int) iTriangleSelectorObj;
+
+}
+
+extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int transform)
+{
+
+	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, transform);
+
+}
+
+extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int box, int transform)
+{
+
+	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, box, transform);
+
+}
+
+extern "C" int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int line, int transform)
+{
+
+	iTriangleSelectorObj->getTriangles(triangles, arraySize, outTriangleCount, line, transform);
+
+}
+
+extern "C" int ITriangleSelectorGetSceneNodeForTriangle(int triangleIndex)
+{
+
+	iTriangleSelectorObj = getSceneNodeForTriangle(triangleIndex);
+	return (int) iTriangleSelectorObj;
+
+}
+
+extern "C" int IGUISkinGetColor(int color)
+{
+
+	iGUISkinObj = getColor(color);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetColor(int which, int newColor)
+{
+
+	iGUISkinObj->setColor(which, newColor);
+
+}
+
+extern "C" int IGUISkinGetSize(int size)
+{
+
+	iGUISkinObj = getSize(size);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinGetDefaultText(int text)
+{
+
+	iGUISkinObj = getDefaultText(text);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetDefaultText(int which, char * newText)
+{
+
+	iGUISkinObj->setDefaultText(which, newText);
+
+}
+
+extern "C" int IGUISkinSetSize(int which, int size)
+{
+
+	iGUISkinObj->setSize(which, size);
+
+}
+
+extern "C" int IGUISkinGetFont(int which)
+{
+
+	iGUISkinObj = getFont(which);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetFont(int font, int which)
+{
+
+	iGUISkinObj->setFont(font, which);
+
+}
+
+extern "C" int IGUISkinGetSpriteBank()
+{
+
+	iGUISkinObj = getSpriteBank();
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetSpriteBank(int bank)
+{
+
+	iGUISkinObj->setSpriteBank(bank);
+
+}
+
+extern "C" int IGUISkinGetIcon(int icon)
+{
+
+	iGUISkinObj = getIcon(icon);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinSetIcon(int icon, int index)
+{
+
+	iGUISkinObj->setIcon(icon, index);
+
+}
+
+extern "C" int IGUISkinDraw3DButtonPaneStandard(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DButtonPaneStandard(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DButtonPanePressed(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DButtonPanePressed(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DSunkenPane(int element, int bgcolor, int flat, int fillBackGround, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DSunkenPane(element, bgcolor, flat, fillBackGround, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DWindowBackground(int element, int drawTitleBar, int titleBarColor, int rect, int clip, int checkClientArea)
+{
+
+	iGUISkinObj = draw3DWindowBackground(element, drawTitleBar, titleBarColor, rect, clip, checkClientArea);
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IGUISkinDraw3DMenuPane(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DMenuPane(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DToolBar(int element, int rect, int clip)
+{
+
+	iGUISkinObj->draw3DToolBar(element, rect, clip);
+
+}
+
+extern "C" int IGUISkinDraw3DTabButton(int element, int active, int rect, int clip, int alignment)
+{
+
+	iGUISkinObj->draw3DTabButton(element, active, rect, clip, alignment);
+
+}
+
+extern "C" int IGUISkinDraw3DTabBody(int element, int border, int background, int rect, int clip, int tabHeight, int alignment)
+{
+
+	iGUISkinObj->draw3DTabBody(element, border, background, rect, clip, tabHeight, alignment);
+
+}
+
+extern "C" int IGUISkinDrawIcon(int element, int icon, int position, int starttime, int currenttime, int loop, int clip)
+{
+
+	iGUISkinObj->drawIcon(element, icon, position, starttime, currenttime, loop, clip);
+
+}
+
+extern "C" int IGUISkinDraw2DRectangle(int element, int color, int pos, int clip)
+{
+
+	iGUISkinObj->draw2DRectangle(element, color, pos, clip);
+
+}
+
+extern "C" int IGUISkinGetType()
+{
+
+	iGUISkinObj = getType();
+	return (int) iGUISkinObj;
+
+}
+
+extern "C" int IDummyTransformationSceneNodeIDummyTransformationSceneNode(int parent, int mgr, int parent)
+{
+
+	iDummyTransformationSceneNodeObj->IDummyTransformationSceneNode(parent, mgr, parent);
+
+}
+
+extern "C" int IDummyTransformationSceneNodeGetRelativeTransformationMatrix()
+{
+
+	iDummyTransformationSceneNodeObj = getRelativeTransformationMatrix();
+	return (int) iDummyTransformationSceneNodeObj;
+
+}
+
+extern "C" int IFileSystemCreateAndOpenFile(int filename)
+{
+
+	iFileSystemObj = createAndOpenFile(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateMemoryReadFile(int memory, int len, int fileName, int deleteMemoryWhenDropped)
+{
+
+	iFileSystemObj = createMemoryReadFile(memory, len, fileName, deleteMemoryWhenDropped);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize)
+{
+
+	iFileSystemObj = createLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateMemoryWriteFile(int memory, int len, int fileName, int deleteMemoryWhenDropped)
+{
+
+	iFileSystemObj = createMemoryWriteFile(memory, len, fileName, deleteMemoryWhenDropped);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateAndWriteFile(int filename, int append)
+{
+
+	iFileSystemObj = createAndWriteFile(filename, append);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddFileArchive(int filename, int ignoreCase, int ignorePaths, int archiveType, int password)
+{
+
+	iFileSystemObj = addFileArchive(filename, ignoreCase, ignorePaths, archiveType, password);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddArchiveLoader(int loader)
+{
+
+	iFileSystemObj->addArchiveLoader(loader);
+
+}
+
+extern "C" int IFileSystemGetFileArchiveCount()
+{
+
+	iFileSystemObj = getFileArchiveCount();
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemRemoveFileArchive(int index)
+{
+
+	iFileSystemObj = removeFileArchive(index);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemRemoveFileArchive(int filename)
+{
+
+	iFileSystemObj = removeFileArchive(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemMoveFileArchive(int sourceIndex, int relative)
+{
+
+	iFileSystemObj = moveFileArchive(sourceIndex, relative);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetFileArchive(int index)
+{
+
+	iFileSystemObj = getFileArchive(index);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddZipFileArchive(char * filename, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = addZipFileArchive(filename, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddFolderFileArchive(char * filename, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = addFolderFileArchive(filename, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemAddPakFileArchive(char * filename, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = addPakFileArchive(filename, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetWorkingDirectory()
+{
+
+	iFileSystemObj = getWorkingDirectory();
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemChangeWorkingDirectoryTo(int newDirectory)
+{
+
+	iFileSystemObj = changeWorkingDirectoryTo(newDirectory);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetAbsolutePath(int filename)
+{
+
+	iFileSystemObj = getAbsolutePath(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetFileDir(int filename)
+{
+
+	iFileSystemObj = getFileDir(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemGetFileBasename(int filename, int keepExtension)
+{
+
+	iFileSystemObj = getFileBasename(filename, keepExtension);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemFlattenFilename(int directory, int root)
+{
+
+	iFileSystemObj = flattenFilename(directory, root);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateFileList()
+{
+
+	iFileSystemObj = createFileList();
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateEmptyFileList(int path, int ignoreCase, int ignorePaths)
+{
+
+	iFileSystemObj = createEmptyFileList(path, ignoreCase, ignorePaths);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemSetFileListSystem(int listType)
+{
+
+	iFileSystemObj = setFileListSystem(listType);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemExistFile(int filename)
+{
+
+	iFileSystemObj = existFile(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReader(int filename)
+{
+
+	iFileSystemObj = createXMLReader(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReader(int file)
+{
+
+	iFileSystemObj = createXMLReader(file);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReaderUTF8(int filename)
+{
+
+	iFileSystemObj = createXMLReaderUTF8(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLReaderUTF8(int file)
+{
+
+	iFileSystemObj = createXMLReaderUTF8(file);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLWriter(int filename)
+{
+
+	iFileSystemObj = createXMLWriter(filename);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateXMLWriter(int file)
+{
+
+	iFileSystemObj = createXMLWriter(file);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IFileSystemCreateEmptyAttributes(int driver)
+{
+
+	iFileSystemObj = createEmptyAttributes(driver);
+	return (int) iFileSystemObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertexBuffer()
+{
+
+	iDynamicMeshBufferObj = getVertexBuffer();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndexBuffer()
+{
+
+	iDynamicMeshBufferObj = getIndexBuffer();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferSetVertexBuffer(int vertexBuffer)
+{
+
+	iDynamicMeshBufferObj->setVertexBuffer(vertexBuffer);
+
+}
+
+extern "C" int IDynamicMeshBufferSetIndexBuffer(int indexBuffer)
+{
+
+	iDynamicMeshBufferObj->setIndexBuffer(indexBuffer);
+
+}
+
+extern "C" int IDynamicMeshBufferGetMaterial()
+{
+
+	iDynamicMeshBufferObj = getMaterial();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetMaterial()
+{
+
+	iDynamicMeshBufferObj = getMaterial();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetBoundingBox()
+{
+
+	iDynamicMeshBufferObj = getBoundingBox();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferSetBoundingBox(int box)
+{
+
+	iDynamicMeshBufferObj->setBoundingBox(box);
+
+}
+
+extern "C" int IDynamicMeshBufferRecalculateBoundingBox()
+{
+
+	iDynamicMeshBufferObj->recalculateBoundingBox();
+
+}
+
+extern "C" int IDynamicMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices)
+{
+
+	iDynamicMeshBufferObj->append(vertices, numVertices, indices, numIndices);
+
+}
+
+extern "C" int IDynamicMeshBufferAppend(int other)
+{
+
+	iDynamicMeshBufferObj->append(other);
+
+}
+
+extern "C" int IDynamicMeshBufferGetHardwareMappingHint_Vertex()
+{
+
+	iDynamicMeshBufferObj = getHardwareMappingHint_Vertex();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetHardwareMappingHint_Index()
+{
+
+	iDynamicMeshBufferObj = getHardwareMappingHint_Index();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferSetHardwareMappingHint(int NewMappingHint, int Buffer)
+{
+
+	iDynamicMeshBufferObj->setHardwareMappingHint(NewMappingHint, Buffer);
+
+}
+
+extern "C" int IDynamicMeshBufferSetDirty(int Buffer)
+{
+
+	iDynamicMeshBufferObj->setDirty(Buffer);
+
+}
+
+extern "C" int IDynamicMeshBufferGetChangedID_Vertex()
+{
+
+	iDynamicMeshBufferObj = getChangedID_Vertex();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetChangedID_Index()
+{
+
+	iDynamicMeshBufferObj = getChangedID_Index();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertexType()
+{
+
+	iDynamicMeshBufferObj = getVertexType();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertices()
+{
+
+	iDynamicMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertices()
+{
+
+	iDynamicMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IDynamicMeshBufferGetVertexCount()
+{
+
+	iDynamicMeshBufferObj = getVertexCount();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndexType()
+{
+
+	iDynamicMeshBufferObj = getIndexType();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndices()
+{
+
+	iDynamicMeshBufferObj = getIndices();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndices()
+{
+
+	iDynamicMeshBufferObj = getIndices();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetIndexCount()
+{
+
+	iDynamicMeshBufferObj = getIndexCount();
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetPosition(int i)
+{
+
+	iDynamicMeshBufferObj = getPosition(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetPosition(int i)
+{
+
+	iDynamicMeshBufferObj = getPosition(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetTCoords(int i)
+{
+
+	iDynamicMeshBufferObj = getTCoords(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetTCoords(int i)
+{
+
+	iDynamicMeshBufferObj = getTCoords(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetNormal(int i)
+{
+
+	iDynamicMeshBufferObj = getNormal(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IDynamicMeshBufferGetNormal(int i)
+{
+
+	iDynamicMeshBufferObj = getNormal(i);
+	return (int) iDynamicMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetMaterial()
+{
+
+	iMeshBufferObj = getMaterial();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetMaterial()
+{
+
+	iMeshBufferObj = getMaterial();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetVertexType()
+{
+
+	iMeshBufferObj = getVertexType();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetVertices()
+{
+
+	iMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IMeshBufferGetVertices()
+{
+
+	iMeshBufferObj->getVertices();
+
+}
+
+extern "C" int IMeshBufferGetVertexCount()
+{
+
+	iMeshBufferObj = getVertexCount();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndexType()
+{
+
+	iMeshBufferObj = getIndexType();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndices()
+{
+
+	iMeshBufferObj = getIndices();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndices()
+{
+
+	iMeshBufferObj = getIndices();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetIndexCount()
+{
+
+	iMeshBufferObj = getIndexCount();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetBoundingBox()
+{
+
+	iMeshBufferObj = getBoundingBox();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferSetBoundingBox(int box)
+{
+
+	iMeshBufferObj->setBoundingBox(box);
+
+}
+
+extern "C" int IMeshBufferRecalculateBoundingBox()
+{
+
+	iMeshBufferObj->recalculateBoundingBox();
+
+}
+
+extern "C" int IMeshBufferGetPosition(int i)
+{
+
+	iMeshBufferObj = getPosition(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetPosition(int i)
+{
+
+	iMeshBufferObj = getPosition(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetNormal(int i)
+{
+
+	iMeshBufferObj = getNormal(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetNormal(int i)
+{
+
+	iMeshBufferObj = getNormal(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetTCoords(int i)
+{
+
+	iMeshBufferObj = getTCoords(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetTCoords(int i)
+{
+
+	iMeshBufferObj = getTCoords(i);
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices)
+{
+
+	iMeshBufferObj->append(vertices, numVertices, indices, numIndices);
+
+}
+
+extern "C" int IMeshBufferAppend(int other)
+{
+
+	iMeshBufferObj->append(other);
+
+}
+
+extern "C" int IMeshBufferGetHardwareMappingHint_Vertex()
+{
+
+	iMeshBufferObj = getHardwareMappingHint_Vertex();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetHardwareMappingHint_Index()
+{
+
+	iMeshBufferObj = getHardwareMappingHint_Index();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferSetHardwareMappingHint(int newMappingHint, int buffer)
+{
+
+	iMeshBufferObj->setHardwareMappingHint(newMappingHint, buffer);
+
+}
+
+extern "C" int IMeshBufferSetDirty(int buffer)
+{
+
+	iMeshBufferObj->setDirty(buffer);
+
+}
+
+extern "C" int IMeshBufferGetChangedID_Vertex()
+{
+
+	iMeshBufferObj = getChangedID_Vertex();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int IMeshBufferGetChangedID_Index()
+{
+
+	iMeshBufferObj = getChangedID_Index();
+	return (int) iMeshBufferObj;
+
+}
+
+extern "C" int SMaterialSMaterial()
+{
+
+	sMaterialObj->SMaterial();
+
+}
+
+extern "C" int SMaterialSMaterial(int other)
+{
+
+	sMaterialObj->SMaterial(other);
+
+}
+
+extern "C" int SMaterialGetTextureMatrix(int i)
+{
+
+	sMaterialObj = getTextureMatrix(i);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialGetTextureMatrix(int i)
+{
+
+	sMaterialObj = getTextureMatrix(i);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialSetTextureMatrix(int i, int mat)
+{
+
+	sMaterialObj->setTextureMatrix(i, mat);
+
+}
+
+extern "C" int SMaterialSetTextureMatrix()
+{
+
+	sMaterialObj = setTextureMatrix();
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialGetTexture(int i)
+{
+
+	sMaterialObj = getTexture(i);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialSetTexture(int i, int tex)
+{
+
+	sMaterialObj->setTexture(i, tex);
+
+}
+
+extern "C" int SMaterialSetFlag(int flag, int value)
+{
+
+	sMaterialObj->setFlag(flag, value);
+
+}
+
+extern "C" int SMaterialSwitch()
+{
+
+	sMaterialObj->switch();
+
+}
+
+extern "C" int SMaterialGetFlag(int flag)
+{
+
+	sMaterialObj = getFlag(flag);
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int SMaterialSwitch()
+{
+
+	sMaterialObj->switch();
+
+}
+
+extern "C" int SMaterialIsTransparent()
+{
+
+	sMaterialObj = isTransparent();
+	return (int) sMaterialObj;
+
+}
+
+extern "C" int IMaterialRendererOnSetMaterial(int material, int lastMaterial, int resetAllRenderstates, int services)
+{
+
+	iMaterialRendererObj->OnSetMaterial(material, lastMaterial, resetAllRenderstates, services);
+
+}
+
+extern "C" int IMaterialRendererOnRender(int service, int vtxtype)
+{
+
+	iMaterialRendererObj = OnRender(service, vtxtype);
+	return (int) iMaterialRendererObj;
+
+}
+
+extern "C" int IMaterialRendererOnUnsetMaterial()
+{
+
+	iMaterialRendererObj->OnUnsetMaterial();
+
+}
+
+extern "C" int IMaterialRendererIsTransparent()
+{
+
+	iMaterialRendererObj = isTransparent();
+	return (int) iMaterialRendererObj;
+
+}
+
+extern "C" int IMaterialRendererGetRenderCapability()
+{
+
+	iMaterialRendererObj = getRenderCapability();
+	return (int) iMaterialRendererObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory()
+{
+
+	iSceneNodeAnimatorFactoryObj = ISceneNodeAnimatorFactory();
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(int type, int target)
+{
+
+	iSceneNodeAnimatorFactoryObj = createSceneNodeAnimator(type, target);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(char * typeName, int target)
+{
+
+	iSceneNodeAnimatorFactoryObj = createSceneNodeAnimator(typeName, target);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount()
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreatableSceneNodeAnimatorTypeCount();
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(int idx)
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreateableSceneNodeAnimatorType(idx);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int idx)
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreateableSceneNodeAnimatorTypeName(idx);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int type)
+{
+
+	iSceneNodeAnimatorFactoryObj = getCreateableSceneNodeAnimatorTypeName(type);
+	return (int) iSceneNodeAnimatorFactoryObj;
+
+}
+
+extern "C" int IMeshSceneNodeIMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iMeshSceneNodeObj->IMeshSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int IMeshSceneNodeSetMesh(int mesh)
+{
+
+	iMeshSceneNodeObj->setMesh(mesh);
+
+}
+
+extern "C" int IMeshSceneNodeGetMesh()
+{
+
+	iMeshSceneNodeObj = getMesh();
+	return (int) iMeshSceneNodeObj;
+
+}
+
+extern "C" int IMeshSceneNodeSetReadOnlyMaterials(int readonly)
+{
+
+	iMeshSceneNodeObj->setReadOnlyMaterials(readonly);
+
+}
+
+extern "C" int IMeshSceneNodeIsReadOnlyMaterials()
+{
+
+	iMeshSceneNodeObj = isReadOnlyMaterials();
+	return (int) iMeshSceneNodeObj;
+
+}
+
+extern "C" int ILoggerILogger()
+{
+
+	iLoggerObj = ILogger();
+	return (int) iLoggerObj;
+
+}
+
+extern "C" int ILoggerGetLogLevel()
+{
+
+	iLoggerObj = getLogLevel();
+	return (int) iLoggerObj;
+
+}
+
+extern "C" int ILoggerSetLogLevel(int ll)
+{
+
+	iLoggerObj->setLogLevel(ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, int ll)
+{
+
+	iLoggerObj->log(text, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, char * hint, int ll)
+{
+
+	iLoggerObj->log(text, hint, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, char * hint, int ll)
+{
+
+	iLoggerObj->log(text, hint, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, char * hint, int ll)
+{
+
+	iLoggerObj->log(text, hint, ll);
+
+}
+
+extern "C" int ILoggerLog(char * text, int ll)
+{
+
+	iLoggerObj->log(text, ll);
+
+}
+
+extern "C" int IAnimatedMeshMD3SetInterpolationShift(int shift, int loopMode)
+{
+
+	iAnimatedMeshMD3Obj->setInterpolationShift(shift, loopMode);
+
+}
+
+extern "C" int IAnimatedMeshMD3GetTagList(int frame, int detailLevel, int startFrameLoop, int endFrameLoop)
+{
+
+	iAnimatedMeshMD3Obj = getTagList(frame, detailLevel, startFrameLoop, endFrameLoop);
+	return (int) iAnimatedMeshMD3Obj;
+
+}
+
+extern "C" int IAnimatedMeshMD3GetOriginalMesh()
+{
+
+	iAnimatedMeshMD3Obj = getOriginalMesh();
+	return (int) iAnimatedMeshMD3Obj;
+
+}
+
+extern "C" int IReferenceCountedIReferenceCounted()
+{
+
+	iReferenceCountedObj->IReferenceCounted();
+
+}
+
+extern "C" int IReferenceCountedIReferenceCounted()
+{
+
+	iReferenceCountedObj = IReferenceCounted();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IReferenceCountedGrab()
+{
+
+	iReferenceCountedObj->grab();
+
+}
+
+extern "C" int IReferenceCountedDrop()
+{
+
+	iReferenceCountedObj = drop();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IReferenceCounted_IRR_DEBUG_BREAK_IF()
+{
+
+	iReferenceCountedObj->_IRR_DEBUG_BREAK_IF();
+
+}
+
+extern "C" int IReferenceCountedGetReferenceCount()
+{
+
+	iReferenceCountedObj = getReferenceCount();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IReferenceCountedGetDebugName()
+{
+
+	iReferenceCountedObj = getDebugName();
+	return (int) iReferenceCountedObj;
+
+}
+
+extern "C" int IParticleMeshEmitterSetMesh(int mesh)
+{
+
+	iParticleMeshEmitterObj->setMesh(mesh);
+
+}
+
+extern "C" int IParticleMeshEmitterSetUseNormalDirection(int useNormalDirection)
+{
+
+	iParticleMeshEmitterObj->setUseNormalDirection(useNormalDirection);
+
+}
+
+extern "C" int IParticleMeshEmitterSetNormalDirectionModifier(int normalDirectionModifier)
+{
+
+	iParticleMeshEmitterObj->setNormalDirectionModifier(normalDirectionModifier);
+
+}
+
+extern "C" int IParticleMeshEmitterSetEveryMeshVertex(int everyMeshVertex)
+{
+
+	iParticleMeshEmitterObj->setEveryMeshVertex(everyMeshVertex);
+
+}
+
+extern "C" int IParticleMeshEmitterGetMesh()
+{
+
+	iParticleMeshEmitterObj = getMesh();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterIsUsingNormalDirection()
+{
+
+	iParticleMeshEmitterObj = isUsingNormalDirection();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterGetNormalDirectionModifier()
+{
+
+	iParticleMeshEmitterObj = getNormalDirectionModifier();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterGetEveryMeshVertex()
+{
+
+	iParticleMeshEmitterObj = getEveryMeshVertex();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int IParticleMeshEmitterGetType()
+{
+
+	iParticleMeshEmitterObj = getType();
+	return (int) iParticleMeshEmitterObj;
+
+}
+
+extern "C" int ICollisionCallbackOnCollision(int animator)
+{
+
+	iCollisionCallbackObj = onCollision(animator);
+	return (int) iCollisionCallbackObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = ISceneNodeAnimatorCollisionResponse();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseIsFalling()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = isFalling();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(int radius)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setEllipsoidRadius(radius);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getEllipsoidRadius();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetGravity(int gravity)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setGravity(gravity);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetGravity()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getGravity();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseJump(int jumpSpeed)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->jump(jumpSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetAnimateTarget(int enable)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setAnimateTarget(enable);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetAnimateTarget()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getAnimateTarget();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(int translation)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setEllipsoidTranslation(translation);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getEllipsoidTranslation();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetWorld(int newWorld)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setWorld(newWorld);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetWorld()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getWorld();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetTargetNode(int node)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setTargetNode(node);
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetTargetNode()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getTargetNode();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseCollisionOccurred()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = collisionOccurred();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionPoint()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionPoint();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionTriangle()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionTriangle();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionResultPosition();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseGetCollisionNode()
+{
+
+	iSceneNodeAnimatorCollisionResponseObj = getCollisionNode();
+	return (int) iSceneNodeAnimatorCollisionResponseObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCollisionResponseSetCollisionCallback(int callback)
+{
+
+	iSceneNodeAnimatorCollisionResponseObj->setCollisionCallback(callback);
+
+}
+
+extern "C" int CDynamicMeshBufferCDynamicMeshBuffer(int vertexType, int indexType)
+{
+
+	cDynamicMeshBufferObj->CDynamicMeshBuffer(vertexType, indexType);
+
+}
+
+extern "C" int CDynamicMeshBufferCVertexBuffer()
+{
+
+	cDynamicMeshBufferObj = CVertexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferCIndexBuffer()
+{
+
+	cDynamicMeshBufferObj = CIndexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferCDynamicMeshBuffer()
+{
+
+	cDynamicMeshBufferObj = CDynamicMeshBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetVertexBuffer()
+{
+
+	cDynamicMeshBufferObj = getVertexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetIndexBuffer()
+{
+
+	cDynamicMeshBufferObj = getIndexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferSetVertexBuffer(int newVertexBuffer)
+{
+
+	cDynamicMeshBufferObj->setVertexBuffer(newVertexBuffer);
+
+}
+
+extern "C" int CDynamicMeshBufferSetIndexBuffer(int newIndexBuffer)
+{
+
+	cDynamicMeshBufferObj->setIndexBuffer(newIndexBuffer);
+
+}
+
+extern "C" int CDynamicMeshBufferGetMaterial()
+{
+
+	cDynamicMeshBufferObj = getMaterial();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetMaterial()
+{
+
+	cDynamicMeshBufferObj = getMaterial();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetBoundingBox()
+{
+
+	cDynamicMeshBufferObj = getBoundingBox();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferSetBoundingBox(int box)
+{
+
+	cDynamicMeshBufferObj->setBoundingBox(box);
+
+}
+
+extern "C" int CDynamicMeshBufferRecalculateBoundingBox()
+{
+
+	cDynamicMeshBufferObj->recalculateBoundingBox();
+
+}
+
+extern "C" int CDynamicMeshBufferReset(int Pos)
+{
+
+	cDynamicMeshBufferObj = reset(Pos);
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferGetVertexBuffer()
+{
+
+	cDynamicMeshBufferObj = getVertexBuffer();
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int CDynamicMeshBufferAddInternalPoint(int Pos)
+{
+
+	cDynamicMeshBufferObj = addInternalPoint(Pos);
+	return (int) cDynamicMeshBufferObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetType()
+{
+
+	iGUIFontBitmapObj = getType();
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetSpriteBank()
+{
+
+	iGUIFontBitmapObj = getSpriteBank();
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetSpriteNoFromChar(char * c)
+{
+
+	iGUIFontBitmapObj = getSpriteNoFromChar(c);
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIFontBitmapGetKerningWidth(char * thisLetter, char * previousLetter)
+{
+
+	iGUIFontBitmapObj = getKerningWidth(thisLetter, previousLetter);
+	return (int) iGUIFontBitmapObj;
+
+}
+
+extern "C" int IGUIInOutFaderIGUIInOutFader(int environment, int parent, int id, int EGUIET_IN_OUT_FADER)
+{
+
+	iGUIInOutFaderObj->IGUIInOutFader(environment, parent, id, EGUIET_IN_OUT_FADER);
+
+}
+
+extern "C" int IGUIInOutFaderGetColor()
+{
+
+	iGUIInOutFaderObj = getColor();
+	return (int) iGUIInOutFaderObj;
+
+}
+
+extern "C" int IGUIInOutFaderSetColor(int color)
+{
+
+	iGUIInOutFaderObj->setColor(color);
+
+}
+
+extern "C" int IGUIInOutFaderSetColor(int source, int dest)
+{
+
+	iGUIInOutFaderObj->setColor(source, dest);
+
+}
+
+extern "C" int IGUIInOutFaderFadeIn(int time)
+{
+
+	iGUIInOutFaderObj->fadeIn(time);
+
+}
+
+extern "C" int IGUIInOutFaderFadeOut(int time)
+{
+
+	iGUIInOutFaderObj->fadeOut(time);
+
+}
+
+extern "C" int IGUIInOutFaderIsReady()
+{
+
+	iGUIInOutFaderObj = isReady();
+	return (int) iGUIInOutFaderObj;
+
+}
+
+extern "C" int IGUISpinBoxIGUISpinBox(int environment, int parent, int id, int EGUIET_SPIN_BOX)
+{
+
+	iGUISpinBoxObj->IGUISpinBox(environment, parent, id, EGUIET_SPIN_BOX);
+
+}
+
+extern "C" int IGUISpinBoxGetEditBox()
+{
+
+	iGUISpinBoxObj = getEditBox();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxSetValue(int val)
+{
+
+	iGUISpinBoxObj->setValue(val);
+
+}
+
+extern "C" int IGUISpinBoxGetValue()
+{
+
+	iGUISpinBoxObj = getValue();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxSetRange(int min, int max)
+{
+
+	iGUISpinBoxObj->setRange(min, max);
+
+}
+
+extern "C" int IGUISpinBoxGetMin()
+{
+
+	iGUISpinBoxObj = getMin();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxGetMax()
+{
+
+	iGUISpinBoxObj = getMax();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int IGUISpinBoxSetStepSize(int step)
+{
+
+	iGUISpinBoxObj->setStepSize(step);
+
+}
+
+extern "C" int IGUISpinBoxSetDecimalPlaces(int places)
+{
+
+	iGUISpinBoxObj->setDecimalPlaces(places);
+
+}
+
+extern "C" int IGUISpinBoxGetStepSize()
+{
+
+	iGUISpinBoxObj = getStepSize();
+	return (int) iGUISpinBoxObj;
+
+}
+
+extern "C" int ICameraSceneNodeICameraSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iCameraSceneNodeObj->ICameraSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int ICameraSceneNodeSetProjectionMatrix(int projection, int isOrthogonal)
+{
+
+	iCameraSceneNodeObj->setProjectionMatrix(projection, isOrthogonal);
+
+}
+
+extern "C" int ICameraSceneNodeGetProjectionMatrix()
+{
+
+	iCameraSceneNodeObj = getProjectionMatrix();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetViewMatrix()
+{
+
+	iCameraSceneNodeObj = getViewMatrix();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetViewMatrixAffector(int affector)
+{
+
+	iCameraSceneNodeObj->setViewMatrixAffector(affector);
+
+}
+
+extern "C" int ICameraSceneNodeGetViewMatrixAffector()
+{
+
+	iCameraSceneNodeObj = getViewMatrixAffector();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeOnEvent(int event)
+{
+
+	iCameraSceneNodeObj = OnEvent(event);
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetTarget(int pos)
+{
+
+	iCameraSceneNodeObj->setTarget(pos);
+
+}
+
+extern "C" int ICameraSceneNodeSetRotation(int rotation)
+{
+
+	iCameraSceneNodeObj->setRotation(rotation);
+
+}
+
+extern "C" int ICameraSceneNodeGetTarget()
+{
+
+	iCameraSceneNodeObj = getTarget();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetUpVector(int pos)
+{
+
+	iCameraSceneNodeObj->setUpVector(pos);
+
+}
+
+extern "C" int ICameraSceneNodeGetUpVector()
+{
+
+	iCameraSceneNodeObj = getUpVector();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetNearValue()
+{
+
+	iCameraSceneNodeObj = getNearValue();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetFarValue()
+{
+
+	iCameraSceneNodeObj = getFarValue();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetAspectRatio()
+{
+
+	iCameraSceneNodeObj = getAspectRatio();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeGetFOV()
+{
+
+	iCameraSceneNodeObj = getFOV();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetNearValue(int zn)
+{
+
+	iCameraSceneNodeObj->setNearValue(zn);
+
+}
+
+extern "C" int ICameraSceneNodeSetFarValue(int zf)
+{
+
+	iCameraSceneNodeObj->setFarValue(zf);
+
+}
+
+extern "C" int ICameraSceneNodeSetAspectRatio(int aspect)
+{
+
+	iCameraSceneNodeObj->setAspectRatio(aspect);
+
+}
+
+extern "C" int ICameraSceneNodeSetFOV(int fovy)
+{
+
+	iCameraSceneNodeObj->setFOV(fovy);
+
+}
+
+extern "C" int ICameraSceneNodeGetViewFrustum()
+{
+
+	iCameraSceneNodeObj = getViewFrustum();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeSetInputReceiverEnabled(int enabled)
+{
+
+	iCameraSceneNodeObj->setInputReceiverEnabled(enabled);
+
+}
+
+extern "C" int ICameraSceneNodeIsInputReceiverEnabled()
+{
+
+	iCameraSceneNodeObj = isInputReceiverEnabled();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeIsOrthogonal()
+{
+
+	iCameraSceneNodeObj = isOrthogonal();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int ICameraSceneNodeBindTargetAndRotation(int bound)
+{
+
+	iCameraSceneNodeObj->bindTargetAndRotation(bound);
+
+}
+
+extern "C" int ICameraSceneNodeGetTargetAndRotationBinding()
+{
+
+	iCameraSceneNodeObj = getTargetAndRotationBinding();
+	return (int) iCameraSceneNodeObj;
+
+}
+
+extern "C" int IParticleRingEmitterSetCenter(int center)
+{
+
+	iParticleRingEmitterObj->setCenter(center);
+
+}
+
+extern "C" int IParticleRingEmitterSetRadius(int radius)
+{
+
+	iParticleRingEmitterObj->setRadius(radius);
+
+}
+
+extern "C" int IParticleRingEmitterSetRingThickness(int ringThickness)
+{
+
+	iParticleRingEmitterObj->setRingThickness(ringThickness);
+
+}
+
+extern "C" int IParticleRingEmitterGetCenter()
+{
+
+	iParticleRingEmitterObj = getCenter();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleRingEmitterGetRadius()
+{
+
+	iParticleRingEmitterObj = getRadius();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleRingEmitterGetRingThickness()
+{
+
+	iParticleRingEmitterObj = getRingThickness();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleRingEmitterGetType()
+{
+
+	iParticleRingEmitterObj = getType();
+	return (int) iParticleRingEmitterObj;
+
+}
+
+extern "C" int IParticleSphereEmitterSetCenter(int center)
+{
+
+	iParticleSphereEmitterObj->setCenter(center);
+
+}
+
+extern "C" int IParticleSphereEmitterSetRadius(int radius)
+{
+
+	iParticleSphereEmitterObj->setRadius(radius);
+
+}
+
+extern "C" int IParticleSphereEmitterGetCenter()
+{
+
+	iParticleSphereEmitterObj = getCenter();
+	return (int) iParticleSphereEmitterObj;
+
+}
+
+extern "C" int IParticleSphereEmitterGetRadius()
+{
+
+	iParticleSphereEmitterObj = getRadius();
+	return (int) iParticleSphereEmitterObj;
+
+}
+
+extern "C" int IParticleSphereEmitterGetType()
+{
+
+	iParticleSphereEmitterObj = getType();
+	return (int) iParticleSphereEmitterObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaGetMoveSpeed()
+{
+
+	iSceneNodeAnimatorCameraMayaObj = getMoveSpeed();
+	return (int) iSceneNodeAnimatorCameraMayaObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaSetMoveSpeed(int moveSpeed)
+{
+
+	iSceneNodeAnimatorCameraMayaObj->setMoveSpeed(moveSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaGetRotateSpeed()
+{
+
+	iSceneNodeAnimatorCameraMayaObj = getRotateSpeed();
+	return (int) iSceneNodeAnimatorCameraMayaObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaSetRotateSpeed(int rotateSpeed)
+{
+
+	iSceneNodeAnimatorCameraMayaObj->setRotateSpeed(rotateSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaGetZoomSpeed()
+{
+
+	iSceneNodeAnimatorCameraMayaObj = getZoomSpeed();
+	return (int) iSceneNodeAnimatorCameraMayaObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraMayaSetZoomSpeed(int zoomSpeed)
+{
+
+	iSceneNodeAnimatorCameraMayaObj->setZoomSpeed(zoomSpeed);
+
+}
+
+extern "C" int IParticleGravityAffectorSetTimeForceLost(int timeForceLost)
+{
+
+	iParticleGravityAffectorObj->setTimeForceLost(timeForceLost);
+
+}
+
+extern "C" int IParticleGravityAffectorSetGravity(int gravity)
+{
+
+	iParticleGravityAffectorObj->setGravity(gravity);
+
+}
+
+extern "C" int IParticleGravityAffectorGetTimeForceLost()
+{
+
+	iParticleGravityAffectorObj = getTimeForceLost();
+	return (int) iParticleGravityAffectorObj;
+
+}
+
+extern "C" int IParticleGravityAffectorGetGravity()
+{
+
+	iParticleGravityAffectorObj = getGravity();
+	return (int) iParticleGravityAffectorObj;
+
+}
+
+extern "C" int IParticleGravityAffectorGetType()
+{
+
+	iParticleGravityAffectorObj = getType();
+	return (int) iParticleGravityAffectorObj;
+
+}
+
+extern "C" int ISceneNodeISceneNode(int parent, int mgr, int id, int position, int rotation, int scale)
+{
+
+	iSceneNodeObj->ISceneNode(parent, mgr, id, position, rotation, scale);
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeISceneNode()
+{
+
+	iSceneNodeObj = ISceneNode();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAll()
+{
+
+	iSceneNodeObj->removeAll();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeOnRegisterSceneNode()
+{
+
+	iSceneNodeObj->OnRegisterSceneNode();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeOnAnimate(int timeMs)
+{
+
+	iSceneNodeObj->OnAnimate(timeMs);
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeWhile(int ait)
+{
+
+	iSceneNodeObj->while(ait);
+
+}
+
+extern "C" int ISceneNodeAnimateNode()
+{
+
+	iSceneNodeObj = animateNode();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRender()
+{
+
+	iSceneNodeObj->render();
+
+}
+
+extern "C" int ISceneNodeGetName()
+{
+
+	iSceneNodeObj = getName();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetName(char * name)
+{
+
+	iSceneNodeObj->setName(name);
+
+}
+
+extern "C" int ISceneNodeSetName(int name)
+{
+
+	iSceneNodeObj->setName(name);
+
+}
+
+extern "C" int ISceneNodeGetBoundingBox()
+{
+
+	iSceneNodeObj = getBoundingBox();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetTransformedBoundingBox()
+{
+
+	iSceneNodeObj = getTransformedBoundingBox();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetBoundingBox()
+{
+
+	iSceneNodeObj = getBoundingBox();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeTransformBoxEx()
+{
+
+	iSceneNodeObj = transformBoxEx();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAbsoluteTransformation()
+{
+
+	iSceneNodeObj = getAbsoluteTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetRelativeTransformation()
+{
+
+	iSceneNodeObj = getRelativeTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetRotationDegrees()
+{
+
+	iSceneNodeObj = setRotationDegrees();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetTranslation()
+{
+
+	iSceneNodeObj = setTranslation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetScale()
+{
+
+	iSceneNodeObj = setScale();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeIsVisible()
+{
+
+	iSceneNodeObj = isVisible();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeIsTrulyVisible()
+{
+
+	iSceneNodeObj = isTrulyVisible();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetVisible(int isVisible)
+{
+
+	iSceneNodeObj->setVisible(isVisible);
+
+}
+
+extern "C" int ISceneNodeGetID()
+{
+
+	iSceneNodeObj = getID();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetID(int id)
+{
+
+	iSceneNodeObj->setID(id);
+
+}
+
+extern "C" int ISceneNodeAddChild(int child)
+{
+
+	iSceneNodeObj->addChild(child);
+
+}
+
+extern "C" int ISceneNodeGrab()
+{
+
+	iSceneNodeObj = grab();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemove()
+{
+
+	iSceneNodeObj = remove();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodePush_back()
+{
+
+	iSceneNodeObj = push_back();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveChild(int child)
+{
+
+	iSceneNodeObj = removeChild(child);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeErase()
+{
+
+	iSceneNodeObj = erase();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAll()
+{
+
+	iSceneNodeObj->removeAll();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeClear()
+{
+
+	iSceneNodeObj = clear();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemove()
+{
+
+	iSceneNodeObj->remove();
+
+}
+
+extern "C" int ISceneNodeAddAnimator(int animator)
+{
+
+	iSceneNodeObj->addAnimator(animator);
+
+}
+
+extern "C" int ISceneNodePush_back()
+{
+
+	iSceneNodeObj = push_back();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGrab()
+{
+
+	iSceneNodeObj = grab();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAnimators()
+{
+
+	iSceneNodeObj = getAnimators();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAnimator(int animator)
+{
+
+	iSceneNodeObj->removeAnimator(animator);
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeErase()
+{
+
+	iSceneNodeObj = erase();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeRemoveAnimators()
+{
+
+	iSceneNodeObj->removeAnimators();
+
+}
+
+extern "C" int ISceneNodeBegin()
+{
+
+	iSceneNodeObj = begin();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeEnd()
+{
+
+	iSceneNodeObj = end();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeClear()
+{
+
+	iSceneNodeObj = clear();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial(int num)
+{
+
+	iSceneNodeObj = getMaterial(num);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetMaterialFlag(int flag, int newvalue)
+{
+
+	iSceneNodeObj->setMaterialFlag(flag, newvalue);
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial(int flag)
+{
+
+	iSceneNodeObj = getMaterial(flag);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetMaterialTexture(int textureLayer, int texture)
+{
+
+	iSceneNodeObj->setMaterialTexture(textureLayer, texture);
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial(int textureLayer)
+{
+
+	iSceneNodeObj = getMaterial(textureLayer);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetMaterialType(int newType)
+{
+
+	iSceneNodeObj->setMaterialType(newType);
+
+}
+
+extern "C" int ISceneNodeGetMaterialCount()
+{
+
+	iSceneNodeObj = getMaterialCount();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetMaterial()
+{
+
+	iSceneNodeObj = getMaterial();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetScale()
+{
+
+	iSceneNodeObj = getScale();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetScale(int scale)
+{
+
+	iSceneNodeObj->setScale(scale);
+
+}
+
+extern "C" int ISceneNodeGetRotation()
+{
+
+	iSceneNodeObj = getRotation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetRotation(int rotation)
+{
+
+	iSceneNodeObj->setRotation(rotation);
+
+}
+
+extern "C" int ISceneNodeGetPosition()
+{
+
+	iSceneNodeObj = getPosition();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetPosition(int newpos)
+{
+
+	iSceneNodeObj->setPosition(newpos);
+
+}
+
+extern "C" int ISceneNodeGetAbsolutePosition()
+{
+
+	iSceneNodeObj = getAbsolutePosition();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetAutomaticCulling(int state)
+{
+
+	iSceneNodeObj->setAutomaticCulling(state);
+
+}
+
+extern "C" int ISceneNodeGetAutomaticCulling()
+{
+
+	iSceneNodeObj = getAutomaticCulling();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetDebugDataVisible(int state)
+{
+
+	iSceneNodeObj->setDebugDataVisible(state);
+
+}
+
+extern "C" int ISceneNodeIsDebugDataVisible()
+{
+
+	iSceneNodeObj = isDebugDataVisible();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetIsDebugObject(int debugObject)
+{
+
+	iSceneNodeObj->setIsDebugObject(debugObject);
+
+}
+
+extern "C" int ISceneNodeIsDebugObject()
+{
+
+	iSceneNodeObj = isDebugObject();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetChildren()
+{
+
+	iSceneNodeObj = getChildren();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetParent(int newParent)
+{
+
+	iSceneNodeObj->setParent(newParent);
+
+}
+
+extern "C" int ISceneNodeGrab()
+{
+
+	iSceneNodeObj->grab();
+
+}
+
+extern "C" int ISceneNodeRemove()
+{
+
+	iSceneNodeObj->remove();
+
+}
+
+extern "C" int ISceneNodeDrop()
+{
+
+	iSceneNodeObj->drop();
+
+}
+
+extern "C" int ISceneNodeGetTriangleSelector()
+{
+
+	iSceneNodeObj = getTriangleSelector();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetTriangleSelector(int selector)
+{
+
+	iSceneNodeObj->setTriangleSelector(selector);
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeGetAbsoluteTransformation()
+{
+
+	iSceneNodeObj = getAbsoluteTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetRelativeTransformation()
+{
+
+	iSceneNodeObj = getRelativeTransformation();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetParent()
+{
+
+	iSceneNodeObj = getParent();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetType()
+{
+
+	iSceneNodeObj = getType();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSerializeAttributes(int out, int options)
+{
+
+	iSceneNodeObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int ISceneNodeAddString()
+{
+
+	iSceneNodeObj = addString();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddInt()
+{
+
+	iSceneNodeObj = addInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddVector3d()
+{
+
+	iSceneNodeObj = addVector3d();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddVector3d()
+{
+
+	iSceneNodeObj = addVector3d();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddVector3d()
+{
+
+	iSceneNodeObj = addVector3d();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddBool()
+{
+
+	iSceneNodeObj = addBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddInt()
+{
+
+	iSceneNodeObj = addInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddInt()
+{
+
+	iSceneNodeObj = addInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeAddBool()
+{
+
+	iSceneNodeObj = addBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeDeserializeAttributes(int in, int options)
+{
+
+	iSceneNodeObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsString()
+{
+
+	iSceneNodeObj = getAttributeAsString();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsInt()
+{
+
+	iSceneNodeObj = getAttributeAsInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeSetPosition()
+{
+
+	iSceneNodeObj->setPosition();
+
+}
+
+extern "C" int ISceneNodeSetRotation()
+{
+
+	iSceneNodeObj->setRotation();
+
+}
+
+extern "C" int ISceneNodeSetScale()
+{
+
+	iSceneNodeObj->setScale();
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsBool()
+{
+
+	iSceneNodeObj = getAttributeAsBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsEnumeration(int AutomaticCullingNames)
+{
+
+	iSceneNodeObj = getAttributeAsEnumeration(AutomaticCullingNames);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsInt()
+{
+
+	iSceneNodeObj = getAttributeAsInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsInt()
+{
+
+	iSceneNodeObj = getAttributeAsInt();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetAttributeAsBool()
+{
+
+	iSceneNodeObj = getAttributeAsBool();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeUpdateAbsolutePosition()
+{
+
+	iSceneNodeObj->updateAbsolutePosition();
+
+}
+
+extern "C" int ISceneNodeClone(int newParent, int newManager)
+{
+
+	iSceneNodeObj = clone(newParent, newManager);
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ISceneNodeGetSceneManager()
+{
+
+	iSceneNodeObj = getSceneManager();
+	return (int) iSceneNodeObj;
+
+}
+
+extern "C" int ITextSceneNodeITextSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iTextSceneNodeObj->ITextSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int ITextSceneNodeSetText(char * text)
+{
+
+	iTextSceneNodeObj->setText(text);
+
+}
+
+extern "C" int ITextSceneNodeSetTextColor(int color)
+{
+
+	iTextSceneNodeObj->setTextColor(color);
+
+}
+
+extern "C" int SMaterialLayerSMaterialLayer()
+{
+
+	sMaterialLayerObj->SMaterialLayer();
+
+}
+
+extern "C" int SMaterialLayerSMaterialLayer(int other)
+{
+
+	sMaterialLayerObj->SMaterialLayer(other);
+
+}
+
+extern "C" int SMaterialLayerSMaterialLayer()
+{
+
+	sMaterialLayerObj->SMaterialLayer();
+
+}
+
+extern "C" int SMaterialLayerDestruct()
+{
+
+	sMaterialLayerObj = destruct();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerDeallocate()
+{
+
+	sMaterialLayerObj = deallocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerDestruct()
+{
+
+	sMaterialLayerObj = destruct();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerDeallocate()
+{
+
+	sMaterialLayerObj = deallocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerAllocate()
+{
+
+	sMaterialLayerObj = allocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerConstruct(int TextureMatrix)
+{
+
+	sMaterialLayerObj = construct(TextureMatrix);
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerGetTextureMatrix()
+{
+
+	sMaterialLayerObj = getTextureMatrix();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerAllocate()
+{
+
+	sMaterialLayerObj = allocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerConstruct(int IdentityMatrix)
+{
+
+	sMaterialLayerObj = construct(IdentityMatrix);
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerGetTextureMatrix()
+{
+
+	sMaterialLayerObj = getTextureMatrix();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerSetTextureMatrix(int mat)
+{
+
+	sMaterialLayerObj->setTextureMatrix(mat);
+
+}
+
+extern "C" int SMaterialLayerAllocate()
+{
+
+	sMaterialLayerObj = allocate();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int SMaterialLayerConstruct()
+{
+
+	sMaterialLayerObj = construct();
+	return (int) sMaterialLayerObj;
+
+}
+
+extern "C" int IGUIStaticTextIGUIStaticText(int environment, int parent, int id, int EGUIET_STATIC_TEXT)
+{
+
+	iGUIStaticTextObj->IGUIStaticText(environment, parent, id, EGUIET_STATIC_TEXT);
+
+}
+
+extern "C" int IGUIStaticTextSetOverrideFont(int font)
+{
+
+	iGUIStaticTextObj->setOverrideFont(font);
+
+}
+
+extern "C" int IGUIStaticTextGetOverrideFont()
+{
+
+	iGUIStaticTextObj = getOverrideFont();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextSetOverrideColor(int color)
+{
+
+	iGUIStaticTextObj->setOverrideColor(color);
+
+}
+
+extern "C" int IGUIStaticTextGetOverrideColor()
+{
+
+	iGUIStaticTextObj = getOverrideColor();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextEnableOverrideColor(int enable)
+{
+
+	iGUIStaticTextObj->enableOverrideColor(enable);
+
+}
+
+extern "C" int IGUIStaticTextIsOverrideColorEnabled()
+{
+
+	iGUIStaticTextObj = isOverrideColorEnabled();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextSetBackgroundColor(int color)
+{
+
+	iGUIStaticTextObj->setBackgroundColor(color);
+
+}
+
+extern "C" int IGUIStaticTextSetDrawBackground(int draw)
+{
+
+	iGUIStaticTextObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUIStaticTextSetDrawBorder(int draw)
+{
+
+	iGUIStaticTextObj->setDrawBorder(draw);
+
+}
+
+extern "C" int IGUIStaticTextSetTextAlignment(int horizontal, int vertical)
+{
+
+	iGUIStaticTextObj->setTextAlignment(horizontal, vertical);
+
+}
+
+extern "C" int IGUIStaticTextSetWordWrap(int enable)
+{
+
+	iGUIStaticTextObj->setWordWrap(enable);
+
+}
+
+extern "C" int IGUIStaticTextIsWordWrapEnabled()
+{
+
+	iGUIStaticTextObj = isWordWrapEnabled();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextGetTextHeight()
+{
+
+	iGUIStaticTextObj = getTextHeight();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IGUIStaticTextGetTextWidth()
+{
+
+	iGUIStaticTextObj = getTextWidth();
+	return (int) iGUIStaticTextObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeIParticleSystemSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iParticleSystemSceneNodeObj->IParticleSystemSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int IParticleSystemSceneNodeSetParticleSize(int size)
+{
+
+	iParticleSystemSceneNodeObj->setParticleSize(size);
+
+}
+
+extern "C" int IParticleSystemSceneNodeSetParticlesAreGlobal(int global)
+{
+
+	iParticleSystemSceneNodeObj->setParticlesAreGlobal(global);
+
+}
+
+extern "C" int IParticleSystemSceneNodeGetEmitter()
+{
+
+	iParticleSystemSceneNodeObj = getEmitter();
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeSetEmitter(int emitter)
+{
+
+	iParticleSystemSceneNodeObj->setEmitter(emitter);
+
+}
+
+extern "C" int IParticleSystemSceneNodeAddAffector(int affector)
+{
+
+	iParticleSystemSceneNodeObj->addAffector(affector);
+
+}
+
+extern "C" int IParticleSystemSceneNodeRemoveAllAffectors()
+{
+
+	iParticleSystemSceneNodeObj->removeAllAffectors();
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(int node, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createAnimatedMeshSceneNodeEmitter(node, useNormalDirection, direction, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateBoxEmitter(int box, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createBoxEmitter(box, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateCylinderEmitter(int center, int radius, int normal, int length, int outlineOnly, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createCylinderEmitter(center, radius, normal, length, outlineOnly, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateMeshEmitter(int mesh, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createMeshEmitter(mesh, useNormalDirection, direction, normalDirectionModifier, mbNumber, everyMeshVertex, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreatePointEmitter(int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createPointEmitter(direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateRingEmitter(int center, int radius, int ringThickness, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createRingEmitter(center, radius, ringThickness, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateSphereEmitter(int center, int radius, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize)
+{
+
+	iParticleSystemSceneNodeObj = createSphereEmitter(center, radius, direction, minParticlesPerSecond, maxParticlesPerSecond, minStartColor, maxStartColor, lifeTimeMin, lifeTimeMax, maxAngleDegrees, minStartSize, maxStartSize);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateAttractionAffector(int point, int speed, int attract, int affectX, int affectY, int affectZ)
+{
+
+	iParticleSystemSceneNodeObj = createAttractionAffector(point, speed, attract, affectX, affectY, affectZ);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateScaleParticleAffector(int scaleTo)
+{
+
+	iParticleSystemSceneNodeObj = createScaleParticleAffector(scaleTo);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateFadeOutParticleAffector(int targetColor, int timeNeededToFadeOut)
+{
+
+	iParticleSystemSceneNodeObj = createFadeOutParticleAffector(targetColor, timeNeededToFadeOut);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateGravityAffector(int gravity, int timeForceLost)
+{
+
+	iParticleSystemSceneNodeObj = createGravityAffector(gravity, timeForceLost);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int IParticleSystemSceneNodeCreateRotationAffector(int speed, int pivotPoint)
+{
+
+	iParticleSystemSceneNodeObj = createRotationAffector(speed, pivotPoint);
+	return (int) iParticleSystemSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeITerrainSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iTerrainSceneNodeObj->ITerrainSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int ITerrainSceneNodeGetBoundingBox()
+{
+
+	iTerrainSceneNodeObj = getBoundingBox();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetBoundingBox(int patchX, int patchZ)
+{
+
+	iTerrainSceneNodeObj = getBoundingBox(patchX, patchZ);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetIndexCount()
+{
+
+	iTerrainSceneNodeObj = getIndexCount();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetMesh()
+{
+
+	iTerrainSceneNodeObj = getMesh();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetRenderBuffer()
+{
+
+	iTerrainSceneNodeObj = getRenderBuffer();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetMeshBufferForLOD(int mb, int LOD)
+{
+
+	iTerrainSceneNodeObj->getMeshBufferForLOD(mb, LOD);
+
+}
+
+extern "C" int ITerrainSceneNodeGetIndicesForPatch(int indices, int patchX, int patchZ, int LOD)
+{
+
+	iTerrainSceneNodeObj = getIndicesForPatch(indices, patchX, patchZ, LOD);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetCurrentLODOfPatches(int LODs)
+{
+
+	iTerrainSceneNodeObj = getCurrentLODOfPatches(LODs);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeSetLODOfPatch(int patchX, int patchZ, int LOD)
+{
+
+	iTerrainSceneNodeObj->setLODOfPatch(patchX, patchZ, LOD);
+
+}
+
+extern "C" int ITerrainSceneNodeGetTerrainCenter()
+{
+
+	iTerrainSceneNodeObj = getTerrainCenter();
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeGetHeight(int x, int y)
+{
+
+	iTerrainSceneNodeObj = getHeight(x, y);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeSetCameraMovementDelta(int delta)
+{
+
+	iTerrainSceneNodeObj->setCameraMovementDelta(delta);
+
+}
+
+extern "C" int ITerrainSceneNodeSetCameraRotationDelta(int delta)
+{
+
+	iTerrainSceneNodeObj->setCameraRotationDelta(delta);
+
+}
+
+extern "C" int ITerrainSceneNodeSetDynamicSelectorUpdate(int bVal)
+{
+
+	iTerrainSceneNodeObj->setDynamicSelectorUpdate(bVal);
+
+}
+
+extern "C" int ITerrainSceneNodeOverrideLODDistance(int LOD, int newDistance)
+{
+
+	iTerrainSceneNodeObj = overrideLODDistance(LOD, newDistance);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeScaleTexture(int scale, int scale2)
+{
+
+	iTerrainSceneNodeObj->scaleTexture(scale, scale2);
+
+}
+
+extern "C" int ITerrainSceneNodeLoadHeightMap(int file, int vertexColor, int smoothFactor)
+{
+
+	iTerrainSceneNodeObj = loadHeightMap(file, vertexColor, smoothFactor);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int ITerrainSceneNodeLoadHeightMapRAW(int file, int bitsPerPixel, int signedData, int floatVals, int width, int vertexColor, int smoothFactor)
+{
+
+	iTerrainSceneNodeObj = loadHeightMapRAW(file, bitsPerPixel, signedData, floatVals, width, vertexColor, smoothFactor);
+	return (int) iTerrainSceneNodeObj;
+
+}
+
+extern "C" int IGUIContextMenuIGUIContextMenu(int environment, int parent, int id, int EGUIET_CONTEXT_MENU)
+{
+
+	iGUIContextMenuObj->IGUIContextMenu(environment, parent, id, EGUIET_CONTEXT_MENU);
+
+}
+
+extern "C" int IGUIContextMenuSetCloseHandling(int onClose)
+{
+
+	iGUIContextMenuObj->setCloseHandling(onClose);
+
+}
+
+extern "C" int IGUIContextMenuGetCloseHandling()
+{
+
+	iGUIContextMenuObj = getCloseHandling();
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuGetItemCount()
+{
+
+	iGUIContextMenuObj = getItemCount();
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuAddItem(char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking)
+{
+
+	iGUIContextMenuObj = addItem(text, commandId, enabled, hasSubMenu, checked, autoChecking);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuInsertItem(int idx, char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking)
+{
+
+	iGUIContextMenuObj = insertItem(idx, text, commandId, enabled, hasSubMenu, checked, autoChecking);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuFindItemWithCommandId(int commandId, int idxStartSearch)
+{
+
+	iGUIContextMenuObj = findItemWithCommandId(commandId, idxStartSearch);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuAddSeparator()
+{
+
+	iGUIContextMenuObj->addSeparator();
+
+}
+
+extern "C" int IGUIContextMenuGetItemText(int idx)
+{
+
+	iGUIContextMenuObj = getItemText(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemText(int idx, char * text)
+{
+
+	iGUIContextMenuObj->setItemText(idx, text);
+
+}
+
+extern "C" int IGUIContextMenuIsItemEnabled(int idx)
+{
+
+	iGUIContextMenuObj = isItemEnabled(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemEnabled(int idx, int enabled)
+{
+
+	iGUIContextMenuObj->setItemEnabled(idx, enabled);
+
+}
+
+extern "C" int IGUIContextMenuSetItemChecked(int idx, int enabled)
+{
+
+	iGUIContextMenuObj->setItemChecked(idx, enabled);
+
+}
+
+extern "C" int IGUIContextMenuIsItemChecked(int idx)
+{
+
+	iGUIContextMenuObj = isItemChecked(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuRemoveItem(int idx)
+{
+
+	iGUIContextMenuObj->removeItem(idx);
+
+}
+
+extern "C" int IGUIContextMenuRemoveAllItems()
+{
+
+	iGUIContextMenuObj->removeAllItems();
+
+}
+
+extern "C" int IGUIContextMenuGetSelectedItem()
+{
+
+	iGUIContextMenuObj = getSelectedItem();
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuGetItemCommandId(int idx)
+{
+
+	iGUIContextMenuObj = getItemCommandId(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemCommandId(int idx, int id)
+{
+
+	iGUIContextMenuObj->setItemCommandId(idx, id);
+
+}
+
+extern "C" int IGUIContextMenuGetSubMenu(int idx)
+{
+
+	iGUIContextMenuObj = getSubMenu(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetItemAutoChecking(int idx, int autoChecking)
+{
+
+	iGUIContextMenuObj->setItemAutoChecking(idx, autoChecking);
+
+}
+
+extern "C" int IGUIContextMenuGetItemAutoChecking(int idx)
+{
+
+	iGUIContextMenuObj = getItemAutoChecking(idx);
+	return (int) iGUIContextMenuObj;
+
+}
+
+extern "C" int IGUIContextMenuSetEventParent(int parent)
+{
+
+	iGUIContextMenuObj->setEventParent(parent);
+
+}
+
+extern "C" int IImageLock()
+{
+
+	iImageObj->lock();
+
+}
+
+extern "C" int IImageUnlock()
+{
+
+	iImageObj->unlock();
+
+}
+
+extern "C" int IImageGetDimension()
+{
+
+	iImageObj = getDimension();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetBitsPerPixel()
+{
+
+	iImageObj = getBitsPerPixel();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetBytesPerPixel()
+{
+
+	iImageObj = getBytesPerPixel();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetImageDataSizeInBytes()
+{
+
+	iImageObj = getImageDataSizeInBytes();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetImageDataSizeInPixels()
+{
+
+	iImageObj = getImageDataSizeInPixels();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetPixel(int x, int y)
+{
+
+	iImageObj = getPixel(x, y);
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageSetPixel(int x, int y, int color, int blend)
+{
+
+	iImageObj->setPixel(x, y, color, blend);
+
+}
+
+extern "C" int IImageGetColorFormat()
+{
+
+	iImageObj = getColorFormat();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetRedMask()
+{
+
+	iImageObj = getRedMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetGreenMask()
+{
+
+	iImageObj = getGreenMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetBlueMask()
+{
+
+	iImageObj = getBlueMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetAlphaMask()
+{
+
+	iImageObj = getAlphaMask();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageGetPitch()
+{
+
+	iImageObj = getPitch();
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageCopyToScaling(int target, int width, int height, int format, int pitch)
+{
+
+	iImageObj->copyToScaling(target, width, height, format, pitch);
+
+}
+
+extern "C" int IImageCopyToScaling(int target)
+{
+
+	iImageObj->copyToScaling(target);
+
+}
+
+extern "C" int IImageCopyTo(int target, int pos)
+{
+
+	iImageObj->copyTo(target, pos);
+
+}
+
+extern "C" int IImageCopyTo(int target, int pos, int sourceRect, int clipRect)
+{
+
+	iImageObj->copyTo(target, pos, sourceRect, clipRect);
+
+}
+
+extern "C" int IImageCopyToWithAlpha(int target, int pos, int sourceRect, int color, int clipRect)
+{
+
+	iImageObj->copyToWithAlpha(target, pos, sourceRect, color, clipRect);
+
+}
+
+extern "C" int IImageCopyToScalingBoxFilter(int target, int bias, int blend)
+{
+
+	iImageObj->copyToScalingBoxFilter(target, bias, blend);
+
+}
+
+extern "C" int IImageFill(int color)
+{
+
+	iImageObj->fill(color);
+
+}
+
+extern "C" int IImageGetBitsPerPixelFromFormat(int format)
+{
+
+	iImageObj = getBitsPerPixelFromFormat(format);
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageSwitch()
+{
+
+	iImageObj->switch();
+
+}
+
+extern "C" int IImageIsRenderTargetOnlyFormat(int format)
+{
+
+	iImageObj = isRenderTargetOnlyFormat(format);
+	return (int) iImageObj;
+
+}
+
+extern "C" int IImageSwitch()
+{
+
+	iImageObj->switch();
+
+}
+
+extern "C" int IAnimatedMeshMD2GetFrameLoop(int l, int outBegin, int outEnd, int outFPS)
+{
+
+	iAnimatedMeshMD2Obj->getFrameLoop(l, outBegin, outEnd, outFPS);
+
+}
+
+extern "C" int IAnimatedMeshMD2GetFrameLoop(char * name, int outBegin, int outEnd, int outFPS)
+{
+
+	iAnimatedMeshMD2Obj = getFrameLoop(name, outBegin, outEnd, outFPS);
+	return (int) iAnimatedMeshMD2Obj;
+
+}
+
+extern "C" int IAnimatedMeshMD2GetAnimationCount()
+{
+
+	iAnimatedMeshMD2Obj = getAnimationCount();
+	return (int) iAnimatedMeshMD2Obj;
+
+}
+
+extern "C" int IAnimatedMeshMD2GetAnimationName(int nr)
+{
+
+	iAnimatedMeshMD2Obj = getAnimationName(nr);
+	return (int) iAnimatedMeshMD2Obj;
+
+}
+
+extern "C" int IIndexBufferGetData()
+{
+
+	iIndexBufferObj->getData();
+
+}
+
+extern "C" int IIndexBufferGetType()
+{
+
+	iIndexBufferObj = getType();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSetType(int IndexType)
+{
+
+	iIndexBufferObj->setType(IndexType);
+
+}
+
+extern "C" int IIndexBufferStride()
+{
+
+	iIndexBufferObj = stride();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSize()
+{
+
+	iIndexBufferObj = size();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferPush_back(int element)
+{
+
+	iIndexBufferObj->push_back(element);
+
+}
+
+extern "C" int IIndexBufferOperator(int index)
+{
+
+	iIndexBufferObj = operator(index);
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferGetLast()
+{
+
+	iIndexBufferObj = getLast();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSetValue(int index, int value)
+{
+
+	iIndexBufferObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexBufferSet_used(int usedNow)
+{
+
+	iIndexBufferObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexBufferReallocate(int new_size)
+{
+
+	iIndexBufferObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexBufferAllocated_size()
+{
+
+	iIndexBufferObj = allocated_size();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferPointer()
+{
+
+	iIndexBufferObj->pointer();
+
+}
+
+extern "C" int IIndexBufferGetHardwareMappingHint()
+{
+
+	iIndexBufferObj = getHardwareMappingHint();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IIndexBufferSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iIndexBufferObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IIndexBufferSetDirty()
+{
+
+	iIndexBufferObj->setDirty();
+
+}
+
+extern "C" int IIndexBufferGetChangedID()
+{
+
+	iIndexBufferObj = getChangedID();
+	return (int) iIndexBufferObj;
+
+}
+
+extern "C" int IVertexBufferGetData()
+{
+
+	iVertexBufferObj->getData();
+
+}
+
+extern "C" int IVertexBufferGetType()
+{
+
+	iVertexBufferObj = getType();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSetType(int vertexType)
+{
+
+	iVertexBufferObj->setType(vertexType);
+
+}
+
+extern "C" int IVertexBufferStride()
+{
+
+	iVertexBufferObj = stride();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSize()
+{
+
+	iVertexBufferObj = size();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferPush_back(int element)
+{
+
+	iVertexBufferObj->push_back(element);
+
+}
+
+extern "C" int IVertexBufferOperator(int index)
+{
+
+	iVertexBufferObj = operator(index);
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferGetLast()
+{
+
+	iVertexBufferObj = getLast();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSet_used(int usedNow)
+{
+
+	iVertexBufferObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexBufferReallocate(int new_size)
+{
+
+	iVertexBufferObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexBufferAllocated_size()
+{
+
+	iVertexBufferObj = allocated_size();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferPointer()
+{
+
+	iVertexBufferObj = pointer();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferGetHardwareMappingHint()
+{
+
+	iVertexBufferObj = getHardwareMappingHint();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IVertexBufferSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iVertexBufferObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IVertexBufferSetDirty()
+{
+
+	iVertexBufferObj->setDirty();
+
+}
+
+extern "C" int IVertexBufferGetChangedID()
+{
+
+	iVertexBufferObj = getChangedID();
+	return (int) iVertexBufferObj;
+
+}
+
+extern "C" int IWriteFileWrite(int buffer, int sizeToWrite)
+{
+
+	iWriteFileObj = write(buffer, sizeToWrite);
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileSeek(int finalPos, int relativeMovement)
+{
+
+	iWriteFileObj = seek(finalPos, relativeMovement);
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileGetPos()
+{
+
+	iWriteFileObj = getPos();
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileGetFileName()
+{
+
+	iWriteFileObj = getFileName();
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IWriteFileCreateWriteFile(int fileName, int append)
+{
+
+	iWriteFileObj = createWriteFile(fileName, append);
+	return (int) iWriteFileObj;
+
+}
+
+extern "C" int IImageWriterIsAWriteableFileExtension(int filename)
+{
+
+	iImageWriterObj = isAWriteableFileExtension(filename);
+	return (int) iImageWriterObj;
+
+}
+
+extern "C" int IImageWriterWriteImage(int file, int image, int param)
+{
+
+	iImageWriterObj = writeImage(file, image, param);
+	return (int) iImageWriterObj;
+
+}
+
+extern "C" int IReadFileRead(int buffer, int sizeToRead)
+{
+
+	iReadFileObj = read(buffer, sizeToRead);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileSeek(int finalPos, int relativeMovement)
+{
+
+	iReadFileObj = seek(finalPos, relativeMovement);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileGetSize()
+{
+
+	iReadFileObj = getSize();
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileGetPos()
+{
+
+	iReadFileObj = getPos();
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileGetFileName()
+{
+
+	iReadFileObj = getFileName();
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileCreateReadFile(int fileName)
+{
+
+	iReadFileObj = createReadFile(fileName);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize)
+{
+
+	iReadFileObj = createLimitReadFile(fileName, alreadyOpenedFile, pos, areaSize);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IReadFileCreateMemoryReadFile(int memory, int size, int fileName, int deleteMemoryWhenDropped)
+{
+
+	iReadFileObj = createMemoryReadFile(memory, size, fileName, deleteMemoryWhenDropped);
+	return (int) iReadFileObj;
+
+}
+
+extern "C" int IBillboardSceneNodeIBillboardSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iBillboardSceneNodeObj->IBillboardSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int IBillboardSceneNodeSetSize(int size)
+{
+
+	iBillboardSceneNodeObj->setSize(size);
+
+}
+
+extern "C" int IBillboardSceneNodeGetSize()
+{
+
+	iBillboardSceneNodeObj = getSize();
+	return (int) iBillboardSceneNodeObj;
+
+}
+
+extern "C" int IBillboardSceneNodeSetColor(int overallColor)
+{
+
+	iBillboardSceneNodeObj->setColor(overallColor);
+
+}
+
+extern "C" int IBillboardSceneNodeSetColor(int topColor, int bottomColor)
+{
+
+	iBillboardSceneNodeObj->setColor(topColor, bottomColor);
+
+}
+
+extern "C" int IBillboardSceneNodeGetColor(int topColor, int bottomColor)
+{
+
+	iBillboardSceneNodeObj->getColor(topColor, bottomColor);
+
+}
+
+extern "C" int IAttributeExchangingObjectSerializeAttributes(int out, int options)
+{
+
+	iAttributeExchangingObjectObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int IAttributeExchangingObjectDeserializeAttributes(int in, int options)
+{
+
+	iAttributeExchangingObjectObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int IParticleEmitterEmitt(int now, int timeSinceLastCall, int outArray)
+{
+
+	iParticleEmitterObj = emitt(now, timeSinceLastCall, outArray);
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterSetDirection(int newDirection)
+{
+
+	iParticleEmitterObj->setDirection(newDirection);
+
+}
+
+extern "C" int IParticleEmitterSetMinParticlesPerSecond(int minPPS)
+{
+
+	iParticleEmitterObj->setMinParticlesPerSecond(minPPS);
+
+}
+
+extern "C" int IParticleEmitterSetMaxParticlesPerSecond(int maxPPS)
+{
+
+	iParticleEmitterObj->setMaxParticlesPerSecond(maxPPS);
+
+}
+
+extern "C" int IParticleEmitterSetMinStartColor(int color)
+{
+
+	iParticleEmitterObj->setMinStartColor(color);
+
+}
+
+extern "C" int IParticleEmitterSetMaxStartColor(int color)
+{
+
+	iParticleEmitterObj->setMaxStartColor(color);
+
+}
+
+extern "C" int IParticleEmitterSetMaxStartSize(int size)
+{
+
+	iParticleEmitterObj->setMaxStartSize(size);
+
+}
+
+extern "C" int IParticleEmitterSetMinStartSize(int size)
+{
+
+	iParticleEmitterObj->setMinStartSize(size);
+
+}
+
+extern "C" int IParticleEmitterGetDirection()
+{
+
+	iParticleEmitterObj = getDirection();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMinParticlesPerSecond()
+{
+
+	iParticleEmitterObj = getMinParticlesPerSecond();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMaxParticlesPerSecond()
+{
+
+	iParticleEmitterObj = getMaxParticlesPerSecond();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMinStartColor()
+{
+
+	iParticleEmitterObj = getMinStartColor();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMaxStartColor()
+{
+
+	iParticleEmitterObj = getMaxStartColor();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMaxStartSize()
+{
+
+	iParticleEmitterObj = getMaxStartSize();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetMinStartSize()
+{
+
+	iParticleEmitterObj = getMinStartSize();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IParticleEmitterGetType()
+{
+
+	iParticleEmitterObj = getType();
+	return (int) iParticleEmitterObj;
+
+}
+
+extern "C" int IIndexListIIndexList()
+{
+
+	iIndexListObj = IIndexList();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListStride()
+{
+
+	iIndexListObj = stride();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj->push_back(element);
+
+}
+
+extern "C" int IIndexListOperator(int index)
+{
+
+	iIndexListObj = operator(index);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetLast()
+{
+
+	iIndexListObj = getLast();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetValue(int index, int value)
+{
+
+	iIndexListObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexListSet_used(int usedNow)
+{
+
+	iIndexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexListReallocate(int new_size)
+{
+
+	iIndexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexListAllocated_size()
+{
+
+	iIndexListObj = allocated_size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPointer()
+{
+
+	iIndexListObj->pointer();
+
+}
+
+extern "C" int IIndexListGetType()
+{
+
+	iIndexListObj = getType();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListStride()
+{
+
+	iIndexListObj = stride();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj->push_back(element);
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj = push_back(element);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListOperator(int index)
+{
+
+	iIndexListObj = operator(index);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetLast()
+{
+
+	iIndexListObj = getLast();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetValue(int index, int value)
+{
+
+	iIndexListObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexListSet_used(int usedNow)
+{
+
+	iIndexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexListSet_used()
+{
+
+	iIndexListObj = set_used();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListReallocate(int new_size)
+{
+
+	iIndexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj = reallocate();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListAllocated_size()
+{
+
+	iIndexListObj = allocated_size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPointer()
+{
+
+	iIndexListObj->pointer();
+
+}
+
+extern "C" int IIndexListGetType()
+{
+
+	iIndexListObj = getType();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListCIndexBuffer()
+{
+
+	iIndexListObj->CIndexBuffer();
+
+}
+
+extern "C" int IIndexListSetType()
+{
+
+	iIndexListObj->setType();
+
+}
+
+extern "C" int IIndexListCIndexBuffer()
+{
+
+	iIndexListObj->CIndexBuffer();
+
+}
+
+extern "C" int IIndexListSetType()
+{
+
+	iIndexListObj->setType();
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj->reallocate();
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int n)
+{
+
+	iIndexListObj = push_back(n);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListCIndexBuffer()
+{
+
+	iIndexListObj = CIndexBuffer();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetType(int IndexType)
+{
+
+	iIndexListObj->setType(IndexType);
+
+}
+
+extern "C" int IIndexListSwitch()
+{
+
+	iIndexListObj->switch();
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj = reallocate();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int n)
+{
+
+	iIndexListObj = push_back(n);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetData()
+{
+
+	iIndexListObj->getData();
+
+}
+
+extern "C" int IIndexListGetType()
+{
+
+	iIndexListObj = getType();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListStride()
+{
+
+	iIndexListObj = stride();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSize()
+{
+
+	iIndexListObj = size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPush_back(int element)
+{
+
+	iIndexListObj->push_back(element);
+
+}
+
+extern "C" int IIndexListPush_back()
+{
+
+	iIndexListObj = push_back();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListOperator(int index)
+{
+
+	iIndexListObj = operator(index);
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListGetLast()
+{
+
+	iIndexListObj = getLast();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetValue(int index, int value)
+{
+
+	iIndexListObj->setValue(index, value);
+
+}
+
+extern "C" int IIndexListSetValue()
+{
+
+	iIndexListObj = setValue();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSet_used(int usedNow)
+{
+
+	iIndexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IIndexListSet_used()
+{
+
+	iIndexListObj = set_used();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListReallocate(int new_size)
+{
+
+	iIndexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IIndexListReallocate()
+{
+
+	iIndexListObj = reallocate();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListAllocated_size()
+{
+
+	iIndexListObj = allocated_size();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListPointer()
+{
+
+	iIndexListObj->pointer();
+
+}
+
+extern "C" int IIndexListGetHardwareMappingHint()
+{
+
+	iIndexListObj = getHardwareMappingHint();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IIndexListSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iIndexListObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IIndexListSetDirty()
+{
+
+	iIndexListObj->setDirty();
+
+}
+
+extern "C" int IIndexListGetChangedID()
+{
+
+	iIndexListObj = getChangedID();
+	return (int) iIndexListObj;
+
+}
+
+extern "C" int IParticleAffectorIParticleAffector()
+{
+
+	iParticleAffectorObj->IParticleAffector();
+
+}
+
+extern "C" int IParticleAffectorAffect(int now, int particlearray, int count)
+{
+
+	iParticleAffectorObj->affect(now, particlearray, count);
+
+}
+
+extern "C" int IParticleAffectorSetEnabled(int enabled)
+{
+
+	iParticleAffectorObj->setEnabled(enabled);
+
+}
+
+extern "C" int IParticleAffectorGetEnabled()
+{
+
+	iParticleAffectorObj = getEnabled();
+	return (int) iParticleAffectorObj;
+
+}
+
+extern "C" int IParticleAffectorGetType()
+{
+
+	iParticleAffectorObj = getType();
+	return (int) iParticleAffectorObj;
+
+}
+
+extern "C" int IParticleRotationAffectorSetPivotPoint(int point)
+{
+
+	iParticleRotationAffectorObj->setPivotPoint(point);
+
+}
+
+extern "C" int IParticleRotationAffectorSetSpeed(int speed)
+{
+
+	iParticleRotationAffectorObj->setSpeed(speed);
+
+}
+
+extern "C" int IParticleRotationAffectorGetPivotPoint()
+{
+
+	iParticleRotationAffectorObj = getPivotPoint();
+	return (int) iParticleRotationAffectorObj;
+
+}
+
+extern "C" int IParticleRotationAffectorGetSpeed()
+{
+
+	iParticleRotationAffectorObj = getSpeed();
+	return (int) iParticleRotationAffectorObj;
+
+}
+
+extern "C" int IParticleRotationAffectorGetType()
+{
+
+	iParticleRotationAffectorObj = getType();
+	return (int) iParticleRotationAffectorObj;
+
+}
+
+extern "C" int IGUICheckBoxIGUICheckBox(int environment, int parent, int id, int EGUIET_CHECK_BOX)
+{
+
+	iGUICheckBoxObj->IGUICheckBox(environment, parent, id, EGUIET_CHECK_BOX);
+
+}
+
+extern "C" int IGUICheckBoxSetChecked(int checked)
+{
+
+	iGUICheckBoxObj->setChecked(checked);
+
+}
+
+extern "C" int IGUICheckBoxIsChecked()
+{
+
+	iGUICheckBoxObj = isChecked();
+	return (int) iGUICheckBoxObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateCubeMesh(int size)
+{
+
+	iGeometryCreatorObj = createCubeMesh(size);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateHillPlaneMesh(int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount)
+{
+
+	iGeometryCreatorObj = createHillPlaneMesh(tileSize, tileCount, material, hillHeight, countHills, textureRepeatCount);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreatePlaneMesh(int tileSize, int tileCount, int material, int textureRepeatCount)
+{
+
+	iGeometryCreatorObj = createPlaneMesh(tileSize, tileCount, material, textureRepeatCount);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateTerrainMesh(int texture, int heightmap, int stretchSize, int maxHeight, int driver, int defaultVertexBlockSize, int debugBorders)
+{
+
+	iGeometryCreatorObj = createTerrainMesh(texture, heightmap, stretchSize, maxHeight, driver, defaultVertexBlockSize, debugBorders);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateArrowMesh(int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int widthCylinder, int widthCone, int colorCylinder, int colorCone)
+{
+
+	iGeometryCreatorObj = createArrowMesh(tesselationCylinder, tesselationCone, height, cylinderHeight, widthCylinder, widthCone, colorCylinder, colorCone);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateSphereMesh(int radius, int polyCountX, int polyCountY)
+{
+
+	iGeometryCreatorObj = createSphereMesh(radius, polyCountX, polyCountY);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateCylinderMesh(int radius, int length, int tesselation, int color, int closeTop, int oblique)
+{
+
+	iGeometryCreatorObj = createCylinderMesh(radius, length, tesselation, color, closeTop, oblique);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateConeMesh(int radius, int length, int tesselation, int colorTop, int colorBottom, int oblique)
+{
+
+	iGeometryCreatorObj = createConeMesh(radius, length, tesselation, colorTop, colorBottom, oblique);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IGeometryCreatorCreateVolumeLightMesh(int subdivideU, int subdivideV, int footColor, int tailColor, int lpDistance, int lightDim)
+{
+
+	iGeometryCreatorObj = createVolumeLightMesh(subdivideU, subdivideV, footColor, tailColor, lpDistance, lightDim);
+	return (int) iGeometryCreatorObj;
+
+}
+
+extern "C" int IBillboardTextSceneNodeIBillboardTextSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iBillboardTextSceneNodeObj->IBillboardTextSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetSize(int size)
+{
+
+	iBillboardTextSceneNodeObj->setSize(size);
+
+}
+
+extern "C" int IBillboardTextSceneNodeGetSize()
+{
+
+	iBillboardTextSceneNodeObj = getSize();
+	return (int) iBillboardTextSceneNodeObj;
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetColor(int overallColor)
+{
+
+	iBillboardTextSceneNodeObj->setColor(overallColor);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetColor(int topColor, int bottomColor)
+{
+
+	iBillboardTextSceneNodeObj->setColor(topColor, bottomColor);
+
+}
+
+extern "C" int IBillboardTextSceneNodeGetColor(int topColor, int bottomColor)
+{
+
+	iBillboardTextSceneNodeObj->getColor(topColor, bottomColor);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetText(char * text)
+{
+
+	iBillboardTextSceneNodeObj->setText(text);
+
+}
+
+extern "C" int IBillboardTextSceneNodeSetTextColor(int color)
+{
+
+	iBillboardTextSceneNodeObj->setTextColor(color);
+
+}
+
+extern "C" int IParticleFadeOutAffectorSetTargetColor(int targetColor)
+{
+
+	iParticleFadeOutAffectorObj->setTargetColor(targetColor);
+
+}
+
+extern "C" int IParticleFadeOutAffectorSetFadeOutTime(int fadeOutTime)
+{
+
+	iParticleFadeOutAffectorObj->setFadeOutTime(fadeOutTime);
+
+}
+
+extern "C" int IParticleFadeOutAffectorGetTargetColor()
+{
+
+	iParticleFadeOutAffectorObj = getTargetColor();
+	return (int) iParticleFadeOutAffectorObj;
+
+}
+
+extern "C" int IParticleFadeOutAffectorGetFadeOutTime()
+{
+
+	iParticleFadeOutAffectorObj = getFadeOutTime();
+	return (int) iParticleFadeOutAffectorObj;
+
+}
+
+extern "C" int IParticleFadeOutAffectorGetType()
+{
+
+	iParticleFadeOutAffectorObj = getType();
+	return (int) iParticleFadeOutAffectorObj;
+
+}
+
+extern "C" int IShadowVolumeSceneNodeIShadowVolumeSceneNode(int parent, int mgr, int parent)
+{
+
+	iShadowVolumeSceneNodeObj->IShadowVolumeSceneNode(parent, mgr, parent);
+
+}
+
+extern "C" int IShadowVolumeSceneNodeSetShadowMesh(int mesh)
+{
+
+	iShadowVolumeSceneNodeObj->setShadowMesh(mesh);
+
+}
+
+extern "C" int IShadowVolumeSceneNodeUpdateShadowVolumes()
+{
+
+	iShadowVolumeSceneNodeObj->updateShadowVolumes();
+
+}
+
+extern "C" int IFileListGetFileCount()
+{
+
+	iFileListObj = getFileCount();
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetFileName(int index)
+{
+
+	iFileListObj = getFileName(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetFullFileName(int index)
+{
+
+	iFileListObj = getFullFileName(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetFileSize(int index)
+{
+
+	iFileListObj = getFileSize(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetID(int index)
+{
+
+	iFileListObj = getID(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListIsDirectory(int index)
+{
+
+	iFileListObj = isDirectory(index);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListFindFile(int filename, int isFolder)
+{
+
+	iFileListObj = findFile(filename, isFolder);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListGetPath()
+{
+
+	iFileListObj = getPath();
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListAddItem(int fullPath, int size, int isDirectory, int id)
+{
+
+	iFileListObj = addItem(fullPath, size, isDirectory, id);
+	return (int) iFileListObj;
+
+}
+
+extern "C" int IFileListSort()
+{
+
+	iFileListObj->sort();
+
+}
+
+extern "C" int IMeshGetMeshBufferCount()
+{
+
+	iMeshObj = getMeshBufferCount();
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshGetMeshBuffer(int nr)
+{
+
+	iMeshObj = getMeshBuffer(nr);
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshGetMeshBuffer(int material)
+{
+
+	iMeshObj = getMeshBuffer(material);
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshGetBoundingBox()
+{
+
+	iMeshObj = getBoundingBox();
+	return (int) iMeshObj;
+
+}
+
+extern "C" int IMeshSetBoundingBox(int box)
+{
+
+	iMeshObj->setBoundingBox(box);
+
+}
+
+extern "C" int IMeshSetMaterialFlag(int flag, int newvalue)
+{
+
+	iMeshObj->setMaterialFlag(flag, newvalue);
+
+}
+
+extern "C" int IMeshSetHardwareMappingHint(int newMappingHint, int buffer)
+{
+
+	iMeshObj->setHardwareMappingHint(newMappingHint, buffer);
+
+}
+
+extern "C" int IMeshSetDirty(int buffer)
+{
+
+	iMeshObj->setDirty(buffer);
+
+}
+
+extern "C" int IrrlichtDeviceRun()
+{
+
+	irrlichtDeviceObj = run();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceYield()
+{
+
+	irrlichtDeviceObj->yield();
+
+}
+
+extern "C" int IrrlichtDeviceSleep(int timeMs, int pauseTimer)
+{
+
+	irrlichtDeviceObj->sleep(timeMs, pauseTimer);
+
+}
+
+extern "C" int IrrlichtDeviceGetVideoDriver()
+{
+
+	irrlichtDeviceObj = getVideoDriver();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetFileSystem()
+{
+
+	irrlichtDeviceObj = getFileSystem();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetGUIEnvironment()
+{
+
+	irrlichtDeviceObj = getGUIEnvironment();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetSceneManager()
+{
+
+	irrlichtDeviceObj = getSceneManager();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetCursorControl()
+{
+
+	irrlichtDeviceObj = getCursorControl();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetLogger()
+{
+
+	irrlichtDeviceObj = getLogger();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetVideoModeList()
+{
+
+	irrlichtDeviceObj = getVideoModeList();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetOSOperator()
+{
+
+	irrlichtDeviceObj = getOSOperator();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetTimer()
+{
+
+	irrlichtDeviceObj = getTimer();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetWindowCaption(char * text)
+{
+
+	irrlichtDeviceObj->setWindowCaption(text);
+
+}
+
+extern "C" int IrrlichtDeviceIsWindowActive()
+{
+
+	irrlichtDeviceObj = isWindowActive();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsWindowFocused()
+{
+
+	irrlichtDeviceObj = isWindowFocused();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsWindowMinimized()
+{
+
+	irrlichtDeviceObj = isWindowMinimized();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsFullscreen()
+{
+
+	irrlichtDeviceObj = isFullscreen();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetColorFormat()
+{
+
+	irrlichtDeviceObj = getColorFormat();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceCloseDevice()
+{
+
+	irrlichtDeviceObj->closeDevice();
+
+}
+
+extern "C" int IrrlichtDeviceGetVersion()
+{
+
+	irrlichtDeviceObj = getVersion();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetEventReceiver(int receiver)
+{
+
+	irrlichtDeviceObj->setEventReceiver(receiver);
+
+}
+
+extern "C" int IrrlichtDeviceGetEventReceiver()
+{
+
+	irrlichtDeviceObj = getEventReceiver();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDevicePostEventFromUser(int event)
+{
+
+	irrlichtDeviceObj = postEventFromUser(event);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetInputReceivingSceneManager(int sceneManager)
+{
+
+	irrlichtDeviceObj->setInputReceivingSceneManager(sceneManager);
+
+}
+
+extern "C" int IrrlichtDeviceSetResizable(int resize)
+{
+
+	irrlichtDeviceObj->setResizable(resize);
+
+}
+
+extern "C" int IrrlichtDeviceMinimizeWindow()
+{
+
+	irrlichtDeviceObj->minimizeWindow();
+
+}
+
+extern "C" int IrrlichtDeviceMaximizeWindow()
+{
+
+	irrlichtDeviceObj->maximizeWindow();
+
+}
+
+extern "C" int IrrlichtDeviceRestoreWindow()
+{
+
+	irrlichtDeviceObj->restoreWindow();
+
+}
+
+extern "C" int IrrlichtDeviceActivateJoysticks(int joystickInfo)
+{
+
+	irrlichtDeviceObj = activateJoysticks(joystickInfo);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSetGammaRamp(int red, int green, int blue, int relativebrightness, int relativecontrast)
+{
+
+	irrlichtDeviceObj = setGammaRamp(red, green, blue, relativebrightness, relativecontrast);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceGetGammaRamp(int red, int green, int blue, int brightness, int contrast)
+{
+
+	irrlichtDeviceObj = getGammaRamp(red, green, blue, brightness, contrast);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceClearSystemMessages()
+{
+
+	irrlichtDeviceObj->clearSystemMessages();
+
+}
+
+extern "C" int IrrlichtDeviceGetType()
+{
+
+	irrlichtDeviceObj = getType();
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceIsDriverSupported(int driver)
+{
+
+	irrlichtDeviceObj = isDriverSupported(driver);
+	return (int) irrlichtDeviceObj;
+
+}
+
+extern "C" int IrrlichtDeviceSwitch()
+{
+
+	irrlichtDeviceObj->switch();
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(int node)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setAnimatedMeshSceneNode(node);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(int useNormalDirection)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setUseNormalDirection(useNormalDirection);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(int normalDirectionModifier)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setNormalDirectionModifier(normalDirectionModifier);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(int everyMeshVertex)
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj->setEveryMeshVertex(everyMeshVertex);
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getAnimatedMeshSceneNode();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = isUsingNormalDirection();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getNormalDirectionModifier();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getEveryMeshVertex();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int IParticleAnimatedMeshSceneNodeEmitterGetType()
+{
+
+	iParticleAnimatedMeshSceneNodeEmitterObj = getType();
+	return (int) iParticleAnimatedMeshSceneNodeEmitterObj;
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSVertexColorGammaManipulator()
+{
+
+	sVertexColorGammaManipulatorObj->SVertexColorGammaManipulator();
+
+}
+
+extern "C" int SVertexColorGammaManipulatorOperator(int vertex)
+{
+
+	sVertexColorGammaManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSetRed()
+{
+
+	sVertexColorGammaManipulatorObj = setRed();
+	return (int) sVertexColorGammaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSetGreen()
+{
+
+	sVertexColorGammaManipulatorObj = setGreen();
+	return (int) sVertexColorGammaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorGammaManipulatorSetBlue()
+{
+
+	sVertexColorGammaManipulatorObj = setBlue();
+	return (int) sVertexColorGammaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorSetManipulatorSVertexColorSetManipulator(int color)
+{
+
+	sVertexColorSetManipulatorObj->SVertexColorSetManipulator(color);
+
+}
+
+extern "C" int SVertexColorSetManipulatorOperator(int vertex)
+{
+
+	sVertexColorSetManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexTCoordsScaleManipulatorSVertexTCoordsScaleManipulator(int factor, int uvSet, int uvSet)
+{
+
+	sVertexTCoordsScaleManipulatorObj->SVertexTCoordsScaleManipulator(factor, uvSet, uvSet);
+
+}
+
+extern "C" int SVertexTCoordsScaleManipulatorOperator(int vertex)
+{
+
+	sVertexTCoordsScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexTCoordsScaleManipulatorOperator(int vertex)
+{
+
+	sVertexTCoordsScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSVertexColorBrightnessManipulator(int amount)
+{
+
+	sVertexColorBrightnessManipulatorObj->SVertexColorBrightnessManipulator(amount);
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorOperator(int vertex)
+{
+
+	sVertexColorBrightnessManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSetRed(int Amount, int u)
+{
+
+	sVertexColorBrightnessManipulatorObj = setRed(Amount, u);
+	return (int) sVertexColorBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSetGreen(int Amount, int u)
+{
+
+	sVertexColorBrightnessManipulatorObj = setGreen(Amount, u);
+	return (int) sVertexColorBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorBrightnessManipulatorSetBlue(int Amount, int u)
+{
+
+	sVertexColorBrightnessManipulatorObj = setBlue(Amount, u);
+	return (int) sVertexColorBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorSetAlphaManipulatorSVertexColorSetAlphaManipulator(int alpha)
+{
+
+	sVertexColorSetAlphaManipulatorObj->SVertexColorSetAlphaManipulator(alpha);
+
+}
+
+extern "C" int SVertexColorSetAlphaManipulatorOperator(int vertex)
+{
+
+	sVertexColorSetAlphaManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorSetAlphaManipulatorSetAlpha()
+{
+
+	sVertexColorSetAlphaManipulatorObj = setAlpha();
+	return (int) sVertexColorSetAlphaManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInvertManipulatorOperator(int vertex)
+{
+
+	sVertexColorInvertManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorInvertManipulatorSetRed()
+{
+
+	sVertexColorInvertManipulatorObj = setRed();
+	return (int) sVertexColorInvertManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInvertManipulatorSetGreen()
+{
+
+	sVertexColorInvertManipulatorObj = setGreen();
+	return (int) sVertexColorInvertManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInvertManipulatorSetBlue()
+{
+
+	sVertexColorInvertManipulatorObj = setBlue();
+	return (int) sVertexColorInvertManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInterpolateLinearManipulatorSVertexColorInterpolateLinearManipulator(int color, int factor)
+{
+
+	sVertexColorInterpolateLinearManipulatorObj->SVertexColorInterpolateLinearManipulator(color, factor);
+
+}
+
+extern "C" int SVertexColorInterpolateLinearManipulatorOperator(int vertex)
+{
+
+	sVertexColorInterpolateLinearManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorInterpolateLinearManipulatorGetInterpolated()
+{
+
+	sVertexColorInterpolateLinearManipulatorObj = getInterpolated();
+	return (int) sVertexColorInterpolateLinearManipulatorObj;
+
+}
+
+extern "C" int SVertexColorThresholdManipulatorSVertexColorThresholdManipulator(int threshold, int low, int high)
+{
+
+	sVertexColorThresholdManipulatorObj->SVertexColorThresholdManipulator(threshold, low, high);
+
+}
+
+extern "C" int SVertexColorThresholdManipulatorOperator(int vertex)
+{
+
+	sVertexColorThresholdManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSVertexColorContrastManipulator(int factor)
+{
+
+	sVertexColorContrastManipulatorObj->SVertexColorContrastManipulator(factor);
+
+}
+
+extern "C" int SVertexColorContrastManipulatorOperator(int vertex)
+{
+
+	sVertexColorContrastManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSetRed()
+{
+
+	sVertexColorContrastManipulatorObj = setRed();
+	return (int) sVertexColorContrastManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSetGreen()
+{
+
+	sVertexColorContrastManipulatorObj = setGreen();
+	return (int) sVertexColorContrastManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastManipulatorSetBlue()
+{
+
+	sVertexColorContrastManipulatorObj = setBlue();
+	return (int) sVertexColorContrastManipulatorObj;
+
+}
+
+extern "C" int SVertexPositionScaleManipulatorSVertexPositionScaleManipulator(int factor)
+{
+
+	sVertexPositionScaleManipulatorObj->SVertexPositionScaleManipulator(factor);
+
+}
+
+extern "C" int SVertexPositionScaleManipulatorOperator(int vertex)
+{
+
+	sVertexPositionScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSVertexColorContrastBrightnessManipulator(int factor)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj->SVertexColorContrastBrightnessManipulator(factor);
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorOperator(int vertex)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSetRed(int Amount)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj = setRed(Amount);
+	return (int) sVertexColorContrastBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSetGreen(int Amount)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj = setGreen(Amount);
+	return (int) sVertexColorContrastBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorContrastBrightnessManipulatorSetBlue(int Amount)
+{
+
+	sVertexColorContrastBrightnessManipulatorObj = setBlue(Amount);
+	return (int) sVertexColorContrastBrightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSVertexColorScaleManipulator(int factor)
+{
+
+	sVertexColorScaleManipulatorObj->SVertexColorScaleManipulator(factor);
+
+}
+
+extern "C" int SVertexColorScaleManipulatorOperator(int vertex)
+{
+
+	sVertexColorScaleManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSetRed()
+{
+
+	sVertexColorScaleManipulatorObj = setRed();
+	return (int) sVertexColorScaleManipulatorObj;
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSetGreen()
+{
+
+	sVertexColorScaleManipulatorObj = setGreen();
+	return (int) sVertexColorScaleManipulatorObj;
+
+}
+
+extern "C" int SVertexColorScaleManipulatorSetBlue()
+{
+
+	sVertexColorScaleManipulatorObj = setBlue();
+	return (int) sVertexColorScaleManipulatorObj;
+
+}
+
+extern "C" int SVertexColorDesaturateToLuminanceManipulatorOperator(int vertex)
+{
+
+	sVertexColorDesaturateToLuminanceManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorDesaturateToLuminanceManipulatorRound32()
+{
+
+	sVertexColorDesaturateToLuminanceManipulatorObj = round32();
+	return (int) sVertexColorDesaturateToLuminanceManipulatorObj;
+
+}
+
+extern "C" int SVertexColorInterpolateQuadraticManipulatorSVertexColorInterpolateQuadraticManipulator(int color1, int color2, int factor)
+{
+
+	sVertexColorInterpolateQuadraticManipulatorObj->SVertexColorInterpolateQuadraticManipulator(color1, color2, factor);
+
+}
+
+extern "C" int SVertexColorInterpolateQuadraticManipulatorOperator(int vertex)
+{
+
+	sVertexColorInterpolateQuadraticManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorInterpolateQuadraticManipulatorGetInterpolated_quadratic()
+{
+
+	sVertexColorInterpolateQuadraticManipulatorObj = getInterpolated_quadratic();
+	return (int) sVertexColorInterpolateQuadraticManipulatorObj;
+
+}
+
+extern "C" int SVertexColorDesaturateToLightnessManipulatorOperator(int vertex)
+{
+
+	sVertexColorDesaturateToLightnessManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorDesaturateToLightnessManipulatorRound32()
+{
+
+	sVertexColorDesaturateToLightnessManipulatorObj = round32();
+	return (int) sVertexColorDesaturateToLightnessManipulatorObj;
+
+}
+
+extern "C" int SVertexColorDesaturateToAverageManipulatorOperator(int vertex)
+{
+
+	sVertexColorDesaturateToAverageManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexColorDesaturateToAverageManipulatorGetAverage()
+{
+
+	sVertexColorDesaturateToAverageManipulatorObj = getAverage();
+	return (int) sVertexColorDesaturateToAverageManipulatorObj;
+
+}
+
+extern "C" int SVertexPositionScaleAlongNormalsManipulatorSVertexPositionScaleAlongNormalsManipulator(int factor)
+{
+
+	sVertexPositionScaleAlongNormalsManipulatorObj->SVertexPositionScaleAlongNormalsManipulator(factor);
+
+}
+
+extern "C" int SVertexPositionScaleAlongNormalsManipulatorOperator(int vertex)
+{
+
+	sVertexPositionScaleAlongNormalsManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexPositionTransformManipulatorSVertexPositionTransformManipulator(int m)
+{
+
+	sVertexPositionTransformManipulatorObj->SVertexPositionTransformManipulator(m);
+
+}
+
+extern "C" int SVertexPositionTransformManipulatorOperator(int vertex)
+{
+
+	sVertexPositionTransformManipulatorObj->operator(vertex);
+
+}
+
+extern "C" int SVertexPositionTransformManipulatorTransformVect(int Pos)
+{
+
+	sVertexPositionTransformManipulatorObj = transformVect(Pos);
+	return (int) sVertexPositionTransformManipulatorObj;
+
+}
+
+extern "C" int ITextureITexture(int name)
+{
+
+	iTextureObj->ITexture(name);
+
+}
+
+extern "C" int ITextureLock(int readOnly, int mipmapLevel)
+{
+
+	iTextureObj->lock(readOnly, mipmapLevel);
+
+}
+
+extern "C" int ITextureUnlock()
+{
+
+	iTextureObj->unlock();
+
+}
+
+extern "C" int ITextureGetOriginalSize()
+{
+
+	iTextureObj = getOriginalSize();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetSize()
+{
+
+	iTextureObj = getSize();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetDriverType()
+{
+
+	iTextureObj = getDriverType();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetColorFormat()
+{
+
+	iTextureObj = getColorFormat();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetPitch()
+{
+
+	iTextureObj = getPitch();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureHasMipMaps()
+{
+
+	iTextureObj = hasMipMaps();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureHasAlpha()
+{
+
+	iTextureObj = hasAlpha();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureRegenerateMipMapLevels(int mipmapData)
+{
+
+	iTextureObj->regenerateMipMapLevels(mipmapData);
+
+}
+
+extern "C" int ITextureIsRenderTarget()
+{
+
+	iTextureObj = isRenderTarget();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int ITextureGetName()
+{
+
+	iTextureObj = getName();
+	return (int) iTextureObj;
+
+}
+
+extern "C" int IAnimatedMeshGetFrameCount()
+{
+
+	iAnimatedMeshObj = getFrameCount();
+	return (int) iAnimatedMeshObj;
+
+}
+
+extern "C" int IAnimatedMeshGetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop)
+{
+
+	iAnimatedMeshObj = getMesh(frame, detailLevel, startFrameLoop, endFrameLoop);
+	return (int) iAnimatedMeshObj;
+
+}
+
+extern "C" int IAnimatedMeshGetMeshType()
+{
+
+	iAnimatedMeshObj = getMeshType();
+	return (int) iAnimatedMeshObj;
+
+}
+
+extern "C" int IGUIToolBarIGUIToolBar(int environment, int parent, int id, int EGUIET_TOOL_BAR)
+{
+
+	iGUIToolBarObj->IGUIToolBar(environment, parent, id, EGUIET_TOOL_BAR);
+
+}
+
+extern "C" int IGUIToolBarAddButton(int id, char * text, char * tooltiptext, int img, int pressedimg, int isPushButton, int useAlphaChannel)
+{
+
+	iGUIToolBarObj = addButton(id, text, tooltiptext, img, pressedimg, isPushButton, useAlphaChannel);
+	return (int) iGUIToolBarObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetCollisionPoint(int ray, int selector, int outCollisionPoint, int outTriangle, int outNode)
+{
+
+	iSceneCollisionManagerObj = getCollisionPoint(ray, selector, outCollisionPoint, outTriangle, outNode);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetCollisionResultPosition(int selector, int ellipsoidPosition, int ellipsoidRadius, int ellipsoidDirectionAndSpeed, int triout, int hitPosition, int outFalling, int outNode, int slidingSpeed, int gravityDirectionAndSpeed)
+{
+
+	iSceneCollisionManagerObj = getCollisionResultPosition(selector, ellipsoidPosition, ellipsoidRadius, ellipsoidDirectionAndSpeed, triout, hitPosition, outFalling, outNode, slidingSpeed, gravityDirectionAndSpeed);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetRayFromScreenCoordinates(int pos, int camera)
+{
+
+	iSceneCollisionManagerObj = getRayFromScreenCoordinates(pos, camera);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(int pos, int camera)
+{
+
+	iSceneCollisionManagerObj = getScreenCoordinatesFrom3DPosition(pos, camera);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(int pos, int idBitMask, int bNoDebugObjects, int root)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeFromScreenCoordinatesBB(pos, idBitMask, bNoDebugObjects, root);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeFromRayBB(int ray, int idBitMask, int bNoDebugObjects, int root)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeFromRayBB(ray, idBitMask, bNoDebugObjects, root);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeFromCameraBB(int camera, int idBitMask, int bNoDebugObjects)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeFromCameraBB(camera, idBitMask, bNoDebugObjects);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(int ray, int outCollisionPoint, int outTriangle, int idBitMask, int collisionRootNode, int noDebugObjects)
+{
+
+	iSceneCollisionManagerObj = getSceneNodeAndCollisionPointFromRay(ray, outCollisionPoint, outTriangle, idBitMask, collisionRootNode, noDebugObjects);
+	return (int) iSceneCollisionManagerObj;
+
+}
+
+extern "C" int IGUIEnvironmentDrawAll()
+{
+
+	iGUIEnvironmentObj->drawAll();
+
+}
+
+extern "C" int IGUIEnvironmentSetFocus(int element)
+{
+
+	iGUIEnvironmentObj = setFocus(element);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetFocus()
+{
+
+	iGUIEnvironmentObj = getFocus();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentRemoveFocus(int element)
+{
+
+	iGUIEnvironmentObj = removeFocus(element);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentHasFocus(int element)
+{
+
+	iGUIEnvironmentObj = hasFocus(element);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetVideoDriver()
+{
+
+	iGUIEnvironmentObj = getVideoDriver();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetFileSystem()
+{
+
+	iGUIEnvironmentObj = getFileSystem();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetOSOperator()
+{
+
+	iGUIEnvironmentObj = getOSOperator();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentClear()
+{
+
+	iGUIEnvironmentObj->clear();
+
+}
+
+extern "C" int IGUIEnvironmentPostEventFromUser(int event)
+{
+
+	iGUIEnvironmentObj = postEventFromUser(event);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSetUserEventReceiver(int evr)
+{
+
+	iGUIEnvironmentObj->setUserEventReceiver(evr);
+
+}
+
+extern "C" int IGUIEnvironmentGetSkin()
+{
+
+	iGUIEnvironmentObj = getSkin();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSetSkin(int skin)
+{
+
+	iGUIEnvironmentObj->setSkin(skin);
+
+}
+
+extern "C" int IGUIEnvironmentCreateSkin(int type)
+{
+
+	iGUIEnvironmentObj = createSkin(type);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentCreateImageList(int texture, int imageSize, int useAlphaChannel)
+{
+
+	iGUIEnvironmentObj = createImageList(texture, imageSize, useAlphaChannel);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetFont(int filename)
+{
+
+	iGUIEnvironmentObj = getFont(filename);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddFont(int name, int font)
+{
+
+	iGUIEnvironmentObj = addFont(name, font);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetBuiltInFont()
+{
+
+	iGUIEnvironmentObj = getBuiltInFont();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetSpriteBank(int filename)
+{
+
+	iGUIEnvironmentObj = getSpriteBank(filename);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddEmptySpriteBank(int name)
+{
+
+	iGUIEnvironmentObj = addEmptySpriteBank(name);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetRootGUIElement()
+{
+
+	iGUIEnvironmentObj = getRootGUIElement();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddButton(int rectangle, int parent, int id, char * text, char * tooltiptext)
+{
+
+	iGUIEnvironmentObj = addButton(rectangle, parent, id, text, tooltiptext);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddWindow(int rectangle, int modal, char * text, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addWindow(rectangle, modal, text, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddModalScreen(int parent)
+{
+
+	iGUIEnvironmentObj = addModalScreen(parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddMessageBox(char * caption, char * text, int modal, int flags, int parent, int id, int image)
+{
+
+	iGUIEnvironmentObj = addMessageBox(caption, text, modal, flags, parent, id, image);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddScrollBar(int horizontal, int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addScrollBar(horizontal, rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddImage(int image, int pos, int useAlphaChannel, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addImage(image, pos, useAlphaChannel, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddImage(int rectangle, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addImage(rectangle, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddCheckBox(int checked, int rectangle, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addCheckBox(checked, rectangle, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddListBox(int rectangle, int parent, int id, int drawBackground)
+{
+
+	iGUIEnvironmentObj = addListBox(rectangle, parent, id, drawBackground);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTreeView(int rectangle, int parent, int id, int drawBackground, int scrollBarVertical, int scrollBarHorizontal)
+{
+
+	iGUIEnvironmentObj = addTreeView(rectangle, parent, id, drawBackground, scrollBarVertical, scrollBarHorizontal);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddMeshViewer(int rectangle, int parent, int id, char * text)
+{
+
+	iGUIEnvironmentObj = addMeshViewer(rectangle, parent, id, text);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddFileOpenDialog(char * title, int modal, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addFileOpenDialog(title, modal, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddColorSelectDialog(char * title, int modal, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addColorSelectDialog(title, modal, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddStaticText(char * text, int rectangle, int border, int wordWrap, int parent, int id, int fillBackground)
+{
+
+	iGUIEnvironmentObj = addStaticText(text, rectangle, border, wordWrap, parent, id, fillBackground);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddEditBox(char * text, int rectangle, int border, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addEditBox(text, rectangle, border, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddSpinBox(char * text, int rectangle, int border, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addSpinBox(text, rectangle, border, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddInOutFader(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addInOutFader(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTabControl(int rectangle, int parent, int fillbackground, int border, int id)
+{
+
+	iGUIEnvironmentObj = addTabControl(rectangle, parent, fillbackground, border, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTab(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addTab(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddContextMenu(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addContextMenu(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddMenu(int parent, int id)
+{
+
+	iGUIEnvironmentObj = addMenu(parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddToolBar(int parent, int id)
+{
+
+	iGUIEnvironmentObj = addToolBar(parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddComboBox(int rectangle, int parent, int id)
+{
+
+	iGUIEnvironmentObj = addComboBox(rectangle, parent, id);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddTable(int rectangle, int parent, int id, int drawBackground)
+{
+
+	iGUIEnvironmentObj = addTable(rectangle, parent, id, drawBackground);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetDefaultGUIElementFactory()
+{
+
+	iGUIEnvironmentObj = getDefaultGUIElementFactory();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentRegisterGUIElementFactory(int factoryToAdd)
+{
+
+	iGUIEnvironmentObj->registerGUIElementFactory(factoryToAdd);
+
+}
+
+extern "C" int IGUIEnvironmentGetRegisteredGUIElementFactoryCount()
+{
+
+	iGUIEnvironmentObj = getRegisteredGUIElementFactoryCount();
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentGetGUIElementFactory(int index)
+{
+
+	iGUIEnvironmentObj = getGUIElementFactory(index);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentAddGUIElement(char * elementName, int parent)
+{
+
+	iGUIEnvironmentObj = addGUIElement(elementName, parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSaveGUI(int filename, int start)
+{
+
+	iGUIEnvironmentObj = saveGUI(filename, start);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSaveGUI(int file, int start)
+{
+
+	iGUIEnvironmentObj = saveGUI(file, start);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentLoadGUI(int filename, int parent)
+{
+
+	iGUIEnvironmentObj = loadGUI(filename, parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentLoadGUI(int file, int parent)
+{
+
+	iGUIEnvironmentObj = loadGUI(file, parent);
+	return (int) iGUIEnvironmentObj;
+
+}
+
+extern "C" int IGUIEnvironmentSerializeAttributes(int out, int options)
+{
+
+	iGUIEnvironmentObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int IGUIEnvironmentDeserializeAttributes(int in, int options)
+{
+
+	iGUIEnvironmentObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int IGUIEnvironmentWriteGUIElement(int writer, int node)
+{
+
+	iGUIEnvironmentObj->writeGUIElement(writer, node);
+
+}
+
+extern "C" int IGUIEnvironmentReadGUIElement(int reader, int node)
+{
+
+	iGUIEnvironmentObj->readGUIElement(reader, node);
+
+}
+
+extern "C" int IGUIImageListIGUIImageList()
+{
+
+	iGUIImageListObj = IGUIImageList();
+	return (int) iGUIImageListObj;
+
+}
+
+extern "C" int IGUIImageListDraw(int index, int destPos, int clip)
+{
+
+	iGUIImageListObj->draw(index, destPos, clip);
+
+}
+
+extern "C" int IGUIImageListGetImageCount()
+{
+
+	iGUIImageListObj = getImageCount();
+	return (int) iGUIImageListObj;
+
+}
+
+extern "C" int IGUIImageListGetImageSize()
+{
+
+	iGUIImageListObj = getImageSize();
+	return (int) iGUIImageListObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetOwner()
+{
+
+	iGUITreeViewNodeObj = getOwner();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetParent()
+{
+
+	iGUITreeViewNodeObj = getParent();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetText()
+{
+
+	iGUITreeViewNodeObj = getText();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetText(char * text)
+{
+
+	iGUITreeViewNodeObj->setText(text);
+
+}
+
+extern "C" int IGUITreeViewNodeGetIcon()
+{
+
+	iGUITreeViewNodeObj = getIcon();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetIcon(char * icon)
+{
+
+	iGUITreeViewNodeObj->setIcon(icon);
+
+}
+
+extern "C" int IGUITreeViewNodeGetImageIndex()
+{
+
+	iGUITreeViewNodeObj = getImageIndex();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetImageIndex(int imageIndex)
+{
+
+	iGUITreeViewNodeObj->setImageIndex(imageIndex);
+
+}
+
+extern "C" int IGUITreeViewNodeGetSelectedImageIndex()
+{
+
+	iGUITreeViewNodeObj = getSelectedImageIndex();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetSelectedImageIndex(int imageIndex)
+{
+
+	iGUITreeViewNodeObj->setSelectedImageIndex(imageIndex);
+
+}
+
+extern "C" int IGUITreeViewNodeGetData()
+{
+
+	iGUITreeViewNodeObj->getData();
+
+}
+
+extern "C" int IGUITreeViewNodeSetData(int data)
+{
+
+	iGUITreeViewNodeObj->setData(data);
+
+}
+
+extern "C" int IGUITreeViewNodeGetData2()
+{
+
+	iGUITreeViewNodeObj = getData2();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetData2(int data)
+{
+
+	iGUITreeViewNodeObj->setData2(data);
+
+}
+
+extern "C" int IGUITreeViewNodeGetChildCount()
+{
+
+	iGUITreeViewNodeObj = getChildCount();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeClearChilds()
+{
+
+	iGUITreeViewNodeObj->clearChilds();
+
+}
+
+extern "C" int IGUITreeViewNodeHasChilds()
+{
+
+	iGUITreeViewNodeObj = hasChilds();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeAddChildBack(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = addChildBack(text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeAddChildFront(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = addChildFront(text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeInsertChildAfter(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = insertChildAfter(other, text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeInsertChildBefore(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2)
+{
+
+	iGUITreeViewNodeObj = insertChildBefore(other, text, icon, imageIndex, selectedImageIndex, data, data2);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetFirstChild()
+{
+
+	iGUITreeViewNodeObj = getFirstChild();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetLastChild()
+{
+
+	iGUITreeViewNodeObj = getLastChild();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetPrevSibling()
+{
+
+	iGUITreeViewNodeObj = getPrevSibling();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetNextSibling()
+{
+
+	iGUITreeViewNodeObj = getNextSibling();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetNextVisible()
+{
+
+	iGUITreeViewNodeObj = getNextVisible();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeDeleteChild(int child)
+{
+
+	iGUITreeViewNodeObj = deleteChild(child);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeMoveChildUp(int child)
+{
+
+	iGUITreeViewNodeObj = moveChildUp(child);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeMoveChildDown(int child)
+{
+
+	iGUITreeViewNodeObj = moveChildDown(child);
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetExpanded()
+{
+
+	iGUITreeViewNodeObj = getExpanded();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetExpanded(int expanded)
+{
+
+	iGUITreeViewNodeObj->setExpanded(expanded);
+
+}
+
+extern "C" int IGUITreeViewNodeGetSelected()
+{
+
+	iGUITreeViewNodeObj = getSelected();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeSetSelected(int selected)
+{
+
+	iGUITreeViewNodeObj->setSelected(selected);
+
+}
+
+extern "C" int IGUITreeViewNodeIsRoot()
+{
+
+	iGUITreeViewNodeObj = isRoot();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeGetLevel()
+{
+
+	iGUITreeViewNodeObj = getLevel();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewNodeIsVisible()
+{
+
+	iGUITreeViewNodeObj = isVisible();
+	return (int) iGUITreeViewNodeObj;
+
+}
+
+extern "C" int IGUITreeViewIGUITreeView(int environment, int parent, int id, int EGUIET_TREE_VIEW)
+{
+
+	iGUITreeViewObj->IGUITreeView(environment, parent, id, EGUIET_TREE_VIEW);
+
+}
+
+extern "C" int IGUITreeViewGetRoot()
+{
+
+	iGUITreeViewObj = getRoot();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewGetSelected()
+{
+
+	iGUITreeViewObj = getSelected();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewGetLinesVisible()
+{
+
+	iGUITreeViewObj = getLinesVisible();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewSetLinesVisible(int visible)
+{
+
+	iGUITreeViewObj->setLinesVisible(visible);
+
+}
+
+extern "C" int IGUITreeViewSetIconFont(int font)
+{
+
+	iGUITreeViewObj->setIconFont(font);
+
+}
+
+extern "C" int IGUITreeViewSetImageList(int imageList)
+{
+
+	iGUITreeViewObj->setImageList(imageList);
+
+}
+
+extern "C" int IGUITreeViewGetImageList()
+{
+
+	iGUITreeViewObj = getImageList();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewSetImageLeftOfIcon(int bLeftOf)
+{
+
+	iGUITreeViewObj->setImageLeftOfIcon(bLeftOf);
+
+}
+
+extern "C" int IGUITreeViewGetImageLeftOfIcon()
+{
+
+	iGUITreeViewObj = getImageLeftOfIcon();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUITreeViewGetLastEventNode()
+{
+
+	iGUITreeViewObj = getLastEventNode();
+	return (int) iGUITreeViewObj;
+
+}
+
+extern "C" int IGUIScrollBarIGUIScrollBar(int environment, int parent, int id, int EGUIET_SCROLL_BAR)
+{
+
+	iGUIScrollBarObj->IGUIScrollBar(environment, parent, id, EGUIET_SCROLL_BAR);
+
+}
+
+extern "C" int IGUIScrollBarSetMax(int max)
+{
+
+	iGUIScrollBarObj->setMax(max);
+
+}
+
+extern "C" int IGUIScrollBarGetMax()
+{
+
+	iGUIScrollBarObj = getMax();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetMin(int min)
+{
+
+	iGUIScrollBarObj->setMin(min);
+
+}
+
+extern "C" int IGUIScrollBarGetMin()
+{
+
+	iGUIScrollBarObj = getMin();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarGetSmallStep()
+{
+
+	iGUIScrollBarObj = getSmallStep();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetSmallStep(int step)
+{
+
+	iGUIScrollBarObj->setSmallStep(step);
+
+}
+
+extern "C" int IGUIScrollBarGetLargeStep()
+{
+
+	iGUIScrollBarObj = getLargeStep();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetLargeStep(int step)
+{
+
+	iGUIScrollBarObj->setLargeStep(step);
+
+}
+
+extern "C" int IGUIScrollBarGetPos()
+{
+
+	iGUIScrollBarObj = getPos();
+	return (int) iGUIScrollBarObj;
+
+}
+
+extern "C" int IGUIScrollBarSetPos(int pos)
+{
+
+	iGUIScrollBarObj->setPos(pos);
+
+}
+
+extern "C" int IVolumeLightSceneNodeIVolumeLightSceneNode(int parent, int mgr, int id, int position, int rotation, int parent)
+{
+
+	iVolumeLightSceneNodeObj->IVolumeLightSceneNode(parent, mgr, id, position, rotation, parent);
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetType()
+{
+
+	iVolumeLightSceneNodeObj = getType();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetSubDivideU(int inU)
+{
+
+	iVolumeLightSceneNodeObj->setSubDivideU(inU);
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetSubDivideV(int inV)
+{
+
+	iVolumeLightSceneNodeObj->setSubDivideV(inV);
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetSubDivideU()
+{
+
+	iVolumeLightSceneNodeObj = getSubDivideU();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetSubDivideV()
+{
+
+	iVolumeLightSceneNodeObj = getSubDivideV();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetFootColor(int inColour)
+{
+
+	iVolumeLightSceneNodeObj->setFootColor(inColour);
+
+}
+
+extern "C" int IVolumeLightSceneNodeSetTailColor(int inColour)
+{
+
+	iVolumeLightSceneNodeObj->setTailColor(inColour);
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetFootColor()
+{
+
+	iVolumeLightSceneNodeObj = getFootColor();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IVolumeLightSceneNodeGetTailColor()
+{
+
+	iVolumeLightSceneNodeObj = getTailColor();
+	return (int) iVolumeLightSceneNodeObj;
+
+}
+
+extern "C" int IGUIWindowIGUIWindow(int environment, int parent, int id, int EGUIET_WINDOW)
+{
+
+	iGUIWindowObj->IGUIWindow(environment, parent, id, EGUIET_WINDOW);
+
+}
+
+extern "C" int IGUIWindowGetCloseButton()
+{
+
+	iGUIWindowObj = getCloseButton();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowGetMinimizeButton()
+{
+
+	iGUIWindowObj = getMinimizeButton();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowGetMaximizeButton()
+{
+
+	iGUIWindowObj = getMaximizeButton();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowIsDraggable()
+{
+
+	iGUIWindowObj = isDraggable();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowSetDraggable(int draggable)
+{
+
+	iGUIWindowObj->setDraggable(draggable);
+
+}
+
+extern "C" int IGUIWindowSetDrawBackground(int draw)
+{
+
+	iGUIWindowObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUIWindowGetDrawBackground()
+{
+
+	iGUIWindowObj = getDrawBackground();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowSetDrawTitlebar(int draw)
+{
+
+	iGUIWindowObj->setDrawTitlebar(draw);
+
+}
+
+extern "C" int IGUIWindowGetDrawTitlebar()
+{
+
+	iGUIWindowObj = getDrawTitlebar();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIWindowGetClientRect()
+{
+
+	iGUIWindowObj = getClientRect();
+	return (int) iGUIWindowObj;
+
+}
+
+extern "C" int IGUIFileOpenDialogIGUIFileOpenDialog(int environment, int parent, int id, int EGUIET_FILE_OPEN_DIALOG)
+{
+
+	iGUIFileOpenDialogObj->IGUIFileOpenDialog(environment, parent, id, EGUIET_FILE_OPEN_DIALOG);
+
+}
+
+extern "C" int IGUIFileOpenDialogGetFileName()
+{
+
+	iGUIFileOpenDialogObj = getFileName();
+	return (int) iGUIFileOpenDialogObj;
+
+}
+
+extern "C" int IGUIFileOpenDialogGetDirectoryName()
+{
+
+	iGUIFileOpenDialogObj = getDirectoryName();
+	return (int) iGUIFileOpenDialogObj;
+
+}
+
+extern "C" int IParticleBoxEmitterSetBox(int box)
+{
+
+	iParticleBoxEmitterObj->setBox(box);
+
+}
+
+extern "C" int IParticleBoxEmitterGetBox()
+{
+
+	iParticleBoxEmitterObj = getBox();
+	return (int) iParticleBoxEmitterObj;
+
+}
+
+extern "C" int IParticleBoxEmitterGetType()
+{
+
+	iParticleBoxEmitterObj = getType();
+	return (int) iParticleBoxEmitterObj;
+
+}
+
+extern "C" int ICursorControlSetVisible(int visible)
+{
+
+	iCursorControlObj->setVisible(visible);
+
+}
+
+extern "C" int ICursorControlIsVisible()
+{
+
+	iCursorControlObj = isVisible();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlSetPosition(int pos)
+{
+
+	iCursorControlObj->setPosition(pos);
+
+}
+
+extern "C" int ICursorControlSetPosition(int x, int y)
+{
+
+	iCursorControlObj->setPosition(x, y);
+
+}
+
+extern "C" int ICursorControlSetPosition(int pos)
+{
+
+	iCursorControlObj->setPosition(pos);
+
+}
+
+extern "C" int ICursorControlSetPosition(int x, int y)
+{
+
+	iCursorControlObj->setPosition(x, y);
+
+}
+
+extern "C" int ICursorControlGetPosition()
+{
+
+	iCursorControlObj = getPosition();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlGetRelativePosition()
+{
+
+	iCursorControlObj = getRelativePosition();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlSetReferenceRect(int rect)
+{
+
+	iCursorControlObj->setReferenceRect(rect);
+
+}
+
+extern "C" int ICursorControlSetActiveIcon(int iconId)
+{
+
+	iCursorControlObj->setActiveIcon(iconId);
+
+}
+
+extern "C" int ICursorControlGetActiveIcon()
+{
+
+	iCursorControlObj = getActiveIcon();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlAddIcon(int icon)
+{
+
+	iCursorControlObj = addIcon(icon);
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int ICursorControlChangeIcon(int iconId, int sprite)
+{
+
+	iCursorControlObj->changeIcon(iconId, sprite);
+
+}
+
+extern "C" int ICursorControlGetSupportedIconSize()
+{
+
+	iCursorControlObj = getSupportedIconSize();
+	return (int) iCursorControlObj;
+
+}
+
+extern "C" int IBoneSceneNodeIBoneSceneNode(int parent, int mgr, int id)
+{
+
+	iBoneSceneNodeObj->IBoneSceneNode(parent, mgr, id);
+
+}
+
+extern "C" int IBoneSceneNodeGetBoneName()
+{
+
+	iBoneSceneNodeObj = getBoneName();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeGetBoneIndex()
+{
+
+	iBoneSceneNodeObj = getBoneIndex();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeSetAnimationMode(int mode)
+{
+
+	iBoneSceneNodeObj = setAnimationMode(mode);
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeGetAnimationMode()
+{
+
+	iBoneSceneNodeObj = getAnimationMode();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeGetBoundingBox()
+{
+
+	iBoneSceneNodeObj = getBoundingBox();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeOnAnimate(int timeMs)
+{
+
+	iBoneSceneNodeObj->OnAnimate(timeMs);
+
+}
+
+extern "C" int IBoneSceneNodeRender()
+{
+
+	iBoneSceneNodeObj->render();
+
+}
+
+extern "C" int IBoneSceneNodeSetSkinningSpace(int space)
+{
+
+	iBoneSceneNodeObj->setSkinningSpace(space);
+
+}
+
+extern "C" int IBoneSceneNodeGetSkinningSpace()
+{
+
+	iBoneSceneNodeObj = getSkinningSpace();
+	return (int) iBoneSceneNodeObj;
+
+}
+
+extern "C" int IBoneSceneNodeUpdateAbsolutePositionOfAllChildren()
+{
+
+	iBoneSceneNodeObj->updateAbsolutePositionOfAllChildren();
+
+}
+
+extern "C" int IMaterialRendererServicesIMaterialRendererServices()
+{
+
+	iMaterialRendererServicesObj = IMaterialRendererServices();
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IMaterialRendererServicesSetBasicRenderStates(int material, int lastMaterial, int resetAllRenderstates)
+{
+
+	iMaterialRendererServicesObj->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
+
+}
+
+extern "C" int IMaterialRendererServicesSetVertexShaderConstant(char * name, int floats, int count)
+{
+
+	iMaterialRendererServicesObj = setVertexShaderConstant(name, floats, count);
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IMaterialRendererServicesSetVertexShaderConstant(int data, int startRegister, int constantAmount)
+{
+
+	iMaterialRendererServicesObj->setVertexShaderConstant(data, startRegister, constantAmount);
+
+}
+
+extern "C" int IMaterialRendererServicesSetPixelShaderConstant(char * name, int floats, int count)
+{
+
+	iMaterialRendererServicesObj = setPixelShaderConstant(name, floats, count);
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IMaterialRendererServicesSetPixelShaderConstant(int data, int startRegister, int constantAmount)
+{
+
+	iMaterialRendererServicesObj->setPixelShaderConstant(data, startRegister, constantAmount);
+
+}
+
+extern "C" int IMaterialRendererServicesGetVideoDriver()
+{
+
+	iMaterialRendererServicesObj = getVideoDriver();
+	return (int) iMaterialRendererServicesObj;
+
+}
+
+extern "C" int IVertexListIVertexList()
+{
+
+	iVertexListObj = IVertexList();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListStride()
+{
+
+	iVertexListObj = stride();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj->push_back(element);
+
+}
+
+extern "C" int IVertexListOperator(int index)
+{
+
+	iVertexListObj = operator(index);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetLast()
+{
+
+	iVertexListObj = getLast();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSet_used(int usedNow)
+{
+
+	iVertexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexListReallocate(int new_size)
+{
+
+	iVertexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexListAllocated_size()
+{
+
+	iVertexListObj = allocated_size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPointer()
+{
+
+	iVertexListObj = pointer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetType()
+{
+
+	iVertexListObj = getType();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListStride()
+{
+
+	iVertexListObj = stride();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj->push_back(element);
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj = push_back(element);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListOperator(int index)
+{
+
+	iVertexListObj = operator(index);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetLast()
+{
+
+	iVertexListObj = getLast();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSet_used(int usedNow)
+{
+
+	iVertexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexListSet_used()
+{
+
+	iVertexListObj = set_used();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListReallocate(int new_size)
+{
+
+	iVertexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj = reallocate();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListAllocated_size()
+{
+
+	iVertexListObj = allocated_size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPointer()
+{
+
+	iVertexListObj = pointer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetType()
+{
+
+	iVertexListObj = getType();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListCVertexBuffer()
+{
+
+	iVertexListObj->CVertexBuffer();
+
+}
+
+extern "C" int IVertexListSetType()
+{
+
+	iVertexListObj->setType();
+
+}
+
+extern "C" int IVertexListCVertexBuffer()
+{
+
+	iVertexListObj->CVertexBuffer();
+
+}
+
+extern "C" int IVertexListSetType()
+{
+
+	iVertexListObj->setType();
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj->reallocate();
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int n)
+{
+
+	iVertexListObj = push_back(n);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListCVertexBuffer()
+{
+
+	iVertexListObj = CVertexBuffer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSetType(int vertexType)
+{
+
+	iVertexListObj->setType(vertexType);
+
+}
+
+extern "C" int IVertexListSwitch()
+{
+
+	iVertexListObj->switch();
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj = reallocate();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int n)
+{
+
+	iVertexListObj = push_back(n);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetData()
+{
+
+	iVertexListObj->getData();
+
+}
+
+extern "C" int IVertexListGetType()
+{
+
+	iVertexListObj = getType();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListStride()
+{
+
+	iVertexListObj = stride();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSize()
+{
+
+	iVertexListObj = size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPush_back(int element)
+{
+
+	iVertexListObj->push_back(element);
+
+}
+
+extern "C" int IVertexListPush_back()
+{
+
+	iVertexListObj = push_back();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListOperator(int index)
+{
+
+	iVertexListObj = operator(index);
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetLast()
+{
+
+	iVertexListObj = getLast();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSet_used(int usedNow)
+{
+
+	iVertexListObj->set_used(usedNow);
+
+}
+
+extern "C" int IVertexListSet_used()
+{
+
+	iVertexListObj = set_used();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListReallocate(int new_size)
+{
+
+	iVertexListObj->reallocate(new_size);
+
+}
+
+extern "C" int IVertexListReallocate()
+{
+
+	iVertexListObj = reallocate();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListAllocated_size()
+{
+
+	iVertexListObj = allocated_size();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListPointer()
+{
+
+	iVertexListObj = pointer();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListGetHardwareMappingHint()
+{
+
+	iVertexListObj = getHardwareMappingHint();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int IVertexListSetHardwareMappingHint(int NewMappingHint)
+{
+
+	iVertexListObj->setHardwareMappingHint(NewMappingHint);
+
+}
+
+extern "C" int IVertexListSetDirty()
+{
+
+	iVertexListObj->setDirty();
+
+}
+
+extern "C" int IVertexListGetChangedID()
+{
+
+	iVertexListObj = getChangedID();
+	return (int) iVertexListObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSGetMoveSpeed()
+{
+
+	iSceneNodeAnimatorCameraFPSObj = getMoveSpeed();
+	return (int) iSceneNodeAnimatorCameraFPSObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetMoveSpeed(int moveSpeed)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setMoveSpeed(moveSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSGetRotateSpeed()
+{
+
+	iSceneNodeAnimatorCameraFPSObj = getRotateSpeed();
+	return (int) iSceneNodeAnimatorCameraFPSObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetRotateSpeed(int rotateSpeed)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setRotateSpeed(rotateSpeed);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetKeyMap(int map, int count)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setKeyMap(map, count);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetVerticalMovement(int allow)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setVerticalMovement(allow);
+
+}
+
+extern "C" int ISceneNodeAnimatorCameraFPSSetInvertMouse(int invert)
+{
+
+	iSceneNodeAnimatorCameraFPSObj->setInvertMouse(invert);
+
+}
+
+extern "C" int IGUITabIGUITab(int environment, int parent, int id, int EGUIET_TAB)
+{
+
+	iGUITabObj->IGUITab(environment, parent, id, EGUIET_TAB);
+
+}
+
+extern "C" int IGUITabGetNumber()
+{
+
+	iGUITabObj = getNumber();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabSetDrawBackground(int draw)
+{
+
+	iGUITabObj->setDrawBackground(draw);
+
+}
+
+extern "C" int IGUITabSetBackgroundColor(int c)
+{
+
+	iGUITabObj->setBackgroundColor(c);
+
+}
+
+extern "C" int IGUITabIsDrawingBackground()
+{
+
+	iGUITabObj = isDrawingBackground();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabGetBackgroundColor()
+{
+
+	iGUITabObj = getBackgroundColor();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabSetTextColor(int c)
+{
+
+	iGUITabObj->setTextColor(c);
+
+}
+
+extern "C" int IGUITabGetTextColor()
+{
+
+	iGUITabObj = getTextColor();
+	return (int) iGUITabObj;
+
+}
+
+extern "C" int IGUITabControlIGUITabControl(int environment, int parent, int id, int EGUIET_TAB_CONTROL)
+{
+
+	iGUITabControlObj->IGUITabControl(environment, parent, id, EGUIET_TAB_CONTROL);
+
+}
+
+extern "C" int IGUITabControlAddTab(char * caption, int id)
+{
+
+	iGUITabControlObj = addTab(caption, id);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlGetTabCount()
+{
+
+	iGUITabControlObj = getTabCount();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlGetTab(int idx)
+{
+
+	iGUITabControlObj = getTab(idx);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetActiveTab(int idx)
+{
+
+	iGUITabControlObj = setActiveTab(idx);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetActiveTab(int tab)
+{
+
+	iGUITabControlObj = setActiveTab(tab);
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlGetActiveTab()
+{
+
+	iGUITabControlObj = getActiveTab();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabHeight(int height)
+{
+
+	iGUITabControlObj->setTabHeight(height);
+
+}
+
+extern "C" int IGUITabControlGetTabHeight()
+{
+
+	iGUITabControlObj = getTabHeight();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabMaxWidth(int width)
+{
+
+	iGUITabControlObj->setTabMaxWidth(width);
+
+}
+
+extern "C" int IGUITabControlGetTabMaxWidth()
+{
+
+	iGUITabControlObj = getTabMaxWidth();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabVerticalAlignment(int alignment)
+{
+
+	iGUITabControlObj->setTabVerticalAlignment(alignment);
+
+}
+
+extern "C" int IGUITabControlGetTabVerticalAlignment()
+{
+
+	iGUITabControlObj = getTabVerticalAlignment();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IGUITabControlSetTabExtraWidth(int extraWidth)
+{
+
+	iGUITabControlObj->setTabExtraWidth(extraWidth);
+
+}
+
+extern "C" int IGUITabControlGetTabExtraWidth()
+{
+
+	iGUITabControlObj = getTabExtraWidth();
+	return (int) iGUITabControlObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterSetCenter(int center)
+{
+
+	iParticleCylinderEmitterObj->setCenter(center);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetNormal(int normal)
+{
+
+	iParticleCylinderEmitterObj->setNormal(normal);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetRadius(int radius)
+{
+
+	iParticleCylinderEmitterObj->setRadius(radius);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetLength(int length)
+{
+
+	iParticleCylinderEmitterObj->setLength(length);
+
+}
+
+extern "C" int IParticleCylinderEmitterSetOutlineOnly(int outlineOnly)
+{
+
+	iParticleCylinderEmitterObj->setOutlineOnly(outlineOnly);
+
+}
+
+extern "C" int IParticleCylinderEmitterGetCenter()
+{
+
+	iParticleCylinderEmitterObj = getCenter();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetNormal()
+{
+
+	iParticleCylinderEmitterObj = getNormal();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetRadius()
+{
+
+	iParticleCylinderEmitterObj = getRadius();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetLength()
+{
+
+	iParticleCylinderEmitterObj = getLength();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetOutlineOnly()
+{
+
+	iParticleCylinderEmitterObj = getOutlineOnly();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IParticleCylinderEmitterGetType()
+{
+
+	iParticleCylinderEmitterObj = getType();
+	return (int) iParticleCylinderEmitterObj;
+
+}
+
+extern "C" int IGUISpriteBankGetPositions()
+{
+
+	iGUISpriteBankObj = getPositions();
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankGetSprites()
+{
+
+	iGUISpriteBankObj = getSprites();
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankGetTextureCount()
+{
+
+	iGUISpriteBankObj = getTextureCount();
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankGetTexture(int index)
+{
+
+	iGUISpriteBankObj = getTexture(index);
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankAddTexture(int texture)
+{
+
+	iGUISpriteBankObj->addTexture(texture);
+
+}
+
+extern "C" int IGUISpriteBankSetTexture(int index, int texture)
+{
+
+	iGUISpriteBankObj->setTexture(index, texture);
+
+}
+
+extern "C" int IGUISpriteBankAddTextureAsSprite(int texture)
+{
+
+	iGUISpriteBankObj = addTextureAsSprite(texture);
+	return (int) iGUISpriteBankObj;
+
+}
+
+extern "C" int IGUISpriteBankClear()
+{
+
+	iGUISpriteBankObj->clear();
+
+}
+
+extern "C" int IGUISpriteBankDraw2DSprite(int index, int pos, int clip, int color, int starttime, int currenttime, int loop, int center)
+{
+
+	iGUISpriteBankObj->draw2DSprite(index, pos, clip, color, starttime, currenttime, loop, center);
+
+}
+
+extern "C" int IGUISpriteBankDraw2DSpriteBatch(int indices, int pos, int clip, int color, int starttime, int currenttime, int loop, int center)
+{
+
+	iGUISpriteBankObj->draw2DSpriteBatch(indices, pos, clip, color, starttime, currenttime, loop, center);
+
+}
+
+extern "C" int IMetaTriangleSelectorAddTriangleSelector(int toAdd)
+{
+
+	iMetaTriangleSelectorObj->addTriangleSelector(toAdd);
+
+}
+
+extern "C" int IMetaTriangleSelectorRemoveTriangleSelector(int toRemove)
+{
+
+	iMetaTriangleSelectorObj = removeTriangleSelector(toRemove);
+	return (int) iMetaTriangleSelectorObj;
+
+}
+
+extern "C" int IMetaTriangleSelectorRemoveAllTriangleSelectors()
+{
+
+	iMetaTriangleSelectorObj->removeAllTriangleSelectors();
+
+}
+
+extern "C" int IGUIImageIGUIImage(int environment, int parent, int id, int EGUIET_IMAGE)
+{
+
+	iGUIImageObj->IGUIImage(environment, parent, id, EGUIET_IMAGE);
+
+}
+
+extern "C" int IGUIImageSetImage(int image)
+{
+
+	iGUIImageObj->setImage(image);
+
+}
+
+extern "C" int IGUIImageSetColor(int color)
+{
+
+	iGUIImageObj->setColor(color);
+
+}
+
+extern "C" int IGUIImageSetScaleImage(int scale)
+{
+
+	iGUIImageObj->setScaleImage(scale);
+
+}
+
+extern "C" int IGUIImageSetUseAlphaChannel(int use)
+{
+
+	iGUIImageObj->setUseAlphaChannel(use);
+
+}
+
+extern "C" int IGUIImageIsImageScaled()
+{
+
+	iGUIImageObj = isImageScaled();
+	return (int) iGUIImageObj;
+
+}
+
+extern "C" int IGUIImageIsAlphaChannelUsed()
+{
+
+	iGUIImageObj = isAlphaChannelUsed();
+	return (int) iGUIImageObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent)
+{
+
+	iAnimatedMeshSceneNodeObj->IAnimatedMeshSceneNode(parent, mgr, id, position, rotation, scale, parent);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode()
+{
+
+	iAnimatedMeshSceneNodeObj = IAnimatedMeshSceneNode();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetCurrentFrame(int frame)
+{
+
+	iAnimatedMeshSceneNodeObj->setCurrentFrame(frame);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetFrameLoop(int begin, int end)
+{
+
+	iAnimatedMeshSceneNodeObj = setFrameLoop(begin, end);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetAnimationSpeed(int framesPerSecond)
+{
+
+	iAnimatedMeshSceneNodeObj->setAnimationSpeed(framesPerSecond);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetAnimationSpeed()
+{
+
+	iAnimatedMeshSceneNodeObj = getAnimationSpeed();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(int shadowMesh, int id, int zfailmethod, int infinity)
+{
+
+	iAnimatedMeshSceneNodeObj = addShadowVolumeSceneNode(shadowMesh, id, zfailmethod, infinity);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetJointNode(char * jointName)
+{
+
+	iAnimatedMeshSceneNodeObj = getJointNode(jointName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetJointNode(int jointID)
+{
+
+	iAnimatedMeshSceneNodeObj = getJointNode(jointID);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetJointCount()
+{
+
+	iAnimatedMeshSceneNodeObj = getJointCount();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetMS3DJointNode(char * jointName)
+{
+
+	iAnimatedMeshSceneNodeObj = getMS3DJointNode(jointName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetXJointNode(char * jointName)
+{
+
+	iAnimatedMeshSceneNodeObj = getXJointNode(jointName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetMD2Animation(int anim)
+{
+
+	iAnimatedMeshSceneNodeObj = setMD2Animation(anim);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetMD2Animation(char * animationName)
+{
+
+	iAnimatedMeshSceneNodeObj = setMD2Animation(animationName);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetFrameNr()
+{
+
+	iAnimatedMeshSceneNodeObj = getFrameNr();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetStartFrame()
+{
+
+	iAnimatedMeshSceneNodeObj = getStartFrame();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetEndFrame()
+{
+
+	iAnimatedMeshSceneNodeObj = getEndFrame();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetLoopMode(int playAnimationLooped)
+{
+
+	iAnimatedMeshSceneNodeObj->setLoopMode(playAnimationLooped);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetAnimationEndCallback(int callback)
+{
+
+	iAnimatedMeshSceneNodeObj->setAnimationEndCallback(callback);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetReadOnlyMaterials(int readonly)
+{
+
+	iAnimatedMeshSceneNodeObj->setReadOnlyMaterials(readonly);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeIsReadOnlyMaterials()
+{
+
+	iAnimatedMeshSceneNodeObj = isReadOnlyMaterials();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetMesh(int mesh)
+{
+
+	iAnimatedMeshSceneNodeObj->setMesh(mesh);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetMesh()
+{
+
+	iAnimatedMeshSceneNodeObj = getMesh();
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeGetMD3TagTransformation(int tagname)
+{
+
+	iAnimatedMeshSceneNodeObj = getMD3TagTransformation(tagname);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetJointMode(int mode)
+{
+
+	iAnimatedMeshSceneNodeObj->setJointMode(mode);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetTransitionTime(int Time)
+{
+
+	iAnimatedMeshSceneNodeObj->setTransitionTime(Time);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeAnimateJoints(int CalculateAbsolutePositions)
+{
+
+	iAnimatedMeshSceneNodeObj->animateJoints(CalculateAbsolutePositions);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeSetRenderFromIdentity(int On)
+{
+
+	iAnimatedMeshSceneNodeObj->setRenderFromIdentity(On);
+
+}
+
+extern "C" int IAnimatedMeshSceneNodeClone(int newParent, int newManager)
+{
+
+	iAnimatedMeshSceneNodeObj = clone(newParent, newManager);
+	return (int) iAnimatedMeshSceneNodeObj;
+
+}
+
+extern "C" int IAnimationEndCallBackOnAnimationEnd(int node)
+{
+
+	iAnimationEndCallBackObj->OnAnimationEnd(node);
+
+}
+
+extern "C" int IGUIColorSelectDialogIGUIColorSelectDialog(int environment, int parent, int id, int EGUIET_COLOR_SELECT_DIALOG)
+{
+
+	iGUIColorSelectDialogObj->IGUIColorSelectDialog(environment, parent, id, EGUIET_COLOR_SELECT_DIALOG);
+
+}
+
+extern "C" int IGUITableIGUITable(int environment, int parent, int id, int EGUIET_TABLE)
+{
+
+	iGUITableObj->IGUITable(environment, parent, id, EGUIET_TABLE);
+
+}
+
+extern "C" int IGUITableAddColumn(char * caption, int columnIndex)
+{
+
+	iGUITableObj->addColumn(caption, columnIndex);
+
+}
+
+extern "C" int IGUITableRemoveColumn(int columnIndex)
+{
+
+	iGUITableObj->removeColumn(columnIndex);
+
+}
+
+extern "C" int IGUITableGetColumnCount()
+{
+
+	iGUITableObj = getColumnCount();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetActiveColumn(int idx, int doOrder)
+{
+
+	iGUITableObj = setActiveColumn(idx, doOrder);
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableGetActiveColumn()
+{
+
+	iGUITableObj = getActiveColumn();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableGetActiveColumnOrdering()
+{
+
+	iGUITableObj = getActiveColumnOrdering();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetColumnWidth(int columnIndex, int width)
+{
+
+	iGUITableObj->setColumnWidth(columnIndex, width);
+
+}
+
+extern "C" int IGUITableSetResizableColumns(int resizable)
+{
+
+	iGUITableObj->setResizableColumns(resizable);
+
+}
+
+extern "C" int IGUITableHasResizableColumns()
+{
+
+	iGUITableObj = hasResizableColumns();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetColumnOrdering(int columnIndex, int mode)
+{
+
+	iGUITableObj->setColumnOrdering(columnIndex, mode);
+
+}
+
+extern "C" int IGUITableGetSelected()
+{
+
+	iGUITableObj = getSelected();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableSetSelected(int index)
+{
+
+	iGUITableObj->setSelected(index);
+
+}
+
+extern "C" int IGUITableGetRowCount()
+{
+
+	iGUITableObj = getRowCount();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableAddRow(int rowIndex)
+{
+
+	iGUITableObj = addRow(rowIndex);
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableRemoveRow(int rowIndex)
+{
+
+	iGUITableObj->removeRow(rowIndex);
+
+}
+
+extern "C" int IGUITableClearRows()
+{
+
+	iGUITableObj->clearRows();
+
+}
+
+extern "C" int IGUITableSwapRows(int rowIndexA, int rowIndexB)
+{
+
+	iGUITableObj->swapRows(rowIndexA, rowIndexB);
+
+}
+
+extern "C" int IGUITableOrderRows(int columnIndex, int mode)
+{
+
+	iGUITableObj->orderRows(columnIndex, mode);
+
+}
+
+extern "C" int IGUITableSetCellText(int rowIndex, int columnIndex, int text)
+{
+
+	iGUITableObj->setCellText(rowIndex, columnIndex, text);
+
+}
+
+extern "C" int IGUITableSetCellText(int rowIndex, int columnIndex, int text, int color)
+{
+
+	iGUITableObj->setCellText(rowIndex, columnIndex, text, color);
+
+}
+
+extern "C" int IGUITableSetCellData(int rowIndex, int columnIndex, int data)
+{
+
+	iGUITableObj->setCellData(rowIndex, columnIndex, data);
+
+}
+
+extern "C" int IGUITableSetCellColor(int rowIndex, int columnIndex, int color)
+{
+
+	iGUITableObj->setCellColor(rowIndex, columnIndex, color);
+
+}
+
+extern "C" int IGUITableGetCellText(int rowIndex, int columnIndex)
+{
+
+	iGUITableObj = getCellText(rowIndex, columnIndex);
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int IGUITableGetCellData(int rowIndex, int columnIndex)
+{
+
+	iGUITableObj->getCellData(rowIndex, columnIndex);
+
+}
+
+extern "C" int IGUITableClear()
+{
+
+	iGUITableObj->clear();
+
+}
+
+extern "C" int IGUITableSetDrawFlags(int flags)
+{
+
+	iGUITableObj->setDrawFlags(flags);
+
+}
+
+extern "C" int IGUITableGetDrawFlags()
+{
+
+	iGUITableObj = getDrawFlags();
+	return (int) iGUITableObj;
+
+}
+
+extern "C" int ISceneNodeFactoryAddSceneNode(int type, int parent)
+{
+
+	iSceneNodeFactoryObj = addSceneNode(type, parent);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryAddSceneNode(char * typeName, int parent)
+{
+
+	iSceneNodeFactoryObj = addSceneNode(typeName, parent);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreatableSceneNodeTypeCount()
+{
+
+	iSceneNodeFactoryObj = getCreatableSceneNodeTypeCount();
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreateableSceneNodeType(int idx)
+{
+
+	iSceneNodeFactoryObj = getCreateableSceneNodeType(idx);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int idx)
+{
+
+	iSceneNodeFactoryObj = getCreateableSceneNodeTypeName(idx);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int type)
+{
+
+	iSceneNodeFactoryObj = getCreateableSceneNodeTypeName(type);
+	return (int) iSceneNodeFactoryObj;
+
+}
+
+extern "C" int IGUIFontDraw(int text, int position, int color, int hcenter, int vcenter, int clip)
+{
+
+	iGUIFontObj->draw(text, position, color, hcenter, vcenter, clip);
+
+}
+
+extern "C" int IGUIFontGetDimension(char * text)
+{
+
+	iGUIFontObj = getDimension(text);
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontGetCharacterFromPos(char * text, int pixel_x)
+{
+
+	iGUIFontObj = getCharacterFromPos(text, pixel_x);
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontGetType()
+{
+
+	iGUIFontObj = getType();
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontSetKerningWidth(int kerning)
+{
+
+	iGUIFontObj->setKerningWidth(kerning);
+
+}
+
+extern "C" int IGUIFontSetKerningHeight(int kerning)
+{
+
+	iGUIFontObj->setKerningHeight(kerning);
+
+}
+
+extern "C" int IGUIFontGetKerningWidth(char * thisLetter, char * previousLetter)
+{
+
+	iGUIFontObj = getKerningWidth(thisLetter, previousLetter);
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontGetKerningHeight()
+{
+
+	iGUIFontObj = getKerningHeight();
+	return (int) iGUIFontObj;
+
+}
+
+extern "C" int IGUIFontSetInvisibleCharacters(char * s)
+{
+
+	iGUIFontObj->setInvisibleCharacters(s);
+
+}
+
+extern "C" int IMeshWriterIMeshWriter()
+{
+
+	iMeshWriterObj = IMeshWriter();
+	return (int) iMeshWriterObj;
+
+}
+
+extern "C" int IMeshWriterGetType()
+{
+
+	iMeshWriterObj = getType();
+	return (int) iMeshWriterObj;
+
+}
+
+extern "C" int IMeshWriterWriteMesh(int file, int mesh, int flags)
+{
+
+	iMeshWriterObj = writeMesh(file, mesh, flags);
+	return (int) iMeshWriterObj;
+
+}
+
+extern "C" int IGUIElementFactoryAddGUIElement(int type, int parent)
+{
+
+	iGUIElementFactoryObj = addGUIElement(type, parent);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryAddGUIElement(char * typeName, int parent)
+{
+
+	iGUIElementFactoryObj = addGUIElement(typeName, parent);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreatableGUIElementTypeCount()
+{
+
+	iGUIElementFactoryObj = getCreatableGUIElementTypeCount();
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreateableGUIElementType(int idx)
+{
+
+	iGUIElementFactoryObj = getCreateableGUIElementType(idx);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreateableGUIElementTypeName(int idx)
+{
+
+	iGUIElementFactoryObj = getCreateableGUIElementTypeName(idx);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IGUIElementFactoryGetCreateableGUIElementTypeName(int type)
+{
+
+	iGUIElementFactoryObj = getCreateableGUIElementTypeName(type);
+	return (int) iGUIElementFactoryObj;
+
+}
+
+extern "C" int IShaderConstantSetCallBackOnSetMaterial(int material)
+{
+
+	iShaderConstantSetCallBackObj->OnSetMaterial(material);
+
+}
+
+extern "C" int IShaderConstantSetCallBackOnSetConstants(int services, int userData)
+{
+
+	iShaderConstantSetCallBackObj->OnSetConstants(services, userData);
+
+}
+
+extern "C" int IMeshManipulatorFlipSurfaces(int mesh)
+{
+
+	iMeshManipulatorObj->flipSurfaces(mesh);
+
+}
+
+extern "C" int IMeshManipulatorSetVertexColorAlpha(int mesh, int alpha)
+{
+
+	iMeshManipulatorObj->setVertexColorAlpha(mesh, alpha);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorSetVertexColors(int mesh, int color)
+{
+
+	iMeshManipulatorObj->setVertexColors(mesh, color);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorRecalculateNormals(int mesh, int smooth, int angleWeighted)
+{
+
+	iMeshManipulatorObj->recalculateNormals(mesh, smooth, angleWeighted);
+
+}
+
+extern "C" int IMeshManipulatorRecalculateNormals(int buffer, int smooth, int angleWeighted)
+{
+
+	iMeshManipulatorObj->recalculateNormals(buffer, smooth, angleWeighted);
+
+}
+
+extern "C" int IMeshManipulatorRecalculateTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted)
+{
+
+	iMeshManipulatorObj->recalculateTangents(mesh, recalculateNormals, smooth, angleWeighted);
+
+}
+
+extern "C" int IMeshManipulatorScale(int mesh, int factor)
+{
+
+	iMeshManipulatorObj->scale(mesh, factor);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorScale(int buffer, int factor)
+{
+
+	iMeshManipulatorObj->scale(buffer, factor);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorScaleMesh(int mesh, int factor)
+{
+
+	iMeshManipulatorObj->scaleMesh(mesh, factor);
+
+}
+
+extern "C" int IMeshManipulatorScaleTCoords(int mesh, int factor, int level)
+{
+
+	iMeshManipulatorObj->scaleTCoords(mesh, factor, level);
+
+}
+
+extern "C" int IMeshManipulatorApply(int factor)
+{
+
+	iMeshManipulatorObj->apply(factor);
+
+}
+
+extern "C" int IMeshManipulatorScaleTCoords(int buffer, int factor, int level)
+{
+
+	iMeshManipulatorObj->scaleTCoords(buffer, factor, level);
+
+}
+
+extern "C" int IMeshManipulatorApply(int factor)
+{
+
+	iMeshManipulatorObj->apply(factor);
+
+}
+
+extern "C" int IMeshManipulatorTransform(int mesh, int m)
+{
+
+	iMeshManipulatorObj->transform(mesh, m);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorTransform(int buffer, int m)
+{
+
+	iMeshManipulatorObj->transform(buffer, m);
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj->apply();
+
+}
+
+extern "C" int IMeshManipulatorTransformMesh(int mesh, int m)
+{
+
+	iMeshManipulatorObj->transformMesh(mesh, m);
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshCopy(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshCopy(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorMakePlanarTextureMapping(int mesh, int resolution)
+{
+
+	iMeshManipulatorObj->makePlanarTextureMapping(mesh, resolution);
+
+}
+
+extern "C" int IMeshManipulatorMakePlanarTextureMapping(int meshbuffer, int resolution)
+{
+
+	iMeshManipulatorObj->makePlanarTextureMapping(meshbuffer, resolution);
+
+}
+
+extern "C" int IMeshManipulatorMakePlanarTextureMapping(int buffer, int resolutionS, int resolutionT, int axis, int offset)
+{
+
+	iMeshManipulatorObj->makePlanarTextureMapping(buffer, resolutionS, resolutionT, axis, offset);
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWithTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted, int recalculateTangents)
+{
+
+	iMeshManipulatorObj = createMeshWithTangents(mesh, recalculateNormals, smooth, angleWeighted, recalculateTangents);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWith2TCoords(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshWith2TCoords(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWith1TCoords(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshWith1TCoords(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshUniquePrimitives(int mesh)
+{
+
+	iMeshManipulatorObj = createMeshUniquePrimitives(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateMeshWelded(int mesh, int tolerance)
+{
+
+	iMeshManipulatorObj = createMeshWelded(mesh, tolerance);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorGetPolyCount(int mesh)
+{
+
+	iMeshManipulatorObj = getPolyCount(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorGetPolyCount(int mesh)
+{
+
+	iMeshManipulatorObj = getPolyCount(mesh);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorCreateAnimatedMesh(int mesh, int type)
+{
+
+	iMeshManipulatorObj = createAnimatedMesh(mesh, type);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorApply(int func, int buffer, int boundingBoxUpdate)
+{
+
+	iMeshManipulatorObj = apply(func, buffer, boundingBoxUpdate);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorApply(int func, int mesh, int boundingBoxUpdate)
+{
+
+	iMeshManipulatorObj = apply(func, mesh, boundingBoxUpdate);
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorGetMeshBufferCount()
+{
+
+	iMeshManipulatorObj = getMeshBufferCount();
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorApply()
+{
+
+	iMeshManipulatorObj = apply();
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int IMeshManipulatorAddInternalBox()
+{
+
+	iMeshManipulatorObj = addInternalBox();
+	return (int) iMeshManipulatorObj;
+
+}
+
+extern "C" int SColorHSLSColorHSL(int h, int s, int l, int l)
+{
+
+	sColorHSLObj->SColorHSL(h, s, l, l);
+
+}
+
+extern "C" int SColorHSLFromRGB(int color)
+{
+
+	sColorHSLObj->fromRGB(color);
+
+}
+
+extern "C" int SColorHSLToRGB(int color)
+{
+
+	sColorHSLObj->toRGB(color);
+
+}
+
+extern "C" int SColorSColor()
+{
+
+	sColorObj->SColor();
+
+}
+
+extern "C" int SColorSColor(int a, int r, int g)
+{
+
+	sColorObj->SColor(a, r, g);
+
+}
+
+extern "C" int SColorSColor(int clr)
+{
+
+	sColorObj->SColor(clr);
+
+}
+
+extern "C" int SColorGetAlpha()
+{
+
+	sColorObj = getAlpha();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetRed()
+{
+
+	sColorObj = getRed();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetGreen()
+{
+
+	sColorObj = getGreen();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetBlue()
+{
+
+	sColorObj = getBlue();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetLightness()
+{
+
+	sColorObj = getLightness();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetLuminance()
+{
+
+	sColorObj = getLuminance();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetAverage()
+{
+
+	sColorObj = getAverage();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorSetAlpha(int a)
+{
+
+	sColorObj->setAlpha(a);
+
+}
+
+extern "C" int SColorSetRed(int r)
+{
+
+	sColorObj->setRed(r);
+
+}
+
+extern "C" int SColorSetGreen(int g)
+{
+
+	sColorObj->setGreen(g);
+
+}
+
+extern "C" int SColorSetBlue(int b)
+{
+
+	sColorObj->setBlue(b);
+
+}
+
+extern "C" int SColorToA1R5G5B5()
+{
+
+	sColorObj = toA1R5G5B5();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorToOpenGLColor(int dest)
+{
+
+	sColorObj->toOpenGLColor(dest);
+
+}
+
+extern "C" int SColorSet(int a, int r, int g, int b)
+{
+
+	sColorObj->set(a, r, g, b);
+
+}
+
+extern "C" int SColorSet(int col)
+{
+
+	sColorObj->set(col);
+
+}
+
+extern "C" int SColorGetInterpolated(int other, int d)
+{
+
+	sColorObj = getInterpolated(other, d);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorClamp()
+{
+
+	sColorObj = clamp();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorGetInterpolated_quadratic(int c1, int c2, int d)
+{
+
+	sColorObj = getInterpolated_quadratic(c1, c2, d);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorClamp()
+{
+
+	sColorObj = clamp();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorSetData(int data, int format)
+{
+
+	sColorObj->setData(data, format);
+
+}
+
+extern "C" int SColorSwitch()
+{
+
+	sColorObj->switch();
+
+}
+
+extern "C" int SColorA1R5G5B5toA8R8G8B8(int data)
+{
+
+	sColorObj = A1R5G5B5toA8R8G8B8(data);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorR5G6B5toA8R8G8B8(int data)
+{
+
+	sColorObj = R5G6B5toA8R8G8B8(data);
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColor_()
+{
+
+	sColorObj = *();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorSet()
+{
+
+	sColorObj->set();
+
+}
+
+extern "C" int SColorGetData(int data, int format)
+{
+
+	sColorObj->getData(data, format);
+
+}
+
+extern "C" int SColorSwitch()
+{
+
+	sColorObj->switch();
+
+}
+
+extern "C" int SColorA8R8G8B8toA1R5G5B5()
+{
+
+	sColorObj = A8R8G8B8toA1R5G5B5();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorA8R8G8B8toR5G6B5()
+{
+
+	sColorObj = A8R8G8B8toR5G6B5();
+	return (int) sColorObj;
+
+}
+
+extern "C" int SColorfSColorf()
+{
+
+	sColorfObj->SColorf();
+
+}
+
+extern "C" int SColorfSColorf(int r, int g, int b, int a, int a)
+{
+
+	sColorfObj->SColorf(r, g, b, a, a);
+
+}
+
+extern "C" int SColorfSColorf(int c)
+{
+
+	sColorfObj->SColorf(c);
+
+}
+
+extern "C" int SColorfGetRed()
+{
+
+	sColorfObj = getRed();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetGreen()
+{
+
+	sColorfObj = getGreen();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetBlue()
+{
+
+	sColorfObj = getBlue();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetAlpha()
+{
+
+	sColorfObj = getAlpha();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfToSColor()
+{
+
+	sColorfObj = toSColor();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfSet(int rr, int gg, int bb)
+{
+
+	sColorfObj->set(rr, gg, bb);
+
+}
+
+extern "C" int SColorfSet(int aa, int rr, int gg, int bb)
+{
+
+	sColorfObj->set(aa, rr, gg, bb);
+
+}
+
+extern "C" int SColorfGetInterpolated(int other, int d)
+{
+
+	sColorfObj = getInterpolated(other, d);
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfClamp()
+{
+
+	sColorfObj = clamp();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetInterpolated_quadratic(int c1, int c2, int d)
+{
+
+	sColorfObj = getInterpolated_quadratic(c1, c2, d);
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfClamp()
+{
+
+	sColorfObj = clamp();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfSetColorComponentValue(int index, int value)
+{
+
+	sColorfObj->setColorComponentValue(index, value);
+
+}
+
+extern "C" int SColorfSwitch()
+{
+
+	sColorfObj->switch();
+
+}
+
+extern "C" int SColorfGetAlpha()
+{
+
+	sColorfObj = getAlpha();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetRed()
+{
+
+	sColorfObj = getRed();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetGreen()
+{
+
+	sColorfObj = getGreen();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int SColorfGetBlue()
+{
+
+	sColorfObj = getBlue();
+	return (int) sColorfObj;
+
+}
+
+extern "C" int IImageLoaderIsALoadableFileExtension(int filename)
+{
+
+	iImageLoaderObj = isALoadableFileExtension(filename);
+	return (int) iImageLoaderObj;
+
+}
+
+extern "C" int IImageLoaderIsALoadableFileFormat(int file)
+{
+
+	iImageLoaderObj = isALoadableFileFormat(file);
+	return (int) iImageLoaderObj;
+
+}
+
+extern "C" int IImageLoaderLoadImage(int file)
+{
+
+	iImageLoaderObj = loadImage(file);
+	return (int) iImageLoaderObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorAnimateNode(int node, int timeMs)
+{
+
+	iSceneNodeAnimatorObj->animateNode(node, timeMs);
+
+}
+
+extern "C" int ISceneNodeAnimatorCreateClone(int node, int newManager)
+{
+
+	iSceneNodeAnimatorObj = createClone(node, newManager);
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorIsEventReceiverEnabled()
+{
+
+	iSceneNodeAnimatorObj = isEventReceiverEnabled();
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorOnEvent(int event)
+{
+
+	iSceneNodeAnimatorObj = OnEvent(event);
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorGetType()
+{
+
+	iSceneNodeAnimatorObj = getType();
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int ISceneNodeAnimatorHasFinished()
+{
+
+	iSceneNodeAnimatorObj = hasFinished();
+	return (int) iSceneNodeAnimatorObj;
+
+}
+
+extern "C" int IOSOperatorIOSOperator()
+{
+
+	iOSOperatorObj = IOSOperator();
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorGetOperationSystemVersion()
+{
+
+	iOSOperatorObj = getOperationSystemVersion();
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorCopyToClipboard(char * text)
+{
+
+	iOSOperatorObj->copyToClipboard(text);
+
+}
+
+extern "C" int IOSOperatorGetTextFromClipboard()
+{
+
+	iOSOperatorObj = getTextFromClipboard();
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorGetProcessorSpeedMHz(int MHz)
+{
+
+	iOSOperatorObj = getProcessorSpeedMHz(MHz);
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IOSOperatorGetSystemMemory(int Total, int Avail)
+{
+
+	iOSOperatorObj = getSystemMemory(Total, Avail);
+	return (int) iOSOperatorObj;
+
+}
+
+extern "C" int IQ3LevelMeshGetShader(char * filename, int fileNameIsValid)
+{
+
+	iQ3LevelMeshObj = getShader(filename, fileNameIsValid);
+	return (int) iQ3LevelMeshObj;
+
+}
+
+extern "C" int IQ3LevelMeshGetShader(int index)
+{
+
+	iQ3LevelMeshObj = getShader(index);
+	return (int) iQ3LevelMeshObj;
+
+}
+
+extern "C" int IQ3LevelMeshGetEntityList()
+{
+
+	iQ3LevelMeshObj = getEntityList();
+	return (int) iQ3LevelMeshObj;
+
+}
+
+extern "C" int ILightManagerOnPreRender(int lightList)
+{
+
+	iLightManagerObj->OnPreRender(lightList);
+
+}
+
+extern "C" int ILightManagerOnPostRender()
+{
+
+	iLightManagerObj->OnPostRender();
+
+}
+
+extern "C" int ILightManagerOnRenderPassPreRender(int renderPass)
+{
+
+	iLightManagerObj->OnRenderPassPreRender(renderPass);
+
+}
+
+extern "C" int ILightManagerOnRenderPassPostRender(int renderPass)
+{
+
+	iLightManagerObj->OnRenderPassPostRender(renderPass);
+
+}
+
+extern "C" int ILightManagerOnNodePreRender(int node)
+{
+
+	iLightManagerObj->OnNodePreRender(node);
+
+}
+
+extern "C" int ILightManagerOnNodePostRender(int node)
+{
+
+	iLightManagerObj->OnNodePostRender(node);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetPoint(int point)
+{
+
+	iParticleAttractionAffectorObj->setPoint(point);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAttract(int attract)
+{
+
+	iParticleAttractionAffectorObj->setAttract(attract);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAffectX(int affect)
+{
+
+	iParticleAttractionAffectorObj->setAffectX(affect);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAffectY(int affect)
+{
+
+	iParticleAttractionAffectorObj->setAffectY(affect);
+
+}
+
+extern "C" int IParticleAttractionAffectorSetAffectZ(int affect)
+{
+
+	iParticleAttractionAffectorObj->setAffectZ(affect);
+
+}
+
+extern "C" int IParticleAttractionAffectorGetPoint()
+{
+
+	iParticleAttractionAffectorObj = getPoint();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAttract()
+{
+
+	iParticleAttractionAffectorObj = getAttract();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAffectX()
+{
+
+	iParticleAttractionAffectorObj = getAffectX();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAffectY()
+{
+
+	iParticleAttractionAffectorObj = getAffectY();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetAffectZ()
+{
+
+	iParticleAttractionAffectorObj = getAffectZ();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int IParticleAttractionAffectorGetType()
+{
+
+	iParticleAttractionAffectorObj = getType();
+	return (int) iParticleAttractionAffectorObj;
+
+}
+
+extern "C" int ILightSceneNodeILightSceneNode(int parent, int mgr, int id, int position, int parent)
+{
+
+	iLightSceneNodeObj->ILightSceneNode(parent, mgr, id, position, parent);
+
+}
+
+extern "C" int ILightSceneNodeSetLightData(int light)
+{
+
+	iLightSceneNodeObj->setLightData(light);
+
+}
+
+extern "C" int ILightSceneNodeGetLightData()
+{
+
+	iLightSceneNodeObj = getLightData();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeGetLightData()
+{
+
+	iLightSceneNodeObj = getLightData();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeSetVisible(int isVisible)
+{
+
+	iLightSceneNodeObj->setVisible(isVisible);
+
+}
+
+extern "C" int ILightSceneNodeSetRadius(int radius)
+{
+
+	iLightSceneNodeObj->setRadius(radius);
+
+}
+
+extern "C" int ILightSceneNodeGetRadius()
+{
+
+	iLightSceneNodeObj = getRadius();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeSetLightType(int type)
+{
+
+	iLightSceneNodeObj->setLightType(type);
+
+}
+
+extern "C" int ILightSceneNodeGetLightType()
+{
+
+	iLightSceneNodeObj = getLightType();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int ILightSceneNodeEnableCastShadow(int shadow)
+{
+
+	iLightSceneNodeObj->enableCastShadow(shadow);
+
+}
+
+extern "C" int ILightSceneNodeGetCastShadow()
+{
+
+	iLightSceneNodeObj = getCastShadow();
+	return (int) iLightSceneNodeObj;
+
+}
+
+extern "C" int IGUIComboBoxIGUIComboBox(int environment, int parent, int id, int EGUIET_COMBO_BOX)
+{
+
+	iGUIComboBoxObj->IGUIComboBox(environment, parent, id, EGUIET_COMBO_BOX);
+
+}
+
+extern "C" int IGUIComboBoxGetItemCount()
+{
+
+	iGUIComboBoxObj = getItemCount();
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxGetItem(int idx)
+{
+
+	iGUIComboBoxObj = getItem(idx);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxGetItemData(int idx)
+{
+
+	iGUIComboBoxObj = getItemData(idx);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxGetIndexForItemData(int data)
+{
+
+	iGUIComboBoxObj = getIndexForItemData(data);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxAddItem(char * text, int data)
+{
+
+	iGUIComboBoxObj = addItem(text, data);
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxRemoveItem(int idx)
+{
+
+	iGUIComboBoxObj->removeItem(idx);
+
+}
+
+extern "C" int IGUIComboBoxClear()
+{
+
+	iGUIComboBoxObj->clear();
+
+}
+
+extern "C" int IGUIComboBoxGetSelected()
+{
+
+	iGUIComboBoxObj = getSelected();
+	return (int) iGUIComboBoxObj;
+
+}
+
+extern "C" int IGUIComboBoxSetSelected(int idx)
+{
+
+	iGUIComboBoxObj->setSelected(idx);
+
+}
+
+extern "C" int IGUIComboBoxSetTextAlignment(int horizontal, int vertical)
+{
+
+	iGUIComboBoxObj->setTextAlignment(horizontal, vertical);
+
+}
+
+extern "C" int IGUIElementIGUIElement(int type, int environment, int parent, int id, int type)
+{
+
+	iGUIElementObj->IGUIElement(type, environment, parent, id, type);
+
+}
+
+extern "C" int IGUIElementSetDebugName()
+{
+
+	iGUIElementObj->setDebugName();
+
+}
+
+extern "C" int IGUIElementAddChildToEnd()
+{
+
+	iGUIElementObj = addChildToEnd();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRecalculateAbsolutePosition()
+{
+
+	iGUIElementObj->recalculateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementIGUIElement()
+{
+
+	iGUIElementObj = IGUIElement();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetParent()
+{
+
+	iGUIElementObj = getParent();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetRelativePosition()
+{
+
+	iGUIElementObj = getRelativePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetRelativePosition(int r)
+{
+
+	iGUIElementObj->setRelativePosition(r);
+
+}
+
+extern "C" int IGUIElementGetAbsolutePosition()
+{
+
+	iGUIElementObj = getAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementD()
+{
+
+	iGUIElementObj = d();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementSetRelativePosition(int position)
+{
+
+	iGUIElementObj->setRelativePosition(position);
+
+}
+
+extern "C" int IGUIElementGetSize()
+{
+
+	iGUIElementObj = getSize();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRectangle(int X, int Y, int Width, int Height)
+{
+
+	iGUIElementObj = rectangle(X, Y, Width, Height);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetRelativePosition()
+{
+
+	iGUIElementObj->setRelativePosition();
+
+}
+
+extern "C" int IGUIElementSetRelativePositionProportional(int r)
+{
+
+	iGUIElementObj->setRelativePositionProportional(r);
+
+}
+
+extern "C" int IGUIElementGetAbsolutePosition()
+{
+
+	iGUIElementObj = getAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementGetAbsolutePosition()
+{
+
+	iGUIElementObj = getAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAbsoluteClippingRect()
+{
+
+	iGUIElementObj = getAbsoluteClippingRect();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetNotClipped(int noClip)
+{
+
+	iGUIElementObj->setNotClipped(noClip);
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementIsNotClipped()
+{
+
+	iGUIElementObj = isNotClipped();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetMaxSize(int size)
+{
+
+	iGUIElementObj->setMaxSize(size);
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementSetMinSize(int size)
+{
+
+	iGUIElementObj->setMinSize(size);
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementSetAlignment(int left, int right, int top, int bottom)
+{
+
+	iGUIElementObj->setAlignment(left, right, top, bottom);
+
+}
+
+extern "C" int IGUIElementR()
+{
+
+	iGUIElementObj = r();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementD(int Width, int Height)
+{
+
+	iGUIElementObj = d(Width, Height);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj->updateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementRecalculateAbsolutePosition()
+{
+
+	iGUIElementObj->recalculateAbsolutePosition();
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetElementFromPoint(int point)
+{
+
+	iGUIElementObj = getElementFromPoint(point);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetLast()
+{
+
+	iGUIElementObj = getLast();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int it)
+{
+
+	iGUIElementObj->while(it);
+
+}
+
+extern "C" int IGUIElementIsPointInside(int point)
+{
+
+	iGUIElementObj = isPointInside(point);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddChild(int child)
+{
+
+	iGUIElementObj->addChild(child);
+
+}
+
+extern "C" int IGUIElementAddChildToEnd()
+{
+
+	iGUIElementObj->addChildToEnd();
+
+}
+
+extern "C" int IGUIElementUpdateAbsolutePosition()
+{
+
+	iGUIElementObj = updateAbsolutePosition();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRemoveChild(int child)
+{
+
+	iGUIElementObj->removeChild(child);
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementErase()
+{
+
+	iGUIElementObj = erase();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementRemove()
+{
+
+	iGUIElementObj->remove();
+
+}
+
+extern "C" int IGUIElementDraw()
+{
+
+	iGUIElementObj->draw();
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementOnPostRender(int timeMs)
+{
+
+	iGUIElementObj->OnPostRender(timeMs);
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementMove(int absoluteMovement)
+{
+
+	iGUIElementObj->move(absoluteMovement);
+
+}
+
+extern "C" int IGUIElementSetRelativePosition(int absoluteMovement)
+{
+
+	iGUIElementObj->setRelativePosition(absoluteMovement);
+
+}
+
+extern "C" int IGUIElementIsVisible()
+{
+
+	iGUIElementObj = isVisible();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetVisible(int visible)
+{
+
+	iGUIElementObj->setVisible(visible);
+
+}
+
+extern "C" int IGUIElementIsSubElement()
+{
+
+	iGUIElementObj = isSubElement();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetSubElement(int subElement)
+{
+
+	iGUIElementObj->setSubElement(subElement);
+
+}
+
+extern "C" int IGUIElementSetTabStop(int enable)
+{
+
+	iGUIElementObj->setTabStop(enable);
+
+}
+
+extern "C" int IGUIElementIsTabStop()
+{
+
+	iGUIElementObj = isTabStop();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetTabOrder(int index)
+{
+
+	iGUIElementObj->setTabOrder(index);
+
+}
+
+extern "C" int IGUIElementGetTabGroup()
+{
+
+	iGUIElementObj = getTabGroup();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile()
+{
+
+	iGUIElementObj->while();
+
+}
+
+extern "C" int IGUIElementGetNextElement()
+{
+
+	iGUIElementObj = getNextElement();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetTabGroup(int isGroup)
+{
+
+	iGUIElementObj->setTabGroup(isGroup);
+
+}
+
+extern "C" int IGUIElementIsTabGroup()
+{
+
+	iGUIElementObj = isTabGroup();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabGroup()
+{
+
+	iGUIElementObj = getTabGroup();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int ret)
+{
+
+	iGUIElementObj->while(ret);
+
+}
+
+extern "C" int IGUIElementIsEnabled()
+{
+
+	iGUIElementObj = isEnabled();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetEnabled(int enabled)
+{
+
+	iGUIElementObj->setEnabled(enabled);
+
+}
+
+extern "C" int IGUIElementSetText(char * text)
+{
+
+	iGUIElementObj->setText(text);
+
+}
+
+extern "C" int IGUIElementGetText()
+{
+
+	iGUIElementObj = getText();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetToolTipText(char * text)
+{
+
+	iGUIElementObj->setToolTipText(text);
+
+}
+
+extern "C" int IGUIElementGetToolTipText()
+{
+
+	iGUIElementObj = getToolTipText();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetID()
+{
+
+	iGUIElementObj = getID();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetID(int id)
+{
+
+	iGUIElementObj->setID(id);
+
+}
+
+extern "C" int IGUIElementOnEvent(int event)
+{
+
+	iGUIElementObj = OnEvent(event);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBringToFront(int element)
+{
+
+	iGUIElementObj = bringToFront(element);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementErase()
+{
+
+	iGUIElementObj = erase();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementPush_back()
+{
+
+	iGUIElementObj = push_back();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetChildren()
+{
+
+	iGUIElementObj = getChildren();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetElementFromId(int id, int searchchildren)
+{
+
+	iGUIElementObj = getElementFromId(id, searchchildren);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementEnd()
+{
+
+	iGUIElementObj = end();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementIsMyChild(int child)
+{
+
+	iGUIElementObj = isMyChild(child);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int child)
+{
+
+	iGUIElementObj->while(child);
+
+}
+
+extern "C" int IGUIElementGetNextElement(int startOrder, int reverse, int group, int first, int closest, int includeInvisible)
+{
+
+	iGUIElementObj = getNextElement(startOrder, reverse, group, first, closest, includeInvisible);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementBegin()
+{
+
+	iGUIElementObj = begin();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementWhile(int it)
+{
+
+	iGUIElementObj->while(it);
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTabOrder()
+{
+
+	iGUIElementObj = getTabOrder();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetType()
+{
+
+	iGUIElementObj = getType();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementHasType(int type)
+{
+
+	iGUIElementObj = hasType(type);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetTypeName()
+{
+
+	iGUIElementObj = getTypeName();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSerializeAttributes(int out, int options)
+{
+
+	iGUIElementObj->serializeAttributes(out, options);
+
+}
+
+extern "C" int IGUIElementAddInt()
+{
+
+	iGUIElementObj = addInt();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddString()
+{
+
+	iGUIElementObj = addString();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddRect()
+{
+
+	iGUIElementObj = addRect();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddPosition2d(int Width)
+{
+
+	iGUIElementObj = addPosition2d(Width);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddPosition2d(int Width)
+{
+
+	iGUIElementObj = addPosition2d(Width);
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddEnum()
+{
+
+	iGUIElementObj = addEnum();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddInt()
+{
+
+	iGUIElementObj = addInt();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementAddBool()
+{
+
+	iGUIElementObj = addBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementDeserializeAttributes(int in, int options)
+{
+
+	iGUIElementObj->deserializeAttributes(in, options);
+
+}
+
+extern "C" int IGUIElementSetID()
+{
+
+	iGUIElementObj->setID();
+
+}
+
+extern "C" int IGUIElementSetText()
+{
+
+	iGUIElementObj->setText();
+
+}
+
+extern "C" int IGUIElementSetVisible()
+{
+
+	iGUIElementObj->setVisible();
+
+}
+
+extern "C" int IGUIElementSetEnabled()
+{
+
+	iGUIElementObj->setEnabled();
+
+}
+
+extern "C" int IGUIElementGetAttributeAsBool()
+{
+
+	iGUIElementObj = getAttributeAsBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAttributeAsBool()
+{
+
+	iGUIElementObj = getAttributeAsBool();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAttributeAsInt()
+{
+
+	iGUIElementObj = getAttributeAsInt();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementGetAttributeAsPosition2d()
+{
+
+	iGUIElementObj = getAttributeAsPosition2d();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetMaxSize(int X)
+{
+
+	iGUIElementObj->setMaxSize(X);
+
+}
+
+extern "C" int IGUIElementGetAttributeAsPosition2d()
+{
+
+	iGUIElementObj = getAttributeAsPosition2d();
+	return (int) iGUIElementObj;
+
+}
+
+extern "C" int IGUIElementSetMinSize(int X)
+{
+
+	iGUIElementObj->setMinSize(X);
+
+}
+
+extern "C" int IGUIElementSetAlignment(int LeftAlign, int RightAlign, int TopAlign, int BottomAlign)
+{
+
+	iGUIElementObj->setAlignment(LeftAlign, RightAlign, TopAlign, BottomAlign);
+
+}
+
+extern "C" int IGUIElementSetRelativePosition()
+{
+
+	iGUIElementObj->setRelativePosition();
+
+}
+
+extern "C" int IGUIElementSetNotClipped()
+{
+
+	iGUIElementObj->setNotClipped();
+
+}
+
+extern "C" int IAttributesGetAttributeCount()
+{
+
+	iAttributesObj = getAttributeCount();
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeName(int index)
+{
+
+	iAttributesObj = getAttributeName(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeType(char * attributeName)
+{
+
+	iAttributesObj = getAttributeType(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeType(int index)
+{
+
+	iAttributesObj = getAttributeType(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeTypeString(char * attributeName)
+{
+
+	iAttributesObj = getAttributeTypeString(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeTypeString(int index)
+{
+
+	iAttributesObj = getAttributeTypeString(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesExistsAttribute(char * attributeName)
+{
+
+	iAttributesObj = existsAttribute(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesFindAttribute(char * attributeName)
+{
+
+	iAttributesObj = findAttribute(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesClear()
+{
+
+	iAttributesObj->clear();
+
+}
+
+extern "C" int IAttributesRead(int reader, int readCurrentElementOnly, char * elementName)
+{
+
+	iAttributesObj = read(reader, readCurrentElementOnly, elementName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesWrite(int writer, int writeXMLHeader, char * elementName)
+{
+
+	iAttributesObj = write(writer, writeXMLHeader, elementName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesAddInt(char * attributeName, int value)
+{
+
+	iAttributesObj->addInt(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsInt(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsInt(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsInt(int index)
+{
+
+	iAttributesObj = getAttributeAsInt(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddFloat(char * attributeName, int value)
+{
+
+	iAttributesObj->addFloat(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsFloat(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsFloat(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsFloat(int index)
+{
+
+	iAttributesObj = getAttributeAsFloat(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddString(char * attributeName, char * value)
+{
+
+	iAttributesObj->addString(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, char * value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsString(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsString(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsString(char * attributeName, char * target)
+{
+
+	iAttributesObj->getAttributeAsString(attributeName, target);
+
+}
+
+extern "C" int IAttributesGetAttributeAsString(int index)
+{
+
+	iAttributesObj = getAttributeAsString(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, char * value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddString(char * attributeName, char * value)
+{
+
+	iAttributesObj->addString(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, char * value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsStringW(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsStringW(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsStringW(char * attributeName, char * target)
+{
+
+	iAttributesObj->getAttributeAsStringW(attributeName, target);
+
+}
+
+extern "C" int IAttributesGetAttributeAsStringW(int index)
+{
+
+	iAttributesObj = getAttributeAsStringW(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, char * value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddBinary(char * attributeName, int data, int dataSizeInBytes)
+{
+
+	iAttributesObj->addBinary(attributeName, data, dataSizeInBytes);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int data, int dataSizeInBytes)
+{
+
+	iAttributesObj->setAttribute(attributeName, data, dataSizeInBytes);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBinaryData(char * attributeName, int outData, int maxSizeInBytes)
+{
+
+	iAttributesObj->getAttributeAsBinaryData(attributeName, outData, maxSizeInBytes);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBinaryData(int index, int outData, int maxSizeInBytes)
+{
+
+	iAttributesObj->getAttributeAsBinaryData(index, outData, maxSizeInBytes);
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int data, int dataSizeInBytes)
+{
+
+	iAttributesObj->setAttribute(index, data, dataSizeInBytes);
+
+}
+
+extern "C" int IAttributesAddArray(char * attributeName, int value)
+{
+
+	iAttributesObj->addArray(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsArray(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsArray(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsArray(int index)
+{
+
+	iAttributesObj = getAttributeAsArray(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddBool(char * attributeName, int value)
+{
+
+	iAttributesObj->addBool(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int value)
+{
+
+	iAttributesObj->setAttribute(attributeName, value);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBool(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsBool(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsBool(int index)
+{
+
+	iAttributesObj = getAttributeAsBool(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int value)
+{
+
+	iAttributesObj->setAttribute(index, value);
+
+}
+
+extern "C" int IAttributesAddEnum(char * attributeName, char * enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->addEnum(attributeName, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesAddEnum(char * attributeName, int enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->addEnum(attributeName, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, char * enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->setAttribute(attributeName, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(char * attributeName, char * enumerationLiteralsToUse)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(attributeName, enumerationLiteralsToUse);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(int index, char * enumerationLiteralsToUse)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(index, enumerationLiteralsToUse);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsEnumeration(int index)
+{
+
+	iAttributesObj = getAttributeAsEnumeration(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(char * attributeName, int outLiterals)
+{
+
+	iAttributesObj->getAttributeEnumerationLiteralsOfEnumeration(attributeName, outLiterals);
+
+}
+
+extern "C" int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(int index, int outLiterals)
+{
+
+	iAttributesObj->getAttributeEnumerationLiteralsOfEnumeration(index, outLiterals);
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, char * enumValue, char * enumerationLiterals)
+{
+
+	iAttributesObj->setAttribute(index, enumValue, enumerationLiterals);
+
+}
+
+extern "C" int IAttributesAddColor(char * attributeName, int value)
+{
+
+	iAttributesObj->addColor(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int color)
+{
+
+	iAttributesObj->setAttribute(attributeName, color);
+
+}
+
+extern "C" int IAttributesGetAttributeAsColor(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsColor(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsColor(int index)
+{
+
+	iAttributesObj = getAttributeAsColor(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int color)
+{
+
+	iAttributesObj->setAttribute(index, color);
+
+}
+
+extern "C" int IAttributesAddColorf(char * attributeName, int value)
+{
+
+	iAttributesObj->addColorf(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int color)
+{
+
+	iAttributesObj->setAttribute(attributeName, color);
+
+}
+
+extern "C" int IAttributesGetAttributeAsColorf(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsColorf(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsColorf(int index)
+{
+
+	iAttributesObj = getAttributeAsColorf(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int color)
+{
+
+	iAttributesObj->setAttribute(index, color);
+
+}
+
+extern "C" int IAttributesAddVector3d(char * attributeName, int value)
+{
+
+	iAttributesObj->addVector3d(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsVector3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsVector3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsVector3d(int index)
+{
+
+	iAttributesObj = getAttributeAsVector3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddPosition2d(char * attributeName, int value)
+{
+
+	iAttributesObj->addPosition2d(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsPosition2d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsPosition2d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsPosition2d(int index)
+{
+
+	iAttributesObj = getAttributeAsPosition2d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddRect(char * attributeName, int value)
+{
+
+	iAttributesObj->addRect(attributeName, value);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsRect(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsRect(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsRect(int index)
+{
+
+	iAttributesObj = getAttributeAsRect(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddMatrix(char * attributeName, int v)
+{
+
+	iAttributesObj->addMatrix(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsMatrix(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsMatrix(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsMatrix(int index)
+{
+
+	iAttributesObj = getAttributeAsMatrix(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddQuaternion(char * attributeName, int v)
+{
+
+	iAttributesObj->addQuaternion(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsQuaternion(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsQuaternion(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsQuaternion(int index)
+{
+
+	iAttributesObj = getAttributeAsQuaternion(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddBox3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addBox3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsBox3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsBox3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsBox3d(int index)
+{
+
+	iAttributesObj = getAttributeAsBox3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddPlane3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addPlane3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsPlane3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsPlane3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsPlane3d(int index)
+{
+
+	iAttributesObj = getAttributeAsPlane3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddTriangle3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addTriangle3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsTriangle3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsTriangle3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsTriangle3d(int index)
+{
+
+	iAttributesObj = getAttributeAsTriangle3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddLine2d(char * attributeName, int v)
+{
+
+	iAttributesObj->addLine2d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine2d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsLine2d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine2d(int index)
+{
+
+	iAttributesObj = getAttributeAsLine2d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddLine3d(char * attributeName, int v)
+{
+
+	iAttributesObj->addLine3d(attributeName, v);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int v)
+{
+
+	iAttributesObj->setAttribute(attributeName, v);
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine3d(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsLine3d(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsLine3d(int index)
+{
+
+	iAttributesObj = getAttributeAsLine3d(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int v)
+{
+
+	iAttributesObj->setAttribute(index, v);
+
+}
+
+extern "C" int IAttributesAddTexture(char * attributeName, int texture)
+{
+
+	iAttributesObj->addTexture(attributeName, texture);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int texture)
+{
+
+	iAttributesObj->setAttribute(attributeName, texture);
+
+}
+
+extern "C" int IAttributesGetAttributeAsTexture(char * attributeName)
+{
+
+	iAttributesObj = getAttributeAsTexture(attributeName);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesGetAttributeAsTexture(int index)
+{
+
+	iAttributesObj = getAttributeAsTexture(index);
+	return (int) iAttributesObj;
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int texture)
+{
+
+	iAttributesObj->setAttribute(index, texture);
+
+}
+
+extern "C" int IAttributesAddUserPointer(char * attributeName, int userPointer)
+{
+
+	iAttributesObj->addUserPointer(attributeName, userPointer);
+
+}
+
+extern "C" int IAttributesSetAttribute(char * attributeName, int userPointer)
+{
+
+	iAttributesObj->setAttribute(attributeName, userPointer);
+
+}
+
+extern "C" int IAttributesGetAttributeAsUserPointer(char * attributeName)
+{
+
+	iAttributesObj->getAttributeAsUserPointer(attributeName);
+
+}
+
+extern "C" int IAttributesGetAttributeAsUserPointer(int index)
+{
+
+	iAttributesObj->getAttributeAsUserPointer(index);
+
+}
+
+extern "C" int IAttributesSetAttribute(int index, int userPointer)
+{
+
+	iAttributesObj->setAttribute(index, userPointer);
+
+}
+
+extern "C" int IXMLWriterIXMLWriter()
+{
+
+	iXMLWriterObj = IXMLWriter();
+	return (int) iXMLWriterObj;
+
+}
+
+extern "C" int IXMLWriterWriteXMLHeader()
+{
+
+	iXMLWriterObj->writeXMLHeader();
+
+}
+
+extern "C" int IXMLWriterWriteElement(char * name, int empty, char * attr1Name, char * attr1Value, char * attr2Name, char * attr2Value, char * attr3Name, char * attr3Value, char * attr4Name, char * attr4Value, char * attr5Name, char * attr5Value)
+{
+
+	iXMLWriterObj->writeElement(name, empty, attr1Name, attr1Value, attr2Name, attr2Value, attr3Name, attr3Value, attr4Name, attr4Value, attr5Name, attr5Value);
+
+}
+
+extern "C" int IXMLWriterWriteElement(char * name, int empty, int names, int values)
+{
+
+	iXMLWriterObj->writeElement(name, empty, names, values);
+
+}
+
+extern "C" int IXMLWriterWriteComment(char * comment)
+{
+
+	iXMLWriterObj->writeComment(comment);
+
+}
+
+extern "C" int IXMLWriterWriteClosingTag(char * name)
+{
+
+	iXMLWriterObj->writeClosingTag(name);
+
+}
+
+extern "C" int IXMLWriterWriteText(char * text)
+{
+
+	iXMLWriterObj->writeText(text);
+
+}
+
+extern "C" int IXMLWriterWriteLineBreak()
+{
+
+	iXMLWriterObj->writeLineBreak();
+
+}
+
diff --git a/c_interface.h b/c_interface.h
new file mode 100644
--- /dev/null
+++ b/c_interface.h
@@ -0,0 +1,4023 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int IGUIButtonIGUIButton(int environment, int parent, int id, int EGUIET_BUTTON);
+
+int IGUIButtonSetOverrideFont(int font);
+
+int IGUIButtonSetImage(int image);
+
+int IGUIButtonSetImage(int image, int pos);
+
+int IGUIButtonSetPressedImage(int image);
+
+int IGUIButtonSetPressedImage(int image, int pos);
+
+int IGUIButtonSetSpriteBank(int bank);
+
+int IGUIButtonSetSprite(int state, int index, int color, int loop);
+
+int IGUIButtonSetIsPushButton(int isPushButton);
+
+int IGUIButtonSetPressed(int pressed);
+
+int IGUIButtonIsPressed();
+
+int IGUIButtonSetUseAlphaChannel(int useAlphaChannel);
+
+int IGUIButtonIsAlphaChannelUsed();
+
+int IGUIButtonIsPushButton();
+
+int IGUIButtonSetDrawBorder(int border);
+
+int IGUIButtonIsDrawingBorder();
+
+int IGUIButtonSetScaleImage(int scaleImage);
+
+int IGUIButtonIsScalingImage();
+
+int ISceneUserDataSerializerISceneUserDataSerializer();
+
+int ISceneUserDataSerializerOnCreateNode(int node);
+
+int ISceneUserDataSerializerOnReadUserData(int forSceneNode, int userData);
+
+int ISceneUserDataSerializerCreateUserData(int forSceneNode);
+
+int IEventReceiverIEventReceiver();
+
+int IEventReceiverOnEvent(int event);
+
+int IFileArchiveCreateAndOpenFile(int filename);
+
+int IFileArchiveCreateAndOpenFile(int index);
+
+int IFileArchiveGetFileList();
+
+int IFileArchiveGetType();
+
+int IArchiveLoaderIsALoadableFileFormat(int filename);
+
+int IArchiveLoaderIsALoadableFileFormat(int file);
+
+int IArchiveLoaderIsALoadableFileFormat(int fileType);
+
+int IArchiveLoaderCreateArchive(int filename, int ignoreCase, int ignorePaths);
+
+int IArchiveLoaderCreateArchive(int file, int ignoreCase, int ignorePaths);
+
+int ITimerITimer();
+
+int ITimerGetRealTime();
+
+int ITimerGetTime();
+
+int ITimerSetTime(int time);
+
+int ITimerStop();
+
+int ITimerStart();
+
+int ITimerSetSpeed(int speed);
+
+int ITimerGetSpeed();
+
+int ITimerIsStopped();
+
+int ITimerTick();
+
+int IMeshLoaderIMeshLoader();
+
+int IMeshLoaderIsALoadableFileExtension(int filename);
+
+int IMeshLoaderCreateMesh(int file);
+
+int IGUIMeshViewerIGUIMeshViewer(int environment, int parent, int id, int EGUIET_MESH_VIEWER);
+
+int IGUIMeshViewerSetMesh(int mesh);
+
+int IGUIMeshViewerGetMesh();
+
+int IGUIMeshViewerSetMaterial(int material);
+
+int IGUIMeshViewerGetMaterial();
+
+int ISceneManagerISceneManager();
+
+int ISceneManagerGetMesh(int filename);
+
+int ISceneManagerGetMesh(int file);
+
+int ISceneManagerGetMeshCache();
+
+int ISceneManagerGetVideoDriver();
+
+int ISceneManagerGetGUIEnvironment();
+
+int ISceneManagerGetFileSystem();
+
+int ISceneManagerAddVolumeLightSceneNode(int parent, int id, int subdivU, int subdivV, int foot, int tail, int position, int rotation, int scale);
+
+int ISceneManagerAddCubeSceneNode(int size, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddSphereSceneNode(int radius, int polyCount, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddAnimatedMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddMeshSceneNode(int mesh, int parent, int id, int position, int rotation, int scale, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddWaterSurfaceSceneNode(int mesh, int waveHeight, int waveSpeed, int waveLength, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddOctreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddOctTreeSceneNode(int mesh, int parent, int id, int minimalPolysPerNode, int alsoAddIfMeshPointerZero);
+
+int ISceneManagerAddCameraSceneNode(int parent, int position, int lookat, int id, int makeActive);
+
+int ISceneManagerAddCameraSceneNodeMaya(int parent, int rotateSpeed, int zoomSpeed, int translationSpeed, int id, int makeActive);
+
+int ISceneManagerAddCameraSceneNodeFPS(int parent, int rotateSpeed, int moveSpeed, int id, int keyMapArray, int keyMapSize, int noVerticalMovement, int jumpSpeed, int invertMouse, int makeActive);
+
+int ISceneManagerAddLightSceneNode(int parent, int position, int color, int radius, int id);
+
+int ISceneManagerAddBillboardSceneNode(int parent, int size, int position, int id, int colorTop, int colorBottom);
+
+int ISceneManagerAddSkyBoxSceneNode(int top, int bottom, int left, int right, int front, int back, int parent, int id);
+
+int ISceneManagerAddSkyDomeSceneNode(int texture, int horiRes, int vertRes, int texturePercentage, int spherePercentage, int radius, int parent, int id);
+
+int ISceneManagerAddParticleSystemSceneNode(int withDefaultEmitter, int parent, int id, int position, int rotation, int scale);
+
+int ISceneManagerAddTerrainSceneNode(int heightMapFileName, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty);
+
+int ISceneManagerAddTerrainSceneNode(int heightMapFile, int parent, int id, int position, int rotation, int scale, int vertexColor, int maxLOD, int patchSize, int smoothFactor, int addAlsoIfHeightmapEmpty);
+
+int ISceneManagerAddQuake3SceneNode(int meshBuffer, int shader, int parent, int id);
+
+int ISceneManagerAddEmptySceneNode(int parent, int id);
+
+int ISceneManagerAddDummyTransformationSceneNode(int parent, int id);
+
+int ISceneManagerAddTextSceneNode(int font, char * text, int color, int parent, int position, int id);
+
+int ISceneManagerAddBillboardTextSceneNode(int font, char * text, int parent, int size, int position, int id, int colorTop, int colorBottom);
+
+int ISceneManagerAddHillPlaneMesh(int name, int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount);
+
+int ISceneManagerAddTerrainMesh(int meshname, int texture, int heightmap, int stretchSize, int maxHeight, int defaultVertexBlockSize);
+
+int ISceneManagerAddArrowMesh(int name, int vtxColor0, int vtxColor1, int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int width0, int width1);
+
+int ISceneManagerAddSphereMesh(int name, int radius, int polyCountX, int polyCountY);
+
+int ISceneManagerAddVolumeLightMesh(int name, int SubdivideU, int SubdivideV, int FootColor, int TailColor);
+
+int ISceneManagerGetRootSceneNode();
+
+int ISceneManagerGetSceneNodeFromId(int id, int start);
+
+int ISceneManagerGetSceneNodeFromName(char * name, int start);
+
+int ISceneManagerGetSceneNodeFromType(int type, int start);
+
+int ISceneManagerGetSceneNodesFromType(int type, int outNodes, int start);
+
+int ISceneManagerGetActiveCamera();
+
+int ISceneManagerSetActiveCamera(int camera);
+
+int ISceneManagerSetShadowColor(int color);
+
+int ISceneManagerGetShadowColor();
+
+int ISceneManagerRegisterNodeForRendering(int node, int pass);
+
+int ISceneManagerDrawAll();
+
+int ISceneManagerCreateRotationAnimator(int rotationSpeed);
+
+int ISceneManagerCreateFlyCircleAnimator(int center, int radius, int speed, int direction, int startPosition, int radiusEllipsoid);
+
+int ISceneManagerCreateFlyStraightAnimator(int startPoint, int endPoint, int timeForWay, int loop, int pingpong);
+
+int ISceneManagerCreateTextureAnimator(int textures, int timePerFrame, int loop);
+
+int ISceneManagerCreateDeleteAnimator(int timeMs);
+
+int ISceneManagerCreateCollisionResponseAnimator(int world, int sceneNode, int ellipsoidRadius, int gravityPerSecond, int ellipsoidTranslation, int slidingValue);
+
+int ISceneManagerCreateFollowSplineAnimator(int startTime, int points, int speed, int tightness, int loop, int pingpong);
+
+int ISceneManagerCreateTriangleSelector(int mesh, int node);
+
+int ISceneManagerCreateTriangleSelector(int node);
+
+int ISceneManagerCreateTriangleSelectorFromBoundingBox(int node);
+
+int ISceneManagerCreateOctreeTriangleSelector(int mesh, int node, int minimalPolysPerNode);
+
+int ISceneManagerCreateOctTreeTriangleSelector(int mesh, int node, int minimalPolysPerNode);
+
+int ISceneManagerCreateMetaTriangleSelector();
+
+int ISceneManagerCreateTerrainTriangleSelector(int node, int LOD);
+
+int ISceneManagerAddExternalMeshLoader(int externalLoader);
+
+int ISceneManagerGetSceneCollisionManager();
+
+int ISceneManagerGetMeshManipulator();
+
+int ISceneManagerAddToDeletionQueue(int node);
+
+int ISceneManagerPostEventFromUser(int event);
+
+int ISceneManagerClear();
+
+int ISceneManagerGetParameters();
+
+int ISceneManagerGetSceneNodeRenderPass();
+
+int ISceneManagerGetDefaultSceneNodeFactory();
+
+int ISceneManagerRegisterSceneNodeFactory(int factoryToAdd);
+
+int ISceneManagerGetRegisteredSceneNodeFactoryCount();
+
+int ISceneManagerGetSceneNodeFactory(int index);
+
+int ISceneManagerGetDefaultSceneNodeAnimatorFactory();
+
+int ISceneManagerRegisterSceneNodeAnimatorFactory(int factoryToAdd);
+
+int ISceneManagerGetRegisteredSceneNodeAnimatorFactoryCount();
+
+int ISceneManagerGetSceneNodeAnimatorFactory(int index);
+
+int ISceneManagerGetSceneNodeTypeName(int type);
+
+int ISceneManagerGetAnimatorTypeName(int type);
+
+int ISceneManagerAddSceneNode(int sceneNodeTypeName, int parent);
+
+int ISceneManagerCreateNewSceneManager(int cloneContent);
+
+int ISceneManagerSaveScene(int filename, int userDataSerializer);
+
+int ISceneManagerSaveScene(int file, int userDataSerializer);
+
+int ISceneManagerLoadScene(int filename, int userDataSerializer);
+
+int ISceneManagerLoadScene(int file, int userDataSerializer);
+
+int ISceneManagerCreateMeshWriter(int type);
+
+int ISceneManagerCreateSkinnedMesh();
+
+int ISceneManagerSetAmbientLight(int ambientColor);
+
+int ISceneManagerGetAmbientLight();
+
+int ISceneManagerSetLightManager(int lightManager);
+
+int ISceneManagerGetGeometryCreator();
+
+int ISceneManagerIsCulled(int node);
+
+int IVideoDriverBeginScene(int backBuffer, int zBuffer, int color, int videoData, int sourceRect);
+
+int IVideoDriverEndScene();
+
+int IVideoDriverQueryFeature(int feature);
+
+int IVideoDriverDisableFeature(int feature, int flag);
+
+int IVideoDriverCheckDriverReset();
+
+int IVideoDriverSetTransform(int state, int mat);
+
+int IVideoDriverGetTransform(int state);
+
+int IVideoDriverGetImageLoaderCount();
+
+int IVideoDriverGetImageLoader(int n);
+
+int IVideoDriverGetImageWriterCount();
+
+int IVideoDriverGetImageWriter(int n);
+
+int IVideoDriverSetMaterial(int material);
+
+int IVideoDriverGetTexture(int filename);
+
+int IVideoDriverGetTexture(int file);
+
+int IVideoDriverGetTextureByIndex(int index);
+
+int IVideoDriverGetTextureCount();
+
+int IVideoDriverRenameTexture(int texture, int newName);
+
+int IVideoDriverAddTexture(int size, int name, int format);
+
+int IVideoDriverAddTexture(int name, int image, int mipmapData);
+
+int IVideoDriverAddRenderTargetTexture(int size, int name, int format);
+
+int IVideoDriverRemoveTexture(int texture);
+
+int IVideoDriverRemoveAllTextures();
+
+int IVideoDriverRemoveHardwareBuffer(int mb);
+
+int IVideoDriverRemoveAllHardwareBuffers();
+
+int IVideoDriverCreateOcclusionQuery(int node, int mesh);
+
+int IVideoDriverRemoveOcclusionQuery(int node);
+
+int IVideoDriverRemoveAllOcclusionQueries();
+
+int IVideoDriverRunOcclusionQuery(int node, int visible);
+
+int IVideoDriverRunAllOcclusionQueries(int visible);
+
+int IVideoDriverUpdateOcclusionQuery(int node, int block);
+
+int IVideoDriverUpdateAllOcclusionQueries(int block);
+
+int IVideoDriverGetOcclusionQueryResult(int node);
+
+int IVideoDriverMakeColorKeyTexture(int texture, int color, int zeroTexels);
+
+int IVideoDriverMakeColorKeyTexture(int texture, int colorKeyPixelPos, int zeroTexels);
+
+int IVideoDriverMakeNormalMapTexture(int texture, int amplitude);
+
+int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color);
+
+int IVideoDriverSetRenderTarget(int target, int clearTarget, int clearZBuffer, int color);
+
+int IVideoDriverSetRenderTarget(int texture, int clearBackBuffer, int clearZBuffer, int color);
+
+int IVideoDriverSetViewPort(int area);
+
+int IVideoDriverGetViewPort();
+
+int IVideoDriverDrawVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType);
+
+int IVideoDriverDraw2DVertexPrimitiveList(int vertices, int vertexCount, int indexList, int primCount, int vType, int pType, int iType);
+
+int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES);
+
+int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES);
+
+int IVideoDriverDrawIndexedTriangleList(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLES);
+
+int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN);
+
+int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN);
+
+int IVideoDriverDrawIndexedTriangleFan(int vertices, int vertexCount, int indexList, int triangleCount);
+
+int IVideoDriverDrawVertexPrimitiveList(int EPT_TRIANGLE_FAN);
+
+int IVideoDriverDraw3DLine(int start, int end, int color);
+
+int IVideoDriverDraw3DTriangle(int triangle, int color);
+
+int IVideoDriverDraw3DBox(int box, int color);
+
+int IVideoDriverDraw2DImage(int texture, int destPos);
+
+int IVideoDriverDraw2DImage(int texture, int destPos, int sourceRect, int clipRect, int color, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DImageBatch(int texture, int pos, int sourceRects, int indices, int kerningWidth, int clipRect, int color, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DImageBatch(int texture, int positions, int sourceRects, int clipRect, int color, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DImage(int texture, int destRect, int sourceRect, int clipRect, int colors, int useAlphaChannelOfTexture);
+
+int IVideoDriverDraw2DRectangle(int color, int pos, int clip);
+
+int IVideoDriverDraw2DRectangle(int pos, int colorLeftUp, int colorRightUp, int colorLeftDown, int colorRightDown, int clip);
+
+int IVideoDriverDraw2DRectangleOutline(int pos, int color);
+
+int IVideoDriverDraw2DLine(int start, int end, int color);
+
+int IVideoDriverDrawPixel(int x, int y, int color);
+
+int IVideoDriverDraw2DPolygon(int center, int radius, int color, int vertexCount);
+
+int IVideoDriverDrawStencilShadowVolume(int triangles, int count, int zfail);
+
+int IVideoDriverDrawStencilShadow(int clearStencilBuffer, int leftUpEdge, int rightUpEdge, int leftDownEdge, int rightDownEdge);
+
+int IVideoDriverDrawMeshBuffer(int mb);
+
+int IVideoDriverSetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog);
+
+int IVideoDriverGetFog(int color, int fogType, int start, int end, int density, int pixelFog, int rangeFog);
+
+int IVideoDriverGetColorFormat();
+
+int IVideoDriverGetScreenSize();
+
+int IVideoDriverGetCurrentRenderTargetSize();
+
+int IVideoDriverGetFPS();
+
+int IVideoDriverGetPrimitiveCountDrawn(int mode);
+
+int IVideoDriverDeleteAllDynamicLights();
+
+int IVideoDriverAddDynamicLight(int light);
+
+int IVideoDriverGetMaximalDynamicLightAmount();
+
+int IVideoDriverGetDynamicLightCount();
+
+int IVideoDriverGetDynamicLight(int idx);
+
+int IVideoDriverTurnLightOn(int lightIndex, int turnOn);
+
+int IVideoDriverGetName();
+
+int IVideoDriverAddExternalImageLoader(int loader);
+
+int IVideoDriverAddExternalImageWriter(int writer);
+
+int IVideoDriverGetMaximalPrimitiveCount();
+
+int IVideoDriverSetTextureCreationFlag(int flag, int enabled);
+
+int IVideoDriverGetTextureCreationFlag(int flag);
+
+int IVideoDriverCreateImageFromFile(int filename);
+
+int IVideoDriverCreateImageFromFile(int file);
+
+int IVideoDriverWriteImageToFile(int image, int filename, int param);
+
+int IVideoDriverWriteImageToFile(int image, int file, int param);
+
+int IVideoDriverCreateImageFromData(int format, int size, int data, int ownForeignMemory, int deleteMemory);
+
+int IVideoDriverCreateImage(int format, int size);
+
+int IVideoDriverCreateImage(int format, int imageToCopy);
+
+int IVideoDriverCreateImage(int imageToCopy, int pos, int size);
+
+int IVideoDriverCreateImage(int texture, int pos, int size);
+
+int IVideoDriverOnResize(int size);
+
+int IVideoDriverAddMaterialRenderer(int renderer, char * name);
+
+int IVideoDriverGetMaterialRenderer(int idx);
+
+int IVideoDriverGetMaterialRendererCount();
+
+int IVideoDriverGetMaterialRendererName(int idx);
+
+int IVideoDriverSetMaterialRendererName(int idx, char * name);
+
+int IVideoDriverCreateAttributesFromMaterial(int material);
+
+int IVideoDriverFillMaterialStructureFromAttributes(int outMaterial, int attributes);
+
+int IVideoDriverGetExposedVideoData();
+
+int IVideoDriverGetDriverType();
+
+int IVideoDriverGetGPUProgrammingServices();
+
+int IVideoDriverGetMeshManipulator();
+
+int IVideoDriverClearZBuffer();
+
+int IVideoDriverCreateScreenShot();
+
+int IVideoDriverFindTexture(int filename);
+
+int IVideoDriverSetClipPlane(int index, int plane, int enable);
+
+int IVideoDriverEnableClipPlane(int index, int enable);
+
+int IVideoDriverSetMinHardwareBufferVertexCount(int count);
+
+int IVideoDriverGetOverrideMaterial();
+
+int IVideoDriverGetMaterial2D();
+
+int IVideoDriverEnableMaterial2D(int enable);
+
+int IVideoDriverGetVendorInfo();
+
+int IVideoDriverSetAmbientLight(int color);
+
+int IVideoDriverSetAllowZWriteOnTransparent(int flag);
+
+int IVideoDriverGetMaxTextureSize();
+
+int IVideoDriverConvertColor(int sP, int sF, int sN, int dP, int dF);
+
+int ISkinnedMeshGetJointCount();
+
+int ISkinnedMeshGetJointName(int number);
+
+int ISkinnedMeshGetJointNumber(char * name);
+
+int ISkinnedMeshUseAnimationFrom(int mesh);
+
+int ISkinnedMeshUpdateNormalsWhenAnimating(int on);
+
+int ISkinnedMeshSetInterpolationMode(int mode);
+
+int ISkinnedMeshAnimateMesh(int frame, int blend);
+
+int ISkinnedMeshSkinMesh();
+
+int ISkinnedMeshConvertMeshToTangents();
+
+int ISkinnedMeshSetHardwareSkinning(int on);
+
+int IVideoModeListGetVideoModeCount();
+
+int IVideoModeListGetVideoModeResolution(int modeNumber);
+
+int IVideoModeListGetVideoModeResolution(int minSize, int maxSize);
+
+int IVideoModeListGetVideoModeDepth(int modeNumber);
+
+int IVideoModeListGetDesktopResolution();
+
+int IVideoModeListGetDesktopDepth();
+
+int IMeshCacheIMeshCache();
+
+int IMeshCacheAddMesh(int name, int mesh);
+
+int IMeshCacheRemoveMesh(int mesh);
+
+int IMeshCacheRemoveMesh(int mesh);
+
+int IMeshCacheGetMeshCount();
+
+int IMeshCacheGetMeshIndex(int mesh);
+
+int IMeshCacheGetMeshIndex(int mesh);
+
+int IMeshCacheGetMeshByIndex(int index);
+
+int IMeshCacheGetMeshByFilename(int filename);
+
+int IMeshCacheGetMeshFilename(int index);
+
+int IMeshCacheGetMeshFilename(int mesh);
+
+int IMeshCacheGetMeshFilename(int mesh);
+
+int IMeshCacheSetMeshFilename(int index, int filename);
+
+int IMeshCacheSetMeshFilename(int mesh, int filename);
+
+int IMeshCacheSetMeshFilename(int mesh, int filename);
+
+int IMeshCacheGetMeshByName(int name);
+
+int IMeshCacheGetMeshName(int index);
+
+int IMeshCacheGetMeshName(int mesh);
+
+int IMeshCacheGetMeshName(int mesh);
+
+int IMeshCacheRenameMesh(int index, int name);
+
+int IMeshCacheRenameMesh(int mesh, int name);
+
+int IMeshCacheRenameMesh(int mesh, int name);
+
+int IMeshCacheIsMeshLoaded(int name);
+
+int IMeshCacheClear();
+
+int IMeshCacheClearUnusedMeshes();
+
+int IGPUProgrammingServicesIGPUProgrammingServices();
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, char * geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterial(char * vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, char * pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgramFileName, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgramFileName, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgramFileName, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int geometryShaderProgram, char * geometryShaderEntryPointName, int gsCompileTarget, int inType, int outType, int verticesOut, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddHighLevelShaderMaterialFromFiles(int vertexShaderProgram, char * vertexShaderEntryPointName, int vsCompileTarget, int pixelShaderProgram, char * pixelShaderEntryPointName, int psCompileTarget, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddShaderMaterial(char * vertexShaderProgram, char * pixelShaderProgram, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgram, int pixelShaderProgram, int callback, int baseMaterial, int userData);
+
+int IGPUProgrammingServicesAddShaderMaterialFromFiles(int vertexShaderProgramFileName, int pixelShaderProgramFileName, int callback, int baseMaterial, int userData);
+
+int IGUIListBoxIGUIListBox(int environment, int parent, int id, int EGUIET_LIST_BOX);
+
+int IGUIListBoxGetItemCount();
+
+int IGUIListBoxGetListItem(int id);
+
+int IGUIListBoxAddItem(char * text);
+
+int IGUIListBoxAddItem(char * text, int icon);
+
+int IGUIListBoxRemoveItem(int index);
+
+int IGUIListBoxGetIcon(int index);
+
+int IGUIListBoxSetSpriteBank(int bank);
+
+int IGUIListBoxClear();
+
+int IGUIListBoxGetSelected();
+
+int IGUIListBoxSetSelected(int index);
+
+int IGUIListBoxSetSelected(char * item);
+
+int IGUIListBoxSetAutoScrollEnabled(int scroll);
+
+int IGUIListBoxIsAutoScrollEnabled();
+
+int IGUIListBoxSetItemOverrideColor(int index, int color);
+
+int IGUIListBoxSetItemOverrideColor(int index, int colorType, int color);
+
+int IGUIListBoxClearItemOverrideColor(int index);
+
+int IGUIListBoxClearItemOverrideColor(int index, int colorType);
+
+int IGUIListBoxHasItemOverrideColor(int index, int colorType);
+
+int IGUIListBoxGetItemOverrideColor(int index, int colorType);
+
+int IGUIListBoxGetItemDefaultColor(int colorType);
+
+int IGUIListBoxSetItem(int index, char * text, int icon);
+
+int IGUIListBoxInsertItem(int index, char * text, int icon);
+
+int IGUIListBoxSwapItems(int index1, int index2);
+
+int IGUIListBoxSetItemHeight(int height);
+
+int IGUIListBoxSetDrawBackground(int draw);
+
+int IGUIEditBoxIGUIEditBox(int environment, int parent, int id, int EGUIET_EDIT_BOX);
+
+int IGUIEditBoxSetOverrideFont(int font);
+
+int IGUIEditBoxSetOverrideColor(int color);
+
+int IGUIEditBoxGetOverrideColor();
+
+int IGUIEditBoxEnableOverrideColor(int enable);
+
+int IGUIEditBoxIsOverrideColorEnabled();
+
+int IGUIEditBoxSetDrawBorder(int border);
+
+int IGUIEditBoxSetTextAlignment(int horizontal, int vertical);
+
+int IGUIEditBoxSetWordWrap(int enable);
+
+int IGUIEditBoxIsWordWrapEnabled();
+
+int IGUIEditBoxSetMultiLine(int enable);
+
+int IGUIEditBoxIsMultiLineEnabled();
+
+int IGUIEditBoxSetAutoScroll(int enable);
+
+int IGUIEditBoxIsAutoScrollEnabled();
+
+int IGUIEditBoxSetPasswordBox(int passwordBox, char * passwordChar);
+
+int IGUIEditBoxIsPasswordBox();
+
+int IGUIEditBoxGetTextDimension();
+
+int IGUIEditBoxSetMax(int max);
+
+int IGUIEditBoxGetMax();
+
+int ITriangleSelectorITriangleSelector();
+
+int ITriangleSelectorGetTriangleCount();
+
+int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int transform);
+
+int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int box, int transform);
+
+int ITriangleSelectorGetTriangles(int triangles, int arraySize, int outTriangleCount, int line, int transform);
+
+int ITriangleSelectorGetSceneNodeForTriangle(int triangleIndex);
+
+int IGUISkinGetColor(int color);
+
+int IGUISkinSetColor(int which, int newColor);
+
+int IGUISkinGetSize(int size);
+
+int IGUISkinGetDefaultText(int text);
+
+int IGUISkinSetDefaultText(int which, char * newText);
+
+int IGUISkinSetSize(int which, int size);
+
+int IGUISkinGetFont(int which);
+
+int IGUISkinSetFont(int font, int which);
+
+int IGUISkinGetSpriteBank();
+
+int IGUISkinSetSpriteBank(int bank);
+
+int IGUISkinGetIcon(int icon);
+
+int IGUISkinSetIcon(int icon, int index);
+
+int IGUISkinDraw3DButtonPaneStandard(int element, int rect, int clip);
+
+int IGUISkinDraw3DButtonPanePressed(int element, int rect, int clip);
+
+int IGUISkinDraw3DSunkenPane(int element, int bgcolor, int flat, int fillBackGround, int rect, int clip);
+
+int IGUISkinDraw3DWindowBackground(int element, int drawTitleBar, int titleBarColor, int rect, int clip, int checkClientArea);
+
+int IGUISkinDraw3DMenuPane(int element, int rect, int clip);
+
+int IGUISkinDraw3DToolBar(int element, int rect, int clip);
+
+int IGUISkinDraw3DTabButton(int element, int active, int rect, int clip, int alignment);
+
+int IGUISkinDraw3DTabBody(int element, int border, int background, int rect, int clip, int tabHeight, int alignment);
+
+int IGUISkinDrawIcon(int element, int icon, int position, int starttime, int currenttime, int loop, int clip);
+
+int IGUISkinDraw2DRectangle(int element, int color, int pos, int clip);
+
+int IGUISkinGetType();
+
+int IDummyTransformationSceneNodeIDummyTransformationSceneNode(int parent, int mgr, int parent);
+
+int IDummyTransformationSceneNodeGetRelativeTransformationMatrix();
+
+int IFileSystemCreateAndOpenFile(int filename);
+
+int IFileSystemCreateMemoryReadFile(int memory, int len, int fileName, int deleteMemoryWhenDropped);
+
+int IFileSystemCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize);
+
+int IFileSystemCreateMemoryWriteFile(int memory, int len, int fileName, int deleteMemoryWhenDropped);
+
+int IFileSystemCreateAndWriteFile(int filename, int append);
+
+int IFileSystemAddFileArchive(int filename, int ignoreCase, int ignorePaths, int archiveType, int password);
+
+int IFileSystemAddArchiveLoader(int loader);
+
+int IFileSystemGetFileArchiveCount();
+
+int IFileSystemRemoveFileArchive(int index);
+
+int IFileSystemRemoveFileArchive(int filename);
+
+int IFileSystemMoveFileArchive(int sourceIndex, int relative);
+
+int IFileSystemGetFileArchive(int index);
+
+int IFileSystemAddZipFileArchive(char * filename, int ignoreCase, int ignorePaths);
+
+int IFileSystemAddFolderFileArchive(char * filename, int ignoreCase, int ignorePaths);
+
+int IFileSystemAddPakFileArchive(char * filename, int ignoreCase, int ignorePaths);
+
+int IFileSystemGetWorkingDirectory();
+
+int IFileSystemChangeWorkingDirectoryTo(int newDirectory);
+
+int IFileSystemGetAbsolutePath(int filename);
+
+int IFileSystemGetFileDir(int filename);
+
+int IFileSystemGetFileBasename(int filename, int keepExtension);
+
+int IFileSystemFlattenFilename(int directory, int root);
+
+int IFileSystemCreateFileList();
+
+int IFileSystemCreateEmptyFileList(int path, int ignoreCase, int ignorePaths);
+
+int IFileSystemSetFileListSystem(int listType);
+
+int IFileSystemExistFile(int filename);
+
+int IFileSystemCreateXMLReader(int filename);
+
+int IFileSystemCreateXMLReader(int file);
+
+int IFileSystemCreateXMLReaderUTF8(int filename);
+
+int IFileSystemCreateXMLReaderUTF8(int file);
+
+int IFileSystemCreateXMLWriter(int filename);
+
+int IFileSystemCreateXMLWriter(int file);
+
+int IFileSystemCreateEmptyAttributes(int driver);
+
+int IDynamicMeshBufferGetVertexBuffer();
+
+int IDynamicMeshBufferGetIndexBuffer();
+
+int IDynamicMeshBufferSetVertexBuffer(int vertexBuffer);
+
+int IDynamicMeshBufferSetIndexBuffer(int indexBuffer);
+
+int IDynamicMeshBufferGetMaterial();
+
+int IDynamicMeshBufferGetMaterial();
+
+int IDynamicMeshBufferGetBoundingBox();
+
+int IDynamicMeshBufferSetBoundingBox(int box);
+
+int IDynamicMeshBufferRecalculateBoundingBox();
+
+int IDynamicMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices);
+
+int IDynamicMeshBufferAppend(int other);
+
+int IDynamicMeshBufferGetHardwareMappingHint_Vertex();
+
+int IDynamicMeshBufferGetHardwareMappingHint_Index();
+
+int IDynamicMeshBufferSetHardwareMappingHint(int NewMappingHint, int Buffer);
+
+int IDynamicMeshBufferSetDirty(int Buffer);
+
+int IDynamicMeshBufferGetChangedID_Vertex();
+
+int IDynamicMeshBufferGetChangedID_Index();
+
+int IDynamicMeshBufferGetVertexType();
+
+int IDynamicMeshBufferGetVertices();
+
+int IDynamicMeshBufferGetVertices();
+
+int IDynamicMeshBufferGetVertexCount();
+
+int IDynamicMeshBufferGetIndexType();
+
+int IDynamicMeshBufferGetIndices();
+
+int IDynamicMeshBufferGetIndices();
+
+int IDynamicMeshBufferGetIndexCount();
+
+int IDynamicMeshBufferGetPosition(int i);
+
+int IDynamicMeshBufferGetPosition(int i);
+
+int IDynamicMeshBufferGetTCoords(int i);
+
+int IDynamicMeshBufferGetTCoords(int i);
+
+int IDynamicMeshBufferGetNormal(int i);
+
+int IDynamicMeshBufferGetNormal(int i);
+
+int IMeshBufferGetMaterial();
+
+int IMeshBufferGetMaterial();
+
+int IMeshBufferGetVertexType();
+
+int IMeshBufferGetVertices();
+
+int IMeshBufferGetVertices();
+
+int IMeshBufferGetVertexCount();
+
+int IMeshBufferGetIndexType();
+
+int IMeshBufferGetIndices();
+
+int IMeshBufferGetIndices();
+
+int IMeshBufferGetIndexCount();
+
+int IMeshBufferGetBoundingBox();
+
+int IMeshBufferSetBoundingBox(int box);
+
+int IMeshBufferRecalculateBoundingBox();
+
+int IMeshBufferGetPosition(int i);
+
+int IMeshBufferGetPosition(int i);
+
+int IMeshBufferGetNormal(int i);
+
+int IMeshBufferGetNormal(int i);
+
+int IMeshBufferGetTCoords(int i);
+
+int IMeshBufferGetTCoords(int i);
+
+int IMeshBufferAppend(int vertices, int numVertices, int indices, int numIndices);
+
+int IMeshBufferAppend(int other);
+
+int IMeshBufferGetHardwareMappingHint_Vertex();
+
+int IMeshBufferGetHardwareMappingHint_Index();
+
+int IMeshBufferSetHardwareMappingHint(int newMappingHint, int buffer);
+
+int IMeshBufferSetDirty(int buffer);
+
+int IMeshBufferGetChangedID_Vertex();
+
+int IMeshBufferGetChangedID_Index();
+
+int SMaterialSMaterial();
+
+int SMaterialSMaterial(int other);
+
+int SMaterialGetTextureMatrix(int i);
+
+int SMaterialGetTextureMatrix(int i);
+
+int SMaterialSetTextureMatrix(int i, int mat);
+
+int SMaterialSetTextureMatrix();
+
+int SMaterialGetTexture(int i);
+
+int SMaterialSetTexture(int i, int tex);
+
+int SMaterialSetFlag(int flag, int value);
+
+int SMaterialSwitch();
+
+int SMaterialGetFlag(int flag);
+
+int SMaterialSwitch();
+
+int SMaterialIsTransparent();
+
+int IMaterialRendererOnSetMaterial(int material, int lastMaterial, int resetAllRenderstates, int services);
+
+int IMaterialRendererOnRender(int service, int vtxtype);
+
+int IMaterialRendererOnUnsetMaterial();
+
+int IMaterialRendererIsTransparent();
+
+int IMaterialRendererGetRenderCapability();
+
+int ISceneNodeAnimatorFactoryISceneNodeAnimatorFactory();
+
+int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(int type, int target);
+
+int ISceneNodeAnimatorFactoryCreateSceneNodeAnimator(char * typeName, int target);
+
+int ISceneNodeAnimatorFactoryGetCreatableSceneNodeAnimatorTypeCount();
+
+int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorType(int idx);
+
+int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int idx);
+
+int ISceneNodeAnimatorFactoryGetCreateableSceneNodeAnimatorTypeName(int type);
+
+int IMeshSceneNodeIMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int IMeshSceneNodeSetMesh(int mesh);
+
+int IMeshSceneNodeGetMesh();
+
+int IMeshSceneNodeSetReadOnlyMaterials(int readonly);
+
+int IMeshSceneNodeIsReadOnlyMaterials();
+
+int ILoggerILogger();
+
+int ILoggerGetLogLevel();
+
+int ILoggerSetLogLevel(int ll);
+
+int ILoggerLog(char * text, int ll);
+
+int ILoggerLog(char * text, char * hint, int ll);
+
+int ILoggerLog(char * text, char * hint, int ll);
+
+int ILoggerLog(char * text, char * hint, int ll);
+
+int ILoggerLog(char * text, int ll);
+
+int IAnimatedMeshMD3SetInterpolationShift(int shift, int loopMode);
+
+int IAnimatedMeshMD3GetTagList(int frame, int detailLevel, int startFrameLoop, int endFrameLoop);
+
+int IAnimatedMeshMD3GetOriginalMesh();
+
+int IReferenceCountedIReferenceCounted();
+
+int IReferenceCountedIReferenceCounted();
+
+int IReferenceCountedGrab();
+
+int IReferenceCountedDrop();
+
+int IReferenceCounted_IRR_DEBUG_BREAK_IF();
+
+int IReferenceCountedGetReferenceCount();
+
+int IReferenceCountedGetDebugName();
+
+int IParticleMeshEmitterSetMesh(int mesh);
+
+int IParticleMeshEmitterSetUseNormalDirection(int useNormalDirection);
+
+int IParticleMeshEmitterSetNormalDirectionModifier(int normalDirectionModifier);
+
+int IParticleMeshEmitterSetEveryMeshVertex(int everyMeshVertex);
+
+int IParticleMeshEmitterGetMesh();
+
+int IParticleMeshEmitterIsUsingNormalDirection();
+
+int IParticleMeshEmitterGetNormalDirectionModifier();
+
+int IParticleMeshEmitterGetEveryMeshVertex();
+
+int IParticleMeshEmitterGetType();
+
+int ICollisionCallbackOnCollision(int animator);
+
+int ISceneNodeAnimatorCollisionResponseISceneNodeAnimatorCollisionResponse();
+
+int ISceneNodeAnimatorCollisionResponseIsFalling();
+
+int ISceneNodeAnimatorCollisionResponseSetEllipsoidRadius(int radius);
+
+int ISceneNodeAnimatorCollisionResponseGetEllipsoidRadius();
+
+int ISceneNodeAnimatorCollisionResponseSetGravity(int gravity);
+
+int ISceneNodeAnimatorCollisionResponseGetGravity();
+
+int ISceneNodeAnimatorCollisionResponseJump(int jumpSpeed);
+
+int ISceneNodeAnimatorCollisionResponseSetAnimateTarget(int enable);
+
+int ISceneNodeAnimatorCollisionResponseGetAnimateTarget();
+
+int ISceneNodeAnimatorCollisionResponseSetEllipsoidTranslation(int translation);
+
+int ISceneNodeAnimatorCollisionResponseGetEllipsoidTranslation();
+
+int ISceneNodeAnimatorCollisionResponseSetWorld(int newWorld);
+
+int ISceneNodeAnimatorCollisionResponseGetWorld();
+
+int ISceneNodeAnimatorCollisionResponseSetTargetNode(int node);
+
+int ISceneNodeAnimatorCollisionResponseGetTargetNode();
+
+int ISceneNodeAnimatorCollisionResponseCollisionOccurred();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionPoint();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionTriangle();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionResultPosition();
+
+int ISceneNodeAnimatorCollisionResponseGetCollisionNode();
+
+int ISceneNodeAnimatorCollisionResponseSetCollisionCallback(int callback);
+
+int CDynamicMeshBufferCDynamicMeshBuffer(int vertexType, int indexType);
+
+int CDynamicMeshBufferCVertexBuffer();
+
+int CDynamicMeshBufferCIndexBuffer();
+
+int CDynamicMeshBufferCDynamicMeshBuffer();
+
+int CDynamicMeshBufferGetVertexBuffer();
+
+int CDynamicMeshBufferGetIndexBuffer();
+
+int CDynamicMeshBufferSetVertexBuffer(int newVertexBuffer);
+
+int CDynamicMeshBufferSetIndexBuffer(int newIndexBuffer);
+
+int CDynamicMeshBufferGetMaterial();
+
+int CDynamicMeshBufferGetMaterial();
+
+int CDynamicMeshBufferGetBoundingBox();
+
+int CDynamicMeshBufferSetBoundingBox(int box);
+
+int CDynamicMeshBufferRecalculateBoundingBox();
+
+int CDynamicMeshBufferReset(int Pos);
+
+int CDynamicMeshBufferGetVertexBuffer();
+
+int CDynamicMeshBufferAddInternalPoint(int Pos);
+
+int IGUIFontBitmapGetType();
+
+int IGUIFontBitmapGetSpriteBank();
+
+int IGUIFontBitmapGetSpriteNoFromChar(char * c);
+
+int IGUIFontBitmapGetKerningWidth(char * thisLetter, char * previousLetter);
+
+int IGUIInOutFaderIGUIInOutFader(int environment, int parent, int id, int EGUIET_IN_OUT_FADER);
+
+int IGUIInOutFaderGetColor();
+
+int IGUIInOutFaderSetColor(int color);
+
+int IGUIInOutFaderSetColor(int source, int dest);
+
+int IGUIInOutFaderFadeIn(int time);
+
+int IGUIInOutFaderFadeOut(int time);
+
+int IGUIInOutFaderIsReady();
+
+int IGUISpinBoxIGUISpinBox(int environment, int parent, int id, int EGUIET_SPIN_BOX);
+
+int IGUISpinBoxGetEditBox();
+
+int IGUISpinBoxSetValue(int val);
+
+int IGUISpinBoxGetValue();
+
+int IGUISpinBoxSetRange(int min, int max);
+
+int IGUISpinBoxGetMin();
+
+int IGUISpinBoxGetMax();
+
+int IGUISpinBoxSetStepSize(int step);
+
+int IGUISpinBoxSetDecimalPlaces(int places);
+
+int IGUISpinBoxGetStepSize();
+
+int ICameraSceneNodeICameraSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int ICameraSceneNodeSetProjectionMatrix(int projection, int isOrthogonal);
+
+int ICameraSceneNodeGetProjectionMatrix();
+
+int ICameraSceneNodeGetViewMatrix();
+
+int ICameraSceneNodeSetViewMatrixAffector(int affector);
+
+int ICameraSceneNodeGetViewMatrixAffector();
+
+int ICameraSceneNodeOnEvent(int event);
+
+int ICameraSceneNodeSetTarget(int pos);
+
+int ICameraSceneNodeSetRotation(int rotation);
+
+int ICameraSceneNodeGetTarget();
+
+int ICameraSceneNodeSetUpVector(int pos);
+
+int ICameraSceneNodeGetUpVector();
+
+int ICameraSceneNodeGetNearValue();
+
+int ICameraSceneNodeGetFarValue();
+
+int ICameraSceneNodeGetAspectRatio();
+
+int ICameraSceneNodeGetFOV();
+
+int ICameraSceneNodeSetNearValue(int zn);
+
+int ICameraSceneNodeSetFarValue(int zf);
+
+int ICameraSceneNodeSetAspectRatio(int aspect);
+
+int ICameraSceneNodeSetFOV(int fovy);
+
+int ICameraSceneNodeGetViewFrustum();
+
+int ICameraSceneNodeSetInputReceiverEnabled(int enabled);
+
+int ICameraSceneNodeIsInputReceiverEnabled();
+
+int ICameraSceneNodeIsOrthogonal();
+
+int ICameraSceneNodeBindTargetAndRotation(int bound);
+
+int ICameraSceneNodeGetTargetAndRotationBinding();
+
+int IParticleRingEmitterSetCenter(int center);
+
+int IParticleRingEmitterSetRadius(int radius);
+
+int IParticleRingEmitterSetRingThickness(int ringThickness);
+
+int IParticleRingEmitterGetCenter();
+
+int IParticleRingEmitterGetRadius();
+
+int IParticleRingEmitterGetRingThickness();
+
+int IParticleRingEmitterGetType();
+
+int IParticleSphereEmitterSetCenter(int center);
+
+int IParticleSphereEmitterSetRadius(int radius);
+
+int IParticleSphereEmitterGetCenter();
+
+int IParticleSphereEmitterGetRadius();
+
+int IParticleSphereEmitterGetType();
+
+int ISceneNodeAnimatorCameraMayaGetMoveSpeed();
+
+int ISceneNodeAnimatorCameraMayaSetMoveSpeed(int moveSpeed);
+
+int ISceneNodeAnimatorCameraMayaGetRotateSpeed();
+
+int ISceneNodeAnimatorCameraMayaSetRotateSpeed(int rotateSpeed);
+
+int ISceneNodeAnimatorCameraMayaGetZoomSpeed();
+
+int ISceneNodeAnimatorCameraMayaSetZoomSpeed(int zoomSpeed);
+
+int IParticleGravityAffectorSetTimeForceLost(int timeForceLost);
+
+int IParticleGravityAffectorSetGravity(int gravity);
+
+int IParticleGravityAffectorGetTimeForceLost();
+
+int IParticleGravityAffectorGetGravity();
+
+int IParticleGravityAffectorGetType();
+
+int ISceneNodeISceneNode(int parent, int mgr, int id, int position, int rotation, int scale);
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeISceneNode();
+
+int ISceneNodeRemoveAll();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeOnRegisterSceneNode();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeOnAnimate(int timeMs);
+
+int ISceneNodeBegin();
+
+int ISceneNodeWhile(int ait);
+
+int ISceneNodeAnimateNode();
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeRender();
+
+int ISceneNodeGetName();
+
+int ISceneNodeSetName(char * name);
+
+int ISceneNodeSetName(int name);
+
+int ISceneNodeGetBoundingBox();
+
+int ISceneNodeGetTransformedBoundingBox();
+
+int ISceneNodeGetBoundingBox();
+
+int ISceneNodeTransformBoxEx();
+
+int ISceneNodeGetAbsoluteTransformation();
+
+int ISceneNodeGetRelativeTransformation();
+
+int ISceneNodeSetRotationDegrees();
+
+int ISceneNodeSetTranslation();
+
+int ISceneNodeSetScale();
+
+int ISceneNodeIsVisible();
+
+int ISceneNodeIsTrulyVisible();
+
+int ISceneNodeSetVisible(int isVisible);
+
+int ISceneNodeGetID();
+
+int ISceneNodeSetID(int id);
+
+int ISceneNodeAddChild(int child);
+
+int ISceneNodeGrab();
+
+int ISceneNodeRemove();
+
+int ISceneNodePush_back();
+
+int ISceneNodeRemoveChild(int child);
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeErase();
+
+int ISceneNodeRemoveAll();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeClear();
+
+int ISceneNodeRemove();
+
+int ISceneNodeAddAnimator(int animator);
+
+int ISceneNodePush_back();
+
+int ISceneNodeGrab();
+
+int ISceneNodeGetAnimators();
+
+int ISceneNodeRemoveAnimator(int animator);
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeErase();
+
+int ISceneNodeRemoveAnimators();
+
+int ISceneNodeBegin();
+
+int ISceneNodeEnd();
+
+int ISceneNodeClear();
+
+int ISceneNodeGetMaterial(int num);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeSetMaterialFlag(int flag, int newvalue);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeGetMaterial(int flag);
+
+int ISceneNodeSetMaterialTexture(int textureLayer, int texture);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeGetMaterial(int textureLayer);
+
+int ISceneNodeSetMaterialType(int newType);
+
+int ISceneNodeGetMaterialCount();
+
+int ISceneNodeGetMaterial();
+
+int ISceneNodeGetScale();
+
+int ISceneNodeSetScale(int scale);
+
+int ISceneNodeGetRotation();
+
+int ISceneNodeSetRotation(int rotation);
+
+int ISceneNodeGetPosition();
+
+int ISceneNodeSetPosition(int newpos);
+
+int ISceneNodeGetAbsolutePosition();
+
+int ISceneNodeSetAutomaticCulling(int state);
+
+int ISceneNodeGetAutomaticCulling();
+
+int ISceneNodeSetDebugDataVisible(int state);
+
+int ISceneNodeIsDebugDataVisible();
+
+int ISceneNodeSetIsDebugObject(int debugObject);
+
+int ISceneNodeIsDebugObject();
+
+int ISceneNodeGetChildren();
+
+int ISceneNodeSetParent(int newParent);
+
+int ISceneNodeGrab();
+
+int ISceneNodeRemove();
+
+int ISceneNodeDrop();
+
+int ISceneNodeGetTriangleSelector();
+
+int ISceneNodeSetTriangleSelector(int selector);
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeGetAbsoluteTransformation();
+
+int ISceneNodeGetRelativeTransformation();
+
+int ISceneNodeGetParent();
+
+int ISceneNodeGetType();
+
+int ISceneNodeSerializeAttributes(int out, int options);
+
+int ISceneNodeAddString();
+
+int ISceneNodeAddInt();
+
+int ISceneNodeAddVector3d();
+
+int ISceneNodeAddVector3d();
+
+int ISceneNodeAddVector3d();
+
+int ISceneNodeAddBool();
+
+int ISceneNodeAddInt();
+
+int ISceneNodeAddInt();
+
+int ISceneNodeAddBool();
+
+int ISceneNodeDeserializeAttributes(int in, int options);
+
+int ISceneNodeGetAttributeAsString();
+
+int ISceneNodeGetAttributeAsInt();
+
+int ISceneNodeSetPosition();
+
+int ISceneNodeSetRotation();
+
+int ISceneNodeSetScale();
+
+int ISceneNodeGetAttributeAsBool();
+
+int ISceneNodeGetAttributeAsEnumeration(int AutomaticCullingNames);
+
+int ISceneNodeGetAttributeAsInt();
+
+int ISceneNodeGetAttributeAsInt();
+
+int ISceneNodeGetAttributeAsBool();
+
+int ISceneNodeUpdateAbsolutePosition();
+
+int ISceneNodeClone(int newParent, int newManager);
+
+int ISceneNodeGetSceneManager();
+
+int ITextSceneNodeITextSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int ITextSceneNodeSetText(char * text);
+
+int ITextSceneNodeSetTextColor(int color);
+
+int SMaterialLayerSMaterialLayer();
+
+int SMaterialLayerSMaterialLayer(int other);
+
+int SMaterialLayerSMaterialLayer();
+
+int SMaterialLayerDestruct();
+
+int SMaterialLayerDeallocate();
+
+int SMaterialLayerDestruct();
+
+int SMaterialLayerDeallocate();
+
+int SMaterialLayerAllocate();
+
+int SMaterialLayerConstruct(int TextureMatrix);
+
+int SMaterialLayerGetTextureMatrix();
+
+int SMaterialLayerAllocate();
+
+int SMaterialLayerConstruct(int IdentityMatrix);
+
+int SMaterialLayerGetTextureMatrix();
+
+int SMaterialLayerSetTextureMatrix(int mat);
+
+int SMaterialLayerAllocate();
+
+int SMaterialLayerConstruct();
+
+int IGUIStaticTextIGUIStaticText(int environment, int parent, int id, int EGUIET_STATIC_TEXT);
+
+int IGUIStaticTextSetOverrideFont(int font);
+
+int IGUIStaticTextGetOverrideFont();
+
+int IGUIStaticTextSetOverrideColor(int color);
+
+int IGUIStaticTextGetOverrideColor();
+
+int IGUIStaticTextEnableOverrideColor(int enable);
+
+int IGUIStaticTextIsOverrideColorEnabled();
+
+int IGUIStaticTextSetBackgroundColor(int color);
+
+int IGUIStaticTextSetDrawBackground(int draw);
+
+int IGUIStaticTextSetDrawBorder(int draw);
+
+int IGUIStaticTextSetTextAlignment(int horizontal, int vertical);
+
+int IGUIStaticTextSetWordWrap(int enable);
+
+int IGUIStaticTextIsWordWrapEnabled();
+
+int IGUIStaticTextGetTextHeight();
+
+int IGUIStaticTextGetTextWidth();
+
+int IParticleSystemSceneNodeIParticleSystemSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int IParticleSystemSceneNodeSetParticleSize(int size);
+
+int IParticleSystemSceneNodeSetParticlesAreGlobal(int global);
+
+int IParticleSystemSceneNodeGetEmitter();
+
+int IParticleSystemSceneNodeSetEmitter(int emitter);
+
+int IParticleSystemSceneNodeAddAffector(int affector);
+
+int IParticleSystemSceneNodeRemoveAllAffectors();
+
+int IParticleSystemSceneNodeCreateAnimatedMeshSceneNodeEmitter(int node, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateBoxEmitter(int box, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateCylinderEmitter(int center, int radius, int normal, int length, int outlineOnly, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateMeshEmitter(int mesh, int useNormalDirection, int direction, int normalDirectionModifier, int mbNumber, int everyMeshVertex, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreatePointEmitter(int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateRingEmitter(int center, int radius, int ringThickness, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateSphereEmitter(int center, int radius, int direction, int minParticlesPerSecond, int maxParticlesPerSecond, int minStartColor, int maxStartColor, int lifeTimeMin, int lifeTimeMax, int maxAngleDegrees, int minStartSize, int maxStartSize);
+
+int IParticleSystemSceneNodeCreateAttractionAffector(int point, int speed, int attract, int affectX, int affectY, int affectZ);
+
+int IParticleSystemSceneNodeCreateScaleParticleAffector(int scaleTo);
+
+int IParticleSystemSceneNodeCreateFadeOutParticleAffector(int targetColor, int timeNeededToFadeOut);
+
+int IParticleSystemSceneNodeCreateGravityAffector(int gravity, int timeForceLost);
+
+int IParticleSystemSceneNodeCreateRotationAffector(int speed, int pivotPoint);
+
+int ITerrainSceneNodeITerrainSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int ITerrainSceneNodeGetBoundingBox();
+
+int ITerrainSceneNodeGetBoundingBox(int patchX, int patchZ);
+
+int ITerrainSceneNodeGetIndexCount();
+
+int ITerrainSceneNodeGetMesh();
+
+int ITerrainSceneNodeGetRenderBuffer();
+
+int ITerrainSceneNodeGetMeshBufferForLOD(int mb, int LOD);
+
+int ITerrainSceneNodeGetIndicesForPatch(int indices, int patchX, int patchZ, int LOD);
+
+int ITerrainSceneNodeGetCurrentLODOfPatches(int LODs);
+
+int ITerrainSceneNodeSetLODOfPatch(int patchX, int patchZ, int LOD);
+
+int ITerrainSceneNodeGetTerrainCenter();
+
+int ITerrainSceneNodeGetHeight(int x, int y);
+
+int ITerrainSceneNodeSetCameraMovementDelta(int delta);
+
+int ITerrainSceneNodeSetCameraRotationDelta(int delta);
+
+int ITerrainSceneNodeSetDynamicSelectorUpdate(int bVal);
+
+int ITerrainSceneNodeOverrideLODDistance(int LOD, int newDistance);
+
+int ITerrainSceneNodeScaleTexture(int scale, int scale2);
+
+int ITerrainSceneNodeLoadHeightMap(int file, int vertexColor, int smoothFactor);
+
+int ITerrainSceneNodeLoadHeightMapRAW(int file, int bitsPerPixel, int signedData, int floatVals, int width, int vertexColor, int smoothFactor);
+
+int IGUIContextMenuIGUIContextMenu(int environment, int parent, int id, int EGUIET_CONTEXT_MENU);
+
+int IGUIContextMenuSetCloseHandling(int onClose);
+
+int IGUIContextMenuGetCloseHandling();
+
+int IGUIContextMenuGetItemCount();
+
+int IGUIContextMenuAddItem(char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking);
+
+int IGUIContextMenuInsertItem(int idx, char * text, int commandId, int enabled, int hasSubMenu, int checked, int autoChecking);
+
+int IGUIContextMenuFindItemWithCommandId(int commandId, int idxStartSearch);
+
+int IGUIContextMenuAddSeparator();
+
+int IGUIContextMenuGetItemText(int idx);
+
+int IGUIContextMenuSetItemText(int idx, char * text);
+
+int IGUIContextMenuIsItemEnabled(int idx);
+
+int IGUIContextMenuSetItemEnabled(int idx, int enabled);
+
+int IGUIContextMenuSetItemChecked(int idx, int enabled);
+
+int IGUIContextMenuIsItemChecked(int idx);
+
+int IGUIContextMenuRemoveItem(int idx);
+
+int IGUIContextMenuRemoveAllItems();
+
+int IGUIContextMenuGetSelectedItem();
+
+int IGUIContextMenuGetItemCommandId(int idx);
+
+int IGUIContextMenuSetItemCommandId(int idx, int id);
+
+int IGUIContextMenuGetSubMenu(int idx);
+
+int IGUIContextMenuSetItemAutoChecking(int idx, int autoChecking);
+
+int IGUIContextMenuGetItemAutoChecking(int idx);
+
+int IGUIContextMenuSetEventParent(int parent);
+
+int IImageLock();
+
+int IImageUnlock();
+
+int IImageGetDimension();
+
+int IImageGetBitsPerPixel();
+
+int IImageGetBytesPerPixel();
+
+int IImageGetImageDataSizeInBytes();
+
+int IImageGetImageDataSizeInPixels();
+
+int IImageGetPixel(int x, int y);
+
+int IImageSetPixel(int x, int y, int color, int blend);
+
+int IImageGetColorFormat();
+
+int IImageGetRedMask();
+
+int IImageGetGreenMask();
+
+int IImageGetBlueMask();
+
+int IImageGetAlphaMask();
+
+int IImageGetPitch();
+
+int IImageCopyToScaling(int target, int width, int height, int format, int pitch);
+
+int IImageCopyToScaling(int target);
+
+int IImageCopyTo(int target, int pos);
+
+int IImageCopyTo(int target, int pos, int sourceRect, int clipRect);
+
+int IImageCopyToWithAlpha(int target, int pos, int sourceRect, int color, int clipRect);
+
+int IImageCopyToScalingBoxFilter(int target, int bias, int blend);
+
+int IImageFill(int color);
+
+int IImageGetBitsPerPixelFromFormat(int format);
+
+int IImageSwitch();
+
+int IImageIsRenderTargetOnlyFormat(int format);
+
+int IImageSwitch();
+
+int IAnimatedMeshMD2GetFrameLoop(int l, int outBegin, int outEnd, int outFPS);
+
+int IAnimatedMeshMD2GetFrameLoop(char * name, int outBegin, int outEnd, int outFPS);
+
+int IAnimatedMeshMD2GetAnimationCount();
+
+int IAnimatedMeshMD2GetAnimationName(int nr);
+
+int IIndexBufferGetData();
+
+int IIndexBufferGetType();
+
+int IIndexBufferSetType(int IndexType);
+
+int IIndexBufferStride();
+
+int IIndexBufferSize();
+
+int IIndexBufferPush_back(int element);
+
+int IIndexBufferOperator(int index);
+
+int IIndexBufferGetLast();
+
+int IIndexBufferSetValue(int index, int value);
+
+int IIndexBufferSet_used(int usedNow);
+
+int IIndexBufferReallocate(int new_size);
+
+int IIndexBufferAllocated_size();
+
+int IIndexBufferPointer();
+
+int IIndexBufferGetHardwareMappingHint();
+
+int IIndexBufferSetHardwareMappingHint(int NewMappingHint);
+
+int IIndexBufferSetDirty();
+
+int IIndexBufferGetChangedID();
+
+int IVertexBufferGetData();
+
+int IVertexBufferGetType();
+
+int IVertexBufferSetType(int vertexType);
+
+int IVertexBufferStride();
+
+int IVertexBufferSize();
+
+int IVertexBufferPush_back(int element);
+
+int IVertexBufferOperator(int index);
+
+int IVertexBufferGetLast();
+
+int IVertexBufferSet_used(int usedNow);
+
+int IVertexBufferReallocate(int new_size);
+
+int IVertexBufferAllocated_size();
+
+int IVertexBufferPointer();
+
+int IVertexBufferGetHardwareMappingHint();
+
+int IVertexBufferSetHardwareMappingHint(int NewMappingHint);
+
+int IVertexBufferSetDirty();
+
+int IVertexBufferGetChangedID();
+
+int IWriteFileWrite(int buffer, int sizeToWrite);
+
+int IWriteFileSeek(int finalPos, int relativeMovement);
+
+int IWriteFileGetPos();
+
+int IWriteFileGetFileName();
+
+int IWriteFileCreateWriteFile(int fileName, int append);
+
+int IImageWriterIsAWriteableFileExtension(int filename);
+
+int IImageWriterWriteImage(int file, int image, int param);
+
+int IReadFileRead(int buffer, int sizeToRead);
+
+int IReadFileSeek(int finalPos, int relativeMovement);
+
+int IReadFileGetSize();
+
+int IReadFileGetPos();
+
+int IReadFileGetFileName();
+
+int IReadFileCreateReadFile(int fileName);
+
+int IReadFileCreateLimitReadFile(int fileName, int alreadyOpenedFile, int pos, int areaSize);
+
+int IReadFileCreateMemoryReadFile(int memory, int size, int fileName, int deleteMemoryWhenDropped);
+
+int IBillboardSceneNodeIBillboardSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int IBillboardSceneNodeSetSize(int size);
+
+int IBillboardSceneNodeGetSize();
+
+int IBillboardSceneNodeSetColor(int overallColor);
+
+int IBillboardSceneNodeSetColor(int topColor, int bottomColor);
+
+int IBillboardSceneNodeGetColor(int topColor, int bottomColor);
+
+int IAttributeExchangingObjectSerializeAttributes(int out, int options);
+
+int IAttributeExchangingObjectDeserializeAttributes(int in, int options);
+
+int IParticleEmitterEmitt(int now, int timeSinceLastCall, int outArray);
+
+int IParticleEmitterSetDirection(int newDirection);
+
+int IParticleEmitterSetMinParticlesPerSecond(int minPPS);
+
+int IParticleEmitterSetMaxParticlesPerSecond(int maxPPS);
+
+int IParticleEmitterSetMinStartColor(int color);
+
+int IParticleEmitterSetMaxStartColor(int color);
+
+int IParticleEmitterSetMaxStartSize(int size);
+
+int IParticleEmitterSetMinStartSize(int size);
+
+int IParticleEmitterGetDirection();
+
+int IParticleEmitterGetMinParticlesPerSecond();
+
+int IParticleEmitterGetMaxParticlesPerSecond();
+
+int IParticleEmitterGetMinStartColor();
+
+int IParticleEmitterGetMaxStartColor();
+
+int IParticleEmitterGetMaxStartSize();
+
+int IParticleEmitterGetMinStartSize();
+
+int IParticleEmitterGetType();
+
+int IIndexListIIndexList();
+
+int IIndexListStride();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int element);
+
+int IIndexListOperator(int index);
+
+int IIndexListGetLast();
+
+int IIndexListSetValue(int index, int value);
+
+int IIndexListSet_used(int usedNow);
+
+int IIndexListReallocate(int new_size);
+
+int IIndexListAllocated_size();
+
+int IIndexListPointer();
+
+int IIndexListGetType();
+
+int IIndexListStride();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int element);
+
+int IIndexListPush_back(int element);
+
+int IIndexListOperator(int index);
+
+int IIndexListGetLast();
+
+int IIndexListSetValue(int index, int value);
+
+int IIndexListSet_used(int usedNow);
+
+int IIndexListSet_used();
+
+int IIndexListReallocate(int new_size);
+
+int IIndexListReallocate();
+
+int IIndexListAllocated_size();
+
+int IIndexListPointer();
+
+int IIndexListGetType();
+
+int IIndexListCIndexBuffer();
+
+int IIndexListSetType();
+
+int IIndexListCIndexBuffer();
+
+int IIndexListSetType();
+
+int IIndexListReallocate();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int n);
+
+int IIndexListCIndexBuffer();
+
+int IIndexListSetType(int IndexType);
+
+int IIndexListSwitch();
+
+int IIndexListReallocate();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int n);
+
+int IIndexListGetData();
+
+int IIndexListGetType();
+
+int IIndexListStride();
+
+int IIndexListSize();
+
+int IIndexListPush_back(int element);
+
+int IIndexListPush_back();
+
+int IIndexListOperator(int index);
+
+int IIndexListGetLast();
+
+int IIndexListSetValue(int index, int value);
+
+int IIndexListSetValue();
+
+int IIndexListSet_used(int usedNow);
+
+int IIndexListSet_used();
+
+int IIndexListReallocate(int new_size);
+
+int IIndexListReallocate();
+
+int IIndexListAllocated_size();
+
+int IIndexListPointer();
+
+int IIndexListGetHardwareMappingHint();
+
+int IIndexListSetHardwareMappingHint(int NewMappingHint);
+
+int IIndexListSetDirty();
+
+int IIndexListGetChangedID();
+
+int IParticleAffectorIParticleAffector();
+
+int IParticleAffectorAffect(int now, int particlearray, int count);
+
+int IParticleAffectorSetEnabled(int enabled);
+
+int IParticleAffectorGetEnabled();
+
+int IParticleAffectorGetType();
+
+int IParticleRotationAffectorSetPivotPoint(int point);
+
+int IParticleRotationAffectorSetSpeed(int speed);
+
+int IParticleRotationAffectorGetPivotPoint();
+
+int IParticleRotationAffectorGetSpeed();
+
+int IParticleRotationAffectorGetType();
+
+int IGUICheckBoxIGUICheckBox(int environment, int parent, int id, int EGUIET_CHECK_BOX);
+
+int IGUICheckBoxSetChecked(int checked);
+
+int IGUICheckBoxIsChecked();
+
+int IGeometryCreatorCreateCubeMesh(int size);
+
+int IGeometryCreatorCreateHillPlaneMesh(int tileSize, int tileCount, int material, int hillHeight, int countHills, int textureRepeatCount);
+
+int IGeometryCreatorCreatePlaneMesh(int tileSize, int tileCount, int material, int textureRepeatCount);
+
+int IGeometryCreatorCreateTerrainMesh(int texture, int heightmap, int stretchSize, int maxHeight, int driver, int defaultVertexBlockSize, int debugBorders);
+
+int IGeometryCreatorCreateArrowMesh(int tesselationCylinder, int tesselationCone, int height, int cylinderHeight, int widthCylinder, int widthCone, int colorCylinder, int colorCone);
+
+int IGeometryCreatorCreateSphereMesh(int radius, int polyCountX, int polyCountY);
+
+int IGeometryCreatorCreateCylinderMesh(int radius, int length, int tesselation, int color, int closeTop, int oblique);
+
+int IGeometryCreatorCreateConeMesh(int radius, int length, int tesselation, int colorTop, int colorBottom, int oblique);
+
+int IGeometryCreatorCreateVolumeLightMesh(int subdivideU, int subdivideV, int footColor, int tailColor, int lpDistance, int lightDim);
+
+int IBillboardTextSceneNodeIBillboardTextSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int IBillboardTextSceneNodeSetSize(int size);
+
+int IBillboardTextSceneNodeGetSize();
+
+int IBillboardTextSceneNodeSetColor(int overallColor);
+
+int IBillboardTextSceneNodeSetColor(int topColor, int bottomColor);
+
+int IBillboardTextSceneNodeGetColor(int topColor, int bottomColor);
+
+int IBillboardTextSceneNodeSetText(char * text);
+
+int IBillboardTextSceneNodeSetTextColor(int color);
+
+int IParticleFadeOutAffectorSetTargetColor(int targetColor);
+
+int IParticleFadeOutAffectorSetFadeOutTime(int fadeOutTime);
+
+int IParticleFadeOutAffectorGetTargetColor();
+
+int IParticleFadeOutAffectorGetFadeOutTime();
+
+int IParticleFadeOutAffectorGetType();
+
+int IShadowVolumeSceneNodeIShadowVolumeSceneNode(int parent, int mgr, int parent);
+
+int IShadowVolumeSceneNodeSetShadowMesh(int mesh);
+
+int IShadowVolumeSceneNodeUpdateShadowVolumes();
+
+int IFileListGetFileCount();
+
+int IFileListGetFileName(int index);
+
+int IFileListGetFullFileName(int index);
+
+int IFileListGetFileSize(int index);
+
+int IFileListGetID(int index);
+
+int IFileListIsDirectory(int index);
+
+int IFileListFindFile(int filename, int isFolder);
+
+int IFileListGetPath();
+
+int IFileListAddItem(int fullPath, int size, int isDirectory, int id);
+
+int IFileListSort();
+
+int IMeshGetMeshBufferCount();
+
+int IMeshGetMeshBuffer(int nr);
+
+int IMeshGetMeshBuffer(int material);
+
+int IMeshGetBoundingBox();
+
+int IMeshSetBoundingBox(int box);
+
+int IMeshSetMaterialFlag(int flag, int newvalue);
+
+int IMeshSetHardwareMappingHint(int newMappingHint, int buffer);
+
+int IMeshSetDirty(int buffer);
+
+int IrrlichtDeviceRun();
+
+int IrrlichtDeviceYield();
+
+int IrrlichtDeviceSleep(int timeMs, int pauseTimer);
+
+int IrrlichtDeviceGetVideoDriver();
+
+int IrrlichtDeviceGetFileSystem();
+
+int IrrlichtDeviceGetGUIEnvironment();
+
+int IrrlichtDeviceGetSceneManager();
+
+int IrrlichtDeviceGetCursorControl();
+
+int IrrlichtDeviceGetLogger();
+
+int IrrlichtDeviceGetVideoModeList();
+
+int IrrlichtDeviceGetOSOperator();
+
+int IrrlichtDeviceGetTimer();
+
+int IrrlichtDeviceSetWindowCaption(char * text);
+
+int IrrlichtDeviceIsWindowActive();
+
+int IrrlichtDeviceIsWindowFocused();
+
+int IrrlichtDeviceIsWindowMinimized();
+
+int IrrlichtDeviceIsFullscreen();
+
+int IrrlichtDeviceGetColorFormat();
+
+int IrrlichtDeviceCloseDevice();
+
+int IrrlichtDeviceGetVersion();
+
+int IrrlichtDeviceSetEventReceiver(int receiver);
+
+int IrrlichtDeviceGetEventReceiver();
+
+int IrrlichtDevicePostEventFromUser(int event);
+
+int IrrlichtDeviceSetInputReceivingSceneManager(int sceneManager);
+
+int IrrlichtDeviceSetResizable(int resize);
+
+int IrrlichtDeviceMinimizeWindow();
+
+int IrrlichtDeviceMaximizeWindow();
+
+int IrrlichtDeviceRestoreWindow();
+
+int IrrlichtDeviceActivateJoysticks(int joystickInfo);
+
+int IrrlichtDeviceSetGammaRamp(int red, int green, int blue, int relativebrightness, int relativecontrast);
+
+int IrrlichtDeviceGetGammaRamp(int red, int green, int blue, int brightness, int contrast);
+
+int IrrlichtDeviceClearSystemMessages();
+
+int IrrlichtDeviceGetType();
+
+int IrrlichtDeviceIsDriverSupported(int driver);
+
+int IrrlichtDeviceSwitch();
+
+int IParticleAnimatedMeshSceneNodeEmitterSetAnimatedMeshSceneNode(int node);
+
+int IParticleAnimatedMeshSceneNodeEmitterSetUseNormalDirection(int useNormalDirection);
+
+int IParticleAnimatedMeshSceneNodeEmitterSetNormalDirectionModifier(int normalDirectionModifier);
+
+int IParticleAnimatedMeshSceneNodeEmitterSetEveryMeshVertex(int everyMeshVertex);
+
+int IParticleAnimatedMeshSceneNodeEmitterGetAnimatedMeshSceneNode();
+
+int IParticleAnimatedMeshSceneNodeEmitterIsUsingNormalDirection();
+
+int IParticleAnimatedMeshSceneNodeEmitterGetNormalDirectionModifier();
+
+int IParticleAnimatedMeshSceneNodeEmitterGetEveryMeshVertex();
+
+int IParticleAnimatedMeshSceneNodeEmitterGetType();
+
+int SVertexColorGammaManipulatorSVertexColorGammaManipulator();
+
+int SVertexColorGammaManipulatorOperator(int vertex);
+
+int SVertexColorGammaManipulatorSetRed();
+
+int SVertexColorGammaManipulatorSetGreen();
+
+int SVertexColorGammaManipulatorSetBlue();
+
+int SVertexColorSetManipulatorSVertexColorSetManipulator(int color);
+
+int SVertexColorSetManipulatorOperator(int vertex);
+
+int SVertexTCoordsScaleManipulatorSVertexTCoordsScaleManipulator(int factor, int uvSet, int uvSet);
+
+int SVertexTCoordsScaleManipulatorOperator(int vertex);
+
+int SVertexTCoordsScaleManipulatorOperator(int vertex);
+
+int SVertexColorBrightnessManipulatorSVertexColorBrightnessManipulator(int amount);
+
+int SVertexColorBrightnessManipulatorOperator(int vertex);
+
+int SVertexColorBrightnessManipulatorSetRed(int Amount, int u);
+
+int SVertexColorBrightnessManipulatorSetGreen(int Amount, int u);
+
+int SVertexColorBrightnessManipulatorSetBlue(int Amount, int u);
+
+int SVertexColorSetAlphaManipulatorSVertexColorSetAlphaManipulator(int alpha);
+
+int SVertexColorSetAlphaManipulatorOperator(int vertex);
+
+int SVertexColorSetAlphaManipulatorSetAlpha();
+
+int SVertexColorInvertManipulatorOperator(int vertex);
+
+int SVertexColorInvertManipulatorSetRed();
+
+int SVertexColorInvertManipulatorSetGreen();
+
+int SVertexColorInvertManipulatorSetBlue();
+
+int SVertexColorInterpolateLinearManipulatorSVertexColorInterpolateLinearManipulator(int color, int factor);
+
+int SVertexColorInterpolateLinearManipulatorOperator(int vertex);
+
+int SVertexColorInterpolateLinearManipulatorGetInterpolated();
+
+int SVertexColorThresholdManipulatorSVertexColorThresholdManipulator(int threshold, int low, int high);
+
+int SVertexColorThresholdManipulatorOperator(int vertex);
+
+int SVertexColorContrastManipulatorSVertexColorContrastManipulator(int factor);
+
+int SVertexColorContrastManipulatorOperator(int vertex);
+
+int SVertexColorContrastManipulatorSetRed();
+
+int SVertexColorContrastManipulatorSetGreen();
+
+int SVertexColorContrastManipulatorSetBlue();
+
+int SVertexPositionScaleManipulatorSVertexPositionScaleManipulator(int factor);
+
+int SVertexPositionScaleManipulatorOperator(int vertex);
+
+int SVertexColorContrastBrightnessManipulatorSVertexColorContrastBrightnessManipulator(int factor);
+
+int SVertexColorContrastBrightnessManipulatorOperator(int vertex);
+
+int SVertexColorContrastBrightnessManipulatorSetRed(int Amount);
+
+int SVertexColorContrastBrightnessManipulatorSetGreen(int Amount);
+
+int SVertexColorContrastBrightnessManipulatorSetBlue(int Amount);
+
+int SVertexColorScaleManipulatorSVertexColorScaleManipulator(int factor);
+
+int SVertexColorScaleManipulatorOperator(int vertex);
+
+int SVertexColorScaleManipulatorSetRed();
+
+int SVertexColorScaleManipulatorSetGreen();
+
+int SVertexColorScaleManipulatorSetBlue();
+
+int SVertexColorDesaturateToLuminanceManipulatorOperator(int vertex);
+
+int SVertexColorDesaturateToLuminanceManipulatorRound32();
+
+int SVertexColorInterpolateQuadraticManipulatorSVertexColorInterpolateQuadraticManipulator(int color1, int color2, int factor);
+
+int SVertexColorInterpolateQuadraticManipulatorOperator(int vertex);
+
+int SVertexColorInterpolateQuadraticManipulatorGetInterpolated_quadratic();
+
+int SVertexColorDesaturateToLightnessManipulatorOperator(int vertex);
+
+int SVertexColorDesaturateToLightnessManipulatorRound32();
+
+int SVertexColorDesaturateToAverageManipulatorOperator(int vertex);
+
+int SVertexColorDesaturateToAverageManipulatorGetAverage();
+
+int SVertexPositionScaleAlongNormalsManipulatorSVertexPositionScaleAlongNormalsManipulator(int factor);
+
+int SVertexPositionScaleAlongNormalsManipulatorOperator(int vertex);
+
+int SVertexPositionTransformManipulatorSVertexPositionTransformManipulator(int m);
+
+int SVertexPositionTransformManipulatorOperator(int vertex);
+
+int SVertexPositionTransformManipulatorTransformVect(int Pos);
+
+int ITextureITexture(int name);
+
+int ITextureLock(int readOnly, int mipmapLevel);
+
+int ITextureUnlock();
+
+int ITextureGetOriginalSize();
+
+int ITextureGetSize();
+
+int ITextureGetDriverType();
+
+int ITextureGetColorFormat();
+
+int ITextureGetPitch();
+
+int ITextureHasMipMaps();
+
+int ITextureHasAlpha();
+
+int ITextureRegenerateMipMapLevels(int mipmapData);
+
+int ITextureIsRenderTarget();
+
+int ITextureGetName();
+
+int IAnimatedMeshGetFrameCount();
+
+int IAnimatedMeshGetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop);
+
+int IAnimatedMeshGetMeshType();
+
+int IGUIToolBarIGUIToolBar(int environment, int parent, int id, int EGUIET_TOOL_BAR);
+
+int IGUIToolBarAddButton(int id, char * text, char * tooltiptext, int img, int pressedimg, int isPushButton, int useAlphaChannel);
+
+int ISceneCollisionManagerGetCollisionPoint(int ray, int selector, int outCollisionPoint, int outTriangle, int outNode);
+
+int ISceneCollisionManagerGetCollisionResultPosition(int selector, int ellipsoidPosition, int ellipsoidRadius, int ellipsoidDirectionAndSpeed, int triout, int hitPosition, int outFalling, int outNode, int slidingSpeed, int gravityDirectionAndSpeed);
+
+int ISceneCollisionManagerGetRayFromScreenCoordinates(int pos, int camera);
+
+int ISceneCollisionManagerGetScreenCoordinatesFrom3DPosition(int pos, int camera);
+
+int ISceneCollisionManagerGetSceneNodeFromScreenCoordinatesBB(int pos, int idBitMask, int bNoDebugObjects, int root);
+
+int ISceneCollisionManagerGetSceneNodeFromRayBB(int ray, int idBitMask, int bNoDebugObjects, int root);
+
+int ISceneCollisionManagerGetSceneNodeFromCameraBB(int camera, int idBitMask, int bNoDebugObjects);
+
+int ISceneCollisionManagerGetSceneNodeAndCollisionPointFromRay(int ray, int outCollisionPoint, int outTriangle, int idBitMask, int collisionRootNode, int noDebugObjects);
+
+int IGUIEnvironmentDrawAll();
+
+int IGUIEnvironmentSetFocus(int element);
+
+int IGUIEnvironmentGetFocus();
+
+int IGUIEnvironmentRemoveFocus(int element);
+
+int IGUIEnvironmentHasFocus(int element);
+
+int IGUIEnvironmentGetVideoDriver();
+
+int IGUIEnvironmentGetFileSystem();
+
+int IGUIEnvironmentGetOSOperator();
+
+int IGUIEnvironmentClear();
+
+int IGUIEnvironmentPostEventFromUser(int event);
+
+int IGUIEnvironmentSetUserEventReceiver(int evr);
+
+int IGUIEnvironmentGetSkin();
+
+int IGUIEnvironmentSetSkin(int skin);
+
+int IGUIEnvironmentCreateSkin(int type);
+
+int IGUIEnvironmentCreateImageList(int texture, int imageSize, int useAlphaChannel);
+
+int IGUIEnvironmentGetFont(int filename);
+
+int IGUIEnvironmentAddFont(int name, int font);
+
+int IGUIEnvironmentGetBuiltInFont();
+
+int IGUIEnvironmentGetSpriteBank(int filename);
+
+int IGUIEnvironmentAddEmptySpriteBank(int name);
+
+int IGUIEnvironmentGetRootGUIElement();
+
+int IGUIEnvironmentAddButton(int rectangle, int parent, int id, char * text, char * tooltiptext);
+
+int IGUIEnvironmentAddWindow(int rectangle, int modal, char * text, int parent, int id);
+
+int IGUIEnvironmentAddModalScreen(int parent);
+
+int IGUIEnvironmentAddMessageBox(char * caption, char * text, int modal, int flags, int parent, int id, int image);
+
+int IGUIEnvironmentAddScrollBar(int horizontal, int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddImage(int image, int pos, int useAlphaChannel, int parent, int id, char * text);
+
+int IGUIEnvironmentAddImage(int rectangle, int parent, int id, char * text);
+
+int IGUIEnvironmentAddCheckBox(int checked, int rectangle, int parent, int id, char * text);
+
+int IGUIEnvironmentAddListBox(int rectangle, int parent, int id, int drawBackground);
+
+int IGUIEnvironmentAddTreeView(int rectangle, int parent, int id, int drawBackground, int scrollBarVertical, int scrollBarHorizontal);
+
+int IGUIEnvironmentAddMeshViewer(int rectangle, int parent, int id, char * text);
+
+int IGUIEnvironmentAddFileOpenDialog(char * title, int modal, int parent, int id);
+
+int IGUIEnvironmentAddColorSelectDialog(char * title, int modal, int parent, int id);
+
+int IGUIEnvironmentAddStaticText(char * text, int rectangle, int border, int wordWrap, int parent, int id, int fillBackground);
+
+int IGUIEnvironmentAddEditBox(char * text, int rectangle, int border, int parent, int id);
+
+int IGUIEnvironmentAddSpinBox(char * text, int rectangle, int border, int parent, int id);
+
+int IGUIEnvironmentAddInOutFader(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddTabControl(int rectangle, int parent, int fillbackground, int border, int id);
+
+int IGUIEnvironmentAddTab(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddContextMenu(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddMenu(int parent, int id);
+
+int IGUIEnvironmentAddToolBar(int parent, int id);
+
+int IGUIEnvironmentAddComboBox(int rectangle, int parent, int id);
+
+int IGUIEnvironmentAddTable(int rectangle, int parent, int id, int drawBackground);
+
+int IGUIEnvironmentGetDefaultGUIElementFactory();
+
+int IGUIEnvironmentRegisterGUIElementFactory(int factoryToAdd);
+
+int IGUIEnvironmentGetRegisteredGUIElementFactoryCount();
+
+int IGUIEnvironmentGetGUIElementFactory(int index);
+
+int IGUIEnvironmentAddGUIElement(char * elementName, int parent);
+
+int IGUIEnvironmentSaveGUI(int filename, int start);
+
+int IGUIEnvironmentSaveGUI(int file, int start);
+
+int IGUIEnvironmentLoadGUI(int filename, int parent);
+
+int IGUIEnvironmentLoadGUI(int file, int parent);
+
+int IGUIEnvironmentSerializeAttributes(int out, int options);
+
+int IGUIEnvironmentDeserializeAttributes(int in, int options);
+
+int IGUIEnvironmentWriteGUIElement(int writer, int node);
+
+int IGUIEnvironmentReadGUIElement(int reader, int node);
+
+int IGUIImageListIGUIImageList();
+
+int IGUIImageListDraw(int index, int destPos, int clip);
+
+int IGUIImageListGetImageCount();
+
+int IGUIImageListGetImageSize();
+
+int IGUITreeViewNodeGetOwner();
+
+int IGUITreeViewNodeGetParent();
+
+int IGUITreeViewNodeGetText();
+
+int IGUITreeViewNodeSetText(char * text);
+
+int IGUITreeViewNodeGetIcon();
+
+int IGUITreeViewNodeSetIcon(char * icon);
+
+int IGUITreeViewNodeGetImageIndex();
+
+int IGUITreeViewNodeSetImageIndex(int imageIndex);
+
+int IGUITreeViewNodeGetSelectedImageIndex();
+
+int IGUITreeViewNodeSetSelectedImageIndex(int imageIndex);
+
+int IGUITreeViewNodeGetData();
+
+int IGUITreeViewNodeSetData(int data);
+
+int IGUITreeViewNodeGetData2();
+
+int IGUITreeViewNodeSetData2(int data);
+
+int IGUITreeViewNodeGetChildCount();
+
+int IGUITreeViewNodeClearChilds();
+
+int IGUITreeViewNodeHasChilds();
+
+int IGUITreeViewNodeAddChildBack(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeAddChildFront(char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeInsertChildAfter(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeInsertChildBefore(int other, char * text, char * icon, int imageIndex, int selectedImageIndex, int data, int data2);
+
+int IGUITreeViewNodeGetFirstChild();
+
+int IGUITreeViewNodeGetLastChild();
+
+int IGUITreeViewNodeGetPrevSibling();
+
+int IGUITreeViewNodeGetNextSibling();
+
+int IGUITreeViewNodeGetNextVisible();
+
+int IGUITreeViewNodeDeleteChild(int child);
+
+int IGUITreeViewNodeMoveChildUp(int child);
+
+int IGUITreeViewNodeMoveChildDown(int child);
+
+int IGUITreeViewNodeGetExpanded();
+
+int IGUITreeViewNodeSetExpanded(int expanded);
+
+int IGUITreeViewNodeGetSelected();
+
+int IGUITreeViewNodeSetSelected(int selected);
+
+int IGUITreeViewNodeIsRoot();
+
+int IGUITreeViewNodeGetLevel();
+
+int IGUITreeViewNodeIsVisible();
+
+int IGUITreeViewIGUITreeView(int environment, int parent, int id, int EGUIET_TREE_VIEW);
+
+int IGUITreeViewGetRoot();
+
+int IGUITreeViewGetSelected();
+
+int IGUITreeViewGetLinesVisible();
+
+int IGUITreeViewSetLinesVisible(int visible);
+
+int IGUITreeViewSetIconFont(int font);
+
+int IGUITreeViewSetImageList(int imageList);
+
+int IGUITreeViewGetImageList();
+
+int IGUITreeViewSetImageLeftOfIcon(int bLeftOf);
+
+int IGUITreeViewGetImageLeftOfIcon();
+
+int IGUITreeViewGetLastEventNode();
+
+int IGUIScrollBarIGUIScrollBar(int environment, int parent, int id, int EGUIET_SCROLL_BAR);
+
+int IGUIScrollBarSetMax(int max);
+
+int IGUIScrollBarGetMax();
+
+int IGUIScrollBarSetMin(int min);
+
+int IGUIScrollBarGetMin();
+
+int IGUIScrollBarGetSmallStep();
+
+int IGUIScrollBarSetSmallStep(int step);
+
+int IGUIScrollBarGetLargeStep();
+
+int IGUIScrollBarSetLargeStep(int step);
+
+int IGUIScrollBarGetPos();
+
+int IGUIScrollBarSetPos(int pos);
+
+int IVolumeLightSceneNodeIVolumeLightSceneNode(int parent, int mgr, int id, int position, int rotation, int parent);
+
+int IVolumeLightSceneNodeGetType();
+
+int IVolumeLightSceneNodeSetSubDivideU(int inU);
+
+int IVolumeLightSceneNodeSetSubDivideV(int inV);
+
+int IVolumeLightSceneNodeGetSubDivideU();
+
+int IVolumeLightSceneNodeGetSubDivideV();
+
+int IVolumeLightSceneNodeSetFootColor(int inColour);
+
+int IVolumeLightSceneNodeSetTailColor(int inColour);
+
+int IVolumeLightSceneNodeGetFootColor();
+
+int IVolumeLightSceneNodeGetTailColor();
+
+int IGUIWindowIGUIWindow(int environment, int parent, int id, int EGUIET_WINDOW);
+
+int IGUIWindowGetCloseButton();
+
+int IGUIWindowGetMinimizeButton();
+
+int IGUIWindowGetMaximizeButton();
+
+int IGUIWindowIsDraggable();
+
+int IGUIWindowSetDraggable(int draggable);
+
+int IGUIWindowSetDrawBackground(int draw);
+
+int IGUIWindowGetDrawBackground();
+
+int IGUIWindowSetDrawTitlebar(int draw);
+
+int IGUIWindowGetDrawTitlebar();
+
+int IGUIWindowGetClientRect();
+
+int IGUIFileOpenDialogIGUIFileOpenDialog(int environment, int parent, int id, int EGUIET_FILE_OPEN_DIALOG);
+
+int IGUIFileOpenDialogGetFileName();
+
+int IGUIFileOpenDialogGetDirectoryName();
+
+int IParticleBoxEmitterSetBox(int box);
+
+int IParticleBoxEmitterGetBox();
+
+int IParticleBoxEmitterGetType();
+
+int ICursorControlSetVisible(int visible);
+
+int ICursorControlIsVisible();
+
+int ICursorControlSetPosition(int pos);
+
+int ICursorControlSetPosition(int x, int y);
+
+int ICursorControlSetPosition(int pos);
+
+int ICursorControlSetPosition(int x, int y);
+
+int ICursorControlGetPosition();
+
+int ICursorControlGetRelativePosition();
+
+int ICursorControlSetReferenceRect(int rect);
+
+int ICursorControlSetActiveIcon(int iconId);
+
+int ICursorControlGetActiveIcon();
+
+int ICursorControlAddIcon(int icon);
+
+int ICursorControlChangeIcon(int iconId, int sprite);
+
+int ICursorControlGetSupportedIconSize();
+
+int IBoneSceneNodeIBoneSceneNode(int parent, int mgr, int id);
+
+int IBoneSceneNodeGetBoneName();
+
+int IBoneSceneNodeGetBoneIndex();
+
+int IBoneSceneNodeSetAnimationMode(int mode);
+
+int IBoneSceneNodeGetAnimationMode();
+
+int IBoneSceneNodeGetBoundingBox();
+
+int IBoneSceneNodeOnAnimate(int timeMs);
+
+int IBoneSceneNodeRender();
+
+int IBoneSceneNodeSetSkinningSpace(int space);
+
+int IBoneSceneNodeGetSkinningSpace();
+
+int IBoneSceneNodeUpdateAbsolutePositionOfAllChildren();
+
+int IMaterialRendererServicesIMaterialRendererServices();
+
+int IMaterialRendererServicesSetBasicRenderStates(int material, int lastMaterial, int resetAllRenderstates);
+
+int IMaterialRendererServicesSetVertexShaderConstant(char * name, int floats, int count);
+
+int IMaterialRendererServicesSetVertexShaderConstant(int data, int startRegister, int constantAmount);
+
+int IMaterialRendererServicesSetPixelShaderConstant(char * name, int floats, int count);
+
+int IMaterialRendererServicesSetPixelShaderConstant(int data, int startRegister, int constantAmount);
+
+int IMaterialRendererServicesGetVideoDriver();
+
+int IVertexListIVertexList();
+
+int IVertexListStride();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int element);
+
+int IVertexListOperator(int index);
+
+int IVertexListGetLast();
+
+int IVertexListSet_used(int usedNow);
+
+int IVertexListReallocate(int new_size);
+
+int IVertexListAllocated_size();
+
+int IVertexListPointer();
+
+int IVertexListGetType();
+
+int IVertexListStride();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int element);
+
+int IVertexListPush_back(int element);
+
+int IVertexListOperator(int index);
+
+int IVertexListGetLast();
+
+int IVertexListSet_used(int usedNow);
+
+int IVertexListSet_used();
+
+int IVertexListReallocate(int new_size);
+
+int IVertexListReallocate();
+
+int IVertexListAllocated_size();
+
+int IVertexListPointer();
+
+int IVertexListGetType();
+
+int IVertexListCVertexBuffer();
+
+int IVertexListSetType();
+
+int IVertexListCVertexBuffer();
+
+int IVertexListSetType();
+
+int IVertexListReallocate();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int n);
+
+int IVertexListCVertexBuffer();
+
+int IVertexListSetType(int vertexType);
+
+int IVertexListSwitch();
+
+int IVertexListReallocate();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int n);
+
+int IVertexListGetData();
+
+int IVertexListGetType();
+
+int IVertexListStride();
+
+int IVertexListSize();
+
+int IVertexListPush_back(int element);
+
+int IVertexListPush_back();
+
+int IVertexListOperator(int index);
+
+int IVertexListGetLast();
+
+int IVertexListSet_used(int usedNow);
+
+int IVertexListSet_used();
+
+int IVertexListReallocate(int new_size);
+
+int IVertexListReallocate();
+
+int IVertexListAllocated_size();
+
+int IVertexListPointer();
+
+int IVertexListGetHardwareMappingHint();
+
+int IVertexListSetHardwareMappingHint(int NewMappingHint);
+
+int IVertexListSetDirty();
+
+int IVertexListGetChangedID();
+
+int ISceneNodeAnimatorCameraFPSGetMoveSpeed();
+
+int ISceneNodeAnimatorCameraFPSSetMoveSpeed(int moveSpeed);
+
+int ISceneNodeAnimatorCameraFPSGetRotateSpeed();
+
+int ISceneNodeAnimatorCameraFPSSetRotateSpeed(int rotateSpeed);
+
+int ISceneNodeAnimatorCameraFPSSetKeyMap(int map, int count);
+
+int ISceneNodeAnimatorCameraFPSSetVerticalMovement(int allow);
+
+int ISceneNodeAnimatorCameraFPSSetInvertMouse(int invert);
+
+int IGUITabIGUITab(int environment, int parent, int id, int EGUIET_TAB);
+
+int IGUITabGetNumber();
+
+int IGUITabSetDrawBackground(int draw);
+
+int IGUITabSetBackgroundColor(int c);
+
+int IGUITabIsDrawingBackground();
+
+int IGUITabGetBackgroundColor();
+
+int IGUITabSetTextColor(int c);
+
+int IGUITabGetTextColor();
+
+int IGUITabControlIGUITabControl(int environment, int parent, int id, int EGUIET_TAB_CONTROL);
+
+int IGUITabControlAddTab(char * caption, int id);
+
+int IGUITabControlGetTabCount();
+
+int IGUITabControlGetTab(int idx);
+
+int IGUITabControlSetActiveTab(int idx);
+
+int IGUITabControlSetActiveTab(int tab);
+
+int IGUITabControlGetActiveTab();
+
+int IGUITabControlSetTabHeight(int height);
+
+int IGUITabControlGetTabHeight();
+
+int IGUITabControlSetTabMaxWidth(int width);
+
+int IGUITabControlGetTabMaxWidth();
+
+int IGUITabControlSetTabVerticalAlignment(int alignment);
+
+int IGUITabControlGetTabVerticalAlignment();
+
+int IGUITabControlSetTabExtraWidth(int extraWidth);
+
+int IGUITabControlGetTabExtraWidth();
+
+int IParticleCylinderEmitterSetCenter(int center);
+
+int IParticleCylinderEmitterSetNormal(int normal);
+
+int IParticleCylinderEmitterSetRadius(int radius);
+
+int IParticleCylinderEmitterSetLength(int length);
+
+int IParticleCylinderEmitterSetOutlineOnly(int outlineOnly);
+
+int IParticleCylinderEmitterGetCenter();
+
+int IParticleCylinderEmitterGetNormal();
+
+int IParticleCylinderEmitterGetRadius();
+
+int IParticleCylinderEmitterGetLength();
+
+int IParticleCylinderEmitterGetOutlineOnly();
+
+int IParticleCylinderEmitterGetType();
+
+int IGUISpriteBankGetPositions();
+
+int IGUISpriteBankGetSprites();
+
+int IGUISpriteBankGetTextureCount();
+
+int IGUISpriteBankGetTexture(int index);
+
+int IGUISpriteBankAddTexture(int texture);
+
+int IGUISpriteBankSetTexture(int index, int texture);
+
+int IGUISpriteBankAddTextureAsSprite(int texture);
+
+int IGUISpriteBankClear();
+
+int IGUISpriteBankDraw2DSprite(int index, int pos, int clip, int color, int starttime, int currenttime, int loop, int center);
+
+int IGUISpriteBankDraw2DSpriteBatch(int indices, int pos, int clip, int color, int starttime, int currenttime, int loop, int center);
+
+int IMetaTriangleSelectorAddTriangleSelector(int toAdd);
+
+int IMetaTriangleSelectorRemoveTriangleSelector(int toRemove);
+
+int IMetaTriangleSelectorRemoveAllTriangleSelectors();
+
+int IGUIImageIGUIImage(int environment, int parent, int id, int EGUIET_IMAGE);
+
+int IGUIImageSetImage(int image);
+
+int IGUIImageSetColor(int color);
+
+int IGUIImageSetScaleImage(int scale);
+
+int IGUIImageSetUseAlphaChannel(int use);
+
+int IGUIImageIsImageScaled();
+
+int IGUIImageIsAlphaChannelUsed();
+
+int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode(int parent, int mgr, int id, int position, int rotation, int scale, int parent);
+
+int IAnimatedMeshSceneNodeIAnimatedMeshSceneNode();
+
+int IAnimatedMeshSceneNodeSetCurrentFrame(int frame);
+
+int IAnimatedMeshSceneNodeSetFrameLoop(int begin, int end);
+
+int IAnimatedMeshSceneNodeSetAnimationSpeed(int framesPerSecond);
+
+int IAnimatedMeshSceneNodeGetAnimationSpeed();
+
+int IAnimatedMeshSceneNodeAddShadowVolumeSceneNode(int shadowMesh, int id, int zfailmethod, int infinity);
+
+int IAnimatedMeshSceneNodeGetJointNode(char * jointName);
+
+int IAnimatedMeshSceneNodeGetJointNode(int jointID);
+
+int IAnimatedMeshSceneNodeGetJointCount();
+
+int IAnimatedMeshSceneNodeGetMS3DJointNode(char * jointName);
+
+int IAnimatedMeshSceneNodeGetXJointNode(char * jointName);
+
+int IAnimatedMeshSceneNodeSetMD2Animation(int anim);
+
+int IAnimatedMeshSceneNodeSetMD2Animation(char * animationName);
+
+int IAnimatedMeshSceneNodeGetFrameNr();
+
+int IAnimatedMeshSceneNodeGetStartFrame();
+
+int IAnimatedMeshSceneNodeGetEndFrame();
+
+int IAnimatedMeshSceneNodeSetLoopMode(int playAnimationLooped);
+
+int IAnimatedMeshSceneNodeSetAnimationEndCallback(int callback);
+
+int IAnimatedMeshSceneNodeSetReadOnlyMaterials(int readonly);
+
+int IAnimatedMeshSceneNodeIsReadOnlyMaterials();
+
+int IAnimatedMeshSceneNodeSetMesh(int mesh);
+
+int IAnimatedMeshSceneNodeGetMesh();
+
+int IAnimatedMeshSceneNodeGetMD3TagTransformation(int tagname);
+
+int IAnimatedMeshSceneNodeSetJointMode(int mode);
+
+int IAnimatedMeshSceneNodeSetTransitionTime(int Time);
+
+int IAnimatedMeshSceneNodeAnimateJoints(int CalculateAbsolutePositions);
+
+int IAnimatedMeshSceneNodeSetRenderFromIdentity(int On);
+
+int IAnimatedMeshSceneNodeClone(int newParent, int newManager);
+
+int IAnimationEndCallBackOnAnimationEnd(int node);
+
+int IGUIColorSelectDialogIGUIColorSelectDialog(int environment, int parent, int id, int EGUIET_COLOR_SELECT_DIALOG);
+
+int IGUITableIGUITable(int environment, int parent, int id, int EGUIET_TABLE);
+
+int IGUITableAddColumn(char * caption, int columnIndex);
+
+int IGUITableRemoveColumn(int columnIndex);
+
+int IGUITableGetColumnCount();
+
+int IGUITableSetActiveColumn(int idx, int doOrder);
+
+int IGUITableGetActiveColumn();
+
+int IGUITableGetActiveColumnOrdering();
+
+int IGUITableSetColumnWidth(int columnIndex, int width);
+
+int IGUITableSetResizableColumns(int resizable);
+
+int IGUITableHasResizableColumns();
+
+int IGUITableSetColumnOrdering(int columnIndex, int mode);
+
+int IGUITableGetSelected();
+
+int IGUITableSetSelected(int index);
+
+int IGUITableGetRowCount();
+
+int IGUITableAddRow(int rowIndex);
+
+int IGUITableRemoveRow(int rowIndex);
+
+int IGUITableClearRows();
+
+int IGUITableSwapRows(int rowIndexA, int rowIndexB);
+
+int IGUITableOrderRows(int columnIndex, int mode);
+
+int IGUITableSetCellText(int rowIndex, int columnIndex, int text);
+
+int IGUITableSetCellText(int rowIndex, int columnIndex, int text, int color);
+
+int IGUITableSetCellData(int rowIndex, int columnIndex, int data);
+
+int IGUITableSetCellColor(int rowIndex, int columnIndex, int color);
+
+int IGUITableGetCellText(int rowIndex, int columnIndex);
+
+int IGUITableGetCellData(int rowIndex, int columnIndex);
+
+int IGUITableClear();
+
+int IGUITableSetDrawFlags(int flags);
+
+int IGUITableGetDrawFlags();
+
+int ISceneNodeFactoryAddSceneNode(int type, int parent);
+
+int ISceneNodeFactoryAddSceneNode(char * typeName, int parent);
+
+int ISceneNodeFactoryGetCreatableSceneNodeTypeCount();
+
+int ISceneNodeFactoryGetCreateableSceneNodeType(int idx);
+
+int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int idx);
+
+int ISceneNodeFactoryGetCreateableSceneNodeTypeName(int type);
+
+int IGUIFontDraw(int text, int position, int color, int hcenter, int vcenter, int clip);
+
+int IGUIFontGetDimension(char * text);
+
+int IGUIFontGetCharacterFromPos(char * text, int pixel_x);
+
+int IGUIFontGetType();
+
+int IGUIFontSetKerningWidth(int kerning);
+
+int IGUIFontSetKerningHeight(int kerning);
+
+int IGUIFontGetKerningWidth(char * thisLetter, char * previousLetter);
+
+int IGUIFontGetKerningHeight();
+
+int IGUIFontSetInvisibleCharacters(char * s);
+
+int IMeshWriterIMeshWriter();
+
+int IMeshWriterGetType();
+
+int IMeshWriterWriteMesh(int file, int mesh, int flags);
+
+int IGUIElementFactoryAddGUIElement(int type, int parent);
+
+int IGUIElementFactoryAddGUIElement(char * typeName, int parent);
+
+int IGUIElementFactoryGetCreatableGUIElementTypeCount();
+
+int IGUIElementFactoryGetCreateableGUIElementType(int idx);
+
+int IGUIElementFactoryGetCreateableGUIElementTypeName(int idx);
+
+int IGUIElementFactoryGetCreateableGUIElementTypeName(int type);
+
+int IShaderConstantSetCallBackOnSetMaterial(int material);
+
+int IShaderConstantSetCallBackOnSetConstants(int services, int userData);
+
+int IMeshManipulatorFlipSurfaces(int mesh);
+
+int IMeshManipulatorSetVertexColorAlpha(int mesh, int alpha);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorSetVertexColors(int mesh, int color);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorRecalculateNormals(int mesh, int smooth, int angleWeighted);
+
+int IMeshManipulatorRecalculateNormals(int buffer, int smooth, int angleWeighted);
+
+int IMeshManipulatorRecalculateTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted);
+
+int IMeshManipulatorScale(int mesh, int factor);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorScale(int buffer, int factor);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorScaleMesh(int mesh, int factor);
+
+int IMeshManipulatorScaleTCoords(int mesh, int factor, int level);
+
+int IMeshManipulatorApply(int factor);
+
+int IMeshManipulatorScaleTCoords(int buffer, int factor, int level);
+
+int IMeshManipulatorApply(int factor);
+
+int IMeshManipulatorTransform(int mesh, int m);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorTransform(int buffer, int m);
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorTransformMesh(int mesh, int m);
+
+int IMeshManipulatorCreateMeshCopy(int mesh);
+
+int IMeshManipulatorMakePlanarTextureMapping(int mesh, int resolution);
+
+int IMeshManipulatorMakePlanarTextureMapping(int meshbuffer, int resolution);
+
+int IMeshManipulatorMakePlanarTextureMapping(int buffer, int resolutionS, int resolutionT, int axis, int offset);
+
+int IMeshManipulatorCreateMeshWithTangents(int mesh, int recalculateNormals, int smooth, int angleWeighted, int recalculateTangents);
+
+int IMeshManipulatorCreateMeshWith2TCoords(int mesh);
+
+int IMeshManipulatorCreateMeshWith1TCoords(int mesh);
+
+int IMeshManipulatorCreateMeshUniquePrimitives(int mesh);
+
+int IMeshManipulatorCreateMeshWelded(int mesh, int tolerance);
+
+int IMeshManipulatorGetPolyCount(int mesh);
+
+int IMeshManipulatorGetPolyCount(int mesh);
+
+int IMeshManipulatorCreateAnimatedMesh(int mesh, int type);
+
+int IMeshManipulatorApply(int func, int buffer, int boundingBoxUpdate);
+
+int IMeshManipulatorApply(int func, int mesh, int boundingBoxUpdate);
+
+int IMeshManipulatorGetMeshBufferCount();
+
+int IMeshManipulatorApply();
+
+int IMeshManipulatorAddInternalBox();
+
+int SColorHSLSColorHSL(int h, int s, int l, int l);
+
+int SColorHSLFromRGB(int color);
+
+int SColorHSLToRGB(int color);
+
+int SColorSColor();
+
+int SColorSColor(int a, int r, int g);
+
+int SColorSColor(int clr);
+
+int SColorGetAlpha();
+
+int SColorGetRed();
+
+int SColorGetGreen();
+
+int SColorGetBlue();
+
+int SColorGetLightness();
+
+int SColorGetLuminance();
+
+int SColorGetAverage();
+
+int SColorSetAlpha(int a);
+
+int SColorSetRed(int r);
+
+int SColorSetGreen(int g);
+
+int SColorSetBlue(int b);
+
+int SColorToA1R5G5B5();
+
+int SColorToOpenGLColor(int dest);
+
+int SColorSet(int a, int r, int g, int b);
+
+int SColorSet(int col);
+
+int SColorGetInterpolated(int other, int d);
+
+int SColorClamp();
+
+int SColorGetInterpolated_quadratic(int c1, int c2, int d);
+
+int SColorClamp();
+
+int SColorSetData(int data, int format);
+
+int SColorSwitch();
+
+int SColorA1R5G5B5toA8R8G8B8(int data);
+
+int SColorR5G6B5toA8R8G8B8(int data);
+
+int SColor_();
+
+int SColorSet();
+
+int SColorGetData(int data, int format);
+
+int SColorSwitch();
+
+int SColorA8R8G8B8toA1R5G5B5();
+
+int SColorA8R8G8B8toR5G6B5();
+
+int SColorfSColorf();
+
+int SColorfSColorf(int r, int g, int b, int a, int a);
+
+int SColorfSColorf(int c);
+
+int SColorfGetRed();
+
+int SColorfGetGreen();
+
+int SColorfGetBlue();
+
+int SColorfGetAlpha();
+
+int SColorfToSColor();
+
+int SColorfSet(int rr, int gg, int bb);
+
+int SColorfSet(int aa, int rr, int gg, int bb);
+
+int SColorfGetInterpolated(int other, int d);
+
+int SColorfClamp();
+
+int SColorfGetInterpolated_quadratic(int c1, int c2, int d);
+
+int SColorfClamp();
+
+int SColorfSetColorComponentValue(int index, int value);
+
+int SColorfSwitch();
+
+int SColorfGetAlpha();
+
+int SColorfGetRed();
+
+int SColorfGetGreen();
+
+int SColorfGetBlue();
+
+int IImageLoaderIsALoadableFileExtension(int filename);
+
+int IImageLoaderIsALoadableFileFormat(int file);
+
+int IImageLoaderLoadImage(int file);
+
+int ISceneNodeAnimatorAnimateNode(int node, int timeMs);
+
+int ISceneNodeAnimatorCreateClone(int node, int newManager);
+
+int ISceneNodeAnimatorIsEventReceiverEnabled();
+
+int ISceneNodeAnimatorOnEvent(int event);
+
+int ISceneNodeAnimatorGetType();
+
+int ISceneNodeAnimatorHasFinished();
+
+int IOSOperatorIOSOperator();
+
+int IOSOperatorGetOperationSystemVersion();
+
+int IOSOperatorCopyToClipboard(char * text);
+
+int IOSOperatorGetTextFromClipboard();
+
+int IOSOperatorGetProcessorSpeedMHz(int MHz);
+
+int IOSOperatorGetSystemMemory(int Total, int Avail);
+
+int IQ3LevelMeshGetShader(char * filename, int fileNameIsValid);
+
+int IQ3LevelMeshGetShader(int index);
+
+int IQ3LevelMeshGetEntityList();
+
+int ILightManagerOnPreRender(int lightList);
+
+int ILightManagerOnPostRender();
+
+int ILightManagerOnRenderPassPreRender(int renderPass);
+
+int ILightManagerOnRenderPassPostRender(int renderPass);
+
+int ILightManagerOnNodePreRender(int node);
+
+int ILightManagerOnNodePostRender(int node);
+
+int IParticleAttractionAffectorSetPoint(int point);
+
+int IParticleAttractionAffectorSetAttract(int attract);
+
+int IParticleAttractionAffectorSetAffectX(int affect);
+
+int IParticleAttractionAffectorSetAffectY(int affect);
+
+int IParticleAttractionAffectorSetAffectZ(int affect);
+
+int IParticleAttractionAffectorGetPoint();
+
+int IParticleAttractionAffectorGetAttract();
+
+int IParticleAttractionAffectorGetAffectX();
+
+int IParticleAttractionAffectorGetAffectY();
+
+int IParticleAttractionAffectorGetAffectZ();
+
+int IParticleAttractionAffectorGetType();
+
+int ILightSceneNodeILightSceneNode(int parent, int mgr, int id, int position, int parent);
+
+int ILightSceneNodeSetLightData(int light);
+
+int ILightSceneNodeGetLightData();
+
+int ILightSceneNodeGetLightData();
+
+int ILightSceneNodeSetVisible(int isVisible);
+
+int ILightSceneNodeSetRadius(int radius);
+
+int ILightSceneNodeGetRadius();
+
+int ILightSceneNodeSetLightType(int type);
+
+int ILightSceneNodeGetLightType();
+
+int ILightSceneNodeEnableCastShadow(int shadow);
+
+int ILightSceneNodeGetCastShadow();
+
+int IGUIComboBoxIGUIComboBox(int environment, int parent, int id, int EGUIET_COMBO_BOX);
+
+int IGUIComboBoxGetItemCount();
+
+int IGUIComboBoxGetItem(int idx);
+
+int IGUIComboBoxGetItemData(int idx);
+
+int IGUIComboBoxGetIndexForItemData(int data);
+
+int IGUIComboBoxAddItem(char * text, int data);
+
+int IGUIComboBoxRemoveItem(int idx);
+
+int IGUIComboBoxClear();
+
+int IGUIComboBoxGetSelected();
+
+int IGUIComboBoxSetSelected(int idx);
+
+int IGUIComboBoxSetTextAlignment(int horizontal, int vertical);
+
+int IGUIElementIGUIElement(int type, int environment, int parent, int id, int type);
+
+int IGUIElementSetDebugName();
+
+int IGUIElementAddChildToEnd();
+
+int IGUIElementRecalculateAbsolutePosition();
+
+int IGUIElementIGUIElement();
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementGetParent();
+
+int IGUIElementGetRelativePosition();
+
+int IGUIElementSetRelativePosition(int r);
+
+int IGUIElementGetAbsolutePosition();
+
+int IGUIElementD();
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementSetRelativePosition(int position);
+
+int IGUIElementGetSize();
+
+int IGUIElementRectangle(int X, int Y, int Width, int Height);
+
+int IGUIElementSetRelativePosition();
+
+int IGUIElementSetRelativePositionProportional(int r);
+
+int IGUIElementGetAbsolutePosition();
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementGetAbsolutePosition();
+
+int IGUIElementGetAbsoluteClippingRect();
+
+int IGUIElementSetNotClipped(int noClip);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementIsNotClipped();
+
+int IGUIElementSetMaxSize(int size);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementSetMinSize(int size);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementSetAlignment(int left, int right, int top, int bottom);
+
+int IGUIElementR();
+
+int IGUIElementD(int Width, int Height);
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementRecalculateAbsolutePosition();
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementGetElementFromPoint(int point);
+
+int IGUIElementGetLast();
+
+int IGUIElementWhile(int it);
+
+int IGUIElementIsPointInside(int point);
+
+int IGUIElementAddChild(int child);
+
+int IGUIElementAddChildToEnd();
+
+int IGUIElementUpdateAbsolutePosition();
+
+int IGUIElementRemoveChild(int child);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementErase();
+
+int IGUIElementRemove();
+
+int IGUIElementDraw();
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementOnPostRender(int timeMs);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementMove(int absoluteMovement);
+
+int IGUIElementSetRelativePosition(int absoluteMovement);
+
+int IGUIElementIsVisible();
+
+int IGUIElementSetVisible(int visible);
+
+int IGUIElementIsSubElement();
+
+int IGUIElementSetSubElement(int subElement);
+
+int IGUIElementSetTabStop(int enable);
+
+int IGUIElementIsTabStop();
+
+int IGUIElementSetTabOrder(int index);
+
+int IGUIElementGetTabGroup();
+
+int IGUIElementWhile();
+
+int IGUIElementGetNextElement();
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementSetTabGroup(int isGroup);
+
+int IGUIElementIsTabGroup();
+
+int IGUIElementGetTabGroup();
+
+int IGUIElementWhile(int ret);
+
+int IGUIElementIsEnabled();
+
+int IGUIElementSetEnabled(int enabled);
+
+int IGUIElementSetText(char * text);
+
+int IGUIElementGetText();
+
+int IGUIElementSetToolTipText(char * text);
+
+int IGUIElementGetToolTipText();
+
+int IGUIElementGetID();
+
+int IGUIElementSetID(int id);
+
+int IGUIElementOnEvent(int event);
+
+int IGUIElementBringToFront(int element);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementErase();
+
+int IGUIElementPush_back();
+
+int IGUIElementGetChildren();
+
+int IGUIElementGetElementFromId(int id, int searchchildren);
+
+int IGUIElementBegin();
+
+int IGUIElementEnd();
+
+int IGUIElementIsMyChild(int child);
+
+int IGUIElementWhile(int child);
+
+int IGUIElementGetNextElement(int startOrder, int reverse, int group, int first, int closest, int includeInvisible);
+
+int IGUIElementBegin();
+
+int IGUIElementWhile(int it);
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementGetTabOrder();
+
+int IGUIElementGetType();
+
+int IGUIElementHasType(int type);
+
+int IGUIElementGetTypeName();
+
+int IGUIElementSerializeAttributes(int out, int options);
+
+int IGUIElementAddInt();
+
+int IGUIElementAddString();
+
+int IGUIElementAddRect();
+
+int IGUIElementAddPosition2d(int Width);
+
+int IGUIElementAddPosition2d(int Width);
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddEnum();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddBool();
+
+int IGUIElementAddInt();
+
+int IGUIElementAddBool();
+
+int IGUIElementDeserializeAttributes(int in, int options);
+
+int IGUIElementSetID();
+
+int IGUIElementSetText();
+
+int IGUIElementSetVisible();
+
+int IGUIElementSetEnabled();
+
+int IGUIElementGetAttributeAsBool();
+
+int IGUIElementGetAttributeAsBool();
+
+int IGUIElementGetAttributeAsInt();
+
+int IGUIElementGetAttributeAsPosition2d();
+
+int IGUIElementSetMaxSize(int X);
+
+int IGUIElementGetAttributeAsPosition2d();
+
+int IGUIElementSetMinSize(int X);
+
+int IGUIElementSetAlignment(int LeftAlign, int RightAlign, int TopAlign, int BottomAlign);
+
+int IGUIElementSetRelativePosition();
+
+int IGUIElementSetNotClipped();
+
+int IAttributesGetAttributeCount();
+
+int IAttributesGetAttributeName(int index);
+
+int IAttributesGetAttributeType(char * attributeName);
+
+int IAttributesGetAttributeType(int index);
+
+int IAttributesGetAttributeTypeString(char * attributeName);
+
+int IAttributesGetAttributeTypeString(int index);
+
+int IAttributesExistsAttribute(char * attributeName);
+
+int IAttributesFindAttribute(char * attributeName);
+
+int IAttributesClear();
+
+int IAttributesRead(int reader, int readCurrentElementOnly, char * elementName);
+
+int IAttributesWrite(int writer, int writeXMLHeader, char * elementName);
+
+int IAttributesAddInt(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int value);
+
+int IAttributesGetAttributeAsInt(char * attributeName);
+
+int IAttributesGetAttributeAsInt(int index);
+
+int IAttributesSetAttribute(int index, int value);
+
+int IAttributesAddFloat(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int value);
+
+int IAttributesGetAttributeAsFloat(char * attributeName);
+
+int IAttributesGetAttributeAsFloat(int index);
+
+int IAttributesSetAttribute(int index, int value);
+
+int IAttributesAddString(char * attributeName, char * value);
+
+int IAttributesSetAttribute(char * attributeName, char * value);
+
+int IAttributesGetAttributeAsString(char * attributeName);
+
+int IAttributesGetAttributeAsString(char * attributeName, char * target);
+
+int IAttributesGetAttributeAsString(int index);
+
+int IAttributesSetAttribute(int index, char * value);
+
+int IAttributesAddString(char * attributeName, char * value);
+
+int IAttributesSetAttribute(char * attributeName, char * value);
+
+int IAttributesGetAttributeAsStringW(char * attributeName);
+
+int IAttributesGetAttributeAsStringW(char * attributeName, char * target);
+
+int IAttributesGetAttributeAsStringW(int index);
+
+int IAttributesSetAttribute(int index, char * value);
+
+int IAttributesAddBinary(char * attributeName, int data, int dataSizeInBytes);
+
+int IAttributesSetAttribute(char * attributeName, int data, int dataSizeInBytes);
+
+int IAttributesGetAttributeAsBinaryData(char * attributeName, int outData, int maxSizeInBytes);
+
+int IAttributesGetAttributeAsBinaryData(int index, int outData, int maxSizeInBytes);
+
+int IAttributesSetAttribute(int index, int data, int dataSizeInBytes);
+
+int IAttributesAddArray(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int value);
+
+int IAttributesGetAttributeAsArray(char * attributeName);
+
+int IAttributesGetAttributeAsArray(int index);
+
+int IAttributesSetAttribute(int index, int value);
+
+int IAttributesAddBool(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int value);
+
+int IAttributesGetAttributeAsBool(char * attributeName);
+
+int IAttributesGetAttributeAsBool(int index);
+
+int IAttributesSetAttribute(int index, int value);
+
+int IAttributesAddEnum(char * attributeName, char * enumValue, char * enumerationLiterals);
+
+int IAttributesAddEnum(char * attributeName, int enumValue, char * enumerationLiterals);
+
+int IAttributesSetAttribute(char * attributeName, char * enumValue, char * enumerationLiterals);
+
+int IAttributesGetAttributeAsEnumeration(char * attributeName);
+
+int IAttributesGetAttributeAsEnumeration(char * attributeName, char * enumerationLiteralsToUse);
+
+int IAttributesGetAttributeAsEnumeration(int index, char * enumerationLiteralsToUse);
+
+int IAttributesGetAttributeAsEnumeration(int index);
+
+int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(char * attributeName, int outLiterals);
+
+int IAttributesGetAttributeEnumerationLiteralsOfEnumeration(int index, int outLiterals);
+
+int IAttributesSetAttribute(int index, char * enumValue, char * enumerationLiterals);
+
+int IAttributesAddColor(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int color);
+
+int IAttributesGetAttributeAsColor(char * attributeName);
+
+int IAttributesGetAttributeAsColor(int index);
+
+int IAttributesSetAttribute(int index, int color);
+
+int IAttributesAddColorf(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int color);
+
+int IAttributesGetAttributeAsColorf(char * attributeName);
+
+int IAttributesGetAttributeAsColorf(int index);
+
+int IAttributesSetAttribute(int index, int color);
+
+int IAttributesAddVector3d(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsVector3d(char * attributeName);
+
+int IAttributesGetAttributeAsVector3d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddPosition2d(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsPosition2d(char * attributeName);
+
+int IAttributesGetAttributeAsPosition2d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddRect(char * attributeName, int value);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsRect(char * attributeName);
+
+int IAttributesGetAttributeAsRect(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddMatrix(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsMatrix(char * attributeName);
+
+int IAttributesGetAttributeAsMatrix(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddQuaternion(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsQuaternion(char * attributeName);
+
+int IAttributesGetAttributeAsQuaternion(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddBox3d(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsBox3d(char * attributeName);
+
+int IAttributesGetAttributeAsBox3d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddPlane3d(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsPlane3d(char * attributeName);
+
+int IAttributesGetAttributeAsPlane3d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddTriangle3d(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsTriangle3d(char * attributeName);
+
+int IAttributesGetAttributeAsTriangle3d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddLine2d(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsLine2d(char * attributeName);
+
+int IAttributesGetAttributeAsLine2d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddLine3d(char * attributeName, int v);
+
+int IAttributesSetAttribute(char * attributeName, int v);
+
+int IAttributesGetAttributeAsLine3d(char * attributeName);
+
+int IAttributesGetAttributeAsLine3d(int index);
+
+int IAttributesSetAttribute(int index, int v);
+
+int IAttributesAddTexture(char * attributeName, int texture);
+
+int IAttributesSetAttribute(char * attributeName, int texture);
+
+int IAttributesGetAttributeAsTexture(char * attributeName);
+
+int IAttributesGetAttributeAsTexture(int index);
+
+int IAttributesSetAttribute(int index, int texture);
+
+int IAttributesAddUserPointer(char * attributeName, int userPointer);
+
+int IAttributesSetAttribute(char * attributeName, int userPointer);
+
+int IAttributesGetAttributeAsUserPointer(char * attributeName);
+
+int IAttributesGetAttributeAsUserPointer(int index);
+
+int IAttributesSetAttribute(int index, int userPointer);
+
+int IXMLWriterIXMLWriter();
+
+int IXMLWriterWriteXMLHeader();
+
+int IXMLWriterWriteElement(char * name, int empty, char * attr1Name, char * attr1Value, char * attr2Name, char * attr2Value, char * attr3Name, char * attr3Value, char * attr4Name, char * attr4Value, char * attr5Name, char * attr5Value);
+
+int IXMLWriterWriteElement(char * name, int empty, int names, int values);
+
+int IXMLWriterWriteComment(char * comment);
+
+int IXMLWriterWriteClosingTag(char * name);
+
+int IXMLWriterWriteText(char * text);
+
+int IXMLWriterWriteLineBreak();
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/irrlicht.hs b/irrlicht.hs
--- a/irrlicht.hs
+++ b/irrlicht.hs
@@ -1,18 +1,27 @@
-{-# LANGUAGE ForeignFunctionInterface #-}
-
-module Irrlicht where
-
-import Foreign.GreenCard
-
-data MeshPtr = MeshPtr Int
-data NodePtr = NodePtr Int
-data TexturePtr = TexturePtr Int
-
-
-
-
-
-
+{-# LANGUAGE ForeignFunctionInterface #-}
+
+module Irrlicht where
+
+import Foreign.GreenCard
+
+data MeshPtr = MeshPtr Int
+data NodePtr = NodePtr Int
+data TexturePtr = TexturePtr Int
+data IrrDevicePtr = IrrDevicePtr Int
+data IVideoDriverPtr = IVideoDriverPtr Int
+data ISceneManagerPtr = ISceneManagerPtr Int
+data IGUIEnvironmentPtr = IGUIEnvironmentPtr Int
+
+data ITriangleSelectorPtr = ITriangleSelectorPtr Int
+data ISceneNodeAnimatorPtr = ISceneNodeAnimatorPtr Int
+data IGUIFontPtr = IGUIFontPtr Int
+data IGUIStaticTextPtr = IGUIStaticTextPtr Int
+data SMeshBufferPtr = SMeshBufferPtr Int
+
+
+
+
+
 data VideoDriverType
   = EDT_NULL
   | EDT_SOFTWARE
@@ -285,7 +294,7 @@
     >>= \  res1  ->
     (return (res1)))
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_eMF_COLOR_MATERIAL" prim_eMF_COLOR_MATERIAL :: IO (Int)
-
+
 data SceneMd2AnimationType
   = EMAT_STAND
   | EMAT_RUN
@@ -537,8 +546,6 @@
     >>= \  res1  ->
     (return (res1)))
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_eMAT_COUNT" prim_eMAT_COUNT :: IO (Int)
-
-{- Device -}
 
 getEvent :: IO Int
 getEvent =
@@ -554,6 +561,13 @@
   (return (result))
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_getCharEvent" prim_getCharEvent :: IO (Char)
 
+getLeftDown :: IO Int
+getLeftDown =
+  prim_getLeftDown
+  >>= \  result  ->
+  (return (result))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_getLeftDown" prim_getLeftDown :: IO (Int)
+
 deviceSetEventReceiver :: Int -> IO ()
 deviceSetEventReceiver control =
   prim_deviceSetEventReceiver control
@@ -566,7 +580,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_deviceSetEventReceiver" prim_deviceSetEventReceiver :: Int -> IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceSetEventReceiver_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceSetEventReceiver_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 deviceSetWindowCaption :: String -> IO ()
 deviceSetWindowCaption gc_arg1 =
   (marshall_string_ gc_arg1) >>= \ (caption) ->
@@ -580,7 +594,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_deviceSetWindowCaption" prim_deviceSetWindowCaption :: Ptr a1 -> IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceSetWindowCaption_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceSetWindowCaption_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 deviceRun :: IO Int
 deviceRun =
   prim_deviceRun
@@ -595,7 +609,7 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceRun_result :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceRun_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceRun_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 deviceDrop :: IO ()
 deviceDrop =
   prim_deviceDrop
@@ -608,8 +622,8 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_deviceDrop" prim_deviceDrop :: IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceDrop_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceDrop_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
-irrCreateDevice :: VideoDriverType -> Int -> Int -> Bool -> Bool -> Bool -> IO ()
+
+irrCreateDevice :: VideoDriverType -> Int -> Int -> Bool -> Bool -> Bool -> IO IrrDevicePtr
 irrCreateDevice gc_arg1 sizex sizey gc_arg2 gc_arg3 gc_arg4 =
   case (marshall_VideoDriverType gc_arg1) of { dtype ->
   (marshall_bool_ gc_arg2) >>= \ (fullscreen) ->
@@ -617,31 +631,63 @@
   (marshall_bool_ gc_arg4) >>= \ (vsync) ->
   prim_irrCreateDevice dtype sizex sizey fullscreen stencilbuffer vsync
   >>= \ gc_result ->
+  access_prim_irrCreateDevice_device gc_result >>= \ device ->
   access_prim_irrCreateDevice_gc_failed gc_result >>= \ gc_failed ->
   access_prim_irrCreateDevice_gc_failstring gc_result >>= \ gc_failstring ->
   if ( gc_failed /= (0::Int))
   then unmarshall_string_ gc_failstring >>=  ioError  . userError
-  else (return (()))}
+  else (return ((IrrDevicePtr device)))}
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_irrCreateDevice" prim_irrCreateDevice :: Int -> Int -> Int -> Int -> Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_irrCreateDevice_device :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_irrCreateDevice_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_irrCreateDevice_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
-{- Gui -}
-
-guiAddStaticText :: String -> Int -> Int -> Int -> Int -> IO ()
+
+guiAddStaticText :: String -> Int -> Int -> Int -> Int -> IO IGUIStaticTextPtr
 guiAddStaticText gc_arg1 topleftx toplefty lowrightx lowrighty =
   (marshall_string_ gc_arg1) >>= \ (text) ->
   prim_guiAddStaticText text topleftx toplefty lowrightx lowrighty
+  >>= \  returnedText  ->
+  (return ((IGUIStaticTextPtr returnedText)))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiAddStaticText" prim_guiAddStaticText :: Ptr a1 -> Int -> Int -> Int -> Int -> IO (Int)
+
+guiGetText :: IGUIStaticTextPtr -> IO String
+guiGetText gc_arg1 =
+  case gc_arg1 of { (IGUIStaticTextPtr pElement) ->
+  prim_guiGetText pElement
+  >>= \  result  ->
+  (unmarshall_string_ result) >>= \ gc_res1 ->
+  (return (gc_res1))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiGetText" prim_guiGetText :: Int -> IO (Ptr r1)
+
+guiSetText :: String -> IGUIStaticTextPtr -> IO ()
+guiSetText gc_arg1 gc_arg2 =
+  (marshall_string_ gc_arg1) >>= \ (text) ->
+  case gc_arg2 of { (IGUIStaticTextPtr pElement) ->
+  prim_guiSetText text pElement
   >>= \ gc_result ->
-  access_prim_guiAddStaticText_gc_failed gc_result >>= \ gc_failed ->
-  access_prim_guiAddStaticText_gc_failstring gc_result >>= \ gc_failstring ->
+  access_prim_guiSetText_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_guiSetText_gc_failstring gc_result >>= \ gc_failstring ->
   if ( gc_failed /= (0::Int))
   then unmarshall_string_ gc_failstring >>=  ioError  . userError
-  else (return (()))
-foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiAddStaticText" prim_guiAddStaticText :: Ptr a1 -> Int -> Int -> Int -> Int -> IO (Ptr r1)
-foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiAddStaticText_gc_failed :: Ptr a1 -> IO (Int)
-foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiAddStaticText_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiSetText" prim_guiSetText :: Ptr a1 -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetText_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetText_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+guiRemoveStaticText :: IGUIStaticTextPtr -> IO ()
+guiRemoveStaticText gc_arg1 =
+  case gc_arg1 of { (IGUIStaticTextPtr pText) ->
+  prim_guiRemoveStaticText pText
+  >>= \ gc_result ->
+  access_prim_guiRemoveStaticText_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_guiRemoveStaticText_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiRemoveStaticText" prim_guiRemoveStaticText :: Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiRemoveStaticText_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiRemoveStaticText_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
 guiDrawAll :: IO ()
 guiDrawAll =
   prim_guiDrawAll
@@ -654,10 +700,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiDrawAll" prim_guiDrawAll :: IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiDrawAll_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiDrawAll_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
-
-{- VideoDriver -}
-
+
 videoBeginScene :: Bool -> Bool -> Int -> Int -> Int -> Int -> IO ()
 videoBeginScene gc_arg1 gc_arg2 colr colg colb colt =
   (marshall_bool_ gc_arg1) >>= \ (a) ->
@@ -672,7 +715,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_videoBeginScene" prim_videoBeginScene :: Int -> Int -> Int -> Int -> Int -> Int -> IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoBeginScene_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoBeginScene_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 videoEndScene :: IO ()
 videoEndScene =
   prim_videoEndScene
@@ -685,7 +728,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_videoEndScene" prim_videoEndScene :: IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoEndScene_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoEndScene_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 videoGetTexture :: String -> IO TexturePtr
 videoGetTexture gc_arg1 =
   (marshall_string_ gc_arg1) >>= \ (texture) ->
@@ -701,9 +744,7 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoGetTexture_pTexture :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoGetTexture_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_videoGetTexture_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
-{- Scene -}
-
+
 sceneDrawAll :: IO ()
 sceneDrawAll =
   prim_sceneDrawAll
@@ -716,7 +757,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneDrawAll" prim_sceneDrawAll :: IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneDrawAll_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneDrawAll_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 sceneGetMesh :: String -> IO MeshPtr
 sceneGetMesh gc_arg1 =
   (marshall_string_ gc_arg1) >>= \ (mesh) ->
@@ -732,7 +773,7 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneGetMesh_pMesh :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneGetMesh_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneGetMesh_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 sceneAddAnimatedMeshSceneNode :: MeshPtr -> IO NodePtr
 sceneAddAnimatedMeshSceneNode gc_arg1 =
   case gc_arg1 of { (MeshPtr pMesh) ->
@@ -748,21 +789,23 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddAnimatedMeshSceneNode_pNode :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddAnimatedMeshSceneNode_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddAnimatedMeshSceneNode_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
-sceneAddCameraSceneNode :: (Int,Int,Int) -> (Int,Int,Int) -> IO ()
+
+sceneAddMeshSceneNode :: MeshPtr -> IO NodePtr
+sceneAddMeshSceneNode gc_arg1 =
+  case gc_arg1 of { (MeshPtr pMesh) ->
+  prim_sceneAddMeshSceneNode pMesh
+  >>= \  pNode  ->
+  (return ((NodePtr pNode)))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddMeshSceneNode" prim_sceneAddMeshSceneNode :: Int -> IO (Int)
+
+sceneAddCameraSceneNode :: (Int,Int,Int) -> (Int,Int,Int) -> IO NodePtr
 sceneAddCameraSceneNode gc_arg1 gc_arg2 =
   case gc_arg1 of { (posx,posy,posz) ->
   case gc_arg2 of { (tox,toy,toz) ->
   prim_sceneAddCameraSceneNode posx posy posz tox toy toz
-  >>= \ gc_result ->
-  access_prim_sceneAddCameraSceneNode_gc_failed gc_result >>= \ gc_failed ->
-  access_prim_sceneAddCameraSceneNode_gc_failstring gc_result >>= \ gc_failstring ->
-  if ( gc_failed /= (0::Int))
-  then unmarshall_string_ gc_failstring >>=  ioError  . userError
-  else (return (()))}}
-foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddCameraSceneNode" prim_sceneAddCameraSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO (Ptr r1)
-foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddCameraSceneNode_gc_failed :: Ptr a1 -> IO (Int)
-foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddCameraSceneNode_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+  >>= \  pNode  ->
+  (return ((NodePtr pNode)))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddCameraSceneNode" prim_sceneAddCameraSceneNode :: Int -> Int -> Int -> Int -> Int -> Int -> IO (Int)
 
 sceneAddOctTreeSceneNode :: MeshPtr -> IO NodePtr
 sceneAddOctTreeSceneNode gc_arg1 =
@@ -780,6 +823,21 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddOctTreeSceneNode_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddOctTreeSceneNode_gc_failstring :: Ptr a1 -> IO (Ptr r1)
 
+sceneAddSphereSceneNode :: Int -> (Int,Int,Int) -> IO NodePtr
+sceneAddSphereSceneNode radius gc_arg1 =
+  case gc_arg1 of { (posx,posy,posz) ->
+  prim_sceneAddSphereSceneNode radius posx posy posz
+  >>= \  pNode  ->
+  (return ((NodePtr pNode)))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddSphereSceneNode" prim_sceneAddSphereSceneNode :: Int -> Int -> Int -> Int -> IO (Int)
+
+sceneAddCubeSceneNode :: IO NodePtr
+sceneAddCubeSceneNode =
+  prim_sceneAddCubeSceneNode
+  >>= \  pNode  ->
+  (return ((NodePtr pNode)))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddCubeSceneNode" prim_sceneAddCubeSceneNode :: IO (Int)
+
 sceneNodeSetPosition :: (Int,Int,Int) -> NodePtr -> IO ()
 sceneNodeSetPosition gc_arg1 gc_arg2 =
   case gc_arg1 of { (posx,posy,posz) ->
@@ -795,21 +853,303 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetPosition_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetPosition_gc_failstring :: Ptr a1 -> IO (Ptr r1)
 
-sceneAddCameraSceneNodeFPS :: IO ()
-sceneAddCameraSceneNodeFPS =
-  prim_sceneAddCameraSceneNodeFPS
+sceneNodeGetPositionX :: NodePtr -> IO Int
+sceneNodeGetPositionX gc_arg1 =
+  case gc_arg1 of { (NodePtr pNode) ->
+  prim_sceneNodeGetPositionX pNode
+  >>= \  x  ->
+  (return (x))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeGetPositionX" prim_sceneNodeGetPositionX :: Int -> IO (Int)
+
+sceneNodeGetPositionY :: NodePtr -> IO Int
+sceneNodeGetPositionY gc_arg1 =
+  case gc_arg1 of { (NodePtr pNode) ->
+  prim_sceneNodeGetPositionY pNode
+  >>= \  y  ->
+  (return (y))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeGetPositionY" prim_sceneNodeGetPositionY :: Int -> IO (Int)
+
+sceneNodeGetPositionZ :: NodePtr -> IO Int
+sceneNodeGetPositionZ gc_arg1 =
+  case gc_arg1 of { (NodePtr pNode) ->
+  prim_sceneNodeGetPositionZ pNode
+  >>= \  z  ->
+  (return (z))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeGetPositionZ" prim_sceneNodeGetPositionZ :: Int -> IO (Int)
+
+sceneNodeGetDistanceFrom :: NodePtr -> NodePtr -> Int
+sceneNodeGetDistanceFrom gc_arg1 gc_arg2 =
+  unsafePerformIO(
+    case gc_arg1 of { (NodePtr pStart) ->
+    case gc_arg2 of { (NodePtr pEnd) ->
+    prim_sceneNodeGetDistanceFrom pStart pEnd
+    >>= \  distance  ->
+    (return (distance))}})
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeGetDistanceFrom" prim_sceneNodeGetDistanceFrom :: Int -> Int -> IO (Int)
+
+sceneNodeSetTarget :: (Int,Int,Int) -> NodePtr -> IO ()
+sceneNodeSetTarget gc_arg1 gc_arg2 =
+  case gc_arg1 of { (posx,posy,posz) ->
+  case gc_arg2 of { (NodePtr pNode) ->
+  prim_sceneNodeSetTarget posx posy posz pNode
   >>= \ gc_result ->
-  access_prim_sceneAddCameraSceneNodeFPS_gc_failed gc_result >>= \ gc_failed ->
-  access_prim_sceneAddCameraSceneNodeFPS_gc_failstring gc_result >>= \ gc_failstring ->
+  access_prim_sceneNodeSetTarget_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeSetTarget_gc_failstring gc_result >>= \ gc_failstring ->
   if ( gc_failed /= (0::Int))
   then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeSetTarget" prim_sceneNodeSetTarget :: Int -> Int -> Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetTarget_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetTarget_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneNodeSetRotation :: (Int,Int,Int) -> NodePtr -> IO ()
+sceneNodeSetRotation gc_arg1 gc_arg2 =
+  case gc_arg1 of { (x,y,z) ->
+  case gc_arg2 of { (NodePtr pNode) ->
+  prim_sceneNodeSetRotation x y z pNode
+  >>= \ gc_result ->
+  access_prim_sceneNodeSetRotation_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeSetRotation_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeSetRotation" prim_sceneNodeSetRotation :: Int -> Int -> Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetRotation_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetRotation_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneNodeSetScale :: Int -> NodePtr -> IO ()
+sceneNodeSetScale scale gc_arg1 =
+  case gc_arg1 of { (NodePtr pNode) ->
+  prim_sceneNodeSetScale scale pNode
+  >>= \ gc_result ->
+  access_prim_sceneNodeSetScale_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeSetScale_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeSetScale" prim_sceneNodeSetScale :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetScale_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetScale_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneCreateCollisionResponseAnimator :: ITriangleSelectorPtr -> NodePtr -> (Int,Int,Int) -> (Int,Int,Int) -> (Int,Int,Int) -> IO ISceneNodeAnimatorPtr
+sceneCreateCollisionResponseAnimator gc_arg1 gc_arg2 gc_arg3 gc_arg4 gc_arg5 =
+  case gc_arg1 of { (ITriangleSelectorPtr pSelector) ->
+  case gc_arg2 of { (NodePtr pNode) ->
+  case gc_arg3 of { (rx,ry,rz) ->
+  case gc_arg4 of { (gx,gy,gz) ->
+  case gc_arg5 of { (tx,ty,tz) ->
+  prim_sceneCreateCollisionResponseAnimator pSelector pNode rx ry rz gx gy gz tx ty tz
+  >>= \  anim  ->
+  (return ((ISceneNodeAnimatorPtr anim)))}}}}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneCreateCollisionResponseAnimator" prim_sceneCreateCollisionResponseAnimator :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int)
+
+sceneNodeAddAnimator :: NodePtr -> ISceneNodeAnimatorPtr -> IO ()
+sceneNodeAddAnimator gc_arg1 gc_arg2 =
+  case gc_arg1 of { (NodePtr node) ->
+  case gc_arg2 of { (ISceneNodeAnimatorPtr pAnim) ->
+  prim_sceneNodeAddAnimator node pAnim
+  >>= \ gc_result ->
+  access_prim_sceneNodeAddAnimator_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeAddAnimator_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeAddAnimator" prim_sceneNodeAddAnimator :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeAddAnimator_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeAddAnimator_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneNodeAnimatorDrop :: ISceneNodeAnimatorPtr -> IO ()
+sceneNodeAnimatorDrop gc_arg1 =
+  case gc_arg1 of { (ISceneNodeAnimatorPtr pAnim) ->
+  prim_sceneNodeAnimatorDrop pAnim
+  >>= \ gc_result ->
+  access_prim_sceneNodeAnimatorDrop_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeAnimatorDrop_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeAnimatorDrop" prim_sceneNodeAnimatorDrop :: Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeAnimatorDrop_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeAnimatorDrop_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneTriangleSelectorDrop :: ITriangleSelectorPtr -> IO ()
+sceneTriangleSelectorDrop gc_arg1 =
+  case gc_arg1 of { (ITriangleSelectorPtr pSelector) ->
+  prim_sceneTriangleSelectorDrop pSelector
+  >>= \ gc_result ->
+  access_prim_sceneTriangleSelectorDrop_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneTriangleSelectorDrop_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneTriangleSelectorDrop" prim_sceneTriangleSelectorDrop :: Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneTriangleSelectorDrop_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneTriangleSelectorDrop_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneAddLightSceneNode :: IO ()
+sceneAddLightSceneNode =
+  prim_sceneAddLightSceneNode
+  >>= \ gc_result ->
+  access_prim_sceneAddLightSceneNode_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneAddLightSceneNode_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
   else (return (()))
-foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddCameraSceneNodeFPS" prim_sceneAddCameraSceneNodeFPS :: IO (Ptr r1)
-foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddCameraSceneNodeFPS_gc_failed :: Ptr a1 -> IO (Int)
-foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddCameraSceneNodeFPS_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
-{- Node -}
-
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddLightSceneNode" prim_sceneAddLightSceneNode :: IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddLightSceneNode_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddLightSceneNode_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneAddAmbientLight :: (Int,Int,Int,Int) -> IO ()
+sceneAddAmbientLight gc_arg1 =
+  case gc_arg1 of { (r,g,b,a) ->
+  prim_sceneAddAmbientLight r g b a
+  >>= \ gc_result ->
+  access_prim_sceneAddAmbientLight_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneAddAmbientLight_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddAmbientLight" prim_sceneAddAmbientLight :: Int -> Int -> Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddAmbientLight_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneAddAmbientLight_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+guiGetFont :: String -> IO IGUIFontPtr
+guiGetFont gc_arg1 =
+  (marshall_string_ gc_arg1) >>= \ (path) ->
+  prim_guiGetFont path
+  >>= \  font  ->
+  (return ((IGUIFontPtr font)))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiGetFont" prim_guiGetFont :: Ptr a1 -> IO (Int)
+
+guiSetDrawBackground :: Bool -> IGUIStaticTextPtr -> IO ()
+guiSetDrawBackground gc_arg1 gc_arg2 =
+  (marshall_bool_ gc_arg1) >>= \ (visibility) ->
+  case gc_arg2 of { (IGUIStaticTextPtr pText) ->
+  prim_guiSetDrawBackground visibility pText
+  >>= \ gc_result ->
+  access_prim_guiSetDrawBackground_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_guiSetDrawBackground_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiSetDrawBackground" prim_guiSetDrawBackground :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetDrawBackground_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetDrawBackground_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+guiSetDrawBorder :: Bool -> IGUIStaticTextPtr -> IO ()
+guiSetDrawBorder gc_arg1 gc_arg2 =
+  (marshall_bool_ gc_arg1) >>= \ (visibility) ->
+  case gc_arg2 of { (IGUIStaticTextPtr pText) ->
+  prim_guiSetDrawBorder visibility pText
+  >>= \ gc_result ->
+  access_prim_guiSetDrawBorder_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_guiSetDrawBorder_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiSetDrawBorder" prim_guiSetDrawBorder :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetDrawBorder_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetDrawBorder_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+guiSetOverrideFont :: IGUIFontPtr -> IGUIStaticTextPtr -> IO ()
+guiSetOverrideFont gc_arg1 gc_arg2 =
+  case gc_arg1 of { (IGUIFontPtr pFont) ->
+  case gc_arg2 of { (IGUIStaticTextPtr pText) ->
+  prim_guiSetOverrideFont pFont pText
+  >>= \ gc_result ->
+  access_prim_guiSetOverrideFont_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_guiSetOverrideFont_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiSetOverrideFont" prim_guiSetOverrideFont :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetOverrideFont_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetOverrideFont_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+guiSetBackgroundColor :: (Int,Int,Int,Int) -> IGUIStaticTextPtr -> IO ()
+guiSetBackgroundColor gc_arg1 gc_arg2 =
+  case gc_arg1 of { (alpha,red,green,blue) ->
+  case gc_arg2 of { (IGUIStaticTextPtr pText) ->
+  prim_guiSetBackgroundColor alpha red green blue pText
+  >>= \ gc_result ->
+  access_prim_guiSetBackgroundColor_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_guiSetBackgroundColor_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_guiSetBackgroundColor" prim_guiSetBackgroundColor :: Int -> Int -> Int -> Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetBackgroundColor_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_guiSetBackgroundColor_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+deviceSetCursorVisibility :: Bool -> IO ()
+deviceSetCursorVisibility gc_arg1 =
+  (marshall_bool_ gc_arg1) >>= \ (visibility) ->
+  prim_deviceSetCursorVisibility visibility
+  >>= \ gc_result ->
+  access_prim_deviceSetCursorVisibility_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_deviceSetCursorVisibility_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_deviceSetCursorVisibility" prim_deviceSetCursorVisibility :: Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceSetCursorVisibility_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_deviceSetCursorVisibility_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneCreateOctreeTriangleSelector :: MeshPtr -> NodePtr -> Int -> IO ITriangleSelectorPtr
+sceneCreateOctreeTriangleSelector gc_arg1 gc_arg2 poly =
+  case gc_arg1 of { (MeshPtr pMesh) ->
+  case gc_arg2 of { (NodePtr pNode) ->
+  prim_sceneCreateOctreeTriangleSelector pMesh pNode poly
+  >>= \  selector  ->
+  (return ((ITriangleSelectorPtr selector)))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneCreateOctreeTriangleSelector" prim_sceneCreateOctreeTriangleSelector :: Int -> Int -> Int -> IO (Int)
+
+sceneNodeSetTriangleSelector :: ITriangleSelectorPtr -> NodePtr -> IO ()
+sceneNodeSetTriangleSelector gc_arg1 gc_arg2 =
+  case gc_arg1 of { (ITriangleSelectorPtr pSelector) ->
+  case gc_arg2 of { (NodePtr pNode) ->
+  prim_sceneNodeSetTriangleSelector pSelector pNode
+  >>= \ gc_result ->
+  access_prim_sceneNodeSetTriangleSelector_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeSetTriangleSelector_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeSetTriangleSelector" prim_sceneNodeSetTriangleSelector :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetTriangleSelector_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetTriangleSelector_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneNodeSetVisible :: NodePtr -> Bool -> IO ()
+sceneNodeSetVisible gc_arg1 gc_arg2 =
+  case gc_arg1 of { (NodePtr pNode) ->
+  (marshall_bool_ gc_arg2) >>= \ (visible) ->
+  prim_sceneNodeSetVisible pNode visible
+  >>= \ gc_result ->
+  access_prim_sceneNodeSetVisible_gc_failed gc_result >>= \ gc_failed ->
+  access_prim_sceneNodeSetVisible_gc_failstring gc_result >>= \ gc_failstring ->
+  if ( gc_failed /= (0::Int))
+  then unmarshall_string_ gc_failstring >>=  ioError  . userError
+  else (return (()))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeSetVisible" prim_sceneNodeSetVisible :: Int -> Int -> IO (Ptr r1)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetVisible_gc_failed :: Ptr a1 -> IO (Int)
+foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_sceneNodeSetVisible_gc_failstring :: Ptr a1 -> IO (Ptr r1)
+
+sceneNodeIsVisible :: NodePtr -> Int
+sceneNodeIsVisible gc_arg1 =
+  unsafePerformIO(
+    case gc_arg1 of { (NodePtr pNode) ->
+    prim_sceneNodeIsVisible pNode
+    >>= \  visible  ->
+    (return (visible))})
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneNodeIsVisible" prim_sceneNodeIsVisible :: Int -> IO (Int)
+
+sceneAddCameraSceneNodeFPS :: IO NodePtr
+sceneAddCameraSceneNodeFPS =
+  prim_sceneAddCameraSceneNodeFPS
+  >>= \  pNode  ->
+  (return ((NodePtr pNode)))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneAddCameraSceneNodeFPS" prim_sceneAddCameraSceneNodeFPS :: IO (Int)
+
 nodeSetMaterialTexture :: NodePtr -> TexturePtr -> IO ()
 nodeSetMaterialTexture gc_arg1 gc_arg2 =
   case gc_arg1 of { (NodePtr pNode) ->
@@ -824,7 +1164,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_nodeSetMaterialTexture" prim_nodeSetMaterialTexture :: Int -> Int -> IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_nodeSetMaterialTexture_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_nodeSetMaterialTexture_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 nodeSetMaterialFlag :: NodePtr -> VideoMaterialFlag -> Bool -> IO ()
 nodeSetMaterialFlag gc_arg1 gc_arg2 gc_arg3 =
   case gc_arg1 of { (NodePtr pNode) ->
@@ -840,7 +1180,7 @@
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_nodeSetMaterialFlag" prim_nodeSetMaterialFlag :: Int -> Int -> Int -> IO (Ptr r1)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_nodeSetMaterialFlag_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_nodeSetMaterialFlag_gc_failstring :: Ptr a1 -> IO (Ptr r1)
-
+
 nodeSetMd2Animation :: NodePtr -> SceneMd2AnimationType -> IO ()
 nodeSetMd2Animation gc_arg1 gc_arg2 =
   case gc_arg1 of { (NodePtr pNode) ->
@@ -856,7 +1196,6 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_nodeSetMd2Animation_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_nodeSetMd2Animation_gc_failstring :: Ptr a1 -> IO (Ptr r1)
 
-{- Files -}
 fileSystemAddZipFileArchive :: String -> IO ()
 fileSystemAddZipFileArchive gc_arg1 =
   (marshall_string_ gc_arg1) >>= \ (file) ->
@@ -871,7 +1210,6 @@
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_fileSystemAddZipFileArchive_gc_failed :: Ptr a1 -> IO (Int)
 foreign import ccall unsafe "irrlicht_stub_ffi.h" access_prim_fileSystemAddZipFileArchive_gc_failstring :: Ptr a1 -> IO (Ptr r1)
 
-{- Timer -}
 getVirtualTime :: Int
 getVirtualTime =
   unsafePerformIO(
@@ -880,4 +1218,33 @@
     (return (res1)))
 foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_getVirtualTime" prim_getVirtualTime :: IO (Int)
 
-
+sceneCreateMeshBuffer :: IO SMeshBufferPtr
+sceneCreateMeshBuffer =
+  prim_sceneCreateMeshBuffer
+  >>= \  pBuff  ->
+  (return ((SMeshBufferPtr pBuff)))
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneCreateMeshBuffer" prim_sceneCreateMeshBuffer :: IO (Int)
+
+scenePushBackVerticesOne :: SMeshBufferPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO SMeshBufferPtr
+scenePushBackVerticesOne gc_arg1 numVert i vx vy vz ex ey ez =
+  case gc_arg1 of { (SMeshBufferPtr buff) ->
+  prim_scenePushBackVerticesOne buff numVert i vx vy vz ex ey ez
+  >>= \  pBuff  ->
+  (return ((SMeshBufferPtr pBuff)))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_scenePushBackVerticesOne" prim_scenePushBackVerticesOne :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int)
+
+scenePushBackVerticesTwo :: SMeshBufferPtr -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO SMeshBufferPtr
+scenePushBackVerticesTwo gc_arg1 numVert i vx vy vz ex ey ez =
+  case gc_arg1 of { (SMeshBufferPtr buff) ->
+  prim_scenePushBackVerticesTwo buff numVert i vx vy vz ex ey ez
+  >>= \  pBuff  ->
+  (return ((SMeshBufferPtr pBuff)))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_scenePushBackVerticesTwo" prim_scenePushBackVerticesTwo :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int)
+
+sceneGetMeshFromBuffer :: SMeshBufferPtr -> IO MeshPtr
+sceneGetMeshFromBuffer gc_arg1 =
+  case gc_arg1 of { (SMeshBufferPtr buff) ->
+  prim_sceneGetMeshFromBuffer buff
+  >>= \  pMesh  ->
+  (return ((MeshPtr pMesh)))}
+foreign import  ccall unsafe "irrlicht_stub_ffi.h prim_sceneGetMeshFromBuffer" prim_sceneGetMeshFromBuffer :: Int -> IO (Int)
diff --git a/irrlicht.o b/irrlicht.o
new file mode 100644
Binary files /dev/null and b/irrlicht.o differ
diff --git a/irrlicht_interface.cpp b/irrlicht_interface.cpp
deleted file mode 100644
--- a/irrlicht_interface.cpp
+++ /dev/null
@@ -1,582 +0,0 @@
-#include "irrlicht_interface.h"
-#include "irrlicht.h"
-
-#include <stdlib.h>
-#include <iostream>
-
-using namespace std;
-using namespace irr;
-using namespace core;
-using namespace scene;
-using namespace video;
-using namespace io;
-using namespace gui;
-using namespace std;
-
-class HelperEvent {
-
-	public:
-	
-		int helper_event;
-		char char_event;
-	
-		HelperEvent() {
-			helper_event = -1;
-			char_event = ' ';
-		}	
-		
-		void setHelperEvent(int event_value) {			
-			helper_event = event_value;
-		}
-		
-		void setCharEvent(char event_char) {
-			char_event = event_char;
-		}
-		
-		int getHelperEvent() {
-			return helper_event;
-		}
-		
-		char getCharEvent() {
-			return char_event;
-		}
-
-};
-
-class MyEventReceiver : public IEventReceiver
-{
-public:
-
-	MyEventReceiver(HelperEvent *irrlicht_helper_event) : Irrlicht_helper_event(irrlicht_helper_event)
-	{
-	}
-
-	bool OnEvent(const SEvent& event)
-	{
-		if (event.EventType == irr::EET_KEY_INPUT_EVENT && !event.KeyInput.PressedDown)
-		{
-
-			switch (event.KeyInput.Key)
-			{
-			case irr::KEY_KEY_A:
-				Irrlicht_helper_event->setHelperEvent(1);	
-				Irrlicht_helper_event->setCharEvent('a');			
-				return true;
-				
-			case irr::KEY_KEY_B:
-
-				Irrlicht_helper_event->setHelperEvent(2);
-				Irrlicht_helper_event->setCharEvent('b');
-			    return true;	
-			    
-			case irr::KEY_KEY_C:
-				Irrlicht_helper_event->setHelperEvent(3);
-				Irrlicht_helper_event->setCharEvent('c');
-			    return true;	    			    
-
-			case irr::KEY_KEY_D:
-				Irrlicht_helper_event->setHelperEvent(4);
-				Irrlicht_helper_event->setCharEvent('d');
-			    return true;
-			    
-			default:			    
-				break;
-			}
-		}
-
-		return false;
-	}
-
-private:
-	HelperEvent* Irrlicht_helper_event;
-};
-
-class HelperSceneNode
-{
-	irr::scene::ISceneNode *sceneNode;
-	irr::scene::IAnimatedMeshSceneNode *animatedMeshSceneNode;
-	
-	public:
-		HelperSceneNode(IAnimatedMeshSceneNode* amsn)
-		{
-			animatedMeshSceneNode = amsn;
-			sceneNode = amsn;
-		}
-		
-		irr::scene::ISceneNode* getSceneNode()
-		{
-			return sceneNode;
-		}
-		
-		irr::scene::IAnimatedMeshSceneNode* getAnimatedMeshSceneNode()
-		{
-			return animatedMeshSceneNode;
-		}
-};
-
-class HelperMesh
-{
-	irr::scene::IMesh *mesh;
-	irr::scene::IAnimatedMesh *animatedMesh;
-	
-	public:
-		HelperMesh(IAnimatedMesh* am)
-		{
-			animatedMesh = am;
-			mesh = am;
-		}
-		
-		irr::scene::IMesh* getMesh()
-		{
-			return mesh;
-		}
-		irr::scene::IAnimatedMesh* getAnimatedMesh()
-		{
-			return animatedMesh;
-		}
-};
-
-
-static IrrlichtDevice* irrDevice = 0;
-static IVideoDriver* irrVideoDriver = 0;
-static ISceneManager* irrSceneManager = 0;
-static IGUIEnvironment* irrGuiEnvironment = 0;
-
-static HelperEvent* helperEvent = new HelperEvent();
-
-static MyEventReceiver receiver(helperEvent);
-
-
-static wchar_t wcstring[2000];
-wchar_t * toWchar(char* text)
-{
-	// Convert to a wchar_t*
-	size_t convertedChars = 0;
-	int len = strlen(text)+1; 
-	
-	if (len > 500)
-	{
-		return NULL;
-	}
-	else
-	{
-		mbstowcs(wcstring, text, strlen(text)+1);
-		return wcstring;
-	}
-};
-
-
-static char lastError[512];
-
-void setError(char* error)
-{
-	strcpy(lastError, error);
-};
-
-char* getError()
-{
-	return lastError;
-};
-
-extern "C" int DeviceSetEventReceiver(int control) {
-
-    if (irrDevice == 0) {
-        setError("DeviceSetEventReceiver error");
-        return -1;
-    } else {
-	        irrDevice->setEventReceiver(&receiver);
-	        return 0;
-    }
-
-}
-
-extern "C" int GetEvent() {
-
-	int event = helperEvent->getHelperEvent();
-	helperEvent->setHelperEvent(0);
-
-    return event;
-
-}
-
-extern "C" char GetCharEvent() {
-
-	char event = helperEvent->getCharEvent();
-	helperEvent->setCharEvent(' ');	
-	return event;
-
-}
-
-extern "C" int DeviceSetWindowCaption(char* caption)
-{
-	if (irrDevice == 0)
-	{
-		setError("DeviceSetWindowCaption: library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		wchar_t *wCaption = toWchar(caption);
-		if (wCaption == NULL)
-		{
-			setError("DeviceSetWindowCaption: input text larger then 500 chars");
-			return -1;
-		}
-		else
-		{
-			irrDevice->setWindowCaption(wCaption);
-			return 0;
-		}
-	}
-}
-
-extern "C" int DeviceRun()
-{
-	if (irrDevice == 0)
-	{
-		setError("DeviceRun: library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-		return irrDevice->run();
-}
-
-extern "C" int DeviceDrop()
-{
-	if (irrDevice == 0)
-	{
-		setError("DeviceDrop: library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		irrDevice->drop();
-		return 0;
-	}
-}
-
-extern "C" int IrrCreateDevice (int dtype, int sizex, int sizey, int fullscreen, int stencilbuffer, int vsync)
-{
-	if (sizey < 0 || sizex < 0)
-	{
-		setError("IrrCreateDevice: sizex or sizey is negative");
-		return -1;
-	}
-	
-	irrDevice =
-		createDevice( (irr::video::E_DRIVER_TYPE) dtype, dimension2d<u32>(sizex, sizey), 16,
-			fullscreen, stencilbuffer, vsync, 0);
-
-			
-	if (!irrDevice)
-	{
-		setError("IrrCreateDevice: device could not be created");
-		return -1;
-	}
-	else
-	{
-		irrVideoDriver = irrDevice->getVideoDriver();
-		irrSceneManager = irrDevice->getSceneManager();
-		irrGuiEnvironment = irrDevice->getGUIEnvironment();
-		return 0;
-	}
-}
-
-extern "C" int GuiAddStaticText(char* text, int topleftx, int toplefty, int lowrightx, int lowrighty)
-{
-	if (irrGuiEnvironment == 0)
-	{
-		setError("GuiAddStaticText: library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		wchar_t *wtext = toWchar(text);
-		if (wtext == NULL)
-		{
-			setError("GuiAddStaticText: input text larger then 500 chars");
-			return -1;
-		}
-		else
-		{
-			irrGuiEnvironment->addStaticText(wtext,
-				rect<s32>(topleftx,toplefty,lowrightx,lowrighty), true);
-			return 0;
-		}
-	}
-}
-
-extern "C" int GuiDrawAll()
-{
-	if (irrGuiEnvironment == 0)
-	{
-		setError("GuiDrawAll: library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		irrGuiEnvironment->drawAll();
-		return 0;
-	}
-}
-
-extern "C" int VideoBeginScene(int a, int b, int colr, int colg, int colb, int colt)
-{
-	if (irrVideoDriver == 0)
-	{
-		setError("VideoBeginScene: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		irrVideoDriver->beginScene(a, b, SColor(colt,colr,colg,colb));
-		return 0;
-	}
-}
-
-extern "C" int VideoEndScene()
-{
-	if (irrVideoDriver == 0)
-	{
-		setError("VideoEndScene: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		irrVideoDriver->endScene();
-		return 0;
-	}
-}
-
-extern "C" 	int VideoGetTexture(char* texture)
-{
-	if (irrVideoDriver == 0)
-	{
-		setError("VideoGetTexture: Irrlicht library not initialized (use irrCreateDevice)");
-		return 0;
-	}
-	else
-		return (int) irrVideoDriver->getTexture(texture);
-}
-
-
-extern "C" int SceneDrawAll()
-{
-	if (irrSceneManager == 0)
-	{
-		setError("SceneDrawAll: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		irrSceneManager->drawAll();
-		return 0;
-	}
-}
-
-extern "C" 	int SceneGetMesh(char* mesh)
-{
-	if (irrSceneManager == 0)
-	{
-		setError("SceneGetMesh: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		IAnimatedMesh* pMesh = irrSceneManager->getMesh(mesh);
-		if (pMesh == 0)
-		{
-			setError("SceneGetMesh: could not load mesh");
-			return -1;
-		}
-		else
-			return (int) new HelperMesh(pMesh);
-	}
-}
-
-extern "C" int SceneAddAnimatedMeshSceneNode(int pMesh)
-{
-	if (irrSceneManager == 0)
-	{
-		setError("SceneAddAnimatedMeshSceneNode: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		IAnimatedMesh *pam = ((HelperMesh *) pMesh)->getAnimatedMesh();
-		if (pam != NULL)
-			return  (int) new HelperSceneNode((IAnimatedMeshSceneNode* )irrSceneManager->addAnimatedMeshSceneNode(pam));
-		else
-		{
-			setError("SceneAddAnimatedMeshSceneNode: provided mesh pointer is of wrong type");
-			return -1;
-		}
-	}
-}
-
-extern "C" int SceneAddCameraSceneNode(int posx, int posy, int posz, int tox, int toy, int toz)
-{
-	if (irrSceneManager == 0)
-	{
-		setError("SceneAddCameraSceneNode: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		irrSceneManager->addCameraSceneNode(0, vector3df(posx,posy,posz), vector3df(tox,toy,toz));
-		return 0;
-	}
-}
-
-
-extern "C" int NodeSetMaterialTexture(int pNode, int pTexture)
-{
-	if (pNode == 0)
-	{
-		setError("NodeSetMaterialTexture: node parameter is zero in NodeSetMaterialTexture");
-		return -1;
-	}
-	else if (pTexture == 0)
-	{
-		setError("NodeSetMaterialTexture: texture parameter is zero in NodeSetMaterialTexture");
-		return -1;
-	}
-	else
-	{
-		ISceneNode* sceneNode = ((HelperSceneNode *) pNode)->getSceneNode();
-		if (sceneNode == NULL)
-		{
-			setError("NodeSetMaterialTexture: node parameter is of wrong type");
-			return -1;
-		}
-		else
-		{
-			sceneNode->setMaterialTexture(0, (ITexture *) pTexture);
-			return 0;
-		}
-	}
-}
-
-extern "C" int NodeSetMaterialFlag(int pNode, int mflag, int value)
-{
-	if (pNode == 0)
-	{
-		setError("NodeSetMaterialFlag: node parameter is zero in NodeSetMaterialTexture");
-		return -1;
-	}
-	else
-	{
-		ISceneNode* sceneNode = ((HelperSceneNode *) pNode)->getSceneNode();
-		if (sceneNode == NULL)
-		{
-			setError("NodeSetMaterialFlag: node parameter is of wrong type");
-			return -1;
-		}
-		else
-		{
-			sceneNode->setMaterialFlag((video::E_MATERIAL_FLAG) mflag, value);
-			return 0;
-		}
-	}
-}
-
-extern "C" int NodeSetMd2Animation(int pNode, int atype)
-{
-	if (pNode == 0)
-	{
-		setError("NodeSetMd2Animation: node parameter is zero in NodeSetMaterialTexture");
-		return -1;
-	}
-	else
-	{
-		IAnimatedMeshSceneNode* sceneNode = ((HelperSceneNode *) pNode)->getAnimatedMeshSceneNode();
-		if (sceneNode == NULL)
-		{
-			setError("NodeSetMd2Animation: node parameter is of wrong type");
-			return -1;
-		}
-		else
-		{
-			sceneNode->setMD2Animation((scene::EMD2_ANIMATION_TYPE) atype);
-			return 0;
-		}
-	}
-}
-
-extern "C" int FileSystemAddZipFileArchive(char *file)
-{
-
-	int r;
-	r = irrDevice->getFileSystem()->addZipFileArchive(file);
-
-	if (r == 0) //false
-	{
-	setError("no file map loaded");
-		return -1;
-	} else {
-	    return 0;
-	}
-
-
-}
-
-extern "C" int SceneAddOctTreeSceneNode(int pMesh)
-{
-
-	if (irrSceneManager == 0)
-	{
-		setError("SceneAddOctTreeSceneNode: Irrlicht library not initialized (use irrCreateDevice)");
-		return -1;
-	}
-	else
-	{
-		IAnimatedMesh *qMesh = ((HelperMesh *) pMesh)->getAnimatedMesh();
-		if (qMesh != NULL)
-			return  (int) new HelperSceneNode((IAnimatedMeshSceneNode* ) irrSceneManager->addOctTreeSceneNode(qMesh->getMesh(0), 0, -1, 1024));
-		else
-		{
-			setError("SceneAddOctTreeSceneNode: provided mesh pointer is of wrong type");
-			return -1;
-		}
-	}
-}
-
-
-extern "C" int SceneNodeSetPosition (int posx, int posy, int posz, int pNode)
-{
-
-	ISceneNode* sceneNode = ((HelperSceneNode *) pNode)->getSceneNode();
-	
-	if (sceneNode == NULL) {
-	
-		setError("NodeSetMaterialFlag: node parameter is of wrong type");
-	
-		return -1;
-	} else {	
-	
-		sceneNode->setPosition( vector3df(posx,posy,posz) );
-		return 0;
-	}
-
-}
-
-extern "C" int SceneAddCameraSceneNodeFPS ()
-{
-
-	irrSceneManager->addCameraSceneNodeFPS();
-	return 0;
-}
-
-extern "C" int GetVirtualTime () {
-	int time = irrDevice->getTimer()->getTime();
-	return time;
-}
-
-
-
-
-
-
-
-
-
diff --git a/irrlicht_interface.h b/irrlicht_interface.h
deleted file mode 100644
--- a/irrlicht_interface.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifdef __cplusplus
-extern "C" {
-#endif 
-
-char* getError();
-
-int GetEvent();
-char GetCharEvent();
-
-int DeviceSetEventReceiver(int control);
-int DeviceSetWindowCaption(char* caption);
-int DeviceRun();
-int DeviceDrop();
-int IrrCreateDevice (int dtype, int sizex, int sizey, int fullscreen, int stencilbuffer, int vsync);
-
-int GuiAddStaticText(char* text, int topleftx, int toplefty, int lowrightx, int lowrighty);
-int GuiDrawAll();
-
-int VideoBeginScene(int a, int b, int colr, int colg, int colb, int colt);
-int VideoEndScene();
-int VideoGetTexture(char* texture);
-
-int SceneDrawAll();
-int SceneGetMesh(char* mesh);
-int SceneAddAnimatedMeshSceneNode(int pMesh);
-int SceneAddCameraSceneNode(int posx, int posy, int posz, int tox, int toy, int toz);
-
-int NodeSetMaterialTexture(int pNode, int pTexture);
-int NodeSetMaterialFlag(int pNode, int mflag, int value);
-int NodeSetMd2Animation(int pNode, int atype);
-
-int FileSystemAddZipFileArchive(char *file);
-int SceneAddOctTreeSceneNode(int pMesh);
-int SceneNodeSetPosition( int posx, int posy, int posz, int pNode);
-int SceneAddCameraSceneNodeFPS ();
-
-int GetVirtualTime ();
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/irrlicht_interface.hs b/irrlicht_interface.hs
deleted file mode 100644
--- a/irrlicht_interface.hs
+++ /dev/null
@@ -1,148 +0,0 @@
-{-# LANGUAGE ForeignFunctionInterface #-}
-
-module Irrlicht where
-
-import Foreign.GreenCard
-
-data MeshPtr = MeshPtr Int
-data NodePtr = NodePtr Int
-data TexturePtr = TexturePtr Int
-
-%#include "irrlicht_interface.h" 
-
-
-%C enum drivertype {EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8, EDT_DIRECT3D9, EDT_OPENGL};
-
-%C enum materialflag {EMF_WIREFRAME = 0x1, EMF_POINTCLOUD = 0x2, EMF_GOURARD_SHADING = 0x4, EMF_LIGHTING = 0x8, EMF_ZBUFFER = 0x10, EMF_ZWRITE_ENABLE = 0x20, EMF_BACK_FACE_CULLING = 0x40, EMF_FRONT_FACE_CULLING = 0x80, EMF_BILINEAR_FILTER = 0x100, EMF_TRILINEAR_FILTER = 0x200, EMF_ANISOTROPIC_FILTER = 0x400, EMF_FOG_ENABLE = 0x800, EMF_NORMALIZE_NORMALS = 0x1000, EMF_TEXTURE_WRAP = 0x2000, EMF_ANTI_ALIASING = 0x4000, EMF_COLOR_MASK = 0x8000, EMF_COLOR_MATERIAL = 0x100000};
-
-%C enum md2animationtype {EMAT_STAND, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A, EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP, EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT, EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_CROUCH_PAIN, EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD, EMAT_DEATH_FALLBACKSLOW, EMAT_BOOM, EMAT_COUNT};
-
-%enum VideoDriverType Int [EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8, EDT_DIRECT3D9, EDT_OPENGL]
-
-%enum VideoMaterialFlag Int [EMF_WIREFRAME, EMF_POINTCLOUD, EMF_GOURARD_SHADING, EMF_LIGHTING, EMF_ZBUFFER, EMF_ZWRITE_ENABLE, EMF_BACK_FACE_CULLING, EMF_FRONT_FACE_CULLING, EMF_BILINEAR_FILTER, EMF_TRILINEAR_FILTER, EMF_ANISOTROPIC_FILTER, EMF_FOG_ENABLE, EMF_NORMALIZE_NORMALS, EMF_TEXTURE_WRAP, EMF_ANTI_ALIASING, EMF_COLOR_MASK, EMF_COLOR_MATERIAL]
-
-%enum SceneMd2AnimationType Int [EMAT_STAND, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A, EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP, EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT, EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_CROUCH_PAIN, EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD, EMAT_DEATH_FALLBACKSLOW, EMAT_BOOM, EMAT_COUNT]
-%fun GetEvent :: IO Int
-%call
-%code int result = GetEvent();
-%result (int result)
-
-%fun GetCharEvent :: IO Char
-%call
-%code char result = GetCharEvent();
-%result (char result)
-
-%fun DeviceSetEventReceiver :: Int -> IO ()
-%call (int control)
-%code int result = DeviceSetEventReceiver(control);
-%fail {result < 0} {getError();}
-
-%fun DeviceSetWindowCaption :: String -> IO ()
-%call (string caption)
-%code int result = DeviceSetWindowCaption(caption);
-%fail {result < 0} {getError();}
-
-%fun DeviceRun :: IO Int
-%call
-%code int result = DeviceRun();
-%fail {result < 0} {getError();}
-%result (int result)
-
-%fun DeviceDrop :: IO ()
-%call
-%code int result = DeviceDrop();
-%fail {result < 0} {getError();}
-
-%fun IrrCreateDevice :: VideoDriverType -> Int -> Int -> Bool -> Bool -> Bool -> IO ()
-%call (videoDriverType dtype) (int sizex) (int sizey) (bool fullscreen) (bool stencilbuffer) (bool vsync)
-%code int result = IrrCreateDevice(dtype, sizex, sizey, fullscreen, stencilbuffer, vsync);
-%fail {result < 0} {getError();}
-
-%fun GuiAddStaticText :: String -> Int -> Int -> Int -> Int -> IO ()
-%call (string text) (int topleftx) (int toplefty) (int lowrightx) (int lowrighty)
-%code int result = GuiAddStaticText(text, topleftx, toplefty, lowrightx, lowrighty);
-%fail {result < 0} {getError();}
-
-%fun GuiDrawAll :: IO ()
-%call
-%code int result = GuiDrawAll();
-%fail {result < 0} {getError();}
-
-%fun VideoBeginScene :: Bool -> Bool -> Int -> Int -> Int -> Int -> IO ()
-%call (bool a) (bool b) (int colr) (int colg) (int colb) (int colt)
-%code int result = VideoBeginScene(a, b, colr, colg, colb, colt);
-%fail {result < 0} {getError();}
-
-%fun VideoEndScene :: IO ()
-%call
-%code int result = VideoEndScene();
-%fail {result < 0} {getError();}
-
-%fun VideoGetTexture :: String -> IO TexturePtr
-%call (string texture)
-%code int pTexture = VideoGetTexture(texture);
-%fail {pTexture == 0} {getError();}
-%result (TexturePtr (int pTexture))
-
-%fun SceneDrawAll :: IO ()
-%call
-%code int result = SceneDrawAll();
-%fail {result < 0} {getError();}
-
-%fun SceneGetMesh :: String -> IO MeshPtr
-%call (string mesh)
-%code int pMesh = SceneGetMesh(mesh);
-%fail {pMesh == 0} {getError();}
-%result (MeshPtr (int pMesh))
-
-%fun SceneAddAnimatedMeshSceneNode :: MeshPtr -> IO NodePtr
-%call (MeshPtr (int pMesh))
-%code int pNode = SceneAddAnimatedMeshSceneNode(pMesh);
-%fail {pNode == 0} {getError();}
-%result (NodePtr (int pNode))
-
-%fun SceneAddCameraSceneNode :: (Int, Int, Int) -> (Int, Int, Int) -> IO ()
-%call (int posx, int posy, int posz) (int tox, int toy, int toz) 
-%code int result = SceneAddCameraSceneNode(posx, posy, posz, tox, toy, toz);
-%fail {result < 0} {getError();}
-
-%fun SceneAddOctTreeSceneNode :: MeshPtr -> IO NodePtr
-%call (MeshPtr (int pMesh))
-%code int pNode = SceneAddOctTreeSceneNode(pMesh);
-%fail {pNode == 0} {getError();}
-%result (NodePtr (int pNode))
-
-%fun SceneNodeSetPosition :: (Int, Int, Int) -> NodePtr -> IO ()
-%call (int posx, int posy, int posz) (NodePtr (int pNode))
-%code int result = SceneNodeSetPosition( posx, posy,posz, pNode);
-%fail {result <0}{getError();}
-
-%fun SceneAddCameraSceneNodeFPS :: IO ()
-%code int result = SceneAddCameraSceneNodeFPS();
-%fail {result <0}{getError();}
-
-%fun NodeSetMaterialTexture :: NodePtr -> TexturePtr -> IO ()
-%call (NodePtr (int pNode)) (TexturePtr (int pTexture))
-%code int result = NodeSetMaterialTexture(pNode, pTexture);
-%fail {result < 0} {getError();}
-
-%fun NodeSetMaterialFlag :: NodePtr -> VideoMaterialFlag -> Bool -> IO ()
-%call (NodePtr (int pNode)) (videoMaterialFlag mflag) (bool value)
-%code int result = NodeSetMaterialFlag(pNode, mflag, value);
-%fail {result < 0} {getError();}
-
-%fun NodeSetMd2Animation :: NodePtr -> SceneMd2AnimationType -> IO ()
-%call (NodePtr (int pNode)) (sceneMd2AnimationType atype)
-%code int result = NodeSetMd2Animation(pNode, atype);
-%fail {result < 0} {getError();}
-
-%fun FileSystemAddZipFileArchive :: String -> IO ()
-%call (string file)
-%code int result = FileSystemAddZipFileArchive(file);
-%fail {result < 0} {getError();}
-
-%fun GetVirtualTime :: Int
-%call
-%code int result = GetVirtualTime();
-
-
diff --git a/irrlicht_interface_ffi.c b/irrlicht_interface_ffi.c
--- a/irrlicht_interface_ffi.c
+++ b/irrlicht_interface_ffi.c
@@ -1,8 +1,8 @@
-#include "irrlicht_interface.h" 
+#include "irrlicht_interface.h" 
 #include "irrlicht_interface_ffi.h"
- enum drivertype {EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8, EDT_DIRECT3D9, EDT_OPENGL};
- enum materialflag {EMF_WIREFRAME = 0x1, EMF_POINTCLOUD = 0x2, EMF_GOURARD_SHADING = 0x4, EMF_LIGHTING = 0x8, EMF_ZBUFFER = 0x10, EMF_ZWRITE_ENABLE = 0x20, EMF_BACK_FACE_CULLING = 0x40, EMF_FRONT_FACE_CULLING = 0x80, EMF_BILINEAR_FILTER = 0x100, EMF_TRILINEAR_FILTER = 0x200, EMF_ANISOTROPIC_FILTER = 0x400, EMF_FOG_ENABLE = 0x800, EMF_NORMALIZE_NORMALS = 0x1000, EMF_TEXTURE_WRAP = 0x2000, EMF_ANTI_ALIASING = 0x4000, EMF_COLOR_MASK = 0x8000, EMF_COLOR_MATERIAL = 0x100000};
- enum md2animationtype {EMAT_STAND, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A, EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP, EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT, EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_CROUCH_PAIN, EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD, EMAT_DEATH_FALLBACKSLOW, EMAT_BOOM, EMAT_COUNT};
+ enum drivertype {EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8, EDT_DIRECT3D9, EDT_OPENGL};
+ enum materialflag {EMF_WIREFRAME = 0x1, EMF_POINTCLOUD = 0x2, EMF_GOURARD_SHADING = 0x4, EMF_LIGHTING = 0x8, EMF_ZBUFFER = 0x10, EMF_ZWRITE_ENABLE = 0x20, EMF_BACK_FACE_CULLING = 0x40, EMF_FRONT_FACE_CULLING = 0x80, EMF_BILINEAR_FILTER = 0x100, EMF_TRILINEAR_FILTER = 0x200, EMF_ANISOTROPIC_FILTER = 0x400, EMF_FOG_ENABLE = 0x800, EMF_NORMALIZE_NORMALS = 0x1000, EMF_TEXTURE_WRAP = 0x2000, EMF_ANTI_ALIASING = 0x4000, EMF_COLOR_MASK = 0x8000, EMF_COLOR_MATERIAL = 0x100000};
+ enum md2animationtype {EMAT_STAND, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A, EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP, EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT, EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_CROUCH_PAIN, EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD, EMAT_DEATH_FALLBACKSLOW, EMAT_BOOM, EMAT_COUNT};
 HsInt prim_eDT_NULL()
 { HsInt res1;
   do {res1=EDT_NULL;
@@ -303,7 +303,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = DeviceSetWindowCaption(caption);;
+  do { int result = DeviceSetWindowCaption(caption);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -317,7 +317,7 @@
 { static struct {HsInt result;HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   HsInt result;int gc_failed;
                char* gc_failstring;
-  do { int result = DeviceRun();;
+  do { int result = DeviceRun();
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.result = (HsInt)(result);
@@ -333,7 +333,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = DeviceDrop();;
+  do { int result = DeviceDrop();
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -347,7 +347,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = IrrCreateDevice(dtype, sizex, sizey, fullscreen, stencilbuffer, vsync);;
+  do { int result = IrrCreateDevice(dtype, sizex, sizey, fullscreen, stencilbuffer, vsync);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -361,7 +361,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = GuiAddStaticText(text, topleftx, toplefty, lowrightx, lowrighty);;
+  do { int result = GuiAddStaticText(text, topleftx, toplefty, lowrightx, lowrighty);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -375,7 +375,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = GuiDrawAll();;
+  do { int result = GuiDrawAll();
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -389,7 +389,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = VideoBeginScene(a, b, colr, colg, colb, colt);;
+  do { int result = VideoBeginScene(a, b, colr, colg, colb, colt);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -403,7 +403,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = VideoEndScene();;
+  do { int result = VideoEndScene();
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -417,7 +417,7 @@
 { static struct {HsInt pTexture;HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   HsInt pTexture;int gc_failed;
                  char* gc_failstring;
-  do { int pTexture = VideoGetTexture(texture);;
+  do { int pTexture = VideoGetTexture(texture);
       if ((gc_failed = ( pTexture == 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.pTexture = (HsInt)(pTexture);
@@ -433,7 +433,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = SceneDrawAll();;
+  do { int result = SceneDrawAll();
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -447,7 +447,7 @@
 { static struct {HsInt pMesh;HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   HsInt pMesh;int gc_failed;
               char* gc_failstring;
-  do { int pMesh = SceneGetMesh(mesh);;
+  do { int pMesh = SceneGetMesh(mesh);
       if ((gc_failed = ( pMesh == 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.pMesh = (HsInt)(pMesh);
@@ -463,7 +463,7 @@
 { static struct {HsInt pNode;HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   HsInt pNode;int gc_failed;
               char* gc_failstring;
-  do { int pNode = SceneAddAnimatedMeshSceneNode(pMesh);;
+  do { int pNode = SceneAddAnimatedMeshSceneNode(pMesh);
       if ((gc_failed = ( pNode == 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.pNode = (HsInt)(pNode);
@@ -479,7 +479,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = SceneAddCameraSceneNode(posx, posy, posz, tox, toy, toz);;
+  do { int result = SceneAddCameraSceneNode(posx, posy, posz, tox, toy, toz);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -537,7 +537,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = NodeSetMaterialTexture(pNode, pTexture);;
+  do { int result = NodeSetMaterialTexture(pNode, pTexture);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -551,7 +551,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = NodeSetMaterialFlag(pNode, mflag, value);;
+  do { int result = NodeSetMaterialFlag(pNode, mflag, value);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
@@ -565,7 +565,7 @@
 { static struct {HsInt gc_failed;HsPtr gc_failstring;} gc_result;
   int gc_failed;
   char* gc_failstring;
-  do { int result = NodeSetMd2Animation(pNode, atype);;
+  do { int result = NodeSetMd2Animation(pNode, atype);
       if ((gc_failed = ( result < 0 ))) {gc_failstring = getError(); ;}
       else {gc_failed = 0;}
       gc_result.gc_failed = gc_failed;
diff --git a/irrlicht_interface_ffi.h b/irrlicht_interface_ffi.h
--- a/irrlicht_interface_ffi.h
+++ b/irrlicht_interface_ffi.h
@@ -1,6 +1,6 @@
 #ifndef _irrlicht_interface_ffi_h
 #define _irrlicht_interface_ffi_h
-#include "irrlicht_interface.h" 
+#include "irrlicht_interface.h" 
 #include "HsFFI.h"
 extern HsInt prim_eDT_NULL();
 extern HsInt prim_eDT_SOFTWARE();
diff --git a/irrlicht_interface_ffi.o b/irrlicht_interface_ffi.o
new file mode 100644
Binary files /dev/null and b/irrlicht_interface_ffi.o differ
diff --git a/sample.hs b/sample.hs
deleted file mode 100644
--- a/sample.hs
+++ /dev/null
@@ -1,296 +0,0 @@
-{- Most of the FRP code come from Paul Hudak's book The Haskell School of Expression and has been modified by Maciej Baranski to fit the project purpose-}
-
-module Main where
-	
-import Irrlicht
-import Data.Time
-import Data.Time.Clock.POSIX
-import Memo1
-import Control.Concurrent.Chan
-
-infixr 1 =>>, ->>
-infixr 1 `untilB`, `switch`, `stepAccum`, `step`
-infixr 4 <*, >*
-infixl 0 .|.
-infixr 3 &&*
-infixr 2 ||*
-
-type Caption = String
-type Counter = Int
-
-caption1, caption2, caption3, caption4 :: Behavior Caption
-caption1    = constB "Initial Caption"
-caption2	= constB "Any Key Pressed"
-caption3    = constB "a Key Pressed"
-caption4    = constB "b Key Pressed"
-
-counter1 :: Behavior Counter
-counter1    = constB 999
-
-capt1 :: Behavior Caption
-capt1 = caption1 `untilB` key ->> caption2
-
-capt2 :: Behavior Caption
-capt2 = caption1 `switch` (key =>> \c ->
-           case c of 'a' -> caption3
-                     'b' -> caption4
-                     _   -> caption1  )
-
-
-countBeh :: Behavior Counter
-countBeh = (0 `stepAccum` key ->> (+1)) `untilB` when (time >* 10) ->> counter1
-
-type Time = POSIXTime
-
-data EventStruct = Key {
-               char :: Char
-             }
-  deriving Show
-
-type UserAction = EventStruct
-
-data GameChan = GameChan {
-  eventsChan :: Chan UserAction
-}
-
-initGameChan :: IO GameChan
-initGameChan = do 
-            eventsChan <- newChan
-            return GameChan {eventsChan = eventsChan }
-
-newtype Behavior a = Behavior (([Maybe UserAction],[Time]) -> [a])
-
-newtype Event a = Event (([Maybe UserAction],[Time]) -> [Maybe a])
-
-time :: Behavior Time
-time = Behavior (\(_,ts) -> ts)
-
-constB :: a -> Behavior a
-constB x = Behavior (\_ -> repeat x)
-
-($*) :: Behavior (a->b) -> Behavior a -> Behavior b
-Behavior ff $* Behavior fb = Behavior (\uts -> zipWith ($) (ff uts) (fb uts))
-
-lift0 :: a -> Behavior a
-lift0 = constB
-
-lift1 :: (a -> b) -> (Behavior a -> Behavior b)
-lift1 f b1 = lift0 f $* b1
-
-lift2 :: (a -> b -> c) -> (Behavior a -> Behavior b -> Behavior c)
-lift2 f b1 b2 = lift1 f b1 $* b2
-
-lift3 :: (a -> b -> c -> d) -> (Behavior a -> Behavior b -> Behavior c -> Behavior d)
-lift3 f b1 b2 b3 = lift2 f b1 b2 $* b3
-
-pairB :: Behavior a -> Behavior b -> Behavior (a,b)
-pairB = lift2 (,)
-
-fstB :: Behavior (a,b) -> Behavior a
-fstB  = lift1 fst
-sndB :: Behavior (a,b) -> Behavior b
-sndB  = lift1 snd
-
-(>*),(<*) :: Ord a => Behavior a -> Behavior a -> Behavior Bool
-(>*) = lift2 (>)
-(<*) = lift2 (<)
-
-(&&*),(||*) :: Behavior Bool -> Behavior Bool -> Behavior Bool
-(&&*) = lift2 (&&)
-(||*) = lift2 (||)
-
-instance Fractional a => Fractional (Behavior a) where
-  (/) = lift2 (/)
-  fromRational = lift0 . fromRational
-
-instance Num a => Num (Behavior a) where
-  (+) = lift2 (+)
-  (*) = lift2 (*)
-  negate = lift1 negate
-  abs = lift1 abs
-  signum = lift1 signum
-  fromInteger = lift0 . fromInteger
-
-instance Show (Behavior a)  where
-  showsPrec n a s = "<< Behavior >>"
-
-instance Eq (Behavior a) where
-  a1 == a2 = error "Can't compare behaviors."
-
-Behavior fb `untilB` Event fe =
-  memoB $ Behavior (\uts@(us,ts) -> loop us ts (fe uts) (fb uts))
-    where loop (_:us) (_:ts) ~(e:es) (b:bs) =
-            b : case e of 
-                  Nothing             -> loop us ts es bs
-                  Just (Behavior fb') -> fb' (us,ts)
-
-memoB :: Behavior a -> Behavior a
-
-memoB (Behavior fb) = Behavior (memo1 fb)
-
-Behavior fb `switch` Event fe =
-  memoB $ Behavior (\uts@(us,ts) -> loop us ts (fe uts) (fb uts))
-    where loop (_:us) (_:ts) ~(e:es) ~(b:bs) = 
-            b : case e of 
-                  Nothing             -> loop us ts es bs
-                  Just (Behavior fb') -> loop us ts es (fb' (us,ts))
-
-(=>>) :: Event a -> (a->b) -> Event b
-
-Event fe =>> f = Event (map (fmap f) . fe)
-
-e ->> v = e =>> \_ -> v
-
-unique :: (Show a, Eq a) => Event a -> Event a
-unique (Event fe) =
-      Event (\uts -> aux (fe uts))
-      where aux xs = zipWith remdup (Nothing:xs) xs
-            remdup x y | x==y      = Nothing
-                       | otherwise = y
-
-when :: Behavior Bool -> Event ()
-when = unique . while
-
-while :: Behavior Bool -> Event ()
-
-while (Behavior fb) 
-  = Event (\uts -> map aux (fb uts))
-    where aux True  = Just ()
-          aux False = Nothing
-
-withElem  :: Event a -> [b] -> Event (a,b)
-withElem (Event fe) bs = Event (\uts -> loop (fe uts) bs)
-  where loop (Just a  : evs) (b:bs) = Just (a,b) : loop evs bs
-        loop (Nothing : evs)    bs  = Nothing    : loop evs bs
-
-withElem_ :: Event a -> [b] -> Event b
-withElem_ e bs = e `withElem` bs =>> snd
-
-(.|.) :: Event a -> Event a -> Event a
-Event fe1 .|. Event fe2 
-  = Event (\uts -> zipWith aux (fe1 uts) (fe2 uts))
-      where aux           Nothing  Nothing  = Nothing
-            aux (Just x) _        = Just x
-            aux _        (Just y) = Just y
-
-key :: Event Char
-key = Event (\(uas,_) -> map getkey uas)
-      where getkey (Just (Key ch)) = Just ch
-            getkey _               = Nothing
-
-snapshot :: Event a -> Behavior b -> Event (a,b)
-Event fe `snapshot` Behavior fb
-  = Event (\uts -> zipWith' aux (fe uts) (fb uts))
-      where aux (Just x) y = Just (x, y)
-            aux Nothing  _ = Nothing
-
-zipWith' f ~(x:xs) ~(y:ys) = f x y : zipWith' f xs ys
-
-snapshot_ :: Event a -> Behavior b -> Event b
-snapshot_ e b = e `snapshot` b =>> snd
-
-step :: a -> Event a -> Behavior a
-
-a `step` e = constB a `switch` e =>> constB
-
-stepAccum :: a -> Event (a->a) -> Behavior a
-
-a `stepAccum` e = b 
-   where b = a `step` (e `snapshot` b =>> uncurry ($))
-
-reactimate :: GameChan -> Behavior Caption -> IO ()
-reactimate gameCh franProg = do 
-        (user,addEvents) <- windowUser gameCh
-        addEvents
-        let drawPic (Just p) = do
-                running <- deviceRun
-                videoBeginScene True True 255 200 200 200
-                sceneDrawAll
-                guiDrawAll
-                deviceSetWindowCaption (show p)
-                ch <- getCharEvent
-                writeChan (eventsChan gameCh) (Key { char = ch })
-                videoEndScene
-                addEvents
-            drawPic Nothing  = return ()
-        mapM_ drawPic (runEvent (sample `snapshot_` franProg) user)
-           
-runEvent (Event fe) u = fe u           
-
-sample :: Event ()
-sample = Event (\(us,_) -> map aux us)
-  where aux Nothing  = Just ()
-        aux (Just _) = Nothing
-
-    
-maybeGetWindowEvent :: GameChan -> IO (Maybe UserAction)
-maybeGetWindowEvent gameCh = do
-    noEvents <- isEmptyChan (eventsChan gameCh)
-    if noEvents       
-        then return Nothing
-        else do
-            event <- readChan (eventsChan gameCh)
-            if ((char event) == ' ')
-                then return Nothing
-                else return (Just event)
-
-windowUser :: GameChan -> IO (([Maybe UserAction], [POSIXTime]), IO ())
-windowUser gameCh = do 
-    (evs, addEv) <- makeStream
-    t0 <- getPOSIXTime    
-    let loop rt = do
-        mev <- maybeGetWindowEvent gameCh
-        case mev of
-            Nothing -> return ()
-            Just e  -> do addEv (Just e, rt)
-                          loop rt                                
-    let addEvents = do
-        t <- getPOSIXTime
-        let rt = t - t0
-        loop rt
-        addEv (Nothing, rt)
-    return ((map fst evs, map snd evs), addEvents)
-
-makeStream :: IO ([a], a -> IO ())
-makeStream = do
-    ch <- newChan
-    contents <- getChanContents ch
-    return (contents, writeChan ch)	                
-
--- use this game loop if not wanting FRP
-gameLoop t0 gameCh= 
-	do
-		
-		running <- deviceRun
-		videoBeginScene True True 255 200 200 200
-		sceneDrawAll
-		guiDrawAll
-
-		ch <- getCharEvent
-		
-		writeChan (eventsChan gameCh) (Key { char = ch })		
-		
-		videoEndScene
-		
-		if (running > 0)
-			then gameLoop t0 gameCh
-			else return ()
-
-main = do	
-	irrCreateDevice EDT_OPENGL 640 480 False False False
-	-- make sure to change the path to the map file
-	fileSystemAddZipFileArchive "/home/maciek/media/map-20kdm2.pk3"
-	mesh <- sceneGetMesh "20kdm2.bsp"
-	node <- sceneAddOctTreeSceneNode(mesh)
-	sceneNodeSetPosition ((-1300), (-144), (-1249)) node
-	sceneAddCameraSceneNodeFPS	
-	
-	deviceSetEventReceiver 1
-	
-	gameCh <- initGameChan
-	
-	--gameLoop t0 gameCh
-	reactimate gameCh capt2
-	deviceDrop
-	
-	
diff --git a/template.hs b/template.hs
new file mode 100644
--- /dev/null
+++ b/template.hs
@@ -0,0 +1,35 @@
+-- Template
+
+module Main where
+
+import Irrlicht
+import Prelude hiding ( catch )
+import Data.Time
+import Data.Time.Clock.POSIX
+import Data.List
+import Memo1
+import Control.Concurrent.Chan
+import Control.Exception
+import System.IO
+import IrrHaskell
+
+-- DEFINE EVENTS
+
+
+-- DEFINE BEHAVIORS
+
+
+-- MAIN GAME LOOP
+
+main :: IO ()
+main = do
+  -- LOAD MAP
+  
+  -- DEFINE OBJECTS
+  
+  -- LOAD NODES
+  
+  -- SET BEHAVIORS
+
+  -- CALL REACTIMATE LAST
+  
diff --git a/userManual.pdf b/userManual.pdf
new file mode 100644
Binary files /dev/null and b/userManual.pdf differ
