├── 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 |
--------------------------------------------------------------------------------