summaryrefslogtreecommitdiff
path: root/src/core.c
diff options
context:
space:
mode:
authorjussi2024-01-24 19:14:30 +0200
committerjussi2024-01-24 19:14:30 +0200
commit3b3d0ad32e24c2ff0a13daf3e865054f63afaf86 (patch)
tree192e9b69af4515c6e05978c83905636f693f011a /src/core.c
parent7460a16cae15dfa7924d1d4df1aac166a6a6fd2c (diff)
downloadreilua-enhanced-3b3d0ad32e24c2ff0a13daf3e865054f63afaf86.tar.gz
reilua-enhanced-3b3d0ad32e24c2ff0a13daf3e865054f63afaf86.tar.bz2
reilua-enhanced-3b3d0ad32e24c2ff0a13daf3e865054f63afaf86.zip
LoadBufferFromString, LoadWaveFromMemory and LoadMusicStreamFromMemory.
Diffstat (limited to 'src/core.c')
-rw-r--r--src/core.c24
1 files changed, 24 insertions, 0 deletions
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