I think that Captain Lee was just confirming my prior response to nanite2000, Zak. (i.e. that using the ffed3d.exe runs out of memory and to use the aj ones)
FYI: On the music front there is a historical bug with FFED3D in that the docking music doesn't play, and possibly the combat music. I didn't notice as had a broken soundcard last year and my saved games had music switched off anyway... one benefit from being able to override those settings now
The issue had been flagged up on SCC years ago, but surprisingly no one else spotted it with these new builds either... oh, well
Anyway this threads' been a bit quiet since Nagual's query about the custom music... but, it's not because I've stopped tweaking I promise!
Time for a substantial update I guess!
After realising that the original FFED3D's custom music feature was the cause of the broken docking music, I decided to dig in and have rewritten it for the next release. From there, some serious adventures into assembly land have followed!
I've also altered the FFE assembly code, in particular the song-selection function so that it can now indicate where a specific song was requested (intro/docking/battle/promotion) or where it made a random choice for continuous music.
I've also decided to separate the docking / battle music option from the individual song selections. This means that you can now switch off "Blue Danube" and "Ride of the Valkyries" so that they won't play as a random song during normal gameplay, but these songs will still be queued for their specific event so long as the docking/combat music option is enabled. If custom music is defined in the docking/battle folders, these will be used instead.
Once I fixed the docking music, it then niggled me that it could end before you'd actually docked - unlike the original Elite Plus etc. Also it wouldn't play again if loading in a game where you were docking... So I've worked through the .asm code and added some new code in the 'random-song' selection function. This will check, if docking music is enabled, that the player is under autopilot and heading towards a station/port that they've been cleared to dock at. This means that with continuous music & docking music switched on, 'Blue Danube' will now repeat/restart until you're actually docked
The enhancement sounds simple as described, but took a lot of analysis to figure out the correct memory addresses to check and the appropriate assembly code to add! I should probably also limit the distance from the station that it'll play at - in case you were a smarty-pants, flew away and are now returning - but that's still a "to do", as haven't found the distance that triggers it - and probably that's just "dotting the i's" anyway I guess!
Where continuous music isn't enabled, I also spotted that only the first 'clearance granted' docking message from the station triggers the docking music to be played. I've corrected that too so that if the autopilot triggers the 'clearance already granted' message, you'll still dock to 'Blue Danube' as you'd expect.
I'm also intending to separate the intro and 2 military promotion events from the individual music selections so that they'll always play their songs when music is enabled. It's a minor thing, just not got to it yet. This will mean that those tunes can optionally be excluded from the continuous music if desired. (Intro, Paradise, The Great Gates of Kiev)
There's no custom music folder at present for the two promotion events, so I'm going to add them and with separate folders for federal and imperial. (trivial to do)
[edit] Aaah... I now know that there's a promotion event that plays 'qqparadi' and the 2nd event is when you're awarded a medal - that plays 'ggokiev'
I did notice with the custom music, that it was annoying how 'station' music tracks would continue to play until their end - even after you'd launched. That sort of destroyed the point of having them. It was a fair bit of work, but I've now tracked down & analysed the various .asm functions that handle launching from stations, underground starports or open-air pads. They now have a new call out to FFED3DAJ to tell it to end the current music track when launching. The game can then switch to a random one for free-flight if continuous music is enabled.
So, I'm running a bit late with a new build by usual standards - I do try to throw one out each month but as that's passed anyway, will probably wait another week or two yet. Other fixes have been to the videos - haven't gone nuts and added in all of the shockingly bad ones, I've just implemented the religious commune and martial law ones, as well as fixing what I felt was a bug in that the default Alliance 'welcome' videos could sometimes play at non-Alliance systems. There are also two new sets of videos for docking at an Alliance system when damaged (<75% hull) or as a criminal and it's made known that you're not welcome!
Oh, I've also added an option to load pictures instead of videos - so these can be much higher quality if people want to create them. I'm tempted to add a 'subtitles' option too so that an area beneath the picture will be reserved for some text to be output...
What else? Yeah, there's more!
When you're within an atmosphere, external planets etc are now depth sorted and drawn so that they won't appear inside of the sky - or worse pop up in front of distant mountains. I'm thinking of extending this generally to all objects but maybe the next build.
I've made it so that with the depth sorting, suns and planets draw inside the background sky (e.g. you can see the moon during the day) but behind the clouds. There's a downside to this in that at the start position, the sun no longer appears brightly, setting in the sky at Hope because the clouds mask it. I've an option to draw the sun late, as it was in the past, and then it's rendered over the clouds and is plain to see... the trade off of that is it won't be eclipsed by planets/rings. Not sure there's really a way to resolve this given what I'm working with - so there may have to be the user's choice of beauty vs realism!
I've also been having an on-going tinker with the atmosphere shaders; I really want to get rid of the solid-blue external skies and incorporate either the Petrocket shader or Sean O'Neil's atmosphere scattering shader. Sadly, it's been frustrating so far. I think both are written for models and cameras in object space, where FFED3D's perhaps aren't... this will probably have to continue to be on the back-burner for a few builds yet as I really do have such little understanding of shaders! This needs to be figured out though so that along with the 'living worlds', others such as the red planets etc can also regain their missing atmospheres!
[edit] oh yes, I've also added a patch option to force the rotation of (thus far) all living planets and larger, i.e gas giants. Smaller planetary objects are liable to be tidally locked so I've left them remaining so. As yet, I've not investigated tilting certain planets to better match expected seasons.
More to come!
FYI: On the music front there is a historical bug with FFED3D in that the docking music doesn't play, and possibly the combat music. I didn't notice as had a broken soundcard last year and my saved games had music switched off anyway... one benefit from being able to override those settings now
The issue had been flagged up on SCC years ago, but surprisingly no one else spotted it with these new builds either... oh, well
Anyway this threads' been a bit quiet since Nagual's query about the custom music... but, it's not because I've stopped tweaking I promise!
Time for a substantial update I guess!
After realising that the original FFED3D's custom music feature was the cause of the broken docking music, I decided to dig in and have rewritten it for the next release. From there, some serious adventures into assembly land have followed!
I've also altered the FFE assembly code, in particular the song-selection function so that it can now indicate where a specific song was requested (intro/docking/battle/promotion) or where it made a random choice for continuous music.
I've also decided to separate the docking / battle music option from the individual song selections. This means that you can now switch off "Blue Danube" and "Ride of the Valkyries" so that they won't play as a random song during normal gameplay, but these songs will still be queued for their specific event so long as the docking/combat music option is enabled. If custom music is defined in the docking/battle folders, these will be used instead.
Once I fixed the docking music, it then niggled me that it could end before you'd actually docked - unlike the original Elite Plus etc. Also it wouldn't play again if loading in a game where you were docking... So I've worked through the .asm code and added some new code in the 'random-song' selection function. This will check, if docking music is enabled, that the player is under autopilot and heading towards a station/port that they've been cleared to dock at. This means that with continuous music & docking music switched on, 'Blue Danube' will now repeat/restart until you're actually docked
The enhancement sounds simple as described, but took a lot of analysis to figure out the correct memory addresses to check and the appropriate assembly code to add! I should probably also limit the distance from the station that it'll play at - in case you were a smarty-pants, flew away and are now returning - but that's still a "to do", as haven't found the distance that triggers it - and probably that's just "dotting the i's" anyway I guess!
Where continuous music isn't enabled, I also spotted that only the first 'clearance granted' docking message from the station triggers the docking music to be played. I've corrected that too so that if the autopilot triggers the 'clearance already granted' message, you'll still dock to 'Blue Danube' as you'd expect.
I'm also intending to separate the intro and 2 military promotion events from the individual music selections so that they'll always play their songs when music is enabled. It's a minor thing, just not got to it yet. This will mean that those tunes can optionally be excluded from the continuous music if desired. (Intro, Paradise, The Great Gates of Kiev)
There's no custom music folder at present for the two promotion events, so I'm going to add them and with separate folders for federal and imperial. (trivial to do)
[edit] Aaah... I now know that there's a promotion event that plays 'qqparadi' and the 2nd event is when you're awarded a medal - that plays 'ggokiev'
I did notice with the custom music, that it was annoying how 'station' music tracks would continue to play until their end - even after you'd launched. That sort of destroyed the point of having them. It was a fair bit of work, but I've now tracked down & analysed the various .asm functions that handle launching from stations, underground starports or open-air pads. They now have a new call out to FFED3DAJ to tell it to end the current music track when launching. The game can then switch to a random one for free-flight if continuous music is enabled.
So, I'm running a bit late with a new build by usual standards - I do try to throw one out each month but as that's passed anyway, will probably wait another week or two yet. Other fixes have been to the videos - haven't gone nuts and added in all of the shockingly bad ones, I've just implemented the religious commune and martial law ones, as well as fixing what I felt was a bug in that the default Alliance 'welcome' videos could sometimes play at non-Alliance systems. There are also two new sets of videos for docking at an Alliance system when damaged (<75% hull) or as a criminal and it's made known that you're not welcome!
Oh, I've also added an option to load pictures instead of videos - so these can be much higher quality if people want to create them. I'm tempted to add a 'subtitles' option too so that an area beneath the picture will be reserved for some text to be output...
What else? Yeah, there's more!
When you're within an atmosphere, external planets etc are now depth sorted and drawn so that they won't appear inside of the sky - or worse pop up in front of distant mountains. I'm thinking of extending this generally to all objects but maybe the next build.
I've made it so that with the depth sorting, suns and planets draw inside the background sky (e.g. you can see the moon during the day) but behind the clouds. There's a downside to this in that at the start position, the sun no longer appears brightly, setting in the sky at Hope because the clouds mask it. I've an option to draw the sun late, as it was in the past, and then it's rendered over the clouds and is plain to see... the trade off of that is it won't be eclipsed by planets/rings. Not sure there's really a way to resolve this given what I'm working with - so there may have to be the user's choice of beauty vs realism!
I've also been having an on-going tinker with the atmosphere shaders; I really want to get rid of the solid-blue external skies and incorporate either the Petrocket shader or Sean O'Neil's atmosphere scattering shader. Sadly, it's been frustrating so far. I think both are written for models and cameras in object space, where FFED3D's perhaps aren't... this will probably have to continue to be on the back-burner for a few builds yet as I really do have such little understanding of shaders! This needs to be figured out though so that along with the 'living worlds', others such as the red planets etc can also regain their missing atmospheres!
[edit] oh yes, I've also added a patch option to force the rotation of (thus far) all living planets and larger, i.e gas giants. Smaller planetary objects are liable to be tidally locked so I've left them remaining so. As yet, I've not investigated tilting certain planets to better match expected seasons.
+ When within an atmosphere, distant moons and planets are now drawn first to enusre that they don't appear to be
inside of the sky and are masked by clouds etc.
+ Ship lights are now sized appropriately.
+ FFE Videos can now be replaced with a folder containing Image alternatives. PNG files will automatically use
their transparency as will DDS. TGA/BMP have no transparency at this time.
+ FFE Videos fixes:
+ Independant systems erroneously included Alliance 'Welcome' videos g9 & g10.
+ Non-Alliance systems no longer have a chance of deciding to displaying a standard Alliance 'Welcome' video!
+ Religious Dictatorship and Martial Law systems now display their unique 'Welcome' messages (r1-4, m1-4).
+ Low tech Independant system welcome messages now include video fr1.avi which was in the wrong table.
+ Added distinct Alliance scenario for docking with damaged ship, hull condition <75% (g9 & g10).
+ Added distinct Alliance scenario that player is unwelcome as a criminal (g11).
+ Corrected FFED3D's support for custom music. Historically it prevented the docking music and combat music playing.
+ Disabling 'Blue Danube' in the song options will now only prevent it from being randomly selected during the game.
It will be played during docking according to whether the 'Docking Music' option is enabled or not. If one or more
mp3 tracks are present in the custom music folder \docking then these will be randomly chosen from.
+ Disabling 'Ride of the Valkyries' in the song options will also only prevent that song from being randomly
selected during the game. It will be played during combat according to whether the 'Music during Combat' option
is enabled or not. If one or more mp3 tracks are present in the custom music folder \combat these will be randomly
chosen from.
+ Docking music will be triggered again by the 'Clearance already granted' message if it's not already playing.
+ Docking music will repeat whilst the player is still flying under autopilot to the station/port that has granted
docking clearance or when still entering station bays/lifts. The music will therefore be played after loading a
saved game with these scenarios as well.
+ FFE Bug fix: "Pay berthing charge by midnight or suffer the consequences." message will now display at the start
of a day when player has insufficient funds. Previously it incorrectly displayed the "Pay landing charge" message.
+ Correction to log file write; .X model load routine changes active directory so log has to be opened with full
path and filename each time.
+ Application will prevent multiple instances from running at the same time.
+ New patch setting in config file to force tidally-locked planets to rotate. Disabled by default, set the value
ForcePlanetRotation=1 to enable this. (applies to habitable planets & larger gas giants only at present)
inside of the sky and are masked by clouds etc.
+ Ship lights are now sized appropriately.
+ FFE Videos can now be replaced with a folder containing Image alternatives. PNG files will automatically use
their transparency as will DDS. TGA/BMP have no transparency at this time.
+ FFE Videos fixes:
+ Independant systems erroneously included Alliance 'Welcome' videos g9 & g10.
+ Non-Alliance systems no longer have a chance of deciding to displaying a standard Alliance 'Welcome' video!
+ Religious Dictatorship and Martial Law systems now display their unique 'Welcome' messages (r1-4, m1-4).
+ Low tech Independant system welcome messages now include video fr1.avi which was in the wrong table.
+ Added distinct Alliance scenario for docking with damaged ship, hull condition <75% (g9 & g10).
+ Added distinct Alliance scenario that player is unwelcome as a criminal (g11).
+ Corrected FFED3D's support for custom music. Historically it prevented the docking music and combat music playing.
+ Disabling 'Blue Danube' in the song options will now only prevent it from being randomly selected during the game.
It will be played during docking according to whether the 'Docking Music' option is enabled or not. If one or more
mp3 tracks are present in the custom music folder \docking then these will be randomly chosen from.
+ Disabling 'Ride of the Valkyries' in the song options will also only prevent that song from being randomly
selected during the game. It will be played during combat according to whether the 'Music during Combat' option
is enabled or not. If one or more mp3 tracks are present in the custom music folder \combat these will be randomly
chosen from.
+ Docking music will be triggered again by the 'Clearance already granted' message if it's not already playing.
+ Docking music will repeat whilst the player is still flying under autopilot to the station/port that has granted
docking clearance or when still entering station bays/lifts. The music will therefore be played after loading a
saved game with these scenarios as well.
+ FFE Bug fix: "Pay berthing charge by midnight or suffer the consequences." message will now display at the start
of a day when player has insufficient funds. Previously it incorrectly displayed the "Pay landing charge" message.
+ Correction to log file write; .X model load routine changes active directory so log has to be opened with full
path and filename each time.
+ Application will prevent multiple instances from running at the same time.
+ New patch setting in config file to force tidally-locked planets to rotate. Disabled by default, set the value
ForcePlanetRotation=1 to enable this. (applies to habitable planets & larger gas giants only at present)
Last edited: