packages feed

IrrHaskell-0.1.1: InterfaceGenerator/c_interface.cpp

#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, 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 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();

}