From 8fab74e97730b49545549fa100fd69de230462a2 Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Mon, 7 Sep 2026 19:26:56 -0500 Subject: [PATCH] Bug fixes and compatability improvements. --- CHANGELOG | 131 ++++++++- docs/Manual.adoc | 103 +++++-- src/main.c | 54 +++- src/model.c | 326 +++++++++++++--------- src/navRecast.cpp | 38 ++- src/pack.c | 16 +- src/particles.c | 56 ++-- src/physicsJolt.cpp | 159 ++++++----- src/scene.c | 118 +++++--- src/shaders/scene.hlsl | 61 ++++- src/singe.c | 560 ++++++++++++++++++++++++++++++-------- src/singe.h | 14 + src/util.c | 3 +- src/vfs.c | 189 +++++++++---- testScripts/README.md | 2 +- testScripts/scene27.singe | 16 +- 16 files changed, 1350 insertions(+), 496 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 30e014040..3d72bca2d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,16 @@ SINGE 3.00 API Changes ----------- +- math.randomseed accepts fractional seeds (floored), so 2.x games that + seed with os.clock() products run under Lua 5.4. + +- A script launched by name (or by its directory) runs with its games.dat + entry, as the menu would run it: Singe finds the games.dat in the + script's directory or up to three above, and applies the entry whose + SCRIPT names the script, LEGACY_SPRITE_ARGS included. Options typed on + the command line keep their values. Every game in a library therefore + behaves the same whether it was started from the menu or from a shell. + - The name now expands to "SINGE Is Not a Game Emulator", in the banner, the manual, INSTALL, and the Windows file description. @@ -351,11 +361,61 @@ API Changes - lightSetCone raises the outer angle to at least the inner angle. +- Packed games: the data directory is always // +