├── source ├── stdafx.cpp ├── Dimension2Df.h ├── GeometryShaderType.h ├── IndexType.h ├── LogLevel.h ├── PolygonOffset.h ├── BoneSkinningSpace.h ├── GPUShadingLanguage.h ├── FileSystemType.h ├── InterpolationMode.h ├── FogType.h ├── LightType.h ├── CursorPlatformBehavior.h ├── GUIContextMenuClose.h ├── JointUpdateOnRender.h ├── ModulateFunc.h ├── VertexType.h ├── GUIFontType.h ├── GUIOrderingMode.h ├── AlphaSource.h ├── BoneAnimationMode.h ├── GUIMessageBoxFlag.h ├── GUITableDrawFlag.h ├── TextureLockMode.h ├── VideoModeAspectRatio.h ├── EventType.h ├── TerrainPatchSize.h ├── DeviceType.h ├── KeyAction.h ├── GUIAlignment.h ├── HardwareMappingHint.h ├── AttributeReadWriteFlag.h ├── HardwareBufferType.h ├── GUIDefaultFont.h ├── GUIListBoxColor.h ├── GUISkinType.h ├── GUISpinBoxValidation.h ├── CullingType.h ├── ColorMaterial.h ├── ColorPlane.h ├── EventReceiverInheritor.h ├── ParticleAffectorType.h ├── DriverType.h ├── GUIColumnOrdering.h ├── FileArchiveType.h ├── ParticleEmitterType.h ├── VertexShaderType.h ├── GUIButtonState.h ├── AntiAliasingMode.h ├── ComparisonFunc.h ├── Dimension2Di.h ├── GUISpriteBank.h ├── BlendOperation.h ├── GUIColorSelectDialog.h ├── DebugSceneType.h ├── TextSceneNode.h ├── TextureClamp.h ├── AnimatedMeshType.h ├── GUIDefaultText.h ├── PixelShaderType.h ├── SceneNodeRenderPass.h ├── TextureCreationFlag.h ├── GUIFileOpenDialog.h ├── GUISpriteBank.cpp ├── PrimitiveType.h ├── Randomizer.h ├── GUIColorSelectDialog.cpp ├── SceneNodeAnimatorType.h ├── ParticleBoxEmitter.h ├── ShadowVolumeSceneNode.h ├── BillboardTextSceneNode.h ├── MeshLoader.h ├── GUICheckBox.h ├── DummyTransformationSceneNode.h ├── BlendFactor.h ├── ColorFormat.h ├── GUIImageList.h ├── GUIInOutFader.h ├── RenderTarget.h ├── GUITab.h ├── ImageLoader.h ├── ParticleSphereEmitter.h ├── MetaTriangleSelector.h ├── Logger.h ├── ParticleGravityAffector.h ├── ParticleFadeOutAffector.h ├── ReferenceCounted.h ├── SceneLoader.h ├── GUIMeshViewer.h ├── OSOperator.h ├── GUIScrollBar.h ├── ParticleRotationAffector.h ├── WriteFile.h ├── MouseEventType.h ├── VideoModeList.h ├── ParticleRingEmitter.h ├── GUIImage.h ├── DynamicMeshBuffer.h ├── JoystickInfo.h ├── ReadFile.h ├── TransformationState.h ├── VolumeLightSceneNode.h ├── ParticleAffector.h ├── TextSceneNode.cpp ├── CameraMayaSceneNodeAnimator.h ├── AnimatedMesh.h ├── DummyTransformationSceneNode.cpp ├── ParticleMeshEmitter.h ├── ArchiveLoader.h ├── GUIWindow.h ├── ShadowVolumeSceneNode.cpp ├── ShaderCallBackInheritor.h ├── CameraFPSSceneNodeAnimator.h ├── FileArchive.h ├── AnimationTypeMD2.h ├── ParticleBoxEmitter.cpp ├── AttributeExchangingObject.h ├── LightSceneNode.h ├── ParticleAttractionAffector.h ├── ParticleCylinderEmitter.h ├── GUIComboBox.h ├── Randomizer.cpp ├── MaterialRenderer.h ├── CursorControl.h ├── BillboardTextSceneNode.cpp ├── GUISpinBox.h ├── MaterialRenderer.cpp ├── SceneNodeAnimator.h ├── BoneSceneNode.h ├── GUITreeView.h ├── MaterialFlag.h ├── Dimension.h ├── MeshLoader.cpp ├── SkinnedMesh.h ├── GUIFileOpenDialog.cpp ├── BillboardSceneNode.h ├── FileList.h ├── SceneNodeType.h ├── AssemblyInfo.cpp ├── ParticleAnimatedMeshSceneNodeEmitter.h ├── GUIDefaultIcon.h ├── GUIElementType.h ├── MeshSceneNode.h ├── MaterialLayer.h ├── MeshCache.h ├── IndexBuffer.h ├── MetaTriangleSelector.cpp ├── GUIToolBar.h ├── GUICheckBox.cpp ├── GUIDefaultColor.h ├── Particle.h ├── ParticleSphereEmitter.cpp ├── GUIElementInheritor.h ├── Texture.h ├── ImageLoader.cpp ├── Light.h ├── Mesh.h ├── GUITabControl.h ├── ExposedVideoData.h ├── GUIInOutFader.cpp ├── GUIMeshViewer.cpp └── TriangleSelector.h ├── media ├── axe.jpg ├── fire.bmp ├── help.png ├── open.png ├── room.3ds ├── wall.bmp ├── wall.jpg ├── zip.png ├── 2ddemo.png ├── dwarf.jpg ├── earth.jpg ├── faerie.md2 ├── ninja.b3d ├── stones.jpg ├── sydney.bmp ├── sydney.md2 ├── tools.png ├── water.jpg ├── yodan.mdl ├── earthbump.jpg ├── example.irr ├── faerie2.bmp ├── fireball.bmp ├── nskinbl.jpg ├── nskinrd.jpg ├── particle.bmp ├── portal1.bmp ├── portal2.bmp ├── portal3.bmp ├── portal4.bmp ├── portal5.bmp ├── portal6.bmp ├── portal7.bmp ├── rockwall.jpg ├── skydome.jpg ├── t351sml.jpg ├── detailmap3.jpg ├── fontlucida.png ├── map-20kdm2.pk3 ├── particlered.bmp ├── pathfinding.png ├── irrlicht2_bk.jpg ├── irrlicht2_dn.jpg ├── irrlicht2_ft.jpg ├── irrlicht2_lf.jpg ├── irrlicht2_rt.jpg ├── irrlicht2_up.jpg ├── particlegreen.jpg ├── particlewhite.bmp ├── lime_logo_alpha.png ├── rockwall_height.bmp ├── terrain-texture.jpg ├── irrlichtlogoalpha2.tga ├── minesweeper.media.files ├── terrain-heightmap.bmp ├── fonthaettenschweiler.bmp ├── opengl.frag ├── flashlight.mtl ├── d3d8.psh ├── d3d9.psh ├── opengl.psh ├── opengl.vert ├── config.xml ├── d3d8.vsh └── d3d9.vsh ├── irrlicht ├── include │ ├── Keycodes.h │ ├── SMeshBuffer.h │ ├── SMeshBufferLightMap.h │ ├── SMeshBufferTangents.h │ ├── irrunpack.h │ ├── EMessageBoxFlags.h │ ├── EGUIAlignment.h │ ├── IRandomizer.h │ ├── IParticleBoxEmitter.h │ ├── ITextSceneNode.h │ ├── IGUIColorSelectDialog.h │ ├── SKeyMap.h │ ├── ECullingTypes.h │ ├── ETerrainElements.h │ ├── position2d.h │ ├── EHardwareBufferFlags.h │ ├── IShadowVolumeSceneNode.h │ ├── IXMLReader.h │ ├── IGUIToolbar.h │ ├── IParticleSphereEmitter.h │ ├── EDebugSceneTypes.h │ ├── IParticleRotationAffector.h │ ├── IParticleRingEmitter.h │ ├── IGUIMeshViewer.h │ └── IImageWriter.h ├── dll │ ├── Debug │ │ └── Irrlicht.dll │ └── Release │ │ └── Irrlicht.dll ├── lib │ ├── Debug │ │ └── Irrlicht.lib │ └── Release │ │ └── Irrlicht.lib ├── x64 │ ├── dll │ │ ├── Debug │ │ │ └── Irrlicht.dll │ │ └── Release │ │ │ └── Irrlicht.dll │ └── lib │ │ ├── Debug │ │ └── Irrlicht.lib │ │ └── Release │ │ └── Irrlicht.lib ├── Win32 │ ├── dll │ │ ├── Debug │ │ │ └── Irrlicht.dll │ │ └── Release │ │ │ └── Irrlicht.dll │ └── lib │ │ ├── Debug │ │ └── Irrlicht.lib │ │ └── Release │ │ └── Irrlicht.lib └── version.txt ├── examples ├── 02.Quake3Map │ └── app.config ├── 04.Movement │ └── app.config ├── 07.Collision │ └── app.config ├── 08.SpecialFX │ └── app.config ├── 10.Shaders │ └── app.config ├── L03.RGBSwirl │ └── app.config ├── 01.HelloWorld │ └── app.config ├── 05.UserInterface │ └── app.config ├── 06.2DGraphics │ └── app.config ├── 09.Meshviewer │ └── app.config ├── 15.LoadIrrFile │ └── app.config ├── 18.SplitScreen │ └── app.config ├── 23.MeshHandling │ └── app.config ├── 26.OcclusionQuery │ └── app.config ├── L06.AnalogueClock │ └── app.config ├── L08.WPFWindow │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ └── Settings.Designer.cs │ ├── App.xaml │ ├── App.xaml.cs │ └── WinFormsUserControl.Designer.cs ├── L09.SimpleLOD │ └── app.config ├── L10.ImageBrowser │ └── app.config ├── L14.Pathfinding │ └── app.config ├── L15.AbstractTrace │ └── app.config ├── L16.SphereCamera │ └── app.config ├── L17.Minesweeper │ └── app.config ├── 03.CustomSceneNode │ └── app.config ├── 11.PerPixelLighting │ └── app.config ├── 12.TerrainRendering │ └── app.config ├── 13.RenderToTexture │ └── app.config ├── 19.MouseAndJoystick │ └── app.config ├── L01.TexturePainting │ └── app.config ├── L02.WinFormsWindow │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ └── Settings.Designer.cs │ └── Program.cs ├── L11.BulletSharpTest │ └── app.config ├── L12.StencilShadows │ └── app.config ├── L13.FractalBrowser │ └── app.config ├── L18.LightningShots │ └── app.config ├── L04.ParticleEmitterViewer │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ └── Settings.Designer.cs │ ├── ParticleInfo.cs │ └── Program.cs ├── L05.ScreenshotToTexture │ └── app.config └── L07.FastStaticRendering │ └── app.config └── doc └── readme.txt /source/stdafx.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" -------------------------------------------------------------------------------- /media/axe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/axe.jpg -------------------------------------------------------------------------------- /media/fire.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/fire.bmp -------------------------------------------------------------------------------- /media/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/help.png -------------------------------------------------------------------------------- /media/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/open.png -------------------------------------------------------------------------------- /media/room.3ds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/room.3ds -------------------------------------------------------------------------------- /media/wall.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/wall.bmp -------------------------------------------------------------------------------- /media/wall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/wall.jpg -------------------------------------------------------------------------------- /media/zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/zip.png -------------------------------------------------------------------------------- /media/2ddemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/2ddemo.png -------------------------------------------------------------------------------- /media/dwarf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/dwarf.jpg -------------------------------------------------------------------------------- /media/earth.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/earth.jpg -------------------------------------------------------------------------------- /media/faerie.md2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/faerie.md2 -------------------------------------------------------------------------------- /media/ninja.b3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/ninja.b3d -------------------------------------------------------------------------------- /media/stones.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/stones.jpg -------------------------------------------------------------------------------- /media/sydney.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/sydney.bmp -------------------------------------------------------------------------------- /media/sydney.md2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/sydney.md2 -------------------------------------------------------------------------------- /media/tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/tools.png -------------------------------------------------------------------------------- /media/water.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/water.jpg -------------------------------------------------------------------------------- /media/yodan.mdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/yodan.mdl -------------------------------------------------------------------------------- /media/earthbump.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/earthbump.jpg -------------------------------------------------------------------------------- /media/example.irr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/example.irr -------------------------------------------------------------------------------- /media/faerie2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/faerie2.bmp -------------------------------------------------------------------------------- /media/fireball.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/fireball.bmp -------------------------------------------------------------------------------- /media/nskinbl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/nskinbl.jpg -------------------------------------------------------------------------------- /media/nskinrd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/nskinrd.jpg -------------------------------------------------------------------------------- /media/particle.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/particle.bmp -------------------------------------------------------------------------------- /media/portal1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal1.bmp -------------------------------------------------------------------------------- /media/portal2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal2.bmp -------------------------------------------------------------------------------- /media/portal3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal3.bmp -------------------------------------------------------------------------------- /media/portal4.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal4.bmp -------------------------------------------------------------------------------- /media/portal5.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal5.bmp -------------------------------------------------------------------------------- /media/portal6.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal6.bmp -------------------------------------------------------------------------------- /media/portal7.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/portal7.bmp -------------------------------------------------------------------------------- /media/rockwall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/rockwall.jpg -------------------------------------------------------------------------------- /media/skydome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/skydome.jpg -------------------------------------------------------------------------------- /media/t351sml.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/t351sml.jpg -------------------------------------------------------------------------------- /media/detailmap3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/detailmap3.jpg -------------------------------------------------------------------------------- /media/fontlucida.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/fontlucida.png -------------------------------------------------------------------------------- /media/map-20kdm2.pk3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/map-20kdm2.pk3 -------------------------------------------------------------------------------- /media/particlered.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/particlered.bmp -------------------------------------------------------------------------------- /media/pathfinding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/pathfinding.png -------------------------------------------------------------------------------- /media/irrlicht2_bk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlicht2_bk.jpg -------------------------------------------------------------------------------- /media/irrlicht2_dn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlicht2_dn.jpg -------------------------------------------------------------------------------- /media/irrlicht2_ft.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlicht2_ft.jpg -------------------------------------------------------------------------------- /media/irrlicht2_lf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlicht2_lf.jpg -------------------------------------------------------------------------------- /media/irrlicht2_rt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlicht2_rt.jpg -------------------------------------------------------------------------------- /media/irrlicht2_up.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlicht2_up.jpg -------------------------------------------------------------------------------- /media/particlegreen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/particlegreen.jpg -------------------------------------------------------------------------------- /media/particlewhite.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/particlewhite.bmp -------------------------------------------------------------------------------- /media/lime_logo_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/lime_logo_alpha.png -------------------------------------------------------------------------------- /media/rockwall_height.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/rockwall_height.bmp -------------------------------------------------------------------------------- /media/terrain-texture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/terrain-texture.jpg -------------------------------------------------------------------------------- /irrlicht/include/Keycodes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/include/Keycodes.h -------------------------------------------------------------------------------- /media/irrlichtlogoalpha2.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/irrlichtlogoalpha2.tga -------------------------------------------------------------------------------- /media/minesweeper.media.files: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/minesweeper.media.files -------------------------------------------------------------------------------- /media/terrain-heightmap.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/terrain-heightmap.bmp -------------------------------------------------------------------------------- /irrlicht/dll/Debug/Irrlicht.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/dll/Debug/Irrlicht.dll -------------------------------------------------------------------------------- /irrlicht/lib/Debug/Irrlicht.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/lib/Debug/Irrlicht.lib -------------------------------------------------------------------------------- /media/fonthaettenschweiler.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/media/fonthaettenschweiler.bmp -------------------------------------------------------------------------------- /irrlicht/dll/Release/Irrlicht.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/dll/Release/Irrlicht.dll -------------------------------------------------------------------------------- /irrlicht/lib/Release/Irrlicht.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/lib/Release/Irrlicht.lib -------------------------------------------------------------------------------- /irrlicht/x64/dll/Debug/Irrlicht.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/x64/dll/Debug/Irrlicht.dll -------------------------------------------------------------------------------- /irrlicht/x64/lib/Debug/Irrlicht.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/x64/lib/Debug/Irrlicht.lib -------------------------------------------------------------------------------- /irrlicht/Win32/dll/Debug/Irrlicht.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/Win32/dll/Debug/Irrlicht.dll -------------------------------------------------------------------------------- /irrlicht/Win32/dll/Release/Irrlicht.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/Win32/dll/Release/Irrlicht.dll -------------------------------------------------------------------------------- /irrlicht/Win32/lib/Debug/Irrlicht.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/Win32/lib/Debug/Irrlicht.lib -------------------------------------------------------------------------------- /irrlicht/Win32/lib/Release/Irrlicht.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/Win32/lib/Release/Irrlicht.lib -------------------------------------------------------------------------------- /irrlicht/x64/dll/Release/Irrlicht.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/x64/dll/Release/Irrlicht.dll -------------------------------------------------------------------------------- /irrlicht/x64/lib/Release/Irrlicht.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/download/Irrlicht-Lime/figment-1.x/irrlicht/x64/lib/Release/Irrlicht.lib -------------------------------------------------------------------------------- /examples/02.Quake3Map/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/04.Movement/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/07.Collision/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/08.SpecialFX/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/10.Shaders/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L03.RGBSwirl/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/01.HelloWorld/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/05.UserInterface/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/06.2DGraphics/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/09.Meshviewer/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/15.LoadIrrFile/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/18.SplitScreen/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/23.MeshHandling/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/26.OcclusionQuery/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L06.AnalogueClock/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L08.WPFWindow/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L09.SimpleLOD/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L10.ImageBrowser/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L14.Pathfinding/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L15.AbstractTrace/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L16.SphereCamera/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L17.Minesweeper/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/03.CustomSceneNode/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/11.PerPixelLighting/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/12.TerrainRendering/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/13.RenderToTexture/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/19.MouseAndJoystick/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L01.TexturePainting/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L02.WinFormsWindow/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L11.BulletSharpTest/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L12.StencilShadows/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L13.FractalBrowser/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L18.LightningShots/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L04.ParticleEmitterViewer/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L05.ScreenshotToTexture/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/L07.FastStaticRendering/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /media/opengl.frag: -------------------------------------------------------------------------------- 1 | 2 | uniform sampler2D myTexture; 3 | 4 | void main (void) 5 | { 6 | vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); 7 | col *= gl_Color; 8 | gl_FragColor = col * 4.0; 9 | } 10 | -------------------------------------------------------------------------------- /examples/L08.WPFWindow/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /irrlicht/include/SMeshBuffer.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | // replaced by template 6 | #include "CMeshBuffer.h" 7 | 8 | -------------------------------------------------------------------------------- /media/flashlight.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'flashlight.blend' 2 | # Material Count: 1 3 | newmtl Material 4 | Ns 96.078431 5 | Ka 0.000000 0.000000 0.000000 6 | Kd 0.640000 0.640000 0.640000 7 | Ks 0.500000 0.500000 0.500000 8 | Ni 1.000000 9 | d 1.000000 10 | illum 2 11 | 12 | 13 | -------------------------------------------------------------------------------- /irrlicht/include/SMeshBufferLightMap.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | // replaced by template 6 | #include "CMeshBuffer.h" 7 | 8 | -------------------------------------------------------------------------------- /irrlicht/include/SMeshBufferTangents.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | // replaced by template 6 | #include "CMeshBuffer.h" 7 | 8 | -------------------------------------------------------------------------------- /source/Dimension2Df.h: -------------------------------------------------------------------------------- 1 | #if !defined(_REFCLASS_) || !defined(_WRAPCLASS_) || !defined(_WRAPTYPE_) 2 | #error _REFCLASS_, _WRAPCLASS_ and _WRAPTYPE_ must be defined for this file to process. 3 | #endif 4 | 5 | public ref class _REFCLASS_ : Lime::NativeValue<_WRAPCLASS_> 6 | { 7 | #include "Dimension2D_template.h" 8 | }; -------------------------------------------------------------------------------- /examples/L02.WinFormsWindow/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/L04.ParticleEmitterViewer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /irrlicht/version.txt: -------------------------------------------------------------------------------- 1 | SRC: git@github.com:figment/Irrlicht.git 2 | REV: r4675 3 | 4 | IrrCompileConfig.h 5 | + _IRR_WCHAR_FILESYSTEM 6 | 7 | Irrlicht10.0.vcxproj 8 | General -> Character Set = "Use Unicode Character Set" 9 | C/C++ -> Code Generation -> Runtime Library = "Multi-threaded Debug DLL" / "Multi-threaded DLL" 10 | -------------------------------------------------------------------------------- /examples/L08.WPFWindow/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/GeometryShaderType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class GeometryShaderType 13 | { 14 | GS_4_0 = EGST_GS_4_0 15 | }; 16 | 17 | } // end namespace Video 18 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/IndexType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace video; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Video { 10 | 11 | public enum class IndexType 12 | { 13 | _16Bit = EIT_16BIT, 14 | _32Bit = EIT_32BIT 15 | }; 16 | 17 | } // end namespace Video 18 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /examples/L08.WPFWindow/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Windows; 7 | 8 | namespace L08.WPFWindow 9 | { 10 | /// 11 | /// Interaction logic for App.xaml 12 | /// 13 | public partial class App : Application 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/LogLevel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | 10 | public enum class LogLevel 11 | { 12 | Debug = ELL_DEBUG, 13 | Information = ELL_INFORMATION, 14 | Warning = ELL_WARNING, 15 | Error = ELL_ERROR, 16 | None = ELL_NONE 17 | }; 18 | 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/PolygonOffset.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class PolygonOffset 13 | { 14 | Back = EPO_BACK, 15 | Front = EPO_FRONT 16 | }; 17 | 18 | } // end namespace Video 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/BoneSkinningSpace.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class BoneSkinningSpace 12 | { 13 | Local = EBSS_LOCAL, 14 | Global = EBSS_GLOBAL 15 | }; 16 | 17 | } // end namespace Scene 18 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GPUShadingLanguage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class GPUShadingLanguage 13 | { 14 | Default = EGSL_DEFAULT, 15 | Cg = EGSL_CG 16 | }; 17 | 18 | } // end namespace Video 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/FileSystemType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace io; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace IO { 11 | 12 | public enum class FileSystemType 13 | { 14 | Native = FILESYSTEM_NATIVE, 15 | Virtual = FILESYSTEM_VIRTUAL 16 | }; 17 | 18 | } // end namespace IO 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/InterpolationMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace scene; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public enum class InterpolationMode 13 | { 14 | Constant = EIM_CONSTANT, 15 | Linear = EIM_LINEAR 16 | }; 17 | 18 | } // end namespace Scene 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/FogType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class FogType 13 | { 14 | Exp = EFT_FOG_EXP, 15 | Linear = EFT_FOG_LINEAR, 16 | Exp2 = EFT_FOG_EXP2 17 | }; 18 | 19 | } // end namespace Video 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/LightType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class LightType 13 | { 14 | Point = ELT_POINT, 15 | Spot = ELT_SPOT, 16 | Directional = ELT_DIRECTIONAL 17 | }; 18 | 19 | } // end namespace Video 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/CursorPlatformBehavior.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class CursorPlatformBehavior 13 | { 14 | None = ECPB_NONE, 15 | X11CacheUpdates = ECPB_X11_CACHE_UPDATES 16 | }; 17 | 18 | } // end namespace GUI 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIContextMenuClose.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIContextMenuClose 13 | { 14 | Ignore = ECMC_IGNORE, 15 | Remove = ECMC_REMOVE, 16 | Hide = ECMC_HIDE 17 | }; 18 | 19 | } // end namespace GUI 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/JointUpdateOnRender.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class JointUpdateOnRender 12 | { 13 | None = EJUOR_NONE, 14 | Read = EJUOR_READ, 15 | Control = EJUOR_CONTROL 16 | }; 17 | 18 | } // end namespace Scene 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ModulateFunc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class ModulateFunc 13 | { 14 | _1x = EMFN_MODULATE_1X, 15 | _2x = EMFN_MODULATE_2X, 16 | _4x = EMFN_MODULATE_4X 17 | }; 18 | 19 | } // end namespace Video 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/VertexType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class VertexType 13 | { 14 | Standard = EVT_STANDARD, 15 | TTCoords = EVT_2TCOORDS, 16 | Tangents = EVT_TANGENTS 17 | }; 18 | 19 | } // end namespace Video 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIFontType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIFontType 13 | { 14 | Bitmap = EGFT_BITMAP, 15 | Vector = EGFT_VECTOR, 16 | OS = EGFT_OS, 17 | Custom = EGFT_CUSTOM 18 | }; 19 | 20 | } // end namespace GUI 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIOrderingMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIOrderingMode 13 | { 14 | None = EGOM_NONE, 15 | Ascending = EGOM_ASCENDING, 16 | Descending = EGOM_DESCENDING 17 | }; 18 | 19 | } // end namespace GUI 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AlphaSource.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | [Flags] 13 | public enum class AlphaSource 14 | { 15 | None = EAS_NONE, 16 | VertexColor = EAS_VERTEX_COLOR, 17 | Texture = EAS_TEXTURE 18 | }; 19 | 20 | } // end namespace Video 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /media/d3d8.psh: -------------------------------------------------------------------------------- 1 | ; part of the Irrlicht Engine Shader example. 2 | ; This simple Direct3D9 pixel shader will be loaded by the engine. 3 | ; Please note that these example shaders don't do anything really useful. 4 | ; They only demonstrate that shaders can be used in Irrlicht. 5 | 6 | ps.1.1 7 | 8 | tex t0 ; sample color map 9 | mul_x2 t0, t0, v0 ; mulitply with color 10 | add r0, t0, t0 ; make it brighter and store result 11 | -------------------------------------------------------------------------------- /source/BoneAnimationMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class BoneAnimationMode 12 | { 13 | Automatic = EBAM_AUTOMATIC, 14 | Animated = EBAM_ANIMATED, 15 | NotAnimated = EBAM_UNANIMATED 16 | }; 17 | 18 | } // end namespace Scene 19 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIMessageBoxFlag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | [Flags] 13 | public enum class GUIMessageBoxFlag 14 | { 15 | OK = EMBF_OK, 16 | Cancel = EMBF_CANCEL, 17 | Yes = EMBF_YES, 18 | No = EMBF_NO 19 | }; 20 | 21 | } // end namespace GUI 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUITableDrawFlag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | [Flags] 13 | public enum class GUITableDrawFlag 14 | { 15 | Rows = EGTDF_ROWS, 16 | Columns = EGTDF_COLUMNS, 17 | ActiveRow = EGTDF_ACTIVE_ROW 18 | }; 19 | 20 | } // end namespace GUI 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TextureLockMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class TextureLockMode 13 | { 14 | ReadWrite = ETLM_READ_WRITE, 15 | ReadOnly = ETLM_READ_ONLY, 16 | WriteOnly = ETLM_WRITE_ONLY 17 | }; 18 | 19 | } // end namespace Video 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/VideoModeAspectRatio.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class VideoModeAspectRatio 13 | { 14 | Other, 15 | _3x2, 16 | _4x3, 17 | _5x3, 18 | _5x4, 19 | _16x9, 20 | _16x10 21 | }; 22 | 23 | } // end namespace Video 24 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/EventType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | 10 | public enum class EventType 11 | { 12 | GUI = EET_GUI_EVENT, 13 | Mouse = EET_MOUSE_INPUT_EVENT, 14 | Key = EET_KEY_INPUT_EVENT, 15 | Joystick = EET_JOYSTICK_INPUT_EVENT, 16 | Log = EET_LOG_TEXT_EVENT, 17 | User = EET_USER_EVENT 18 | }; 19 | 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TerrainPatchSize.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace scene; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public enum class TerrainPatchSize 13 | { 14 | _9 = ETPS_9, 15 | _17 = ETPS_17, 16 | _33 = ETPS_33, 17 | _65 = ETPS_65, 18 | _129 = ETPS_129 19 | }; 20 | 21 | } // end namespace Scene 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/DeviceType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace System; 6 | 7 | namespace IrrlichtLime { 8 | 9 | public enum class DeviceType 10 | { 11 | Win32 = EIDT_WIN32, 12 | WinCE = EIDT_WINCE, 13 | X11 = EIDT_X11, 14 | OSX = EIDT_OSX, 15 | SDL = EIDT_SDL, 16 | FrameBuffer = EIDT_FRAMEBUFFER, 17 | Console = EIDT_CONSOLE, 18 | Best = EIDT_BEST 19 | }; 20 | 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/KeyAction.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | 10 | public enum class KeyAction 11 | { 12 | MoveForward = EKA_MOVE_FORWARD, 13 | MoveBackward = EKA_MOVE_BACKWARD, 14 | StrafeLeft = EKA_STRAFE_LEFT, 15 | StrafeRight = EKA_STRAFE_RIGHT, 16 | Jump = EKA_JUMP_UP, 17 | Crouch = EKA_CROUCH 18 | }; 19 | 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIAlignment.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIAlignment 13 | { 14 | UpperLeft = EGUIA_UPPERLEFT, 15 | LowerRight = EGUIA_LOWERRIGHT, 16 | Center = EGUIA_CENTER, 17 | Scale = EGUIA_SCALE 18 | }; 19 | 20 | } // end namespace GUI 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/HardwareMappingHint.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace scene; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public enum class HardwareMappingHint 13 | { 14 | Never = EHM_NEVER, 15 | Static = EHM_STATIC, 16 | Dynamic = EHM_DYNAMIC, 17 | Stream = EHM_STREAM 18 | }; 19 | 20 | } // end namespace Scene 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AttributeReadWriteFlag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace io; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace IO { 10 | 11 | [Flags] 12 | public enum class AttributeReadWriteFlag 13 | { 14 | ForFile = EARWF_FOR_FILE, 15 | ForEditor = EARWF_FOR_EDITOR, 16 | UseRelativePaths = EARWF_USE_RELATIVE_PATHS 17 | }; 18 | 19 | } // end namespace IO 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/HardwareBufferType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace scene; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public enum class HardwareBufferType 13 | { 14 | None = EBT_NONE, 15 | Vertex = EBT_VERTEX, 16 | Index = EBT_INDEX, 17 | VertexAndIndex = EBT_VERTEX_AND_INDEX 18 | }; 19 | 20 | } // end namespace Scene 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIDefaultFont.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIDefaultFont 13 | { 14 | Default = EGDF_DEFAULT, 15 | Button = EGDF_BUTTON, 16 | Window = EGDF_WINDOW, 17 | Menu = EGDF_MENU, 18 | Tooltip = EGDF_TOOLTIP 19 | }; 20 | 21 | } // end namespace GUI 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /media/d3d9.psh: -------------------------------------------------------------------------------- 1 | ; part of the Irrlicht Engine Shader example. 2 | ; This simple Direct3D9 pixel shader will be loaded by the engine. 3 | ; Please note that these example shaders don't do anything really useful. 4 | ; They only demonstrate that shaders can be used in Irrlicht. 5 | 6 | ps.1.1 7 | 8 | tex t0 ; sample color map 9 | add r0, v0, v0 ; mulitply with color 10 | mul t0, t0, r0 ; mulitply with color 11 | add r0, t0, t0 ; make it brighter and store result 12 | -------------------------------------------------------------------------------- /source/GUIListBoxColor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIListBoxColor 13 | { 14 | Text = EGUI_LBC_TEXT, 15 | SelectedText = EGUI_LBC_TEXT_HIGHLIGHT, 16 | Icon = EGUI_LBC_ICON, 17 | SelectedIcon = EGUI_LBC_ICON_HIGHLIGHT 18 | }; 19 | 20 | } // end namespace GUI 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUISkinType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUISkinType 13 | { 14 | WindowsClassic = EGST_WINDOWS_CLASSIC, 15 | WindowsMetallic = EGST_WINDOWS_METALLIC, 16 | BurningSkin = EGST_BURNING_SKIN, 17 | Unknown = EGST_UNKNOWN 18 | }; 19 | 20 | } // end namespace GUI 21 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUISpinBoxValidation.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | [Flags] 13 | public enum class GUISpinBoxValidation 14 | { 15 | Never = EGUI_SBV_NEVER, 16 | Change = EGUI_SBV_CHANGE, 17 | Enter = EGUI_SBV_ENTER, 18 | LoseFocus = EGUI_SBV_LOSE_FOCUS 19 | }; 20 | 21 | } // end namespace GUI 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/CullingType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | [Flags] 12 | public enum class CullingType 13 | { 14 | Off = EAC_OFF, 15 | Box = EAC_BOX, 16 | FrustumBox = EAC_FRUSTUM_BOX, 17 | FrustumSphere = EAC_FRUSTUM_SPHERE, 18 | OcclusionQuery = EAC_OCC_QUERY 19 | }; 20 | 21 | } // end namespace Scene 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ColorMaterial.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Video { 10 | 11 | public enum class ColorMaterial 12 | { 13 | None = ECM_NONE, 14 | Diffuse = ECM_DIFFUSE, 15 | Ambient = ECM_AMBIENT, 16 | Emissive = ECM_EMISSIVE, 17 | Specular = ECM_SPECULAR, 18 | DiffuseAndAmbient = ECM_DIFFUSE_AND_AMBIENT 19 | }; 20 | 21 | } // end namespace Video 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ColorPlane.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | [Flags] 13 | public enum class ColorPlane 14 | { 15 | None = ECP_NONE, 16 | Alpha = ECP_ALPHA, 17 | Red = ECP_RED, 18 | Green = ECP_GREEN, 19 | Blue = ECP_BLUE, 20 | RGB = ECP_RGB, 21 | All = ECP_ALL 22 | }; 23 | 24 | } // end namespace Video 25 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/EventReceiverInheritor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include // for gcroot 4 | #include "stdafx.h" 5 | #include "Event.h" 6 | #include "IrrlichtDevice.h" 7 | 8 | namespace IrrlichtLime { 9 | 10 | class EventReceiverInheritor : public IEventReceiver 11 | { 12 | public: 13 | gcroot m_EventHandler; 14 | virtual bool OnEvent(const SEvent& e) 15 | { 16 | return m_EventHandler->Invoke(gcnew Event(e)); 17 | } 18 | }; 19 | 20 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleAffectorType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class ParticleAffectorType 12 | { 13 | None = EPAT_NONE, 14 | Attract = EPAT_ATTRACT, 15 | FadeOut = EPAT_FADE_OUT, 16 | Gravity = EPAT_GRAVITY, 17 | Rotate = EPAT_ROTATE, 18 | Scale = EPAT_SCALE 19 | }; 20 | 21 | } // end namespace Scene 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/DriverType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class DriverType 13 | { 14 | Null = EDT_NULL, 15 | Software = EDT_SOFTWARE, 16 | BurningsVideo = EDT_BURNINGSVIDEO, 17 | Direct3D8 = EDT_DIRECT3D8, 18 | Direct3D9 = EDT_DIRECT3D9, 19 | OpenGL = EDT_OPENGL 20 | }; 21 | 22 | } // end namespace Video 23 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIColumnOrdering.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIColumnOrdering 13 | { 14 | None = EGCO_NONE, 15 | Custom = EGCO_CUSTOM, 16 | Ascending = EGCO_ASCENDING, 17 | Descending = EGCO_DESCENDING, 18 | FlipAscendingDescending = EGCO_FLIP_ASCENDING_DESCENDING 19 | }; 20 | 21 | } // end namespace GUI 22 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /doc/readme.txt: -------------------------------------------------------------------------------- 1 | This folder contains documentation related files. 2 | 3 | IrrlichtLime.xml 4 | ---------------- 5 | The file contains Visual Studio IntelliSense data. This file is being copy to bin directory each time IrrlichtLime is compiled. This file related to IrrlichtLime.dll only and necessary only for developing in Visual Studio (you do not need to provide this file for end user of your project). If you delete this file, all will continue work fine, the only IntelliSense will stop helping you with types, methods and their arguments. 6 | -------------------------------------------------------------------------------- /source/FileArchiveType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace io; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace IO { 11 | 12 | public enum class FileArchiveType 13 | { 14 | ZIP = EFAT_ZIP, 15 | GZIP = EFAT_GZIP, 16 | Folder = EFAT_FOLDER, 17 | PAK = EFAT_PAK, 18 | NPK = EFAT_NPK, 19 | TAR = EFAT_TAR, 20 | WAD = EFAT_WAD, 21 | Unknown = EFAT_UNKNOWN 22 | }; 23 | 24 | } // end namespace IO 25 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /examples/L02.WinFormsWindow/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace L02.WinFormsWindow 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new Form1()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/ParticleEmitterType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class ParticleEmitterType 12 | { 13 | Point = EPET_POINT, 14 | AnimatedMesh = EPET_ANIMATED_MESH, 15 | Box = EPET_BOX, 16 | Cylinder = EPET_CYLINDER, 17 | Mesh = EPET_MESH, 18 | Ring = EPET_RING, 19 | Sphere = EPET_SPHERE 20 | }; 21 | 22 | } // end namespace Scene 23 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/VertexShaderType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class VertexShaderType 13 | { 14 | VS_1_1 = EVST_VS_1_1, 15 | VS_2_0 = EVST_VS_2_0, 16 | VS_2_a = EVST_VS_2_a, 17 | VS_3_0 = EVST_VS_3_0, 18 | VS_4_0 = EVST_VS_4_0, 19 | VS_4_1 = EVST_VS_4_1, 20 | VS_5_0 = EVST_VS_5_0 21 | }; 22 | 23 | } // end namespace Video 24 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /examples/L04.ParticleEmitterViewer/ParticleInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Drawing; 6 | 7 | namespace L04.ParticleEmitterViewer 8 | { 9 | /// 10 | /// Describes particle image file. 11 | /// 12 | class ParticleInfo 13 | { 14 | public string DisplayName; 15 | public string FileName; 16 | public Image Preview; 17 | 18 | public override string ToString() 19 | { 20 | return DisplayName; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/L04.ParticleEmitterViewer/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace L04.ParticleEmitterViewer 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new MainForm()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/GUIButtonState.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIButtonState 13 | { 14 | ButtonUp = EGBS_BUTTON_UP, 15 | ButtonDown = EGBS_BUTTON_DOWN, 16 | MouseOver = EGBS_BUTTON_MOUSE_OVER, 17 | MouseOff = EGBS_BUTTON_MOUSE_OFF, 18 | Focused = EGBS_BUTTON_FOCUSED, 19 | NotFocused = EGBS_BUTTON_NOT_FOCUSED 20 | }; 21 | 22 | } // end namespace GUI 23 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AntiAliasingMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | [Flags] 13 | public enum class AntiAliasingMode 14 | { 15 | Off = EAAM_OFF, 16 | Simple = EAAM_SIMPLE, 17 | Quality = EAAM_QUALITY, 18 | LineSmooth = EAAM_LINE_SMOOTH, 19 | PointSmooth = EAAM_POINT_SMOOTH, 20 | FullBasic = EAAM_FULL_BASIC, 21 | AlphaToCoverage = EAAM_ALPHA_TO_COVERAGE 22 | }; 23 | 24 | } // end namespace Video 25 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ComparisonFunc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class ComparisonFunc 13 | { 14 | Disabled = ECFN_DISABLED, 15 | LessEqual = ECFN_LESSEQUAL, 16 | Equal = ECFN_EQUAL, 17 | Less = ECFN_LESS, 18 | NotEqual = ECFN_NOTEQUAL, 19 | GreaterEqual = ECFN_GREATEREQUAL, 20 | Greater = ECFN_GREATER, 21 | Always = ECFN_ALWAYS, 22 | Never = ECFN_NEVER 23 | }; 24 | 25 | } // end namespace Video 26 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/Dimension2Di.h: -------------------------------------------------------------------------------- 1 | #if !defined(_REFCLASS_) || !defined(_WRAPCLASS_) || !defined(_WRAPTYPE_) 2 | #error _REFCLASS_, _WRAPCLASS_ and _WRAPTYPE_ must be defined for this file to process. 3 | #endif 4 | 5 | public ref class _REFCLASS_ : Lime::NativeValue<_WRAPCLASS_> 6 | { 7 | #include "Dimension2D_template.h" 8 | 9 | internal: 10 | 11 | _REFCLASS_(const core::dimension2du& value) 12 | : Lime::NativeValue<_WRAPCLASS_>(true) 13 | { 14 | LIME_ASSERT(value.Width <= 0x7fffffff); 15 | LIME_ASSERT(value.Height <= 0x7fffffff); 16 | 17 | m_NativeValue = new _WRAPCLASS_((_WRAPCLASS_&)value); 18 | } 19 | }; -------------------------------------------------------------------------------- /source/GUISpriteBank.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace GUI { 12 | 13 | public ref class GUISpriteBank : ReferenceCounted 14 | { 15 | public: 16 | 17 | //... 18 | 19 | internal: 20 | 21 | static GUISpriteBank^ Wrap(gui::IGUISpriteBank* ref); 22 | GUISpriteBank(gui::IGUISpriteBank* ref); 23 | 24 | gui::IGUISpriteBank* m_GUISpriteBank; 25 | }; 26 | 27 | } // end namespace GUI 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/BlendOperation.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class BlendOperation 13 | { 14 | None = EBO_NONE, 15 | Add = EBO_ADD, 16 | Subtract = EBO_SUBTRACT, 17 | RevSubtract = EBO_REVSUBTRACT, 18 | Min = EBO_MIN, 19 | Max = EBO_MAX, 20 | MinFactor = EBO_MIN_FACTOR, 21 | MaxFactor = EBO_MAX_FACTOR, 22 | MinAlpha = EBO_MIN_ALPHA, 23 | MaxAlpha = EBO_MAX_ALPHA 24 | }; 25 | 26 | } // end namespace Video 27 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIColorSelectDialog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUIColorSelectDialog : GUIElement 13 | { 14 | public: 15 | 16 | // nothing 17 | 18 | internal: 19 | 20 | static GUIColorSelectDialog^ Wrap(gui::IGUIColorSelectDialog* ref); 21 | GUIColorSelectDialog(gui::IGUIColorSelectDialog* ref); 22 | 23 | gui::IGUIColorSelectDialog* m_GUIColorSelectDialog; 24 | }; 25 | 26 | } // end namespace GUI 27 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/DebugSceneType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | [Flags] 12 | public enum class DebugSceneType 13 | { 14 | Off = EDS_OFF, 15 | BBox = EDS_BBOX, 16 | Normals = EDS_NORMALS, 17 | Skeleton = EDS_SKELETON, 18 | MeshWireOverlay = EDS_MESH_WIRE_OVERLAY, 19 | HalfTransparency = EDS_HALF_TRANSPARENCY, 20 | BBoxBuffers = EDS_BBOX_BUFFERS, 21 | BBoxAll = EDS_BBOX_ALL, 22 | Full = EDS_FULL 23 | }; 24 | 25 | } // end namespace Scene 26 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TextSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class TextSceneNode : SceneNode 13 | { 14 | public: 15 | 16 | void SetText(String^ text); 17 | void SetTextColor(Video::Color^ color); 18 | 19 | internal: 20 | 21 | static TextSceneNode^ Wrap(scene::ITextSceneNode* ref); 22 | TextSceneNode(scene::ITextSceneNode* ref); 23 | 24 | scene::ITextSceneNode* m_TextSceneNode; 25 | }; 26 | 27 | } // end namespace Scene 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TextureClamp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class TextureClamp 13 | { 14 | Repeat = ETC_REPEAT, 15 | Clamp = ETC_CLAMP, 16 | ClampToEdge = ETC_CLAMP_TO_EDGE, 17 | ClampToBorder = ETC_CLAMP_TO_BORDER, 18 | Mirror = ETC_MIRROR, 19 | MirrorClamp = ETC_MIRROR_CLAMP, 20 | MirrorClampToEdge = ETC_MIRROR_CLAMP_TO_EDGE, 21 | MirrorClampToBorder = ETC_MIRROR_CLAMP_TO_BORDER 22 | }; 23 | 24 | } // end namespace Video 25 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AnimatedMeshType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace scene; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public enum class AnimatedMeshType 13 | { 14 | Unknown = EAMT_UNKNOWN, 15 | MD2 = EAMT_MD2, 16 | MD3 = EAMT_MD3, 17 | OBJ = EAMT_OBJ, 18 | BSP = EAMT_BSP, 19 | _3DS = EAMT_3DS, 20 | MY3D = EAMT_MY3D, 21 | LMTS = EAMT_LMTS, 22 | CSM = EAMT_CSM, 23 | OCT = EAMT_OCT, 24 | MDL_HalfLife = EAMT_MDL_HALFLIFE, 25 | Skinned = EAMT_SKINNED 26 | }; 27 | 28 | } // end namespace Scene 29 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIDefaultText.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIDefaultText 13 | { 14 | MsgBoxOK = EGDT_MSG_BOX_OK, 15 | MsgBoxCancel = EGDT_MSG_BOX_CANCEL, 16 | MsgBoxYes = EGDT_MSG_BOX_YES, 17 | MsgBoxNo = EGDT_MSG_BOX_NO, 18 | WindowClose = EGDT_WINDOW_CLOSE, 19 | WindowMaximize = EGDT_WINDOW_MAXIMIZE, 20 | WindowMinimize = EGDT_WINDOW_MINIMIZE, 21 | WindowRestore = EGDT_WINDOW_RESTORE 22 | }; 23 | 24 | } // end namespace GUI 25 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/PixelShaderType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class PixelShaderType 13 | { 14 | PS_1_1 = EPST_PS_1_1, 15 | PS_1_2 = EPST_PS_1_2, 16 | PS_1_3 = EPST_PS_1_3, 17 | PS_1_4 = EPST_PS_1_4, 18 | PS_2_0 = EPST_PS_2_0, 19 | PS_2_a = EPST_PS_2_a, 20 | PS_2_b = EPST_PS_2_b, 21 | PS_3_0 = EPST_PS_3_0, 22 | PS_4_0 = EPST_PS_4_0, 23 | PS_4_1 = EPST_PS_4_1, 24 | PS_5_0 = EPST_PS_5_0 25 | }; 26 | 27 | } // end namespace Video 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/SceneNodeRenderPass.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | [Flags] 12 | public enum class SceneNodeRenderPass 13 | { 14 | None = ESNRP_NONE, 15 | Camera = ESNRP_CAMERA, 16 | Light = ESNRP_LIGHT, 17 | SkyBox = ESNRP_SKY_BOX, 18 | Automatic = ESNRP_AUTOMATIC, 19 | Solid = ESNRP_SOLID, 20 | Transparent = ESNRP_TRANSPARENT, 21 | TransparentEffect = ESNRP_TRANSPARENT_EFFECT, 22 | Shadow = ESNRP_SHADOW 23 | }; 24 | 25 | } // end namespace Scene 26 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TextureCreationFlag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | [Flags] 13 | public enum class TextureCreationFlag 14 | { 15 | Always16Bit = ETCF_ALWAYS_16_BIT, 16 | Always32Bit = ETCF_ALWAYS_32_BIT, 17 | OptimizedForQuality = ETCF_OPTIMIZED_FOR_QUALITY, 18 | OptimizedForSpeed = ETCF_OPTIMIZED_FOR_SPEED, 19 | CreateMipMaps = ETCF_CREATE_MIP_MAPS, 20 | NoAlphaChannel = ETCF_NO_ALPHA_CHANNEL, 21 | AllowNonPower2 = ETCF_ALLOW_NON_POWER_2 22 | }; 23 | 24 | } // end namespace Video 25 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIFileOpenDialog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUIFileOpenDialog : GUIElement 13 | { 14 | public: 15 | 16 | property String^ DirectoryName { String^ get(); } 17 | property String^ FileName { String^ get(); } 18 | 19 | internal: 20 | 21 | static GUIFileOpenDialog^ Wrap(gui::IGUIFileOpenDialog* ref); 22 | GUIFileOpenDialog(gui::IGUIFileOpenDialog* ref); 23 | 24 | gui::IGUIFileOpenDialog* m_GUIFileOpenDialog; 25 | }; 26 | 27 | } // end namespace GUI 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUISpriteBank.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "GUISpriteBank.h" 3 | #include "ReferenceCounted.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | using namespace IrrlichtLime::Core; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | GUISpriteBank^ GUISpriteBank::Wrap(gui::IGUISpriteBank* ref) 13 | { 14 | if (ref == nullptr) 15 | return nullptr; 16 | 17 | return gcnew GUISpriteBank(ref); 18 | } 19 | 20 | GUISpriteBank::GUISpriteBank(gui::IGUISpriteBank* ref) 21 | : ReferenceCounted(ref) 22 | { 23 | LIME_ASSERT(ref != nullptr); 24 | m_GUISpriteBank = ref; 25 | } 26 | 27 | } // end namespace GUI 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/PrimitiveType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class PrimitiveType 12 | { 13 | Points = EPT_POINTS, 14 | LineStrip = EPT_LINE_STRIP, 15 | LineLoop = EPT_LINE_LOOP, 16 | Lines = EPT_LINES, 17 | TriangleStrip = EPT_TRIANGLE_STRIP, 18 | TriangleFan = EPT_TRIANGLE_FAN, 19 | Triangles = EPT_TRIANGLES, 20 | QuadStrip = EPT_QUAD_STRIP, 21 | Quads = EPT_QUADS, 22 | Polygon = EPT_POLYGON, 23 | PointSprites = EPT_POINT_SPRITES 24 | }; 25 | 26 | } // end namespace Scene 27 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/Randomizer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | 12 | public ref class Randomizer : ReferenceCounted 13 | { 14 | public: 15 | 16 | float GetFloat(); 17 | int GetInt(); 18 | 19 | void Reset(int value); 20 | void Reset(); 21 | 22 | property int MaxRandomInt { int get(); } 23 | 24 | internal: 25 | 26 | static Randomizer^ Wrap(irr::IRandomizer* ref); 27 | Randomizer(irr::IRandomizer* ref); 28 | 29 | irr::IRandomizer* m_Randomizer; 30 | }; 31 | 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIColorSelectDialog.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "GUIColorSelectDialog.h" 3 | #include "GUIElement.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace GUI { 10 | 11 | GUIColorSelectDialog^ GUIColorSelectDialog::Wrap(gui::IGUIColorSelectDialog* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew GUIColorSelectDialog(ref); 17 | } 18 | 19 | GUIColorSelectDialog::GUIColorSelectDialog(gui::IGUIColorSelectDialog* ref) 20 | : GUIElement(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_GUIColorSelectDialog = ref; 24 | } 25 | 26 | } // end namespace GUI 27 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/irrunpack.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2007-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | // include this file to switch back to default alignment 6 | // file belongs to irrpack.h, see there for more info 7 | 8 | // Default alignment 9 | #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) 10 | # pragma pack( pop, packing ) 11 | #elif defined (__DMC__) 12 | # pragma pack( pop ) 13 | #elif defined( __GNUC__ ) 14 | # if (__GNUC__ >= 4 ) && (__GNUC_MINOR__ >= 7) 15 | # pragma pack( pop, packing ) 16 | # endif 17 | #endif 18 | 19 | #undef PACK_STRUCT 20 | 21 | -------------------------------------------------------------------------------- /source/SceneNodeAnimatorType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class SceneNodeAnimatorType 12 | { 13 | FlyCircle = ESNAT_FLY_CIRCLE, 14 | FlyStraight = ESNAT_FLY_STRAIGHT, 15 | FollowSpline = ESNAT_FOLLOW_SPLINE, 16 | Rotation = ESNAT_ROTATION, 17 | Texture = ESNAT_TEXTURE, 18 | Deletion = ESNAT_DELETION, 19 | CollisionResponse = ESNAT_COLLISION_RESPONSE, 20 | CameraFPS = ESNAT_CAMERA_FPS, 21 | CameraMaya = ESNAT_CAMERA_MAYA, 22 | Unknown = ESNAT_UNKNOWN 23 | }; 24 | 25 | } // end namespace Scene 26 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleBoxEmitter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleEmitter.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleBoxEmitter : ParticleEmitter 14 | { 15 | public: 16 | 17 | property AABBox^ Box { AABBox^ get(); void set(AABBox^ value); } 18 | 19 | internal: 20 | 21 | static ParticleBoxEmitter^ Wrap(scene::IParticleBoxEmitter* ref); 22 | ParticleBoxEmitter(scene::IParticleBoxEmitter* ref); 23 | 24 | scene::IParticleBoxEmitter* m_ParticleBoxEmitter; 25 | }; 26 | 27 | } // end namespace Scene 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ShadowVolumeSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | ref class Mesh; 13 | 14 | public ref class ShadowVolumeSceneNode : SceneNode 15 | { 16 | public: 17 | 18 | void SetShadowMesh(Mesh^ mesh); 19 | void UpdateShadowVolumes(); 20 | 21 | internal: 22 | 23 | static ShadowVolumeSceneNode^ Wrap(scene::IShadowVolumeSceneNode* ref); 24 | ShadowVolumeSceneNode(scene::IShadowVolumeSceneNode* ref); 25 | 26 | scene::IShadowVolumeSceneNode* m_ShadowVolumeSceneNode; 27 | }; 28 | 29 | } // end namespace Scene 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/BillboardTextSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "BillboardSceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class BillboardTextSceneNode : BillboardSceneNode 13 | { 14 | public: 15 | 16 | void SetText(String^ text); 17 | void SetTextColor(Video::Color^ color); 18 | 19 | internal: 20 | 21 | static BillboardTextSceneNode^ Wrap(scene::IBillboardTextSceneNode* ref); 22 | BillboardTextSceneNode(scene::IBillboardTextSceneNode* ref); 23 | 24 | scene::IBillboardTextSceneNode* m_BillboardTextSceneNode; 25 | }; 26 | 27 | } // end namespace Scene 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MeshLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace IO { ref class ReadFile; } 11 | namespace Scene { 12 | 13 | ref class AnimatedMesh; 14 | 15 | public ref class MeshLoader : ReferenceCounted 16 | { 17 | public: 18 | 19 | AnimatedMesh^ CreateMesh(IO::ReadFile^ file); 20 | bool IsALoadableFileExtension(String^ filename); 21 | 22 | internal: 23 | 24 | static MeshLoader^ Wrap(scene::IMeshLoader* ref); 25 | MeshLoader(scene::IMeshLoader* ref); 26 | 27 | scene::IMeshLoader* m_MeshLoader; 28 | }; 29 | 30 | } // end namespace Scene 31 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUICheckBox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUICheckBox : GUIElement 13 | { 14 | public: 15 | 16 | property bool Checked { bool get(); void set(bool value); } 17 | property bool DrawBackground { bool get(); void set(bool value); } 18 | property bool DrawBorder { bool get(); void set(bool value); } 19 | 20 | internal: 21 | 22 | static GUICheckBox^ Wrap(gui::IGUICheckBox* ref); 23 | GUICheckBox(gui::IGUICheckBox* ref); 24 | 25 | gui::IGUICheckBox* m_GUICheckBox; 26 | }; 27 | 28 | } // end namespace GUI 29 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/DummyTransformationSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class DummyTransformationSceneNode : SceneNode 13 | { 14 | public: 15 | 16 | property Matrix^ RelativeTransformationMatrix { Matrix^ get(); } 17 | 18 | internal: 19 | 20 | static DummyTransformationSceneNode^ Wrap(scene::IDummyTransformationSceneNode* ref); 21 | DummyTransformationSceneNode(scene::IDummyTransformationSceneNode* ref); 22 | 23 | scene::IDummyTransformationSceneNode* m_DummyTransformationSceneNode; 24 | }; 25 | 26 | } // end namespace Scene 27 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /media/opengl.psh: -------------------------------------------------------------------------------- 1 | !!ARBfp1.0 2 | # part of the Irrlicht Engine Shader example. 3 | # Please note that these example shaders don't do anything really useful. 4 | # They only demonstrate that shaders can be used in Irrlicht. 5 | 6 | #Input 7 | ATTRIB inTexCoord = fragment.texcoord; # texture coordinates 8 | ATTRIB inColor = fragment.color.primary; # interpolated diffuse color 9 | 10 | #Output 11 | OUTPUT outColor = result.color; 12 | 13 | TEMP texelColor; 14 | TEMP tmp; 15 | TXP texelColor, inTexCoord, texture, 2D; 16 | 17 | ADD tmp, inColor, inColor; # mulitply with color 18 | MUL texelColor, texelColor, tmp; # mulitply with color 19 | ADD outColor, texelColor, texelColor; # make it brighter and store result 20 | 21 | END 22 | 23 | -------------------------------------------------------------------------------- /source/BlendFactor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class BlendFactor 13 | { 14 | Zero = EBF_ZERO, 15 | One = EBF_ONE, 16 | DstColor = EBF_DST_COLOR, 17 | OneMinusDstColor = EBF_ONE_MINUS_DST_COLOR, 18 | SrcColor = EBF_SRC_COLOR, 19 | OneMinusSrcColor = EBF_ONE_MINUS_SRC_COLOR, 20 | SrcAlpha = EBF_SRC_ALPHA, 21 | OneMinusSrcAlpha = EBF_ONE_MINUS_SRC_ALPHA, 22 | DstAlpha = EBF_DST_ALPHA, 23 | OneMinusDstAlpha = EBF_ONE_MINUS_DST_ALPHA, 24 | SrcAlphaSaturate = EBF_SRC_ALPHA_SATURATE 25 | }; 26 | 27 | } // end namespace Video 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /media/opengl.vert: -------------------------------------------------------------------------------- 1 | 2 | uniform mat4 mWorldViewProj; 3 | uniform mat4 mInvWorld; 4 | uniform mat4 mTransWorld; 5 | uniform vec3 mLightPos; 6 | uniform vec4 mLightColor; 7 | 8 | void main(void) 9 | { 10 | gl_Position = mWorldViewProj * gl_Vertex; 11 | 12 | vec4 normal = vec4(gl_Normal, 0.0); 13 | normal = mInvWorld * normal; 14 | normal = normalize(normal); 15 | 16 | vec4 worldpos = gl_Vertex * mTransWorld; 17 | 18 | vec4 lightVector = worldpos - vec4(mLightPos,1.0); 19 | lightVector = normalize(lightVector); 20 | 21 | float tmp2 = dot(-lightVector, normal); 22 | 23 | vec4 tmp = mLightColor * tmp2; 24 | gl_FrontColor = gl_BackColor = vec4(tmp.x, tmp.y, tmp.z, 0.0); 25 | 26 | gl_TexCoord[0] = gl_MultiTexCoord0; 27 | } 28 | -------------------------------------------------------------------------------- /source/ColorFormat.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class ColorFormat 13 | { 14 | A1R5G5B5 = ECF_A1R5G5B5, 15 | R5G6B5 = ECF_R5G6B5, 16 | R8G8B8 = ECF_R8G8B8, 17 | A8R8G8B8 = ECF_A8R8G8B8, 18 | DXT1 = ECF_DXT1, 19 | DXT2 = ECF_DXT2, 20 | DXT3 = ECF_DXT3, 21 | DXT4 = ECF_DXT4, 22 | DXT5 = ECF_DXT5, 23 | R16F = ECF_R16F, 24 | G16R16F = ECF_G16R16F, 25 | A16B16G16R16F = ECF_A16B16G16R16F, 26 | R32F = ECF_R32F, 27 | G32R32F = ECF_G32R32F, 28 | A32B32G32R32F = ECF_A32B32G32R32F, 29 | Unknown = ECF_UNKNOWN 30 | }; 31 | 32 | } // end namespace Video 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIImageList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUIImageList : ReferenceCounted 13 | { 14 | public: 15 | 16 | void Draw(int index, Vector2Di^ destPos, Recti^ clip); 17 | void Draw(int index, Vector2Di^ destPos); 18 | 19 | property int ImageCount { int get(); } 20 | property Dimension2Di^ ImageSize { Dimension2Di^ get(); } 21 | 22 | internal: 23 | 24 | static GUIImageList^ Wrap(gui::IGUIImageList* ref); 25 | GUIImageList(gui::IGUIImageList* ref); 26 | 27 | gui::IGUIImageList* m_GUIImageList; 28 | }; 29 | 30 | } // end namespace GUI 31 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIInOutFader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUIInOutFader : GUIElement 13 | { 14 | public: 15 | 16 | void FadeIn(unsigned int time); 17 | void FadeOut(unsigned int time); 18 | 19 | void SetColor(Video::Color^ source, Video::Color^ dest); 20 | void SetColor(Video::Color^ bothAplhaIgnored); 21 | 22 | property bool Ready { bool get(); } 23 | 24 | internal: 25 | 26 | static GUIInOutFader^ Wrap(gui::IGUIInOutFader* ref); 27 | GUIInOutFader(gui::IGUIInOutFader* ref); 28 | 29 | gui::IGUIInOutFader* m_GUIInOutFader; 30 | }; 31 | 32 | } // end namespace GUI 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/RenderTarget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class RenderTarget 13 | { 14 | FrameBuffer = ERT_FRAME_BUFFER, 15 | RenderTexture = ERT_RENDER_TEXTURE, 16 | MultiRenderTexture = ERT_MULTI_RENDER_TEXTURES, 17 | StereoLeftBuffer = ERT_STEREO_LEFT_BUFFER, 18 | StereoRightBuffer = ERT_STEREO_RIGHT_BUFFER, 19 | StereoBothBuffers = ERT_STEREO_BOTH_BUFFERS, 20 | AuxBuffer0 = ERT_AUX_BUFFER0, 21 | AuxBuffer1 = ERT_AUX_BUFFER1, 22 | AuxBuffer2 = ERT_AUX_BUFFER2, 23 | AuxBuffer3 = ERT_AUX_BUFFER3, 24 | AuxBuffer4 = ERT_AUX_BUFFER4 25 | }; 26 | 27 | } // end namespace Video 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUITab.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUITab : GUIElement 13 | { 14 | public: 15 | 16 | property Video::Color^ BackgroundColor { Video::Color^ get(); void set(Video::Color^ value); } 17 | property bool DrawBackground { bool get(); void set(bool value); } 18 | property int Index { int get(); } 19 | property Video::Color^ TextColor { Video::Color^ get(); void set(Video::Color^ value); } 20 | 21 | internal: 22 | 23 | static GUITab^ Wrap(gui::IGUITab* ref); 24 | GUITab(gui::IGUITab* ref); 25 | 26 | gui::IGUITab* m_GUITab; 27 | }; 28 | 29 | } // end namespace GUI 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ImageLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { ref class ReadFile; } 12 | namespace Video { 13 | 14 | ref class Image; 15 | 16 | public ref class ImageLoader : ReferenceCounted 17 | { 18 | public: 19 | 20 | bool IsLoadableFileExtension(String^ filename); 21 | bool IsLoadableFileFormat(IO::ReadFile^ file); 22 | Image^ LoadImage(IO::ReadFile^ file); 23 | 24 | internal: 25 | 26 | static ImageLoader^ Wrap(video::IImageLoader* ref); 27 | ImageLoader(video::IImageLoader* ref); 28 | 29 | video::IImageLoader* m_ImageLoader; 30 | }; 31 | 32 | } // end namespace Video 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleSphereEmitter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleEmitter.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleSphereEmitter : ParticleEmitter 14 | { 15 | public: 16 | 17 | property Vector3Df^ Center { Vector3Df^ get(); void set(Vector3Df^ value); } 18 | property float Radius { float get(); void set(float value); } 19 | 20 | internal: 21 | 22 | static ParticleSphereEmitter^ Wrap(scene::IParticleSphereEmitter* ref); 23 | ParticleSphereEmitter(scene::IParticleSphereEmitter* ref); 24 | 25 | scene::IParticleSphereEmitter* m_ParticleSphereEmitter; 26 | }; 27 | 28 | } // end namespace Scene 29 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MetaTriangleSelector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "TriangleSelector.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class MetaTriangleSelector : TriangleSelector 14 | { 15 | public: 16 | 17 | void AddTriangleSelector(TriangleSelector^ selector); 18 | void RemoveAllTriangleSelectors(); 19 | bool RemoveTriangleSelector(TriangleSelector^ selector); 20 | 21 | internal: 22 | 23 | static MetaTriangleSelector^ Wrap(scene::IMetaTriangleSelector* ref); 24 | MetaTriangleSelector(scene::IMetaTriangleSelector* ref); 25 | 26 | scene::IMetaTriangleSelector* m_MetaTriangleSelector; 27 | }; 28 | 29 | } // end namespace Scene 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/Logger.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | 12 | public ref class Logger : ReferenceCounted 13 | { 14 | public: 15 | 16 | void Log(String^ text, String^ hint, IrrlichtLime::LogLevel level); 17 | void Log(String^ text, IrrlichtLime::LogLevel level); 18 | void Log(String^ text); 19 | 20 | property IrrlichtLime::LogLevel LogLevel { IrrlichtLime::LogLevel get(); void set(IrrlichtLime::LogLevel value); } 21 | 22 | virtual String^ ToString() override; 23 | 24 | internal: 25 | 26 | static Logger^ Wrap(irr::ILogger* ref); 27 | Logger(irr::ILogger* ref); 28 | 29 | irr::ILogger* m_Logger; 30 | }; 31 | 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleGravityAffector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleAffector.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleGravityAffector : ParticleAffector 14 | { 15 | public: 16 | 17 | property Vector3Df^ Gravity { Vector3Df^ get(); void set(Vector3Df^ value); } 18 | property float TimeForceLost { float get(); void set(float value); } 19 | 20 | internal: 21 | 22 | static ParticleGravityAffector^ Wrap(scene::IParticleGravityAffector* ref); 23 | ParticleGravityAffector(scene::IParticleGravityAffector* ref); 24 | 25 | scene::IParticleGravityAffector* m_ParticleGravityAffector; 26 | }; 27 | 28 | } // end namespace Scene 29 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleFadeOutAffector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleAffector.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleFadeOutAffector : ParticleAffector 14 | { 15 | public: 16 | 17 | property int FadeOutTime { int get(); void set(int value); } 18 | property Video::Color^ TargetColor { Video::Color^ get(); void set(Video::Color^ value); } 19 | 20 | internal: 21 | 22 | static ParticleFadeOutAffector^ Wrap(scene::IParticleFadeOutAffector* ref); 23 | ParticleFadeOutAffector(scene::IParticleFadeOutAffector* ref); 24 | 25 | scene::IParticleFadeOutAffector* m_ParticleFadeOutAffector; 26 | }; 27 | 28 | } // end namespace Scene 29 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ReferenceCounted.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | using namespace IrrlichtLime::Core; 8 | 9 | namespace IrrlichtLime { 10 | 11 | public ref class ReferenceCounted 12 | { 13 | public: 14 | 15 | static bool operator == (ReferenceCounted^ v1, ReferenceCounted^ v2); 16 | static bool operator != (ReferenceCounted^ v1, ReferenceCounted^ v2); 17 | 18 | virtual bool Drop(); 19 | virtual void Grab(); 20 | 21 | property String^ DebugName { String^ get(); } 22 | property int ReferenceCount { int get(); } 23 | 24 | internal: 25 | 26 | ReferenceCounted(irr::IReferenceCounted* referenceCounted_or_null); 27 | ~ReferenceCounted(); 28 | !ReferenceCounted(); 29 | 30 | irr::IReferenceCounted* m_ReferenceCounted; 31 | }; 32 | 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/SceneLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace IO { ref class ReadFile; } 11 | namespace Scene { 12 | 13 | ref class SceneNode; 14 | 15 | public ref class SceneLoader : ReferenceCounted 16 | { 17 | public: 18 | 19 | bool IsALoadableFileExtension(String^ filename); 20 | bool IsALoadableFileFormat(IO::ReadFile^ file); 21 | 22 | bool LoadScene(IO::ReadFile^ file, SceneNode^ rootNode); 23 | bool LoadScene(IO::ReadFile^ file); 24 | 25 | internal: 26 | 27 | static SceneLoader^ Wrap(scene::ISceneLoader* ref); 28 | SceneLoader(scene::ISceneLoader* ref); 29 | 30 | scene::ISceneLoader* m_SceneLoader; 31 | }; 32 | 33 | } // end namespace Scene 34 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIMeshViewer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { ref class Material; } 11 | namespace Scene { ref class AnimatedMesh; } 12 | namespace GUI { 13 | 14 | public ref class GUIMeshViewer : GUIElement 15 | { 16 | public: 17 | 18 | property Video::Material^ Material { Video::Material^ get(); void set(Video::Material^ value); } 19 | property Scene::AnimatedMesh^ Mesh { Scene::AnimatedMesh^ get(); void set(Scene::AnimatedMesh^ value); } 20 | 21 | internal: 22 | 23 | static GUIMeshViewer^ Wrap(gui::IGUIMeshViewer* ref); 24 | GUIMeshViewer(gui::IGUIMeshViewer* ref); 25 | 26 | gui::IGUIMeshViewer* m_GUIMeshViewer; 27 | }; 28 | 29 | } // end namespace GUI 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/OSOperator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | 12 | public ref class OSOperator : ReferenceCounted 13 | { 14 | public: 15 | 16 | property String^ ClipboardText { String^ get(); void set(String^ value); } 17 | property String^ OSVersion { String^ get(); } 18 | property int ProcessorSpeedMHz { int get(); } 19 | property int MemoryFreeKb { int get(); } 20 | property int MemoryTotalKb { int get(); } 21 | 22 | virtual String^ ToString() override; 23 | 24 | internal: 25 | 26 | static OSOperator^ Wrap(irr::IOSOperator* ref); 27 | OSOperator(irr::IOSOperator* ref); 28 | 29 | irr::IOSOperator* m_OSOperator; 30 | }; 31 | 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIScrollBar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUIScrollBar : GUIElement 13 | { 14 | public: 15 | 16 | property int LargeStep { int get(); void set(int value); } 17 | property int MaxValue { int get(); void set(int value); } 18 | property int MinValue { int get(); void set(int value); } 19 | property int Position { int get(); void set(int value); } 20 | property int SmallStep { int get(); void set(int value); } 21 | 22 | internal: 23 | 24 | static GUIScrollBar^ Wrap(gui::IGUIScrollBar* ref); 25 | GUIScrollBar(gui::IGUIScrollBar* ref); 26 | 27 | gui::IGUIScrollBar* m_GUIScrollBar; 28 | }; 29 | 30 | } // end namespace GUI 31 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleRotationAffector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleAffector.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleRotationAffector : ParticleAffector 14 | { 15 | public: 16 | 17 | property Vector3Df^ Pivot { Vector3Df^ get(); void set(Vector3Df^ value); } 18 | property Vector3Df^ Speed { Vector3Df^ get(); void set(Vector3Df^ value); } 19 | 20 | internal: 21 | 22 | static ParticleRotationAffector^ Wrap(scene::IParticleRotationAffector* ref); 23 | ParticleRotationAffector(scene::IParticleRotationAffector* ref); 24 | 25 | scene::IParticleRotationAffector* m_ParticleRotationAffector; 26 | }; 27 | 28 | } // end namespace Scene 29 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/WriteFile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { 12 | 13 | public ref class WriteFile : ReferenceCounted 14 | { 15 | public: 16 | 17 | bool Seek(long position, bool relativeMovement); 18 | bool Seek(long position); 19 | 20 | int Write(array^ buffer); 21 | 22 | property String^ FileName { String^ get(); } 23 | property long Position { long get(); } 24 | 25 | virtual String^ ToString() override; 26 | 27 | internal: 28 | 29 | static WriteFile^ Wrap(io::IWriteFile* ref); 30 | WriteFile(io::IWriteFile* ref); 31 | 32 | io::IWriteFile* m_WriteFile; 33 | }; 34 | 35 | } // end namespace IO 36 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MouseEventType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | 10 | public enum class MouseEventType 11 | { 12 | LeftDown = EMIE_LMOUSE_PRESSED_DOWN, 13 | RightDown = EMIE_RMOUSE_PRESSED_DOWN, 14 | MiddleDown = EMIE_MMOUSE_PRESSED_DOWN, 15 | LeftUp = EMIE_LMOUSE_LEFT_UP, 16 | RightUp = EMIE_RMOUSE_LEFT_UP, 17 | MiddleUp = EMIE_MMOUSE_LEFT_UP, 18 | Move = EMIE_MOUSE_MOVED, 19 | Wheel = EMIE_MOUSE_WHEEL, 20 | LeftDoubleClick = EMIE_LMOUSE_DOUBLE_CLICK, 21 | RightDoubleClick = EMIE_RMOUSE_DOUBLE_CLICK, 22 | MiddleDoubleClick = EMIE_MMOUSE_DOUBLE_CLICK, 23 | LeftTripleClick = EMIE_LMOUSE_TRIPLE_CLICK, 24 | RightTripleClick = EMIE_RMOUSE_TRIPLE_CLICK, 25 | MiddleTripleClick = EMIE_MMOUSE_TRIPLE_CLICK 26 | }; 27 | 28 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/VideoModeList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Video { 12 | 13 | public ref class VideoModeList : ReferenceCounted 14 | { 15 | public: 16 | 17 | Dimension2Di^ GetResolution(Dimension2Di^ minSize, Dimension2Di^ maxSize); 18 | 19 | property VideoMode Desktop { VideoMode get(); } 20 | property List^ ModeList { List^ get(); } 21 | 22 | virtual String^ ToString() override; 23 | 24 | internal: 25 | 26 | static VideoModeList^ Wrap(video::IVideoModeList* ref); 27 | VideoModeList(video::IVideoModeList* ref); 28 | 29 | video::IVideoModeList* m_VideoModeList; 30 | }; 31 | 32 | } // end namespace Video 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleRingEmitter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleEmitter.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleRingEmitter : ParticleEmitter 14 | { 15 | public: 16 | 17 | property Vector3Df^ Center { Vector3Df^ get(); void set(Vector3Df^ value); } 18 | property float Radius { float get(); void set(float value); } 19 | property float Thickness { float get(); void set(float value); } 20 | 21 | internal: 22 | 23 | static ParticleRingEmitter^ Wrap(scene::IParticleRingEmitter* ref); 24 | ParticleRingEmitter(scene::IParticleRingEmitter* ref); 25 | 26 | scene::IParticleRingEmitter* m_ParticleRingEmitter; 27 | }; 28 | 29 | } // end namespace Scene 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIImage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { ref class Texture; } 11 | namespace GUI { 12 | 13 | public ref class GUIImage : GUIElement 14 | { 15 | public: 16 | 17 | property bool AlphaChannel { bool get(); void set(bool value); } 18 | property Video::Color^ Color { Video::Color^ get(); void set(Video::Color^ value); } 19 | property Video::Texture^ Image { Video::Texture^ get(); void set(Video::Texture^ value); } 20 | property bool ScaleImage { bool get(); void set(bool value); } 21 | 22 | internal: 23 | 24 | static GUIImage^ Wrap(gui::IGUIImage* ref); 25 | GUIImage(gui::IGUIImage* ref); 26 | 27 | gui::IGUIImage* m_GUIImage; 28 | }; 29 | 30 | } // end namespace GUI 31 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/DynamicMeshBuffer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "MeshBuffer.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | ref class IndexBuffer; 13 | ref class VertexBuffer; 14 | 15 | public ref class DynamicMeshBuffer : MeshBuffer 16 | { 17 | public: 18 | 19 | property Scene::IndexBuffer^ IndexBuffer { Scene::IndexBuffer^ get(); void set(Scene::IndexBuffer^ value); } 20 | property Scene::VertexBuffer^ VertexBuffer { Scene::VertexBuffer^ get(); void set(Scene::VertexBuffer^ value); } 21 | 22 | internal: 23 | 24 | static DynamicMeshBuffer^ Wrap(scene::IDynamicMeshBuffer* ref); 25 | DynamicMeshBuffer(scene::IDynamicMeshBuffer* ref); 26 | 27 | scene::IDynamicMeshBuffer* m_DynamicMeshBuffer; 28 | }; 29 | 30 | } // end namespace Scene 31 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/JoystickInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | 10 | public ref class JoystickInfo 11 | { 12 | public: 13 | 14 | enum class PovHatPresence 15 | { 16 | Present = SJoystickInfo::POV_HAT_PRESENT, 17 | Absent = SJoystickInfo::POV_HAT_ABSENT, 18 | Unknown = SJoystickInfo::POV_HAT_UNKNOWN 19 | }; 20 | 21 | unsigned int AxisCount; 22 | unsigned int ButtonCount; 23 | unsigned __int8 Joystick; 24 | String^ Name; 25 | PovHatPresence PovHat; 26 | 27 | internal: 28 | 29 | JoystickInfo(const SJoystickInfo& copy) 30 | : AxisCount(copy.Axes) 31 | , ButtonCount(copy.Buttons) 32 | , Joystick(copy.Joystick) 33 | , Name(gcnew String(copy.Name.c_str())) 34 | , PovHat((PovHatPresence)copy.PovHat) {} 35 | }; 36 | 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ReadFile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { 12 | 13 | public ref class ReadFile : ReferenceCounted 14 | { 15 | public: 16 | 17 | array^ Read(int bytesToRead); 18 | 19 | bool Seek(long position, bool relativeMovement); 20 | bool Seek(long position); 21 | 22 | property String^ FileName { String^ get(); } 23 | property long Position { long get(); } 24 | property long Size { long get(); } 25 | 26 | virtual String^ ToString() override; 27 | 28 | internal: 29 | 30 | static ReadFile^ Wrap(io::IReadFile* ref); 31 | ReadFile(io::IReadFile* ref); 32 | 33 | io::IReadFile* m_ReadFile; 34 | }; 35 | 36 | } // end namespace IO 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TransformationState.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class TransformationState 13 | { 14 | View = ETS_VIEW, 15 | World = ETS_WORLD, 16 | Projection = ETS_PROJECTION, 17 | Texture0 = ETS_TEXTURE_0, 18 | Texture1 = ETS_TEXTURE_1, 19 | Texture2 = ETS_TEXTURE_2, 20 | Texture3 = ETS_TEXTURE_3, 21 | #if _IRR_MATERIAL_MAX_TEXTURES_>4 22 | Texture4 = ETS_TEXTURE_4, 23 | #if _IRR_MATERIAL_MAX_TEXTURES_>5 24 | Texture5 = ETS_TEXTURE_5, 25 | #if _IRR_MATERIAL_MAX_TEXTURES_>6 26 | Texture6 = ETS_TEXTURE_6, 27 | #if _IRR_MATERIAL_MAX_TEXTURES_>7 28 | Texture7 = ETS_TEXTURE_7, 29 | #endif 30 | #endif 31 | #endif 32 | #endif 33 | }; 34 | 35 | } // end namespace Video 36 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/EMessageBoxFlags.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __E_MESSAGE_BOX_FLAGS_H_INCLUDED__ 6 | #define __E_MESSAGE_BOX_FLAGS_H_INCLUDED__ 7 | 8 | namespace irr 9 | { 10 | namespace gui 11 | { 12 | 13 | //! enumeration for message box layout flags 14 | enum EMESSAGE_BOX_FLAG 15 | { 16 | //! Flag for the ok button 17 | EMBF_OK = 0x1, 18 | 19 | //! Flag for the cancel button 20 | EMBF_CANCEL = 0x2, 21 | 22 | //! Flag for the yes button 23 | EMBF_YES = 0x4, 24 | 25 | //! Flag for the no button 26 | EMBF_NO = 0x8, 27 | 28 | //! This value is not used. It only forces this enumeration to compile in 32 bit. 29 | EMBF_FORCE_32BIT = 0x7fffffff 30 | }; 31 | 32 | } // namespace gui 33 | } // namespace irr 34 | 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /source/VolumeLightSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class VolumeLightSceneNode : SceneNode 13 | { 14 | public: 15 | 16 | property Video::Color^ FootColor { Video::Color^ get(); void set(Video::Color^ value); } 17 | property int SubDivideU { int get(); void set(int value); } 18 | property int SubDivideV { int get(); void set(int value); } 19 | property Video::Color^ TailColor { Video::Color^ get(); void set(Video::Color^ value); } 20 | 21 | internal: 22 | 23 | static VolumeLightSceneNode^ Wrap(scene::IVolumeLightSceneNode* ref); 24 | VolumeLightSceneNode(scene::IVolumeLightSceneNode* ref); 25 | 26 | scene::IVolumeLightSceneNode* m_VolumeLightSceneNode; 27 | }; 28 | 29 | } // end namespace Scene 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleAffector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "AttributeExchangingObject.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | ref class Particle; 14 | 15 | public ref class ParticleAffector : IO::AttributeExchangingObject 16 | { 17 | public: 18 | 19 | void Affect(unsigned int now, List^ particleList); 20 | 21 | property bool Enabled { bool get(); void set(bool value); } 22 | property ParticleAffectorType Type { ParticleAffectorType get(); } 23 | 24 | virtual String^ ToString() override; 25 | 26 | internal: 27 | 28 | static ParticleAffector^ Wrap(scene::IParticleAffector* ref); 29 | ParticleAffector(scene::IParticleAffector* ref); 30 | 31 | scene::IParticleAffector* m_ParticleAffector; 32 | }; 33 | 34 | } // end namespace Scene 35 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TextSceneNode.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "SceneNode.h" 3 | #include "TextSceneNode.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | TextSceneNode^ TextSceneNode::Wrap(scene::ITextSceneNode* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew TextSceneNode(ref); 17 | } 18 | 19 | TextSceneNode::TextSceneNode(scene::ITextSceneNode* ref) 20 | : SceneNode(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_TextSceneNode = ref; 24 | } 25 | 26 | void TextSceneNode::SetText(String^ text) 27 | { 28 | m_TextSceneNode->setText(LIME_SAFESTRINGTOSTRINGW_C_STR(text)); 29 | } 30 | 31 | void TextSceneNode::SetTextColor(Video::Color^ color) 32 | { 33 | LIME_ASSERT(color != nullptr); 34 | m_TextSceneNode->setTextColor(*color->m_NativeValue); 35 | } 36 | 37 | } // end namespace Scene 38 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/EGUIAlignment.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __E_GUI_ALIGNMENT_H_INCLUDED__ 6 | #define __E_GUI_ALIGNMENT_H_INCLUDED__ 7 | 8 | namespace irr 9 | { 10 | namespace gui 11 | { 12 | enum EGUI_ALIGNMENT 13 | { 14 | //! Aligned to parent's top or left side (default) 15 | EGUIA_UPPERLEFT=0, 16 | //! Aligned to parent's bottom or right side 17 | EGUIA_LOWERRIGHT, 18 | //! Aligned to the center of parent 19 | EGUIA_CENTER, 20 | //! Stretched to fit parent 21 | EGUIA_SCALE 22 | }; 23 | 24 | //! Names for alignments 25 | const c8* const GUIAlignmentNames[] = 26 | { 27 | "upperLeft", 28 | "lowerRight", 29 | "center", 30 | "scale", 31 | 0 32 | }; 33 | 34 | } // namespace gui 35 | } // namespace irr 36 | 37 | #endif // __E_GUI_ALIGNMENT_H_INCLUDED__ 38 | 39 | -------------------------------------------------------------------------------- /source/CameraMayaSceneNodeAnimator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNodeAnimator.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class CameraMayaSceneNodeAnimator : SceneNodeAnimator 13 | { 14 | public: 15 | 16 | property float Distance { float get(); void set(float value); } 17 | property float MoveSpeed { float get(); void set(float value); } 18 | property float RotateSpeed { float get(); void set(float value); } 19 | property float ZoomSpeed { float get(); void set(float value); } 20 | 21 | internal: 22 | 23 | static CameraMayaSceneNodeAnimator^ Wrap(scene::ISceneNodeAnimatorCameraMaya* ref); 24 | CameraMayaSceneNodeAnimator(scene::ISceneNodeAnimatorCameraMaya* ref); 25 | 26 | scene::ISceneNodeAnimatorCameraMaya* m_CameraMayaSceneNodeAnimator; 27 | }; 28 | 29 | } // end namespace Scene 30 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AnimatedMesh.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "Mesh.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class AnimatedMesh : Mesh 13 | { 14 | public: 15 | 16 | Mesh^ GetMesh(int frame, int detailLevel, int startFrameLoop, int endFrameLoop); 17 | Mesh^ GetMesh(int frame, int detailLevel, int startFrameLoop); 18 | Mesh^ GetMesh(int frame, int detailLevel); 19 | Mesh^ GetMesh(int frame); 20 | 21 | property float AnimationSpeed { float get(); void set(float value); } 22 | property int FrameCount { int get(); } 23 | property AnimatedMeshType MeshType { AnimatedMeshType get(); } 24 | 25 | internal: 26 | 27 | static AnimatedMesh^ Wrap(scene::IAnimatedMesh* ref); 28 | AnimatedMesh(scene::IAnimatedMesh* ref); 29 | 30 | scene::IAnimatedMesh* m_AnimatedMesh; 31 | }; 32 | 33 | } // end namespace Scene 34 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/DummyTransformationSceneNode.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "DummyTransformationSceneNode.h" 3 | #include "SceneNode.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | DummyTransformationSceneNode^ DummyTransformationSceneNode::Wrap(scene::IDummyTransformationSceneNode* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew DummyTransformationSceneNode(ref); 17 | } 18 | 19 | DummyTransformationSceneNode::DummyTransformationSceneNode(scene::IDummyTransformationSceneNode* ref) 20 | : SceneNode(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_DummyTransformationSceneNode = ref; 24 | } 25 | 26 | Matrix^ DummyTransformationSceneNode::RelativeTransformationMatrix::get() 27 | { 28 | return gcnew Matrix(&m_DummyTransformationSceneNode->getRelativeTransformationMatrix()); 29 | } 30 | 31 | } // end namespace Scene 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleMeshEmitter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleEmitter.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | ref class Mesh; 14 | 15 | public ref class ParticleMeshEmitter : ParticleEmitter 16 | { 17 | public: 18 | 19 | property bool EveryMeshVertex { bool get(); void set(bool value); } 20 | property Mesh^ ParticleMesh { Mesh^ get(); void set(Mesh^ value); } 21 | property float NormalDirectionModifier { float get(); void set(float value); } 22 | property bool UseNormalDirection { bool get(); void set(bool value); } 23 | 24 | internal: 25 | 26 | static ParticleMeshEmitter^ Wrap(scene::IParticleMeshEmitter* ref); 27 | ParticleMeshEmitter(scene::IParticleMeshEmitter* ref); 28 | 29 | scene::IParticleMeshEmitter* m_ParticleMeshEmitter; 30 | }; 31 | 32 | } // end namespace Scene 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ArchiveLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { 12 | 13 | ref class FileArchive; 14 | ref class ReadFile; 15 | 16 | public ref class ArchiveLoader : ReferenceCounted 17 | { 18 | public: 19 | 20 | FileArchive^ CreateArchive(String^ filename, bool ignoreCase, bool ignorePaths); 21 | FileArchive^ CreateArchive(ReadFile^ file, bool ignoreCase, bool ignorePaths); 22 | 23 | bool IsALoadableFileFormat(String^ filename); 24 | bool IsALoadableFileFormat(ReadFile^ file); 25 | bool IsALoadableFileFormat(FileArchiveType fileType); 26 | 27 | internal: 28 | 29 | static ArchiveLoader^ Wrap(io::IArchiveLoader* ref); 30 | ArchiveLoader(io::IArchiveLoader* ref); 31 | 32 | io::IArchiveLoader* m_ArchiveLoader; 33 | }; 34 | 35 | } // end namespace IO 36 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIWindow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | ref class GUIButton; 13 | 14 | public ref class GUIWindow : GUIElement 15 | { 16 | public: 17 | 18 | property Recti^ ClientRect { Recti^ get(); } 19 | property GUIButton^ CloseButton { GUIButton^ get(); } 20 | property bool Draggable { bool get(); void set(bool value); } 21 | property bool DrawBackground { bool get(); void set(bool value); } 22 | property bool DrawTitleBar { bool get(); void set(bool value); } 23 | property GUIButton^ MaximizeButton { GUIButton^ get(); } 24 | property GUIButton^ MinimizeButton { GUIButton^ get(); } 25 | 26 | internal: 27 | 28 | static GUIWindow^ Wrap(gui::IGUIWindow* ref); 29 | GUIWindow(gui::IGUIWindow* ref); 30 | 31 | gui::IGUIWindow* m_GUIWindow; 32 | }; 33 | 34 | } // end namespace GUI 35 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ShadowVolumeSceneNode.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "Mesh.h" 3 | #include "ShadowVolumeSceneNode.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | ShadowVolumeSceneNode^ ShadowVolumeSceneNode::Wrap(scene::IShadowVolumeSceneNode* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew ShadowVolumeSceneNode(ref); 17 | } 18 | 19 | ShadowVolumeSceneNode::ShadowVolumeSceneNode(scene::IShadowVolumeSceneNode* ref) 20 | : SceneNode(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_ShadowVolumeSceneNode = ref; 24 | } 25 | 26 | void ShadowVolumeSceneNode::SetShadowMesh(Mesh^ mesh) 27 | { 28 | m_ShadowVolumeSceneNode->setShadowMesh(LIME_SAFEREF(mesh, m_Mesh)); 29 | } 30 | 31 | void ShadowVolumeSceneNode::UpdateShadowVolumes() 32 | { 33 | m_ShadowVolumeSceneNode->updateShadowVolumes(); 34 | } 35 | 36 | } // end namespace Scene 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/IRandomizer.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_RANDOMIZER_H_INCLUDED__ 6 | #define __I_RANDOMIZER_H_INCLUDED__ 7 | 8 | #include "IReferenceCounted.h" 9 | 10 | namespace irr 11 | { 12 | 13 | //! Interface for generating random numbers 14 | class IRandomizer : public virtual IReferenceCounted 15 | { 16 | public: 17 | //! resets the randomizer 18 | /** \param value Initialization value (seed) */ 19 | virtual void reset(s32 value=0x0f0f0f0f) =0; 20 | 21 | //! generates a pseudo random number in the range 0..randMax() 22 | virtual s32 rand() const =0; 23 | 24 | //! generates a pseudo random number in the range 0..1 25 | virtual f32 frand() const =0; 26 | 27 | //! get maxmimum number generated by rand() 28 | virtual s32 randMax() const =0; 29 | }; 30 | 31 | } // end namespace irr 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /source/ShaderCallBackInheritor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include // for gcroot 4 | #include "stdafx.h" 5 | #include "GPUProgrammingServices.h" 6 | #include "MaterialRendererServices.h" 7 | 8 | namespace IrrlichtLime { 9 | namespace Video { 10 | 11 | class ShaderCallBackInheritor : public video::IShaderConstantSetCallBack 12 | { 13 | public: 14 | 15 | gcroot m_SetConstantsHandler; 16 | virtual void OnSetConstants(video::IMaterialRendererServices* services, int userData) 17 | { 18 | m_SetConstantsHandler->Invoke( 19 | MaterialRendererServices::Wrap(services), 20 | userData); 21 | } 22 | 23 | gcroot m_SetMaterialHandler; 24 | virtual void OnSetMaterial(const SMaterial& material) 25 | { 26 | m_SetMaterialHandler->Invoke( 27 | Material::Wrap((SMaterial*)&material)); // !!! cast to non-const 28 | } 29 | }; 30 | 31 | } // end namespace Video 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/IParticleBoxEmitter.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_PARTICLE_BOX_EMITTER_H_INCLUDED__ 6 | #define __I_PARTICLE_BOX_EMITTER_H_INCLUDED__ 7 | 8 | #include "IParticleEmitter.h" 9 | #include "aabbox3d.h" 10 | 11 | namespace irr 12 | { 13 | namespace scene 14 | { 15 | 16 | //! A particle emitter which emits particles from a box shaped space 17 | class IParticleBoxEmitter : public IParticleEmitter 18 | { 19 | public: 20 | 21 | //! Set the box shape 22 | virtual void setBox( const core::aabbox3df& box ) = 0; 23 | 24 | //! Get the box shape set 25 | virtual const core::aabbox3df& getBox() const = 0; 26 | 27 | //! Get emitter type 28 | virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_BOX; } 29 | }; 30 | 31 | } // end namespace scene 32 | } // end namespace irr 33 | 34 | 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /source/CameraFPSSceneNodeAnimator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNodeAnimator.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class CameraFPSSceneNodeAnimator : SceneNodeAnimator 13 | { 14 | public: 15 | 16 | void SetInvertMouse(bool invert); 17 | void SetVerticalMovement(bool allow); 18 | 19 | property IrrlichtLime::KeyMap^ KeyMap { IrrlichtLime::KeyMap^ get(); void set(IrrlichtLime::KeyMap^ value); } 20 | property float MoveSpeed { float get(); void set(float value); } 21 | property float RotateSpeed { float get(); void set(float value); } 22 | 23 | internal: 24 | 25 | static CameraFPSSceneNodeAnimator^ Wrap(scene::ISceneNodeAnimatorCameraFPS* ref); 26 | CameraFPSSceneNodeAnimator(scene::ISceneNodeAnimatorCameraFPS* ref); 27 | 28 | scene::ISceneNodeAnimatorCameraFPS* m_CameraFPSSceneNodeAnimator; 29 | }; 30 | 31 | } // end namespace Scene 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/FileArchive.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { 12 | 13 | ref class FileList; 14 | ref class ReadFile; 15 | 16 | public ref class FileArchive : ReferenceCounted 17 | { 18 | public: 19 | 20 | ReadFile^ CreateAndOpenFile(int index); 21 | ReadFile^ CreateAndOpenFile(String^ filename); 22 | 23 | property IrrlichtLime::IO::FileList^ FileList { IrrlichtLime::IO::FileList^ get(); } 24 | property String^ Password { String^ get(); void set(String^ value); } 25 | property FileArchiveType Type { FileArchiveType get(); } 26 | property String^ ArchiveName { String^ get(); } 27 | 28 | internal: 29 | 30 | static FileArchive^ Wrap(io::IFileArchive* ref); 31 | FileArchive(io::IFileArchive* ref); 32 | 33 | io::IFileArchive* m_FileArchive; 34 | }; 35 | 36 | } // end namespace IO 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /media/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Welcome to the Mesh Viewer of the "Irrlicht Engine"!. 6 | This program is able to load and display all 3D geometry and models the Irrlicht Engine can. 7 | Controls: Left mouse to rotate, right mouse to move, both buttons to zoom. Escape to Stop FPS Camera 8 | 9 | Supported formats are: 10 | - Irrlicht scene and mesh formats (.irr, .irrmesh, .xml) 11 | - 3D Studio (.3ds) 12 | - Blitz3D (.b3d) 13 | - COLLADA 1.2/1.3 (.dae, .xml) 14 | - Cartography shop 4 (.csm) 15 | - DirectX (.x) 16 | - DeleD (.dmf) 17 | - Maya (.obj) 18 | - Milkshape (.ms3d) 19 | - My3D (.my3D) 20 | - OCT (.oct) 21 | - Ogre3d (.mesh) 22 | - Pulsar LMTools (.lmts) 23 | - Quake 3 levels (.bsp) 24 | - Quake 2 models (.md2) 25 | - Stanford Triangle (.ply) 26 | - Stereolithography format (.stl) 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /source/AnimationTypeMD2.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace scene; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public enum class AnimationTypeMD2 13 | { 14 | Stand = EMAT_STAND, 15 | Run = EMAT_RUN, 16 | Attack = EMAT_ATTACK, 17 | Pain_A = EMAT_PAIN_A, 18 | Pain_B = EMAT_PAIN_B, 19 | Pain_C = EMAT_PAIN_C, 20 | Jump = EMAT_JUMP, 21 | Flip = EMAT_FLIP, 22 | Salute = EMAT_SALUTE, 23 | Fallback = EMAT_FALLBACK, 24 | Wave = EMAT_WAVE, 25 | Point = EMAT_POINT, 26 | Crouch_Stand = EMAT_CROUCH_STAND, 27 | Crouch_Walk = EMAT_CROUCH_WALK, 28 | Crouch_Attack = EMAT_CROUCH_ATTACK, 29 | Crouch_Pain = EMAT_CROUCH_PAIN, 30 | Crouch_Death = EMAT_CROUCH_DEATH, 31 | Death_Fall_Back = EMAT_DEATH_FALLBACK, 32 | Death_Fall_Forward = EMAT_DEATH_FALLFORWARD, 33 | Death_Fall_Back_Slow = EMAT_DEATH_FALLBACKSLOW, 34 | Boom = EMAT_BOOM 35 | }; 36 | 37 | } // end namespace Scene 38 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleBoxEmitter.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "ParticleBoxEmitter.h" 3 | #include "ParticleEmitter.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | using namespace IrrlichtLime::Core; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | ParticleBoxEmitter^ ParticleBoxEmitter::Wrap(scene::IParticleBoxEmitter* ref) 13 | { 14 | if (ref == nullptr) 15 | return nullptr; 16 | 17 | return gcnew ParticleBoxEmitter(ref); 18 | } 19 | 20 | ParticleBoxEmitter::ParticleBoxEmitter(scene::IParticleBoxEmitter* ref) 21 | : ParticleEmitter(ref) 22 | { 23 | LIME_ASSERT(ref != nullptr); 24 | m_ParticleBoxEmitter = ref; 25 | } 26 | 27 | AABBox^ ParticleBoxEmitter::Box::get() 28 | { 29 | return gcnew AABBox(m_ParticleBoxEmitter->getBox()); 30 | } 31 | 32 | void ParticleBoxEmitter::Box::set(AABBox^ value) 33 | { 34 | LIME_ASSERT(value != nullptr); 35 | m_ParticleBoxEmitter->setBox(*value->m_NativeValue); 36 | } 37 | 38 | } // end namespace Scene 39 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AttributeExchangingObject.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { 12 | 13 | ref class Attributes; 14 | 15 | public ref class AttributeExchangingObject : ReferenceCounted 16 | { 17 | public: 18 | 19 | void DeserializeAttributes(Attributes^ deserializeFrom, AttributeReadWriteOptions^ options); 20 | void DeserializeAttributes(Attributes^ deserializeFrom); 21 | 22 | void SerializeAttributes(Attributes^ serializeTo, AttributeReadWriteOptions^ options); 23 | void SerializeAttributes(Attributes^ serializeTo); 24 | 25 | internal: 26 | 27 | AttributeExchangingObject(io::IAttributeExchangingObject* ref_or_null); 28 | void setAttributeExchangingObject(io::IAttributeExchangingObject* ref); 29 | 30 | io::IAttributeExchangingObject* m_AttributeExchangingObject; 31 | }; 32 | 33 | } // end namespace IO 34 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/LightSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Video { ref class Light; } 12 | namespace Scene { 13 | 14 | public ref class LightSceneNode : SceneNode 15 | { 16 | public: 17 | 18 | property bool CastShadows { bool get(); void set(bool value); } 19 | property Video::Light^ LightData { Video::Light^ get(); void set(Video::Light^ value); } 20 | property Video::LightType LightType { Video::LightType get(); void set(Video::LightType value); } 21 | property float Radius { float get(); void set(float value); } 22 | property bool Visible { virtual void set(bool value) override; } 23 | 24 | internal: 25 | 26 | static LightSceneNode^ Wrap(scene::ILightSceneNode* ref); 27 | LightSceneNode(scene::ILightSceneNode* ref); 28 | 29 | scene::ILightSceneNode* m_LightSceneNode; 30 | }; 31 | 32 | } // end namespace Scene 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleAttractionAffector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleAffector.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleAttractionAffector : ParticleAffector 14 | { 15 | public: 16 | 17 | property bool AffectX { bool get(); void set(bool value); } 18 | property bool AffectY { bool get(); void set(bool value); } 19 | property bool AffectZ { bool get(); void set(bool value); } 20 | property bool Attract { bool get(); void set(bool value); } 21 | property Vector3Df^ Point { Vector3Df^ get(); void set(Vector3Df^ value); } 22 | 23 | internal: 24 | 25 | static ParticleAttractionAffector^ Wrap(scene::IParticleAttractionAffector* ref); 26 | ParticleAttractionAffector(scene::IParticleAttractionAffector* ref); 27 | 28 | scene::IParticleAttractionAffector* m_ParticleAttractionAffector; 29 | }; 30 | 31 | } // end namespace Scene 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleCylinderEmitter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleEmitter.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class ParticleCylinderEmitter : ParticleEmitter 14 | { 15 | public: 16 | 17 | property Vector3Df^ Center { Vector3Df^ get(); void set(Vector3Df^ value); } 18 | property float Length { float get(); void set(float value); } 19 | property Vector3Df^ Normal { Vector3Df^ get(); void set(Vector3Df^ value); } 20 | property bool OutlineOnly { bool get(); void set(bool value); } 21 | property float Radius { float get(); void set(float value); } 22 | 23 | internal: 24 | 25 | static ParticleCylinderEmitter^ Wrap(scene::IParticleCylinderEmitter* ref); 26 | ParticleCylinderEmitter(scene::IParticleCylinderEmitter* ref); 27 | 28 | scene::IParticleCylinderEmitter* m_ParticleCylinderEmitter; 29 | }; 30 | 31 | } // end namespace Scene 32 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/ITextSceneNode.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_TEXT_SCENE_NODE_H_INCLUDED__ 6 | #define __I_TEXT_SCENE_NODE_H_INCLUDED__ 7 | 8 | #include "ISceneNode.h" 9 | 10 | namespace irr 11 | { 12 | namespace scene 13 | { 14 | 15 | //! A scene node for displaying 2d text at a position in three dimensional space 16 | class ITextSceneNode : public ISceneNode 17 | { 18 | public: 19 | 20 | //! constructor 21 | ITextSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id, 22 | const core::vector3df& position = core::vector3df(0,0,0)) 23 | : ISceneNode(parent, mgr, id, position) {} 24 | 25 | //! sets the text string 26 | virtual void setText(const wchar_t* text) = 0; 27 | 28 | //! sets the color of the text 29 | virtual void setTextColor(video::SColor color) = 0; 30 | }; 31 | 32 | } // end namespace scene 33 | } // end namespace irr 34 | 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /source/GUIComboBox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public ref class GUIComboBox : GUIElement 13 | { 14 | public: 15 | 16 | int AddItem(String^ text, int data); 17 | int AddItem(String^ text); 18 | 19 | void Clear(); 20 | 21 | int GetIndexForItemData(int data); 22 | String^ GetItem(int index); 23 | int GetItemData(int index); 24 | 25 | void RemoveItem(int index); 26 | 27 | void SetTextAlignment(GUIAlignment horizontal, GUIAlignment vertical); 28 | 29 | property int ItemCount { int get(); } 30 | property int MaxSelectionRows { int get(); void set(int value); } 31 | property int SelectedIndex { int get(); void set(int value); } 32 | 33 | internal: 34 | 35 | static GUIComboBox^ Wrap(gui::IGUIComboBox* ref); 36 | GUIComboBox(gui::IGUIComboBox* ref); 37 | 38 | gui::IGUIComboBox* m_GUIComboBox; 39 | }; 40 | 41 | } // end namespace GUI 42 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/Randomizer.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "Randomizer.h" 3 | #include "ReferenceCounted.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | using namespace IrrlichtLime::Core; 8 | 9 | namespace IrrlichtLime { 10 | 11 | Randomizer^ Randomizer::Wrap(irr::IRandomizer* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew Randomizer(ref); 17 | } 18 | 19 | Randomizer::Randomizer(irr::IRandomizer* ref) 20 | : ReferenceCounted(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_Randomizer = ref; 24 | } 25 | 26 | float Randomizer::GetFloat() 27 | { 28 | return m_Randomizer->frand(); 29 | } 30 | 31 | int Randomizer::GetInt() 32 | { 33 | return m_Randomizer->rand(); 34 | } 35 | 36 | void Randomizer::Reset(int value) 37 | { 38 | m_Randomizer->reset(value); 39 | } 40 | 41 | void Randomizer::Reset() 42 | { 43 | m_Randomizer->reset(); 44 | } 45 | 46 | int Randomizer::MaxRandomInt::get() 47 | { 48 | return m_Randomizer->randMax(); 49 | } 50 | 51 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MaterialRenderer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Video { 12 | 13 | public ref class MaterialRenderer : ReferenceCounted 14 | { 15 | public: 16 | 17 | //virtual bool OnRender(IMaterialRendererServices *service, E_VERTEX_TYPE vtxtype); 18 | //virtual void OnSetMaterial(const SMaterial &material, const SMaterial &lastMaterial, bool resetAllRenderstates, IMaterialRendererServices *services); 19 | //virtual void OnUnsetMaterial(); 20 | 21 | property int Capability { int get(); } 22 | property bool Transparent { bool get(); } 23 | 24 | virtual String^ ToString() override; 25 | 26 | internal: 27 | 28 | static MaterialRenderer^ Wrap(video::IMaterialRenderer* ref); 29 | MaterialRenderer(video::IMaterialRenderer* ref); 30 | 31 | video::IMaterialRenderer* m_MaterialRenderer; 32 | }; 33 | 34 | } // end namespace Video 35 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/CursorControl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace GUI { 12 | 13 | public ref class CursorControl : ReferenceCounted 14 | { 15 | public: 16 | 17 | void SetReferenceRect(Recti^ rect_or_null); 18 | 19 | property CursorPlatformBehavior PlatformBehavior { CursorPlatformBehavior get(); void set(CursorPlatformBehavior value); } 20 | property Vector2Di^ Position { Vector2Di^ get(); void set(Vector2Di^ value); } 21 | property Vector2Df^ RelativePosition { Vector2Df^ get(); void set(Vector2Df^ value); } 22 | property bool Visible { bool get(); void set(bool value); } 23 | 24 | virtual String^ ToString() override; 25 | 26 | internal: 27 | 28 | static CursorControl^ Wrap(gui::ICursorControl* ref); 29 | CursorControl(gui::ICursorControl* ref); 30 | 31 | gui::ICursorControl* m_CursorControl; 32 | }; 33 | 34 | } // end namespace GUI 35 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/IGUIColorSelectDialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_GUI_COLOR_SELECT_DIALOG_H_INCLUDED__ 6 | #define __I_GUI_COLOR_SELECT_DIALOG_H_INCLUDED__ 7 | 8 | #include "IGUIElement.h" 9 | 10 | namespace irr 11 | { 12 | namespace gui 13 | { 14 | 15 | //! Standard color chooser dialog. 16 | class IGUIColorSelectDialog : public IGUIElement 17 | { 18 | public: 19 | 20 | //! constructor 21 | IGUIColorSelectDialog(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect rectangle) 22 | : IGUIElement(EGUIET_COLOR_SELECT_DIALOG, environment, parent, id, rectangle) {} 23 | 24 | //! get chosen color as usual SColor struct 25 | virtual video::SColor getColor() =0; 26 | 27 | //! get chosen color as HSL values 28 | virtual video::SColorHSL getColorHSL() =0; 29 | 30 | }; 31 | 32 | 33 | } // end namespace gui 34 | } // end namespace irr 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /source/BillboardTextSceneNode.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "BillboardSceneNode.h" 3 | #include "BillboardTextSceneNode.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | BillboardTextSceneNode^ BillboardTextSceneNode::Wrap(scene::IBillboardTextSceneNode* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew BillboardTextSceneNode(ref); 17 | } 18 | 19 | BillboardTextSceneNode::BillboardTextSceneNode(scene::IBillboardTextSceneNode* ref) 20 | : BillboardSceneNode(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_BillboardTextSceneNode = ref; 24 | } 25 | 26 | void BillboardTextSceneNode::SetText(String^ text) 27 | { 28 | m_BillboardTextSceneNode->setText(LIME_SAFESTRINGTOSTRINGW_C_STR(text)); 29 | } 30 | 31 | void BillboardTextSceneNode::SetTextColor(Video::Color^ color) 32 | { 33 | LIME_ASSERT(color != nullptr); 34 | m_BillboardTextSceneNode->setTextColor(*color->m_NativeValue); 35 | } 36 | 37 | } // end namespace Scene 38 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUISpinBox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | ref class GUIEditBox; 13 | 14 | public ref class GUISpinBox : GUIElement 15 | { 16 | public: 17 | 18 | void SetDecimalPlaces(int places); 19 | void SetRange(float min, float max); 20 | 21 | property GUIEditBox^ EditBox { GUIEditBox^ get(); } 22 | property float Maximum { float get(); void set(float value); } 23 | property float Minimum { float get(); void set(float value); } 24 | property float StepSize { float get(); void set(float value); } 25 | property GUISpinBoxValidation ValidateOn { GUISpinBoxValidation get(); void set(GUISpinBoxValidation value); } 26 | property float Value { float get(); void set(float value); } 27 | 28 | internal: 29 | 30 | static GUISpinBox^ Wrap(gui::IGUISpinBox* ref); 31 | GUISpinBox(gui::IGUISpinBox* ref); 32 | 33 | gui::IGUISpinBox* m_GUISpinBox; 34 | }; 35 | 36 | } // end namespace GUI 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/SKeyMap.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __S_KEY_MAP_H_INCLUDED__ 6 | #define __S_KEY_MAP_H_INCLUDED__ 7 | 8 | #include "Keycodes.h" 9 | 10 | namespace irr 11 | { 12 | 13 | //! enumeration for key actions. Used for example in the FPS Camera. 14 | enum EKEY_ACTION 15 | { 16 | EKA_MOVE_FORWARD = 0, 17 | EKA_MOVE_BACKWARD, 18 | EKA_STRAFE_LEFT, 19 | EKA_STRAFE_RIGHT, 20 | EKA_JUMP_UP, 21 | EKA_CROUCH, 22 | EKA_COUNT, 23 | 24 | //! This value is not used. It only forces this enumeration to compile in 32 bit. 25 | EKA_FORCE_32BIT = 0x7fffffff 26 | }; 27 | 28 | //! Struct storing which key belongs to which action. 29 | struct SKeyMap 30 | { 31 | SKeyMap() {} 32 | SKeyMap(EKEY_ACTION action, EKEY_CODE keyCode) : Action(action), KeyCode(keyCode) {} 33 | 34 | EKEY_ACTION Action; 35 | EKEY_CODE KeyCode; 36 | }; 37 | 38 | } // end namespace irr 39 | 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /source/MaterialRenderer.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "ReferenceCounted.h" 3 | #include "MaterialRenderer.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | using namespace IrrlichtLime::Core; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | MaterialRenderer^ MaterialRenderer::Wrap(video::IMaterialRenderer* ref) 13 | { 14 | if (ref == nullptr) 15 | return nullptr; 16 | 17 | return gcnew MaterialRenderer(ref); 18 | } 19 | 20 | MaterialRenderer::MaterialRenderer(video::IMaterialRenderer* ref) 21 | : ReferenceCounted(ref) 22 | { 23 | LIME_ASSERT(ref != nullptr); 24 | m_MaterialRenderer = ref; 25 | } 26 | 27 | int MaterialRenderer::Capability::get() 28 | { 29 | return m_MaterialRenderer->getRenderCapability(); 30 | } 31 | 32 | bool MaterialRenderer::Transparent::get() 33 | { 34 | return m_MaterialRenderer->isTransparent(); 35 | } 36 | 37 | String^ MaterialRenderer::ToString() 38 | { 39 | return String::Format("MaterialRenderer: Capability={0}", Capability); 40 | } 41 | 42 | } // end namespace Video 43 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/SceneNodeAnimator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "AttributeExchangingObject.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | ref class SceneManager; 13 | ref class SceneNode; 14 | 15 | public ref class SceneNodeAnimator : IO::AttributeExchangingObject 16 | { 17 | public: 18 | 19 | void AnimateNode(SceneNode^ node, unsigned int timeMs); 20 | 21 | SceneNodeAnimator^ CreateClone(SceneNode^ node, SceneManager^ newManager); 22 | SceneNodeAnimator^ CreateClone(SceneNode^ node); 23 | 24 | property bool EventReceiverEnabled { bool get(); } 25 | property bool Finished { bool get(); } 26 | property SceneNodeAnimatorType Type { SceneNodeAnimatorType get(); } 27 | 28 | virtual String^ ToString() override; 29 | 30 | internal: 31 | 32 | static SceneNodeAnimator^ Wrap(scene::ISceneNodeAnimator* ref); 33 | SceneNodeAnimator(scene::ISceneNodeAnimator* ref); 34 | 35 | scene::ISceneNodeAnimator* m_SceneNodeAnimator; 36 | }; 37 | 38 | } // end namespace Scene 39 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/ECullingTypes.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __E_CULLING_TYPES_H_INCLUDED__ 6 | #define __E_CULLING_TYPES_H_INCLUDED__ 7 | 8 | #include "irrTypes.h" 9 | 10 | namespace irr 11 | { 12 | namespace scene 13 | { 14 | 15 | //! An enumeration for all types of automatic culling for built-in scene nodes 16 | enum E_CULLING_TYPE 17 | { 18 | EAC_OFF = 0, 19 | EAC_BOX = 1, 20 | EAC_FRUSTUM_BOX = 2, 21 | EAC_FRUSTUM_SPHERE = 4, 22 | EAC_OCC_QUERY = 8 23 | }; 24 | 25 | //! Names for culling type 26 | const c8* const AutomaticCullingNames[] = 27 | { 28 | "false", 29 | "box", // camera box against node box 30 | "frustum_box", // camera frustum against node box 31 | "frustum_sphere", // camera frustum against node sphere 32 | "occ_query", // occlusion query 33 | 0 34 | }; 35 | 36 | } // end namespace scene 37 | } // end namespace irr 38 | 39 | 40 | #endif // __E_CULLING_TYPES_H_INCLUDED__ 41 | 42 | -------------------------------------------------------------------------------- /source/BoneSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class BoneSceneNode : SceneNode 14 | { 15 | public: 16 | 17 | void UpdateAbsolutePositionOfAllChildren(); 18 | 19 | property BoneAnimationMode AnimationMode { BoneAnimationMode get(); void set(BoneAnimationMode value); } 20 | property int BoneIndex { int get(); } 21 | property BoneSkinningSpace SkinningSpace { BoneSkinningSpace get(); void set(BoneSkinningSpace value); } 22 | 23 | property int PositionHint { int get(); void set(int value); } 24 | property int RotationHint { int get(); void set(int value); } 25 | property int ScaleHint { int get(); void set(int value); } 26 | 27 | internal: 28 | 29 | static BoneSceneNode^ Wrap(scene::IBoneSceneNode* ref); 30 | BoneSceneNode(scene::IBoneSceneNode* ref); 31 | 32 | scene::IBoneSceneNode* m_BoneSceneNode; 33 | }; 34 | 35 | } // end namespace Scene 36 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUITreeView.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | ref class GUIFont; 13 | ref class GUIImageList; 14 | ref class GUITreeViewNode; 15 | 16 | public ref class GUITreeView : GUIElement 17 | { 18 | public: 19 | 20 | void SetIconFont(GUIFont^ font); 21 | 22 | property bool ImageLeftOfIcon { bool get(); void set(bool value); } 23 | property GUIImageList^ ImageList { GUIImageList^ get(); void set(GUIImageList^ value); } 24 | property GUITreeViewNode^ LastEventNode { GUITreeViewNode^ get(); } 25 | property bool LinesVisible { bool get(); void set(bool value); } 26 | property GUITreeViewNode^ RootNode { GUITreeViewNode^ get(); } 27 | property GUITreeViewNode^ SelectedNode { GUITreeViewNode^ get(); } 28 | 29 | internal: 30 | 31 | static GUITreeView^ Wrap(gui::IGUITreeView* ref); 32 | GUITreeView(gui::IGUITreeView* ref); 33 | 34 | gui::IGUITreeView* m_GUITreeView; 35 | }; 36 | 37 | } // end namespace GUI 38 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MaterialFlag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace video; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { 11 | 12 | public enum class MaterialFlag 13 | { 14 | Wireframe = EMF_WIREFRAME, 15 | PointCloud = EMF_POINTCLOUD, 16 | GouraudShading = EMF_GOURAUD_SHADING, 17 | Lighting = EMF_LIGHTING, 18 | ZBuffer = EMF_ZBUFFER, 19 | ZWrite = EMF_ZWRITE_ENABLE, 20 | BackFaceCulling = EMF_BACK_FACE_CULLING, 21 | FrontFaceCulling = EMF_FRONT_FACE_CULLING, 22 | BilinearFilter = EMF_BILINEAR_FILTER, 23 | TrilinearFilter = EMF_TRILINEAR_FILTER, 24 | AnisotropicFilter = EMF_ANISOTROPIC_FILTER, 25 | Fog = EMF_FOG_ENABLE, 26 | NormalizeNormals = EMF_NORMALIZE_NORMALS, 27 | TextureWrap = EMF_TEXTURE_WRAP, 28 | AntiAliasing = EMF_ANTI_ALIASING, 29 | ColorMask = EMF_COLOR_MASK, 30 | ColorMaterial = EMF_COLOR_MATERIAL, 31 | Mipmaps = EMF_USE_MIP_MAPS, 32 | BlendOperation = EMF_BLEND_OPERATION, 33 | PolygonOffset = EMF_POLYGON_OFFSET 34 | }; 35 | 36 | } // end namespace Video 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/ETerrainElements.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __E_TERRAIN_ELEMENTS_H__ 6 | #define __E_TERRAIN_ELEMENTS_H__ 7 | 8 | namespace irr 9 | { 10 | namespace scene 11 | { 12 | 13 | //! enumeration for patch sizes specifying the size of patches in the TerrainSceneNode 14 | enum E_TERRAIN_PATCH_SIZE 15 | { 16 | //! patch size of 9, at most, use 4 levels of detail with this patch size. 17 | ETPS_9 = 9, 18 | 19 | //! patch size of 17, at most, use 5 levels of detail with this patch size. 20 | ETPS_17 = 17, 21 | 22 | //! patch size of 33, at most, use 6 levels of detail with this patch size. 23 | ETPS_33 = 33, 24 | 25 | //! patch size of 65, at most, use 7 levels of detail with this patch size. 26 | ETPS_65 = 65, 27 | 28 | //! patch size of 129, at most, use 8 levels of detail with this patch size. 29 | ETPS_129 = 129 30 | }; 31 | 32 | } // end namespace scene 33 | } // end namespace irr 34 | 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /irrlicht/include/position2d.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | //! As of Irrlicht 1.6, position2d is a synonym for vector2d. 6 | /** You should consider position2d to be deprecated, and use vector2d by preference. */ 7 | 8 | #ifndef __IRR_POSITION_H_INCLUDED__ 9 | #define __IRR_POSITION_H_INCLUDED__ 10 | 11 | #include "vector2d.h" 12 | 13 | namespace irr 14 | { 15 | namespace core 16 | { 17 | 18 | // Use typedefs where possible as they are more explicit... 19 | 20 | //! \deprecated position2d is now a synonym for vector2d, but vector2d should be used directly. 21 | typedef vector2d position2df; 22 | 23 | //! \deprecated position2d is now a synonym for vector2d, but vector2d should be used directly. 24 | typedef vector2d position2di; 25 | } // namespace core 26 | } // namespace irr 27 | 28 | // ...and use a #define to catch the rest, for (e.g.) position2d 29 | #define position2d vector2d 30 | 31 | #endif // __IRR_POSITION_H_INCLUDED__ 32 | 33 | -------------------------------------------------------------------------------- /source/Dimension.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #if defined(_REFCLASS_) || defined(_WRAPCLASS_) || defined(_WRAPTYPE_) 4 | #error _REFCLASS_, _WRAPCLASS_ and _WRAPTYPE_ must be undefined for this file to process. 5 | #endif 6 | 7 | #include "stdafx.h" 8 | 9 | using namespace irr; 10 | using namespace System; 11 | 12 | namespace IrrlichtLime { 13 | namespace Core { 14 | 15 | #define _REFCLASS_ Dimension2Di 16 | #define _WRAPCLASS_ core::dimension2di 17 | #define _WRAPTYPE_ int 18 | #include "Dimension2Di.h" 19 | #undef _WRAPTYPE_ 20 | #undef _WRAPCLASS_ 21 | #undef _REFCLASS_ 22 | 23 | #define _REFCLASS_ Dimension2Df 24 | #define _WRAPCLASS_ core::dimension2df 25 | #define _WRAPTYPE_ float 26 | #include "Dimension2Df.h" 27 | #undef _WRAPTYPE_ 28 | #undef _WRAPCLASS_ 29 | #undef _REFCLASS_ 30 | 31 | #define _REFCLASS_ Dimension2Dd 32 | #define _WRAPCLASS_ core::dimension2d 33 | #define _WRAPTYPE_ double 34 | #include "Dimension2Df.h" // "f" version here is not a mistype 35 | #undef _WRAPTYPE_ 36 | #undef _WRAPCLASS_ 37 | #undef _REFCLASS_ 38 | 39 | } // end namespace Core 40 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /examples/L08.WPFWindow/WinFormsUserControl.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace L08.WPFWindow 2 | { 3 | partial class WinFormsUserControl 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 33 | } 34 | 35 | #endregion 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /source/MeshLoader.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "AnimatedMesh.h" 3 | #include "MeshLoader.h" 4 | #include "ReadFile.h" 5 | #include "ReferenceCounted.h" 6 | 7 | using namespace irr; 8 | using namespace System; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | MeshLoader^ MeshLoader::Wrap(scene::IMeshLoader* ref) 14 | { 15 | if (ref == nullptr) 16 | return nullptr; 17 | 18 | return gcnew MeshLoader(ref); 19 | } 20 | 21 | MeshLoader::MeshLoader(scene::IMeshLoader* ref) 22 | : ReferenceCounted(ref) 23 | { 24 | LIME_ASSERT(ref != nullptr); 25 | m_MeshLoader = ref; 26 | } 27 | 28 | AnimatedMesh^ MeshLoader::CreateMesh(IO::ReadFile^ file) 29 | { 30 | LIME_ASSERT(file != nullptr); 31 | 32 | scene::IAnimatedMesh* m = m_MeshLoader->createMesh(LIME_SAFEREF(file, m_ReadFile)); 33 | return AnimatedMesh::Wrap(m); 34 | } 35 | 36 | bool MeshLoader::IsALoadableFileExtension(String^ filename) 37 | { 38 | LIME_ASSERT(filename != nullptr); 39 | return m_MeshLoader->isALoadableFileExtension(Lime::StringToPath(filename)); 40 | } 41 | 42 | } // end namespace Scene 43 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/SkinnedMesh.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "AnimatedMesh.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class SkinnedMesh : AnimatedMesh 14 | { 15 | public: 16 | 17 | void AnimateMesh(float frame, float blend); 18 | void ConvertMeshToTangents(); 19 | void FinalizeMeshPopulation(); 20 | 21 | String^ GetJointName(int index); 22 | int GetJointIndex(String^ name); 23 | 24 | bool SetHardwareSkinning(bool turnOn); 25 | void SetInterpolationMode(InterpolationMode mode); 26 | 27 | void SkinMesh(); 28 | 29 | void UpdateNormalsWhenAnimating(bool turnOn); 30 | 31 | bool UseAnimationFrom(SkinnedMesh^ mesh); 32 | 33 | property int JointCount { int get(); } 34 | property bool Static { bool get(); } 35 | 36 | internal: 37 | 38 | static SkinnedMesh^ Wrap(scene::ISkinnedMesh* ref); 39 | SkinnedMesh(scene::ISkinnedMesh* ref); 40 | 41 | scene::ISkinnedMesh* m_SkinnedMesh; 42 | }; 43 | 44 | } // end namespace Scene 45 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/EHardwareBufferFlags.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __E_HARDWARE_BUFFER_FLAGS_INCLUDED__ 6 | #define __E_HARDWARE_BUFFER_FLAGS_INCLUDED__ 7 | 8 | namespace irr 9 | { 10 | namespace scene 11 | { 12 | 13 | enum E_HARDWARE_MAPPING 14 | { 15 | //! Don't store on the hardware 16 | EHM_NEVER=0, 17 | 18 | //! Rarely changed, usually stored completely on the hardware 19 | EHM_STATIC, 20 | 21 | //! Sometimes changed, driver optimized placement 22 | EHM_DYNAMIC, 23 | 24 | //! Always changed, cache optimizing on the GPU 25 | EHM_STREAM 26 | }; 27 | 28 | enum E_BUFFER_TYPE 29 | { 30 | //! Does not change anything 31 | EBT_NONE=0, 32 | //! Change the vertex mapping 33 | EBT_VERTEX, 34 | //! Change the index mapping 35 | EBT_INDEX, 36 | //! Change both vertex and index mapping to the same value 37 | EBT_VERTEX_AND_INDEX 38 | }; 39 | 40 | } // end namespace scene 41 | } // end namespace irr 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /source/GUIFileOpenDialog.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "GUIButton.h" 3 | #include "GUIElement.h" 4 | #include "GUIFileOpenDialog.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | GUIFileOpenDialog^ GUIFileOpenDialog::Wrap(gui::IGUIFileOpenDialog* ref) 13 | { 14 | if (ref == nullptr) 15 | return nullptr; 16 | 17 | return gcnew GUIFileOpenDialog(ref); 18 | } 19 | 20 | GUIFileOpenDialog::GUIFileOpenDialog(gui::IGUIFileOpenDialog* ref) 21 | : GUIElement(ref) 22 | { 23 | LIME_ASSERT(ref != nullptr); 24 | m_GUIFileOpenDialog = ref; 25 | } 26 | 27 | String^ GUIFileOpenDialog::DirectoryName::get() 28 | { 29 | io::path p = m_GUIFileOpenDialog->getDirectoryName(); 30 | return p == nullptr ? nullptr : gcnew String(p.c_str()); 31 | } 32 | 33 | String^ GUIFileOpenDialog::FileName::get() 34 | { 35 | io::path p = m_GUIFileOpenDialog->getFileName(); // Note: gui::IGUIFileOpenDialog::getFileName() returns wchar_t* 36 | return p == nullptr ? nullptr : gcnew String(p.c_str()); 37 | } 38 | 39 | } // end namespace GUI 40 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/BillboardSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | public ref class BillboardSceneNode : SceneNode 13 | { 14 | public: 15 | 16 | void GetSize([Out] float% height, [Out] float% bottomWidth, [Out] float% topWidth); 17 | void SetSize(float height, float bottomWidth, float topWidth); 18 | 19 | property Video::Color^ BottomColor { Video::Color^ get(); void set(Video::Color^ value); } 20 | property float BottomWidth { float get(); void set(float value); } 21 | property float Height { float get(); void set(float value); } 22 | property Video::Color^ TopColor { Video::Color^ get(); void set(Video::Color^ value); } 23 | property float TopWidth { float get(); void set(float value); } 24 | 25 | internal: 26 | 27 | static BillboardSceneNode^ Wrap(scene::IBillboardSceneNode* ref); 28 | BillboardSceneNode(scene::IBillboardSceneNode* ref); 29 | 30 | scene::IBillboardSceneNode* m_BillboardSceneNode; 31 | }; 32 | 33 | } // end namespace Scene 34 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/FileList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace IO { 12 | 13 | public ref class FileList : ReferenceCounted 14 | { 15 | public: 16 | 17 | int AddFile(String^ fullPath, int offset, int size, bool isDirectory, int id); 18 | int AddFile(String^ fullPath, int offset, int size, bool isDirectory); 19 | 20 | int FindFile(String^ filename, bool isDirectory); 21 | int FindFile(String^ filename); 22 | 23 | int GetFileID(int index); 24 | String^ GetFileName(int index); 25 | int GetFileOffset(int index); 26 | int GetFileSize(int index); 27 | String^ GetFullFileName(int index); 28 | 29 | bool IsDirectory(int index); 30 | 31 | void Sort(); 32 | 33 | property int Count { int get(); } 34 | property String^ Path { String^ get(); } 35 | 36 | internal: 37 | 38 | static FileList^ Wrap(io::IFileList* ref); 39 | FileList(io::IFileList* ref); 40 | 41 | io::IFileList* m_FileList; 42 | }; 43 | 44 | } // end namespace IO 45 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/SceneNodeType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | 4 | using namespace irr; 5 | using namespace scene; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public enum class SceneNodeType 12 | { 13 | SceneManager = ESNT_SCENE_MANAGER, 14 | Cube = ESNT_CUBE, 15 | Sphere = ESNT_SPHERE, 16 | Text = ESNT_TEXT, 17 | WaterSurface = ESNT_WATER_SURFACE, 18 | Terrain = ESNT_TERRAIN, 19 | SkyBox = ESNT_SKY_BOX, 20 | SkyDome = ESNT_SKY_DOME, 21 | ShadowVolume = ESNT_SHADOW_VOLUME, 22 | Octree = ESNT_OCTREE, 23 | Mesh = ESNT_MESH, 24 | Light = ESNT_LIGHT, 25 | Empty = ESNT_EMPTY, 26 | DummyTransformation = ESNT_DUMMY_TRANSFORMATION, 27 | Camera = ESNT_CAMERA, 28 | Billboard = ESNT_BILLBOARD, 29 | AnimatedMesh = ESNT_ANIMATED_MESH, 30 | ParticleSystem = ESNT_PARTICLE_SYSTEM, 31 | Quake3_Shader = ESNT_Q3SHADER_SCENE_NODE, 32 | Quake3_Model = ESNT_MD3_SCENE_NODE, 33 | VolumeLight = ESNT_VOLUME_LIGHT, 34 | Camera_Maya = ESNT_CAMERA_MAYA, 35 | Camera_FPS = ESNT_CAMERA_FPS, 36 | Unknown = ESNT_UNKNOWN, 37 | Any = ESNT_ANY 38 | }; 39 | 40 | } // end namespace Scene 41 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/AssemblyInfo.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | 3 | using namespace System; 4 | using namespace System::Reflection; 5 | using namespace System::Runtime::CompilerServices; 6 | using namespace System::Runtime::InteropServices; 7 | using namespace System::Security::Permissions; 8 | 9 | [assembly:AssemblyTitleAttribute("Irrlicht Lime")]; 10 | 11 | #if _DEBUG 12 | [assembly:AssemblyDescriptionAttribute("The Irrlicht Lime is a .NET wrapper for the Irrlicht Engine. (This is Debug build.)")]; 13 | #else 14 | [assembly:AssemblyDescriptionAttribute("The Irrlicht Lime is a .NET wrapper for the Irrlicht Engine.")]; 15 | #endif 16 | 17 | [assembly:AssemblyConfigurationAttribute("")]; 18 | [assembly:AssemblyCompanyAttribute("")]; 19 | [assembly:AssemblyProductAttribute("Irrlicht Lime")]; 20 | [assembly:AssemblyCopyrightAttribute("Copyright (c) Yuriy Grinevich 2010-2013")]; 21 | [assembly:AssemblyTrademarkAttribute("")]; 22 | [assembly:AssemblyCultureAttribute("")]; 23 | 24 | [assembly:AssemblyVersionAttribute("1.4")]; 25 | 26 | [assembly:ComVisible(false)]; 27 | [assembly:CLSCompliantAttribute(true)]; 28 | [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; -------------------------------------------------------------------------------- /irrlicht/include/IShadowVolumeSceneNode.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_SHADOW_VOLUME_SCENE_NODE_H_INCLUDED__ 6 | #define __I_SHADOW_VOLUME_SCENE_NODE_H_INCLUDED__ 7 | 8 | #include "ISceneNode.h" 9 | 10 | namespace irr 11 | { 12 | namespace scene 13 | { 14 | class IMesh; 15 | 16 | //! Scene node for rendering a shadow volume into a stencil buffer. 17 | class IShadowVolumeSceneNode : public ISceneNode 18 | { 19 | public: 20 | 21 | //! constructor 22 | IShadowVolumeSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id) 23 | : ISceneNode(parent, mgr, id) {} 24 | 25 | //! Sets the mesh from which the shadow volume should be generated. 26 | /** To optimize shadow rendering, use a simpler mesh for shadows. 27 | */ 28 | virtual void setShadowMesh(const IMesh* mesh) = 0; 29 | 30 | //! Updates the shadow volumes for current light positions. 31 | virtual void updateShadowVolumes() = 0; 32 | }; 33 | 34 | } // end namespace scene 35 | } // end namespace irr 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /source/ParticleAnimatedMeshSceneNodeEmitter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ParticleEmitter.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | ref class AnimatedMeshSceneNode; 14 | 15 | public ref class ParticleAnimatedMeshSceneNodeEmitter : ParticleEmitter 16 | { 17 | public: 18 | 19 | property bool EveryMeshVertex { bool get(); void set(bool value); } 20 | property float NormalDirectionModifier { float get(); void set(float value); } 21 | property AnimatedMeshSceneNode^ ParticleNode { AnimatedMeshSceneNode^ get(); void set(AnimatedMeshSceneNode^ value); } 22 | property bool UseNormalDirection { bool get(); void set(bool value); } 23 | 24 | internal: 25 | 26 | static ParticleAnimatedMeshSceneNodeEmitter^ Wrap(scene::IParticleAnimatedMeshSceneNodeEmitter* ref); 27 | ParticleAnimatedMeshSceneNodeEmitter(scene::IParticleAnimatedMeshSceneNodeEmitter* ref); 28 | 29 | scene::IParticleAnimatedMeshSceneNodeEmitter* m_ParticleAnimatedMeshSceneNodeEmitter; 30 | }; 31 | 32 | } // end namespace Scene 33 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIDefaultIcon.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIDefaultIcon 13 | { 14 | WindowMaximize = EGDI_WINDOW_MAXIMIZE, 15 | WindowRestore = EGDI_WINDOW_RESTORE, 16 | WindowClose = EGDI_WINDOW_CLOSE, 17 | WindowMinimize = EGDI_WINDOW_MINIMIZE, 18 | WindowResize = EGDI_WINDOW_RESIZE, 19 | CursorUp = EGDI_CURSOR_UP, 20 | CursorDown = EGDI_CURSOR_DOWN, 21 | CursorLeft = EGDI_CURSOR_LEFT, 22 | CursorRight = EGDI_CURSOR_RIGHT, 23 | MenuMore = EGDI_MENU_MORE, 24 | CheckBoxChecked = EGDI_CHECK_BOX_CHECKED, 25 | DropDown = EGDI_DROP_DOWN, 26 | CursorUp_Small = EGDI_SMALL_CURSOR_UP, 27 | CursorDown_Small = EGDI_SMALL_CURSOR_DOWN, 28 | RadioButtonChecked = EGDI_RADIO_BUTTON_CHECKED, 29 | MoreLeft = EGDI_MORE_LEFT, 30 | MoreRight = EGDI_MORE_RIGHT, 31 | MoreUp = EGDI_MORE_UP, 32 | MoreDown = EGDI_MORE_DOWN, 33 | Expand = EGDI_EXPAND, 34 | Collapse = EGDI_COLLAPSE, 35 | File = EGDI_FILE, 36 | Directory = EGDI_DIRECTORY 37 | }; 38 | 39 | } // end namespace GUI 40 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /media/d3d8.vsh: -------------------------------------------------------------------------------- 1 | ; part of the Irrlicht Engine Shader example. 2 | ; This Direct3D9 vertex shader will be loaded by the engine. 3 | ; Please note that these example shaders don't do anything really useful. 4 | ; They only demonstrate that shaders can be used in Irrlicht. 5 | 6 | vs.1.1 7 | 8 | ; transpose and transform position to clip space 9 | mul r0, v0.x, c4 10 | mad r0, v0.y, c5, r0 11 | mad r0, v0.z, c6, r0 12 | add oPos, c7, r0 13 | 14 | ; transform normal 15 | dp3 r1.x, v1, c0 16 | dp3 r1.y, v1, c1 17 | dp3 r1.z, v1, c2 18 | 19 | ; renormalize normal 20 | dp3 r1.w, r1, r1 21 | rsq r1.w, r1.w 22 | mul r1, r1, r1.w 23 | 24 | ; calculate light vector 25 | m4x4 r6, v0, c10 ; vertex into world position 26 | add r2, c8, -r6 ; vtxpos - lightpos 27 | 28 | ; normalize light vector 29 | dp3 r2.w, r2, r2 30 | rsq r2.w, r2.w 31 | mul r2, r2, r2.w 32 | 33 | ; calculate light color 34 | dp3 r3, r1, r2 ; dp3 with negative light vector 35 | lit r5, r3 ; clamp to zero if r3 < 0, r5 has diffuce component in r5.y 36 | mul oD0, r5.y, c9 ; ouput diffuse color 37 | mov oT0, v3 ; store texture coordinates 38 | -------------------------------------------------------------------------------- /source/GUIElementType.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIElementType 13 | { 14 | Button = EGUIET_BUTTON, 15 | CheckBox = EGUIET_CHECK_BOX, 16 | ComboBox = EGUIET_COMBO_BOX, 17 | ContextMenu = EGUIET_CONTEXT_MENU, 18 | Menu = EGUIET_MENU, 19 | EditBox = EGUIET_EDIT_BOX, 20 | FileOpenDialog = EGUIET_FILE_OPEN_DIALOG, 21 | ColorSelectDialog = EGUIET_COLOR_SELECT_DIALOG, 22 | InOutFader = EGUIET_IN_OUT_FADER, 23 | Image = EGUIET_IMAGE, 24 | ListBox = EGUIET_LIST_BOX, 25 | MeshViewer = EGUIET_MESH_VIEWER, 26 | MessageBox = EGUIET_MESSAGE_BOX, 27 | ModalScreen = EGUIET_MODAL_SCREEN, 28 | ScrollBar = EGUIET_SCROLL_BAR, 29 | SpinBox = EGUIET_SPIN_BOX, 30 | StaticText = EGUIET_STATIC_TEXT, 31 | Tab = EGUIET_TAB, 32 | TabControl = EGUIET_TAB_CONTROL, 33 | Table = EGUIET_TABLE, 34 | ToolBar = EGUIET_TOOL_BAR, 35 | TreeView = EGUIET_TREE_VIEW, 36 | Window = EGUIET_WINDOW, 37 | Unknown = EGUIET_ELEMENT, 38 | Root = EGUIET_ROOT 39 | }; 40 | 41 | } // end namespace GUI 42 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /examples/L08.WPFWindow/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.225 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace L08.WPFWindow.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /examples/L02.WinFormsWindow/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.225 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace L02.WinFormsWindow.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /irrlicht/include/IXMLReader.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_XML_READER_H_INCLUDED__ 6 | #define __I_XML_READER_H_INCLUDED__ 7 | 8 | #include "IReferenceCounted.h" 9 | #include "irrXML.h" 10 | 11 | namespace irr 12 | { 13 | namespace io 14 | { 15 | //! An xml reader for wide characters, derived from IReferenceCounted. 16 | /** This XML Parser can read any type of text files from any source 17 | Irrlicht can read. Just call IFileSystem::createXMLReader(). For more 18 | informations on how to use the parser, see IIrrXMLReader */ 19 | typedef IIrrXMLReader IXMLReader; 20 | 21 | //! An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted. 22 | /** This XML Parser can read any type of text files from any source 23 | Irrlicht can read. Just call IFileSystem::createXMLReaderUTF8(). For 24 | more informations on how to use the parser, see IIrrXMLReader */ 25 | typedef IIrrXMLReader IXMLReaderUTF8; 26 | 27 | } // end namespace io 28 | } // end namespace irr 29 | 30 | #endif 31 | 32 | -------------------------------------------------------------------------------- /source/MeshSceneNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "SceneNode.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | ref class Mesh; 13 | ref class ShadowVolumeSceneNode; 14 | 15 | public ref class MeshSceneNode : SceneNode 16 | { 17 | public: 18 | 19 | ShadowVolumeSceneNode^ AddShadowVolumeSceneNode(Scene::Mesh^ shadowMesh, int id, bool zfailmethod, float infinity); 20 | ShadowVolumeSceneNode^ AddShadowVolumeSceneNode(Scene::Mesh^ shadowMesh, int id, bool zfailmethod); 21 | ShadowVolumeSceneNode^ AddShadowVolumeSceneNode(Scene::Mesh^ shadowMesh, int id); 22 | ShadowVolumeSceneNode^ AddShadowVolumeSceneNode(Scene::Mesh^ shadowMesh); 23 | ShadowVolumeSceneNode^ AddShadowVolumeSceneNode(); 24 | 25 | property Scene::Mesh^ Mesh { Scene::Mesh^ get(); void set(Scene::Mesh^ value); } 26 | property bool ReadOnlyMeterials { bool get(); void set(bool value); } 27 | 28 | internal: 29 | 30 | static MeshSceneNode^ Wrap(scene::IMeshSceneNode* ref); 31 | MeshSceneNode(scene::IMeshSceneNode* ref); 32 | 33 | scene::IMeshSceneNode* m_MeshSceneNode; 34 | }; 35 | 36 | } // end namespace Scene 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/IGUIToolbar.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_GUI_TOOL_BAR_H_INCLUDED__ 6 | #define __I_GUI_TOOL_BAR_H_INCLUDED__ 7 | 8 | #include "IGUIElement.h" 9 | 10 | namespace irr 11 | { 12 | namespace video 13 | { 14 | class ITexture; 15 | } // end namespace video 16 | namespace gui 17 | { 18 | class IGUIButton; 19 | 20 | //! Stays at the top of its parent like the menu bar and contains tool buttons 21 | class IGUIToolBar : public IGUIElement 22 | { 23 | public: 24 | 25 | //! constructor 26 | IGUIToolBar(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect rectangle) 27 | : IGUIElement(EGUIET_TOOL_BAR, environment, parent, id, rectangle) {} 28 | 29 | //! Adds a button to the tool bar 30 | virtual IGUIButton* addButton(s32 id=-1, const wchar_t* text=0,const wchar_t* tooltiptext=0, 31 | video::ITexture* img=0, video::ITexture* pressedimg=0, 32 | bool isPushButton=false, bool useAlphaChannel=false) = 0; 33 | }; 34 | 35 | 36 | } // end namespace gui 37 | } // end namespace irr 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /source/MaterialLayer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Video { 10 | 11 | ref class Texture; 12 | 13 | public ref class MaterialLayer : Lime::NativeValue 14 | { 15 | public: 16 | 17 | MaterialLayer(); 18 | 19 | property unsigned __int8 AnisotropicFilter { unsigned __int8 get(); void set(unsigned __int8 value); } 20 | property bool BilinearFilter { bool get(); void set(bool value); } 21 | property __int8 LODBias { __int8 get(); void set(__int8 value); } 22 | property Video::Texture^ Texture { Video::Texture^ get(); void set(Video::Texture^ value); } 23 | property Matrix^ TextureMatrix { Matrix^ get(); void set(Matrix^ value); } 24 | property TextureClamp TextureWrapU { TextureClamp get(); void set(TextureClamp value); } 25 | property TextureClamp TextureWrapV { TextureClamp get(); void set(TextureClamp value); } 26 | property bool TrilinearFilter { bool get(); void set(bool value); } 27 | 28 | virtual String^ ToString() override; 29 | 30 | internal: 31 | 32 | MaterialLayer(video::SMaterialLayer* ref); 33 | }; 34 | 35 | } // end namespace Video 36 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MeshCache.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | ref class AnimatedMesh; 14 | 15 | public ref class MeshCache : ReferenceCounted 16 | { 17 | public: 18 | 19 | void AddMesh(String^ name, AnimatedMesh^ mesh); 20 | void Clear(bool unusedOnly); 21 | void Clear(); 22 | 23 | AnimatedMesh^ GetMesh(int index); 24 | AnimatedMesh^ GetMesh(String^ name); 25 | 26 | int GetMeshIndex(Mesh^ mesh); 27 | 28 | IO::NamedPath^ GetMeshName(Mesh^ mesh); 29 | IO::NamedPath^ GetMeshName(int index); 30 | 31 | bool IsMeshLoaded(String^ name); 32 | 33 | void RemoveMesh(Mesh^ mesh); 34 | 35 | bool RenameMesh(Mesh^ mesh, String^ name); 36 | bool RenameMesh(int index, String^ name); 37 | 38 | property int MeshCount { int get(); } 39 | 40 | virtual String^ ToString() override; 41 | 42 | internal: 43 | 44 | static MeshCache^ Wrap(scene::IMeshCache* ref); 45 | MeshCache(scene::IMeshCache* ref); 46 | 47 | scene::IMeshCache* m_MeshCache; 48 | }; 49 | 50 | } // end namespace Scene 51 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /examples/L04.ParticleEmitterViewer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.225 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace L04.ParticleEmitterViewer.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /irrlicht/include/IParticleSphereEmitter.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_PARTICLE_SPHERE_EMITTER_H_INCLUDED__ 6 | #define __I_PARTICLE_SPHERE_EMITTER_H_INCLUDED__ 7 | 8 | #include "IParticleEmitter.h" 9 | 10 | namespace irr 11 | { 12 | namespace scene 13 | { 14 | 15 | //! A particle emitter which emits from a spherical space. 16 | class IParticleSphereEmitter : public IParticleEmitter 17 | { 18 | public: 19 | 20 | //! Set the center of the sphere for particle emissions 21 | virtual void setCenter( const core::vector3df& center ) = 0; 22 | 23 | //! Set the radius of the sphere for particle emissions 24 | virtual void setRadius( f32 radius ) = 0; 25 | 26 | //! Get the center of the sphere for particle emissions 27 | virtual const core::vector3df& getCenter() const = 0; 28 | 29 | //! Get the radius of the sphere for particle emissions 30 | virtual f32 getRadius() const = 0; 31 | 32 | //! Get emitter type 33 | virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_SPHERE; } 34 | }; 35 | 36 | } // end namespace scene 37 | } // end namespace irr 38 | 39 | 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /source/IndexBuffer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | public ref class IndexBuffer : ReferenceCounted 14 | { 15 | public: 16 | 17 | static IndexBuffer^ Create(Video::IndexType type); 18 | 19 | void Add(int index); 20 | int Get(int i); 21 | void Set(int i, int index); 22 | 23 | void Clear(); 24 | void Reallocate(int newAllocatedCount); 25 | void SetCount(int newCount); 26 | void SetDirty(); 27 | 28 | property int AllocatedCount { int get(); } 29 | property int Count { int get(); } 30 | property Scene::HardwareMappingHint HardwareMappingHint { Scene::HardwareMappingHint get(); void set(Scene::HardwareMappingHint value); } 31 | property array^ Indices { array^ get(); } 32 | property Video::IndexType Type { Video::IndexType get(); } 33 | 34 | virtual String^ ToString() override; 35 | 36 | internal: 37 | 38 | static IndexBuffer^ Wrap(scene::IIndexBuffer* ref); 39 | IndexBuffer(scene::IIndexBuffer* ref); 40 | 41 | scene::IIndexBuffer* m_IndexBuffer; 42 | }; 43 | 44 | } // end namespace Scene 45 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/MetaTriangleSelector.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "MetaTriangleSelector.h" 3 | #include "TriangleSelector.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | MetaTriangleSelector^ MetaTriangleSelector::Wrap(scene::IMetaTriangleSelector* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew MetaTriangleSelector(ref); 17 | } 18 | 19 | MetaTriangleSelector::MetaTriangleSelector(scene::IMetaTriangleSelector* ref) 20 | : TriangleSelector(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_MetaTriangleSelector = ref; 24 | } 25 | 26 | void MetaTriangleSelector::AddTriangleSelector(TriangleSelector^ selector) 27 | { 28 | m_MetaTriangleSelector->addTriangleSelector( 29 | LIME_SAFEREF(selector, m_TriangleSelector)); 30 | } 31 | 32 | void MetaTriangleSelector::RemoveAllTriangleSelectors() 33 | { 34 | m_MetaTriangleSelector->removeAllTriangleSelectors(); 35 | } 36 | 37 | bool MetaTriangleSelector::RemoveTriangleSelector(TriangleSelector^ selector) 38 | { 39 | return m_MetaTriangleSelector->removeTriangleSelector( 40 | LIME_SAFEREF(selector, m_TriangleSelector)); 41 | } 42 | 43 | } // end namespace Scene 44 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIToolBar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { ref class Texture; } 11 | namespace GUI { 12 | 13 | ref class GUIButton; 14 | 15 | public ref class GUIToolBar : GUIElement 16 | { 17 | public: 18 | 19 | GUIButton^ AddButton(int id, String^ text, String^ toolTipText, Video::Texture^ img, Video::Texture^ pressedImg, bool isPushButton, bool useAlphaChannel); 20 | GUIButton^ AddButton(int id, String^ text, String^ toolTipText, Video::Texture^ img, Video::Texture^ pressedImg, bool isPushButton); 21 | GUIButton^ AddButton(int id, String^ text, String^ toolTipText, Video::Texture^ img, Video::Texture^ pressedImg); 22 | GUIButton^ AddButton(int id, String^ text, String^ toolTipText, Video::Texture^ img); 23 | GUIButton^ AddButton(int id, String^ text, String^ toolTipText); 24 | GUIButton^ AddButton(int id, String^ text); 25 | GUIButton^ AddButton(int id); 26 | GUIButton^ AddButton(); 27 | 28 | internal: 29 | 30 | static GUIToolBar^ Wrap(gui::IGUIToolBar* ref); 31 | GUIToolBar(gui::IGUIToolBar* ref); 32 | 33 | gui::IGUIToolBar* m_GUIToolBar; 34 | }; 35 | 36 | } // end namespace GUI 37 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUICheckBox.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "GUICheckBox.h" 3 | #include "GUIElement.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace GUI { 10 | 11 | GUICheckBox^ GUICheckBox::Wrap(gui::IGUICheckBox* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew GUICheckBox(ref); 17 | } 18 | 19 | GUICheckBox::GUICheckBox(gui::IGUICheckBox* ref) 20 | : GUIElement(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_GUICheckBox = ref; 24 | } 25 | 26 | bool GUICheckBox::Checked::get() 27 | { 28 | return m_GUICheckBox->isChecked(); 29 | } 30 | 31 | void GUICheckBox::Checked::set(bool value) 32 | { 33 | m_GUICheckBox->setChecked(value); 34 | } 35 | 36 | bool GUICheckBox::DrawBackground::get() 37 | { 38 | return m_GUICheckBox->isDrawBackgroundEnabled(); 39 | } 40 | 41 | void GUICheckBox::DrawBackground::set(bool value) 42 | { 43 | m_GUICheckBox->setDrawBackground(value); 44 | } 45 | 46 | bool GUICheckBox::DrawBorder::get() 47 | { 48 | return m_GUICheckBox->isDrawBorderEnabled(); 49 | } 50 | 51 | void GUICheckBox::DrawBorder::set(bool value) 52 | { 53 | m_GUICheckBox->setDrawBorder(value); 54 | } 55 | 56 | } // end namespace GUI 57 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIDefaultColor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace gui; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | public enum class GUIDefaultColor 13 | { 14 | _3dDarkShadow = EGDC_3D_DARK_SHADOW, 15 | _3dShadow = EGDC_3D_SHADOW, 16 | _3dFace = EGDC_3D_FACE, 17 | _3dHighLight = EGDC_3D_HIGH_LIGHT, 18 | _3dLight = EGDC_3D_LIGHT, 19 | ActiveBorder = EGDC_ACTIVE_BORDER, 20 | ActiveCaption = EGDC_ACTIVE_CAPTION, 21 | AppWorkspace = EGDC_APP_WORKSPACE, 22 | ButtonText = EGDC_BUTTON_TEXT, 23 | GrayText = EGDC_GRAY_TEXT, 24 | HighLight = EGDC_HIGH_LIGHT, 25 | HighLightText = EGDC_HIGH_LIGHT_TEXT, 26 | InactiveBorder = EGDC_INACTIVE_BORDER, 27 | InactiveCaption = EGDC_INACTIVE_CAPTION, 28 | TooltipText = EGDC_TOOLTIP, 29 | TooltipBackground = EGDC_TOOLTIP_BACKGROUND, 30 | ScrollBar = EGDC_SCROLLBAR, 31 | WindowBackground = EGDC_WINDOW, 32 | WindowSymbol = EGDC_WINDOW_SYMBOL, 33 | Icon = EGDC_ICON, 34 | IconHighLight = EGDC_ICON_HIGH_LIGHT, 35 | GrayWindowSymbol = EGDC_GRAY_WINDOW_SYMBOL, 36 | Editable = EGDC_EDITABLE, 37 | GrayEditable = EGDC_GRAY_EDITABLE, 38 | FocusedEditable = EGDC_FOCUSED_EDITABLE 39 | }; 40 | 41 | } // end namespace GUI 42 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/EDebugSceneTypes.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __E_DEBUG_SCENE_TYPES_H_INCLUDED__ 6 | #define __E_DEBUG_SCENE_TYPES_H_INCLUDED__ 7 | 8 | namespace irr 9 | { 10 | namespace scene 11 | { 12 | 13 | //! An enumeration for all types of debug data for built-in scene nodes (flags) 14 | enum E_DEBUG_SCENE_TYPE 15 | { 16 | //! No Debug Data ( Default ) 17 | EDS_OFF = 0, 18 | 19 | //! Show Bounding Boxes of SceneNode 20 | EDS_BBOX = 1, 21 | 22 | //! Show Vertex Normals 23 | EDS_NORMALS = 2, 24 | 25 | //! Shows Skeleton/Tags 26 | EDS_SKELETON = 4, 27 | 28 | //! Overlays Mesh Wireframe 29 | EDS_MESH_WIRE_OVERLAY = 8, 30 | 31 | //! Temporary use transparency Material Type 32 | EDS_HALF_TRANSPARENCY = 16, 33 | 34 | //! Show Bounding Boxes of all MeshBuffers 35 | EDS_BBOX_BUFFERS = 32, 36 | 37 | //! EDS_BBOX | EDS_BBOX_BUFFERS 38 | EDS_BBOX_ALL = EDS_BBOX | EDS_BBOX_BUFFERS, 39 | 40 | //! Show all debug infos 41 | EDS_FULL = 0xffffffff 42 | }; 43 | 44 | 45 | } // end namespace scene 46 | } // end namespace irr 47 | 48 | 49 | #endif // __E_DEBUG_SCENE_TYPES_H_INCLUDED__ 50 | 51 | -------------------------------------------------------------------------------- /source/Particle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Scene { 10 | 11 | public ref class Particle : Lime::NativeValue 12 | { 13 | public: 14 | 15 | Particle(); 16 | 17 | property Video::Color^ Color { Video::Color^ get(); void set(Video::Color^ value); } 18 | property unsigned int EndTime { unsigned int get(); void set(unsigned int value); } 19 | property Vector3Df^ Position { Vector3Df^ get(); void set(Vector3Df^ value); } 20 | property Dimension2Df^ Size { Dimension2Df^ get(); void set(Dimension2Df^ value); } 21 | property Video::Color^ StartColor { Video::Color^ get(); void set(Video::Color^ value); } 22 | property Dimension2Df^ StartSize { Dimension2Df^ get(); void set(Dimension2Df^ value); } 23 | property unsigned int StartTime { unsigned int get(); void set(unsigned int value); } 24 | property Vector3Df^ StartVector { Vector3Df^ get(); void set(Vector3Df^ value); } 25 | property Vector3Df^ Vector { Vector3Df^ get(); void set(Vector3Df^ value); } 26 | 27 | virtual String^ ToString() override; 28 | 29 | internal: 30 | 31 | static Particle^ Wrap(scene::SParticle* ref); 32 | Particle(scene::SParticle* ref); 33 | }; 34 | 35 | } // end namespace Scene 36 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ParticleSphereEmitter.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "ParticleEmitter.h" 3 | #include "ParticleSphereEmitter.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | using namespace IrrlichtLime::Core; 8 | 9 | namespace IrrlichtLime { 10 | namespace Scene { 11 | 12 | ParticleSphereEmitter^ ParticleSphereEmitter::Wrap(scene::IParticleSphereEmitter* ref) 13 | { 14 | if (ref == nullptr) 15 | return nullptr; 16 | 17 | return gcnew ParticleSphereEmitter(ref); 18 | } 19 | 20 | ParticleSphereEmitter::ParticleSphereEmitter(scene::IParticleSphereEmitter* ref) 21 | : ParticleEmitter(ref) 22 | { 23 | LIME_ASSERT(ref != nullptr); 24 | m_ParticleSphereEmitter = ref; 25 | } 26 | 27 | Vector3Df^ ParticleSphereEmitter::Center::get() 28 | { 29 | return gcnew Vector3Df(m_ParticleSphereEmitter->getCenter()); 30 | } 31 | 32 | void ParticleSphereEmitter::Center::set(Vector3Df^ value) 33 | { 34 | LIME_ASSERT(value != nullptr); 35 | m_ParticleSphereEmitter->setCenter(*value->m_NativeValue); 36 | } 37 | 38 | float ParticleSphereEmitter::Radius::get() 39 | { 40 | return m_ParticleSphereEmitter->getRadius(); 41 | } 42 | 43 | void ParticleSphereEmitter::Radius::set(float value) 44 | { 45 | m_ParticleSphereEmitter->setRadius(value); 46 | } 47 | 48 | } // end namespace Scene 49 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIElementInheritor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include // for gcroot 4 | #include "stdafx.h" 5 | #include "GUIElement.h" 6 | 7 | using namespace irr; 8 | using namespace System; 9 | 10 | namespace IrrlichtLime { 11 | namespace GUI { 12 | 13 | class GUIElementInheritor : public gui::IGUIElement 14 | { 15 | public: 16 | 17 | GUIElementInheritor(gui::EGUI_ELEMENT_TYPE type, gui::IGUIEnvironment* environment, gui::IGUIElement* parent, 18 | s32 id, const core::rect& rectangle) 19 | : gui::IGUIElement(type, environment, parent, id, rectangle) 20 | { 21 | } 22 | 23 | gcroot m_drawHandler; 24 | virtual void draw() 25 | { 26 | m_drawHandler->Invoke(); 27 | gui::IGUIElement::draw(); 28 | } 29 | 30 | gcroot m_OnEventHandler; 31 | virtual bool OnEvent(const SEvent& e) 32 | { 33 | bool b = m_OnEventHandler->Invoke(gcnew Event(e)); 34 | 35 | if (!b) 36 | b = gui::IGUIElement::OnEvent(e); 37 | 38 | return b; 39 | } 40 | 41 | // internal: 42 | 43 | gui::IGUIEnvironment* Environment_get() 44 | { 45 | return this->Environment; 46 | } 47 | 48 | void Environment_set(gui::IGUIEnvironment* newEnv) 49 | { 50 | this->Environment = newEnv; 51 | } 52 | }; 53 | 54 | } // end namespace GUI 55 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/Texture.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Video { 12 | 13 | ref class TexturePainter; 14 | 15 | public ref class Texture : ReferenceCounted 16 | { 17 | public: 18 | 19 | void RegenerateMipMapLevels(); // argument "void *mipmapData=0" not supported 20 | 21 | property bool AlphaChannel { bool get(); } 22 | property Video::ColorFormat ColorFormat { Video::ColorFormat get(); } 23 | property Video::DriverType DriverType { Video::DriverType get(); } 24 | property bool MipMaps { bool get(); } 25 | property IO::NamedPath^ Name { IO::NamedPath^ get(); } 26 | property Dimension2Di^ OriginalSize { Dimension2Di^ get(); } 27 | property TexturePainter^ Painter { TexturePainter^ get(); } 28 | property int Pitch { int get(); } 29 | property bool RenderTarget { bool get(); } 30 | property Dimension2Di^ Size { Dimension2Di^ get(); } 31 | 32 | virtual String^ ToString() override; 33 | 34 | internal: 35 | 36 | static Texture^ Wrap(video::ITexture* ref); 37 | Texture(video::ITexture* ref); 38 | 39 | video::ITexture* m_Texture; 40 | 41 | Video::TexturePainter^ m_painter; 42 | }; 43 | 44 | } // end namespace Video 45 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ImageLoader.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "Image.h" 3 | #include "ImageLoader.h" 4 | #include "ReadFile.h" 5 | #include "ReferenceCounted.h" 6 | 7 | using namespace irr; 8 | using namespace System; 9 | using namespace IrrlichtLime::Core; 10 | 11 | namespace IrrlichtLime { 12 | namespace Video { 13 | 14 | ImageLoader^ ImageLoader::Wrap(video::IImageLoader* ref) 15 | { 16 | if (ref == nullptr) 17 | return nullptr; 18 | 19 | return gcnew ImageLoader(ref); 20 | } 21 | 22 | ImageLoader::ImageLoader(video::IImageLoader* ref) 23 | : ReferenceCounted(ref) 24 | { 25 | LIME_ASSERT(ref != nullptr); 26 | m_ImageLoader = ref; 27 | } 28 | 29 | bool ImageLoader::IsLoadableFileExtension(String^ filename) 30 | { 31 | LIME_ASSERT(filename != nullptr); 32 | return m_ImageLoader->isALoadableFileExtension(Lime::StringToPath(filename)); 33 | } 34 | 35 | bool ImageLoader::IsLoadableFileFormat(IO::ReadFile^ file) 36 | { 37 | LIME_ASSERT(file != nullptr); 38 | return m_ImageLoader->isALoadableFileFormat(LIME_SAFEREF(file, m_ReadFile)); 39 | } 40 | 41 | Image^ ImageLoader::LoadImage(IO::ReadFile^ file) 42 | { 43 | LIME_ASSERT(file != nullptr); 44 | 45 | video::IImage* i = m_ImageLoader->loadImage(LIME_SAFEREF(file, m_ReadFile)); 46 | return Image::Wrap(i); 47 | } 48 | 49 | } // end namespace Video 50 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/IParticleRotationAffector.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_PARTICLE_ROTATION_AFFECTOR_H_INCLUDED__ 6 | #define __I_PARTICLE_ROTATION_AFFECTOR_H_INCLUDED__ 7 | 8 | #include "IParticleAffector.h" 9 | 10 | namespace irr 11 | { 12 | namespace scene 13 | { 14 | 15 | //! A particle affector which rotates the particle system. 16 | class IParticleRotationAffector : public IParticleAffector 17 | { 18 | public: 19 | 20 | //! Set the point that particles will rotate around 21 | virtual void setPivotPoint( const core::vector3df& point ) = 0; 22 | 23 | //! Set the speed in degrees per second in all 3 dimensions 24 | virtual void setSpeed( const core::vector3df& speed ) = 0; 25 | 26 | //! Get the point that particles are attracted to 27 | virtual const core::vector3df& getPivotPoint() const = 0; 28 | 29 | //! Get the speed in degrees per second in all 3 dimensions 30 | virtual const core::vector3df& getSpeed() const = 0; 31 | 32 | //! Get emitter type 33 | virtual E_PARTICLE_AFFECTOR_TYPE getType() const { return EPAT_ROTATE; } 34 | }; 35 | 36 | } // end namespace scene 37 | } // end namespace irr 38 | 39 | 40 | #endif // __I_PARTICLE_ROTATION_AFFECTOR_H_INCLUDED__ 41 | 42 | -------------------------------------------------------------------------------- /media/d3d9.vsh: -------------------------------------------------------------------------------- 1 | ; part of the Irrlicht Engine Shader example. 2 | ; This Direct3D9 vertex shader will be loaded by the engine. 3 | ; Please note that these example shaders don't do anything really useful. 4 | ; They only demonstrate that shaders can be used in Irrlicht. 5 | 6 | vs.1.1 7 | 8 | dcl_position v0; ; declare position 9 | dcl_normal v1; ; declare normal 10 | dcl_color v2; ; declare color 11 | dcl_texcoord0 v3; ; declare texture coordinate 12 | 13 | ; transpose and transform position to clip space 14 | mul r0, v0.x, c4 15 | mad r0, v0.y, c5, r0 16 | mad r0, v0.z, c6, r0 17 | add oPos, c7, r0 18 | 19 | ; transform normal 20 | dp3 r1.x, v1, c0 21 | dp3 r1.y, v1, c1 22 | dp3 r1.z, v1, c2 23 | 24 | ; renormalize normal 25 | dp3 r1.w, r1, r1 26 | rsq r1.w, r1.w 27 | mul r1, r1, r1.w 28 | 29 | ; calculate light vector 30 | m4x4 r6, v0, c10 ; vertex into world position 31 | add r2, c8, -r6 ; vtxpos - lightpos 32 | 33 | ; normalize light vector 34 | dp3 r2.w, r2, r2 35 | rsq r2.w, r2.w 36 | mul r2, r2, r2.w 37 | 38 | ; calculate light color 39 | dp3 r3, r1, r2 ; dp3 with negative light vector 40 | lit r5, r3 ; clamp to zero if r3 < 0, r5 has diffuce component in r5.y 41 | mul oD0, r5.y, c9 ; ouput diffuse color 42 | mov oT0, v3 ; store texture coordinates -------------------------------------------------------------------------------- /irrlicht/include/IParticleRingEmitter.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_PARTICLE_RING_EMITTER_H_INCLUDED__ 6 | #define __I_PARTICLE_RING_EMITTER_H_INCLUDED__ 7 | 8 | #include "IParticleEmitter.h" 9 | 10 | namespace irr 11 | { 12 | namespace scene 13 | { 14 | 15 | //! A particle emitter which emits particles along a ring shaped area. 16 | class IParticleRingEmitter : public IParticleEmitter 17 | { 18 | public: 19 | 20 | //! Set the center of the ring 21 | virtual void setCenter( const core::vector3df& center ) = 0; 22 | 23 | //! Set the radius of the ring 24 | virtual void setRadius( f32 radius ) = 0; 25 | 26 | //! Set the thickness of the ring 27 | virtual void setRingThickness( f32 ringThickness ) = 0; 28 | 29 | //! Get the center of the ring 30 | virtual const core::vector3df& getCenter() const = 0; 31 | 32 | //! Get the radius of the ring 33 | virtual f32 getRadius() const = 0; 34 | 35 | //! Get the thickness of the ring 36 | virtual f32 getRingThickness() const = 0; 37 | 38 | //! Get emitter type 39 | virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_RING; } 40 | }; 41 | 42 | } // end namespace scene 43 | } // end namespace irr 44 | 45 | 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /source/Light.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Video { 10 | 11 | public ref class Light : Lime::NativeValue 12 | { 13 | public: 14 | 15 | Light(); 16 | 17 | property Colorf^ AmbientColor { Colorf^ get(); void set(Colorf^ value); } 18 | property Vector3Df^ Attenuation { Vector3Df^ get(); void set(Vector3Df^ value); } 19 | property bool CastShadows { bool get(); void set(bool value); } 20 | property Colorf^ DiffuseColor { Colorf^ get(); void set(Colorf^ value); } 21 | property Vector3Df^ Direction { Vector3Df^ get(); void set(Vector3Df^ value); } 22 | property float Falloff { float get(); void set(float value); } 23 | property float InnerCone { float get(); void set(float value); } 24 | property float OuterCone { float get(); void set(float value); } 25 | property Vector3Df^ Position { Vector3Df^ get(); void set(Vector3Df^ value); } 26 | property float Radius { float get(); void set(float value); } 27 | property Colorf^ SpecularColor { Colorf^ get(); void set(Colorf^ value); } 28 | property LightType Type { LightType get(); void set(LightType value); } 29 | 30 | virtual String^ ToString() override; 31 | 32 | internal: 33 | 34 | Light(video::SLight* ref); 35 | }; 36 | 37 | } // end namespace Video 38 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/Mesh.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace Video { ref class Material; } 11 | namespace Scene { 12 | 13 | ref class MeshBuffer; 14 | 15 | public ref class Mesh : ReferenceCounted 16 | { 17 | public: 18 | 19 | static Mesh^ Create(); 20 | 21 | void AddMeshBuffer(MeshBuffer^ buffer); 22 | 23 | MeshBuffer^ GetMeshBuffer(Video::Material^ material); 24 | MeshBuffer^ GetMeshBuffer(int index); 25 | 26 | void RecalculateBoundingBox(); 27 | 28 | void RemoveMeshBuffer(int index); 29 | void RemoveMeshBuffer(int index, int count); 30 | 31 | void SetDirty(HardwareBufferType buffer); 32 | void SetHardwareMappingHint(HardwareMappingHint mappingHint, HardwareBufferType buffer); 33 | void SetMaterialFlag(Video::MaterialFlag flag, bool newvalue); 34 | 35 | property AABBox^ BoundingBox { AABBox^ get(); void set(AABBox^ value); } 36 | property int MeshBufferCount { int get(); } 37 | property array^ MeshBuffers { array^ get(); } 38 | 39 | virtual String^ ToString() override; 40 | 41 | internal: 42 | 43 | static Mesh^ Wrap(scene::IMesh* ref); 44 | Mesh(scene::IMesh* ref); 45 | 46 | scene::IMesh* m_Mesh; 47 | }; 48 | 49 | } // end namespace Scene 50 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUITabControl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "GUIElement.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | 9 | namespace IrrlichtLime { 10 | namespace GUI { 11 | 12 | ref class GUITab; 13 | 14 | public ref class GUITabControl : GUIElement 15 | { 16 | public: 17 | 18 | GUITab^ AddTab(String^ caption, int id); 19 | GUITab^ AddTab(String^ caption); 20 | 21 | void Clear(); 22 | 23 | int GetTabAt(int xpos, int ypos); 24 | 25 | GUITab^ InsertTab(int indexAt, String^ caption, int id); 26 | GUITab^ InsertTab(int indexAt, String^ caption); 27 | 28 | void RemoveTab(int index); 29 | 30 | property GUITab^ ActiveTab { GUITab^ get(); void set(GUITab^ value); } 31 | property int ActiveTabIndex { int get(); void set(int value); } 32 | property int TabCount { int get(); } 33 | property int TabExtraWidth { int get(); void set(int value); } 34 | property int TabHeight { int get(); void set(int value); } 35 | property int TabMaxWidth { int get(); void set(int value); } 36 | property GUIAlignment TabVerticalAlignment { GUIAlignment get(); void set(GUIAlignment value); } 37 | 38 | internal: 39 | 40 | static GUITabControl^ Wrap(gui::IGUITabControl* ref); 41 | GUITabControl(gui::IGUITabControl* ref); 42 | 43 | gui::IGUITabControl* m_GUITabControl; 44 | }; 45 | 46 | } // end namespace GUI 47 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/ExposedVideoData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace Video { 10 | 11 | public ref class ExposedVideoData : Lime::NativeValue 12 | { 13 | public: 14 | 15 | ExposedVideoData() 16 | : Lime::NativeValue(true) 17 | { 18 | m_NativeValue = new video::SExposedVideoData(); 19 | } 20 | 21 | property IntPtr DeviceContext 22 | { 23 | IntPtr get() { return IntPtr(m_NativeValue->OpenGLWin32.HDc); } 24 | void set(IntPtr value) { m_NativeValue->OpenGLWin32.HDc = value.ToPointer(); } 25 | } 26 | 27 | property IntPtr RenderingContext 28 | { 29 | IntPtr get() { return IntPtr(m_NativeValue->OpenGLWin32.HRc); } 30 | void set(IntPtr value) { m_NativeValue->OpenGLWin32.HRc = value.ToPointer(); } 31 | } 32 | 33 | property IntPtr WindowID 34 | { 35 | IntPtr get() { return IntPtr(m_NativeValue->OpenGLWin32.HWnd); } 36 | void set(IntPtr value) { m_NativeValue->OpenGLWin32.HWnd = value.ToPointer(); } 37 | } 38 | 39 | internal: 40 | 41 | ExposedVideoData(const video::SExposedVideoData& value) 42 | : Lime::NativeValue(true) 43 | { 44 | m_NativeValue = new video::SExposedVideoData(value); 45 | } 46 | }; 47 | 48 | } // end namespace Video 49 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIInOutFader.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "GUIElement.h" 3 | #include "GUIInOutFader.h" 4 | 5 | using namespace irr; 6 | using namespace System; 7 | 8 | namespace IrrlichtLime { 9 | namespace GUI { 10 | 11 | GUIInOutFader^ GUIInOutFader::Wrap(gui::IGUIInOutFader* ref) 12 | { 13 | if (ref == nullptr) 14 | return nullptr; 15 | 16 | return gcnew GUIInOutFader(ref); 17 | } 18 | 19 | GUIInOutFader::GUIInOutFader(gui::IGUIInOutFader* ref) 20 | : GUIElement(ref) 21 | { 22 | LIME_ASSERT(ref != nullptr); 23 | m_GUIInOutFader = ref; 24 | } 25 | 26 | void GUIInOutFader::FadeIn(unsigned int time) 27 | { 28 | m_GUIInOutFader->fadeIn(time); 29 | } 30 | 31 | void GUIInOutFader::FadeOut(unsigned int time) 32 | { 33 | m_GUIInOutFader->fadeOut(time); 34 | } 35 | 36 | void GUIInOutFader::SetColor(Video::Color^ source, Video::Color^ dest) 37 | { 38 | LIME_ASSERT(source != nullptr); 39 | LIME_ASSERT(dest != nullptr); 40 | 41 | m_GUIInOutFader->setColor( 42 | *source->m_NativeValue, 43 | *dest->m_NativeValue); 44 | } 45 | 46 | void GUIInOutFader::SetColor(Video::Color^ bothAplhaIgnored) 47 | { 48 | LIME_ASSERT(bothAplhaIgnored != nullptr); 49 | m_GUIInOutFader->setColor(*bothAplhaIgnored->m_NativeValue); 50 | } 51 | 52 | bool GUIInOutFader::Ready::get() 53 | { 54 | return m_GUIInOutFader->isReady(); 55 | } 56 | 57 | } // end namespace GUI 58 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/GUIMeshViewer.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "AnimatedMesh.h" 3 | #include "GUIElement.h" 4 | #include "GUIMeshViewer.h" 5 | #include "Material.h" 6 | 7 | using namespace irr; 8 | using namespace System; 9 | 10 | namespace IrrlichtLime { 11 | namespace GUI { 12 | 13 | GUIMeshViewer^ GUIMeshViewer::Wrap(gui::IGUIMeshViewer* ref) 14 | { 15 | if (ref == nullptr) 16 | return nullptr; 17 | 18 | return gcnew GUIMeshViewer(ref); 19 | } 20 | 21 | GUIMeshViewer::GUIMeshViewer(gui::IGUIMeshViewer* ref) 22 | : GUIElement(ref) 23 | { 24 | LIME_ASSERT(ref != nullptr); 25 | m_GUIMeshViewer = ref; 26 | } 27 | 28 | Video::Material^ GUIMeshViewer::Material::get() 29 | { 30 | video::SMaterial* m = &((video::SMaterial&)m_GUIMeshViewer->getMaterial()); // !!! cast to non-const pointer 31 | return Video::Material::Wrap(m); 32 | } 33 | 34 | void GUIMeshViewer::Material::set(Video::Material^ value) 35 | { 36 | LIME_ASSERT(value != nullptr); 37 | m_GUIMeshViewer->setMaterial(*value->m_NativeValue); 38 | } 39 | 40 | Scene::AnimatedMesh^ GUIMeshViewer::Mesh::get() 41 | { 42 | scene::IAnimatedMesh* m = m_GUIMeshViewer->getMesh(); 43 | return Scene::AnimatedMesh::Wrap(m); 44 | } 45 | 46 | void GUIMeshViewer::Mesh::set(Scene::AnimatedMesh^ value) 47 | { 48 | m_GUIMeshViewer->setMesh(LIME_SAFEREF(value, m_AnimatedMesh)); 49 | } 50 | 51 | } // end namespace GUI 52 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /source/TriangleSelector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | #include "ReferenceCounted.h" 5 | 6 | using namespace irr; 7 | using namespace System; 8 | using namespace IrrlichtLime::Core; 9 | 10 | namespace IrrlichtLime { 11 | namespace Scene { 12 | 13 | ref class SceneNode; 14 | 15 | public ref class TriangleSelector : ReferenceCounted 16 | { 17 | public: 18 | 19 | SceneNode^ GetSceneNodeForTriangle(int triangleIndex); 20 | 21 | TriangleSelector^ GetSelector(int selectorIndex); 22 | 23 | List^ GetTriangles(AABBox^ box, int maxTriangleCount, Matrix^ transform); 24 | List^ GetTriangles(AABBox^ box, int maxTriangleCount); 25 | List^ GetTriangles(Line3Df^ line, int maxTriangleCount, Matrix^ transform); 26 | List^ GetTriangles(Line3Df^ line, int maxTriangleCount); 27 | List^ GetTriangles(int maxTriangleCount, Matrix^ transform); 28 | List^ GetTriangles(int maxTriangleCount); 29 | 30 | property int SelectorCount { int get(); } 31 | property int TriangleCount { int get(); } 32 | 33 | virtual String^ ToString() override; 34 | 35 | internal: 36 | 37 | static TriangleSelector^ Wrap(scene::ITriangleSelector* ref); 38 | TriangleSelector(scene::ITriangleSelector* ref); 39 | 40 | scene::ITriangleSelector* m_TriangleSelector; 41 | }; 42 | 43 | } // end namespace Scene 44 | } // end namespace IrrlichtLime -------------------------------------------------------------------------------- /irrlicht/include/IGUIMeshViewer.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef __I_GUI_MESH_VIEWER_H_INCLUDED__ 6 | #define __I_GUI_MESH_VIEWER_H_INCLUDED__ 7 | 8 | #include "IGUIElement.h" 9 | 10 | namespace irr 11 | { 12 | 13 | namespace video 14 | { 15 | class SMaterial; 16 | } // end namespace video 17 | 18 | namespace scene 19 | { 20 | class IAnimatedMesh; 21 | } // end namespace scene 22 | 23 | namespace gui 24 | { 25 | 26 | //! 3d mesh viewing GUI element. 27 | class IGUIMeshViewer : public IGUIElement 28 | { 29 | public: 30 | 31 | //! constructor 32 | IGUIMeshViewer(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect rectangle) 33 | : IGUIElement(EGUIET_MESH_VIEWER, environment, parent, id, rectangle) {} 34 | 35 | //! Sets the mesh to be shown 36 | virtual void setMesh(scene::IAnimatedMesh* mesh) = 0; 37 | 38 | //! Gets the displayed mesh 39 | virtual scene::IAnimatedMesh* getMesh() const = 0; 40 | 41 | //! Sets the material 42 | virtual void setMaterial(const video::SMaterial& material) = 0; 43 | 44 | //! Gets the material 45 | virtual const video::SMaterial& getMaterial() const = 0; 46 | }; 47 | 48 | 49 | } // end namespace gui 50 | } // end namespace irr 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /irrlicht/include/IImageWriter.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt 2 | // This file is part of the "Irrlicht Engine". 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h 4 | 5 | #ifndef _I_IMAGE_WRITER_H_INCLUDED__ 6 | #define _I_IMAGE_WRITER_H_INCLUDED__ 7 | 8 | #include "IReferenceCounted.h" 9 | #include "irrString.h" 10 | #include "coreutil.h" 11 | 12 | namespace irr 13 | { 14 | namespace io 15 | { 16 | class IWriteFile; 17 | } // end namespace io 18 | 19 | namespace video 20 | { 21 | class IImage; 22 | 23 | 24 | //! Interface for writing software image data. 25 | class IImageWriter : public IReferenceCounted 26 | { 27 | public: 28 | //! Check if this writer can write a file with the given extension 29 | /** \param filename Name of the file to check. 30 | \return True if file extension specifies a writable type. */ 31 | virtual bool isAWriteableFileExtension(const io::path& filename) const = 0; 32 | 33 | //! Write image to file 34 | /** \param file File handle to write to. 35 | \param image Image to write into file. 36 | \param param Writer specific parameter, influencing e.g. quality. 37 | \return True if image was successfully written. */ 38 | virtual bool writeImage(io::IWriteFile *file, IImage *image, u32 param = 0) const = 0; 39 | }; 40 | 41 | } // namespace video 42 | } // namespace irr 43 | 44 | #endif // _I_IMAGE_WRITER_H_INCLUDED__ 45 | 46 | --------------------------------------------------------------------------------