Releases: luciusDXL/TheForceEngine
Version 1.10.000
It has been months since the last official release. While most of my work has been directed towards the Level Editor, there still have been a large number of changes and improvements that have accumulated in that time frame, many from contributors.
Below I list the user facing improvements, it is a summary so doesn't go into detail about many GitHub changes, or enumerate every change that went into a feature (such as HD Assets). It also doesn't enumerate the work done on the Level Editor, that will be discussed in the next major release. However you can see all the commits, pull requests and work done on GitHub.
User Facing Changes (Summarized)
- Added Remaster HD Asset support (textures, sprites, and HUD - cutscenes and briefings coming in the future)
- Three categories (textures, sprites, HUD)
- Can be toggled at runtime.
- Only enabled in "true color" mode.
- Added support for MOD_CONF.txt overrides:
- TFE option overrides, so mods can enable or disable options as needed.
- HD Asset opt-out overrides.
- The Dark Forces Remaster is now automatically detected as a valid game data source.
- Mod description text should no longer be cut off in the mod loader.
- Added an option to enable the player to step up onto second altitudes, similar to normal height changes.
- Added a crouch toggle in Game options.
- Cycle next/previous weapon inputs now need to be pressed, making weapon cycling easier using a controller.
- Asset Browser - "resources" can be added (such as gobs/zips).
- Added per-asset editor support.
- Fixed a bug where the weapon muzzle flash would be "stuck" after loading from a save.
- Fixed a true color crash in Imperial Library.
- Fixed a crash in Raid to Ovarid.
- Fixed alpha blending/sorting issues in true color mode.
- Fixed visual issues when using anisotropic filtering.
Manuel Lauss (mlauss2)
- Midi fixes
- Cross platform method for pausing/running midi thread.
- Introduced "Disabled" device.
- Fixed midi buffer overrun
- SDL2 fixes on Linux
- Handle Type 2 VOC chunks and avoid spam for unsupported chunk types
- Landru/Music: fixed sequence error in Cutscene Music File parser (mlauss2)
- Fixed numerous clang/gcc warnings, Linux issues, 32-bit issues (though no 32-bit support on Windows is planned), and enabled GCC LTO (Link Time Optimizations).
Kevin Foley (Kevinfoley)
- Added one-hit-kill cheat (LAIMDEATH)
- Added one-hit-death cheat (LAHARDCORE)
- "Hardcore" mode cheat: Per request, only projectile and explosive damage will one hit kill the player.
- LAIMDEATH and LAHARDCORE status is now serialized
- Added A11y setting to disable screen flashes (on item pickup and when taking damage)
- Added a slider to System Settings for adjusting GIF recording framerate
- Added Dark Forces cheat menu
- Added new cheat LACAT (gives you 9 lives)
- Added Dark Forces cheat menu (under Game settings)
- Added a new A11y photosensitivity setting to disable player weapon lighting (illumination caused by firing the player's weapons)
- subtitles-en.txt: Add missing end quote to m01reb02 (thanks Doctor Octogonapus)
- A11y: added a "Refresh caption/font files" button to settings menu.
- Added new cheat LABRIGHT; when enabled, renders everything at fullbright.
Jake Smarter (JakeSmarter)
- Update AppStream metadata (rename file to match app's component id, drop depracated application element, add more url types, add a number of other elements, add de, en-US, pl translations)
- Desktop Entry updates (rename file to conform to spec, add keywords)
- Improved and updated TFE About text
- Clear color buffers with opaque black instead of transparent black
Rosalie (Rosalie241)
- Added workaround for GLEW on Wayland (Linux) (Rosalie241)
Jerethk
- New optional setting: observe "solid wall" flag when testing if object overlaps a wall (fixes maps like Harkov and Dark Tide 3 when riding on moving or rotating sectors).
Other Efforts
Ongoing work not yet publicly facing, GitHub changes, and other backend efforts.
- Level Editor work.
- Work on "Force Script" - which will be used in the editor first to enable custom functionality.
- Integrating Outlaws features into TFE in preparation for Outlaws support (vertical adjoins, dual adjoins, etc.).
- TFE is now on Flathub thanks to contributor efforts.
- Ubuntu Workflow to test compilation on Linux for every diff (Manuel Lauss)
- GitHub Readme updated.
Version 1.09.540
Another small release that fixes some issues and releases another iteration of the editor (still early WIP).
Editor
- Fixed a crash when returning from the Editor the menu, and then selecting editor again.
- Escape now exits the editor, unless a modal dialog is active in which case it closes that dialog instead.
- Levels and 3DOs are listed in the Asset Browser, but functionality is somewhat limited.
- Added multi-select.
- Added the ability to force selected assets to use an alternate palette for testing.
- Added export selected - allowing for assets to be exported and PNGs to be generated where appropriate for viewing.
- Added central error handling and modal message box functionality for errors/warnings.
General
- Linux: Make RtMidi optional - this allows for OPL 3 and SF 2 synth but disables system midi (@mlauss2).
- This should make it easier to compile in some cases.
- Replace DeviL with SDL Image to make future Linux packages easier (@mlauss2 / @luciusDXL).
- Small PNG issues fixed (@mlauss2).
Version 1.09.530
A bug-fix release, with some improvements to the Accessibility UI, slight improvements to true color texture color accuracy, more work on the TFE editor, and mostly bug fixes.
TFE Editor
- Implemented Editor Config with font/UI size and thumbnail size options.
- Improved the Asset Browser UI.
- Filter now works properly.
- Added support for Frames and Sprites.
- Factored out Asset system to reduce code and data duplication.
Game
- Removed RTAudio and uses SDL audio instead, which fixes a number of audio issues on Linux (@mlauss2).
- Replaced different Windows/Linux Mutex/Thread code with SDL equivalents (@mlauss2).
- Improved German subtitles (@mlauss2).
- Improved Accessibility UI (@kevinfoley).
- Fixed game settings text getting cutoff (@kevinfoley).
- Improved discoloration that can occur to some textures when using the true color mode.
Version 1.09.521
Fixed a silly shader mistake that only affects the 8-bit GPU renderers.
Version 1.09.520
- Removed an extra multiply that was darkening alpha blended edges.
- Disabled alpha blending for sprites when using the true color renderer (fixes fringing artifacts).
- Implemented a per-texture adjustment based on texture hue shift at 50% light level when using the true color renderer.
- Re-enabled the Editor option in the menu (Windows only).
- Initial work on Asset Browser.
- Fixed compile issues on Linux.
- Fixed memory overwrite in audio system.
- Fixed A11y crash on startup.
- Headwave is now a persistent setting in the Accessibility menu.
- Added a better error message when failing to compile a shader.
- If a texture fails to be created, the GL error code is now written.
- Fixed various shader compile issues.
Version 1.09.500
The "True Color" release.
- Automap no longer affected by Bloom.
- Fixed several GPU renderer bugs.
- Fixed serialization of Vue state for save games when using Vue smoothing.
- Added the "True color" (non-palettized) colormode, including settings and UI.
- Added support mipmapping and anisotropic filtering.
- Added support for bilinear filtering with sharpness setting.
- Added approximate true-color to colormap mapping.
- FOV is now adjustable with UI slider.
- Three settings templates, instead of two: Vanilla, Retro, Modern.
- Added "LVB" level format loading as work towards future Dark Forces demo support.
- Added support for custom caption files and fonts, with UTF-8 Unicode support. Caption and font files can be added to the program or documents directory in the corresponding folder. This makes it possible to translate the captions into other languages, even languages that use a non-ASCII character set, as long as a compatible font is used.
- Added Noto Sans as the new default font for captions. It includes Latin, Cyrillic, and Greek character sets, as well as the Devanagari alphabet (most notably used for Hindi).
- Added a section about caption customization to the in-game manual
- Added captions for enemy death sound effects (these help with situational awareness)
- Added missing captions for Kyle's voice-over on M11 Imperial City
- New cheats LAADDLIFE and LASUBLIFE for adding and subtracting lives.
Version 1.09.41
A quick bug-fix release following up version 1.09.4.
- Fixed the Linux build.
- Fixed a crash on some graphics drivers when creating textures for bloom.
- Color correction and bloom can now be used at the same time.
- Fixed captions and subtitles both showing if you had either one or the other enabled.
- Fixed a timing issue with subtitles when running at very high framerates (the subtitles would never disappear and become "stuck").
Version 1.09.4
- Smooth Vue Animations (optional).
- Fixed color flashing when switching between levels.
- Ported over GPU Renderer portal fixes - now supports up to 65536 visible portals as originally intended.
- Fixed GPU Renderer issues when using more than 65536 vertices for sector or sprite geometry in a frame.
- Fixed Wireframe so it works correctly in release mode, and made 3DOs solid color when in wireframe.
- Added a new "Retro" settings template that matches the "Modern" template from previous versions, where "Modern" enables new features, such as Bloom by default.
- Added an "8-bit Interpolated" color mode, which smooths out colormap-based shading and removes most of the banding.
- Added a new console command exportTexture that will export the texture on the surface the camera is currently pointing at.
- Added a bloom option, with the ability to adjust its strength and spread.
- Added Accessibility options, starting out with Closed Captions / Subtitles (Beta).
See blog post: https://theforceengine.github.io/2023/07/31/Version-1-09-04.html
Note for Linux Users:
There is a compile issue on Linux with this release, but it has been fixed in master. I plan on a small point release to fix this issue, as well as a few others that have cropped up.
Bug Fix Release 2
- Fixed a bug when there are too many entries in Jedi.lvl
- Fixed a bug with display bounds when selecting the correct display.
- Fixed a crash if the HUD pieces do not load.
- Added a confirmation for loading a game from the Load Menu.
- Added mod filtering for the Mod Loader, to make finding mods easier.
- Mods are now alphabetically sorted (once the list loading is complete).
- Fixed issues with the "No Game Data" message being incorrectly displayed.
- Separates out errors because files aren't found, versus files are invalid.
- Fixed a memory overwrite bug in Dark Tide 4, level 3 - due to having too few "texture vertices" set.
- Fix Vue Logic sprite yaw to match vanilla.
- Hopefully fixed Steam path detection when the game is installed on a different drive than Steam itself or the ACF files cannot be found.
- IMuse: clamp priority parameter to 127 (Manuel Lauss)
- Linux: improve crash handler (Manuel Lauss)
Bug Fix Release
- Fixed a bug where IR Vision state wasn't properly saved and loaded.
- Fixed a bug where IR Goggles would stay active after respawning from death.
- Fixed a bug where the player could pick up items while dead.
- Fixed a bug where the player could use cheats, such as LAPOSTAL, to resurrect from death.
- The "About" tab in the Settings menu now works correctly.
- Added an option, enabled by default, to ignore the INF limit. When enabled, there is no hard coded limit to the number of INF items that a level can have.
- Fixed a "hang" (infinite loop) if an invalid INF sector class is used in a level. This fixed the hang in "STEALTH.GOB".
- Fixed the spelling of the LARAMSHED cheat.
- Fixed a crash that occured in the mod loader if files cannot be loaded from a zip file.
- Fixed a bug in the mod loader where stale text would be shown for a mod without a valid text file or description.
- Fixed bugs with the way mousebots would die, removing the up to 1 second delay that could happen.
- Fixed 3DO lighting bugs in the software renderer.
- Added an option, enabled by default, to fix the normal calculation in 3DOs in some cases.
- Portal traversal optimizations.
- Greatly reduced the number of memory allocations that the GPU renderer would use for 3DOs.
- Fixed a collision bug that kept the player from jump onto some ledges at certain framerates (including 60 fps). This fixes jumping issues in "DeathStr" and "Lara Hotel".