RL_LoadDirectoryFilesEx and separate option for doc_parser.
This commit is contained in:
9
API.md
9
API.md
@@ -2065,6 +2065,15 @@ Load directory filepaths
|
||||
|
||||
---
|
||||
|
||||
> fileNames = RL_LoadDirectoryFilesEx( string basePath, string filter, bool scanSubdirs )
|
||||
|
||||
Load directory filepaths with extension filtering and recursive directory scan
|
||||
|
||||
- Failure return false
|
||||
- Success return string{}
|
||||
|
||||
---
|
||||
|
||||
> success = RL_ChangeDirectory( string directory )
|
||||
|
||||
Change working directory, return true on success
|
||||
|
||||
@@ -25,12 +25,12 @@ List of some MISSING features that are planned to be included. For specific func
|
||||
* Textures
|
||||
* LoadImageFromMemory
|
||||
* Text
|
||||
* LoadFontFromMemory
|
||||
* GlyphInfo
|
||||
* LoadFontFromMemory
|
||||
* Audio
|
||||
* AudioStream management functions
|
||||
* LoadWaveFromMemory
|
||||
* LoadMusicStreamFromMemory
|
||||
* AudioStream management functions
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@@ -13,3 +13,5 @@ ADDED: Help argument.
|
||||
CHANGED: Changed fuction name RL_rlSetLineWidth to RL_rlglSetLineWidth.
|
||||
CHANGED: Changed fuction name RL_rlGetLineWidth to RL_rlglGetLineWidth.
|
||||
FIX: DrawRectangleGradient V and H expecting wrong amount of arguments.
|
||||
ADDED: RL_LoadDirectoryFilesEx.
|
||||
ADDED: Flag option (-s) for doc_parser.lua for exporting module APIs to separate files.
|
||||
|
||||
10
devnotes
10
devnotes
@@ -2,13 +2,9 @@ Current {
|
||||
}
|
||||
|
||||
Backlog {
|
||||
* Core
|
||||
* LoadDirectoryFilesEx
|
||||
* Audio
|
||||
* AudioStream
|
||||
* AudioStream.
|
||||
* Text
|
||||
* Codepoints
|
||||
* String management. At least TextSplit.
|
||||
|
||||
* VR?
|
||||
* Codepoints?
|
||||
* VR.
|
||||
}
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
--Create api.md file from c sources.
|
||||
|
||||
-- Export each module as separate .md file.
|
||||
local separate = false
|
||||
|
||||
if arg[1] ~= nil and arg[1] == "-s" then
|
||||
separate = true
|
||||
end
|
||||
|
||||
local function split( str, sep )
|
||||
if sep == nil then
|
||||
sep = "%s"
|
||||
@@ -34,6 +41,8 @@ Note: Engine will call Raylib functions 'BeginDrawing()' before this function ca
|
||||
You can still use RL_BeginDrawing() and RL_EndDrawing() manually from anywhere.\n\n---\n" )
|
||||
apiFile:write( "\n> function log( logLevel, message )\n\
|
||||
This function can be used for custom log message handling.\n\n---\n" )
|
||||
apiFile:write( "\n> function exit()\n\
|
||||
This function will be called on program close. Cleanup could be done here.\n\n---\n" )
|
||||
|
||||
-- Globals.
|
||||
|
||||
@@ -142,27 +151,35 @@ apiFile:write( "\n> NPatchInfo = { { 0, 0, 24, 24 }, 0, 0, 0, 0, NPATCH_NINE_PAT
|
||||
apiFile:write( "\n> ModelAnimations = ModelAnimationsId\n\
|
||||
int id. ModelAnimations\n\n---\n" )
|
||||
|
||||
if separate then
|
||||
apiFile:close()
|
||||
end
|
||||
|
||||
-- Functions.
|
||||
|
||||
local sourceFiles = {
|
||||
"src/core.c",
|
||||
"src/shapes.c",
|
||||
"src/textures.c",
|
||||
"src/text.c",
|
||||
"src/models.c",
|
||||
"src/audio.c",
|
||||
"src/rmath.c",
|
||||
"src/rgui.c",
|
||||
"src/lights.c",
|
||||
"src/rlgl.c",
|
||||
"src/easings.c",
|
||||
"core",
|
||||
"shapes",
|
||||
"textures",
|
||||
"text",
|
||||
"models",
|
||||
"audio",
|
||||
"rmath",
|
||||
"rgui",
|
||||
"lights",
|
||||
"rlgl",
|
||||
"easings",
|
||||
}
|
||||
|
||||
for _, src in ipairs( sourceFiles ) do
|
||||
srcFile = io.open( src, "r" )
|
||||
srcFile = io.open( "src/"..src..".c", "r" )
|
||||
local line = ""
|
||||
local p = false
|
||||
|
||||
if separate then
|
||||
apiFile = io.open( src..".md", "w" )
|
||||
end
|
||||
|
||||
repeat
|
||||
line = srcFile:read( "*l" )
|
||||
|
||||
@@ -182,6 +199,12 @@ for _, src in ipairs( sourceFiles ) do
|
||||
until line == nil
|
||||
|
||||
srcFile:close()
|
||||
|
||||
if separate then
|
||||
apiFile:close()
|
||||
end
|
||||
end
|
||||
|
||||
apiFile:close()
|
||||
if not separate then
|
||||
apiFile:close()
|
||||
end
|
||||
|
||||
@@ -85,6 +85,7 @@ int lcoreGetDirectoryPath( lua_State *L );
|
||||
int lcoreGetPrevDirectoryPath( lua_State *L );
|
||||
int lcoreGetWorkingDirectory( lua_State *L );
|
||||
int lcoreLoadDirectoryFiles( lua_State *L );
|
||||
int lcoreLoadDirectoryFilesEx( lua_State *L );
|
||||
int lcoreChangeDirectory( lua_State *L );
|
||||
int lcoreIsFileDropped( lua_State *L );
|
||||
int lcoreLoadDroppedFiles( lua_State *L );
|
||||
|
||||
27
src/core.c
27
src/core.c
@@ -2198,6 +2198,33 @@ int lcoreLoadDirectoryFiles( lua_State *L ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
> fileNames = RL_LoadDirectoryFilesEx( string basePath, string filter, bool scanSubdirs )
|
||||
|
||||
Load directory filepaths with extension filtering and recursive directory scan
|
||||
|
||||
- Failure return false
|
||||
- Success return string{}
|
||||
*/
|
||||
int lcoreLoadDirectoryFilesEx( lua_State *L ) {
|
||||
if ( !lua_isstring( L, -3 ) || !lua_isstring( L, -2 ) || !lua_isboolean( L, -1 ) ) {
|
||||
TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_LoadDirectoryFilesEx( string dirPath )" );
|
||||
lua_pushboolean( L, false );
|
||||
return 1;
|
||||
}
|
||||
FilePathList files = LoadDirectoryFilesEx( lua_tostring( L, -3 ), lua_tostring( L, -2 ), lua_toboolean( L, -1 ) );
|
||||
|
||||
lua_createtable( L, files.count, 0 );
|
||||
|
||||
for ( int i = 0; i < files.count; ++i ) {
|
||||
lua_pushstring( L, files.paths[i] );
|
||||
lua_rawseti( L, -2, i+1 );
|
||||
}
|
||||
UnloadDirectoryFiles( files );
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
> success = RL_ChangeDirectory( string directory )
|
||||
|
||||
|
||||
@@ -748,6 +748,7 @@ void luaRegister() {
|
||||
lua_register( L, "RL_GetPrevDirectoryPath", lcoreGetPrevDirectoryPath );
|
||||
lua_register( L, "RL_GetWorkingDirectory", lcoreGetWorkingDirectory );
|
||||
lua_register( L, "RL_LoadDirectoryFiles", lcoreLoadDirectoryFiles );
|
||||
lua_register( L, "RL_LoadDirectoryFilesEx", lcoreLoadDirectoryFilesEx );
|
||||
lua_register( L, "RL_ChangeDirectory", lcoreChangeDirectory );
|
||||
lua_register( L, "RL_IsFileDropped", lcoreIsFileDropped );
|
||||
lua_register( L, "RL_LoadDroppedFiles", lcoreLoadDroppedFiles );
|
||||
|
||||
Reference in New Issue
Block a user