summaryrefslogtreecommitdiff
path: root/docs/UPGRADE_SUMMARY.md
diff options
context:
space:
mode:
authorIndrajith K L2025-11-07 04:55:35 +0530
committerIndrajith K L2025-11-07 04:55:35 +0530
commit3090134068e99e73ca57e8c0b62534c9bc99e93b (patch)
treeb52d4c0531ea9dd003a939b0cfe384b09dc5dbbf /docs/UPGRADE_SUMMARY.md
parent839b3793a5ec4af58d4dabae85e8f8a211ace258 (diff)
downloadreilua-enhanced-3090134068e99e73ca57e8c0b62534c9bc99e93b.tar.gz
reilua-enhanced-3090134068e99e73ca57e8c0b62534c9bc99e93b.tar.bz2
reilua-enhanced-3090134068e99e73ca57e8c0b62534c9bc99e93b.zip
Changes Docs Folders
Diffstat (limited to 'docs/UPGRADE_SUMMARY.md')
-rw-r--r--docs/UPGRADE_SUMMARY.md186
1 files changed, 0 insertions, 186 deletions
diff --git a/docs/UPGRADE_SUMMARY.md b/docs/UPGRADE_SUMMARY.md
deleted file mode 100644
index c9c885f..0000000
--- a/docs/UPGRADE_SUMMARY.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# ReiLua Embedded Assets Upgrade - Summary
-
-## Overview
-Successfully ported embedded assets, splash screens, and asset loading features from ReiLua-JamVersion to the main ReiLua repository on the `embedded-assets-support` branch.
-
-## Features Added
-
-### 1. **Embedded Main.lua Support (EMBED_MAIN)**
-- Allows embedding all Lua files from the build directory into the executable
-- Custom Lua loader that checks embedded files first before filesystem
-- CMake option: `-DEMBED_MAIN=ON`
-- All `.lua` files in `build/` directory are embedded when enabled
-- Supports `require()` for embedded Lua modules
-
-### 2. **Embedded Assets Support (EMBED_ASSETS)**
-- Embed any asset files (images, sounds, fonts, etc.) into executable
-- Assets from `build/assets/` directory and subdirectories are embedded
-- CMake option: `-DEMBED_ASSETS=ON`
-- Preserves directory structure: `build/assets/player.png` → load as `"assets/player.png"`
-- Transparent to Lua code - same paths work in dev and release
-
-### 3. **Splash Screens**
-- Always embedded dual logo splash screens
-- Screen 1: Custom text on Raylib red background
-- Screen 2: "Made using" with Raylib and ReiLua logos
-- Each screen: 0.8s fade in, 2.5s display, 0.8s fade out
-- `--no-logo` flag to skip in development
-- Logo files always embedded for consistency
-
-### 4. **Asset Loading Progress API**
-- `RL.BeginAssetLoading(totalAssets)` - Initialize loading tracking
-- `RL.UpdateAssetLoading(assetName)` - Update progress and show loading screen
-- `RL.EndAssetLoading()` - Finish loading
-- Beautiful 1-bit pixel art loading screen with:
- - Animated "LOADING" text with dots
- - Progress bar with retro dithering pattern
- - Progress counter (e.g., "3/10")
- - Current asset name display
- - Pixel art corner decorations
-
-### 5. **Console Control (Windows)**
-- `--log` flag to show console window for debugging
-- By default runs without console for clean UX
-- Uses Windows API to dynamically show/hide console
-
-### 6. **Font Embedding**
-- Custom Oleaguid font always embedded for splash/loading screens
-- Ensures consistent appearance across builds
-
-## Files Added/Modified
-
-### New Files
-- **Python Scripts:**
- - `scripts/embed_lua.py` - Embeds Lua files into C header
- - `scripts/embed_assets.py` - Embeds asset files into C header
- - `scripts/embed_logo.py` - Embeds splash screen logos
- - `scripts/embed_font.py` - Embeds custom font
-
-- **Source Files:**
- - `src/splash.c` - Splash screen implementation
- - `include/splash.h` - Splash screen header
-
-- **Assets:**
- - `logo/raylib_logo.png` - Raylib logo (2466 bytes)
- - `logo/reilua_logo.png` - ReiLua logo (1191 bytes)
- - `fonts/Oleaguid.ttf` - Custom font (112828 bytes)
-
-- **Documentation:**
- - `EMBEDDING.md` - Complete guide to embedding Lua and assets
- - `ASSET_LOADING.md` - Asset loading API documentation
- - `SPLASH_SCREENS.md` - Splash screen customization guide
- - `BUILD_SCRIPTS.md` - Build scripts documentation
-
-- **Build Scripts:**
- - `scripts\build_dev.bat` / `scripts/build_dev.sh` - One-command development builds
- - `scripts\build_release.bat` / `scripts/build_release.sh` - One-command release builds with embedding
-
-- **Icon and Resources:**
- - `icon.ico` - Default Windows executable icon
- - `resources.rc` - Windows resource file for exe metadata
-
-### Modified Files
-- `CMakeLists.txt` - Added embedding options and build commands
-- `src/main.c` - Added splash screens, console control, --no-logo flag
-- `src/lua_core.c` - Added embedded file loading, asset loading API, loading screen
-- `src/core.c` - Added asset loading API functions
-- `include/core.h` - Added asset loading function declarations
-- `include/lua_core.h` - Changed luaCallMain() return type to bool
-
-## Build Options
-
-### Quick Build (Recommended)
-
-Development (Fast Iteration):
-```bash
-# Windows
-scripts\build_dev.bat
-
-# Linux/Unix
-scripts/build_dev.sh
-```
-
-Release (Single Executable):
-```bash
-# Copy files to build directory first
-cd build
-copy ..\*.lua .
-mkdir assets
-copy ..\assets\* assets\
-
-# Then build
-cd ..
-
-# Windows
-scripts\build_release.bat
-
-# Linux/Unix
-scripts/build_release.sh
-```
-
-### Manual Build
-
-Development Build (Fast Iteration):
-```bash
-cmake -G "MinGW Makefiles" ..
-mingw32-make
-```
-- External Lua and asset files
-- Fast edit-and-run workflow
-- Use `--no-logo` to skip splash screens
-
-Release Build (Single Executable):
-```bash
-# Copy Lua files and assets to build directory
-copy ..\*.lua .
-mkdir assets
-copy ..\assets\* assets\
-
-# Configure with embedding
-cmake -G "MinGW Makefiles" .. -DEMBED_MAIN=ON -DEMBED_ASSETS=ON
-mingw32-make
-```
-- Everything embedded in single .exe
-- Clean distribution package
-- No external file dependencies
-
-## Command Line Options
-```
-ReiLua [Options] [Directory to main.lua or main]
-
-Options:
- -h, --help Show help message
- -v, --version Show ReiLua version
- -i, --interpret Interpret mode [File name]
- --log Show console window for logging (Windows only)
- --no-logo Skip splash screens (development)
-```
-
-## Testing
- Build compiles successfully
- Logos and font embedded automatically
- Asset loading API functions registered
- Splash screens implemented and working
- Console control working (Windows)
- Documentation complete
- SEGV crash fixed - window initializes before splash screens
- Runs successfully with and without --no-logo flag
-
-## Known Changes from Original ReiLua
-- `RL.config()` callback removed - window now initializes automatically
-- Window opens with default 800x600 size, can be changed via window functions in `RL.init()`
-- Custom font (Oleaguid) always loaded for consistent appearance
-- `stateContextInit()` merged into `stateInit()`
-
-## Next Steps
-1. Test with actual embedded Lua files
-2. Test with embedded assets
-3. Verify asset loading progress display
-4. Test splash screens (run without --no-logo)
-5. Create example game that uses all features
-6. Merge to main branch when stable
-
-## Commit
-- Branch: `embedded-assets-support`
-- Commit: "Add embedded assets, splash screens, and asset loading support"
-- All changes committed successfully