Skip to content

Releases: Mhatxotic/Engine

26.6

Choose a tag to compare

@Mhatxotic Mhatxotic released this 03 Jun 18:35
26.6
7755f64

Highlights…

  • PcmLib Allow word and byte sampled .CAF formats and harden loading.
  • FileMap Fix misaligned read in FileMapReadVarFrom().
  • Sample Return correct number of arguments when using Sample:Spawn().
  • Fbo Optimise triangle angle transformation speed by 10%.
  • Texture Optimise automatic texture tile generation.
  • Win32 Win32 DLL header version reader improvements.
  • Console Add cvar con_enablebreak to handle Ctrl+C in NCurses window.
  • Memory Improve byte swapping memory functions.
  • OpenAL Improve startup logging including enumerating context extensions and by logging the version via CVars since it doesn't need a context.
  • Console Command textures now accepts an argument to see the stored tiles data of any loaded Font or Texture class.
  • MacOS Use ASAN safe environment variable list.
  • Win32 Fix a great deal of minor Win32 compilation warnings.
  • Cert Fixed ASN.1 time parsing and improve certs command output.
  • Socket Logging changes.
  • Console Fix some graphical console redraw issues.
  • IFmtGif Wrap libnsgif calls in error checking wrappers.
  • Lua Overhaul the garbage collector configuration system as the original system was wrong and didn't allow to configure all the parameters.
  • Console Add creset command to redraw terminal UI.
  • Format Improve speed of processing font glyph and ncurses strings.
  • CVars Allow most vars that can only be set by manifest be overridden by command-line.
  • Stream Resolve incorrect un-queue/re-queue OpenAL buffers behaviour.
  • Console Improve dir command output.
  • Video Fix FBO drawing lists not being cleared when rendered.
  • Lua Added a few new API functions.
  • Engine Attempt to remove raw pointer usage in places.
  • Engine Major overhaul in use of STL string containers to try and prevent string duplication which increases general performance.
  • Engine Move a great deal of code around in an attempt to increase readability.

26.5

Choose a tag to compare

@Mhatxotic Mhatxotic released this 01 May 11:06
26.5
a9765d2

Notice…

The 32-bit Windows version has been be retired as the world is now moving on, however, the associated code paths will still be maintained when needed.

Highlights…

  • Core Force draw frame every second if GPU is running too slow.
  • PcmLib Remove obsolete MP3 decoder (code and references).
  • Misc Fix missing ident strings on LuaVar/LuaCmd::Ident classes.
  • ConLib Add directory/file counter column for dir command.
  • Core Remove obsolete console redraw when the LUA sandbox ends.
  • Core Reset finish times on built-in FBOs when resetting the sandbox to fix exception.
  • Core Fix hiding the console when starting the sandbox while console is locked.
  • System Adjust message box title text.
  • Win32 Minor optimisation to crash handler; standardise crash log filename extension.
  • System Show label for blank fields in mods console command.
  • PSplit Reduce memory usage and clean up related issues.
  • Mac Fix system info retrieval on macOS; add flag for differing host vs real host.
  • Core Log main event exit names as well as codes.
  • System Tidy pipe buffer size.
  • Win32 Recognize Windows 11 26H1 and check for all architectures on Windows.
  • Win32 Reduce total error blocking for questionable Windows calls.
  • Thread Thread exit request shows if it was performed by itself or another thread.
  • Core Handle OS/GLFW closing the window without the engine knowing to prevent crash.
  • EvtCore Add more event logging; update various comments.
  • Engine General tidying, deduplications, wrapping and consistency corrections.

26.4

Choose a tag to compare

@Mhatxotic Mhatxotic released this 03 Apr 11:57
26.4
0f013c0

Highlights…

  • Core Prevent potential GPU resource leak when catching up timer.
  • Posix Linux and MacOS can now share mutex code.
  • Audio Component values set to 100% by default except master which stays at 75%.
  • Mac Now uses proper POSIX readdir() function.
  • Core Fix fatal error on script error after Main FBO was finished.
  • Atlas Foundation implemented for LUA API.
  • Sql Exposed to LUA API so guest can create their own databases.
  • Sql Add Sql.Main() to return the engine database handle.
  • Sql Add obj_sqlmax cvar to control maximum databases.
  • Sql Add sql_lockingmode to control database use exclusivity.
  • Sql Clear in-memory results after reading or writing compiled Lua code.
  • Core Allow err_* cvars that potentially block execution to be bypassed.
  • Log Harden logging to file process.
  • Log Add log_append to append to log instead of truncating.

Notice…

The 32-bit Windows version will be retired as the world is now moving on, however, the associated code paths will still be maintained when needed.

26.1.25

Choose a tag to compare

@Mhatxotic Mhatxotic released this 25 Jan 16:40
26.1.25
385d6c6

Highlights…

  • LUA Add Variable.NotEmpty(), Fbo.Flush() and remove Core.SetInterval().
  • Upstream Compatible with FreeType 2.14.1 (MacOS/Win32), LibPng 1.6.54 (MacOS/Win32), LZMA 25.01, NCurses 6.6 (MacOS), SqLite 3.51.2, OpenAL 1.25.1 (MacOS).
  • Timer Optimisations, improve timing when using suspend.
  • FBO Optimisations, remove pointless rendering queue, use a VBO for drawing to back buffer.
  • Code Lots of changes to improve readability.
  • Console Command log shows file information if log_file is set.
  • Crypt Fix HTML entities database.
  • Audio Read OpenAL context errors as we did not before and optimise initialisation.
  • System Use wcout/wcerr instead of fwprintf().
  • Console Parse control characters on app_guimode 0 outputting to terminal.
  • LuaCode Fix initialising a non-existent LUA code cache table in SQL database.
  • FboCore Force glFinish() at the end of each frame to protect from data races.
  • CVar Remove obsolete vid_auxbuffers which didn't actually enable triple buffering and is do to with legacy GL.
  • CmdLine Don't unload environment variables at all except in debug version to not block IDE debugging features.
  • Video Fix a data race during destruction.
  • Stream Fix a data race during destruction and accessing OpenAL capabilities.
  • Linux Redirecting stderr to log now works.
  • Linux Unset LD_PRELOAD at startup.
  • Linux Use a slightly modified MacOS code for detecting multiple instances in Linux.
  • Linux Fix quotation break-out when showing dialogue boxes in Linux.

26.1.6

Choose a tag to compare

@Mhatxotic Mhatxotic released this 06 Jan 13:56
4db1bfc

Highlights…

  • LUA Really fix binary code flush when on new version detected.
  • LUA Update with safer try/except on C function call backs.
  • LUA Don't copy permanent strings and make uses of lua_pushexternalstring().
  • Common Convert some common strings to string_views and add a string_view for frame time out message.
  • Display Make use of GLFW_POSITION_X/Y,
    GLFW_MOUSE_PASSTHROUGH, GLFW_SCALE_FRAMEBUFFER, GLFW_SCALE_TO_MONITOR and remove COCOA_RETINA_FRAMEBUFFER.
  • LUA Remove LuaUtilPushStrView() and replace with a template version of LuaUtilPushStr() instead that supports any std string class.
  • LUA Update class/name space log messages.
  • Thread Update thread status labels.

26.1

Choose a tag to compare

@Mhatxotic Mhatxotic released this 01 Jan 17:52
26.1
92c1d53

Highlights…

  • CVar Remove vid_lock cvar as obsolete.
  • CVar Fix potential race condition when loading CVars.
  • CVar Fix Lua code cache not resetting when the current version was not saved to the database.
  • Display Fix stage bounds miscalculations when viewport constantly being resized.
  • OpenSSL Make sure external CA stores can't be used without us knowing.
  • System Startup system log message adjustment.
  • System Rewrite stderr 'redirect to log' system which now works on Linux.
  • System Non-self-destructing locale parsing changes.
  • Lua Upgraded interpreter to version 5.5.

25.12

Choose a tag to compare

@Mhatxotic Mhatxotic released this 01 Dec 13:45
25.12
4a41855

Highlights…

  • CVar Commit CVars on every lreset.
  • CVar Show errors for CVar begin and end transactions when saving.
  • CVar Show log message for when no CVar commits were made.
  • ConGraph Force redraw main frame buffer when closing console.
  • Console Add command cvi to put the specified CVar and its value in the console input field which helps a little with complex long CVar values without having to type so much.
  • Console Print result for clh command.
  • Core Allow err_instance to be overridden on the command-line so additional instances can be started.
  • LUA Add API functions Variable.Valid and Command.Valid to test if variable or console command name is valid.
  • LUA Add six new table clearing helper API functions Util.FlushArray, Util.FlushObject, Util.FlushTable,
  • Render Fix GL memory leak when not drawing the frame.
  • Render Centre the main FBO when it cannot fit in the viewport to maintain 1:1 pixel ratio.
  • SysCon Fix input bar scrolling on NCurses interface.
  • Util Allow ` to be used as an argument delimiter as well as ' and ".
    Util.FlushArrays, Util.FlushObjects and Util.FlushTables.
  • Upstream Update LibPNG to 1.6.51.

25.11

Choose a tag to compare

@Mhatxotic Mhatxotic released this 01 Nov 14:10
25.11
5f3f2ef

Highlights…

  • Console Put identifiers in assets console command output.
  • Crypt Switch to using µsec RNG entropy in-case there are systems without fully functioning nanosecond entropy.
  • CVars Fix some missing cvars to control maximum number of classes and some of these cvars weren't sorted properly.
  • Display Default SRGB to OFF everywhere to improve compatibility with old devices (#12).
  • Linux Improvements to try to show a message box for critical errors with various dialogue box utilities.
  • Lua Add Image:Replace() function which replaces raw pixel data in a bitmap Image handle. Useful for reusing Asset, Image and Texture objects without having to make new ones.
  • Lua Add Util.Sign function.
  • Lua Asset classes created should be registered in the collector.
  • Lua Make Util.ReplaceEx replace text from indexed arrays too.
  • Lua Promote Util.ParseUrl function to an actual Url class.
  • MacOS Recalculate memory usage to mimic Windows by ignoring caches.
  • MacOS Separate each memory and cpu update operation for both system and process for better readability.
  • MacOS Try to activate the app when another process running.
  • MacOS Update M5 speed.
  • MacOS Use more accurate process CPU usage detection.
  • System Remove dumb memory speed test and keep it to just a minimum RAM test.
  • Timer Restore ability to disable engine frame limiter via app_cflags.
  • Timer Re-factor CPU/GPU FPS calculation.
  • Win32 Recognise use of clang-cl in Windows executable.

Notice…

All Diggers binaries and source code were separated from the engine repository and moved to the existing Mhatxotic/Diggers repository. Releases for Diggers will be at Mhatxotic/Diggers/Releases — also, new issues and discussions sections will be at Mhatxotic/Diggers/Issues and Mhatxotic/Diggers/Discussions. Please update your bookmarks and accept our apologies for any inconvenience caused. The current issues and discussions sections will be related to the engine from here-on only.

25.10

Choose a tag to compare

@Mhatxotic Mhatxotic released this 01 Oct 12:39
25.10
7e45929

Highlights…

  • CVar Allow app_cflags=0 to just output to terminal as fast as possible.
  • CVar Allow lua_script to be changed by command-line.
  • LuaLib Rename RandUUID, DecodeUUID and EncodeUUID to UUIDRandom, UUIDDecode and UUIDEncode.
  • LuaLib Add Destroyed() method to all classes so classes can be tested if the 'Destroy()' function has been used to free the engine class.
  • LuaLib Add missing Destroy() to Stream class.
  • Socket Support basic web socket protocol.
  • Json Add Json.Asset and Json.AssetAsync which allows loading json from asset blocks.
  • Json Improve JSon and Socket class creation by moving LuaLib related code from main class back to LuaLib.
  • LuaLib Add Font:GetFlags(), Texture:GetFlags() and Image:GetFlags() to read the current image flags. Rename Image.Flags table to Image.FlagsPre. Add both Image.FlagsPost and Image.Flags tables. All these tables contain all the flags ImageFlags from imagedef.hpp.
  • System Compatible with MacOS 26.
  • System Recognise Windows 11 25H2.

25.7

Choose a tag to compare

@Mhatxotic Mhatxotic released this 01 Jul 19:57
25.7
7f60f36

Highlights…

  • Assets Rework path validation.
  • Core Reinstate com_flags console variable to disable workarounds.
  • Display Fix some cursor issues.
  • LUA Updated to 5.4.8.
  • MacOS Recognise MacOS 26 Tahoe.
  • MacOS Read total RAM properly.
  • MacOS Fixed restart problem on unexpected terminations.
  • SQLite Updated to 3.50.2.
  • Wayland Fix ALT+ENTER not working.
  • Wayland Fix graphical corruption at start-up.
  • Win32 Fix reading resource table.
  • Win32 Set UTF-8 output code page at start-up.
  • X11 Exclude Wayland limitations.