Author Topic: Modder's Digest Quasi-Weekly (Latest 22-01-08)  (Read 4395 times)

0 Members and 1 Guest are viewing this topic.

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Modder's Digest Quasi-Weekly (Latest 22-01-08)
Late last year I assembled a list of all the FSO changes I thought modders should know about, present in the most accessible way I could. At the time it was my intent to do updates to that list, but it turned out not to be a practical ambition, as it took a lot of manually combing through the changelog and such to get everything together. I think I've got a system in place that lets me avoid all that, so I'm doing it again. My intention is to do one of these every week where there's notable changes, posting at the bottom of the thread, and updating the list in this first post with the cumulative changes since the last major release.

The list is going to be broken down into categories, but those categories will get finer as the list gets longer. Each item has a number, this is a reference number for development in case you think that change might be causing problems and need to look up more info.

So lets get to it. Changes in nighties since 21.4 released, up to January 8th.
  • Some bugfixes have led to a change in the fundementals of how the engine tracks the passage of time. This should ideally not impact actual gameplay, but some bugs related to it have been found already. If you encounter anything wierd that might be timing related or in general things not working that used to, please report them so they can be looked into. (#3878)
  • Due to changes in controls handling, loading the January 5th or later build will convert your pilot files to a new format and you will have problems using that pilot in older versions of the engine.  0124 and later should allow your pilots to be loaded in old versions again, but your controls bindings in the old version will be reset to defaults. Before updating to any version after 20220105, back up your save and pilot files.But if you are able to do that, please help test these extensive changes. (#2958)
Changes
  • The AI will disregard the optimum range values of weapons that are locked out (#3762)
  • Support has been added for multiple joysticks as well as saving and loading controls presets seperately from pilots. Multi-joy requires manual editing of configuration files until launcher support catches up (#2958)
  • Mods can set their own PXO lobby banners. (#3819)
  • The hard upper limit on the number of files FSO can load has been removed. (#3872)
  • Custom fonts don't break out of their boxes in multiplayer screens anymore. (#3908)
Mission making
  • SEXP Containers can now store persistent data across missions (#3462)
  • Passive lightning can now be toggled with a ship flag (#3772)
  • The game will now detect and warn about ambiguous event and goal name references (#3774)
  • New flag "hide-in-mission-log" that prevents events involving that ship from appearing in the player's in-game event log. Can be set with ship-create or alter-ship-flag (#3647)
  • show-subtitle and show-subtitle-text now have an optional value to set the spacing between lines (#3765)
  • change-iff can now accept a team as it's input and change every ship on that team, even ones not yet arrived. (#3632)
  • Improved in-engine documentation for ship-guardian and show-subtitle-image (#3671)
  • The sexp perform-actions has been deprecated, and in turn three new sexps have been added: perform-actions-bool-first, perform-actions-bool-last, and functional-when. (#3608)
  • The texture replace sexp can now set animated textures or invisible textures. (#3728)
  • new script-eval-bool allows a script argument to return a true or false (#3755)
  • New destroy-instantly-with-debris sexp allows the creation of ship debris without any other death effects (#3752)
  • The limit of definable IFFs has been removed. (#3634)
  • "$Asteroid targets" field in mission files lets you set asteroid targets beside the default.  (#3704)
  • "$Closeup Label" field in mission files allows setting of the name used when a ship is clicked on in breifings.  (#3798)
POF Models
  • New $rotate_accel value in pof submodel properties controls how fast rotations start. Wiki (#3786)
Lua Scripting
  • InnerRadius and OuterRadius added to the weapon class, allowing scripts to access those table values (#3630)
  • New gr.GetColor() function gets the current hud drawing color. (#3687)
  • New optional angle parameter added to gr.drawRectangle allows you... draw rectangles at an angle! (#3623)
  • new isValid support for gamesound handles (#3743)
  • drawImage now accepts an angle in radians to rotate the image by (#3777)
  • New OnShipDeathStarted hook which fires before the logic of a ship's death sequence starting, vs OnDeath which activates after that logic. (#3684)
  • New 'On Mission About To End' and 'On State About To End' hooks (#3731)
  • drawImageCentered and drawRectangleCentered added that allow you to define the position of the center of the thing you are drawing (#3800)
  • New getShipList() allows for faster looping over the ships in a mission. Check the generated scripting doocs  (#3660)
  • Tables can now store custom data associated with their entries to be accessed in lua. Initial implementation includes weapon and ship tables. (#3699)
  • Neb2_awacs mission value can now be read or changed (#3746)
  • Custom lua SEXPs can now be defined as receiving and returning references that can be various combinations of ship, wing, team, and waypoint amoung other things, like many built in SEXPs. (#3637)
#Tables
AI Profiles
  • New "$fighterbay departures use carrier orientation:" and  "$fighterbay arrivals use carrier orientation:", settings make path metadata orientations be relative to the mothership, when otherwise they are relative to the world. These will default to on in mods targeting future versions in game settings. (#3698)
  • New Animation.tbl holds new extended animation data for ships, with many new features. See wiki for all the details (#3793)
Animation
  • Deep animation code changes, working towards new features but along the way has fixed many old things that never worked. See the github post for a full list of fixes brought by this stage of the ongoing overhaul. (#3609)
Gamesettings/-mod
  • A new set of visibility factors for nebula missions has been added. Starting here on the wiki[/url] (#3676)
  • New settings allow for a minimum size to weapons and other effects at long range, increasing the visibility of distant combat. Not yet on the wiki, see the github PR for documentation currently. (#3656)
  • The default volume levels for new pilots in the gamesettings table are actually used now (#3809)
Hud gauges
  • New "Use Full Wing Names:" and "Use Expanded Colors:" Hudgauge values show full wing name and recolor icons based on health, respectively. (#3703)
Lighting Profiles
  • New Lighting_Profiles.tbl allows configuration of the post-processing tonemapper. See wiki for details, and play with the possible settings in the F3 lab. (#3801)
Nebula
  • Nebula poofs can now use animated maps (#3697)
Particles
  • New "+Parent Velocity Factor:" lets particles inherit the velocity of the thing they were spawned by (#3691)
  • New "$Turret target recheck time:" setting allows control of how often turrets check for new potential targets. (#3803)
  • new "$Don't automatically select a turret when targeting a ship:" does as it says to better emulate targeting in FS1. (#3888)
Ships
  • New set-alpha-multiplier sexp allows ships to be made partly transparent (#3436)
  • New '$Wingmen Gauge Dot Override:' sets wingmen status dots on a per-ship class basis. If no animation is specified then the default dot animation specified in the HUD table wingmen gauge is used. Wiki link here. (#3711)
  • new '+arrival rvec:' value for path metadata  allows control of incoming ship's orientations (#3698)
  • new '$Passive Lightning Arcs:' in ships table allows the definition of lightning arcs on the ship's hull. Wiki. (#3733)
Weapons
  • New flag "secondary no ammo" allows secondaries to not be ammo restricted (#3589)
  • New flag "multilock target dead subsys" forces multilock weapons to keep and acquire locks on dead subsystems (#3614)
  • The game doesn't complain if a ship has primary bank capacities but no ballistic weapons anymore. Useful if you are swapping weapons into a bank in ways besides player standard equipment selection. (#3683)
  • New "no evasion" weapon flag makes AI pilots not care try to evade fire from a weapon type. (#3677)
  • new '+Target Lock Objecttypes:' option for homing weapons allows weapons to be defined as locking on to only ships or only targetable weapons. (#3588)
  • HEAD ON: APPLY DIRECTLY TO THE BITMAP. New laser properties allow effects to crossfade to a second image when viewed from directly ahead or behind. Wiki (#3748)
  • Secondaries can now require and consume energy if the $Energy Consumed field is set.  (#3847)
Tools
  • The cheats to switch weapons now use the weapon's raw table name rather than the displayed name (#3702)
« Last Edit: January 25, 2022, 04:49:16 pm by EatThePath »
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline Nyctaeus

  • The Slavic Engineer
  • 212
  • My "FS Ships" folder is 582gb.
    • Minecraft
    • Exile
Re: Modder's Digest Weekly (Latest 21-10-02)
Huh, I guess I missed about 70-80% of new features because they are not listed anywhere. FSWiki used to be the basically only, reliable source of new features for me but wiki maintainers are not always up to date with new stuff.

If you want to maintain such a devblog, I greatly appreciate that :yes:
Exile | Shadow Genesis | Inferno | Series Resurrecta  | DA Profile | P3D Profile

Proud owner of NyctiShipyards. Remember - Nyx will fix it!

All of my assets including models, textures, skyboxes, effects may be used under standard CC BY-NC 4.0 license.

 
Re: Modder's Digest Weekly (Latest 21-10-02)
FSWiki used to be the basically only, reliable source of new features for me but wiki maintainers are not always up to date with new stuff.
Are you saying this just in general, or was there something specific that wasn't documented? Even when it is, though, without stuff like this, there's no real way to 'advertise' new features, I feel like. This is a good way to let people know that things have changed and there's new stuff available; no one is religiously checking all the table articles for changes.

 
Re: Modder's Digest Weekly (Latest 21-10-02)
IIRC there was something that prevents subsystem flags from being overwritten by other tbms, don't think they were ever added to the wiki

 

Offline Kiloku

  • 27
  • Buzzbuzz!
    • Minecraft
Re: Modder's Digest Weekly (Latest 21-10-02)
Yeah, the changelogs can get a bit technical and the more interesting stuff for certain parts of the community ends up hard to find. Something curated like this is awesome. Thanks ETP!
Potato!

 

Offline Nyctaeus

  • The Slavic Engineer
  • 212
  • My "FS Ships" folder is 582gb.
    • Minecraft
    • Exile
Re: Modder's Digest Weekly (Latest 21-10-02)
FSWiki used to be the basically only, reliable source of new features for me but wiki maintainers are not always up to date with new stuff.
Are you saying this just in general, or was there something specific that wasn't documented? Even when it is, though, without stuff like this, there's no real way to 'advertise' new features, I feel like. This is a good way to let people know that things have changed and there's new stuff available; no one is religiously checking all the table articles for changes.
The former.

In short, I learned about majority of new features from pillaging modpacks like JAD or BP, because teams of such mods usually consists of people of high technical skills [like Axem] or SCP members directly [like The E]. Sometimes FSWiki, sometimes me chatting directly with SCP devs, but still I frequently encounter new features in people's work I had no idea about.

Nightly builds pop-up one after another like crazy. There is no way to go through the all logs looking for the hot stuff. I have a feeling that many modders just miss the new features, because they have no idea that they even exist.

For example: Before I played Warmachine, I wasn't aware that multi-locking missiles are finally a thing. I remember it being discussed couple years ago.

There is no anykind of obvious bulletin for potential modmakers, that enlists new, fancy, available features. I have a feeling that most people simply copy stuff from BP or BtA for their own works... And many remain in the dark for a long time. Including myself.
Exile | Shadow Genesis | Inferno | Series Resurrecta  | DA Profile | P3D Profile

Proud owner of NyctiShipyards. Remember - Nyx will fix it!

All of my assets including models, textures, skyboxes, effects may be used under standard CC BY-NC 4.0 license.

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Weekly (Latest 21-10-02)
More than once I've wowed people by using features that have been in the game, and even documented in the wiki, for years, but nobody really used. Beam bombs being the example most clear in my memory. Multilock doesn't really count because it wasn't in the main engine when we started using it, and it was at least in part due to my pushing that it finally got merged.

But even so... When I'm in the swing of modding I haunt the discord #scp and #github-updates channels perhaps more than I should, and I even check the wiki recent changes page once or twice a week, but there's always surprises for me when I go to make these, especially in scripting and fredding areas. Which is a big art of why I'm motivated to make them! That, and I think it helps make the work the dev team is doing on the engine a bit more visible  :)
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Weekly (Latest 21-10-02)
Two weeks in a row, personal best! The process has some wrinkles to smooth out yet but it's definitely helping.
The changes!
Mission making
  • The sexp perform-actions has been deprecated, and in turn three new sexps have been added: perform-actions-bool-first, perform-actions-bool-last, and functional-when. (#3608)
  • Improved in-engine documentation for ship-guardian and show-subtitle-image (#3671)
Lua Scripting
  • New gr.GetColor() function gets the current hud drawing color. (#3687)
#Tables
  • Deep animation code changes, working towards new features but along the way has fixed many old things that never worked. See the github post for a full list of fixes brought by this stage of the ongoing overhaul. (#3609)
  • New "Use Full Wing Names:" and "Use Expanded Colors:" Hudgauge values show full wing name and recolor icons based on health, respectively. (#3703)
  • New set-alpha-multiplier sexp allows ships to be made partly transparent (#3436)
  • New "no evasion" weapon flag makes AI pilots not care try to evade fire from a weapon type. (#3677)
  • The game doesn't complain if a ship has primary bank capacities but no ballistic weapons anymore. Useful if you are swapping weapons into a bank in ways besides player standard equipment selection. (#3683)

And the first post will be updated with the cumulative changes, of course.
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline wookieejedi

  • 29
  • Intensify Forward Firepower
Re: Modder's Digest Weekly (Latest 21-10-08)
Excellent update, as always! I'll also add this as a table option that technically made it in the same nightly as the other wingmen gauge options:

'$Wingmen Gauge Dot Override:' within ships.tbl. This allows modders to set wingmen status dots on a per-ship class basis. If no animation is specified then the default dot animation specified in the HUD table wingmen gauge is used. Wiki link here: https://wiki.hard-light.net/index.php/Ships.tbl#.24Wingmen_Gauge_Dot_Override:

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Weekly (Latest 21-10-08)
Sadly, getting a nice clean, sensible cutoff line in the logs is one problem I've not sorted out yet. Basing it off of when nightlies get built is actually a really good and in hindsight kind of obvious idea that hadn't occurred to me yet, I'll see if I can make that happen in the future
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

  

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Weekly (Latest 21-10-08)
This week the notes should cover up to and including the 20211016 nightly. I've also made the PR# a link to the github page for that PR in all cases, to save time.
Advisories
  • Most recent nightlies will make your pilot file incompatible with old versions of FSO. This was not an intentional break as I understand it a fix is planned, but recovery of broken pilots might not be possible. 
  • Animation code changes have created a hard crash for certain kinds of bad turret data. For instance if a turret is not a multipart but is set up with initial animation data in the table, it will crash. This should become non-fatal in the near future, but if you're crashing on nightlies at the moment, this could be why.
Mission making
  • SEXP Containers can now store persistent data across missions (#3462)
  • The texture replace sexp can now set animated textures or invisible textures. (#3728)
Lua Scripting
  • Tables can now store custom data associated with their entries to be accessed in lua. Initial implementation includes weapon and ship tables. see the github PR for documentation currently. (#3699)
#Tables

AI Profiles
  • New "$fighterbay departures use carrier orientation:" and  "$fighterbay arrivals use carrier orientation:", settings make path metadata orientations be relative to the mothership, when otherwise they are relative to the world. These will default to on in mods targeting future versions in game settings. (#3698)
Mod Settings
  • New settings allow for a minimum size to weapons and other effects at long range, increasing the visibility of distant combat. Not yet on the wiki, see the github PR for documentation currently. (#3656)
Particles
  • New "+Parent Velocity Factor:" lets particles inherit the velocity of the thing they were spawned by (#3691)
Ships
  • New '$Wingmen Gauge Dot Override:' sets wingmen status dots on a per-ship class basis. If no animation is specified then the default dot animation specified in the HUD table wingmen gauge is used. Wiki link here. (#3711)
  • new '+arrival rvec:' value for path metadata  allows control of incoming ship's orientations (#3698)
Tools
  • The cheats to switch weapons now use the weapon's raw table name rather than the displayed name (#3702)
« Last Edit: October 17, 2021, 05:57:14 pm by EatThePath »
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline Kiloku

  • 27
  • Buzzbuzz!
    • Minecraft
Re: Modder's Digest Weekly (Latest 21-10-16)
The $Custom Data stuff is now also documented in the Wiki.
Potato!

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Weekly (Latest 21-10-16)
Just a heads up, I'm heading out on a vacation today and this has a good chance of disrupting this and/or next weeks' posting. They should still happen, just maybe a bit late.
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Weekly (Latest 21-10-16)
Well, the above turned out to be pretty wrong.

Nightlies not going up properly gave me a very appealing excuse to keep putting the next digest off, but since they've kicked back on, here we are. This should match up with the 20211121 nightly

Advisories
  • The two issues highlighted last time have since been resolved.
Changes
  • The AI will disregard the optimum range values of weapons that are locked out (#3762)
Mission making
  • Passive lightning can now be toggled with a ship flag (#3772)
  • The game will now detect and warn about ambiguous event and goal name references (#3774)
  • show-subtitle and show-subtitle-text now have an optional value to set the spacing between lines (#3765)
  • New destroy-instantly-with-debris sexp allows the creation of ship debris without any other death effects (#3752)
  • new script-eval-bool allows a script argument to return a true or false (#3755)
POF Models
  • New $rotate_accel value in pof submodel properties controls how fast rotations start. Wiki (#3786)
Lua Scripting
  • new isValid support for gamesound handles (#3743)
  • drawImage now accepts an angle in radians to rotate the image by (#3777)
  • New 'On Mission About To End' and 'On State About To End' hooks (#3731)
  • Neb2_awacs mission value can now be read or changed (#3746)
#Tables
  • A new set of visibility factors for nebula missions has been added. Starting here on the wiki[/url] (#3676)
  • Nebula poofs can now use animated maps (#3697)
  • new '$Passive Lightning Arcs:' in ships table allows the definition of lightning arcs on the ship's hull. Wiki. (#3733)
  • new '+Target Lock Objecttypes:' option for homing weapons allows weapons to be defined as locking on to only ships or only targetable weapons. (#3588)
  • HEAD ON: APPLY DIRECTLY TO THE BITMAP. New laser properties allow effects to crossfade to a second image when viewed from directly ahead or behind. Wiki (#3748)
Tools
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Modder's Digest Irregular (Latest 22-01-08)
Whoof. I could make all kinds of excuses, but I've let this slide too long. even that being the case, this post only catches us up to about the 8th. I'll do what I can to follow up faster than two months.
Advisories
  • Some bugfixes have led to a change in the fundamentals of how the engine tracks the passage of time. This should ideally not impact actual gameplay, but some bugs related to it have been found already. If you encounter anything weird that might be timing related or in general things not working that used to, please report them so they can be looked into. (#3878)
  • Due to changes in controls handling, loading the January 5th or later build will convert your pilot files to a new format and you will have problems using that pilot in older versions of the engine.  0124 and later should allow your pilots to be loaded in old versions again, but your controls bindings in the old version will be reset to defaults. Before updating to any version after 20220105, back up your save and pilot files. But if you are up for it, please help test these extensive changes. (#2958)
Changes
  • Support has been added for multiple joysticks as well as saving and loading controls presets separately from pilots. Multi-joy requires manual editing of configuration files until launcher support catches up (#2958)
  • Mods can set their own PXO lobby banners. (#3819)
  • The hard upper limit on the number of files FSO can load has been removed. (#3872)
  • Custom fonts don't break out of their boxes in multiplayer screens anymore. (#3908)
Mission making
  • "$Asteroid targets" field in mission files lets you set asteroid targets beside the default.  (#3704)
  • "$Closeup Label" field in mission files allows setting of the name used when a ship is clicked on in briefings.  (#3798)

Lua Scripting
  • drawImageCentered and drawRectangleCentered added that allow you to define the position of the center of the thing you are drawing (#3800)
  • Custom lua SEXPs can now be defined as receiving and returning references that can be various combinations of ship, wing, team, and waypoint amoung other things, like many built in SEXPs. (#3637)
#Tables
New Tables
  • New Animation.tbl holds new extended animation data for ships, with many new features. See wiki for all the details (#3793)
  • New Lighting_Profiles.tbl allows configuration of the post-processing tonemapper. See wiki for details, and play with the possible settings in the F3 lab. (#3801)
Game Settings
  • New "$Turret target recheck time:" setting allows control of how often turrets check for new potential targets. (#3803)
  • new "$Don't automatically select a turret when targeting a ship:" does as it says to better emulate targeting in FS1. (#3888)
Weapons
  • Secondaries can now require and consume energy if the $Energy Consumed field is set.  (#3847)
  • The default volume levels for new pilots in the gamesettings table are actually used now (#3809)
« Last Edit: January 25, 2022, 04:48:46 pm by EatThePath »
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."