Sam Tupy on 2026-03-17T00:12:25Z: Make windows fullscreen by default on Linux for Wayland focusing (fixes #255)
Sam Tupy on 2026-03-16T22:47:16Z: fix microphone::set_device (resolve #338)
Sam Tupy on 2026-03-16T20:55:22Z: Spatialization and freeverb now work on multichannel audio devices (fixes #323 fixes #302)
Aryan Choudhary on 2026-03-16T16:16:03Z: Add graphics_texture class for GPU caching (#356) Introduced the graphics_texture class to wrap SDL_Texture, allowing developers to cache textures. This eliminates the severe performance bottleneck caused by converting SDL_Surface to SDL_Texture every frame in the legacy render_graphic method, even for loaded images that could just be cached.
Sam Tupy on 2026-03-16T14:30:15Z: Update scriptdictionary addon and fix print_func's dictionaryValue output (resolves #354)
NKPR0d on 2026-03-16T14:00:36Z: Fix MSVC compilation errors by writing version.cpp as UTF8 (#355)
Sam Tupy on 2026-03-16T06:40:18Z: update SDL android java code (fixes #353)
Sam Tupy on 2026-03-16T01:06:00Z: dep update - angelscript, sdl, more
Sam Tupy on 2026-03-16T00:27:46Z: Fix legacy_sound broken because of tonesynth not using namespace accessor (fixes #342)
Sam Tupy on 2026-03-16T00:01:46Z: Loads of work on game_window class and implementing graphics functions enspired from @aryanchoudharypro
Sam Tupy on 2026-03-15T23:55:07Z: The #pragma stub option works again (resolves #259) (fixes #340)
Arto Baltayan on 2026-03-14T22:53:47Z: Fix capitalization and hyphenation in README (#352) Fix README formatting (cross-platform, Unity, Unreal)
Aryan Choudhary on 2026-03-14T18:12:05Z: add window flags to show_window and new window sizing functions (#351) * fix lagg in open and save as dialogs on windows * add window flags to show_window and new window sizing functions * added optional flags argument to show_window to allow creating fullscreen, maximized, resizable, or hidden windows * added get_window_width() and get_window_height() to retrieve the current pixel dimensions of the game window * exposed various SDL window flags to AngelScript through the new window_flags enum * added accompanying documentation for the new functions and flags * fix docs and enums
Aryan Choudhary on 2026-03-14T02:16:35Z: fix lagg in open and save as dialogs on windows (#350)
Sam Tupy on 2026-03-12T19:12:37Z: attempt loading libspeechd.so.2 on linux (fixes #326)
Day Garwood on 2026-03-12T18:01:02Z: Several improvements and bug fixes to Sapibridge (#345) 1. Fix a few potential memory leaks (voice enumeration, stream creation, cleanup) 2. API consistency (getters now always return from cache) 3. Pitch now works (all text is now sent via XML and escaped) 4. Library now considers previous COM initialisation (fixes #344 Problem loading voices after window is created). 5. UTF8 consistancy (fixes #346 Chinese text is garbled in built-in TTS / SAPI5 on Windows).
Sam Tupy on 2026-03-12T17:57:48Z: fix windows screen_reader_braille UTF8 conversion (#346)
Sam Tupy on 2026-03-12T17:57:10Z: Add /utf-8 windows build argument (#346)
Sam Tupy on 2026-03-10T22:02:23Z: attempt to upload install action (untested at this time)
Quin Gillespie on 2026-03-06T16:45:01Z: Add parameter names to functions and fix brace coding style in cppmath.cpp.
Aryan Choudhary on 2026-03-05T04:10:58Z: added a get_process_id function (#343)
Quin Gillespie on 2026-03-05T03:52:14Z: Clean up run function on Windows, leading to far more reliability, remove a few old quick tests.
Sam Tupy on 2026-03-02T19:40:55Z: Attempt to fix overcomplicated settings::ensure_path_exists function to fix absolute path not working on some platforms
Sam Tupy on 2026-03-02T19:39:51Z: Fix statset deserialize_linear number detection so string stats can start with numbers and still deserialize
Mateo Cedillo on 2026-03-02T19:38:26Z: Added soundtrack and a quick test (#328) * This is version 1 (original) without drums, pitch bend or harmonies. Those can't be added at the moment because some internal functions are missing. * We can write songs to both memory or file. * Includes quick test.
Day Garwood on 2026-02-27T21:43:17Z: InputBox: Switch from richedit to edit control (#337)
Sam Tupy on 2026-02-27T19:37:32Z: fix bundler duplicating resources
Sam Tupy on 2026-02-27T19:16:05Z: http keepalive timeout and uuid properties
Sam Tupy on 2026-02-23T21:38:40Z: seems our automatic releases action broke mid dev, try latest ver of it?
Sam Tupy on 2026-02-23T20:55:34Z: hack parse_json to use aswrappedcall until we can fix angelscript exceptions on Intel Macs
Sam Tupy on 2026-02-23T17:16:36Z: manually lipo Angelscript on MacOS to attempt fixing intel exception mishandling
Sam Tupy on 2026-02-18T16:12:15Z: first attempt at signed windows installer!
Sam Tupy on 2026-02-17T02:00:56Z: several improvements to AVTTSVoice that showed themselves on MacOS26 - causes much faster NVGT app launches!
Sam Tupy on 2026-02-17T02:00:10Z: add a property to touch to determine if input has reached the manager recently
DalisonCPU on 2026-02-12T17:15:35Z: Changing core to allow DATE/TIME override by plugin (#336) * feat: Changing core to load plugins after ConfigureEngine and split time globals * fix: Initialize time cache on first read
Ethin Probst on 2026-02-10T12:36:44Z: Update contributor guidelines to moderate AI-generated pull requests
Ethin Probst on 2026-02-10T12:04:13Z: Revert "Little Code Enhancements (#332)" This reverts commit 7503627bc01aa1c1d73401a05e908a5397a805af.
Hamza Ahmad on 2026-02-09T15:21:47Z: Little Code Enhancements (#332) * Clarify regexp_match parameter names in registration Updated the registration of the regexp_match global function to include explicit parameter names (subject, pattern, options) for improved clarity in the scripting API. * Add property attribute to set_looping method registration The set_looping method is now registered with the 'property' attribute, aligning it with the get_looping method and improving script interface consistency. * Add parameter names to regexp global function signatures Updated the registration of regexp_search and regexp_replace global functions to include parameter names for clarity. This improves code readability and helps script users understand the function arguments.
MarcroSoft on 2026-02-02T11:15:08Z: Compile angelscript-nc again and use it in the windows stub (#331)
DalisonCPU on 2026-01-31T04:09:58Z: Implementations for random64 (#256) * add: Implementing Range64 * feat: Implementing rnd_xorshift_range64 * feat: Added Random64 function * refactor: Using Next64 instead of Next to Random64 and registered Next64 for AngelScript * feat: Added random64 test example
Day Garwood on 2026-01-31T02:53:29Z: improve input_box module (#307) * Fix potential bugs and leaks in window destruction * Few other minor fixes - OK NULL guard, correct brush reference, fix M_SETREADONLY parameter. * Fix leak (FreeLibrary) * Fix alignment helper. Hopefully now works with both static and text controls (no crashes/errors but can't confirm visual UI layout). * Fix clipboard retention bug
Aryan Choudhary on 2026-01-31T02:40:30Z: added the new touch include with better gesture detection using events (#318) This drastically improves the reliability of the touch include while adding several new features, such as flicks and long holds.
Sam Tupy on 2026-01-31T01:49:16Z: be sure android.mk no longer looks for miniaudio.c
Sam Tupy on 2026-01-31T01:48:34Z: local android builds now run after upgrading gradle/sdl project files, miniaudio is now vcpkg dep!
Sam Tupy on 2026-01-30T21:47:26Z: try forcing deps and nvgt to use same ndk
Sam Tupy on 2026-01-30T20:51:52Z: we appear to be building deps with different ndk ver than nvgt because of gradle. Downgrade to ndk r25b for now
Sam Tupy on 2026-01-30T20:14:01Z: update vcpkg baseline - android is building locally...
Sam Tupy on 2026-01-25T00:26:43Z: Needed to also set c++_static in jni/application.mk
Sam Tupy on 2026-01-24T23:41:20Z: oops? We want dynamic not shared for Android triplet
Sam Tupy on 2026-01-24T23:16:21Z: add aryanchoudharypro/NVGTBridge support to NVGT apps by default!
Sam Tupy on 2026-01-24T23:12:37Z: Try Android NDK r29 and switch to c++_shared in Android toolchain
Sam Tupy on 2026-01-23T23:41:10Z: attempt to upgrade to Android ndk r27d to fix missing fstream ops after dep upgrades
Sam Tupy on 2026-01-23T23:29:05Z: add missing Linux packages to CI after dep upgrades
Sam Tupy on 2026-01-12T20:16:45Z: Massive dep upgrade including Angelscript miniaudio SDL and VCPKG baseline! Unfortunately my local setup for testing various platforms is a bit in need of love at the moment, so we're going to let CI report errors on various platforms other than windows until we fix them.
Sam Tupy on 2026-01-08T18:22:17Z: update to latest miniaudio dev miniaudio dev commit 5ef2e1ec57cdbd2b9b09d776f0a13c2c2a796a7d
Sam Tupy on 2026-01-08T08:23:59Z: fix memory leak in JSON wrapper when assigning arrays and objects via operator overloading
Sam Tupy on 2026-01-07T20:07:24Z: add menu::delete_all_items() method to menu.nvgt
Sam Tupy on 2026-01-06T19:32:29Z: timer_queue::set forces timeout to be at least 1ms to avoid debug assertion from underlying timer_wheel, a bit of styling to timer_queue in the process
Quin Gillespie on 2026-01-06T17:43:10Z: Added the / operator overload to spec::path for cross-platform path joining, as well as a test case for it.
Aryan Choudhary on 2026-01-01T01:52:31Z: fix is_window_active on android (#322)
Aryan Choudhary on 2026-01-01T01:50:29Z: fixed detection of jieshuo on Android when the game mode is active (#321)
Sam Tupy on 2025-12-20T07:27:33Z: make sound basic panner take listener orientation into account
Sam Tupy on 2025-12-14T19:50:10Z: fix linux build error
Sam Tupy on 2025-12-14T19:02:29Z: Merge conflict after pr acceptance
Aryan Choudhary on 2025-12-14T19:01:21Z: merge Android input box code initially provided by @ethindp (#314)
Hamza Ahmad on 2025-12-14T18:59:31Z: Add file_touch function to update file timestamps (#317)
Sam Tupy on 2025-12-14T18:59:01Z: do not compress .dat files in APK packages
Sam Tupy on 2025-12-12T20:00:05Z: fix menu.nvgt not playing sounds if sound_default_pack set - broke after last pack based fix
Sam Tupy on 2025-12-12T01:28:49Z: fix unable to load sfx from disc if sound_default_pack is set (resolves #313)
Aryan on 2025-12-11T04:23:42Z: Fixed the Android active screen reader detection logic by explicitly requiring Explore by Touch to be enabled For speaking to the screen reader (#312)
Day Garwood on 2025-12-05T18:23:34Z: Add more PCM helpers to tone_synth (#311) write_samples(), properties for sample_rate and channels. Enspired from #310
Ethin Probst on 2025-11-14T17:15:21Z: http: add remaining HTTP request methods to http class
Sam Tupy on 2025-11-09T03:52:35Z: bass vcpkg portfiles
Sam Tupy on 2025-11-09T03:31:21Z: bass vcpkg portfiles
Sam Tupy on 2025-11-09T03:23:37Z: continue updating bass portfile hashes, likely not done
Sam Tupy on 2025-11-09T03:10:00Z: update bass portfile hashes
Quin Gillespie on 2025-11-09T02:54:40Z: Use set instead of add when setting HTTP headers to avoid Poco's horrible and undocumented behavior of add appending to the string.
Quin Gillespie on 2025-11-09T02:43:44Z: Fix the NVGT version string being part of the user-agent header of all http_request objects, even if one was manually set.
Sam Tupy on 2025-10-23T21:42:37Z: fix accidental ambiguous datastream constructor (fixes #301)
Sam Tupy on 2025-10-22T13:17:43Z: actually fix MacOS build this time
Sam Tupy on 2025-10-22T12:47:31Z: fix macos build after auto_chdir change
Sam Tupy on 2025-10-22T12:22:08Z: NVGT finally automatically changes directory to script or executable folder!
Sam Tupy on 2025-10-22T12:21:32Z: increase soundsystem buffer size to 256 frames
Sam Tupy on 2025-10-18T19:29:16Z: new domain nvgt.dev
Day Garwood on 2025-10-16T13:26:17Z: Consistency fix in StringSplit/string::split (#294) * Fix StringSplit Returns empty array if allow_blanks is false and source string is empty. * Update documentation
Day Garwood on 2025-10-16T13:24:33Z: Fix crash due to attempted out-of-bounds access in join (#295)
Day Garwood on 2025-10-16T13:23:20Z: fix library unload registration (#296)
Sam Tupy on 2025-10-11T17:40:49Z: hopefully fix bass portfile?
Sam Tupy on 2025-10-11T17:29:41Z: update bass portfile to latest hashes (might happen couple more times)
Sam Tupy on 2025-10-11T17:16:59Z: tts_voice major refactor (in progress) This entirely reworks the tts_voice object internally. the nvgt API is still the same, but both code and feature wise the tts system is much cleaner, more extensible, more feature ritch and fewer bugs, more modern etc. Note to bleeding edge testers, this commit is being made for colaberative purposes and not because the system is 100% complete. Testing is welcome and appreciated so long as it's kept in mind that this is not production ready. The commit that completes the system will include a much more detailed feature list.
Sam Tupy on 2025-10-07T03:39:26Z: install android APKs with -r flag
Sam Tupy on 2025-10-03T23:33:39Z: Android improvements * Asset based packs have now been confirmed to work on Android! * It is now possible to select between multiple connected Android devices for APK installation rather than NVGT failing if more than one device was connected.
Ethin Probst on 2025-10-03T15:54:44Z: Update extra repo to commit a731e25
Day Garwood on 2025-09-29T22:17:43Z: Rewrite SAPI abstraction (#250) New implementation provides the following improvements: * Use vtable-based COM implementation instead of IDispatch, * Fix several potential memory leaks and crashes (resolves #240), * Implement pitch control.
Sam Tupy on 2025-09-29T21:32:57Z: Introduce fallback prerelease branch Currently NVGT's semantic versioning releases are on hold until the 0.90 milestone and possibly a bit further. Until they resume with greater responsibility than before, this fallback release provides a way for users to test a relatively modern and stable development version of NVGT but without being caught up in any broken code from the latest development work. This branch is experimental and is subject to change or deprication, but should be a useful help at least for a time. Unlike the bleeding edge release, the fallback branch will only update when main is manually merged into it rather than automatically at every commit, giving us control to let anyone test bleeding edge features while allowing those with sensative projects to maintain a stable installer.
Sam Tupy on 2025-09-29T21:17:50Z: prepare to provide fallback dev prerelease
Sam Tupy on 2025-09-27T21:08:54Z: nvgt binary is now marked executable in MacOS and Linux packages
Sam Tupy on 2025-09-26T22:16:24Z: fix encrypted pack creation with sdl file streams
Sam Tupy on 2025-09-25T09:15:06Z: sound system improvements * Testing needed, but it should now be possible to open pack files and raw sounds from the Android asset system! This means that special code to embed packs on android should hopefully no longer be necessary. This was done by using SDL's file stream instead of Poco's, please report any new instability when dealing with packs or sounds on disc. * Fix max_distance not being applied to hrtf attenuator. * Handle the case of opening an encoder while it is already opened.
Ethin Probst on 2025-09-21T00:31:32Z: Have generate_engine_dump include the unicode functions from the Unicode plug-in