Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Engine] * Engine now logs locals in stack traces and added 'lua_debuglocals' to toggle this off. * Fix incorrect stack trace data when debugging alternate threads. * Re-order 'lua_*' cvars. * Fix abnormal program termination on monitor hardware changes. * Rename cvar 'app_homedir' to 'ast_homedir' and 'app_basedir' to 'ast_basedir' (ast_=asset related cvars). * Add 'ast_modbundle' to scan for archives from the directory pointed at 'ast_homedir' and make default to enabled in beta/debug and disabled in release.. * Resolve cases were forward-slashes were being stripped from the beginning of a pathname. * Fix in-archive directory display issue with 'dir' console command. * Upgrade Windows Clang compiler to 18.1.8. * OpenALSoft upgraded to 1.24.1 and has had to be hacked a little with wasapi removed to stay compatible with Windows XP. MacOS version stays at 1.23.1 on MacOS due to run-time bugs with device enumeration. * Minimum MacOS requirement is raised now 10.15. Since I don't do i386 binaries for Mac, it makes sense, besides the new OpenALSoft requires it anyway. Linux should continue to use the built in version. * Compatible with 7-Zip 24.08, Sqlite 3.47.1, NCursors 6.5 (changes made to pixcon), LibJPEGTurbo 3.0.4, LibPNG 1.6.44 and OpenSSL 3.4.0 (changes made to build utility). * Add 'Fbo.Resize' to resize the main frame buffer and dispatch a resize event. * Fix 'File.ReadOneStr' returning the file name instead of the string read. * Fix window resize issues and errors with terminal console. * Fix sporadic and erroneous references to 'bot mode', it just means a terminal version of the console using NCurses. * Break out texture atlas related code into a new module 'atlas.hpp'. * Remove unneeded 'close()' after 'dup2()' since the latter already does the prior. * Make setting up Lua environment not create empty API namespaces. * Remove pointless 'SysBase' namespace. * Fix some PMU module errors. * Show 'locked' status in Texture and Font list console output. * Fix some FStream init issues and optimise construction of FStreams. * Rename reference to Url class protocol to it's proper name of Scheme. * Store total API namespace members in API lookup table and don't register the namespace if there is zero. * Optimise LuaLib macros for better readability. * Keep /dev/random open instead of opening it every time. * Update atlas code to eventually support different pixel types. * Initialise atlas bitmap surfaces faster. * Fix allocating more memory than needed when enlarging atlas bitmaps. * Set image, atlas, font and texture class purpose flag at compile time. * Merge instead of swapping image flags when running 'SwapImage()'. * Disambiguate between Bitmap fonts and FreeType fonts. * Gut the whole CFG handling system and use a new JSON handling one instead. * Rename some functions to disambiguate minor differences in functionality. * Update app manifest to JSON format. * Update bitmap fonts manifests to JSON format. * Add 'Texture.Manifest' API function to read texture data from a Json object. * Add 'Texture.ImageUT' which is same as 'Texture.Create' but allows custom initialisation of tile set. * Fix logging of gamepad names. * Add ability to see gamepad raw data with 'input <n>'. * Move all joystick related code to a new 'joystick.hpp' module and tidy up names and clean out redundant code. * Increase supported buttons from GLFW_BUTTON_LAST+1 to 128 and protect from potential overflow. * Increase supported axes from GLFW_AXIS_LAST+1 to 8 and protect from overflow. * Show more information with 'input' console command. * Fix 'Input.GetJoyButton()' returning raw button data and not translated data. * Fix 'Fbo:GetMatrix()' not returning the proper width and height of the frame buffer object. * Prevent warning about interlacing with png codec. * Don't try to apply use of internal built-in post-processing image filters when the actual external image codec filters already converted them internally and log properly when they do. * Alter compression parameters on archive building with PMU build program. * Misc. minor optimisations name changes, optimisations, warning, error and comment fixes. [Diggers] * Don't set LOBBY music when looking at the book in-game. * Pulsate selection rectangle in load/save screen. * Fix script error trying to enter lobby with dead Diggers in-game. * Don't need to bounds check when drawing context menu. * Prevent context menu being displayed over the hud. * Manually draw shadow instead of using tiles. * Put side texture for intro in title bitmap so intro can load a little faster without having to load the whole level tileset. * Optimise adding objects to another object's inventory. * Objects can no longer take other objects that are busy. * Completely stop objects that are picked up. * Make sure destroyed devices' context menu is deselected on destruction. * Optimise digger death logic. * Fix odd use of semi-colons in data structions. * Optimise in-game status screens rendering. * Block the book from opening if a digger is going home or teleporting home. * Swap out the score for 'death expenses' for 'exploration' which is 1 point for every fully unshrouded part of a zone uncovered which there is a theoretical maximum of a million points up for grabs. Existing save games are unaffected. * Swap out the score for 'salary paid' for 'homicide duties' because violence is wrong and you lose 1000 points for every digger you kill, and gain 1000 points for every digger of yours you lose in the line of duty. * Swap out the score for 'items value' for 'enemy kills'. An enemy kill is any moving spirit object that is not a digger. * Add key binds to select last and next digger. * Fix jump mechanic to align more closely with the original game, also meaning 3 block wide gaps are more challenging! * Begin work to start supporting scaled higher resolution textures. * Store font, texture and image metadata in 'assets.lua' so that they can easily be scaled. * Implementing new cursor hotspot event system to replace the old non-efficient polling system. * Adjust EXIT and OK, UP and DOWN cursor draw origins. * Fix missing 'local's which made some vars global. * Don't unset NOHOME flags for Diggers during leaving the lobby loading phase. * Use 'GetActiveObject()' instead of passing the active object around the Lobby, Bank and Shop scenes. * Try to keep functions and variables in the root namespace for optimum performance and readability. * Fix bug when changing window size showing the texture out of bounds on the zone select screen. * Map screen now requires holding mouse button to scroll and the horizontal scrolling zones are now relative to the window edges. * Post-mortem screen horizontal scrolling zones are now relative to the window edges. * Add keys to scroll map on zone select screen. * Always show the zone title first when hovering over different zones on the selection map. * Expand tip drawing function. * Add difficultly level text to zone selection screen. * Revamp game pause screen showing better instructions and easier to quit the game with mouse or controller. * Implement converting joystick button presses to 'fake' mouse clicks and purge lots of obsolete code. * Map joystick L1/2 and R1/2 to mouse scroll wheel functions. * Scroll wheel will now cycle through inventory in-game. * Improve error handler so the end-user can attempt to continue execution and not lose data. High chance in an engine input event handler, less so in any other event or engine main tick procedure. * Add mouseover tips for the HUD in-game. * Optimise handling and drawing of object context menus in-game. * Add indicator for currently selected level in zone map like in race select screen. * Sporadic renaming of functions, clean-ups and optimisations. [Assets] * Sprite tileset is now 8-bit and removed a few semi-transparent tiles. * Update readme to fix a link and update used external lib versions. * Update Diggers readme. Remove progress and only show outstanding issues now. Update minimum MacOS and fix Windows XP version required. * Rebuild API docs to account for cvar changes. * Raise minimum MacOS version to 10.15 Catalina on all applicable assets. * Update API documentation. * Replace CFG files with JSON formatted files. * Update API reference documentation. * Remove font manifests. * Update API documentation. * Optimise file textures since almost all of them can be saved as 8-bit paletted with alpha channel. This does not affect how the game looks in any way what so ever.
- Loading branch information