Merge pull request 'master' (#5) from Mirrorlandia_minetest/irrlicht:master into master

Reviewed-on: #5
This commit is contained in:
Bruno Rybársky 2024-02-27 13:26:18 +01:00
commit 154064522e
188 changed files with 15636 additions and 9963 deletions

@ -10,7 +10,7 @@ jobs:
linux-gl: linux-gl:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
sudo apt-get update sudo apt-get update
@ -30,7 +30,7 @@ jobs:
make DESTDIR=$PWD/_install install make DESTDIR=$PWD/_install install
tar -c -I "gzip -9" -f irrlicht-linux.tar.gz -C ./_install/usr/local . tar -c -I "gzip -9" -f irrlicht-linux.tar.gz -C ./_install/usr/local .
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v4
with: with:
name: irrlicht-linux name: irrlicht-linux
path: ./irrlicht-linux.tar.gz path: ./irrlicht-linux.tar.gz
@ -39,7 +39,7 @@ jobs:
# Xvfb test is broken on 20.04 for unknown reasons (not our bug) # Xvfb test is broken on 20.04 for unknown reasons (not our bug)
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
sudo apt-get update sudo apt-get update
@ -61,9 +61,10 @@ jobs:
LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest ogles2 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest ogles2
linux-sdl: linux-sdl:
runs-on: ubuntu-20.04 # something is wrong with the SDL cmake files on 20.04
runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
sudo apt-get update sudo apt-get update
@ -71,7 +72,7 @@ jobs:
- name: Build - name: Build
run: | run: |
cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DCMAKE_BUILD_TYPE=Debug
make -j2 make -j2
- name: Test (headless) - name: Test (headless)
@ -83,7 +84,7 @@ jobs:
# Xvfb test is broken on 20.04 for unknown reasons (not our bug) # Xvfb test is broken on 20.04 for unknown reasons (not our bug)
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
sudo apt-get update sudo apt-get update
@ -105,9 +106,10 @@ jobs:
LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest opengl3 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest opengl3
linux-sdl-gles2: linux-sdl-gles2:
runs-on: ubuntu-20.04 # something is wrong with the SDL cmake files on 20.04
runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
sudo apt-get update sudo apt-get update
@ -140,21 +142,21 @@ jobs:
- {variant: win32, arch: i686, extras: "-sdl"} - {variant: win32, arch: i686, extras: "-sdl"}
- {variant: win64, arch: x86_64, extras: "-sdl"} - {variant: win64, arch: x86_64, extras: "-sdl"}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install compiler - name: Install compiler
run: | run: |
sudo apt-get update && sudo apt-get install cmake -qyy sudo apt-get update && sudo apt-get install cmake -qyy
./scripts/ci-get-mingw.sh ${{matrix.config.arch}} ./scripts/ci-get-mingw.sh
- name: Build - name: Build
run: | run: |
./scripts/ci-build-mingw.sh package ./scripts/ci-build-mingw.sh package
env: env:
CC: ${{matrix.config.arch}}-w64-mingw32-gcc CC: ${{matrix.config.arch}}-w64-mingw32-clang
CXX: ${{matrix.config.arch}}-w64-mingw32-g++ CXX: ${{matrix.config.arch}}-w64-mingw32-clang++
extras: ${{matrix.config.extras}} extras: ${{matrix.config.extras}}
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v4
with: with:
name: irrlicht-${{matrix.config.variant}}${{matrix.config.extras}} name: irrlicht-${{matrix.config.variant}}${{matrix.config.extras}}
path: ./irrlicht-${{matrix.config.variant}}${{matrix.config.extras}}.zip path: ./irrlicht-${{matrix.config.variant}}${{matrix.config.extras}}.zip
@ -162,7 +164,7 @@ jobs:
macos: macos:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
brew update brew update
@ -180,7 +182,7 @@ jobs:
macos-sdl: macos-sdl:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
brew update brew update
@ -197,7 +199,7 @@ jobs:
env: env:
VCPKG_VERSION: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50 VCPKG_VERSION: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50
# 2023.10.19 # 2023.10.19
vcpkg_packages: zlib libpng libjpeg-turbo opengl-registry vcpkg_packages: zlib libpng libjpeg-turbo
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -214,6 +216,7 @@ jobs:
- -
use: FALSE use: FALSE
label: '(no SDL)' label: '(no SDL)'
vcpkg_packages: opengl-registry
- -
use: TRUE use: TRUE
label: '(with SDL)' label: '(with SDL)'
@ -221,7 +224,7 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Restore from cache and run vcpkg - name: Restore from cache and run vcpkg
uses: lukka/run-vcpkg@v7 uses: lukka/run-vcpkg@v7
@ -254,9 +257,9 @@ jobs:
run: move include artifact/ run: move include artifact/
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: msvc-${{ matrix.config.arch }} name: msvc-${{ matrix.config.arch }}-${{matrix.sdl.use}}
path: artifact/ path: artifact/
android: android:
@ -270,7 +273,7 @@ jobs:
arch: [armeabi-v7a, arm64-v8a, x86, x86_64] arch: [armeabi-v7a, arm64-v8a, x86, x86_64]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Install deps - name: Install deps
run: | run: |
@ -280,7 +283,7 @@ jobs:
- name: Cache NDK - name: Cache NDK
id: cache-ndk id: cache-ndk
uses: actions/cache@v3 uses: actions/cache@v4
with: with:
key: android-ndk-${{ env.ndk_version }}-linux key: android-ndk-${{ env.ndk_version }}-linux
path: ${{ env.ANDROID_NDK }} path: ${{ env.ANDROID_NDK }}
@ -297,7 +300,7 @@ jobs:
run: ./scripts/ci-build-android.sh ${{ matrix.arch }} run: ./scripts/ci-build-android.sh ${{ matrix.arch }}
#- name: Upload Artifact #- name: Upload Artifact
# uses: actions/upload-artifact@v3 # uses: actions/upload-artifact@v4
# with: # with:
# name: irrlicht-android-${{ matrix.arch }} # name: irrlicht-android-${{ matrix.arch }}
# path: ${{ runner.temp }}/pkg/${{ matrix.arch }} # path: ${{ runner.temp }}/pkg/${{ matrix.arch }}

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.12) cmake_minimum_required(VERSION 3.12)
set(IRRLICHTMT_REVISION 14) set(IRRLICHTMT_REVISION 15)
project(Irrlicht project(Irrlicht
VERSION 1.9.0.${IRRLICHTMT_REVISION} VERSION 1.9.0.${IRRLICHTMT_REVISION}

@ -1,5 +1,11 @@
@PACKAGE_INIT@ @PACKAGE_INIT@
include(CMakeFindDependencyMacro)
if(NOT TARGET IrrlichtMt::IrrlichtMt) if(NOT TARGET IrrlichtMt::IrrlichtMt)
# private dependency only explicitly needed with static libs
if(@USE_SDL2@ AND NOT @BUILD_SHARED_LIBS@)
find_dependency(SDL2)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/IrrlichtMtTargets.cmake") include("${CMAKE_CURRENT_LIST_DIR}/IrrlichtMtTargets.cmake")
endif() endif()

@ -15,6 +15,7 @@ The following libraries are required to be installed:
* OpenGL * OpenGL
* or on mobile: OpenGL ES (can be optionally enabled on desktop too) * or on mobile: OpenGL ES (can be optionally enabled on desktop too)
* on Unix: X11 * on Unix: X11
* SDL2 (see below)
Aside from standard search options (`ZLIB_INCLUDE_DIR`, `ZLIB_LIBRARY`, ...) the following options are available: Aside from standard search options (`ZLIB_INCLUDE_DIR`, `ZLIB_LIBRARY`, ...) the following options are available:
* `BUILD_SHARED_LIBS` (default: `ON`) - Build IrrlichtMt as a shared library * `BUILD_SHARED_LIBS` (default: `ON`) - Build IrrlichtMt as a shared library
@ -23,7 +24,7 @@ Aside from standard search options (`ZLIB_INCLUDE_DIR`, `ZLIB_LIBRARY`, ...) the
* `ENABLE_OPENGL3` (default: `OFF`) - Enable OpenGL 3+ driver * `ENABLE_OPENGL3` (default: `OFF`) - Enable OpenGL 3+ driver
* `ENABLE_GLES1` - Enable OpenGL ES driver, legacy * `ENABLE_GLES1` - Enable OpenGL ES driver, legacy
* `ENABLE_GLES2` - Enable OpenGL ES 2+ driver * `ENABLE_GLES2` - Enable OpenGL ES 2+ driver
* `USE_SDL2` (default: `OFF`) - Use SDL2 instead of native platform device * `USE_SDL2` (default: platform-dependent, usually `ON`) - Use SDL2 instead of older native device code
e.g. on a Linux system you might want to build for local use like this: e.g. on a Linux system you might want to build for local use like this:
@ -40,7 +41,7 @@ It is highly recommended to use vcpkg as package manager.
After you successfully built vcpkg you can easily install the required libraries: After you successfully built vcpkg you can easily install the required libraries:
vcpkg install zlib libjpeg-turbo libpng opengl-registry --triplet x64-windows vcpkg install zlib libjpeg-turbo libpng sdl2 --triplet x64-windows
Run the following script in PowerShell: Run the following script in PowerShell:

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __T_MESH_BUFFER_H_INCLUDED__ #pragma once
#define __T_MESH_BUFFER_H_INCLUDED__
#include "irrArray.h" #include "irrArray.h"
#include "IMeshBuffer.h" #include "IMeshBuffer.h"
@ -206,37 +205,6 @@ namespace scene
} }
//! Append the meshbuffer to the current buffer
/** Only works for compatible types, i.e. either the same type
or the main buffer is of standard type. Otherwise, behavior is
undefined.
\param other Meshbuffer to be appended to this one.
*/
void append(const IMeshBuffer* const other) override
{
/*
if (this==other)
return;
const u32 vertexCount = getVertexCount();
u32 i;
Vertices.reallocate(vertexCount+other->getVertexCount());
for (i=0; i<other->getVertexCount(); ++i)
{
Vertices.push_back(reinterpret_cast<const T*>(other->getVertices())[i]);
}
Indices.reallocate(getIndexCount()+other->getIndexCount());
for (i=0; i<other->getIndexCount(); ++i)
{
Indices.push_back(other->getIndices()[i]+vertexCount);
}
BoundingBox.addInternalBox(other->getBoundingBox());
*/
}
//! get the current hardware mapping hint //! get the current hardware mapping hint
E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const override E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const override
{ {
@ -324,7 +292,3 @@ namespace scene
typedef CMeshBuffer<video::S3DVertexTangents> SMeshBufferTangents; typedef CMeshBuffer<video::S3DVertexTangents> SMeshBufferTangents;
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_ATTRIBUTES_H_INCLUDED__ #pragma once
#define __E_ATTRIBUTES_H_INCLUDED__
namespace irr namespace irr
{ {
@ -19,75 +18,9 @@ enum E_ATTRIBUTE_TYPE
// float attribute // float attribute
EAT_FLOAT, EAT_FLOAT,
// string attribute
EAT_STRING,
// boolean attribute // boolean attribute
EAT_BOOL, EAT_BOOL,
// enumeration attribute
EAT_ENUM,
// color attribute
EAT_COLOR,
// floating point color attribute
EAT_COLORF,
// 3d vector attribute
EAT_VECTOR3D,
// 2d position attribute
EAT_POSITION2D,
// vector 2d attribute
EAT_VECTOR2D,
// rectangle attribute
EAT_RECT,
// matrix attribute
EAT_MATRIX,
// quaternion attribute
EAT_QUATERNION,
// 3d bounding box
EAT_BBOX,
// plane
EAT_PLANE,
// 3d triangle
EAT_TRIANGLE3D,
// line 2d
EAT_LINE2D,
// line 3d
EAT_LINE3D,
// array of stringws attribute
EAT_STRINGWARRAY,
// array of float
EAT_FLOATARRAY,
// array of int
EAT_INTARRAY,
// binary data attribute
EAT_BINARY,
// texture reference attribute
EAT_TEXTURE,
// user pointer void*
EAT_USER_POINTER,
// dimension attribute
EAT_DIMENSION2D,
// known attribute type count // known attribute type count
EAT_COUNT, EAT_COUNT,
@ -97,5 +30,3 @@ enum E_ATTRIBUTE_TYPE
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_CULLING_TYPES_H_INCLUDED__ #pragma once
#define __E_CULLING_TYPES_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -35,7 +34,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif // __E_CULLING_TYPES_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_DEBUG_SCENE_TYPES_H_INCLUDED__ #pragma once
#define __E_DEBUG_SCENE_TYPES_H_INCLUDED__
namespace irr namespace irr
{ {
@ -41,7 +40,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif // __E_DEBUG_SCENE_TYPES_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_DEVICE_TYPES_H_INCLUDED__ #pragma once
#define __E_DEVICE_TYPES_H_INCLUDED__
namespace irr namespace irr
{ {
@ -45,6 +44,3 @@ namespace irr
}; };
} // end namespace irr } // end namespace irr
#endif // __E_DEVICE_TYPES_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_DRIVER_FEATURES_H_INCLUDED__ #pragma once
#define __E_DRIVER_FEATURES_H_INCLUDED__
namespace irr namespace irr
{ {
@ -136,7 +135,3 @@ namespace video
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_DRIVER_TYPES_H_INCLUDED__ #pragma once
#define __E_DRIVER_TYPES_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -43,6 +42,3 @@ namespace video
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -1,8 +1,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef E_FOCUS_FLAGS_H_INCLUDED__ #pragma once
#define E_FOCUS_FLAGS_H_INCLUDED__
namespace irr namespace irr
{ {
@ -33,6 +32,3 @@ enum EFOCUS_FLAG
} // namespace gui } // namespace gui
} // namespace irr } // namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_GUI_ALIGNMENT_H_INCLUDED__ #pragma once
#define __E_GUI_ALIGNMENT_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -35,5 +34,3 @@ const c8* const GUIAlignmentNames[] =
} // namespace gui } // namespace gui
} // namespace irr } // namespace irr
#endif // __E_GUI_ALIGNMENT_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_GUI_ELEMENT_TYPES_H_INCLUDED__ #pragma once
#define __E_GUI_ELEMENT_TYPES_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -133,9 +132,3 @@ const c8* const GUIElementTypeNames[] =
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_HARDWARE_BUFFER_FLAGS_INCLUDED__ #pragma once
#define __E_HARDWARE_BUFFER_FLAGS_INCLUDED__
namespace irr namespace irr
{ {
@ -39,6 +38,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_MATERIAL_PROPS_H_INCLUDED__ #pragma once
#define __E_MATERIAL_PROPS_H_INCLUDED__
namespace irr namespace irr
{ {
@ -81,7 +80,3 @@ namespace video
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif // __E_MATERIAL_PROPS_H_INCLUDED__

@ -2,8 +2,9 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_MATERIAL_TYPES_H_INCLUDED__ #pragma once
#define __E_MATERIAL_TYPES_H_INCLUDED__
#include "irrTypes.h"
namespace irr namespace irr
{ {
@ -67,9 +68,8 @@ namespace video
0 0
}; };
constexpr u32 numBuiltInMaterials =
sizeof(sBuiltInMaterialTypeNames) / sizeof(char*) - 1;
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif // __E_MATERIAL_TYPES_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_MESH_WRITER_ENUMS_H_INCLUDED__ #pragma once
#define __E_MESH_WRITER_ENUMS_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -59,7 +58,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif // __E_MESH_WRITER_ENUMS_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_PRIMITIVE_TYPES_H_INCLUDED__ #pragma once
#define __E_PRIMITIVE_TYPES_H_INCLUDED__
namespace irr namespace irr
{ {
@ -42,6 +41,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_READ_FILE_TYPES_H_INCLUDED__ #pragma once
#define __E_READ_FILE_TYPES_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -29,6 +28,3 @@ namespace io
}; };
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __E_SCENE_NODE_TYPES_H_INCLUDED__ #pragma once
#define __E_SCENE_NODE_TYPES_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -50,7 +49,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -1,5 +1,4 @@
#ifndef __E_SHADER_TYPES_H_INCLUDED__ #pragma once
#define __E_SHADER_TYPES_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -85,6 +84,3 @@ const c8* const GEOMETRY_SHADER_TYPE_NAMES[] = {
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif // __E_SHADER_TYPES_H_INCLUDED__

@ -1,5 +1,4 @@
#ifndef __E_VERTEX_ATTRIBUTES_H_INCLUDED__ #pragma once
#define __E_VERTEX_ATTRIBUTES_H_INCLUDED__
namespace irr namespace irr
{ {
@ -34,5 +33,3 @@ const char* const sBuiltInVertexAttributeNames[] =
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif //__E_VERTEX_ATTRIBUTES_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_ANIMATED_MESH_H_INCLUDED__ #pragma once
#define __I_ANIMATED_MESH_H_INCLUDED__
#include "aabbox3d.h" #include "aabbox3d.h"
#include "IMesh.h" #include "IMesh.h"
@ -69,6 +68,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_ANIMATED_MESH_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_ANIMATED_MESH_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h" #include "ISceneNode.h"
#include "IBoneSceneNode.h" #include "IBoneSceneNode.h"
@ -172,6 +171,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,29 +2,13 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_ATTRIBUTES_H_INCLUDED__ #pragma once
#define __I_ATTRIBUTES_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "SColor.h"
#include "vector3d.h"
#include "vector2d.h"
#include "line2d.h"
#include "line3d.h"
#include "triangle3d.h"
#include "position2d.h"
#include "rect.h"
#include "dimension2d.h"
#include "matrix4.h"
#include "quaternion.h"
#include "plane3d.h"
#include "triangle3d.h"
#include "line2d.h"
#include "line3d.h"
#include "irrString.h"
#include "irrArray.h"
#include "EAttributes.h" #include "EAttributes.h"
#include "path.h"
// not needed here but I can't be bothered to clean the transitive includes up.
#include "quaternion.h"
namespace irr namespace irr
{ {
@ -55,16 +39,6 @@ public:
//! \param index: Index value, must be between 0 and getAttributeCount()-1. //! \param index: Index value, must be between 0 and getAttributeCount()-1.
virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index) const = 0; virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index) const = 0;
//! Returns the type string of the attribute
//! \param attributeName: String for the attribute type
//! \param defaultNotFound Value returned when attributeName was not found
virtual const wchar_t* getAttributeTypeString(const c8* attributeName, const wchar_t* defaultNotFound = L"unknown") const = 0;
//! Returns the type string of the attribute by index.
//! \param index: Index value, must be between 0 and getAttributeCount()-1.
//! \param defaultNotFound Value returned for an invalid index
virtual const wchar_t* getAttributeTypeString(s32 index, const wchar_t* defaultNotFound = L"unknown") const = 0;
//! Returns if an attribute with a name exists //! Returns if an attribute with a name exists
virtual bool existsAttribute(const c8* attributeName) const = 0; virtual bool existsAttribute(const c8* attributeName) const = 0;
@ -153,5 +127,3 @@ public:
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_BILLBOARD_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_BILLBOARD_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h" #include "ISceneNode.h"
@ -90,7 +89,3 @@ public:
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_BONE_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_BONE_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h" #include "ISceneNode.h"
@ -99,6 +98,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_CAMERA_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_CAMERA_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h" #include "ISceneNode.h"
#include "IEventReceiver.h" #include "IEventReceiver.h"
@ -184,6 +183,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_CURSOR_CONTROL_H_INCLUDED__ #pragma once
#define __I_CURSOR_CONTROL_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "position2d.h" #include "position2d.h"
@ -197,6 +196,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_DUMMY_TRANSFORMATION_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_DUMMY_TRANSFORMATION_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h" #include "ISceneNode.h"
@ -36,7 +35,3 @@ public:
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_EVENT_RECEIVER_H_INCLUDED__ #pragma once
#define __I_EVENT_RECEIVER_H_INCLUDED__
#include "ILogger.h" #include "ILogger.h"
#include "Keycodes.h" #include "Keycodes.h"
@ -637,6 +636,3 @@ struct SJoystickInfo
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_FILE_ARCHIVE_H_INCLUDED__ #pragma once
#define __I_FILE_ARCHIVE_H_INCLUDED__
#include "IReadFile.h" #include "IReadFile.h"
#include "IFileList.h" #include "IFileList.h"
@ -143,6 +142,3 @@ public:
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_FILE_LIST_H_INCLUDED__ #pragma once
#define __I_FILE_LIST_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "path.h" #include "path.h"
@ -88,7 +87,3 @@ public:
} // end namespace irr } // end namespace irr
} // end namespace io } // end namespace io
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_FILE_SYSTEM_H_INCLUDED__ #pragma once
#define __I_FILE_SYSTEM_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "IFileArchive.h" #include "IFileArchive.h"
@ -268,6 +267,3 @@ public:
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__ #pragma once
#define __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__
#include "EShaderTypes.h" #include "EShaderTypes.h"
#include "EMaterialTypes.h" #include "EMaterialTypes.h"
@ -155,7 +154,7 @@ public:
callback, baseMaterial, userData); callback, baseMaterial, userData);
} }
//! Like IGPUProgrammingServices::addShaderMaterial(), but loads from files. //! Like addHighLevelShaderMaterial(), but loads from files.
/** \param vertexShaderProgramFileName Text file containing the source /** \param vertexShaderProgramFileName Text file containing the source
of the vertex shader program. Set to empty string if no vertex shader of the vertex shader program. Set to empty string if no vertex shader
shall be created. shall be created.
@ -279,7 +278,7 @@ public:
callback, baseMaterial, userData); callback, baseMaterial, userData);
} }
//! Like IGPUProgrammingServices::addShaderMaterial(), but loads from files. //! Like addHighLevelShaderMaterial(), but loads from files.
/** \param vertexShaderProgram Text file handle containing the source /** \param vertexShaderProgram Text file handle containing the source
of the vertex shader program. Set to 0 if no vertex shader shall be of the vertex shader program. Set to 0 if no vertex shader shall be
created. created.
@ -357,99 +356,16 @@ public:
callback, baseMaterial, userData); callback, baseMaterial, userData);
} }
//! Adds a new ASM shader material renderer to the VideoDriver //! Delete a shader material and associated data.
/** Note that it is a good idea to call IVideoDriver::queryFeature() in /**
advance to check if the IVideoDriver supports the vertex and/or pixel After you have deleted a material it is invalid to still use and doing
shader version your are using. so might result in a crash. The ID may be reused in the future when new
materials are added.
The material is added to the VideoDriver like with \param material Number of the material type. Must not be a built-in
IVideoDriver::addMaterialRenderer() and can be used like it had been material. */
added with that method. virtual void deleteShaderMaterial(s32 material) = 0;
\param vertexShaderProgram String containing the source of the vertex
shader program. This can be 0 if no vertex program shall be used.
For DX8 programs, the will always input registers look like this: v0:
position, v1: normal, v2: color, v3: texture coordinates, v4: texture
coordinates 2 if available.
For DX9 programs, you can manually set the registers using the dcl_
statements.
\param pixelShaderProgram String containing the source of the pixel
shader program. This can be 0 if you don't want to use a pixel shader.
\param callback Pointer to an implementation of
IShaderConstantSetCallBack in which you can set the needed vertex and
pixel shader program constants. Set this to 0 if you don't need this.
\param baseMaterial Base material which renderstates will be used to
shade the material.
\param userData a user data int. This int can be set to any value and
will be set as parameter in the callback method when calling
OnSetConstants(). In this way it is easily possible to use the same
callback method for multiple materials and distinguish between them
during the call.
\return Returns the number of the material type which can be set in
SMaterial::MaterialType to use the renderer. -1 is returned if an
error occurred. -1 is returned for example if a vertex or pixel shader
program could not be compiled, the error strings are then printed out
into the error log, and can be caught with a custom event receiver. */
virtual s32 addShaderMaterial(const c8* vertexShaderProgram = 0,
const c8* pixelShaderProgram = 0,
IShaderConstantSetCallBack* callback = 0,
E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID,
s32 userData = 0) = 0;
//! Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.
/** \param vertexShaderProgram Text file containing the source of the
vertex shader program. Set to 0 if no shader shall be created.
\param pixelShaderProgram Text file containing the source of the pixel
shader program. Set to 0 if no shader shall be created.
\param callback Pointer to an IShaderConstantSetCallback object to
which the OnSetConstants function is called.
\param baseMaterial baseMaterial
\param userData a user data int. This int can be set to any value and
will be set as parameter in the callback method when calling
OnSetConstants(). In this way it is easily possible to use the same
callback method for multiple materials and distinguish between them
during the call.
\return Returns the number of the material type which can be set in
SMaterial::MaterialType to use the renderer. -1 is returned if an
error occurred. -1 is returned for example if a vertex or pixel shader
program could not be compiled, the error strings are then printed out
into the error log, and can be caught with a custom event receiver. */
virtual s32 addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram,
io::IReadFile* pixelShaderProgram,
IShaderConstantSetCallBack* callback = 0,
E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID,
s32 userData = 0) = 0;
//! Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.
/** \param vertexShaderProgramFileName Text file name containing the
source of the vertex shader program. Set to 0 if no shader shall be
created.
\param pixelShaderProgramFileName Text file name containing the source
of the pixel shader program. Set to 0 if no shader shall be created.
\param callback Pointer to an IShaderConstantSetCallback object on
which the OnSetConstants function is called.
\param baseMaterial baseMaterial
\param userData a user data int. This int can be set to any value and
will be set as parameter in the callback method when calling
OnSetConstants(). In this way it is easily possible to use the same
callback method for multiple materials and distinguish between them
during the call.
\return Returns the number of the material type which can be set in
SMaterial::MaterialType to use the renderer. -1 is returned if an
error occurred. -1 is returned for example if a vertex or pixel shader
program could not be compiled, the error strings are then printed out
into the error log, and can be caught with a custom event receiver. */
virtual s32 addShaderMaterialFromFiles(const io::path& vertexShaderProgramFileName,
const io::path& pixelShaderProgramFileName,
IShaderConstantSetCallBack* callback = 0,
E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID,
s32 userData = 0) = 0;
}; };
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_BUTTON_H_INCLUDED__ #pragma once
#define __I_GUI_BUTTON_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
@ -263,6 +262,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_CHECKBOX_H_INCLUDED__ #pragma once
#define __I_GUI_CHECKBOX_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
@ -48,6 +47,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_COMBO_BOX_H_INCLUDED__ #pragma once
#define __I_GUI_COMBO_BOX_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
@ -73,6 +72,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_EDIT_BOX_H_INCLUDED__ #pragma once
#define __I_GUI_EDIT_BOX_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
#include "SColor.h" #include "SColor.h"
@ -152,6 +151,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_ELEMENT_H_INCLUDED__ #pragma once
#define __I_GUI_ELEMENT_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "rect.h" #include "rect.h"
@ -1031,6 +1030,3 @@ protected:
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_ENVIRONMENT_H_INCLUDED__ #pragma once
#define __I_GUI_ENVIRONMENT_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "IGUISkin.h" #include "IGUISkin.h"
@ -416,6 +415,3 @@ public:
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_FILE_OPEN_DIALOG_H_INCLUDED__ #pragma once
#define __I_GUI_FILE_OPEN_DIALOG_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
#include "path.h" #include "path.h"
@ -45,6 +44,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_FONT_H_INCLUDED__ #pragma once
#define __I_GUI_FONT_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "SColor.h" #include "SColor.h"
@ -99,6 +98,3 @@ public:
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_FONT_BITMAP_H_INCLUDED__ #pragma once
#define __I_GUI_FONT_BITMAP_H_INCLUDED__
#include "IGUIFont.h" #include "IGUIFont.h"
@ -41,6 +40,3 @@ public:
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_IMAGE_H_INCLUDED__ #pragma once
#define __I_GUI_IMAGE_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
@ -83,5 +82,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -1,8 +1,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// written by Reinhard Ostermeier, reinhard@nospam.r-ostermeier.de // written by Reinhard Ostermeier, reinhard@nospam.r-ostermeier.de
#ifndef __I_GUI_IMAGE_LIST_H_INCLUDED__ #pragma once
#define __I_GUI_IMAGE_LIST_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
#include "rect.h" #include "rect.h"
@ -40,6 +39,3 @@ public:
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_LIST_BOX_H_INCLUDED__ #pragma once
#define __I_GUI_LIST_BOX_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
#include "SColor.h" #include "SColor.h"
@ -137,6 +136,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_SCROLL_BAR_H_INCLUDED__ #pragma once
#define __I_GUI_SCROLL_BAR_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
@ -60,6 +59,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_SKIN_H_INCLUDED__ #pragma once
#define __I_GUI_SKIN_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "EGUIAlignment.h" #include "EGUIAlignment.h"
@ -575,6 +574,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_SPRITE_BANK_H_INCLUDED__ #pragma once
#define __I_GUI_SPRITE_BANK_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "irrArray.h" #include "irrArray.h"
@ -137,6 +136,3 @@ public:
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif // __I_GUI_SPRITE_BANK_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_STATIC_TEXT_H_INCLUDED__ #pragma once
#define __I_GUI_STATIC_TEXT_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
#include "SColor.h" #include "SColor.h"
@ -134,6 +133,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_TAB_CONTROL_H_INCLUDED__ #pragma once
#define __I_GUI_TAB_CONTROL_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
#include "SColor.h" #include "SColor.h"
@ -150,6 +149,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_GUI_TOOL_BAR_H_INCLUDED__ #pragma once
#define __I_GUI_TOOL_BAR_H_INCLUDED__
#include "IGUIElement.h" #include "IGUIElement.h"
@ -35,6 +34,3 @@ namespace gui
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr
#endif

@ -2,14 +2,13 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_IMAGE_H_INCLUDED__ #pragma once
#define __I_IMAGE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "position2d.h" #include "position2d.h"
#include "rect.h" #include "rect.h"
#include "SColor.h" #include "SColor.h"
#include <string.h> #include <cstring>
namespace irr namespace irr
{ {
@ -465,6 +464,3 @@ protected:
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SURFACE_LOADER_H_INCLUDED__ #pragma once
#define __I_SURFACE_LOADER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "IImage.h" #include "IImage.h"
@ -50,6 +49,3 @@ public:
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef _I_IMAGE_WRITER_H_INCLUDED__ #pragma once
#define _I_IMAGE_WRITER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "irrString.h" #include "irrString.h"
@ -40,6 +39,3 @@ public:
} // namespace video } // namespace video
} // namespace irr } // namespace irr
#endif // _I_IMAGE_WRITER_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_INDEX_BUFFER_H_INCLUDED__ #pragma once
#define __I_INDEX_BUFFER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "irrArray.h" #include "irrArray.h"
@ -60,6 +59,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_LOGGER_H_INCLUDED__ #pragma once
#define __I_LOGGER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
@ -73,30 +72,6 @@ public:
filtered with these levels. If you want to be a text displayed, filtered with these levels. If you want to be a text displayed,
independent on what level filter is set, use ELL_NONE. */ independent on what level filter is set, use ELL_NONE. */
virtual void log(const c8* text, const c8* hint, ELOG_LEVEL ll=ELL_INFORMATION) = 0; virtual void log(const c8* text, const c8* hint, ELOG_LEVEL ll=ELL_INFORMATION) = 0;
virtual void log(const c8* text, const wchar_t* hint, ELOG_LEVEL ll=ELL_INFORMATION) = 0;
//! Prints out a text into the log
/** \param text: Text to print out.
\param hint: Additional info. This string is added after a " :" to the
string.
\param ll: Log level of the text. If the text is an error, set
it to ELL_ERROR, if it is warning set it to ELL_WARNING, and if it
is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed,
independent on what level filter is set, use ELL_NONE. */
virtual void log(const wchar_t* text, const wchar_t* hint, ELOG_LEVEL ll=ELL_INFORMATION) = 0;
//! Prints out a text into the log
/** \param text: Text to print out.
\param ll: Log level of the text. If the text is an error, set
it to ELL_ERROR, if it is warning set it to ELL_WARNING, and if it
is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed,
independent on what level filter is set, use ELL_NONE. */
virtual void log(const wchar_t* text, ELOG_LEVEL ll=ELL_INFORMATION) = 0;
}; };
} // end namespace } // end namespace
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MATERIAL_RENDERER_H_INCLUDED__ #pragma once
#define __I_MATERIAL_RENDERER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "SMaterial.h" #include "SMaterial.h"
@ -102,6 +101,3 @@ public:
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__ #pragma once
#define __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
#include "SMaterial.h" #include "SMaterial.h"
#include "S3DVertex.h" #include "S3DVertex.h"
@ -53,19 +52,8 @@ public:
virtual bool setVertexShaderConstant(s32 index, const s32* ints, int count) = 0; virtual bool setVertexShaderConstant(s32 index, const s32* ints, int count) = 0;
//! Uint interface for the above. //! Uint interface for the above.
/* NOTE: UINT only works with GLSL, not supported for other shaders.
Also GLES drivers in Irrlicht do not support it as this needs at least GLES 3.0.
*/
virtual bool setVertexShaderConstant(s32 index, const u32* ints, int count) = 0; virtual bool setVertexShaderConstant(s32 index, const u32* ints, int count) = 0;
//! Sets a vertex shader constant.
/** Can be used if you created a shader using pixel/vertex shader
assembler or ARB_fragment_program or ARB_vertex_program.
\param data: Data to be set in the constants
\param startRegister: First register to be set
\param constantAmount: Amount of registers to be set. One register consists of 4 floats. */
virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
//! Return an index constant for the pixel shader for the given uniform variable name //! Return an index constant for the pixel shader for the given uniform variable name
virtual s32 getPixelShaderConstantID(const c8* name) = 0; virtual s32 getPixelShaderConstantID(const c8* name) = 0;
@ -83,19 +71,8 @@ public:
virtual bool setPixelShaderConstant(s32 index, const s32* ints, int count) = 0; virtual bool setPixelShaderConstant(s32 index, const s32* ints, int count) = 0;
//! Uint interface for the above. //! Uint interface for the above.
/* NOTE: UINT only works with GLSL, not supported for other shaders.
Also GLES drivers in Irrlicht do not support it as this needs at least GLES 3.0.
*/
virtual bool setPixelShaderConstant(s32 index, const u32* ints, int count) = 0; virtual bool setPixelShaderConstant(s32 index, const u32* ints, int count) = 0;
//! Sets a pixel shader constant.
/** Can be used if you created a shader using pixel/vertex shader
assembler or ARB_fragment_program or ARB_vertex_program.
\param data Data to be set in the constants
\param startRegister First register to be set.
\param constantAmount Amount of registers to be set. One register consists of 4 floats. */
virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
//! Get pointer to the IVideoDriver interface //! Get pointer to the IVideoDriver interface
/** \return Pointer to the IVideoDriver interface */ /** \return Pointer to the IVideoDriver interface */
virtual IVideoDriver* getVideoDriver() = 0; virtual IVideoDriver* getVideoDriver() = 0;
@ -103,6 +80,3 @@ public:
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MEMORY_READ_FILE_H_INCLUDED__ #pragma once
#define __I_MEMORY_READ_FILE_H_INCLUDED__
#include "IReadFile.h" #include "IReadFile.h"
@ -26,6 +25,3 @@ namespace io
}; };
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MESH_H_INCLUDED__ #pragma once
#define __I_MESH_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "SMaterial.h" #include "SMaterial.h"
@ -124,6 +123,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MESH_BUFFER_H_INCLUDED__ #pragma once
#define __I_MESH_BUFFER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "SMaterial.h" #include "SMaterial.h"
@ -120,11 +119,6 @@ namespace scene
\param numIndices Number of indices in array. */ \param numIndices Number of indices in array. */
virtual void append(const void* const vertices, u32 numVertices, const u16* const indices, u32 numIndices) = 0; virtual void append(const void* const vertices, u32 numVertices, const u16* const indices, u32 numIndices) = 0;
//! Append the meshbuffer to the current buffer
/** Only works for compatible vertex types
\param other Buffer to append to this one. */
virtual void append(const IMeshBuffer* const other) = 0;
//! get the current hardware mapping hint //! get the current hardware mapping hint
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const = 0; virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const = 0;
@ -181,5 +175,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MESH_CACHE_H_INCLUDED__ #pragma once
#define __I_MESH_CACHE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "path.h" #include "path.h"
@ -132,6 +131,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MESH_LOADER_H_INCLUDED__ #pragma once
#define __I_MESH_LOADER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "path.h" #include "path.h"
@ -51,5 +50,3 @@ public:
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MESH_MANIPULATOR_H_INCLUDED__ #pragma once
#define __I_MESH_MANIPULATOR_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "vector3d.h" #include "vector3d.h"
@ -182,6 +181,3 @@ protected:
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MESH_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_MESH_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h" #include "ISceneNode.h"
@ -51,7 +50,3 @@ public:
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_OS_OPERATOR_H_INCLUDED__ #pragma once
#define __I_OS_OPERATOR_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "irrString.h" #include "irrString.h"
@ -45,5 +44,3 @@ public:
}; };
} // end namespace } // end namespace
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_READ_FILE_H_INCLUDED__ #pragma once
#define __I_READ_FILE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "coreutil.h" #include "coreutil.h"
@ -56,6 +55,3 @@ namespace io
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_IREFERENCE_COUNTED_H_INCLUDED__ #pragma once
#define __I_IREFERENCE_COUNTED_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -165,6 +164,3 @@ namespace irr
}; };
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_RENDER_TARGET_H_INCLUDED__ #pragma once
#define __I_RENDER_TARGET_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "EDriverTypes.h" #include "EDriverTypes.h"
@ -125,5 +124,3 @@ namespace video
} }
} }
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SCENE_COLLISION_MANAGER_H_INCLUDED__ #pragma once
#define __I_SCENE_COLLISION_MANAGER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "position2d.h" #include "position2d.h"
@ -34,5 +33,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SCENE_MANAGER_H_INCLUDED__ #pragma once
#define __I_SCENE_MANAGER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "irrArray.h" #include "irrArray.h"
@ -640,6 +639,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SCENE_NODE_H_INCLUDED__ #pragma once
#define __I_SCENE_NODE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "ESceneNodeTypes.h" #include "ESceneNodeTypes.h"
@ -14,6 +13,7 @@
#include "aabbox3d.h" #include "aabbox3d.h"
#include "matrix4.h" #include "matrix4.h"
#include "IAttributes.h" #include "IAttributes.h"
#include <list> #include <list>
#include <optional> #include <optional>
@ -117,23 +117,14 @@ namespace scene
//! Returns the name of the node. //! Returns the name of the node.
/** \return Name as character string. */ /** \return Name as character string. */
virtual const c8* getName() const virtual const std::optional<std::string> &getName() const
{ {
return Name.c_str(); return Name;
} }
//! Sets the name of the node. //! Sets the name of the node.
/** \param name New name of the scene node. */ /** \param name New name of the scene node. */
virtual void setName(const c8* name) virtual void setName(const std::optional<std::string> &name)
{
Name = name;
}
//! Sets the name of the node.
/** \param name New name of the scene node. */
virtual void setName(const core::stringc& name)
{ {
Name = name; Name = name;
} }
@ -601,7 +592,7 @@ namespace scene
} }
//! Name of the scene node. //! Name of the scene node.
core::stringc Name; std::optional<std::string> Name;
//! Absolute transformation of the node. //! Absolute transformation of the node.
core::matrix4 AbsoluteTransformation; core::matrix4 AbsoluteTransformation;
@ -646,6 +637,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SHADER_CONSTANT_SET_CALLBACT_H_INCLUDED__ #pragma once
#define __I_SHADER_CONSTANT_SET_CALLBACT_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
@ -80,6 +79,3 @@ public:
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,14 +2,15 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SKINNED_MESH_H_INCLUDED__ #pragma once
#define __I_SKINNED_MESH_H_INCLUDED__
#include "irrArray.h" #include "irrArray.h"
#include "IBoneSceneNode.h" #include "IBoneSceneNode.h"
#include "IAnimatedMesh.h" #include "IAnimatedMesh.h"
#include "SSkinMeshBuffer.h" #include "SSkinMeshBuffer.h"
#include <optional>
namespace irr namespace irr
{ {
namespace scene namespace scene
@ -41,12 +42,12 @@ namespace scene
/** \param number: Zero based index of joint. The last joint /** \param number: Zero based index of joint. The last joint
has the number getJointCount()-1; has the number getJointCount()-1;
\return Name of joint and null if an error happened. */ \return Name of joint and null if an error happened. */
virtual const c8* getJointName(u32 number) const = 0; virtual const std::optional<std::string> &getJointName(u32 number) const = 0;
//! Gets a joint number from its name //! Gets a joint number from its name
/** \param name: Name of the joint. /** \param name: Name of the joint.
\return Number of the joint or -1 if not found. */ \return Number of the joint or std::nullopt if not found. */
virtual s32 getJointNumber(const c8* name) const = 0; virtual std::optional<u32> getJointNumber(const std::string &name) const = 0;
//! Use animation from another mesh //! Use animation from another mesh
/** The animation is linked (not copied) based on joint names /** The animation is linked (not copied) based on joint names
@ -136,7 +137,7 @@ namespace scene
} }
//! The name of this joint //! The name of this joint
core::stringc Name; std::optional<std::string> Name;
//! Local matrix of this joint //! Local matrix of this joint
core::matrix4 LocalMatrix; core::matrix4 LocalMatrix;
@ -220,6 +221,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_TEXTURE_H_INCLUDED__ #pragma once
#define __I_TEXTURE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "IImage.h" #include "IImage.h"
@ -340,6 +339,3 @@ protected:
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_TIMER_H_INCLUDED__ #pragma once
#define __I_TIMER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
@ -64,5 +63,3 @@ public:
}; };
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_VERTEX_BUFFER_H_INCLUDED__ #pragma once
#define __I_VERTEX_BUFFER_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "irrArray.h" #include "irrArray.h"
@ -48,6 +47,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -869,7 +869,7 @@ namespace video
//! Gets name of this video driver. //! Gets name of this video driver.
/** \return Returns the name of the video driver, e.g. in case /** \return Returns the name of the video driver, e.g. in case
of the Direct3D8 driver, it would return "Direct3D 8.1". */ of the Direct3D8 driver, it would return "Direct3D 8.1". */
virtual const wchar_t* getName() const =0; virtual const char* getName() const =0;
//! Adds an external image loader to the engine. //! Adds an external image loader to the engine.
/** This is useful if the Irrlicht Engine should be able to load /** This is useful if the Irrlicht Engine should be able to load

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_WRITE_FILE_H_INCLUDED__ #pragma once
#define __I_WRITE_FILE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "path.h" #include "path.h"
@ -46,6 +45,3 @@ namespace io
} // end namespace io } // end namespace io
} // end namespace irr } // end namespace irr
#endif

@ -5,8 +5,8 @@
#pragma once #pragma once
//! Identifies the IrrlichtMt fork customized for the Minetest engine //! Identifies the IrrlichtMt fork customized for the Minetest engine
#define IRRLICHT_VERSION_MT_REVISION 14 #define IRRLICHT_VERSION_MT_REVISION 15
#define IRRLICHT_VERSION_MT "mt14" #define IRRLICHT_VERSION_MT "mt15"
//! Irrlicht SDK Version //! Irrlicht SDK Version
#define IRRLICHT_VERSION_MAJOR 1 #define IRRLICHT_VERSION_MAJOR 1
@ -17,8 +17,6 @@
#define IRRLICHT_VERSION_SVN alpha #define IRRLICHT_VERSION_SVN alpha
#define IRRLICHT_SDK_VERSION "1.9.0" IRRLICHT_VERSION_MT #define IRRLICHT_SDK_VERSION "1.9.0" IRRLICHT_VERSION_MT
#include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw
#ifdef _WIN32 #ifdef _WIN32
#define IRRCALLCONV __stdcall #define IRRCALLCONV __stdcall
#else #else

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_IRRLICHT_DEVICE_H_INCLUDED__ #pragma once
#define __I_IRRLICHT_DEVICE_H_INCLUDED__
#include "IReferenceCounted.h" #include "IReferenceCounted.h"
#include "dimension2d.h" #include "dimension2d.h"
@ -337,6 +336,3 @@ namespace irr
}; };
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_3D_VERTEX_H_INCLUDED__ #pragma once
#define __S_3D_VERTEX_H_INCLUDED__
#include "vector3d.h" #include "vector3d.h"
#include "vector2d.h" #include "vector2d.h"
@ -279,6 +278,3 @@ inline u32 getVertexPitchFromType(E_VERTEX_TYPE vertexType)
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_ANIMATED_MESH_H_INCLUDED__ #pragma once
#define __S_ANIMATED_MESH_H_INCLUDED__
#include "IAnimatedMesh.h" #include "IAnimatedMesh.h"
#include "IMesh.h" #include "IMesh.h"
@ -177,6 +176,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __COLOR_H_INCLUDED__ #pragma once
#define __COLOR_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
#include "irrMath.h" #include "irrMath.h"
@ -750,5 +749,3 @@ namespace video
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_EXPOSED_VIDEO_DATA_H_INCLUDED__ #pragma once
#define __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
namespace irr namespace irr
{ {
@ -78,7 +77,3 @@ struct SExposedVideoData
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_IRRLICHT_CREATION_PARAMETERS_H_INCLUDED__ #pragma once
#define __I_IRRLICHT_CREATION_PARAMETERS_H_INCLUDED__
#include "EDriverTypes.h" #include "EDriverTypes.h"
#include "EDeviceTypes.h" #include "EDeviceTypes.h"
@ -291,6 +290,3 @@ namespace irr
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_MATERIAL_H_INCLUDED__ #pragma once
#define __S_MATERIAL_H_INCLUDED__
#include "SColor.h" #include "SColor.h"
#include "matrix4.h" #include "matrix4.h"
@ -193,16 +192,9 @@ namespace video
EAAM_SIMPLE=1, EAAM_SIMPLE=1,
//! High-quality anti-aliasing, not always supported, automatically enables SIMPLE mode //! High-quality anti-aliasing, not always supported, automatically enables SIMPLE mode
EAAM_QUALITY=3, EAAM_QUALITY=3,
//! Line smoothing
//! Careful, enabling this can lead to software emulation under OpenGL
EAAM_LINE_SMOOTH=4,
//! point smoothing, often in software and slow, only with OpenGL
EAAM_POINT_SMOOTH=8,
//! All typical anti-alias and smooth modes
EAAM_FULL_BASIC=15,
//! Enhanced anti-aliasing for transparent materials //! Enhanced anti-aliasing for transparent materials
/** Usually used with EMT_TRANSPARENT_ALPHA_CHANNEL_REF and multisampling. */ /** Usually used with EMT_TRANSPARENT_ALPHA_CHANNEL_REF and multisampling. */
EAAM_ALPHA_TO_COVERAGE=16 EAAM_ALPHA_TO_COVERAGE=4
}; };
//! These flags allow to define the interpretation of vertex color when lighting is enabled //! These flags allow to define the interpretation of vertex color when lighting is enabled
@ -578,5 +570,3 @@ namespace video
IRRLICHT_API extern SMaterial IdentityMaterial; IRRLICHT_API extern SMaterial IdentityMaterial;
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_MATERIAL_LAYER_H_INCLUDED__ #pragma once
#define __S_MATERIAL_LAYER_H_INCLUDED__
#include "matrix4.h" #include "matrix4.h"
@ -243,5 +242,3 @@ namespace video
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif // __S_MATERIAL_LAYER_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_MESH_H_INCLUDED__ #pragma once
#define __S_MESH_H_INCLUDED__
#include "IMesh.h" #include "IMesh.h"
#include "IMeshBuffer.h" #include "IMeshBuffer.h"
@ -141,6 +140,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_OVERRIDE_MATERIAL_H_INCLUDED__ #pragma once
#define __S_OVERRIDE_MATERIAL_H_INCLUDED__
#include "SMaterial.h" #include "SMaterial.h"
@ -175,6 +174,3 @@ namespace video
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif // __S_OVERRIDE_MATERIAL_H_INCLUDED__

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SKIN_MESH_BUFFER_H_INCLUDED__ #pragma once
#define __I_SKIN_MESH_BUFFER_H_INCLUDED__
#include "IMeshBuffer.h" #include "IMeshBuffer.h"
#include "S3DVertex.h" #include "S3DVertex.h"
@ -330,9 +329,6 @@ struct SSkinMeshBuffer : public IMeshBuffer
//! append the vertices and indices to the current buffer //! append the vertices and indices to the current buffer
void append(const void* const vertices, u32 numVertices, const u16* const indices, u32 numIndices) override {} void append(const void* const vertices, u32 numVertices, const u16* const indices, u32 numIndices) override {}
//! append the meshbuffer to the current buffer
void append(const IMeshBuffer* const other) override {}
//! get the current hardware mapping hint for vertex buffers //! get the current hardware mapping hint for vertex buffers
E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const override E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const override
{ {
@ -427,6 +423,3 @@ struct SSkinMeshBuffer : public IMeshBuffer
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_VERTEX_INDEX_H_INCLUDED__ #pragma once
#define __S_VERTEX_INDEX_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -21,6 +20,3 @@ enum E_INDEX_TYPE
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_VERTEX_MANIPULATOR_H_INCLUDED__ #pragma once
#define __S_VERTEX_MANIPULATOR_H_INCLUDED__
#include "matrix4.h" #include "matrix4.h"
#include "S3DVertex.h" #include "S3DVertex.h"
@ -41,6 +40,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __S_VIEW_FRUSTUM_H_INCLUDED__ #pragma once
#define __S_VIEW_FRUSTUM_H_INCLUDED__
#include "plane3d.h" #include "plane3d.h"
#include "vector3d.h" #include "vector3d.h"
@ -457,6 +456,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SCENE_PARAMETERS_H_INCLUDED__ #pragma once
#define __I_SCENE_PARAMETERS_H_INCLUDED__
#include "irrTypes.h" #include "irrTypes.h"
@ -50,6 +49,3 @@ namespace scene
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __EXAMPLE_HELPER_H_INCLUDED__ #pragma once
#define __EXAMPLE_HELPER_H_INCLUDED__
#include "path.h" #include "path.h"
@ -20,5 +19,3 @@ static io::path getExampleMediaPath()
} }
} // end namespace irr } // end namespace irr
#endif

@ -2,8 +2,7 @@
// This file is part of the "Irrlicht Engine" and the "irrXML" project. // This file is part of the "Irrlicht Engine" and the "irrXML" project.
// For conditions of distribution and use, see copyright notice in irrlicht.h and irrXML.h // For conditions of distribution and use, see copyright notice in irrlicht.h and irrXML.h
#ifndef __FAST_ATOF_H_INCLUDED__ #pragma once
#define __FAST_ATOF_H_INCLUDED__
#include "irrMath.h" #include "irrMath.h"
#include "irrString.h" #include "irrString.h"
@ -365,6 +364,3 @@ inline float fast_atof(const char* floatAsString, const char** out=0)
} // end namespace core } // end namespace core
} // end namespace irr } // end namespace irr
#endif

Some files were not shown because too many files have changed in this diff Show More