Author Topic: Release: 22.0.0-RC5  (Read 335 times)

0 Members and 1 Guest are viewing this topic.

Offline SirKnightly

  • George or Keira?
  • 211
Major Features
  • The 22.0.0 release features the Controls5 PR (aka multi-joy):
    • adds the ability for users to map up to 4 controllers / joysticks (physical or virtual via third party tools) designated Joy-0 through Joy-3 (Joy-0 is the default)
    • allows the mouse to be separately mapped from Joy-0 (Options menu to turn "on/off" the mouse now switches between "Mouse" and "Joy-0", default is "Joy-0")
    • all controls may have up to two bindings per control, referred to as "primary" and "secondary" bindings.
    • The -get_flags commandline option now reports joystick ID's and GUID's that can be used to assign their respective controller/joystick to Joy-0 etc.

    Note: Knossos currently does not have the ability to use the multi-joy feature to its full extent.  Users who wish to test using more than one controller/joystick in FSO must do this manually until then.  Please consult the recently made Frequently Asked Questions wiki page for instructions on how to do so.

  • The Timing system got an upgrade.
  • Lafiel has done some splendid work with the model animation code, allowing mod developers to do more than just simple rotations and can actually do a bit of kinematic chain animations (Mechas, anyone?  :nod:)

Change log: (chronologically ordered)
Code: [Select]
fix a FRED crash (4103)
fix a bunch of FRED dialog problems (4102)
Added error handling to map accesses in contronconfigdefaults parsing (4097)
fix a few bugs with display names (4094)
Coverity 1361855 Always free Vertices and Indices (3994)
Fix Moveable SEXP Matching (4091)
Fix edge case wrongly updating moveable (4092)
Remove unneeded search of whole sexp node array from free_sexp (4088)
patch a background bug in FRED (4086)
small XSTR qol improvement (4083)
patch some holes in the mission cleanup (4077)
be a little more careful about converting wingman messages to Command messages (4078)
Fix erroneous collision detection due to invalid canonical_prev_orient on inital-type animated turrets (4082)
Improve Performance of Global to Local functions (4080)
some debug console updates (4074)
fix message list crash (4075)
prevent decals from being used on invalid objects (4072)
fix off-by-one error in text splitting logic (4071)
Fix collisions with turrets causing physics bugs (4070)
Remove new assert in `model_instance_local_to_global_dir` (4069)
Fixes the version string in (4060)
Make Animation SEXP Validation Case Insensitive (4068)
Targeting brackets should use the header's bounding box, not detail0's (4064)
Fix moving submodel collision speed calculation (4067)
Fix nested and animated submodel collisions (4065)
swap bsp data before alignment (4063)
two small but important warp fixes (4059)
fix support ships breaking in in-mission jumps (4061)
Clean out player t_plr before use (4058)
Changes to build-release.yaml (4044)
Repair Automated Forum and Nebula Scripts (4052)
Fix render orientation for decals (4054)
Fix uniform offset calcuation for decal header (4053)
Fix qtFRED crash when using Edit Data (4018)
Dont try to read chunk size if chunk type is 0 (4051)
Revert "Refactor CI scripts to make release builds more robust and flexible" (3785)
Fixed incoherent case sensitivity for animation submodels (4047)
fix time resuming when popups are closed (4045)
fix the keep-safe-distance AI mode (4043)
Fix issue #4040 (4042)
prevent Assert with glowpoints (4038)
fix an edge case for ships destroyed before mission (4039)
add some new scan features (4037)
Improve costly RTT sanity check (4036)
Mouse to joy0 (4025)
Treat Mouse as Joy0 if "turned on" in options menu (3954)
Fix #3901: Inverted Controls Don't Save (3905)
Fix 3892 Amendment (3900)
Fix 3892 (3898)
Fix issue 3685 (3688)
Adds -deadzone parameter to command line (3915)
add scripting support for submodels (4031)
rename and document several model coordinate functions (4033)
Expand scripting string functions (4035)
clean up model point/dir/normal/orient functions (4030)
fix another isValid scripting function (4032)
Don't nullify axis_out[action] value when using mouse as joy (4029)
a few scripting bugfixes (4026)
Revert "Treat Mouse as Joy0 if "turned on" in options menu" (4024)
Fix 3980 (3988)
another timestamp upgrade (4022)
Restrict allowable characters for preset names (4009)
Fix Aix Rotation Moveable (4019)
event logging tweaks (4014)
improve robustness of sexp operators (4015)
Fix IK rotation localization (4012)
fix the camera flicker in the lab (4007)
fix missile detonation for computers with high FPS (4006)
Hud gauge and string upgrades (4003)
Preserve the table-defined offset for initial misc animation playback (4001)
when changing the skybox, check to see if it's the same as the current one (4002)
karajorma's SEXP containers, Part 5: Sexp_nodes (3495)
karajorma's SEXP containers, Part 2: Persistence (3462)
Clarify logging when loading thruster textures as static images (3839)
Fix random selection of points inside/on spheres (3841)
Remove _dup() functions from sexp_list_item in FRED and QtFRED (3942)
Bump PLR/CSG versions and preserve compatibility when possible (3739)
Add comment on why event_editor::OnCancel() is blank (3864)
Remove unnecessary/leaky strdup() calls in sexp_list_item in FRED/QtFRED (3940)
Update links and edit text in FRED's and qtFRED's About dialogs (3941)
Fix Axis Rotation Moveable (3995)
Fix limitations of GetColor script function (3992)
Partially revert 3313 to fix missiles never dying (3993)
point camera correctly when using set-camera-facing (3989)
Fix edge case rollback crash (3991)
regression fix for rotating submodels (3990)
Fix Damage Gauge Display (3987)
refactoring in preparation for model translation (3979)
Fix Animation edge case for turret lookup with template and display name (3981)
Improve Animation SEXP usability (3976)
handle primary and secondary inversion explicitly and independently (3978)
fix initial positions of submodels in FRED (3975)
Various Animation Fixes (3972)
use the whole submodel hierarchy in FRED (3974)
replicate submodels that aren't associated with subsystems (3970)
Fix sound not stopping for finished animations when playing in reverse (3969)
Add `getHUDConfigShowStatus` for scripting (3961)
Add axis rotation Animation Segment (3966)
Enable `Use Cargo Icon` for briefing icons (3964)
Inverse Kinematics for Animations (3962)
Fix lab animation triggers (3965)
Controls 4 and 5 - Multi-joy and Preset Files (2958)
Fix reverse instant trigger edge case (3956)
Fix/issue 3902 (3947)
some small timestamp fixes (3950)
add IP version preference troubleshooting options (3949)
some small fixes (3953)
fix arrival delays and other mission time wonkiness (3948)
allow dockpoints to be anchored to submodels explicitly (3936)
Clean up Player_orders (3918)
accommodate elapsed time during debugging (3945)
fix training mission stats bug (3944)
TBP warp fix (3943)
update ffmpeg support for 5.0+ API changes (3939)
Standalone fixes/optimizations (3923)
log whether command briefing is using scroll buttons (3938)
convert the FSO timestamp system to use SDL time (3879)
fix missing texture bug on standalone (3937)
Fix Bay Door Animations for Multi and Lone Player Ship (3932)
Revert timestamp change for event music (3931)
Fix first person glows (3882)
FFmpeg deprecations fix for FFmpeg >= 5 (3927)
Properly calculate instant animations (3928)
Allow AI flag for bay orientation to account for parent `uvec` (3925)
Fix incorrect net signature for wave ships (3924)
3920 qtFRED save only saves once (3922)
Fix issue #3912 (3914)
Add AI to Fix Negative Turret Ammo (3913)
Animation Rework, Phase 4: Moveables (3904)
Fix turrets sometimes being backwards (3910)
Add tonemapping options to lab render settings (3880)
Fix shadow check on lightshafts (3885)
Fix text overflow on multi-related screen (3908)
fix 3907 (3909)
make cfile root and file blocks dynamic (3872)
fix first-of to return the correct arguments (3897)
Revert timestamp changes for HUD (3895)
Handle forgotten 0 case for new vecmat function (3891)
Fix Particle `PageIn()` (V2) (3893)
add game_settings flag to not target turrets (3888)
move various skybox variables into the header file (3886)
file loading performance fixes (3887)
Fix Particles `pageIn()` to use actual number of frames (3884)
Removed consts being set from uniforms to fix #3821 (3838)
Fixed mistake in lab camera control help (3810)
Lt22 (3801)
guard against trying to animate non-existent submodels in more places. (3791)
Protected against trying to animate non-existant submodels  (3732)
Animation Rework Phase 3, Turret fix (3877)
Added ppc calculation initial value bounding and calculation fixes (3881)
Timer preliminary cleanup (3878)
PPC tonemapper values followup (3857)
Fix scripted setting of weapon targets (3865)
fix memory leak when reallocating ship subsystems (3858)
improve PXO data validation code (3817)
reduce memory required for bsp alignment (3820)
fix multi awacs crash due to code init order (3844)
improve handling of PXO lobby banners: (3819)
Fix warnings/errors from clang and valgrind (3866)
take pathtype extensions into account during file indexing (3869)
set up awacs team arrays just the once (3868)
reset object colliders after each mission (3867)
make certain SEXP errors nonfatal (3873)
fix a FRED crash caused by recent changes (3871)
Use phys_info for max AB speed display instead of ship_info (3856)
Fix weapons with submodel rotation firing (3850)
Make secondaries use $energy consumed (3847)
fix language indexing for custom languages (3851)
Animation Rework Phase 3 - Fixes for Multi (3846)
remove a redundant assert that throws false positives (3845)
improve SEXP error handling a bit (3837)
update polymodel_instance to reference object (3843)
Fred UI updates (3816)
Set Default Detail Levels to be Consistent at Ultra Settings (3811)
add players directory to slow search (3814)
fix file name getting trimmed in cf_get_file_list() (3813)
Expose OSWPT to Lua and allow for LuaSEXP argument (3637)
Animation Rework: Phase 3 (3793)
QTFred Player Orders Dialog (3799)
Substitute Ship Label (3798)
QTFred: Special Stats Dialog (3797)
Fix Crash On second opening of select box cause by #3634 (3760)
Allow for arbitrary asteroid targets in missions (3704)
Add functions to draw rectangles and images by passing the center position  (3800)
Fix Default Sound Levels in Game Settings Table (3809)
Fix the Tonemapper strings (3806)
Uncapitalize "Turret" in turret target recheck time (3805)
Expose turret re-targeting delay (3803)
Fix Weapon-Loadout-Specific Models (3796)
clean up some inconsistencies in cfilesystem (3734)
Correctly position tail for laser head on glows (3789)
Allow drawing rotated bitmaps (3777)
Change rectangle rotation to use radians (3790)
Dont do passive lightning on destroyed subsystems (3771)
Correctly size glow head-on bitmaps (3787)
Split From #3674 Flags Dialog (3714)
Split From #3674 Initial Status Dialog (3715)
Split From #3674 Ship Editor Bugfixes (3716)
Split From #3674 Goals Dialog (3717)
Dont exclude primary targets from 'no dead subsys targeting' (3781)
indicate ambiguous goal or event matches (3774)
refactor submodel flags and add $rotate_accel (3786)
Revert "Fix conditional in Build Nightly action" (3783)
Fix conditional in Build Nightly action (3780)
Add ship flag for toggling ship passive lightning (3772)
Use PAT for nightly trigger (3779)
allow subtitles to use different line spacing (3765)
Ai use lock status for optimum range choice (3762)
Expose nebula visibility factors (3676)
Add destroy-instantly-with-debris (3752)
guard against CTD in sexp variables (3767)
polish sexp syntax checking  (3761)
spelling fixes (3745)
fix a major bug in ba.rand32f (3764)
Add head-on laser bitmaps (3748)
Refactor CI scripts to make release builds more robust and flexible (3749)
make gamesnd a little more robust (3743)
fix: cmdbrief not saving current stage text by closing the window (3741)
add script-eval-bool (3755)
better syntax checking for the special argument (3750)
fix escort list cull test which removed friendly stealth ships by mis… (3754)
add scripting virtvar for Neb2_awacs (3746)
Add animated nebula poofs (3697)
Remove 'stream' weapon handling (3720)
Add nullptr safety for animations (3738)
Add Bomb-locking secondaries (3588)
Removing dead code paths (3736)
make hud gauge checking more robust (3724)
Add 'passive' lightning arcs to ships (3733)
Fix Turrets using ammo broken by #3589 (3735)
Fix load order problems caused by Iff vectorization  (3718)
migrate and augment mission/state end hooks (3731)
Animation Overhaul: Phase 2 (3609)
Add +arrival rvec for ship bays (3698)
upgrade the replace-texture sexp (3728)
pre-translation cleanup (3726)
Removed unused constants from Lighting.sdr. (3722)
Scale distant combat related effects so they stay visible (3656)
rename and adjust scope of Rotators_locked flag (3719)
reorganize submodel rotation (3713)
Add velocity inheritance for particle effects (3691)
Custom data in tables, tackling #3699 (3707)
Use real names for ships/weapons in cheat commands (3702)
Add Per-Ship Class Wingmen Status Dot (3711)
Add New Options to Wingmen Gauge (3703)
Add getColor to lua gr library, which returns the active color (3687)
Fix a possible crash with `ship_secondary_bank_has_ammo` (3696)
Fix Support ships not undocking (3701)
Simplistic Ship Transparency (3436)
enhance the perform-actions family of sexps (3608)
Add 'No evasion' weapons (3677)
Fix warnings concerning ballistic weapons (3683)
Safety for replace-texture (3694)
expand some sexp documentation (3671)
Initialize team visibility before using it (3695)
Actually fix the goal's target being sent (3665)
Fix homing child weapons in niche circumstances (3661)
Exclude dead subsys from targeting (3614)
patch up scripted kills (3679)
Allow Lua Scripts to draw rotated rectangles (3623)
Add ammoless secondaries (3589)
add OnShipDeathStarted scripting hook (3684)
Clean up beam type naming scheme (3670)
Add full team option to change-iff SEXP (3632)
Expose Outer and Inner Radii to the Lua API in the weaponclass type (3630)
Vectorize IFF Defs for unlimited IFFs (3634)
LUA: Add iterator over ships in mission (3660)
bump version to 21.5.x (3678)
Simplify QPlainTextEdit usage (3600)
add hide-in-mission-log ship flag (3647)


Deprecations are a mechanism in FSO where a certain feature or aspect of the engine has changed or is no longer supported. Since this would normally break existing mods we have the mod table feature "$Target Version:" with which a mod can specify what version of FSO it was developed with. The features listed above will be removed or changed when the target version of a mod is at least the version released in this post.

Previous 21.4.0 Release Thread

Launchers, if you don't have one already:
All platforms: For every day use, we recommend Knossos, an integrated solution for downloading and launching mods.

Hidden Text: Alternative Launchers • Show
Cross-platform: wxLauncher 0.12.x Test Build (ongoing project for a unified launcher, you should upgrade to the latest RC/test build if you have not yet)
Important: For best compatibility with FSO 3.8 and later you should use at least wxLauncher 0.12.

Windows:  Launcher 5.5g (Mirror) (Mirror) Not compatible with Windows 8+, use wxLauncher above
OS X:  Soulstorm's OS X Launcher 3.0
Linux:  YAL or by hand or whatever you can figure out.

Windows (32/64-bit)
Compiled using GitHub Actions on Windows Server 2019 (10.0.17763), Visual Studio Enterprise 2019


This one is based on the SSE2 Optimizations from the MSVC Compiler.

Hidden Text: Alternative builds • Show

64-bit AVX:
This one is based on the AVX Optimizations from the MSVC Compiler (fastest build if your CPU supports AVX instructions).

32-bit AVX:
This one is based on the AVX Optimizations from the MSVC Compiler.

What are those SSE, SSE2 and AVX builds I keep seeing everywhere?
Your answer is in this topic.
Don't want to deal with that? Use Knossos and it will download the best build specifically for your PC!

Linux 64-bit
Compiled with Ubuntu 16.04 LTS 64-bit, GCC 5

These builds use a mechanism called AppImage which should allow these builds to run on most Linux distributions. However, we recommend that you compile your own builds which will result in less issues.
Alternatively, if there is a package in your software repository then you should use that. If you are the maintainer of such a package for a distribution then let us know and we will include that here.

Not available We recently lost access to our Mac CI environment which we usually used for compiling these builds so for the time being, there will be no builds for this OS.

Hidden Text: TrackIR Users • Show
An external DLL is required for FSO to use TrackIR functions.  The following DLL is simply unpacked in to your main FreeSpace2 root dir.
TrackIR is only supported on Windows.
TrackIR SCP DLL (Mirror) (Mirror)

Known issues:
« Last Edit: March 27, 2022, 09:11:59 am by SirKnightly »