aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/doc/upgrade-guide.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/doc/upgrade-guide.txt')
-rw-r--r--src/others/irrlicht-1.8.1/doc/upgrade-guide.txt2891
1 files changed, 2891 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/doc/upgrade-guide.txt b/src/others/irrlicht-1.8.1/doc/upgrade-guide.txt
new file mode 100644
index 0000000..ee638b9
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/doc/upgrade-guide.txt
@@ -0,0 +1,2891 @@
1This file contains API changes between consecutive versions. You can get the
2relevant information about all changes to the public Irrlicht API needed for
3upgrading your code (esp. custom scene nodes and GUI elements) to a new Irrlicht
4version. Since all changes are incremental you should skip forward to the
5version you use right now and check each note until you reach the desired
6version.
7Please note that the changes described here do not contain functional changes,
8but only syntactical ones. Also, new methods are not documented here and
9have to be looked up in the API documentation instead.
10
11Basically, all changes have to be reflected in user code where used. Removed
12and renamed methods are obviously not existant anymore. A hint is usually given
13for such changes on how to remedy the situation.
14Changed signatures of methods might go unnoticed. That need not be a bad thing,
15e.g. for changes from s32 to u32 the parameters are usually automatically
16converted by the compiler. However, one should be careful when writing custom
17scene nodes or GUI elements. It might happen that the methods are not properly
18chosen as candidates for virtual overloading. So always check that methods in
19the user code have the proper signatures just as the interface versions. The
20change hint will help to identify necessary changes.
21
22Changes for Version 1.2
23-----------------------
24Removed compile flag (always used where available)
25_IRR_LINUX_OPENGL_USE_EXTENSIONS_
26
27IAnimatedMeshB3d:
28Removed (no replacement available)
29 virtual void AddMatrixToJoint(s32 jointNumber, core::matrix4* matrix) = 0;
30
31IGUIElement.h
32Changed signatures (made const)
33 IGUIElement* getParent() const
34 core::rect<s32> getRelativePosition() const
35
36IGUITabControl.h
37Changed signatures (const param)
38 virtual IGUITab* addTab(const wchar_t* caption, s32 id=-1) = 0;
39
40IImage.h
41Changed signatures (made const)
42 virtual ECOLOR_FORMAT getColorFormat() const = 0;
43
44IParticleAffector.h
45Changed inheritance (from irr:IUnknown)
46 class IParticleAffector : public virtual io::IAttributeExchangingObject
47
48IParticleEmitter.h
49Changed inheritance (from irr:IUnknown)
50 class IParticleEmitter : public virtual io::IAttributeExchangingObject
51
52IParticleSystemSceneNode.h
53Changed signatures (const param)
54 virtual IParticleEmitter* createPointEmitter(
55 const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
56 u32 minParticlesPerSecond = 5,
57 u32 maxParticlesPerSecond = 10,
58 video::SColor minStartColor = video::SColor(255,0,0,0),
59 virtual IParticleEmitter* createBoxEmitter(
60 const core::aabbox3df& box = core::aabbox3df(-10,28,-10,10,30,10),
61 const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
62 u32 minParticlesPerSecond = 5,
63 u32 maxParticlesPerSecond = 10,
64 video::SColor minStartColor = video::SColor(255,0,0,0),
65
66 virtual IParticleAffector* createGravityAffector(
67 const core::vector3df& gravity = core::vector3df(0.0f,-0.03f,0.0f),
68 u32 timeForceLost = 1000) = 0;
69
70ISceneManager.h
71Changed signatures (additional param)
72 virtual ISceneNodeAnimator* createFlyCircleAnimator(const core::vector3df& center,
73 f32 radius, f32 speed=0.001f, const core::vector3df& direction= core::vector3df ( 0.f, 1.f, 0.f ) ) = 0;
74
75ITexture.h
76Changed signatures (made const)
77 virtual ECOLOR_FORMAT getColorFormat() const = 0;
78
79IVideoDriver.h
80Changed signatures (changed default param, use ECF_A1R5G5B5 explicitly for old behavior)
81 virtual ITexture* addTexture(const core::dimension2d<s32>& size,
82 const c8* name, ECOLOR_FORMAT format = ECF_A8R8G8B8) = 0;
83Changed signatures (made const)
84 virtual ITexture* createRenderTargetTexture(const core::dimension2d<s32>& size) = 0;
85
86matrix4.h
87Changed signatures (swapped parameter, it was (col, row) before although the names did not represent this)
88 f32& operator()(s32 row, s32 col);
89 const f32& operator()(s32 row, s32 col) const;
90
91S3DVertex.h
92Changed signatures (unconst param)
93 S3DVertex(f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv);
94 S3DVertex(const core::vector3df& pos, const core::vector3df& normal,
95 SColor color, const core::vector2d<f32>& tcoords);
96 S3DVertex2TCoords(f32 x, f32 y, f32 z, SColor c, f32 tu, f32 tv, f32 tu2, f32 tv2);
97 S3DVertex2TCoords(const core::vector3df& pos, SColor color,
98 const core::vector2d<f32>& tcoords, const core::vector2d<f32>& tcoords2);
99 S3DVertex2TCoords(f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv);
100 S3DVertex2TCoords(const core::vector3df& pos, const core::vector3df& normal,
101 SColor color, const core::vector2d<f32>& tcoords);
102 S3DVertexTangents(const core::vector3df& pos,
103 const core::vector2df& tcoords, SColor c);
104
105SColor.h
106Changed signatures (changed param types from signed to unsigned)
107 inline u16 RGBA16(u32 r, u32 g, u32 b, u32 a);
108 inline u16 RGB16(u32 r, u32 g, u32 b);
109 inline u16 X8R8G8B8toA1R5G5B5(u32 color);
110 inline u32 A1R5G5B5toA8R8G8B8(u32 color);
111 inline u32 R5G6B5toA8R8G8B8(u16 color);
112 inline u16 R5G6B5toA1R5G5B5(u16 color);
113 inline u16 A1R5G5B5toR5G6B5(u16 color);
114 inline u32 getAlpha(u16 color);
115 inline u32 getRed(u16 color);
116 inline u32 getGreen(u16 color);
117 inline u32 getBlue(u16 color);
118 inline u32 getLuminance(u16 color);
119 inline SColor (u32 a, u32 r, u32 g, u32 b);
120 inline SColor(u32 clr);
121 inline u32 getAlpha() const
122 inline u32 getRed() const
123 inline u32 getGreen() const
124 inline u32 getBlue() const
125 inline void setAlpha(u32 a);
126 inline void setRed(u32 r);
127 inline void setGreen(u32 g);
128 inline void setBlue(u32 b);
129 inline u16 toA1R5G5B5() const
130 inline void toOpenGLColor(u8* dest) const
131 inline void set(u32 a, u32 r, u32 g, u32 b);
132 inline void set(u32 col);
133Changed signatures (const param)
134 inline SColor getInterpolated(const SColor &other, f32 d) const
135Changed public member (type changed)
136 u32 color;
137
138
139Changes for Version 1.3
140-----------------------
141Globally renamed Frustrum to Frustum in all signatures and code parts
142
143IAnimatedMeshB3d.h
144Renamed methods (small first letter)
145 virtual void setInterpolationMode(s32 mode) = 0;
146 virtual void setAnimateMode(s32 mode) = 0;
147
148IAnimatedMeshSceneNode.h
149changed signature (changed types)
150 virtual void setAnimationSpeed(f32 framesPerSecond) = 0;
151
152ICameraSceneNode.h
153Renamed methods and changed signature (changed types, frustum renaming)
154 virtual const SViewFrustum* getViewFrustum() const = 0;
155
156IFileSystem.h
157Renamed method (from addUnZipFileArchive)
158 virtual bool addFolderFileArchive(const c8* filename, bool ignoreCase = true, bool ignorePaths = true) = 0;
159
160IGUIContextMenu.h
161Changed signature (added param)
162 virtual s32 addItem(const wchar_t* text, s32 commandId=-1, bool enabled=true,
163 bool hasSubMenu=false, bool checked=false) = 0;
164
165IGUIElement.h
166Changed inheritance
167 class IGUIElement : public virtual io::IAttributeExchangingObject, public IEventReceiver
168Changed signature (made const)
169 core::rect<s32> getAbsolutePosition() const
170
171IGUIEnvironment.h
172Changed signature (added param)
173 virtual IGUIButton* addButton(const core::rect<s32>& rectangle,
174 IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0, const wchar_t* tooltiptext = 0) = 0;
175
176IGUIListBox.h
177Removed method (Using sprite bank now)
178 virtual void setIconFont(IGUIFont* font) = 0;
179Change signature (changed types, due to sprite bank)
180 virtual s32 addItem(const wchar_t* text, s32 icon) = 0;
181
182IGUISkin.h
183Changed inheritance
184 class IGUISkin : public virtual io::IAttributeExchangingObject
185
186IGUIToolbar.h
187Changed signature (Added param for tooltips)
188 virtual IGUIButton* addButton(s32 id=-1, const wchar_t* text=0, const wchar_t* tooltiptext=0,
189 video::ITexture* img=0, video::ITexture* pressedimg=0,
190 bool isPushButton=false, bool useAlphaChannel=false) = 0;
191
192IImage.h
193Changed signature (made const)
194 virtual u32 getPitch() const = 0;
195
196IImageWriter.h
197Changed signature (additional param)
198 virtual bool writeImage(io::IWriteFile *file, IImage *image, u32 param = 0) = 0;
199
200IMeshBuffer.h
201Changed signature (changed return type)
202 virtual u32 getVertexCount() const = 0;
203 virtual u32 getIndexCount() const = 0;
204Removed method (use setBoundingBox instead)
205 virtual core::aabbox3df& getBoundingBox() = 0;
206
207IMesh.h
208Changed signature (changed types, made const)
209 virtual u32 getMeshBufferCount() const = 0;
210 virtual IMeshBuffer* getMeshBuffer(u32 nr) const = 0;
211Removed method (use setBoundingBox instead)
212 virtual core::aabbox3d<f32>& getBoundingBox() = 0;
213
214IReadFile.h
215Changed signature (changed types)
216 virtual s32 read(void* buffer, u32 sizeToRead) = 0;
217
218irrArray.h
219Changed signature (made const)
220 s32 binary_search(const T& element, s32 left, s32 right) const
221
222irrMath.h
223Constant changed
224 const f32 PI = 3.14159265359f;
225Constants removed (use RADTODEG64 or DEGTORAD64 instead)
226 const f64 GRAD_PI = 180.0 / PI64;
227 const f64 GRAD_PI2 = PI64 / 180.0;
228Changed signature (added tolerance parameter)
229 inline bool equals(const f32 a, const f32 b, const f32 tolerance = ROUNDING_ERROR_32)
230
231irrString.h
232Changed signature (const param)
233 template <class B> string(const B* const c, u32 length);
234 template <class B> string(const B* const c);
235 template <class B> string<T>& operator=(const B* const c);
236 template <class B> string<T> operator+(const B* const c) const
237 bool operator ==(const T* const str) const
238 bool operator !=(const T* const str) const
239 bool equalsn(const T* const str, int len) const
240 void append(const T* const other);
241 s32 findFirstChar(const T* const c, u32 count) const
242 template <class B> s32 findFirstCharNotInList(const B* const c, u32 count) const
243 template <class B> s32 findLastCharNotInList(const B* const c, u32 count) const
244 template <class B> s32 find(const B* const str) const
245 void operator += (const T* const c);
246Changed signature (changed type from signed)
247 T& operator [](const u32 index) const
248 u32 size() const
249 void append(const string<T>& other, u32 length);
250 void reserve(u32 count);
251 s32 findNext(T c, u32 startPos) const
252 string<T> subString(u32 begin, s32 length) const
253 void erase(u32 index);
254 void reallocate(u32 new_size);
255Changed signature (added param)
256 s32 findLast(T c, s32 start = -1) const
257
258ISceneManager.h
259Changed signature (changed default param from 128 minimalPolysPerNode)
260 virtual ISceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
261 s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
262 virtual ISceneNode* addOctTreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
263 s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
264Changed signature (added param)
265 virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
266 f32 rotateSpeed = 100.0f, f32 moveSpeed = 500.0f, s32 id=-1,
267 SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false,
268 f32 jumpSpeed = 0.f) = 0;
269
270 virtual IBillboardSceneNode* addBillboardSceneNode(ISceneNode* parent = 0,
271 const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f),
272 const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1,
273 video::SColor shade_top = 0xFFFFFFFF, video::SColor shade_down = 0xFFFFFFFF) = 0;
274
275 virtual ITerrainSceneNode* addTerrainSceneNode(
276 const c8* heightMapFileName,
277 ISceneNode* parent=0, s32 id=-1,
278 const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
279 const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
280 const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
281 video::SColor vertexColor = video::SColor(255,255,255,255),
282 s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0) = 0;
283
284 virtual ITerrainSceneNode* addTerrainSceneNode(
285 io::IReadFile* heightMapFile,
286 ISceneNode* parent=0, s32 id=-1,
287 const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
288 const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
289 const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
290 video::SColor vertexColor = video::SColor(255,255,255,255),
291 s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0) = 0;
292Changed signature (changed return type)
293 virtual u32 registerNodeForRendering(ISceneNode* node,
294 E_SCENE_NODE_RENDER_PASS pass = ESNRP_AUTOMATIC) = 0;
295
296ISceneNodeAnimatorCollisionResponse.h
297Changed signature (made const)
298 virtual void setEllipsoidTranslation(const core::vector3df &translation) = 0;
299
300ISceneNode.h
301Renamed method (from OnPreRender)
302 virtual void OnRegisterSceneNode();
303Renamed method (from OnPostRender)
304 virtual void OnAnimate(u32 timeMs);
305Changed signature (made const)
306 virtual const core::aabbox3d<f32> getTransformedBoundingBox() const
307 const core::matrix4& getAbsoluteTransformation() const
308 virtual bool isVisible() const
309 virtual s32 getID() const
310 scene::ISceneNode* getParent() const
311 virtual ESCENE_NODE_TYPE getType() const
312Changed signature (changed type)
313 virtual video::SMaterial& getMaterial(u32 num);
314 void setMaterialTexture(u32 textureLayer, video::ITexture* texture);
315 void setAutomaticCulling( E_CULLING_TYPE state);
316 virtual void setDebugDataVisible(E_DEBUG_SCENE_TYPE visible);
317Changed signature (changed return type)
318 virtual u32 getMaterialCount();
319 virtual const core::vector3df& getRotation() const
320 E_CULLING_TYPE getAutomaticCulling() const
321Changed signature (changed return type, made const)
322 E_DEBUG_SCENE_TYPE isDebugDataVisible() const
323
324ITerrainSceneNode.h
325Changed signature (changed return type)
326 virtual u32 getIndexCount() = 0;
327
328ITexture.h
329Changed signature (changed return type, made const)
330 virtual u32 getPitch() const = 0;
331Removed method (Available in SMaterial now)
332 core::matrix4& getTransformation();
333
334IVideoDriver.h
335Changed signature (changed types)
336 virtual ITexture* getTextureByIndex(u32 index) = 0;
337 virtual void drawVertexPrimitiveList(const void* vertices, u32 vertexCount, const u16* indexList, u32 triangleCount, E_VERTEX_TYPE vType, scene::E_PRIMITIVE_TYPE pType) = 0;
338 virtual void drawIndexedTriangleList(const S3DVertex* vertices,
339 u32 vertexCount, const u16* indexList, u32 triangleCount) = 0;
340 virtual void drawIndexedTriangleList(const S3DVertex2TCoords* vertices,
341 u32 vertexCount, const u16* indexList, u32 triangleCount) = 0;
342 virtual void drawIndexedTriangleList(const S3DVertexTangents* vertices,
343 u32 vertexCount, const u16* indexList, u32 triangleCount) = 0;
344 virtual void drawIndexedTriangleFan(const S3DVertex* vertices,
345 u32 vertexCount, const u16* indexList, u32 triangleCount) = 0;
346 virtual void drawIndexedTriangleFan(const S3DVertex2TCoords* vertices,
347 u32 vertexCount, const u16* indexList, u32 triangleCount) = 0;
348 virtual const SLight& getDynamicLight(u32 idx) = 0;
349 virtual IMaterialRenderer* getMaterialRenderer(u32 idx) = 0;
350 virtual const c8* getMaterialRendererName(u32 idx) = 0;
351Changed signature (const param)
352 virtual void drawMeshBuffer( const scene::IMeshBuffer* mb) = 0;
353 virtual io::IAttributes* createAttributesFromMaterial(const video::SMaterial& material) = 0;
354Changed signature (added param)
355 virtual u32 getPrimitiveCountDrawn( u32 param = 0 ) = 0;
356 virtual bool writeImageToFile(IImage* image, const c8* filename, u32 param = 0) = 0;
357 virtual IImage* createImageFromData(ECOLOR_FORMAT format,
358 const core::dimension2d<s32>& size, void *data,
359 bool ownForeignMemory=false,
360 bool deleteMemory = true) = 0;
361Changed signature (changed return types)
362 virtual u32 getMaximalDynamicLightAmount() = 0;
363 virtual u32 getDynamicLightCount() = 0;
364 virtual u32 getMaximalPrimitiveCount() = 0;
365 virtual u32 getMaterialRendererCount() = 0;
366
367matrix4.h
368Changed signature (added param)
369 matrix4( eConstructor constructor = EM4CONST_IDENTITY );
370Changed signature (const param)
371 f32& operator()(const s32 row, const s32 col);
372 const f32& operator()(const s32 row, const s32 col) const
373Changed signature (param order)
374 void transformVect( vector3df& out, const vector3df& in ) const;
375
376quaternion.h
377Changed signature (changed return type)
378 void slerp( quaternion q1, const quaternion q2, f32 interpolate );
379
380SColor.h
381Renamed method (from getLuminance), changed types
382 inline s32 getAverage(s16 color);
383Changed signature (changed return types)
384 inline f32 getLuminance() const
385Changed signature (const param)
386 inline SColorf getInterpolated(const SColorf &other, f32 d) const
387
388SMaterial.h
389Constant type changed
390 const u32 MATERIAL_MAX_TEXTURES = 4;
391Type changed
392 class SMaterial
393Public members removed (use Textures[] instead)
394 ITexture* Texture1;
395 ITexture* Texture2;
396 ITexture* Texture3;
397 ITexture* Texture4;
398Public members removed (use setFlag()/getFlag() instead)
399 Flags[]
400Public members changed (type changed)
401 u32 ZBuffer;
402Changed signature (made const)
403 inline bool operator!=(const SMaterial& b) const
404
405SMeshBuffer.h
406Changed signature (changed param)
407 virtual u32 getVertexCount() const
408 virtual u32 getIndexCount() const
409Removed method (use setBoundingBox instead)
410 virtual core::aabbox3d<f32>& getBoundingBox();
411
412SMeshBufferLightMap.h
413Changed signature (changed param)
414 virtual u32 getVertexCount() const
415 virtual u32 getIndexCount() const
416Removed method (use setBoundingBox instead)
417 virtual core::aabbox3d<f32>& getBoundingBox();
418
419SMeshBufferTangents.h
420Changed signature (changed param)
421 virtual u32 getVertexCount() const
422 virtual u32 getIndexCount() const
423Removed method (use setBoundingBox instead)
424 virtual core::aabbox3d<f32>& getBoundingBox();
425
426SMesh.h
427Changed signature (changed param, made const)
428 virtual u32 getMeshBufferCount() const
429 virtual IMeshBuffer* getMeshBuffer(u32 nr) const
430Removed method (use setBoundingBox instead);
431 virtual core::aabbox3d<f32>& getBoundingBox();
432
433vector3d.h
434Changed signature (changed return type)
435 T getLength() const
436Changed signature (changed type)
437 vector3d<T> getInterpolated(const vector3d<T>& other, const T d) const
438
439Changes for Version 1.3.1
440-------------------------
441Changed types:
442 SMeshBuffer* types are now template typedefs from CMeshBuffer
443
444dimension2d.h
445Changed signature (const param)
446 dimension2d(const T& width, const T& height);
447 dimension2d<T> operator/(const T& scale);
448 dimension2d<T> operator*(const T& scale);
449
450IAnimatedMeshSceneNode.h
451Changed signature (made const)
452 virtual s32 getFrameNr() const = 0;
453 virtual s32 getStartFrame() const = 0;
454 virtual s32 getEndFrame() const = 0;
455Renamed method (from getAbsoluteTransformation)
456 virtual const SMD3QuaterionTag& getMD3TagTransformation( const core::stringc & tagname) = 0;
457
458IGUIButton.h
459Renamed method (from getUseAlphaChannel)
460 virtual bool isAlphaChannelUsed() = 0;
461
462IGUIElementFactory.h
463Changed signature (made const)
464 EGUI_ELEMENT_TYPE getType() const
465 virtual const c8* getTypeName() const
466
467IGUIEnvironment.h
468Changed signature (added param)
469 virtual bool saveGUI(const c8* filename, IGUIElement* start=0) = 0;
470 virtual bool saveGUI(io::IWriteFile* file, IGUIElement* start=0) = 0;
471 virtual bool loadGUI(const c8* filename, IGUIElement* parent=0) = 0;
472 virtual bool loadGUI(io::IReadFile* file, IGUIElement* parent=0) = 0;
473
474IGUIFontBitmap.h
475Changed signature (made const)
476 virtual EGUI_FONT_TYPE getType() const { return EGFT_BITMAP; }
477
478IGUIFont.h
479Changed signature (made const)
480 virtual EGUI_FONT_TYPE getType() const { return EGFT_CUSTOM; }
481
482IGUISkin.h
483Changed signature (added param)
484 virtual IGUIFont* getFont(EGUI_DEFAULT_FONT which=EGDF_DEFAULT) = 0;
485 virtual void setFont(IGUIFont* font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT) = 0;
486Changed signature (made const)
487 virtual EGUI_SKIN_TYPE getType() const { return EGST_UNKNOWN; };
488
489IImage.h
490Changed signature (made const)
491 virtual const core::dimension2d<s32>& getDimension() const = 0;
492 virtual u32 getRedMask() const = 0;
493 virtual u32 getGreenMask() const = 0;
494 virtual u32 getBlueMask() const = 0;
495 virtual u32 getAlphaMask() const = 0;
496Changed signature (changed return type, made const)
497 virtual u32 getBitsPerPixel() const = 0;
498 virtual u32 getBytesPerPixel() const = 0;
499 virtual u32 getImageDataSizeInBytes() const = 0;
500 virtual u32 getImageDataSizeInPixels() const = 0;
501Changed signature (changed param type, made const)
502 virtual SColor getPixel(u32 x, u32 y) const = 0;
503
504IMeshCache.h
505Changed signature (const param)
506 virtual void removeMesh(const IAnimatedMesh* const mesh) = 0;
507Changed signature (const param, made const)
508 virtual s32 getMeshIndex(const IAnimatedMesh* const mesh) const = 0;
509 virtual const c8* getMeshFilename(const IAnimatedMesh* const mesh) const = 0;
510 virtual const c8* getMeshFilename(const IMesh* const mesh) const = 0;
511Changed signature (changed return type, made const)
512 virtual u32 getMeshCount() const = 0;
513Changed signature (changed param type)
514 virtual IAnimatedMesh* getMeshByIndex(u32 index) = 0;
515Changed signature (made const)
516 virtual const c8* getMeshFilename(u32 index) const = 0;
517
518IParticleAffector.h
519Changed signature (made const)
520 virtual E_PARTICLE_AFFECTOR_TYPE getType() const = 0;
521
522IParticleEmitter.h
523Changed signature (made const)
524 virtual E_PARTICLE_EMITTER_TYPE getType() const = 0;
525
526irrString.h
527Changed signature (const param)
528 string(const double number);
529Changed signature (changed return type)
530 string<T>& operator += (T c);
531 string<T>& operator += (const string<T>& other);
532Changed signature (changed return type, const param)
533 string<T>& operator += (const T* const c);
534 string<T>& operator += (const int i);
535 string<T>& operator += (const double i);
536
537ISceneManager.h
538Changed signature (added param)
539 virtual ITerrainSceneNode* addTerrainSceneNode(
540 const c8* heightMapFileName,
541 ISceneNode* parent=0, s32 id=-1,
542 const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
543 const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
544 const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
545 video::SColor vertexColor = video::SColor(255,255,255,255),
546 s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
547 bool addAlsoIfHeightmapEmpty = false) = 0;
548 virtual ITerrainSceneNode* addTerrainSceneNode(
549 io::IReadFile* heightMapFile,
550 ISceneNode* parent=0, s32 id=-1,
551 const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
552 const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
553 const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
554 video::SColor vertexColor = video::SColor(255,255,255,255),
555 s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
556 bool addAlsoIfHeightmapEmpty = false) = 0;
557 virtual ISceneManager* createNewSceneManager(bool cloneContent=false) = 0;
558
559ISceneNodeAnimator.h
560Changed signature (made const)
561 virtual ESCENE_NODE_ANIMATOR_TYPE getType() const
562
563ITexture.h
564Changed signature (made const)
565 virtual bool hasMipMaps() const
566
567IVideoDriver.h
568Changed signature (reference param)
569 virtual void draw3DBox(const core::aabbox3d<f32>& box,
570 SColor color = SColor(255,255,255,255)) = 0;
571Changed signature (added defaults for param)
572 virtual void draw2DImage(video::ITexture* texture,
573 const core::position2d<s32>& pos,
574 const core::array<core::rect<s32> >& sourceRects,
575 const core::array<s32>& indices,
576 s32 kerningWidth=0,
577 const core::rect<s32>* clipRect=0,
578 SColor color=SColor(255,255,255,255),
579 bool useAlphaChannelOfTexture=false) = 0;
580Changed signature (changed return type)
581 virtual const SExposedVideoData& getExposedVideoData() = 0;
582
583line3d.h
584Changed signature (changed return type)
585 T getLength() const
586
587matrix4.h
588Changed type to template class
589 template <class T> class CMatrix4
590 typedef CMatrix4<f32> matrix4;
591Changed signature (changed return type)
592 T& operator()(const s32 row, const s32 col);
593 const T& operator()(const s32 row, const s32 col) const
594 T& operator[](u32 index);
595 const T& operator[](u32 index) const
596Changed signature (changed param type)
597 inline CMatrix4<T>& operator=(const T& scalar);
598 const T* pointer() const
599 T* pointer();
600 CMatrix4<T> operator*(const T& scalar) const;
601 CMatrix4<T>& operator*=(const T& scalar);
602 void transformVect(T *out,const core::vector3df &in) const;
603 void rotateVect(T *out,const core::vector3df &in) const;
604 void multiplyWith1x4Matrix(T* matrix) const;
605 CMatrix4<T> interpolate(const core::CMatrix4<T>& b, f32 time) const;
606
607plane3d.h
608Renamed method (from existsInterSection)
609 bool existsIntersection(const plane3d<T>& other) const
610
611quaternion.h
612Changed signature (unconst param)
613 void slerp( quaternion q1, quaternion q2, f32 interpolate );
614
615SExposedVideoData.h
616Removed public member (replaced by X11Display and X11Window)
617 OpenGLLinux.Window;
618
619SIrrCreationParameters.h
620Changed public member (changed type for 64bit system support)
621 void* WindowId;
622
623triangle3d.h
624Changed method to private
625 bool isOnSameSide(const vector3d<T>& p1, const vector3d<T>& p2,
626 const vector3d<T>& a, const vector3d<T>& b) const
627
628vector2d.h
629Changed signature (changed return value)
630 T getLength() const
631 T getDistanceFrom(const vector2d<T>& other) const
632
633vector3d.h
634Changed signature (changed return value)
635 T getDistanceFrom(const vector3d<T>& other) const
636
637Changes for Version 1.4
638-----------------------
639This release had many changes in API method signatures. Many methods have been
640made const, also several parameter types were changed. The two most noticeable
641changes (which almost every user of the Irrlicht API will come across) are the
642renaming of IUnknown to IReferenceCounted and const-ref change of the SEvent
643structure of the OnEvent method. Another important change: DirectX8 support is
644now by default disabled, enable the define in IrrCompileConfig.h to restore the
645old behavior.
646
647IReferenceCounted.h
648Renamed Type (from IUnknown). This changed most classes in Irrlicht
649 class IReferenceCounted
650
651IEventReceiver.h
652Changed signature (made const)
653 virtual bool OnEvent(const SEvent& event) = 0;
654
655IrrCompileConfig.h
656DirectX8 support is now by default disabled
657
658CMeshBuffer.h
659Removed method
660 virtual u32 getVertexPitch() const
661
662fast_atof.h
663Changed signature to allow optional second parameter
664 u32 strtol10(const char* in, const char** out=0)
665
666IAnimatedMesh.h
667Changed inheritance (instead of IReferenceCounted)
668 class IAnimatedMesh : public IMesh
669Changed signature (made const)
670 virtual u32 getFrameCount() const = 0;
671
672IAnimatedMeshSceneNode.h
673Changed signature (changed param type)
674 virtual void setCurrentFrame(f32 frame) = 0;
675Replaced methods (generalized method getJointNode available)
676 virtual ISceneNode* getMS3DJointNode(const c8* jointName) = 0;
677 virtual ISceneNode* getXJointNode(const c8* jointName) = 0;
678 virtual ISceneNode* getB3DJointNode(const c8* jointName) = 0;
679Changed signature (changed return type)
680 virtual f32 getFrameNr() const = 0;
681Changed signature (made const)
682 virtual bool isReadOnlyMaterials() const = 0;
683
684IAttributeExchangingObject.h
685Changed signature (made const)
686 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {}
687
688IAttributes.h
689Changed signature (made const, changed param type)
690 virtual u32 getAttributeCount() const = 0;
691Changed signature (added param)
692 virtual bool read(io::IXMLReader* reader, bool readCurrentElementOnly=false, const wchar_t* elementName=0) = 0;
693 virtual bool write(io::IXMLWriter* writer, bool writeXMLHeader=false, const wchar_t* elementName=0) = 0;
694Changed signature (made const-ref param)
695 virtual void addMatrix(const c8* attributeName, const core::matrix4& v) = 0;
696 virtual void setAttribute(const c8* attributeName, const core::matrix4& v) = 0;
697 virtual void setAttribute(s32 index, const core::matrix4& v) = 0;
698
699IBillboardSceneNode.h
700Changed signature (made const)
701 virtual const core::dimension2d<f32>& getSize() const = 0;
702 virtual void getColor(video::SColor & topColor, video::SColor & bottomColor) const = 0;
703
704ICameraSceneNode.h
705Changed signature (made const)
706 virtual const core::matrix4& getProjectionMatrix() const = 0;
707 virtual const core::matrix4& getViewMatrix() const = 0;
708 virtual bool OnEvent(const SEvent& event) = 0;
709 virtual f32 getNearValue() const = 0;
710 virtual f32 getFarValue() const = 0;
711 virtual f32 getAspectRatio() const = 0;
712 virtual f32 getFOV() const = 0;
713 virtual bool isInputReceiverEnabled() const = 0;
714 virtual bool isOrthogonal() const
715
716ICursorControl.h
717Changed signature (made const)
718 virtual bool isVisible() const = 0;
719
720IFileList.h
721Changed signature (made const, changed param or return types)
722 virtual u32 getFileCount() const = 0;
723 virtual const c8* getFileName(u32 index) const = 0;
724 virtual const c8* getFullFileName(u32 index) = 0;
725 virtual bool isDirectory(u32 index) const = 0;
726
727IFileSystem.h 2007-09-17 09:53:10.000000000 +0200
728Changed signature (made const method and const-ref param)
729 virtual core::stringc getAbsolutePath(const core::stringc& filename) const = 0;
730 virtual core::stringc getFileDir(const core::stringc& filename) const = 0;
731Changed signature (made const)
732 virtual IFileList* createFileList() const = 0;
733 virtual bool existFile(const c8* filename) const = 0;
734
735IGUIButton.h
736Changed signature (made const)
737 virtual bool isPressed() const = 0;
738 virtual bool isAlphaChannelUsed() const = 0;
739 virtual bool isPushButton() const = 0;
740 virtual bool isDrawingBorder() const = 0;
741
742IGUICheckBox.h
743Changed signature (made const)
744 virtual bool isChecked() const = 0;
745
746IGUIComboBox.h
747Changed signature (made const, changed param or return types)
748 virtual u32 getItemCount() const = 0;
749 virtual const wchar_t* getItem(u32 idx) const = 0;
750 virtual s32 getSelected() const = 0;
751Changed signature (changed param or return types)
752 virtual u32 addItem(const wchar_t* text) = 0;
753 virtual void removeItem(u32 id) = 0;
754
755IGUIContextMenu.h
756Changed signature (changed param or return types)
757 virtual u32 getItemCount() const = 0;
758 virtual u32 addItem(const wchar_t* text, s32 commandId=-1, bool enabled=true, bool hasSubMenu=false, bool checked=false) = 0;
759 virtual void setItemText(u32 idx, const wchar_t* text) = 0;
760 virtual void setItemEnabled(u32 idx, bool enabled) = 0;
761 virtual void setItemChecked(u32 idx, bool enabled) = 0;
762 virtual void removeItem(u32 idx) = 0;
763 virtual void setItemCommandId(u32 idx, s32 id) = 0;
764Changed signature (made const, changed param or return types)
765 virtual const wchar_t* getItemText(u32 idx) const = 0;
766 virtual bool isItemEnabled(u32 idx) const = 0;
767 virtual bool isItemChecked(u32 idx) const = 0;
768 virtual s32 getSelectedItem() const = 0;
769 virtual s32 getItemCommandId(u32 idx) const = 0;
770 virtual IGUIContextMenu* getSubMenu(u32 idx) const = 0;
771
772IGUIEditBox.h
773Changed signature (changed param or return types)
774 virtual void setMax(u32 max) = 0;
775Changed signature (made const, changed param or return types)
776 virtual u32 getMax() const = 0;
777
778IGUIElementFactory.h
779Changed signature (made const)
780 virtual s32 getCreatableGUIElementTypeCount() const = 0;
781 virtual EGUI_ELEMENT_TYPE getCreateableGUIElementType(s32 idx) const = 0;
782 virtual const c8* getCreateableGUIElementTypeName(s32 idx) const = 0;
783 virtual const c8* getCreateableGUIElementTypeName(EGUI_ELEMENT_TYPE type) const = 0;
784
785IGUIElement.h
786Changed signature (made const)
787 bool isNotClipped() const
788 virtual bool isVisible() const
789 virtual bool isSubElement() const
790 virtual bool isEnabled() const
791 virtual const wchar_t* getText() const
792 virtual s32 getID() const
793 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const
794Changed signature (made const-ref param or return type)
795 virtual const core::stringw& getToolTipText() const
796 virtual bool OnEvent(const SEvent& event)
797
798IGUIEnvironment.h
799Changed signature (changed return type)
800 virtual bool setFocus(IGUIElement* element) = 0;
801 virtual bool removeFocus(IGUIElement* element) = 0;
802Changed signature (made const)
803 virtual IGUIElement* getFocus() const = 0;
804 virtual bool hasFocus(IGUIElement* element) const = 0;
805 virtual video::IVideoDriver* getVideoDriver() const = 0;
806 virtual io::IFileSystem* getFileSystem() const = 0;
807 virtual IOSOperator* getOSOperator() const = 0;
808 virtual IGUISkin* getSkin() const = 0;
809 virtual IGUIFont* getBuiltInFont() const = 0;
810 virtual IGUIElementFactory* getDefaultGUIElementFactory() const = 0;
811 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const =0;
812Changed signature (made const-ref param or return type)
813 virtual bool postEventFromUser(const SEvent& event) = 0;
814Changed signature (made const, changed param or return types)
815 virtual u32 getRegisteredGUIElementFactoryCount() const = 0;
816 virtual IGUIElementFactory* getGUIElementFactory(u32 index) const = 0;
817
818IGUIFileOpenDialog.h
819Changed signature (made const)
820 virtual const wchar_t* getFileName() const = 0;
821
822IGUIFontBitmap.h
823Changed signature (made const)
824 virtual IGUISpriteBank* getSpriteBank() const = 0;
825 virtual u32 getSpriteNoFromChar(const wchar_t *c) const = 0;
826 virtual s32 getKerningWidth(const wchar_t* thisLetter=0, const wchar_t* previousLetter=0) const = 0;
827
828IGUIFont.h
829Changed signature (made const)
830 virtual core::dimension2d<s32> getDimension(const wchar_t* text) const = 0;
831 virtual s32 getCharacterFromPos(const wchar_t* text, s32 pixel_x) const = 0;
832 virtual s32 getKerningWidth(const wchar_t* thisLetter=0, const wchar_t* previousLetter=0) const = 0;
833 virtual s32 getKerningHeight() const = 0;
834
835IGUIListBox.h
836Changed signature (made const, changed param or return types)
837 virtual u32 getItemCount() const = 0;
838 virtual const wchar_t* getListItem(u32 id) const = 0;
839 virtual s32 getIcon(u32 index) const = 0;
840Changed signature (changed param or return types)
841 virtual u32 addItem(const wchar_t* text) = 0;
842 virtual u32 addItem(const wchar_t* text, s32 icon) = 0;
843 virtual void removeItem(u32 index) = 0;
844Changed signature (made const)
845 virtual s32 getSelected() const = 0;
846
847IGUIMeshViewer.h
848Changed signature (made const)
849 virtual const video::SMaterial& getMaterial() const = 0;
850
851IGUIScrollBar.h
852Changed signature (made const)
853 virtual s32 getMax() const = 0;
854 virtual s32 getSmallStep() const = 0;
855 virtual s32 getPos() const = 0;
856
857IGUISkin.h
858Changed signature (made const)
859 virtual video::SColor getColor(EGUI_DEFAULT_COLOR color) const = 0;
860 virtual s32 getSize(EGUI_DEFAULT_SIZE size) const = 0;
861 virtual const wchar_t* getDefaultText(EGUI_DEFAULT_TEXT text) const = 0;
862 virtual IGUIFont* getFont(EGUI_DEFAULT_FONT which=EGDF_DEFAULT) const = 0;
863 virtual IGUISpriteBank* getSpriteBank() const = 0;
864 virtual u32 getIcon(EGUI_DEFAULT_ICON icon) const = 0;
865
866IGUISpriteBank.h
867Changed signature (made const)
868 virtual u32 getTextureCount() const = 0;
869 virtual video::ITexture* getTexture(u32 index) const = 0;
870
871IGUIStaticText.h
872Changed signature (made const)
873 virtual IGUIFont* getOverrideFont(void) const = 0;
874 virtual video::SColor const& getOverrideColor(void) const = 0;
875 virtual bool isOverrideColorEnabled(void) const = 0;
876 virtual bool isWordWrapEnabled(void) const = 0;
877 virtual s32 getTextHeight() const = 0;
878 virtual s32 getTextWidth(void) const = 0;
879
880IGUITabControl.h
881Changed signature (made const)
882 virtual s32 getNumber() const = 0;
883 virtual s32 getTabCount() const = 0;
884 virtual IGUITab* getTab(s32 idx) const = 0;
885 virtual s32 getActiveTab() const = 0;
886
887IGUIWindow.h
888Changed signature (made const)
889 virtual IGUIButton* getCloseButton() const = 0;
890 virtual IGUIButton* getMinimizeButton() const = 0;
891 virtual IGUIButton* getMaximizeButton() const = 0;
892
893IImageLoader.h
894Changed signature (made const)
895 virtual bool isALoadableFileExtension(const c8* fileName) const = 0;
896 virtual bool isALoadableFileFormat(io::IReadFile* file) const = 0;
897 virtual IImage* loadImage(io::IReadFile* file) const = 0;
898
899IImageWriter.h
900Changed signature (made const)
901 virtual bool isAWriteableFileExtension(const c8* fileName) const = 0;
902 virtual bool writeImage(io::IWriteFile *file, IImage *image, u32 param = 0) const = 0;
903
904ILogger.h
905Changed signature (made const)
906 virtual ELOG_LEVEL getLogLevel() const = 0;
907
908IMaterialRenderer.h
909Changed signature (made const-ref param)
910 virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial, bool resetAllRenderstates, IMaterialRendererServices* services) {};
911Changed signature (made const)
912 virtual bool isTransparent() const { return false; }
913 virtual s32 getRenderCapability() const { return 0; }
914
915IMesh.h
916Changed signature (made const)
917 virtual IMeshBuffer* getMeshBuffer( const video::SMaterial &material) const = 0;
918
919IMeshLoader.h
920Changed signature (made const)
921 virtual bool isALoadableFileExtension(const c8* fileName) const = 0;
922
923IMeshManipulator.h
924Removed method (now in IMeshBuffer)
925 virtual void recalculateBoundingBox(scene::IMeshBuffer* buffer) const
926
927IMeshSceneNode.h
928Changed signature (made const)
929 virtual bool isReadOnlyMaterials() const = 0;
930
931IOSOperator.h
932Changed signature (made const)
933 virtual const wchar_t* getOperationSystemVersion() const = 0;
934 virtual void copyToClipboard(const c8* text) const = 0;
935 virtual c8* getTextFromClipboard() const = 0;
936 virtual bool getProcessorSpeedMHz(u32* MHz) const = 0;
937 virtual bool getSystemMemory(u32* Total, u32* Avail) const = 0;
938
939IParticleAffector.h
940Changed signature (made const)
941 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {}
942
943IParticleEmitter.h
944Changed signature (made const)
945 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {}
946
947IParticleSystemSceneNode.h
948Changed signature (changed return type, changed param types)
949 virtual IParticlePointEmitter* createPointEmitter(
950 const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
951 u32 minParticlesPerSecond = 5,
952 u32 maxParticlesPerSecond = 10,
953 const video::SColor& minStartColor = video::SColor(255,0,0,0),
954 const video::SColor& maxStartColor = video::SColor(255,255,255,255),
955 u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
956 s32 maxAngleDegrees=0) = 0;
957 virtual IParticleEmitter* createBoxEmitter(
958 const core::aabbox3df& box = core::aabbox3df(-10,28,-10,10,30,10),
959 const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
960 u32 minParticlesPerSecond = 5,
961 u32 maxParticlesPerSecond = 10,
962 const video::SColor& minStartColor = video::SColor(255,0,0,0),
963 const video::SColor& maxStartColor = video::SColor(255,255,255,255),
964 u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
965 s32 maxAngleDegrees=0) = 0;
966 virtual IParticleFadeOutAffector* createFadeOutParticleAffector(
967 const video::SColor& targetColor = video::SColor(0,0,0,0),
968 u32 timeNeededToFadeOut = 1000) = 0;
969 virtual IParticleGravityAffector* createGravityAffector(
970 const core::vector3df& gravity = core::vector3df(0.0f,-0.03f,0.0f),
971 u32 timeForceLost = 1000) = 0;
972
973IQ3Shader.h
974Removed method
975 bool operator < ( const SVariable &other ) const
976
977IReadFile.h
978Changed param types (adapt the correct C-API for file positions)
979 virtual bool seek(long finalPos, bool relativeMovement = false) = 0;
980 virtual long getSize() const = 0;
981 virtual long getPos() const = 0;
982 IReadFile* createLimitReadFile(const c8* fileName, IReadFile* alreadyOpenedFile, long areaSize);
983 IReadFile* createMemoryReadFile(void* memory, long size, const c8* fileName, bool deleteMemoryWhenDropped);
984Changed signature (made const)
985 virtual const c8* getFileName() const = 0;
986
987IrrlichtDevice.h
988Changed signature (made const)
989 virtual bool isWindowActive() const = 0;
990 virtual const c8* getVersion() const = 0;
991Changed signature (made const-ref param)
992 virtual void postEventFromUser(const SEvent& event) = 0;
993
994irrList.h
995Changed some structures in order to incorporate a ConstIterator class.
996 Iterator begin()
997 ConstIterator begin() const
998 Iterator end()
999 ConstIterator end() const
1000 Iterator getLast()
1001 ConstIterator getLast() const
1002 void insert_after(const Iterator& it, const T& element)
1003 void insert_before(const Iterator& it, const T& element)
1004
1005irrMath.h
1006Changed signature (Use const references for better class handling)
1007 inline const T& min_(const T& a, const T& b)
1008 inline const T& min_(const T& a, const T& b, const T& c)
1009 inline const T& max_(const T& a, const T& b)
1010 inline const T& max_(const T& a, const T& b, const T& c)
1011 inline T abs_(const T& a)
1012 inline T lerp(const T& a, const T& b, const f32 t)
1013 inline const T clamp (const T& value, const T& low, const T& high)
1014
1015irrString.h
1016Changed signature (made proper const method)
1017 T& operator [](const u32 index)
1018 const T& operator [](const u32 index) const
1019
1020irrXML.h
1021Changed signature (adapt the correct C-API for file positions, made const)
1022 virtual long getSize() const = 0;
1023Changed signature (changed param types)
1024 virtual unsigned int getAttributeCount() const = 0;
1025
1026ISceneManager.h
1027Changed signature (changed param types)
1028 virtual IAnimatedMesh* addHillPlaneMesh(const c8* name,
1029 const core::dimension2d<f32>& tileSize, const core::dimension2d<u32>& tileCount,
1030 video::SMaterial* material = 0, f32 hillHeight = 0.0f,
1031 const core::dimension2d<f32>& countHills = core::dimension2d<f32>(0.0f, 0.0f),
1032 const core::dimension2d<f32>& textureRepeatCount = core::dimension2d<f32>(1.0f, 1.0f)) = 0;
1033Changed signature (changed param types and order)
1034 virtual IAnimatedMesh* addArrowMesh(const c8* name,
1035 video::SColor vtxColor0=0xFFFFFFFF,
1036 video::SColor vtxColor1=0xFFFFFFFF,
1037 u32 tesselationCylinder=4, u32 tesselationCone=8,
1038 f32 height=1.f, f32 cylinderHeight=0.6f,
1039 f32 width0=0.05f, f32 width1=0.3f) = 0;
1040Changed signature (changed param types)
1041 virtual bool postEventFromUser(const SEvent& event) = 0;
1042 virtual ISceneNodeFactory* getSceneNodeFactory(u32 index) = 0;
1043 virtual ISceneNodeAnimatorFactory* getSceneNodeAnimatorFactory(u32 index) = 0;
1044Changed signature (made const)
1045 virtual E_SCENE_NODE_RENDER_PASS getSceneNodeRenderPass() const = 0;
1046Changed signature (changed param types, made const)
1047 virtual u32 getRegisteredSceneNodeFactoryCount() const = 0;
1048 virtual u32 getRegisteredSceneNodeAnimatorFactoryCount() const = 0;
1049 virtual const video::SColorf& getAmbientLight() const = 0;
1050
1051ISceneNodeAnimatorCollisionResponse.h
1052Changed signature (made const)
1053 virtual bool isFalling() const = 0;
1054
1055ISceneNodeAnimatorFactory.h
1056Changed signature (changed param types, made const)
1057 virtual u32 getCreatableSceneNodeAnimatorTypeCount() const = 0;
1058 virtual ESCENE_NODE_ANIMATOR_TYPE getCreateableSceneNodeAnimatorType(u32 idx) const = 0;
1059 virtual const c8* getCreateableSceneNodeAnimatorTypeName(u32 idx) const = 0;
1060Changed signature (made const)
1061 virtual const c8* getCreateableSceneNodeAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) const = 0;
1062
1063ISceneNodeFactory.h
1064Changed signature (changed param types, made const)
1065 virtual u32 getCreatableSceneNodeTypeCount() const = 0;
1066 virtual ESCENE_NODE_TYPE getCreateableSceneNodeType(u32 idx) const = 0;
1067 virtual const c8* getCreateableSceneNodeTypeName(u32 idx) const = 0;
1068Changed signature (made const)
1069 virtual const c8* getCreateableSceneNodeTypeName(ESCENE_NODE_TYPE type) const = 0;
1070
1071ISceneNode.h
1072Changed signature (made const)
1073 virtual u32 getMaterialCount() const
1074 bool isDebugObject() const
1075 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const
1076
1077IShadowVolumeSceneNode.h
1078Changed signature (made const param)
1079 virtual void setMeshToRenderFrom(const IMesh* mesh) = 0;
1080
1081ITerrainSceneNode.h
1082Changed signature (made const)
1083 virtual u32 getIndexCount() const = 0;
1084 virtual void getMeshBufferForLOD(SMeshBufferLightMap& mb, s32 LOD) const = 0;
1085 virtual s32 getCurrentLODOfPatches(core::array<s32>& LODs) const = 0;
1086 virtual f32 getHeight( f32 x, f32 y ) const = 0;
1087Changed signature (made const, made const-ref param)
1088 virtual const core::vector3df& getTerrainCenter() const = 0;
1089
1090ITexture.h
1091Changed signature (made const)
1092 virtual const core::dimension2d<s32>& getOriginalSize() const = 0;
1093 virtual const core::dimension2d<s32>& getSize() const = 0;
1094 virtual E_DRIVER_TYPE getDriverType() const = 0;
1095 const core::stringc& getName() const { return Name; }
1096
1097ITimer.h
1098Changed signature (made const)
1099 virtual u32 getRealTime() const = 0;
1100 virtual u32 getTime() const = 0;
1101 virtual f32 getSpeed() const = 0;
1102 virtual bool isStopped() const = 0;
1103
1104ITriangleSelector.h
1105Changed signature (made const)
1106 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
1107 s32& outTriangleCount, const core::matrix4* transform=0) const = 0;
1108 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
1109 s32& outTriangleCount, const core::aabbox3d<f32>& box,
1110 const core::matrix4* transform=0) const = 0;
1111 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
1112 s32& outTriangleCount, const core::line3d<f32>& line,
1113 const core::matrix4* transform=0) const = 0;
1114
1115IVideoDriver.h
1116Changed signature (made const, changed param type)
1117 virtual u32 getTextureCount() const = 0;
1118Changed signature (made const param) in all draw2DImage methods
1119 virtual void draw2DImage(const video::ITexture* texture,
1120Changed signature (made const-ref param, made const)
1121 virtual const core::dimension2d<s32>& getScreenSize() const = 0;
1122 virtual const core::dimension2d<s32>& getCurrentRenderTargetSize() const = 0;
1123Changed signature (made const)
1124 virtual bool queryFeature(E_VIDEO_DRIVER_FEATURE feature) const = 0;
1125 virtual const core::matrix4& getTransform(E_TRANSFORMATION_STATE state) const = 0;
1126 virtual ITexture* createRenderTargetTexture(const core::dimension2d<s32>& size, const c8* name = 0) = 0;
1127 virtual void makeColorKeyTexture(video::ITexture* texture, video::SColor color) const = 0;
1128 virtual void makeColorKeyTexture(video::ITexture* texture,
1129 core::position2d<s32> colorKeyPixelPos) const = 0;
1130 virtual void makeNormalMapTexture(video::ITexture* texture, f32 amplitude=1.0f) const = 0;
1131 virtual s32 getFPS() const = 0;
1132 virtual u32 getPrimitiveCountDrawn( u32 param = 0 ) const = 0;
1133 virtual u32 getMaximalDynamicLightAmount() const = 0;
1134 virtual u32 getDynamicLightCount() const = 0;
1135 virtual const SLight& getDynamicLight(u32 idx) const = 0;
1136 virtual const wchar_t* getName() const = 0;
1137 virtual u32 getMaximalPrimitiveCount() const = 0;
1138 virtual bool getTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag) const = 0;
1139 virtual u32 getMaterialRendererCount() const = 0;
1140 virtual const c8* getMaterialRendererName(u32 idx) const = 0;
1141 virtual E_DRIVER_TYPE getDriverType() const = 0;
1142
1143IWriteFile.h
1144Changed signature (changed param type)
1145 virtual s32 write(const void* buffer, u32 sizeToWrite) = 0;
1146 virtual bool seek(long finalPos, bool relativeMovement = false) = 0;
1147Changed signature (changed param type, made const)
1148 virtual long getPos() const = 0;
1149Changed signature (made const)
1150 virtual const c8* getFileName() const = 0;
1151
1152line2d.h
1153Changed signature (made const)
1154 vector2d<T> getUnitVector() const
1155 f64 getAngleWith(const line2d<T>& l) const
1156 T getPointOrientation(const vector2d<T>& point) const
1157 bool isPointOnLine(const vector2d<T>& point) const
1158
1159matrix4.h
1160Changed signature (made template param)
1161 void setTranslation( const vector3d<T>& translation );
1162 vector3d<T> getTranslation() const;
1163 void setInverseTranslation( const vector3d<T>& translation );
1164 inline void setRotationRadians( const vector3d<T>& rotation );
1165 void setRotationDegrees( const vector3d<T>& rotation );
1166 core::vector3d<T> getRotationDegrees() const;
1167 inline void setInverseRotationRadians( const vector3d<T>& rotation );
1168 void setInverseRotationDegrees( const vector3d<T>& rotation );
1169 void setScale( const vector3d<T>& scale );
1170 core::vector3d<T> getScale() const;
1171
1172rect.h
1173Changed signature (made non-const ref param, C++ conformance)
1174 rect<T>& operator+=(const position2d<T>& pos)
1175 rect<T>& operator-=(const position2d<T>& pos)
1176
1177S3DVertex.h
1178Changed inheritance (S3DVertex is now base class of other vertex types)
1179struct S3DVertex2TCoords : public S3DVertex
1180struct S3DVertexTangents : public S3DVertex
1181
1182SAnimatedMesh.h
1183Changed signature (changed param type, made const)
1184 virtual u32 getFrameCount() const
1185
1186SColor.h
1187Changed signature (changed param type)
1188 inline u32 A1R5G5B5toA8R8G8B8(u16 color)
1189
1190SLight.h
1191Removed attribute (use LightSceneNode position instead)
1192 core::vector3df Position;
1193
1194SMaterial.h
1195Changed attribute structure (texture layer properties are now in thenew TextureLayer array). This changes access to Textures, TextureMatrix, TextureWrap, and the filter settings, which are also per-layer now.
1196 SMaterialLayer TextureLayer[MATERIAL_MAX_TEXTURES];
1197
1198vector3d.h
1199Changed signature (made template param)
1200 bool equals(const vector3d<T>& other, const T tolerance = (T)ROUNDING_ERROR_32 ) const
1201
1202Changes for Version 1.4.1
1203-------------------------
1204Since this version is a backward compatible bugfix release, the API changes are only a few. None of them should result
1205in uncompilable code. Newly found warnings might point out wrongly used variables, additional casts or type changes in the
1206app should easily fix that. The only change which might go unnoticed by the compiler, but affect the application is the
1207changed initialization in SColorf. This was done to synchronize with other constructors from SColorf and SColor, though,
1208so the expectations are now much better met.
1209Also, OSX users have to adjust the defines in IrrCompileConfig, as we now also have OSX defines in Irrlicht style. It's now
1210even possible to build with X11 support under OSX without changes in the device code.
1211
1212SColor.h
1213Changed signature (SColorf is now default initialized to alpha=1.0f)
1214 SColorf(f32 r=0.f, f32 g=0.f, f32 b=0.f, f32 a=1.f) : r(r), g(g), b(b), a(a) {}
1215
1216IrrCompileConfig.h
1217Split the OSX define into platform and device (from old MACOSX define)
1218 _IRR_OSX_PLATFORM_ for Apple systems running OSX
1219 _IRR_USE_OSX_DEVICE_ for Cocoa native windowing on OSX
1220
1221ISceneManager.h
1222Added new overload for getMesh with IReadFile instead of filename.
1223 virtual IAnimatedMesh* getMesh(io::IReadFile* file) = 0;
1224
1225irrMath.h
1226Renamed method setbit
1227 REALINLINE void setbit_cond ( u32 &state, s32 condition, u32 mask )
1228
1229ISceneNode.h
1230Changed signature (because the debug data enum values can be OR'ed to enable multiple debug data types)
1231 virtual void setDebugDataVisible(s32 state)
1232 s32 isDebugDataVisible() const
1233 s32 DebugDataVisible;
1234
1235matrix4.h
1236Changed signature (Added return values to some methods)
1237 inline CMatrix4<T>& setbyproduct(const CMatrix4<T>& other_a,const CMatrix4<T>& other_b );
1238 CMatrix4<T>& setbyproduct_nocheck(const CMatrix4<T>& other_a,const CMatrix4<T>& other_b );
1239 inline CMatrix4<T>& makeIdentity();
1240 CMatrix4<T>& setTranslation( const vector3d<T>& translation );
1241 CMatrix4<T>& setInverseTranslation( const vector3d<T>& translation );
1242 inline CMatrix4<T>& setRotationRadians( const vector3d<T>& rotation );
1243 CMatrix4<T>& setRotationDegrees( const vector3d<T>& rotation );
1244 inline CMatrix4<T>& setInverseRotationRadians( const vector3d<T>& rotation );
1245 CMatrix4<T>& setInverseRotationDegrees( const vector3d<T>& rotation );
1246 CMatrix4<T>& setScale( const vector3d<T>& scale );
1247 CMatrix4<T>& buildProjectionMatrixPerspectiveFovRH(f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar);
1248 CMatrix4<T>& buildProjectionMatrixPerspectiveFovLH(f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar);
1249 CMatrix4<T>& buildProjectionMatrixPerspectiveRH(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar);
1250 CMatrix4<T>& buildProjectionMatrixPerspectiveLH(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar);
1251 CMatrix4<T>& buildProjectionMatrixOrthoLH(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar);
1252 CMatrix4<T>& buildProjectionMatrixOrthoRH(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar);
1253 CMatrix4<T>& buildCameraLookAtMatrixLH(...)
1254 CMatrix4<T>& buildCameraLookAtMatrixRH(...)
1255 CMatrix4<T>& buildShadowMatrix(const core::vector3df& light, core::plane3df plane, f32 point=1.0f);
1256 CMatrix4<T>& buildNDCToDCMatrix( const core::rect<s32>& area, f32 zScale);
1257 CMatrix4<T>& setTextureScale( f32 sx, f32 sy );
1258 CMatrix4<T>& setTextureRotationCenter( f32 radAngle );
1259 CMatrix4<T>& setTextureScaleCenter( f32 sx, f32 sy );
1260 CMatrix4<T>& setTextureTranslate( f32 x, f32 y );
1261 CMatrix4<T>& setM(const T* data);
1262Added overload (for one scale value for all axes)
1263 CMatrix4<T>& setScale( const T scale ) { return setScale(core::vector3d<T>(scale,scale,scale)); }
1264
1265S3DVertex.h
1266Added operator
1267 bool operator<(const S3DVertex& other) const
1268 bool operator<(const S3DVertex2TCoords& other) const
1269 bool operator<(const S3DVertexTangents& other) const
1270
1271irrString.h
1272Changed signature (int->u32, negative length didn't make sense)
1273 bool equalsn(const string<T>& other, u32 n) const
1274 bool equalsn(const T* const str, u32 n) const
1275New overload/missing method (completing the findLast... and find...Char methods)
1276 s32 findLastChar(const T* const c, u32 count) const
1277Changed signature (Added return value)
1278 string<T>& trim()
1279
1280Changes for Version 1.4.2
1281-------------------------
1282This is once more a bugfix release of the 1.4 branch, and hence pretty API-consistent and backward compatible. The major reason to publish this release is the OpenGL bug, which made several OpenGL 2.x drivers run in SW emulation.
1283However, we also introduced some driver consistency fixes, which might affect your application's behavior. So read through the next points thoroughly.
1284
1285SceneParameters.h (and general video driver behavior)
1286The way Irrlicht handles zbuffer writing with transparent materials has changed. This was an issue ever since, because the default behavior in Irrlicht is to disable writing to the z-buffer for all really transparent, i.e. blending materials. This avoids problems with intersecting faces, but can also break renderings. And this is now consistent for both OpenGL and Direct3D.
1287If transparent materials should use the SMaterial flag for ZWriteEnable just as other material types use the newly introduced attribute scene::ALLOW_ZWRITE_ON_TRANSPARENT like this:
1288SceneManager->getParameters()->setAttribute(scene::ALLOW_ZWRITE_ON_TRANSPARENT, true);
1289All transparent materials will henceforth work as specified by the material flag, until the scenemanager attribute is set to false.
1290
1291SMaterialLayer.h
1292The texture matrix now uses irrAllocator for memory handling. This shouldn't be noticeable from the user application (besides fixed heap corruptions on Windows machines), but is still mentioned for completeness.
1293
1294ISceneNode.h
1295Documentation error. The docs said that children of a scene node are not visible if the node itself is set to visible. This is of course wrong, children inherit non-visibility of the parent and are hence invisible if the parent is. If the parent is visible, the visibility flag of the child determines its status.
1296
1297SColor.h
1298Removed methods (use the unsigned versions and cast in your app if necessary)
1299 inline s32 getRedSigned(u16 color)
1300 inline s32 getGreenSigned(u16 color)
1301 inline s32 getBlueSigned(u16 color)
1302
1303IParticleSystemSceneNode.h
1304Changed default values (the old direction default was no real direction)
1305 virtual IParticleAnimatedMeshSceneNodeEmitter* createAnimatedMeshSceneNodeEmitter(...)
1306 virtual IParticleCylinderEmitter* createCylinderEmitter(...)
1307 virtual IParticleMeshEmitter* createMeshEmitter(...)
1308
1309IBoneSceneNode.h
1310Changed signature (Made const)
1311 virtual E_BONE_SKINNING_SPACE getSkinningSpace() const=0;
1312
1313IrrlichtDevice.h
1314Changed signature (Return value bool instead of void). Returns whether the event has been handled somewhere.
1315 virtual bool postEventFromUser(const SEvent& event) = 0;
1316
1317Changes for Version 1.5
1318-----------------------
1319Another major release, so expect API breaks at several places. The changes
1320herein are described as a difference to Irrlicht 1.4.2.
1321
1322The most noticeable changes are the speed factor of the FPS camera (now units/ms
1323instead of units/s, so divide the parameter by 1000.f) and the new interfaces
1324of the camera nodes, based on scene node animators. Custom camera nodes should
1325be adpated to this new scheme, although they might still work. Also, particle
1326sizes are now set and handled by the emitters, which requires a change of the
1327particle system constructor call or adaption of the setParticleSize method to
1328work on the emitters. A deprecation method is issued if the old scheme is used.
1329Light setting has also changed, the SLight struct is used in even less
1330situations than before, instead use methods in ILightSceneNode.
1331
1332Other changes did change major parts of the underlying structures, but might go
1333unnoticed on the user level. This includes 32bit indices and Vertex Buffer
1334Objects. However, VBOs require the user to call setDirty on Meshes or
1335MeshBuffers after changes to the vertex or index data. The all need only to be
1336done once before the next render call, but again after subsequent changes later
1337on.
1338
1339
1340All Mesh types and MeshBuffers:
1341New methods for VBO support. Once VBOs are enabled for a meshbuffer, changes
1342will only be effective after a call to setDirty(). VBOs are enabled by default
1343for some scene nodes.
1344 virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX);
1345
1346All MeshBuffers:
1347Due to the 32bit support, it might happen that indices are stored as 32bit integers. The actual index type can be queried from a mesh buffer.
1348 virtual video::E_INDEX_TYPE getIndexType() const
1349
1350IrrCompileConfig.h
1351Some new defines for configuring Irrlicht
1352_IRR_USE_WINDOWS_CE_DEVICE_ for Windows CE API based device
1353_IRR_COMPILE_WITH_JOYSTICK_EVENTS_ to enable joystick support (enabled by default)
1354_IRR_COMPILE_WITH_LWO_LOADER_ to enable the LWO mesh loader (enabled by default)
1355_IRR_COMPILE_WITH_OBJ_WRITER_ to enable the OBJ mesh writer (enabled by default)
1356_IRR_COMPILE_WITH_WAL_LOADER_ to enable the WAL image loader (enabled by default)
1357_IRR_USE_NVIDIA_PERFHUD_ for support of the PerfHUD tool (disabled by default)
1358
1359SceneParameters.h
1360New parameter scene::OBJ_LOADER_IGNORE_GROUPS, which allows to ignore the group structure of obj files. It's disabled by default, meaning obj groups will be represented by separate meshbuffers.
1361
1362SColor.h
1363Renamed method names of the SColorHSL class
1364 void fromRGB(const SColor &color);
1365 void toRGB(SColor &color) const;
1366
1367ITexture.h
1368Added new parameter
1369 virtual void* lock(bool readOnly = false) = 0;
1370
1371IMeshManipulator.h
1372Renamed methods (the old ones still exist, but are deprecated). The new methods also work on meshbuffers, not just meshes.
1373(renamed from scaleMesh)
1374 virtual void scale(IMesh* mesh, const core::vector3df& factor) const = 0;
1375(renamed from transformMesh)
1376 virtual void transform(IMesh* mesh, const core::matrix4& m) const = 0;
1377Changed signature (Added new parameters to adjust the algorithm)
1378 virtual IMesh* createMeshWithTangents(IMesh* mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false) const = 0;
1379
1380IBillboardTextSceneNode.h
1381New interface replacing the multiple inheritance from bliiboard and text scene node previously used by the billboard text scene node.
1382
1383IParticleSystemSceneNode.h
1384All emitters have minStartSize and maxStartSize parameters now, since partice size is handled by the emitters now.
1385Default value added
1386 virtual void setParticlesAreGlobal(bool global=true) = 0;
1387
1388fast_atof.h
1389Signature change (return value changed from u32)
1390inline s32 strtol10(const char* in, const char** out=0)
1391Signature change (parameter changed from float)
1392inline const char* fast_atof_move( const char * in, f32 & out)
1393
1394IAnimatedMeshSceneNode.h
1395Added new parameter (dummy node used for simplifying shadow calculation)
1396 virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
1397 s32 id=-1, bool zfailmethod=true, f32 infinity=10000.0f) = 0;
1398
1399ISceneManager.h
1400Removed extra render passes for quake shaders
1401Changed scene node from ISceneNode to IMeshSceneNode
1402 virtual IMeshSceneNode* addCubeSceneNode(f32 size=10.0f, ISceneNode* parent=0, s32 id=-1, ...)
1403 virtual IMeshSceneNode* addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16, ...)
1404Changed default value (from 256 to 512, for efficiency on common gfx hardware)
1405 virtual ISceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
1406 s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0;
1407Changed default value (from 500.f, to adapt the changed speed scale)
1408 virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
1409 f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, s32 id=-1, ...)
1410Added default values
1411 virtual ISceneNode* addSkyDomeSceneNode(video::ITexture* texture,
1412 u32 horiRes=16, u32 vertRes=8,
1413 f64 texturePercentage=0.9, f64 spherePercentage=2.0,
1414 ISceneNode* parent=0, s32 id=-1) = 0;
1415Changed return value (from ITextSceneNode, due to changed inheritance)
1416 virtual IBillboardTextSceneNode* addBillboardTextSceneNode( gui::IGUIFont* font, const wchar_t* text, ...)
1417Changed default value (gravity, from -100.f)
1418 virtual ISceneNodeAnimatorCollisionResponse* createCollisionResponseAnimator(
1419 ITriangleSelector* world, ISceneNode* sceneNode,
1420 const core::vector3df& ellipsoidRadius = core::vector3df(30,60,30),
1421 const core::vector3df& gravityPerSecond = core::vector3df(0,-10.0f,0),
1422 const core::vector3df& ellipsoidTranslation = core::vector3df(0,0,0),
1423 f32 slidingValue = 0.0005f) = 0;
1424
1425ISceneNodeAnimator.h
1426Changed inheritance (for interactive animators)
1427 class ISceneNodeAnimator : public io::IAttributeExchangingObject, public IEventReceiver
1428Changed to pure virtual (bug fix)
1429 virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0) = 0;
1430
1431IVideoModeList.h
1432Changed return value (constification)
1433 virtual const core::dimension2d<s32>& getDesktopResolution() const = 0;
1434
1435IBoneSceneNode.h
1436Deprecation: Use getName instead.
1437 virtual const c8* getBoneName() const;
1438
1439vector3d.h
1440Changed return value (return *this)
1441 vector3d<T>& set(const T nx, const T ny, const T nz) {X=nx; Y=ny; Z=nz; return *this;}
1442 vector3d<T>& set(const vector3d<T>& p) {X=p.X; Y=p.Y; Z=p.Z;return *this;}
1443 vector3d<T>& setLength(T newlength)
1444 vector3d<T>& invert()
1445Added default value
1446 void rotateXZBy(f64 degrees, const vector3d<T>& center=vector3d<T>())
1447 void rotateXYBy(f64 degrees, const vector3d<T>& center=vector3d<T>())
1448 void rotateYZBy(f64 degrees, const vector3d<T>& center=vector3d<T>())
1449Changed parameter type (interpolation factor must not be integral)
1450 vector3d<T> getInterpolated(const vector3d<T>& other, f64 d) const
1451 vector3d<T> getInterpolated_quadratic(const vector3d<T>& v2, const vector3d<T>& v3, f64 d) const
1452Method made const
1453 vector3d<T> getHorizontalAngle() const
1454
1455SLight.h
1456Attenuation can be overridden by ILightSceneMethod setRadius() Attenuation will
1457change to (0,1.f/radius,0). Can be overridden after radius was set.
1458The following members are read-only now:
1459 f32 Radius;
1460 E_LIGHT_TYPE Type;
1461 bool CastShadows;
1462
1463ITerrainSceneNode.h
1464Parameter type changed (diue to possible 32bit indices)
1465 virtual void getMeshBufferForLOD(IDynamicMeshBuffer& mb, s32 LOD=0) const =0;
1466Added dafault value (highest detail)
1467 virtual void setLODOfPatch(s32 patchX, s32 patchZ, s32 LOD=0) =0;
1468
1469SExposedVideoData.h
1470Changed member attributes (from s32, to fix 64bit architecture problems)
1471 void* HWnd;
1472 void* HDc;
1473 void* HRc;
1474 void* HWnd;
1475
1476IAnimatedMeshMD3.h
1477Changed return value (constification)
1478 const SMD3QuaterionTag& operator[](u32 index) const
1479
1480IQ3Shader.h
1481Changed default q3 shader values (from LIGHTMAP_M2)
1482 const video::E_MATERIAL_TYPE defaultMaterialType = video::EMT_LIGHTMAP_M4;
1483 const video::E_MODULATE_FUNC defaultModulate = video::EMFN_MODULATE_4X;
1484
1485ISceneNode.h
1486Method made virtual
1487 virtual const core::matrix4& getAbsoluteTransformation() const
1488Changed return value (constified)
1489 virtual const core::vector3df& getScale() const
1490 virtual const core::vector3df& getPosition() const
1491
1492IEventReceiver.h
1493Removed member from UserEvent
1494 f32 UserData3;
1495
1496SMaterial.h
1497Changed member type (from u32)
1498 char ZBuffer;
1499
1500IGUISkin.h
1501Added parameter (for alignment)
1502 virtual void draw3DTabButton(IGUIElement* element, bool active,
1503 const core::rect<s32>& rect, const core::rect<s32>* clip=0, gui::EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT) = 0;
1504 virtual void draw3DTabBody(IGUIElement* element, bool border, bool background,
1505 const core::rect<s32>& rect, const core::rect<s32>* clip=0, s32 tabHeight=-1, gui::EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT ) = 0;
1506
1507quaternion.h
1508Renamed method (from getDotProduct)
1509 inline f32 dotProduct(const quaternion& other) const;
1510Changed return value (return *this)
1511 quaternion& set(f32 x, f32 y, f32 z, f32 w);
1512 quaternion& set(f32 x, f32 y, f32 z);
1513 quaternion& set(const core::vector3df& vec);
1514 quaternion& makeInverse();
1515 quaternion& slerp( quaternion q1, quaternion q2, f32 interpolate );
1516 quaternion& fromAngleAxis (f32 angle, const vector3df& axis);
1517 quaternion& makeIdentity();
1518 quaternion& rotationFromTo(const vector3df& from, const vector3df& to);
1519
1520IVideoDriver.h
1521Added parameters (moved from endScene) and added default values
1522 virtual bool beginScene(bool backBuffer=true, bool zBuffer=true,
1523 SColor color=SColor(255,0,0,0), void* windowId=0,
1524 core::rect<s32>* sourceRect=0) = 0;
1525Removed parameter (move to beginScene)
1526 virtual bool endScene() = 0;
1527Renamed method (note, also affects ReferenceCount behavior!)
1528Use addRenderTargetTexture instead of createRenderTargetTexture
1529 virtual ITexture* addRenderTargetTexture(const core::dimension2d<s32>& size,
1530 const c8* name=0) =0;
1531Changed parameters (for 32bit index support)
1532 virtual void drawVertexPrimitiveList(const void* vertices, u32 vertexCount,
1533 const void* indexList, u32 primCount, E_VERTEX_TYPE vType,
1534 scene::E_PRIMITIVE_TYPE pType, E_INDEX_TYPE iType) = 0;
1535Changed parameter (colors are const pointers now)
1536 virtual void draw2DImage(const video::ITexture* texture, const core::rect<s32>& destRect,
1537 const core::rect<s32>& sourceRect, const core::rect<s32>* clipRect = 0,
1538 const video::SColor * const colors=0, bool useAlphaChannelOfTexture=false) = 0;
1539
1540IQ3LevelMesh.h
1541Added default value
1542 virtual const quake3::SShader* getShader( const c8* filename, bool fileNameIsValid=true ) = 0;
1543
1544ICameraSceneNode.h
1545Added method parameter (required to set orthogonal together with projection to avoid inconsistencies)
1546 virtual void setProjectionMatrix(const core::matrix4& projection, bool isOrthogonal = false) = 0;
1547Removed method (use new parameter in setProjectionMatrix)
1548 void setIsOrthogonal( bool orthogonal )
1549Constified return value
1550 virtual const core::vector3df& getTarget() const = 0;
1551 virtual const core::vector3df& getUpVector() const = 0;
1552
1553matrix4.h
1554Removed method (use transformPlane)
1555 void transformPlane_new( core::plane3d<f32> &plane) const;
1556Changed qulifications (to enable use under Win32 systems, too)
1557 IRRLICHT_API extern const matrix4 IdentityMatrix;
1558
1559SIrrCreationParameters.h
1560Changed member attribute types
1561 u8 Bits;
1562 const c8* const SDK_version_do_not_use;
1563
1564IGUIElement.h
1565Renamed method from setRelativePosition (to distinguish rather different parameter interpretation)
1566 void setRelativePositionProportional(const core::rect<f32>& r)
1567
1568irrString.h
1569Constructors made explicit (use core::stringc(var) in places where var was used before)
1570 explicit string(const double number)
1571 explicit string(int number)
1572 explicit string(unsigned int number)
1573Added parameter (allows use of method for stringw, and other things)
1574 string<T>& trim(const string<T> & whitespace = " \t\n\r")
1575
1576vector2d.h
1577Changed return value (return *this)
1578 vector2d<T>& set(T nx, T ny) {X=nx; Y=ny; return *this; }
1579 vector2d<T>& set(const vector2d<T>& p) { X=p.X; Y=p.Y; return *this; }
1580Added default value
1581 vector2d<T>& rotateBy(f64 degrees, const vector2d<T>& center=vector2d<T>())
1582Changed parameter type (interpolation factor must not be int)
1583 vector2d<T> getInterpolated(const vector2d<T>& other, f64 d) const
1584 vector2d<T> getInterpolated_quadratic(const vector2d<T>& v2, const vector2d<T>& v3, f64 d) const
1585 vector2d<T>& interpolate(const vector2d<T>& a, const vector2d<T>& b, f64 d)
1586
1587Changes for Version 1.5.1
1588-------------------------
1589This release is a pure bugfixes release, with almost no visible API changes. All changes should be backward compatible (as it's just a minor release), but you have to recompile the app due to changes in the virtual method tables.
1590
1591dimension2d.h
1592Fixed a bug in the operator+=, added operator-= and changed comparison to equal() method.
1593 dimension2d<T>& operator-=(const dimension2d<T>& other)
1594
1595IrrCompileConfig.h
1596Added defines to check for the Irrlicht version in the code.
1597 IRRLICHT_VERSION_MAJOR
1598 IRRLICHT_VERSION_MINOR
1599 IRRLICHT_VERSION_REVISION
1600 IRRLICHT_VERSION_SVN // only defined if you're using a version from SVN, i.e. not officially released one
1601
1602IrrlichtDevice.h
1603Added static method isDriverSupported which checks the driver support of the library
1604 static bool isDriverSupported(video::E_DRIVER_TYPE driver)
1605
1606irrMath.h
1607Added iszero specialization for f64
1608 bool iszero(const f64 a, const f64 tolerance = ROUNDING_ERROR_64)
1609
1610irrXML.h
1611Added deleteCallback flag for cleanup of the ReadCallback.
1612 IrrXMLReader* createIrrXMLReader(IFileReadCallBack* callback, bool deleteCallback = false);
1613 IrrXMLReaderUTF16* createIrrXMLReaderUTF16(IFileReadCallBack* callback, bool deleteCallback = false);
1614 IrrXMLReaderUTF32* createIrrXMLReaderUTF32(IFileReadCallBack* callback, bool deleteCallback = false);
1615
1616ISceneNode.h
1617Added getSceneManager to get the currently used scene manager of the node.
1618 ISceneManager* getSceneManager(void) const
1619
1620IVideoDriver.h
1621Added default values for vType, pType, and iType
1622 virtual void drawVertexPrimitiveList(const void* vertices, u32 vertexCount, const void* indexList, u32 primCount,
1623 E_VERTEX_TYPE vType=EVT_STANDARD, scene::E_PRIMITIVE_TYPE pType=scene::EPT_TRIANGLES, E_INDEX_TYPE iType=EIT_16BIT)
1624Added method to draw 2d rectangle outline
1625 void draw2DRectangleOutline(const core::recti& pos, SColor color=SColor(255,255,255,255))
1626
1627matrix4.h
1628Added method to get transposedInverse
1629 CMatrix4<T> transposedInverse(*this, EM4CONST_INVERSE_TRANSPOSED)
1630
1631rect.h
1632Added typedefs
1633 typedef rect<f32> rectf;
1634 typedef rect<s32> recti;
1635
1636SSharedMeshBuffer.h
1637Split hardware mapping hint into vertex and index part
1638 E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const
1639 E_HARDWARE_MAPPING getHardwareMappingHint_Index() const
1640 void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX )
1641
1642vector2d.h
1643Fix angle calculation for integer vectors
1644
1645Changes for Version 1.5.2
1646-------------------------
1647Even less visible changes have been made in this version. Only the automatic Solaris OS recognition has changed, so make sure you have all things defined properly if you compile for Solaris. And the float parser bugfix is a visible change, though non-interfering for existing code.
1648
1649Changes for Version 1.6.0
1650-------------------------
1651This releases has many changes in method signatures. The most obvious ones are signedness changes from s32 to u32. Since many templates won't accept both types, you need to change the types manually in your code. The other major change is from many different types of strings to the new class io::path. These changes should be transparent to the app, unless you need proper overrides in derived classes.
1652Finally, some deprecated methods have been removed, and some were simply renamed. Just check the API if some methods is not found anymore.
1653
1654IMeshSceneNode.h
1655Added default parameters for identity transformation
1656 IMeshSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
1657 const core::vector3df& position = core::vector3df(0,0,0),
1658 const core::vector3df& rotation = core::vector3df(0,0,0),
1659 const core::vector3df& scale = core::vector3df(1,1,1))
1660
1661path.h
1662This is a new type, which handles stuff with UTF file systems.
1663typedef core::string<fschar_t> io::path;
1664
1665ESceneNodeTypes.h
1666New scene node identifiers
1667 ESNT_SKY_DOME = MAKE_IRR_ID('s','k','y','d'),
1668 ESNT_Q3SHADER_SCENE_NODE = MAKE_IRR_ID('q','3','s','h'),
1669 ESNT_VOLUME_LIGHT = MAKE_IRR_ID('v','o','l','l'),
1670
1671IGUIListBox.h
1672New methods
1673 virtual void setSelected(const wchar_t *item) = 0;
1674 virtual void setItemHeight( s32 height ) = 0;
1675 virtual void setDrawBackground(bool draw) = 0;
1676
1677ITexture.h
1678New texture generation flag for burnings video driver
1679 //! Allow the Driver to use Non-Power-2-Textures
1680 ETCF_ALLOW_NON_POWER_2 = 0x00000040,
1681Parameter change (now using path type instead of C-strings)
1682 ITexture(const io::path& name)
1683Signedness change
1684 virtual const core::dimension2d<u32>& getOriginalSize() const = 0;
1685 virtual const core::dimension2d<u32>& getSize() const = 0;
1686New method
1687 virtual bool hasAlpha() const
1688Parameter change (now using path type instead of stringc)
1689 const io::path& getName() const
1690
1691ILightManager.h
1692This is a new interface for the light manager
1693 class ILightManager : public IReferenceCounted
1694
1695IGUIEditBox.h
1696Signedness change
1697 virtual core::dimension2du getTextDimension() = 0;
1698
1699ITriangleSelector.h
1700New method
1701 virtual const ISceneNode* getSceneNodeForTriangle(u32 triangleIndex) const = 0;
1702
1703IMeshManipulator.h
1704New methods
1705 virtual void makePlanarTextureMapping(scene::IMeshBuffer* meshbuffer, f32 resolution=0.001f) const =0;
1706 virtual void makePlanarTextureMapping(scene::IMeshBuffer* buffer, f32 resolutionS, f32 resolutionT, u8 axis, const core::vector3df& offset) const =0;
1707 virtual IMesh* createMeshWith1TCoords(IMesh* mesh) const = 0;
1708
1709SceneParameters.h
1710Removed parameter
1711 const c8* const DMF_USE_MATERIALS_DIRS = "DMF_MaterialsDir";
1712New parameters
1713 const c8* const DMF_IGNORE_MATERIALS_DIRS = "DMF_IgnoreMaterialsDir";
1714 const c8* const OBJ_LOADER_IGNORE_MATERIAL_FILES = "OBJ_IgnoreMaterialFiles";
1715 const c8* const B3D_LOADER_IGNORE_MIPMAP_FLAG = "B3D_IgnoreMipmapFlag";
1716 const c8* const DEBUG_NORMAL_LENGTH = "DEBUG_Normal_Length";
1717 const c8* const DEBUG_NORMAL_COLOR = "DEBUG_Normal_Color";
1718
1719SViewFrustum.h
1720Removed method (use getTransform)
1721 void setTransformState( video::E_TRANSFORMATION_STATE state);
1722New methods
1723 core::matrix4& getTransform( video::E_TRANSFORMATION_STATE state);
1724 const core::matrix4& getTransform( video::E_TRANSFORMATION_STATE state) const;
1725 bool clipLine(core::line3d<f32>& line) const;
1726
1727IFileList.h
1728Changed parameters (to io::path)
1729 virtual const io::path& getFileName(u32 index) const = 0;
1730 virtual const io::path& getFullFileName(u32 index) const = 0;
1731New methods
1732 virtual u32 getFileSize(u32 index) const = 0;
1733 virtual s32 findFile(const io::path& filename, bool isFolder=false) const = 0;
1734 virtual const io::path& getPath() const = 0;
1735
1736coreutil.h
1737New methods
1738 s32 isFileExtension(const io::path& filename,
1739 const io::path& ext0, const io::path& ext1, const io::path& ext2)
1740 bool hasFileExtension(const io::path& filename,
1741 const io::path& ext0, const io::path& ext1 = "", const io::path& ext2 = "")
1742 stringw& cutFilenameExtension ( stringw &dest, const stringw &source )
1743 core::stringw& deletePathFromFilename(core::stringw& filename)
1744 core::stringc& deletePathFromFilename(core::stringc& filename)
1745 io::path& deletePathFromPath(io::path& filename, s32 pathCount)
1746 s32 isInSameDirectory ( const io::path& path, const io::path& file )
1747
1748IGUIComboBox.h
1749New methods
1750 virtual u32 getItemData(u32 idx) const = 0;
1751 virtual s32 getIndexForItemData(u32 data ) const = 0;
1752New parameter
1753 virtual u32 addItem(const wchar_t* text, u32 data = 0) = 0;
1754
1755irrArray.h
1756New allocation scheme member
1757 array()
1758Use overload instead of different name
1759 s32 binary_search(const T& element) const
1760New method
1761 void setAllocStrategy ( eAllocStrategy newStrategy = ALLOC_STRATEGY_DOUBLE )
1762 s32 binary_search_multi(const T& element, s32 &last)
1763
1764IrrCompileConfig.h
1765New compiler flags
1766 #define _IRR_MATERIAL_MAX_TEXTURES_ 4
1767 //! Define _IRR_D3D_USE_LEGACY_HLSL_COMPILER to enable the old HLSL compiler in recent DX SDKs
1768 #define BURNINGVIDEO_RENDERER_CE
1769 #define IGNORE_DEPRECATED_WARNING
1770 #define _IRR_COMPILE_WITH_PLY_LOADER_
1771 #define _IRR_COMPILE_WITH_PLY_WRITER_
1772 #define _IRR_COMPILE_WITH_RGB_LOADER_
1773 #define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
1774 #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
1775 #define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
1776 #define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
1777 //! _IRR_WINDOWS_CE_PLATFORM_ for Windows CE
1778 //! _IRR_COMPILE_WITH_WINDOWS_DEVICE_ for Windows API based device
1779 //! _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_ for Windows CE API based device
1780 //! _IRR_COMPILE_WITH_OSX_DEVICE_ for Cocoa native windowing on OSX
1781 //! _IRR_COMPILE_WITH_X11_DEVICE_ for Linux X11 based device
1782 //! _IRR_COMPILE_WITH_SDL_DEVICE_ for platform independent SDL framework
1783 //! _IRR_COMPILE_WITH_CONSOLE_DEVICE_ for no windowing system, used as a fallback
1784Removed compiler flags
1785 //! _IRR_USE_SDL_DEVICE_ for platform independent SDL framework
1786 //! _IRR_USE_WINDOWS_DEVICE_ for Windows API based device
1787 //! _IRR_USE_WINDOWS_CE_DEVICE_ for Windows CE API based device
1788 //! _IRR_USE_LINUX_DEVICE_ for X11 based device
1789 //! _IRR_USE_OSX_DEVICE_ for Cocoa native windowing on OSX
1790Old compilers rejected
1791 # error "Only Microsoft Visual Studio 7.0 and later are supported."
1792Force symbol export in shared libraries built with gcc.
1793 #define IRRLICHT_API __attribute__ ((visibility("default")))
1794
1795IGUIFileOpenDialog.h
1796New method
1797 virtual const io::path& getDirectoryName() = 0;
1798
1799EDeviceTypes.h
1800New enum for multi-device support
1801 enum E_DEVICE_TYPE
1802
1803IMeshLoader.h
1804Changed parameter to use io::path instead of C strings
1805 virtual bool isALoadableFileExtension(const io::path& filename) const = 0;
1806
1807IAnimatedMeshSceneNode.h
1808Changed return value to pointer type
1809 virtual const SMD3QuaternionTag* getMD3TagTransformation( const core::stringc & tagname) = 0;
1810
1811ISceneManager.h
1812New enum values and numbering
1813 enum E_SCENE_NODE_RENDER_PASS
1814 ESNRP_NONE =0,
1815 ESNRP_TRANSPARENT =16,
1816 ESNRP_TRANSPARENT_EFFECT =32,
1817Changed parameter to use io::path instead of C strings
1818 virtual IAnimatedMesh* getMesh(const io::path& filename) = 0;
1819New methods
1820 virtual io::IFileSystem* getFileSystem() = 0;
1821 virtual ITriangleSelector* createTriangleSelector(IAnimatedMeshSceneNode* node) = 0;
1822 virtual const c8* getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) = 0;
1823 virtual ISkinnedMesh* createSkinnedMesh() = 0;
1824 virtual void setLightManager(ILightManager* lightManager) = 0;
1825 virtual const IGeometryCreator* getGeometryCreator(void) const = 0;
1826 virtual bool isCulled(const ISceneNode* node) const =0;
1827Changed return type to IMeshSceneNode
1828 virtual IMeshSceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
1829 s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0;
1830 virtual IMeshSceneNode* addOctTreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
1831 s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
1832 virtual IMeshSceneNode* addQuake3SceneNode(IMeshBuffer* meshBuffer, const quake3::IShader * shader,
1833 ISceneNode* parent=0, s32 id=-1) = 0;
1834New parameter invertMouse
1835 virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
1836 f32 rotateSpeed = 100.0f, f32 moveSpeed = 0.5f, s32 id=-1,
1837 SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false,
1838 f32 jumpSpeed = 0.f, bool invertMouse=false) = 0;
1839New parameter radius
1840 virtual ISceneNode* addSkyDomeSceneNode(video::ITexture* texture,
1841 u32 horiRes=16, u32 vertRes=8,
1842 f32 texturePercentage=0.9, f32 spherePercentage=2.0,f32 radius = 1000.f,
1843 ISceneNode* parent=0, s32 id=-1) = 0;
1844Changed to use io::path instead of C strings
1845 virtual ITerrainSceneNode* addTerrainSceneNode(
1846 const io::path& heightMapFileName,
1847 ISceneNode* parent=0, s32 id=-1,
1848 virtual IAnimatedMesh* addHillPlaneMesh(const io::path& name,
1849 const core::dimension2d<f32>& tileSize, const core::dimension2d<u32>& tileCount,
1850 video::SMaterial* material = 0, f32 hillHeight = 0.0f,
1851 const core::dimension2d<f32>& countHills = core::dimension2d<f32>(0.0f, 0.0f),
1852 const core::dimension2d<f32>& textureRepeatCount = core::dimension2d<f32>(1.0f, 1.0f)) = 0;
1853 virtual IAnimatedMesh* addArrowMesh(const io::path& name,
1854 video::SColor vtxColor0=0xFFFFFFFF,
1855 video::SColor vtxColor1=0xFFFFFFFF,
1856 u32 tesselationCylinder=4, u32 tesselationCone=8,
1857 virtual IAnimatedMesh* addSphereMesh(const io::path& name,
1858 f32 radius=5.f, u32 polyCountX = 16,
1859 u32 polyCountY = 16) = 0;
1860 virtual bool saveScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0) = 0;
1861 virtual bool loadScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0) = 0;
1862Changed to use io::path instead of C strings and signedness change
1863 virtual IAnimatedMesh* addTerrainMesh(const io::path& meshname,
1864 video::IImage* texture, video::IImage* heightmap,
1865 const core::dimension2d<f32>& stretchSize = core::dimension2d<f32>(10.0f,10.0f),
1866 f32 maxHeight=200.0f,
1867 const core::dimension2d<u32>& defaultVertexBlockSize = core::dimension2d<u32>(64,64)) = 0;
1868New method
1869 virtual IAnimatedMesh* addVolumeLightMesh(const io::path& name,
1870 const u32 SubdivideU = 32, const u32 SubdivideV = 32,
1871 const video::SColor FootColor = video::SColor(51, 0, 230, 180),
1872 const video::SColor TailColor = video::SColor(0, 0, 0, 0)) = 0;
1873Constification of method
1874 virtual ICameraSceneNode* getActiveCamera() const =0;
1875New parameters
1876 virtual ISceneNodeAnimator* createFlyCircleAnimator(
1877 const core::vector3df& center=core::vector3df(0.f,0.f,0.f),
1878 f32 radius=100.f, f32 speed=0.001f,
1879 const core::vector3df& direction=core::vector3df(0.f, 1.f, 0.f),
1880 f32 startPosition = 0.f,
1881 f32 radiusEllipsoid = 0.f) = 0;
1882 virtual ISceneNodeAnimator* createFlyStraightAnimator(const core::vector3df& startPoint,
1883 const core::vector3df& endPoint, u32 timeForWay, bool loop=false, bool pingpong = false) = 0;
1884
1885ISceneNodeAnimatorCollisionResponse.h
1886New interface
1887 class ICollisionCallback : public virtual IReferenceCounted
1888New methods for ISceneNodeAnimatorCollisionResponse
1889 virtual void setAnimateTarget ( bool enable ) = 0;
1890 virtual bool getAnimateTarget () const = 0;
1891 virtual void setTargetNode(ISceneNode * node) = 0;
1892 virtual ISceneNode* getTargetNode(void) const = 0;
1893 virtual bool collisionOccurred() const = 0;
1894 virtual const core::vector3df & getCollisionPoint() const = 0;
1895 virtual const core::triangle3df & getCollisionTriangle() const = 0;
1896 virtual const core::vector3df & getCollisionResultPosition(void) const = 0;
1897 virtual const ISceneNode* getCollisionNode(void) const = 0;
1898 virtual void setCollisionCallback(ICollisionCallback* callback) = 0;
1899
1900ILightSceneNode.h
1901New methods
1902 virtual void setVisible(bool isVisible) = 0;
1903
1904EMeshWriterEnums.h
1905New enums
1906 EMWT_PLY = MAKE_IRR_ID('p','l','y',0)
1907 EMWF_WRITE_BINARY = 0x4
1908
1909ISceneNodeAnimator.h
1910New method
1911 virtual bool hasFinished(void) const
1912
1913SMaterialLayer.h
1914Changed types
1915 u8 TextureWrap;
1916 bool BilinearFilter:1;
1917 bool TrilinearFilter:1;
1918 u8 AnisotropicFilter;
1919New member
1920 s8 LODBias;
1921
1922IVideoModeList.h
1923Signedness change
1924 virtual core::dimension2d<u32> getVideoModeResolution(s32 modeNumber) const = 0;
1925 virtual core::dimension2d<u32> getVideoModeResolution(const core::dimension2d<u32>& minSize, const core::dimension2d<u32>& maxSize) const = 0;
1926 virtual const core::dimension2d<u32>& getDesktopResolution() const = 0;
1927
1928EMaterialFlags.h
1929Enum values changed (all renumbered)
1930
1931ISkinnedMesh.h
1932Renamed methods (was create... before, but these methods grab the things they create)
1933 virtual SSkinMeshBuffer* addMeshBuffer() = 0;
1934 virtual SJoint* addJoint(SJoint *parent=0) = 0;
1935 virtual SWeight* addWeight(SJoint *joint) = 0;
1936 virtual SPositionKey* addPositionKey(SJoint *joint) = 0;
1937 virtual SScaleKey* addScaleKey(SJoint *joint) = 0;
1938 virtual SRotationKey* addRotationKey(SJoint *joint) = 0;
1939
1940SLight.h
1941Type change
1942 bool CastShadows:1;
1943
1944IGUITreeView.h
1945New element
1946// written by Reinhard Ostermeier, reinhard@nospam.r-ostermeier.de
1947 class IGUITreeView : public IGUIElement
1948
1949IAnimatedMeshMD3.h
1950Renamed class (from SMD3QuaterionTag)
1951 struct SMD3QuaternionTag
1952
1953IGUIEnvironment.h
1954New methods
1955 virtual IGUIImageList* createImageList( video::ITexture* texture,
1956 core::dimension2d<s32> imageSize, bool useAlphaChannel ) = 0;
1957 virtual IGUITreeView* addTreeView(const core::rect<s32>& rectangle,
1958 IGUIElement* parent=0, s32 id=-1, bool drawBackground=false,
1959 bool scrollBarVertical = true, bool scrollBarHorizontal = false) = 0;
1960Changed parameters to use io::path (instead of C strings)
1961 virtual IGUIFont* getFont(const io::path& filename) = 0;
1962 virtual IGUISpriteBank* getSpriteBank(const io::path& filename) = 0;
1963 virtual IGUISpriteBank* addEmptySpriteBank(const io::path& name) = 0;
1964 virtual bool saveGUI(const io::path& filename, IGUIElement* start=0) = 0;
1965 virtual bool loadGUI(const io::path& filename, IGUIElement* parent=0) = 0;
1966New parameter "border"
1967 virtual IGUISpinBox* addSpinBox(const wchar_t* text, const core::rect<s32>& rectangle,
1968 bool border=true,IGUIElement* parent=0, s32 id=-1) = 0;
1969
1970IQ3Shader.h
1971Made non-const
1972 static core::stringc irrEmptyStringc("");
1973New enum values
1974 enum eQ3MeshIndex
1975 E_Q3_MESH_FOG,
1976 E_Q3_MESH_UNRESOLVED,
1977
1978IGeometryCreator.h
1979New interface
1980 class IGeometryCreator : public IReferenceCounted
1981
1982IFileArchive.h
1983New interfaces
1984 class IFileArchive : public virtual IReferenceCounted
1985 class IArchiveLoader : public virtual IReferenceCounted
1986
1987IFileSystem.h
1988Changed parameters to use io::path (instead of C strings/stringc)
1989 virtual IReadFile* createAndOpenFile(const path& filename) =0;
1990 virtual IReadFile* createMemoryReadFile(void* memory, s32 len, const path& fileName, bool deleteMemoryWhenDropped=false) =0;
1991 virtual IWriteFile* createAndWriteFile(const path& filename, bool append=false) =0;
1992 virtual const path& getWorkingDirectory() =0;
1993 virtual bool changeWorkingDirectoryTo(const path& newDirectory) =0;
1994 virtual path getAbsolutePath(const path& filename) const =0;
1995 virtual path getFileDir(const path& filename) const =0;
1996 virtual path getFileBasename(const path& filename, bool keepExtension=true) const =0;
1997 virtual bool existFile(const path& filename) const =0;
1998 virtual IXMLReader* createXMLReader(const path& filename) =0;
1999 virtual IXMLReaderUTF8* createXMLReaderUTF8(const path& filename) =0;
2000 virtual IXMLWriter* createXMLWriter(const path& filename) =0;
2001New methods
2002 virtual IReadFile* createLimitReadFile(const path& fileName,
2003 IReadFile* alreadyOpenedFile, long pos, long areaSize) =0;
2004 virtual IWriteFile* createMemoryWriteFile(void* memory, s32 len, const path& fileName, bool deleteMemoryWhenDropped=false) =0;
2005 virtual bool addFileArchive(const path& filename, bool ignoreCase=true, bool ignorePaths=true,
2006 E_FILE_ARCHIVE_TYPE archiveType=EFAT_UNKNOWN) =0;
2007 virtual void addArchiveLoader(IArchiveLoader* loader) =0;
2008 virtual u32 getFileArchiveCount() const =0;
2009 virtual bool removeFileArchive(u32 index) =0;
2010 virtual bool removeFileArchive(const path& filename) =0;
2011 virtual bool moveFileArchive(u32 sourceIndex, s32 relative) =0;
2012 virtual IFileArchive* getFileArchive(u32 index) =0;
2013 virtual path& flattenFilename(path& directory, const path& root="/") const =0;
2014 virtual EFileSystemType setFileListSystem(EFileSystemType listType) =0;
2015Deprecate methods
2016 virtual bool addZipFileArchive(const c8* filename, bool ignoreCase=true, bool ignorePaths=true)
2017 virtual bool addFolderFileArchive(const c8* filename, bool ignoreCase=true, bool ignorePaths=true)
2018 virtual bool addPakFileArchive(const c8* filename, bool ignoreCase=true, bool ignorePaths=true)
2019Constification of method
2020 virtual IFileList* createFileList() =0;
2021
2022IrrlichtDevice.h
2023Renamed method (from setResizeAble)
2024 virtual void setResizable(bool resize=false) = 0;
2025New methods
2026 virtual void minimizeWindow() =0;
2027 virtual void maximizeWindow() =0;
2028 virtual void restoreWindow() =0;
2029 virtual bool setGammaRamp(f32 red, f32 green, f32 blue,
2030 f32 relativebrightness, f32 relativecontrast) =0;
2031 virtual bool getGammaRamp(f32 &red, f32 &green, f32 &blue,
2032 f32 &brightness, f32 &contrast) =0;
2033 virtual E_DEVICE_TYPE getType() const = 0;
2034
2035irrMath.h
2036Renamed from ROUNDING_ERROR_32
2037 const f32 ROUNDING_ERROR_f32 = 0.000001f;
2038Renamed from ROUNDING_ERROR_64
2039 const f64 ROUNDING_ERROR_f64 = 0.00000001;
2040New constant
2041 const s32 ROUNDING_ERROR_S32 = 1;
2042New methods
2043 bool isnotzero(const f32 a, const f32 tolerance = ROUNDING_ERROR_f32)
2044 u16 if_c_a_else_b ( const s16 condition, const u16 a, const u16 b )
2045 f32 squareroot(const f32 f)
2046 f64 squareroot(const f64 f)
2047 s32 squareroot(const s32 f)
2048 f64 reciprocal_squareroot(const f64 x)
2049 s32 reciprocal_squareroot(const s32 x)
2050 f64 reciprocal ( const f64 f )
2051
2052IGPUProgrammingServices.h
2053Changed parameters to use io::path
2054 virtual s32 addHighLevelShaderMaterialFromFiles(
2055 const io::path& vertexShaderProgramFileName,
2056 const c8* vertexShaderEntryPointName = "main",
2057 E_VERTEX_SHADER_TYPE vsCompileTarget = EVST_VS_1_1,
2058 const io::path& pixelShaderProgramFileName = "",
2059 const c8* pixelShaderEntryPointName = "main",
2060 E_PIXEL_SHADER_TYPE psCompileTarget = EPST_PS_1_1,
2061 IShaderConstantSetCallBack* callback = 0,
2062 virtual s32 addShaderMaterialFromFiles(const io::path& vertexShaderProgramFileName,
2063 const io::path& pixelShaderProgramFileName,
2064 IShaderConstantSetCallBack* callback = 0,
2065 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID,
2066 s32 userData = 0) = 0;
2067
2068ISceneNode.h
2069New method
2070 virtual bool isTrulyVisible() const
2071
2072IEventReceiver.h
2073New enum values
2074 EMIE_MOUSE_DOUBLE_CLICK,
2075 EMIE_MOUSE_TRIPLE_CLICK,
2076 EGET_DIRECTORY_SELECTED,
2077 EGET_EDITBOX_CHANGED,
2078 EGET_EDITBOX_MARKING_CHANGED,
2079 EGET_TREEVIEW_NODE_DESELECT,
2080 EGET_TREEVIEW_NODE_SELECT,
2081 EGET_TREEVIEW_NODE_EXPAND,
2082 EGET_TREEVIEW_NODE_COLLAPS,
2083 EGET_COUNT
2084New enum
2085 enum E_MOUSE_BUTTON_STATE_MASK
2086New members
2087 bool Shift:1;
2088 bool Control:1;
2089 u32 ButtonStates;
2090New methods
2091 bool isLeftPressed() const { return 0 != ( ButtonStates & EMBSM_LEFT ); }
2092 bool isRightPressed() const { return 0 != ( ButtonStates & EMBSM_RIGHT ); }
2093 bool isMiddlePressed() const { return 0 != ( ButtonStates & EMBSM_MIDDLE ); }
2094Types changed
2095 bool PressedDown:1;
2096 bool Shift:1;
2097 bool Control:1;
2098
2099IGUISpriteBank.h
2100New method
2101 virtual void draw2DSpriteBatch(const core::array<u32>& indices, const core::array<core::position2di>& pos,
2102 const core::rect<s32>* clip=0,
2103 const video::SColor& color= video::SColor(255,255,255,255),
2104 u32 starttime=0, u32 currenttime=0,
2105 bool loop=true, bool center=false) = 0;
2106
2107SMaterial.h
2108New enums
2109 enum E_COMPARISON_FUNC
2110 enum E_COLOR_PLANE
2111 enum E_ALPHA_SOURCE
2112 enum E_ANTI_ALIASING_MODE
2113 enum E_COLOR_MATERIAL
2114New parameters
2115 inline f32 pack_texureBlendFunc ( const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dstFact, const E_MODULATE_FUNC modulate=EMFN_MODULATE_1X, const u32 alphaSource=EAS_TEXTURE )
2116 inline void unpack_texureBlendFunc ( E_BLEND_FACTOR &srcFact, E_BLEND_FACTOR &dstFact,
2117 E_MODULATE_FUNC &modulo, u32& alphaSource, const f32 param )
2118New methods
2119 inline bool textureBlendFunc_hasAlpha ( const E_BLEND_FACTOR factor )
2120Default value set elsewhere now (see IrrCompileConfig.h)
2121 const u32 MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_;
2122Types changed
2123 u8 ZBuffer;
2124 bool Wireframe:1;
2125 bool PointCloud:1;
2126 bool GouraudShading:1;
2127 bool Lighting:1;
2128 bool ZWriteEnable:1;
2129 bool BackfaceCulling:1;
2130 bool FrontfaceCulling:1;
2131 bool FogEnable:1;
2132 bool NormalizeNormals:1;
2133New members
2134 u8 AntiAliasing;
2135 u8 ColorMask:4;
2136 u8 ColorMaterial:3;
2137New constant
2138 IRRLICHT_API extern SMaterial IdentityMaterial;
2139
2140IGUISkin.h
2141New enum values
2142 EGDS_TITLEBARTEXT_DISTANCE_X,
2143 EGDS_TITLEBARTEXT_DISTANCE_Y,
2144
2145quaternion.h
2146New parameters
2147 void getMatrix( matrix4 &dest, const vector3df &translation ) const;
2148New method
2149 void getMatrixCenter( matrix4 &dest, const vector3df &center, const vector3df &translation ) const;
2150
2151ISceneNodeAnimatorCameraFPS.h
2152New method
2153 virtual void setInvertMouse(bool invert) = 0;
2154
2155IImage.h
2156New enum values
2157 /** Floating Point formats. The following formats may only be used for render target textures. */
2158 ECF_R16F,
2159 ECF_G16R16F,
2160 ECF_A16B16G16R16F,
2161 ECF_R32F,
2162 ECF_G32R32F,
2163 ECF_A32B32G32R32F,
2164 ECF_UNKNOWN
2165Signedness change
2166 virtual const core::dimension2d<u32>& getDimension() const = 0;
2167 virtual void copyToScaling(void* target, u32 width, u32 height, ECOLOR_FORMAT format=ECF_A8R8G8B8, u32 pitch=0) =0;
2168New parameter
2169 virtual void setPixel(u32 x, u32 y, const SColor &color, bool blend = false ) = 0;
2170New method
2171 virtual void copyToScalingBoxFilter(IImage* target, s32 bias = 0, bool blend = false) = 0;
2172 static u32 getBitsPerPixelFromFormat(const ECOLOR_FORMAT format)
2173 static bool isRenderTargetOnlyFormat(const ECOLOR_FORMAT format)
2174
2175IVideoDriver.h
2176New enum values (only existing if _IRR_MATERIAL_MAX_TEXTURES_ large enough)
2177 ETS_TEXTURE_4
2178 ETS_TEXTURE_5
2179 ETS_TEXTURE_6
2180 ETS_TEXTURE_7
2181New enums
2182 enum E_RENDER_TARGET
2183 enum E_FOG_TYPE
2184New type
2185 struct SOverrideMaterial
2186New methods
2187 virtual u32 getImageLoaderCount() const = 0;
2188 virtual IImageLoader* getImageLoader(u32 n) = 0;
2189 virtual u32 getImageWriterCount() const = 0;
2190 virtual IImageWriter* getImageWriter(u32 n) = 0;
2191 virtual bool setRenderTarget(E_RENDER_TARGET target, bool clearTarget=true,
2192 bool clearZBuffer=true, SColor color=video::SColor(0,0,0,0)) =0;
2193 virtual void draw2DVertexPrimitiveList(const void* vertices, u32 vertexCount,
2194 const void* indexList, u32 primCount,
2195 E_VERTEX_TYPE vType=EVT_STANDARD,
2196 scene::E_PRIMITIVE_TYPE pType=scene::EPT_TRIANGLES,
2197 E_INDEX_TYPE iType=EIT_16BIT) =0;
2198 virtual void draw2DImageBatch(const video::ITexture* texture,
2199 const core::array<core::position2d<s32> >& positions,
2200 const core::array<core::rect<s32> >& sourceRects,
2201 const core::rect<s32>* clipRect=0,
2202 SColor color=SColor(255,255,255,255),
2203 bool useAlphaChannelOfTexture=false) =0;
2204 virtual void turnLightOn(s32 lightIndex, bool turnOn) =0;
2205 virtual bool writeImageToFile(IImage* image, io::IWriteFile* file, u32 param =0) =0;
2206 virtual IImage* createImage(ITexture* texture,
2207 const core::position2d<s32>& pos, const core::dimension2d<u32>& size) =0;
2208 virtual void setMinHardwareBufferVertexCount(u32 count) =0;
2209 virtual SOverrideMaterial& getOverrideMaterial() =0;
2210Changed parameters to use io::path
2211 virtual ITexture* getTexture(const io::path& filename) = 0;
2212 virtual void renameTexture(ITexture* texture, const io::path& newName) = 0;
2213 virtual ITexture* addTexture(const io::path& name, IImage* image) = 0;
2214 virtual IImage* createImageFromFile(const io::path& filename) = 0;
2215 virtual bool writeImageToFile(IImage* image, const io::path& filename, u32 param = 0) = 0;
2216 virtual video::ITexture* findTexture(const io::path& filename) = 0;
2217Changed signedness
2218 virtual ITexture* addTexture(const core::dimension2d<u32>& size,
2219 const io::path& name, ECOLOR_FORMAT format = ECF_A8R8G8B8) = 0;
2220 virtual const core::dimension2d<u32>& getScreenSize() const =0;
2221 virtual const core::dimension2d<u32>& getCurrentRenderTargetSize() const =0;
2222 virtual IImage* createImageFromData(ECOLOR_FORMAT format,
2223 const core::dimension2d<u32>& size, void *data,
2224 bool ownForeignMemory=false,
2225 bool deleteMemory = true) =0;
2226 virtual IImage* createImage(ECOLOR_FORMAT format, const core::dimension2d<u32>& size) =0;
2227 virtual IImage* createImage(IImage* imageToCopy,
2228 const core::position2d<s32>& pos,
2229 const core::dimension2d<u32>& size) =0;
2230 virtual void OnResize(const core::dimension2d<u32>& size) =0;
2231Changed signedness and usage of io::path
2232 virtual ITexture* addRenderTargetTexture(const core::dimension2d<u32>& size,
2233 const io::path& name = "rt", const ECOLOR_FORMAT format = ECF_UNKNOWN) =0;
2234Removed deprecated method
2235 virtual ITexture* createRenderTargetTexture(const core::dimension2d<s32>& size,
2236 const c8* name=0) =0;
2237New parameter
2238 virtual void makeColorKeyTexture(video::ITexture* texture,
2239 video::SColor color, bool zeroTexels = false) const =0;
2240 virtual void makeColorKeyTexture(video::ITexture* texture,
2241 core::position2d<s32> colorKeyPixelPos, bool zeroTexels = false) const =0;
2242Changed parameters
2243 virtual void setFog(SColor color=SColor(0,255,255,255),
2244 E_FOG_TYPE fogType=EFT_FOG_LINEAR,
2245 f32 start=50.0f, f32 end=100.0f, f32 density=0.01f,
2246 bool pixelFog=false, bool rangeFog=false) =0;
2247Changed return types
2248 virtual s32 addDynamicLight(const SLight& light) =0;
2249
2250EDriverFeatures.h
2251New enum values
2252 EVDF_ALPHA_TO_COVERAGE,
2253 EVDF_COLOR_MASK,
2254
2255IGUIScrollBar.h
2256New methods
2257 virtual void setMin(s32 max) = 0;
2258 virtual s32 getMin() const = 0;
2259
2260IQ3LevelMesh.h
2261Removed method
2262 virtual void releaseMesh(s32 index) = 0;
2263Made return value non-const
2264 virtual quake3::tQ3EntityList& getEntityList() = 0;
2265
2266ISceneCollisionManager.h
2267New parameter
2268 virtual bool getCollisionPoint(const core::line3d<f32>& ray,
2269 ITriangleSelector* selector, core::vector3df& outCollisionPoint,
2270 core::triangle3df& outTriangle, const ISceneNode*& outNode) =0;
2271 virtual core::vector3df getCollisionResultPosition(
2272 ITriangleSelector* selector,
2273 const core::vector3df &ellipsoidPosition,
2274 const core::vector3df& ellipsoidRadius,
2275 const core::vector3df& ellipsoidDirectionAndSpeed,
2276 core::triangle3df& triout,
2277 core::vector3df& hitPosition,
2278 bool& outFalling,
2279 const ISceneNode*& outNode,
2280 f32 slidingSpeed = 0.0005f,
2281 const core::vector3df& gravityDirectionAndSpeed = core::vector3df(0.0f, 0.0f, 0.0f)) = 0;
2282Made parameter const&
2283 virtual core::line3d<f32> getRayFromScreenCoordinates(
2284 const core::position2d<s32> & pos, ICameraSceneNode* camera = 0) = 0;
2285 virtual core::position2d<s32> getScreenCoordinatesFrom3DPosition(
2286 const core::vector3df & pos, ICameraSceneNode* camera=0) = 0;
2287Made parameter const& and added new parameter
2288 virtual ISceneNode* getSceneNodeFromScreenCoordinatesBB(const core::position2d<s32>& pos,
2289 s32 idBitMask=0, bool bNoDebugObjects=false, ISceneNode* root=0) =0;
2290 virtual ISceneNode* getSceneNodeFromRayBB(const core::line3d<f32>& ray,
2291 s32 idBitMask=0, bool bNoDebugObjects=false, ISceneNode* root=0) =0;
2292New method
2293 virtual ISceneNode* getSceneNodeAndCollisionPointFromRay(
2294 core::line3df ray, core::vector3df & outCollisionPoint,
2295 core::triangle3df & outTriangle, s32 idBitMask = 0,
2296 ISceneNode * collisionRootNode = 0, bool noDebugObjects = false) = 0;
2297
2298irrlicht.h
2299Changed interface of method (qualifiers and signedness)
2300 extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice(
2301 video::E_DRIVER_TYPE deviceType = video::EDT_SOFTWARE,
2302 // parantheses are necessary for some compilers
2303 const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)),
2304 u32 bits = 16,
2305 bool fullscreen = false,
2306 bool stencilbuffer = false,
2307 bool vsync = false,
2308 IEventReceiver* receiver = 0);
2309 extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(
2310 const SIrrlichtCreationParameters& parameters);
2311
2312IImageLoader.h
2313Changed parameters to use io::path
2314 virtual bool isALoadableFileExtension(const io::path& filename) const = 0;
2315
2316IGUIWindow.h
2317New methods
2318 virtual bool isDraggable() const = 0;
2319 virtual void setDraggable(bool draggable) = 0;
2320 virtual void setDrawBackground(bool draw) = 0;
2321 virtual bool getDrawBackground() const = 0;
2322 virtual void setDrawTitlebar(bool draw) = 0;
2323 virtual bool getDrawTitlebar() const = 0;
2324
2325ICameraSceneNode.h
2326New methods
2327 virtual void setViewMatrixAffector(const core::matrix4& affector) =0;
2328 virtual const core::matrix4& getViewMatrixAffector() const =0;
2329
2330EGUIElementTypes.h
2331New enum value
2332 EGUIET_TREE_VIEW,
2333
2334IImageWriter.h
2335Changed parameters to use io::path
2336 virtual bool isAWriteableFileExtension(const io::path& filename) const = 0;
2337
2338SIrrCreationParameters.h
2339Added members
2340 E_DEVICE_TYPE DeviceType;
2341 bool Doublebuffer;
2342 bool Stereobuffer;
2343Changed signedness
2344 core::dimension2d<u32> WindowSize;
2345Changed type (from bool)
2346 u8 AntiAlias;
2347
2348matrix4.h
2349New methods
2350 bool isOrthogonal() const;
2351 CMatrix4<T>& buildRotateFromTo(const core::vector3df& from, const core::vector3df& to);
2352 void setRotationCenter(const core::vector3df& center, const core::vector3df& translate);
2353 void buildAxisAlignedBillboard( const core::vector3df& camPos,
2354 const core::vector3df& center, const core::vector3df& translation,
2355 const core::vector3df& axis, const core::vector3df& from);
2356
2357IWriteFile.h
2358Changed parameters to use io::path
2359 virtual const path& getFileName() const = 0;
2360
2361IGUITable.h
2362New methods
2363 virtual void setSelected( s32 index ) = 0;
2364Changed type (from wide c string)
2365 virtual void setCellText(u32 rowIndex, u32 columnIndex, const core::stringw& text) = 0;
2366 virtual void setCellText(u32 rowIndex, u32 columnIndex, const core::stringw& text, video::SColor color) = 0;
2367
2368SKeyMap.h
2369New enum value
2370 EKA_CROUCH,
2371
2372IGUIFont.h
2373Changed type (from wide c string)
2374 virtual void draw(const core::stringw& text, const core::rect<s32>& position,
2375 video::SColor color, bool hcenter=false, bool vcenter=false,
2376 const core::rect<s32>* clip=0) = 0;
2377Changed signedness
2378 virtual core::dimension2d<u32> getDimension(const wchar_t* text) const = 0;
2379New method
2380 virtual void setInvisibleCharacters( const wchar_t *s ) = 0;
2381
2382IMeshCache.h
2383Changed parameters to use io::path
2384 virtual void addMesh(const io::path& filename, IAnimatedMesh* mesh) = 0;
2385 virtual IAnimatedMesh* getMeshByFilename(const io::path& filename) = 0;
2386 virtual const io::path& getMeshFilename(u32 index) const = 0;
2387 virtual const io::path& getMeshFilename(const IAnimatedMesh* const mesh) const = 0;
2388 virtual const io::path& getMeshFilename(const IMesh* const mesh) const = 0;
2389 virtual bool setMeshFilename(u32 index, const io::path& filename) = 0;
2390 virtual bool setMeshFilename(const IAnimatedMesh* const mesh, const io::path& filename) = 0;
2391 virtual bool setMeshFilename(const IMesh* const mesh, const io::path& filename) = 0;
2392 virtual bool isMeshLoaded(const io::path& filename) = 0;
2393
2394IGUIButton.h
2395Added default value
2396 virtual void setImage(video::ITexture* image=0) = 0;
2397 virtual void setPressedImage(video::ITexture* image=0) = 0;
2398 virtual void setSpriteBank(IGUISpriteBank* bank=0) = 0;
2399 virtual void setIsPushButton(bool isPushButton=true) = 0;
2400 virtual void setPressed(bool pressed=true) = 0;
2401 virtual void setUseAlphaChannel(bool useAlphaChannel=true) = 0;
2402 virtual void setDrawBorder(bool border=true) = 0;
2403New methods
2404 virtual void setScaleImage(bool scaleImage=true) = 0;
2405 virtual bool isScalingImage() const = 0;
2406
2407position2d.h
2408Replaced by vector2d
2409
2410IGUIImageList.h
2411New interface
2412 class IGUIImageList : public virtual IReferenceCounted
2413
2414rect.h
2415Added second template parameter to allow mismatched signedness
2416 template <class U>
2417 rect(const position2d<T>& pos, const dimension2d<U>& size)
2418
2419IParticleEmitter.h
2420Removed wrong overrides
2421 virtual void serializeAttributes(io::IAttributes* out,
2422 io::SAttributeReadWriteOptions* options=0) const {}
2423 virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in,
2424 io::SAttributeReadWriteOptions* options=0) { return 0; }
2425
2426IOSOperator.h
2427Return const string
2428 virtual const c8* getTextFromClipboard() const = 0;
2429
2430IGUIElement.h
2431Signedness change
2432 void setMaxSize(core::dimension2du size)
2433 void setMinSize(core::dimension2du size)
2434
2435IReadFile.h
2436Changed parameters to use io::path
2437 virtual const io::path& getFileName() const = 0;
2438 IReadFile* createReadFile(const io::path& fileName);
2439 IReadFile* createLimitReadFile(const io::path& fileName, IReadFile* alreadyOpenedFile, long pos, long areaSize);
2440 IReadFile* createMemoryReadFile(void* memory, long size, const io::path& fileName, bool deleteMemoryWhenDropped);
2441
2442IGUITabControl.h
2443New methods
2444 virtual void setTabMaxWidth(s32 width ) = 0;
2445 virtual s32 getTabMaxWidth() const = 0;
2446
2447IParticleAffector.h
2448Removed wrong overrides
2449 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {}
2450 virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) { return 0; }
2451
2452ILogger.h
2453New method
2454 virtual void log(const c8* text, const wchar_t* hint, ELOG_LEVEL ll=ELL_INFORMATION) = 0;
2455
2456vector2d.h
2457New methods
2458 vector2d(const dimension2d<T>& other) : X(other.Width), Y(other.Height) {}
2459 vector2d<T>& operator=(const dimension2d<T>& other) { X = other.Width; Y = other.Height; return *this; }
2460 vector2d<T> operator+(const dimension2d<T>& other) const { return vector2d<T>(X + other.Width, Y + other.Height); }
2461 vector2d<T>& operator+=(const dimension2d<T>& other) { X += other.Width; Y += other.Height; return *this; }
2462 vector2d<T> operator-(const dimension2d<T>& other) const { return vector2d<T>(X - other.Width, Y - other.Height); }
2463 vector2d<T>& operator-=(const dimension2d<T>& other) { X -= other.Width; Y -= other.Height; return *this; }
2464 // These methods are declared in dimension2d, but need definitions of vector2d
2465 template<class T>
2466 dimension2d<T>::dimension2d(const vector2d<T>& other) : Width(other.X), Height(other.Y) { }
2467 template<class T>
2468 bool dimension2d<T>::operator==(const vector2d<T>& other) const { return Width == other.X && Height == other.Y; }
2469
2470Changes for Version 1.6.1
2471-------------------------
2472This is again just a bugfix release. However, some minor API changes have happened. The most important one is the removal of lins anti-aliasing from SMaterial's default values. Please add that line smoothing flag to the materials you want to be smoothed. But note that this may lead to drastically reduced performance, if no multi-sampling is active.
2473
2474IFileList.h
2475new methods
2476 virtual u32 getID(u32 index) const = 0;
2477 virtual u32 addItem(const io::path& fullPath, u32 size, bool isDirectory, u32 id=0) = 0;
2478 virtual void sort() = 0;
2479
2480IrrCompileConfig.h
2481Removed auto recognition of Solaris OS, please define the setting on your own if you need it
2482 _IRR_SOLARIS_PLATFORM_
2483
2484IGUITreeView.h
2485removed methods (use automatically generated versions)
2486 IGUITreeViewNode() {}
2487 virtual ~IGUITreeViewNode() {}
2488 virtual ~IGUITreeView() {}
2489
2490IFileSystem.h
2491new method
2492 virtual IFileList* createEmptyFileList(const io::path& path, bool ignoreCase, bool ignorePaths) =0;
2493
2494SMaterial.h
2495Removed default value (EAAM_LINE_SMOOTH from AntiAliasing)
2496 ZBuffer(ECFN_LESSEQUAL), AntiAliasing(EAAM_SIMPLE), ColorMask(ECP_ALL),
2497
2498IGUISkin.h
2499new enum value
2500 EGST_COUNT
2501
2502
2503Changes for Version 1.7
2504-------------------------
2505This version has less API-breaking changes than the previous major changes. It has many new features, which simply add methods. All those changes, which affect old methods or structures are mostly put in parallel to the old (and now deprecated) methods. Only a few things are changed without backward compatibility: The texture wrap mode is split into separate U and V modes. The beginScene void* parameter has been replaced by an SExposedVideoData. Simply wrap the pointer with this struct and it should work again.
2506EMIE_LMOUSE_DOUBLE_CLICK replaces EMIE_MOUSE_DOUBLE_CLICK and EMIE_LMOUSE_TRIPLE_CLICK replaces EMIE_MOUSE_TRIPLE_CLICK
2507Elements used in the array container need now to have an operator=
2508Here comes the full list:
2509
2510path.h
2511New type
2512struct SNamedPath
2513
2514triangle3d.h
2515New method
2516bool isTotalOutsideBox(const aabbox3d<T>& box) const
2517
2518ESceneNodeTypes.h
2519Changed enum value (from octt)
2520ESNT_OCTREE = MAKE_IRR_ID('o','c','t','r'),
2521
2522SColor.h
2523New method
2524f32 getLightness() const
2525
2526driverChoice.h
2527New method
2528static irr::video::E_DRIVER_TYPE driverChoiceConsole(bool allDrivers=true)
2529
2530ITexture.h
2531New parameter
2532virtual void regenerateMipMapLevels(void* mipmapData=0) = 0;
2533Changed return value (from io:path)
2534const io::SNamedPath& getName() const { return NamedPath; }
2535
2536SceneParameters.h
2537New scene parameters
2538const c8* const OBJ_TEXTURE_PATH = "OBJ_TexturePath";
2539const c8* const B3D_TEXTURE_PATH = "B3D_TexturePath";
2540
2541IMeshManipulator.h
2542Not virtual anymore
2543void setVertexColorAlpha(IMesh* mesh, s32 alpha) const
2544void setVertexColors(IMesh* mesh, video::SColor color) const
2545void scale(IMeshBuffer* buffer, const core::vector3df& factor) const
2546void scaleMesh(IMesh* mesh, const core::vector3df& factor) const
2547void scaleTCoords(scene::IMesh* mesh, const core::vector2df& factor, u32 level=1) const
2548void scaleTCoords(scene::IMeshBuffer* buffer, const core::vector2df& factor, u32 level=1) const
2549void transform(IMesh* mesh, const core::matrix4& m) const
2550void transform(IMeshBuffer* buffer, const core::matrix4& m) const
2551New method
2552template <typename Functor>
2553bool apply(const Functor& func, IMeshBuffer* buffer, bool boundingBoxUpdate=false) const
2554template <typename Functor>
2555bool apply(const Functor& func, IMesh* mesh, bool boundingBoxUpdate=false) const
2556virtual void recalculateTangents(IMesh* mesh, bool recalculateNormals=false,
2557 bool smooth=false, bool angleWeighted=false) const=0;
2558void scale(IMesh* mesh, const core::vector3df& factor) const
2559New parameter
2560virtual IMesh* createMeshWithTangents(IMesh* mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false, bool recalculateTangents=true) const = 0;
2561
2562coreutil.h
2563Changed return type and parameters (from stringc/w)
2564inline io::path& cutFilenameExtension ( io::path &dest, const io::path &source )
2565inline io::path& getFileNameExtension ( io::path &dest, const io::path &source )
2566inline io::path& deletePathFromFilename(io::path& filename)
2567Fixed behavior
2568inline io::path& deletePathFromPath(io::path& filename, s32 pathCount)
2569
2570ICursorControl.h
2571Return const-ref
2572virtual const core::position2d<s32>& getPosition() = 0;
2573
2574irrArray.h
2575Fixed allocator template usage
2576array(const array<T, TAlloc>& other) : data(0)
2577const array<T, TAlloc>& operator=(const array<T, TAlloc>& other)
2578bool operator == (const array<T, TAlloc>& other) const
2579bool operator != (const array<T, TAlloc>& other) const
2580Changed behavior for free_when_destroyed
2581void set_pointer(T* newPointer, u32 size, bool _is_sorted=false, bool _free_when_destroyed=true)
2582void set_free_when_destroyed(bool f)
2583
2584irrMap.h
2585Renamed method (from isEmpty)
2586bool empty() const
2587New method
2588void swap(map<KeyType, ValueType>& other)
2589
2590IAnimatedMesh.h
2591virtual f32 getAnimationSpeed() const =0;
2592
2593IAttributes.h
2594Made parameters const-ref
2595virtual void addArray(const c8* attributeName, const core::array<core::stringw>& value) = 0;
2596virtual void setAttribute(const c8* attributeName, const core::array<core::stringw>& value) = 0;
2597virtual void setAttribute(s32 index, const core::array<core::stringw>& value) = 0;
2598
2599ISceneManager.h
2600Renamed method (from OctTree)
2601virtual IMeshSceneNode* addOctreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
2602 s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0;
2603virtual IMeshSceneNode* addOctreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
2604 s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
2605virtual ITriangleSelector* createOctreeTriangleSelector(IMesh* mesh,
2606 ISceneNode* node, s32 minimalPolysPerNode=32) = 0;
2607New parameter (makeActive)
2608virtual ICameraSceneNode* addCameraSceneNode(ISceneNode* parent = 0,
2609 const core::vector3df& position = core::vector3df(0,0,0),
2610 const core::vector3df& lookat = core::vector3df(0,0,100),
2611 s32 id=-1, bool makeActive=true) = 0;
2612virtual ICameraSceneNode* addCameraSceneNodeMaya(ISceneNode* parent = 0,
2613 f32 rotateSpeed = -1500.0f, f32 zoomSpeed = 200.0f,
2614 f32 translationSpeed = 1500.0f, s32 id=-1,
2615 bool makeActive=true) = 0;
2616virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
2617 f32 rotateSpeed = 100.0f, f32 moveSpeed = 0.5f, s32 id=-1,
2618 SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false,
2619 f32 jumpSpeed = 0.f, bool invertMouse=false,
2620 bool makeActive=true) = 0;
2621Make parameter const
2622virtual IMeshSceneNode* addQuake3SceneNode(const IMeshBuffer* meshBuffer, const quake3::IShader * shader,
2623 ISceneNode* parent=0, s32 id=-1) = 0;
2624New parameter (loop, pingpong)
2625virtual ISceneNodeAnimator* createFollowSplineAnimator(s32 startTime,
2626 const core::array< core::vector3df >& points,
2627 f32 speed = 1.0f, f32 tightness = 0.5f, bool loop=true, bool pingpong=false) = 0;
2628
2629SMaterialLayer.h
2630New clamp modes
2631ETC_MIRROR_CLAMP, ETC_MIRROR_CLAMP_TO_EDGE, ETC_MIRROR_CLAMP_TO_BORDER
2632New material layer modes (replaces TextureWrap)
2633TextureWrapU(ETC_REPEAT), TextureWrapV(ETC_REPEAT)
2634
2635vector3d.h
2636Use tolerance to compare, changed order function to total order
2637bool operator<=(const vector3d<T>&other) const
2638bool operator>=(const vector3d<T>&other) const
2639bool operator<(const vector3d<T>&other) const
2640bool operator>(const vector3d<T>&other) const
2641New method
2642vector3d<T> getSphericalCoordinateAngles()
2643New method specializations
2644template <>
2645inline vector3d<s32> vector3d<s32>::operator /(s32 val) const {return core::vector3d<s32>(X/val,Y/val,Z/val);}
2646template <>
2647inline vector3d<s32>& vector3d<s32>::operator /=(s32 val) {X/=val;Y/=val;Z/=val; return *this;}
2648
2649SExposedVideoData.h
2650New constructors
2651SExposedVideoData() {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=0;}
2652explicit SExposedVideoData(void* Window) {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=Window;}
2653
2654IGUIEnvironment.h
2655New method
2656virtual IGUIFont* addFont(const io::path& name, IGUIFont* font) = 0;
2657New parameter (image)
2658virtual IGUIWindow* addMessageBox(const wchar_t* caption, const wchar_t* text=0,
2659 bool modal = true, s32 flags = EMBF_OK, IGUIElement* parent=0, s32 id=-1, video::ITexture* image=0) = 0;
2660
2661IGeometryCreator.h
2662New method
2663IMesh* createPlaneMesh(const core::dimension2d<f32>& tileSize,
2664 const core::dimension2d<u32>& tileCount,
2665 video::SMaterial* material,
2666 const core::dimension2d<f32>& textureRepeatCount) const
2667
2668IFileArchive.h
2669New archive type
2670EFAT_NPK = MAKE_IRR_ID('N','P','K', 0),
2671New member for storing the password of AES-encrypted archives
2672core::stringc Password;
2673
2674IFileSystem.h
2675New parameter (password)
2676virtual bool addFileArchive(const path& filename, bool ignoreCase=true,
2677 bool ignorePaths=true,
2678 E_FILE_ARCHIVE_TYPE archiveType=EFAT_UNKNOWN,
2679 const core::stringc& password="") =0;
2680
2681IrrlichtDevice.h
2682New method
2683virtual void clearSystemMessages() = 0;
2684
2685irrMath.h
2686Changed constant (from 1)
2687const s32 ROUNDING_ERROR_S32 = 0;
2688New method
2689template <class T>
2690inline void swap(T& a, T& b)
2691
2692IGPUProgrammingServices.h
2693New parameters (for geometry shaders)
2694virtual s32 addHighLevelShaderMaterial
2695virtual s32 addHighLevelShaderMaterialFromFiles
2696virtual s32 addHighLevelShaderMaterialFromFiles
2697New overload (for calling with geometry shaders)
2698s32 addHighLevelShaderMaterial
2699s32 addHighLevelShaderMaterialFromFiles
2700s32 addHighLevelShaderMaterialFromFiles
2701
2702ISceneNode.h
2703New types
2704 typedef core::list<ISceneNode*> ISceneNodeList;
2705 typedef core::list<ISceneNodeAnimator*> ISceneNodeAnimatorList;
2706
2707IEventReceiver.h
2708Renamed events (split from EMIE_MOUSE_*)
2709EMIE_LMOUSE_DOUBLE_CLICK,
2710EMIE_RMOUSE_DOUBLE_CLICK,
2711EMIE_MMOUSE_DOUBLE_CLICK,
2712EMIE_LMOUSE_TRIPLE_CLICK,
2713EMIE_RMOUSE_TRIPLE_CLICK,
2714EMIE_MMOUSE_TRIPLE_CLICK,
2715
2716IGUISpriteBank.h
2717New method
2718virtual s32 addTextureAsSprite(video::ITexture* texture) = 0;
2719virtual void clear() = 0;
2720
2721SMaterial.h
2722Changed binary packing (non-visible from user calls)
2723inline f32 pack_texureBlendFunc ( const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dstFact, const E_MODULATE_FUNC modulate=EMFN_MODULATE_1X, const u32 alphaSource=EAS_TEXTURE )
2724
2725IGUISkin.h
2726New values
2727EGDS_MESSAGE_BOX_GAP_SPACE,
2728EGDS_MESSAGE_BOX_MIN_TEXT_WIDTH,
2729EGDS_MESSAGE_BOX_MAX_TEST_WIDTH,
2730EGDS_MESSAGE_BOX_MIN_TEXT_HEIGHT,
2731EGDS_MESSAGE_BOX_MAX_TEXT_HEIGHT,
2732New parameter (checkClientArea)
2733virtual core::rect<s32> draw3DWindowBackground(IGUIElement* element,
2734 bool drawTitleBar, video::SColor titleBarColor,
2735 const core::rect<s32>& rect,
2736 const core::rect<s32>* clip=0,
2737 core::rect<s32>* checkClientArea=0) = 0;
2738
2739quaternion.h
2740New operator
2741bool operator!=(const quaternion& other) const;
2742New method
2743inline quaternion& set(const core::quaternion& quat);
2744inline bool equals(const quaternion& other,
2745 const f32 tolerance = ROUNDING_ERROR_f32 ) const;
2746
2747irrList.h
2748New method
2749u32 size() const
2750void swap(list<T>& other)
2751
2752IVideoDriver.h
2753New render targets
2754ERT_MULTI_RENDER_TEXTURES
2755New class
2756struct IRenderTarget
2757Changed parameter (from void*)
2758virtual bool beginScene(bool backBuffer=true, bool zBuffer=true,
2759 SColor color=SColor(255,0,0,0),
2760 const SExposedVideoData& videoData=SExposedVideoData(),
2761 core::rect<s32>* sourceRect=0) =0;
2762New parameter (mipmapData)
2763virtual ITexture* addTexture(const io::path& name, IImage* image, void* mipmapData=0) = 0;
2764New method
2765virtual bool setRenderTarget(const core::array<video::IRenderTarget>& texture,
2766 bool clearBackBuffer=true, bool clearZBuffer=true,
2767 SColor color=video::SColor(0,0,0,0)) =0;
2768void drawIndexedTriangleFan(const S3DVertexTangents* vertices,
2769 u32 vertexCount, const u16* indexList, u32 triangleCount)
2770virtual void getFog(SColor& color, E_FOG_TYPE& fogType,
2771 f32& start, f32& end, f32& density,
2772 bool& pixelFog, bool& rangeFog) = 0;
2773virtual SMaterial& getMaterial2D() =0;
2774virtual void enableMaterial2D(bool enable=true) =0;
2775virtual core::dimension2du getMaxTextureSize() const =0;
2776Made non-virtual
2777void drawIndexedTriangleList(const S3DVertex* vertices,
2778 u32 vertexCount, const u16* indexList, u32 triangleCount)
2779void drawIndexedTriangleList(const S3DVertex2TCoords* vertices,
2780 u32 vertexCount, const u16* indexList, u32 triangleCount)
2781void drawIndexedTriangleList(const S3DVertexTangents* vertices,
2782 u32 vertexCount, const u16* indexList, u32 triangleCount)
2783void drawIndexedTriangleFan(const S3DVertex* vertices,
2784 u32 vertexCount, const u16* indexList, u32 triangleCount)
2785void drawIndexedTriangleFan(const S3DVertex2TCoords* vertices,
2786 u32 vertexCount, const u16* indexList, u32 triangleCount)
2787
2788EDriverFeatures.h
2789New driver feature enums
2790EVDF_MULTIPLE_RENDER_TARGETS,
2791EVDF_MRT_BLEND,
2792EVDF_MRT_COLOR_MASK,
2793EVDF_MRT_BLEND_FUNC,
2794EVDF_GEOMETRY_SHADER,
2795
2796IGUIWindow.h
2797New method
2798virtual core::rect<s32> getClientRect() const = 0;
2799
2800IGUIContextMenu.h
2801New enum
2802enum ECONTEXT_MENU_CLOSE
2803New method
2804virtual void setCloseHandling(ECONTEXT_MENU_CLOSE onClose) = 0;
2805virtual ECONTEXT_MENU_CLOSE getCloseHandling() const = 0;
2806virtual u32 insertItem(u32 idx, const wchar_t* text, s32 commandId=-1, bool enabled=true,
2807 bool hasSubMenu=false, bool checked=false, bool autoChecking=false) = 0;
2808virtual s32 findItemWithCommandId(s32 commandId, u32 idxStartSearch=0) const = 0;
2809virtual void setItemAutoChecking(u32 idx, bool autoChecking) = 0;
2810virtual bool getItemAutoChecking(u32 idx) const = 0;
2811virtual void setEventParent(IGUIElement *parent) = 0;
2812New parameter
2813virtual u32 addItem(const wchar_t* text, s32 commandId=-1, bool enabled=true,
2814 bool hasSubMenu=false, bool checked=false, bool autoChecking=false) = 0;
2815
2816SIrrCreationParameters.h
2817New parameter (LoggingLevel)
2818createDevice
2819
2820matrix4.h
2821New method
2822bool equals(const core::CMatrix4<T>& other, const T tolerance=(T)ROUNDING_ERROR_f64) const;
2823
2824SSkinMeshBuffer.h
2825Renamed method (from MoveTo_2TCoords)
2826virtual void convertTo2TCoords()
2827Renamed method (from MoveTo_Tangents)
2828virtual void convertToTangents()
2829
2830SVertexManipulator.h
2831New classes (for vertex manipulation)
2832class SVertexColorSetManipulator : public IVertexManipulator
2833class SVertexColorSetAlphaManipulator : public IVertexManipulator
2834class SVertexColorInvertManipulator : public IVertexManipulator
2835class SVertexColorThresholdManipulator : public IVertexManipulator
2836class SVertexColorBrightnessManipulator : public IVertexManipulator
2837class SVertexColorContrastManipulator : public IVertexManipulator
2838class SVertexColorContrastBrightnessManipulator : public IVertexManipulator
2839class SVertexColorGammaManipulator : public IVertexManipulator
2840;
2841class SVertexColorScaleManipulator : public IVertexManipulator
2842class SVertexColorDesaturateToLightnessManipulator : public IVertexManipulator
2843class SVertexColorDesaturateToAverageManipulator : public IVertexManipulator
2844class SVertexColorDesaturateToLuminanceManipulator : public IVertexManipulator
2845class SVertexColorInterpolateLinearManipulator : public IVertexManipulator
2846class SVertexColorInterpolateQuadraticManipulator : public IVertexManipulator
2847class SVertexPositionScaleManipulator : public IVertexManipulator
2848;
2849class SVertexPositionScaleAlongNormalsManipulator : public IVertexManipulator
2850class SVertexPositionTransformManipulator : public IVertexManipulator
2851class SVertexTCoordsScaleManipulator : public IVertexManipulator
2852
2853IMeshCache.h
2854Renamed method (from getMeshByFilename)
2855virtual IAnimatedMesh* getMeshByName(const io::path& name) = 0;
2856Renamed method and changed return type (from getMeshFilename/io::path)
2857virtual const io::SNamedPath& getMeshName(u32 index) const = 0;
2858virtual const io::SNamedPath& getMeshName(const IAnimatedMesh* const mesh) const = 0;
2859virtual const io::SNamedPath& getMeshName(const IMesh* const mesh) const = 0;
2860Renamed method (from setMeshFilename)
2861virtual bool renameMesh(u32 index, const io::path& name) = 0;
2862virtual bool renameMesh(const IAnimatedMesh* const mesh, const io::path& name) = 0;
2863virtual bool renameMesh(const IMesh* const mesh, const io::path& name) = 0;
2864
2865IGUIElement.h
2866Changed parameter (to const-ref)
2867 IGUIElement(EGUI_ELEMENT_TYPE type, IGUIEnvironment* environment, IGUIElement* parent,
2868s32 id, const core::rect<s32>& rectangle)
2869New method
2870virtual bool hasType(EGUI_ELEMENT_TYPE type) const
2871
2872irrString.h
2873Changed parameter (to template with allocator) in all methods with templates
2874Made destructor non-virtual
2875~string()
2876Added parameter
2877s32 find(const B* const str, const u32 start = 0) const
2878New method
2879void remove(T c)
2880void remove(const string<T,TAlloc> toRemove)
2881void removeChars(const string<T,TAlloc> & characters)
2882template<class container>
2883u32 split(container& ret, const T* const c, u32 count=1, bool ignoreEmptyTokens=true, bool keepSeparators=false) const
2884
2885vector2d.h
2886Use tolerance to compare, changed order function to total order
2887bool operator<=(const vector2d<T>&other) const
2888bool operator>=(const vector2d<T>&other) const
2889bool operator<(const vector2d<T>&other) const
2890bool operator>(const vector2d<T>&other) const
2891