summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjussi2024-01-24 19:14:30 +0200
committerjussi2024-01-24 19:14:30 +0200
commit3b3d0ad32e24c2ff0a13daf3e865054f63afaf86 (patch)
tree192e9b69af4515c6e05978c83905636f693f011a /src
parent7460a16cae15dfa7924d1d4df1aac166a6a6fd2c (diff)
downloadreilua-enhanced-3b3d0ad32e24c2ff0a13daf3e865054f63afaf86.tar.gz
reilua-enhanced-3b3d0ad32e24c2ff0a13daf3e865054f63afaf86.tar.bz2
reilua-enhanced-3b3d0ad32e24c2ff0a13daf3e865054f63afaf86.zip
LoadBufferFromString, LoadWaveFromMemory and LoadMusicStreamFromMemory.
Diffstat (limited to 'src')
-rw-r--r--src/audio.c32
-rw-r--r--src/core.c24
-rw-r--r--src/lua_core.c3
3 files changed, 59 insertions, 0 deletions
diff --git a/src/audio.c b/src/audio.c
index ef466cb..a02120a 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -113,6 +113,22 @@ int laudioLoadWave( lua_State *L ) {
}
/*
+> wave = RL.LoadWaveFromMemory( string fileType, Buffer data )
+
+Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
+
+- Success return Wave
+*/
+int laudioLoadWaveFromMemory( lua_State *L ) {
+ const char* fileType = luaL_checkstring( L, 1 );
+ Buffer* buffer = uluaGetBuffer( L, 2 );
+
+ uluaPushWave( L, LoadWaveFromMemory( fileType, buffer->data, buffer->size ) );
+
+ return 1;
+}
+
+/*
> isReady = RL.IsWaveReady( Wave wave )
Checks if wave data is ready
@@ -424,6 +440,22 @@ int laudioLoadMusicStream( lua_State *L ) {
}
/*
+> music = RL.LoadMusicStreamFromMemory( string fileType, Buffer data )
+
+Load music stream from data
+
+- Success return Music
+*/
+int laudioLoadMusicStreamFromMemory( lua_State* L ) {
+ const char* fileType = luaL_checkstring( L, 1 );
+ Buffer* buffer = uluaGetBuffer( L, 2 );
+
+ uluaPushMusic( L, LoadMusicStreamFromMemory( fileType, buffer->data, buffer->size ) );
+
+ return 1;
+}
+
+/*
> isReady = RL.IsMusicReady( Music music )
Checks if a music stream is ready
diff --git a/src/core.c b/src/core.c
index 9dfbe01..199e424 100644
--- a/src/core.c
+++ b/src/core.c
@@ -3082,6 +3082,30 @@ int lcoreLoadBufferFromFile( lua_State *L ) {
}
/*
+> buffer = RL.LoadBufferFromString( string buffer )
+
+Read buffer data from string
+
+- Failure return nil
+- Success return Buffer
+*/
+int lcoreLoadBufferFromString( lua_State *L ) {
+ size_t len = 0;
+ const char *string = luaL_checklstring( L, 1, &len );
+
+ Buffer buffer = {
+ .type = BUFFER_UNSIGNED_CHAR,
+ .size = len,
+ .data = malloc( len * sizeof( unsigned char ) )
+ };
+ memcpy( buffer.data, string, len );
+
+ uluaPushBuffer( L, buffer );
+
+ return 1;
+}
+
+/*
> RL.UnloadBuffer( Buffer buffer )
Unload buffer data
diff --git a/src/lua_core.c b/src/lua_core.c
index 820cc20..3465fce 100644
--- a/src/lua_core.c
+++ b/src/lua_core.c
@@ -1414,6 +1414,7 @@ void luaRegister() {
/* Buffer management functions. */
assingGlobalFunction( "LoadBuffer", lcoreLoadBuffer );
assingGlobalFunction( "LoadBufferFromFile", lcoreLoadBufferFromFile );
+ assingGlobalFunction( "LoadBufferFromString", lcoreLoadBufferFromString );
assingGlobalFunction( "UnloadBuffer", lcoreUnloadBuffer );
assingGlobalFunction( "GetBufferData", lcoreGetBufferData );
assingGlobalFunction( "GetBufferType", lcoreGetBufferType );
@@ -1767,6 +1768,7 @@ void luaRegister() {
/* Wave/Sound loading/unloading functions. */
assingGlobalFunction( "LoadSound", laudioLoadSound );
assingGlobalFunction( "LoadWave", laudioLoadWave );
+ assingGlobalFunction( "LoadWaveFromMemory", laudioLoadWaveFromMemory );
assingGlobalFunction( "IsWaveReady", laudioIsWaveReady );
assingGlobalFunction( "LoadSoundFromWave", laudioLoadSoundFromWave );
assingGlobalFunction( "LoadSoundAlias", laudioLoadSoundAlias );
@@ -1790,6 +1792,7 @@ void luaRegister() {
assingGlobalFunction( "WaveCrop", laudioWaveCrop );
/* Music management functions. */
assingGlobalFunction( "LoadMusicStream", laudioLoadMusicStream );
+ assingGlobalFunction( "LoadMusicStreamFromMemory", laudioLoadMusicStreamFromMemory );
assingGlobalFunction( "IsMusicReady", laudioIsMusicReady );
assingGlobalFunction( "UnloadMusicStream", laudioUnloadMusicStream );
assingGlobalFunction( "PlayMusicStream", laudioPlayMusicStream );