API Migration
Breaking Changes#
New HashMap/HashSet#
To improve performance and reduce memory consumption we have made some refactoring and optimization regarding Hash Maps and Hash Sets for this release. They both now store data linearly similar to vectors, which requires some changes in your code is case you have used them.
The findFast() method now returns a pointer instead of a double pointer:
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
ValueType **Hash::findFast(const KeyType &key) const
|
ValueType *Hash::findFast(const KeyType &key) const
|
The emplace() method now returns an Iterator instead of a value:
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
ValueType &Hash::emplace(const KeyType &key)
|
Iterator Hash::emplace(const KeyType &key)
|
HashMap vs BucketHashMap#
We've also kept the previous hash map implementation for backward compatibility and some specific cases, it is called BucketHashMap. Here is one of such examples, where the BucketHashMap must be used instead of the new HashMap - pointers to a key/value:
UNIGINE 2.19.1 - HashMap | UNIGINE 2.19.1 - BucketHashMap |
---|---|
|
|
AnimationPlayback Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
Property Time | Removed. Use the GetTime( ) method instead. |
New Functions
New Properties
BootConfig Class#
CustomSystemProxy Class#
New methods should be implemented in case you inherit from the CustomSystemProxy Class.
New Functions
- stopJoystickForceFeedbackEffect( int32_t, int )
- playJoystickForceFeedbackEffectInertia( int32_t, float )
- playJoystickForceFeedbackEffectDamper( int32_t, float )
- playJoystickForceFeedbackEffectFriction( int32_t, float )
- playJoystickForceFeedbackEffectSpring( int32_t, float )
- playJoystickForceFeedbackEffectSawtoothDownWave( int32_t, float, float )
- playJoystickForceFeedbackEffectSawtoothUpWave( int32_t, float, float )
- playJoystickForceFeedbackEffectTriangleWave( int32_t, float, float )
- playJoystickForceFeedbackEffectSquareWave( int32_t, float, float )
- playJoystickForceFeedbackEffectSineWave( int32_t, float, float )
- playJoystickForceFeedbackEffectRamp( int32_t, float, float, unsigned long )
- playJoystickForceFeedbackEffectConstant( int32_t, float, float )
- isJoystickForceFeedbackEffectSupported( int32_t, int )
Decal Class#
Engine Class#
EngineWindowGroup Class#
Input Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
Property EventJoyPovMotion | The signature has changed: Event<int, Input.JOYSTICK_POV> → Event<int, int> |
New Functions
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_CONSTANT
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_RAMP
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_SINEWAVE
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_SQUAREWAVE
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_TRIANGLEWAVE
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_SAWTOOTHUPWAVE
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_SAWTOOTHDOWNWAVE
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_SPRING
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_FRICTION
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_DAMPER
- JOYSTICK_FORCE_FEEDBACK_EFFECT.JOYSTICK_FORCE_FEEDBACK_INERTIA
- JOYSTICK_FORCE_FEEDBACK_EFFECT.NUM_JOYSTICK_FORCE_FEEDBACKS
InputJoystick Class#
New Functions
- IsForceFeedbackEffectPlaying( Input.JOYSTICK_FORCE_FEEDBACK_EFFECT )
- StopForceFeedbackEffect( Input.JOYSTICK_FORCE_FEEDBACK_EFFECT )
- PlayForceFeedbackEffectInertia( float )
- PlayForceFeedbackEffectDamper( float )
- PlayForceFeedbackEffectFriction( float )
- PlayForceFeedbackEffectSpring( float )
- PlayForceFeedbackEffectSawtoothDownWave( float, float )
- PlayForceFeedbackEffectSawtoothUpWave( float, float )
- PlayForceFeedbackEffectTriangleWave( float, float )
- PlayForceFeedbackEffectSquareWave( float, float )
- PlayForceFeedbackEffectSineWave( float, float )
- PlayForceFeedbackEffectRamp( float, float, uint64_t )
- PlayForceFeedbackEffectConstant( float, float )
- IsForceFeedbackEffectSupported( Input.JOYSTICK_FORCE_FEEDBACK_EFFECT )
LightEnvironmentProbe Class#
LightOmni Class#
LightProj Class#
Log Class#
Material Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
CheckShaderCache( ) | Removed. Use ShaderCacheExist( Render.PASS, Node.TYPE ) instead. |
CheckShaderCache( Render.PASS, Node.TYPE ) | Removed. Use NeedCreateShaderCache( Render.PASS, Node.TYPE ) instead. |
CompileShader( Render.PASS, Node.TYPE ) | Removed. Use CreateShaderAsync( Render.PASS, Node.TYPE ) or CreateShaderForce( Render.PASS, Node.TYPE ) instead. |
CompileShaders( bool ) | Removed. Use CreateShaderCache( bool ) instead. |
New Functions
Materials Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
CompileShaders( ) | Removed. Use CreateShaderCache( bool ) instead. |
New Functions
New Properties
ObjectParticles Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
Property LinearDamping | Removed. Use LinearDampingOverTimeModifier( ) instead. |
New Properties
Profiler Class#
Render Class#
New Properties
New Functions
- TEXTURE_LIFETIME.FRAME_VIEWPORT
- TEXTURE_LIFETIME.FRAME_APPLICATION
- TEXTURE_LIFETIME.APPLICATION
- IsTemporaryOldTexture( Texture )
- IsTemporaryTexture( Texture )
- ReleaseTemporaryTextures( Texture[] )
- GetTemporaryOldTextureCubeArray( Material, int, int, int, int, int, int, string, Render.TEXTURE_ACCESSORY )
- GetTemporaryOldTexture( Material, int, Image, int, string, Render.TEXTURE_ACCESSORY )
- GetTemporaryTextureCubeArray( int, int, int, int, int, string, Render.TEXTURE_ACCESSORY, Render.TEXTURE_LIFETIME, bool )
- GetTemporaryTexture( Image, int, string, Render.TEXTURE_ACCESSORY, Render.TEXTURE_LIFETIME, bool )
- GetTemporaryTexture( Texture, string, Render.TEXTURE_ACCESSORY, Render.TEXTURE_LIFETIME, bool )
WallGroupData Class#
World Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
ClearNode( string ) | Removed. Use ReloadNodeFile( string ) instead. |