Add embedded assets, splash screens, and asset loading support

Features added:
- Embedded main.lua and Lua files support (EMBED_MAIN option)
- Embedded assets support (EMBED_ASSETS option)
- Splash screens with dual logo display (always embedded)
- Asset loading progress tracking API (BeginAssetLoading, UpdateAssetLoading, EndAssetLoading)
- Custom font embedding for splash/loading screens
- --log flag for Windows console control
- --no-logo flag to skip splash screens in development
- Python scripts for embedding (embed_lua.py, embed_assets.py, embed_logo.py, embed_font.py)
- Documentation (EMBEDDING.md, ASSET_LOADING.md, SPLASH_SCREENS.md)

This allows building single-executable releases with all Lua code and assets embedded.
This commit is contained in:
2025-11-03 17:48:56 +05:30
parent 3afcbd3200
commit 737214b71b
19 changed files with 1801 additions and 24 deletions

View File

@@ -140,6 +140,9 @@ int lcoreGetDirectoryPath( lua_State* L );
int lcoreGetPrevDirectoryPath( lua_State* L );
int lcoreGetWorkingDirectory( lua_State* L );
int lcoreGetApplicationDirectory( lua_State* L );
int lcoreBeginAssetLoading( lua_State* L );
int lcoreUpdateAssetLoading( lua_State* L );
int lcoreEndAssetLoading( lua_State* L );
int lcoreMakeDirectory( lua_State* L );
int lcoreChangeDirectory( lua_State* L );
int lcoreIsPathFile( lua_State* L );

View File

@@ -50,7 +50,7 @@ void assingGlobalFunction( const char* name, int ( *functionPtr )( lua_State* )
bool luaInit( int argn, const char** argc );
int luaTraceback( lua_State* L );
void luaCallMain();
bool luaCallMain();
void luaCallInit();
void luaCallUpdate();
void luaCallDraw();

6
include/splash.h Normal file
View File

@@ -0,0 +1,6 @@
#pragma once
void splashInit();
bool splashUpdate( float delta );
void splashDraw();
void splashCleanup();