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#
BootConfig Class#
CustomSystemProxy Class#
New methods should be implemented in case you inherit from the CustomSystemProxy Class.
New Functions
- stopJoystickForceFeedbackEffect( Int32, int )
- playJoystickForceFeedbackEffectInertia( Int32, float )
- playJoystickForceFeedbackEffectDamper( Int32, float )
- playJoystickForceFeedbackEffectFriction( Int32, float )
- playJoystickForceFeedbackEffectSpring( Int32, float )
- playJoystickForceFeedbackEffectSawtoothDownWave( Int32, float, float )
- playJoystickForceFeedbackEffectSawtoothUpWave( Int32, float, float )
- playJoystickForceFeedbackEffectTriangleWave( Int32, float, float )
- playJoystickForceFeedbackEffectSquareWave( Int32, float, float )
- playJoystickForceFeedbackEffectSineWave( Int32, float, float )
- playJoystickForceFeedbackEffectRamp( Int32, float, float, unsigned long )
- playJoystickForceFeedbackEffectConstant( Int32, float, float )
- isJoystickForceFeedbackEffectSupported( Int32, int )
Decal Class#
Engine Class#
EngineWindowGroup Class#
Input Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
getEventJoyPovMotion() | The signature has changed: Unigine::Input::Event <int, Input::JOYSTICK_POV> → Unigine::Input::Event <int, int> |
New Functions
- JOYSTICK_FORCE_FEEDBACK_CONSTANT
- JOYSTICK_FORCE_FEEDBACK_RAMP
- JOYSTICK_FORCE_FEEDBACK_SINEWAVE
- JOYSTICK_FORCE_FEEDBACK_SQUAREWAVE
- JOYSTICK_FORCE_FEEDBACK_TRIANGLEWAVE
- JOYSTICK_FORCE_FEEDBACK_SAWTOOTHUPWAVE
- JOYSTICK_FORCE_FEEDBACK_SAWTOOTHDOWNWAVE
- JOYSTICK_FORCE_FEEDBACK_SPRING
- JOYSTICK_FORCE_FEEDBACK_FRICTION
- JOYSTICK_FORCE_FEEDBACK_DAMPER
- JOYSTICK_FORCE_FEEDBACK_INERTIA
- 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
ObjectParticles Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
setLinearDamping( float ) | Removed. Use getLinearDampingOverTimeModifier( ) instead. |
getLinearDamping( ) | Removed. Use getLinearDampingOverTimeModifier( ) instead. |
New Functions
Profiler Class#
Render Class#
New Functions
- TEXTURE_LIFETIME_FRAME_VIEWPORT
- TEXTURE_LIFETIME_FRAME_APPLICATION
- TEXTURE_LIFETIME_APPLICATION
- isTemporaryOldTexture( const Ptr<Texture> & )
- isTemporaryTexture( const Ptr<Texture> & )
- releaseTemporaryTextures( const Vector<Ptr<Texture>> & )
- getTemporaryOldTextureCubeArray( const Ptr<Material> &, int, int, int, int, int, int, const char *, Render::TEXTURE_ACCESSORY )
- getTemporaryOldTexture( const Ptr<Material> &, int, const Ptr<Image> &, int, const char *, Render::TEXTURE_ACCESSORY )
- getTemporaryTextureCubeArray( int, int, int, int, int, const char *, Render::TEXTURE_ACCESSORY, Render::TEXTURE_LIFETIME, bool )
- getTemporaryTexture( const Ptr<Image> &, int, const char *, Render::TEXTURE_ACCESSORY, Render::TEXTURE_LIFETIME, bool )
- getTemporaryTexture( const Ptr<Texture> &, const char *, Render::TEXTURE_ACCESSORY, Render::TEXTURE_LIFETIME, bool )
- setFSRAutoReactiveEnabled( bool )
- isFSRAutoReactiveEnabled( )
WallGroupData Class#
World Class#
UNIGINE 2.19 | UNIGINE 2.19.1 |
---|---|
clearNode( const char * ) | Removed. Use reloadNodeFile( const char * ) instead. |