- Add macOS static and dynamic library linking support
- Add cross-platform build scripts for Windows, macOS, and Linux
- Add project creation script with metadata embedding
- Add macOS app bundle creation with icon support
- Update CMakeLists.txt for platform detection
- Fix STB rect pack duplicate symbols
- Remove test images and unused files
- Consolidate documentation into MACOS.md
- Add html_docs/ directory with Python-based documentation generator
- Include custom CSS styling for modern, clean documentation layout
- Update README.md with improved formatting and documentation links
- Enhance markdown documentation across all docs/ files:
- Improve API documentation with better code examples
- Refactor DOCUMENTATION_INDEX.md for clearer navigation
- Update EMBEDDING.md, CUSTOMIZATION.md, and other guides
- Standardize formatting and improve readability throughout
- Fix inconsistent line endings and formatting issues
The HTML documentation generator creates a styled, browsable version
of the project documentation for easier reading and navigation.
Added comprehensive documentation for implementing Zelda-style
dialog systems using the GameState push/pop stack pattern.
Includes:
- Complete working dialog state example with text animation
- Integration guide for game states
- Character portraits and name box support
- Post-dialog callback handling via resume()
- Visual diagrams of state stack behavior
- Best practices for when to use push/pop vs flags
This pattern allows developers to create professional dialog systems
with proper input control and clean state management.
Removed the WindowShouldClose() check from the splash screen loop
to prevent users from closing the splash screens prematurely.
Previously, users could press ESC or click the X button during
splash screens, which would skip to the game but create confusion
since it didn't actually exit the application. Now splash screens
play through completely for a consistent user experience.
Developers can still skip splashes using the --no-logo flag.
All pixel fonts and TTF fonts loaded through RL.LoadFont(),
RL.LoadFontEx(), RL.LoadFontFromImage(), and RL.LoadFontFromMemory()
now use TEXTURE_FILTER_POINT instead of the default bilinear filtering.
This ensures crisp, pixel-perfect rendering without blurring for
pixel art fonts and maintains consistency across all font loading
methods in the game engine.
- Added zed.sample.settings.json with complete LSP configuration for Lua
- Updated ZED_EDITOR_SETUP.md to reference the sample configuration file
- Includes proper Lua 5.4 runtime settings and ReiLua globals
- Configured diagnostics and inlay hints for better developer experience
- Update all build scripts (.sh and .bat) to automatically create build directory if it doesn't exist
- Fix 'can't cd to build' error that occurred when build directory was missing
- Update .gitignore to exclude build artifacts and IDE files
- Add proper navigation to project root in build_dev.bat for consistency
Added:
- build_dev.bat / build_dev.sh - Development build scripts
- build_release.bat / build_release.sh - Release build scripts with embedding
- icon.ico - Default Windows icon for executable
- resources.rc - Windows resource file for icon and exe metadata
- BUILD_SCRIPTS.md - Complete documentation for build scripts
Features:
- Automated development builds (no embedding, fast iteration)
- Automated release builds (with Lua and asset embedding)
- Interactive verification and cleanup
- Custom icon and version info in Windows executables
- Cross-platform scripts (Windows .bat and Unix .sh)
- Safety checks and helpful messages
The build scripts provide one-command building for both development
and release workflows, with clear instructions and progress feedback.
- Move window initialization and font loading to stateInit()
- Window now opens before splash screens (required for rendering)
- Custom font loaded in stateInit for splash screen use
- Remove RL.config() call from luaCallMain() (window already initialized)
- Remove stateContextInit() call (initialization now done in stateInit)
- Add hasWindow, customFontLoaded, resolution fields to State
- Fix memory management for custom font in stateFree()
This matches the ReiLua-JamVersion architecture where the window
is opened early so splash screens can render properly.
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.