summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjussi2024-05-29 22:44:36 +0300
committerjussi2024-05-29 22:44:36 +0300
commitf3dbe7d24bcf01d9a23326880dbb1a28457ff51f (patch)
tree1eb3ad7dc25d3be9f05d6e3443b451094fd7ac75
parentcd8989376e03700669da08d98f62f04b0fea5462 (diff)
downloadreilua-enhanced-f3dbe7d24bcf01d9a23326880dbb1a28457ff51f.tar.gz
reilua-enhanced-f3dbe7d24bcf01d9a23326880dbb1a28457ff51f.tar.bz2
reilua-enhanced-f3dbe7d24bcf01d9a23326880dbb1a28457ff51f.zip
Unload functions clear object to 0 so they would not be ready in Is*Ready.
-rw-r--r--changelog1
-rw-r--r--src/audio.c4
-rw-r--r--src/core.c3
-rw-r--r--src/models.c5
-rw-r--r--src/text.c1
-rw-r--r--src/textures.c3
6 files changed, 17 insertions, 0 deletions
diff --git a/changelog b/changelog
index c4be153..7d9d132 100644
--- a/changelog
+++ b/changelog
@@ -52,6 +52,7 @@ DETAILED CHANGES:
- FIXED: GenMeshCustom indices wasn't changing triangleCount.
- ADDED: GetPlatform.
- ADDED: Object lib serialization.
+ - ADDED: Unload functions clear object to 0 so they would not be ready in Is*Ready.
------------------------------------------------------------------------
Release: ReiLua version 0.7.0 Using Raylib 5.0 and Forked Raygui 4.0
diff --git a/src/audio.c b/src/audio.c
index 53031cd..fdffae5 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -212,6 +212,7 @@ int laudioUnloadWave( lua_State* L ) {
Wave* wave = uluaGetWave( L, 1 );
UnloadWave( *wave );
+ memset( wave, 0, sizeof( Wave ) );
return 0;
}
@@ -225,6 +226,7 @@ int laudioUnloadSound( lua_State* L ) {
Sound* sound = uluaGetSound( L, 1 );
UnloadSound( *sound );
+ memset( sound, 0, sizeof( Sound ) );
return 0;
}
@@ -238,6 +240,7 @@ int laudioUnloadSoundAlias( lua_State* L ) {
Sound* alias = uluaGetSound( L, 1 );
UnloadSoundAlias( *alias );
+ memset( alias, 0, sizeof( Sound ) );
return 0;
}
@@ -517,6 +520,7 @@ int laudioUnloadMusicStream( lua_State* L ) {
Music* music = uluaGetMusic( L, 1 );
UnloadMusicStream( *music );
+ memset( music, 0, sizeof( Music ) );
return 0;
}
diff --git a/src/core.c b/src/core.c
index d22ed60..2ff50e5 100644
--- a/src/core.c
+++ b/src/core.c
@@ -1106,6 +1106,7 @@ int lcoreUnloadShader( lua_State* L ) {
Shader* shader = uluaGetShader( L, 1 );
UnloadShader( *shader );
+ memset( shader, 0, sizeof( Shader ) );
return 0;
}
@@ -2010,6 +2011,7 @@ int lcoreUnloadAutomationEventList( lua_State* L ) {
AutomationEventList* list = uluaGetAutomationEventList( L, 1 );
UnloadAutomationEventList( list );
+ memset( list, 0, sizeof( AutomationEventList ) );
return 0;
}
@@ -3479,6 +3481,7 @@ int lcoreUnloadBuffer( lua_State* L ) {
Buffer* buffer = uluaGetBuffer( L, 1 );
unloadBuffer( buffer );
+ memset( buffer, 0, sizeof( Buffer ) );
return 0;
}
diff --git a/src/models.c b/src/models.c
index 193fcb7..61b9c2b 100644
--- a/src/models.c
+++ b/src/models.c
@@ -559,6 +559,7 @@ int lmodelsUnloadModel( lua_State* L ) {
Model* model = uluaGetModel( L, 1 );
UnloadModel( *model );
+ memset( model, 0, sizeof( Model ) );
return 0;
}
@@ -1137,6 +1138,7 @@ int lmodelsUnloadMesh( lua_State* L ) {
Mesh* mesh = uluaGetMesh( L, 1 );
UnloadMesh( *mesh );
+ memset( mesh, 0, sizeof( Mesh ) );
return 0;
}
@@ -1906,6 +1908,7 @@ int lmodelsUnloadMaterial( lua_State* L ) {
/* Custom UnloadMaterial since we don't want to free Shaders or Textures. */
unloadMaterial( material );
+ memset( material, 0, sizeof( Material ) );
// UnloadMaterial( *material );
@@ -2140,6 +2143,7 @@ int lmodelsUnloadModelAnimation( lua_State* L ) {
ModelAnimation* animation = uluaGetModelAnimation( L, 1 );
UnloadModelAnimation( *animation );
+ memset( animation, 0, sizeof( ModelAnimation ) );
return 0;
}
@@ -2157,6 +2161,7 @@ int lmodelsUnloadModelAnimations( lua_State* L ) {
if ( lua_isuserdata( L, -1 ) ) {
ModelAnimation* animation = uluaGetModelAnimation( L, lua_gettop( L ) );
UnloadModelAnimation( *animation );
+ memset( animation, 0, sizeof( ModelAnimation ) );
}
i++;
lua_pop( L, 1 );
diff --git a/src/text.c b/src/text.c
index 3a4d54d..a9402d4 100644
--- a/src/text.c
+++ b/src/text.c
@@ -448,6 +448,7 @@ int ltextUnloadFont( lua_State* L ) {
Font* font = uluaGetFont( L, 1 );
UnloadFont( *font );
+ memset( font, 0, sizeof( Font ) );
return 0;
}
diff --git a/src/textures.c b/src/textures.c
index 6f6148c..a5189b1 100644
--- a/src/textures.c
+++ b/src/textures.c
@@ -188,6 +188,7 @@ int ltextureUnloadImage( lua_State* L ) {
Image* image = uluaGetImage( L, 1 );
UnloadImage( *image );
+ memset( image, 0, sizeof( Image ) );
return 0;
}
@@ -1296,6 +1297,7 @@ int ltextureUnloadTexture( lua_State* L ) {
Texture* texture = uluaGetTexture( L, 1 );
UnloadTexture( *texture );
+ memset( texture, 0, sizeof( Texture ) );
return 0;
}
@@ -1324,6 +1326,7 @@ int ltextureUnloadRenderTexture( lua_State* L ) {
RenderTexture* target = uluaGetRenderTexture( L, 1 );
UnloadRenderTexture( *target );
+ memset( target, 0, sizeof( RenderTexture ) );
return 0;
}