Skip to content

Releases: Hoshiruna/LuaSTG-Retro

LuaSTG Retro v0.0.2

Choose a tag to compare

@Hoshiruna Hoshiruna released this 07 Aug 11:46

Full Changelog: v0.0.1...v0.0.2

Custom resource pools, asynchronous loading, Lua hot reloading, and SQLite support.

  • Lua API
    • NEW: lstg.ResourceManager.createPool(name:string): ResourcePool
    • NEW: lstg.ResourceManager.getPool(name:string): ResourcePool?
    • NEW: lstg.ResourceManager.destroyPool(pool:ResourcePool)
    • NEW: lstg.ResourceManager.setLookupOrder(pools:ResourcePool[])
    • NEW: lstg.ResourceManager.getLookupOrder(): ResourcePool[]
    • NEW: lstg.ResourceManager.getPools(): ResourcePool[]
    • NEW: Pool loader methods for textures, videos, sprites, animations, particles, audio, fonts, effects, models, and render targets.
    • CHANGED: lstg.Load* and lstg.CreateRenderTarget now take a pool name or ResourcePool as their first argument.
    • CHANGED: Resource lookup follows the order set by lstg.ResourceManager.setLookupOrder.
    • REMOVED: lstg.SetResourceStatus, lstg.GetResourceStatus, lstg.RemoveResource, lstg.CheckRes, and lstg.EnumRes.
  • Async Lua API
    • NEW: lstg.LoadTextureAsync, LoadVideoAsync, LoadImageAsync, and LoadAnimationAsync.
    • NEW: lstg.LoadPSAsync, LoadSoundAsync, and LoadMusicAsync.
    • NEW: lstg.LoadFontAsync, LoadTTFAsync, and LoadTrueTypeFontAsync.
    • NEW: lstg.LoadFXAsync and LoadModelAsync.
    • NEW: Matching ResourcePool methods: loadTextureAsync, loadVideoAsync, createSpriteAsync, createAnimationAsync, loadParticleAsync, loadSoundAsync, loadMusicAsync, loadSpriteFontAsync, loadTTFAsync, loadTrueTypeFontAsync, loadFXAsync, and loadModelAsync.
    • NEW: lstg.FileManager.ReadFileAsync(path:string): AsyncResourceJob.
    • NEW: AsyncResourceJob:status(): string
    • NEW: AsyncResourceJob:isDone(): boolean
    • NEW: AsyncResourceJob:error(): string?
    • NEW: AsyncResourceJob:read(): boolean|string|nil, string?
    • NEW: AsyncResourceJob:cancel(): boolean
  • Lua modules
    • NEW: require("luasql.sqlite3") provides SQLite through LuaSQL.
    • NEW: Lua hot reloading is available from the ImGui debugger.
  • Tools and engine
    • Added a DAT archive builder and updated DAT archive handling.
    • Added resource-pool logging and an ImGui resource status view.
    • Improved asynchronous texture, font, shader, audio, and video handling.
    • Localized several engine log messages.
  • Build
    • Added AMD64 Ninja Debug and Release presets.
    • Added windows-ninja-amd64-release as a CMake workflow preset.
    • Updated GitHub Actions dependencies and CI configuration.
    • Removed the documentation Git submodule.
  • Fixes
    • Fixed inconsistent async resource variable names.

What's Changed

LuaSTG Retro v0.0.1 Pre-release

Pre-release

Choose a tag to compare

@Hoshiruna Hoshiruna released this 28 May 09:36

Pre-release, includes the following updates:

  • API addition: lstg.SwapChain.ScalingMode.integer_aspect_ratio has been added.

    • This mode preserves the canvas aspect ratio and prefers integer scaling for sharper pixel output.
    • If no valid integer scale fits the window, it falls back to normal aspect-ratio scaling.
  • API addition: lstg.DiscordRPC has been added.

  • Support for managing game resources and assets using the DAT archive format is now available.