The FFED3DAJ Thread

I did a bunch of optimizations with the textures for the files in my FFED3DAJ. Not sure how that would work with later versions of FFED3DAJ, but feel free to download (link in my sig below) and see if you can reduce the memory usage?
Thanks Zak. I'm actually about half-way through optimising my textures. Not the most exciting task, is it? :|
 
And in any event, reducing the size of the textures definitely has an effect on the visuals.

With normal textures...

TexHi.jpg


and with optimised textures

TexLo.jpg


so I'm going to leave things as they are and not pre-load all the models.

I think next I'll have a look at the journals and see if they can be improved a bit. Thanks to Andy's sterling work they can now be edited and there are quite a few typos that can be removed, plus some of the stories seem to insert the player's current location into the article, rather than a particular and relevant one. This often means the story doesn't make sense, as it refers to - for example - Imperial shenanigens in a Federation system. I figured this is the kind of work I can happily undertake although there are quite a few entries to edit so it may take a while! Also, I'll be working in English only...

Andy, is there a way of forcing the program to display a particular story, a bit like the hints & tips on the loading screen, to make testing easier?
 
Hi Steve,

Regarding the stories - no, I'm afraid that there's not an easy way to force specific stories.

I'd have to alter the .asm code to do this and I wouldn't really want to meddle with that area more than I have already!
The way stories are selected for display is quite convoluted and I didn't have the time/patience to completely debug it and figure out what was generating the data it uses.

I'd suggest that you use the various save games that you sent me as they have a good spread across game-time & will populate the variables required. If you can get a set that starts at day 0 + 5 months, +11 months, +17 months etc to build a collection of saves displaying 6 new stories each time then that's probably the easiest way forward. There's a .cfg setting to display the story id's in the text (displayJournalStoryId).

If you do spot some errors or invalid variables being used, could you let me know and I'll fix them in the core set of texts too, cheers!


In your optimised textures screenshot, it looks like you either lost the alpha channel on the cloud textures there, or the texture might even be missing. Not sure what's happened to the sea but probably the same issue.

It's a bit late to give advice I guess but you need to be careful of preserving the transparencies on some of the textures - one or two of the ships use this for the cockpits, e.g. that on the Hawk. Also if you reduce colour-depth then you may see obvious 'banding' on textures that have gradual transitions into transparency - for example those used for the lights and in-game suns. Ground/building textures aren't really an issue.

On 32-bit Windows systems, the game is limited to about 1.7GB of memory before it goes 'pop', on 64bit Windows it appears this is increased to about 3.1GB system memory. Decreasing the quality of the textures will help most where it's not possible to load them into video memory.

Loading textures to video memory was just a quick experiment and so it only supports the \Texture files and not the models.

Well.. it used to...

The good news is that I had time over the weekend to take a proper look at loading model textures into video memory too!
It was a bit of work as it needs to handle releasing and reloading them should the device get lost, or when switching between Fullscreen & Window mode. I'm not entirely sure how well it'll react if used with dynamic loading/dropping of models over an extended play session, but a limited test seems ok... so let's experiment anyway and see how it goes!

Now loading all of the model skins and textures definately pushes usage beyond the 2GB that my card has onboard, so I've added two .cfg settings so that there's the option to load ship skins/textures and one for the 'other' .X models.
(missiles & ship parts are included in with the main ship models)

Curiously though, DX9 (dxdiag) reports that my nVidia GTX 750TI card has 4GB video memory available to use - which is perhaps a Windows/driver feature - and as far as I can tell, it does actually appear that all of the textures+skins can be loaded into this memory! [where is it]
The extra docking-entry & underground landing bay models, as well as the 'piston' of the intro Thargoid ship all appear to be correctly skinned. I double-checked this in a debug build - and it seems legit - it didn't hit a load failure. Wow!
So, unbelievably, FFED3DAJ.exe is now running in 806MB of system memory, and with all of the models pre-loaded! :cool:


I've also had time to look at where I left the last build and finish up the changes I was making for borderless mode.
The game can now be run with user-defined start-offsets and size rather than auto-fitting to the primary display. This will allow it to be launched on a different screen, or even stretched across mulitple screens. (Windows have definable offset values too)
I've also removed the "defaultBorderless" setting as Borderless mode is now treated as an alternative to native (exclusive) Fullscreen mode. The game can be run that way or in Windowed mode.
To start fullscreen & in borderless mode then both of these .cfg values will now need to be set to 1 but I think it seems more sensible this way. Windowed mode is then separate and the user can switch to/from it using CTRL-F12.
The documentation has also been updated to cover these changes, as well as the enhanced joystick support that was added into last year's v1.12 beta builds.


The lighting changes that helps tie in the cities/buildings to the planet terrain still need some work, and seeing a silhouetted city scape in the start-position's sunset may not prove popular, so for now...
> there's a v1.13 beta 1 lurking on my dropbox here. <
(It needs to be added onto an existing FFED3DAJ v1.11 or higher set-up)

Oh, btw Steve, there's also a speculative fix for your over-aged Commander that'll hopefully let him fly on again without the game crashing... let me know!

Have fun!
o7
 
Last edited:
Yeah i'd say something went 'wrong' in those texture optimizations Steve! I got my 32bit version to run in around 1GB, with all models and textures intact, and it looked good, so nothing like the screenshots you posted.

I can't remember the exact details of what i did, but i use photoshop and simply reduced the size (iirc it was a basic 50% reduction for the most part) of most of the game textures and saved making sure to use the exact same format the originals were in.
 
Yay! FFED3D-AJ v1.13! Happy bunny right here! I definitely get more excited about this than yet another Elite: Dangerous patch...

First the good news. I followed the instructions and loaded everything into the gfx memory. As a result, the game runs perfectly with all models pre-loaded! No pop-up at the space ports any more! It uses about 1.5 GB of memory.

Textures; I "optimised" them using Microsoft Paint and I guess something went wrong during that process. Not such an issue any more though.

In addition, v1.13 works perfectly on my recently-acquired laptop as well ie. all models pre-loaded and the program behaving itself.

Out of curiosity, I played around with switching between fullscreen and windowed mode. Unlike previous versions, there seems to be a delay of around 45 seconds on my system before the game sorts itself out. If I set enableborderless=0 and autofitPrimaryScreen=0 then switching out of the game with the Windows key also introduces this delay. With the above both set to 1 it's ok jumping in and out with the Windows key, but the CTRL-F12 delay remains. Again, not such an issue for me, as I always switch applications with the Windows key or Alt-Tab. Just thought you'd like to know ;)

Overall though v1.13 is great!

What else? Well, I'm still plodding through the English-language journals, correcting typos and generally tidying things up. I'm up to around number 250 now; only another 400 or so to go! I did try to work out the syntax for the insertion of names etc but failed miserably. For example, in message number 0018, the code [OoG1([FmG2,[FfG2) inserts the name Doris Honda (or something like that) into the message and can also switch to Frank Honda if loaded another time. Very clever, especially as the code also sets the gender references in the remainder of the message accordingly. But it continues to refer to the person by their full name in the rest of the article, which doesn't really look right. Depending on whether the article is hostile or sympathetic to the person, they should just be referred to as Honda or Doris after the first reference, but I couldn't work out how to get the program to do that. Any ideas Andy (or anyone!)?

Think that's all for now. As ever, massive thanks to you Andy, for continuing to improve this amazing game! [yesnod]
 
Last edited:
Whoopee update! The new borderless mode works flawlessly - spanned across 6 screens here (ED still can't do this)!

So i've spent this afternoon making a few tweaks myself - shrank the HUD reticles, softened the galaxy textures to better blend with the skybox, and improved the 'HD' effects in SweetFX..

Some screens:















...if anyone's interested i've taken the liberty of archiving my game folder here:

<removed>

..this is 1.13b1 plus Ittiz & Gernot's updates, check the readme before running.
 
Last edited:
Hi Bounder,

I'm sure that this is meant to be helpful, but please don't repackage my patch like this - and certainly no direct links here please.
I distribute a patch, not a 'runs out of the box' set up for a reason, and this particular patch is also a work-in-progress beta.

Please would you consider breaking out your sweetfx files and supply that as an add-on that can be applied over the top of an install. A link to that wouldn't break any forum rules, a full install probably does and I'd prefer that my thread wasn't shut-down. :p

Cheers

AndyJ
 
Thanks Bounder.


Just a quick update after revisiting this issue that's been reported again against v1.11 on the SSC forum and was apparently still outstanding.

Accessing the map during atmospheric flight causes your ship to blow up..

It was a v1.11 issue introduced via the experimental setting "preoptimizedDistantDivides" that helps boost FPS around planets.
The work around was simply to disable this setting (or not use the map when flying near planet surface) but I think that I've fixed the issue now.
Here's a quick v1.13 beta2 build for anyone wanting it.
 
In regards to the journal, I think the intent behind the stories happening in a system where the player's located was intended to make the player feel like galactic events were happening close to them, but outside of scanner range. An added layer of immersion to the scripted missions, so to speak.
 
Windows Defender is reporting that the main exe is "Trojan:Win32/Azden.A!cl". Hopefully this is a false positive? [woah]
 
I believe so Steve. I'm running Norton again these days (after trying & disliking Kaspersky) and that didn't flag anything before I uploaded.
I've re-scanned and also uploaded the zip and the main exe separately to the VirusTotal website - they're reported as all clear. (It's a good site to bookmark if ever you want to get a broad analysis of a download for peace of mind.)
If you can, submit the quarantined exe to Microsoft so they can analyse it & find what triggered a match.

I've also rebuilt the executables and there's a new zip here if you want to try that instead: v1.13 beta 2 rebuild. Again I've run them through Norton locally and VirusTotal and nothing is flagged - let me know if Windows Defender is still unhappy though.
 
Last edited:
Out of curiosity, I played around with switching between fullscreen and windowed mode. Unlike previous versions, there seems to be a delay of around 45 seconds on my system before the game sorts itself out. If I set enableborderless=0 and autofitPrimaryScreen=0 then switching out of the game with the Windows key also introduces this delay. With the above both set to 1 it's ok jumping in and out with the Windows key, but the CTRL-F12 delay remains. Again, not such an issue for me, as I always switch applications with the Windows key or Alt-Tab. Just thought you'd like to know ;)
Yes, if you are switching between modes with F12, or minimizing the exclusive fullscreen mode (borderless=0) then the game needs to reset & recreate the display. Either to change the dimension of the screen buffer, or in the second example because it's lost control of the device when minimizing. Before it can reset/recreate, it first has to drop all textures from video memory. After it's recreated the display it'll then reload the textures. This is the same as previous versions, but if you are loading more onto the video card then it'll have more work to do before it can carry on. There should be a 'loading textures' image displayed once it's reloading them so the user knows that it's not hung.


I did try to work out the syntax for the insertion of names etc but failed miserably. For example, in message number 0018, the code [OoG1([FmG2,[FfG2) inserts the name Doris Honda (or something like that) into the message and can also switch to Frank Honda if loaded another time. Very clever, especially as the code also sets the gender references in the remainder of the message accordingly. But it continues to refer to the person by their full name in the rest of the article, which doesn't really look right. Depending on whether the article is hostile or sympathetic to the person, they should just be referred to as Honda or Doris after the first reference, but I couldn't work out how to get the program to do that. Any ideas Andy (or anyone!)?

I'm afraid that the bad news is that you're limited to the variables that are used in the original FFE story. I capture the variables that were referenced in a story and then the resulting text that FFE produces for them, albeit with look-ups to language-specific versions of the string tables. I didn't try to work out where the stories got their underlying data from though, or reproduce all the string creation calls myself. I figured it was best to leave the original routines to run through as usual rather than risk breaking a story, and it then became a search-and-replace of the variable instances in the translated story text.
So... you can repeat a variable more than it was there originally or omit it entirely - but I'm afraid that it doesn't support displaying variables that weren't in the original FFE story or any manipulation of them.

The only exceptions to this are when there's the choice of one or more strings, e.g. [SlL1("his","her") and I keep track of which sub-string was chosen for SlL1 and select the same from the sub-string from translated version.
When there are randomly selected strings ([OoR) IIRC not all of the original extra languages had the same number of choices in all stories so for these, I do generate a random number that's appropriate to the number of options in the 'translated' version and then display that sub-string. (so you can add more strings, or have fewer than in the original story)
(I think that only story 212 actually used this functionality, I guess seeing a story randomly change each visit is not all that great)
 
Last edited:
I believe so Steve. I'm running Norton again these days (after trying & disliking Kaspersky) and that didn't flag anything before I uploaded.
I've re-scanned and also uploaded the zip and the main exe separately to the VirusTotal website - they're reported as all clear. (It's a good site to bookmark if ever you want to get a broad analysis of a download for peace of mind.)
If you can, submit the quarantined exe to Microsoft so they can analyse it & find what triggered a match.

I've also rebuilt the executables and there's a new zip here if you want to try that instead: v1.13 beta 2 rebuild. Again I've run them through Norton locally and VirusTotal and nothing is flagged - let me know if Windows Defender is still unhappy though.

Thanks for the fast reply, Andy. The rebuilt beta2 doesn't upset Windows Defender like the first one did. Oddly, Defender doesn't like v1.11 (release version) either but is ok with v1.12 beta4. Malwarebyes is happy with all versions. It looks like something changed in the last definitions update. I've submitted the first v.1.13 beta 2 to Microsoft so we'll see what they make of it.

Yes, if you are switching between modes with F12, or minimizing the exclusive fullscreen mode (borderless=0) then the game needs to reset & recreate the display. Either to change the dimension of the screen buffer, or in the second example because it's lost control of the device when minimizing. Before it can reset/recreate, it first has to drop all textures from video memory. After it's recreated the display it'll then reload the textures. This is the same as previous versions, but if you are loading more onto the video card then it'll have more work to do before it can carry on. There should be a 'loading textures' image displayed once it's reloading them so the user knows that it's not hung.

Yeah, I get the 'loading textures' message so I know it's doing something!

I do tend to jump between applications quite a lot, and the program usually copes. Occasionally though, I get this happening, where the buildings go weird...

Good.jpg


becomes

NotGood.jpg


and the game won't sort it out; I have to quit and re-load.

I'm afraid that the bad news is that you're limited to the variables that are used in the original FFE story. I capture the variables that were referenced in a story and then the resulting text that FFE produces for them, albeit with look-ups to language-specific versions of the string tables. I didn't try to work out where the stories got their underlying data from though, or reproduce all the string creation calls myself. I figured it was best to leave the original routines to run through as usual rather than risk breaking a story, and it then became a search-and-replace of the variable instances in the translated story text.
So... you can repeat a variable more than it was there originally or omit it entirely - but I'm afraid that it doesn't support displaying variables that weren't in the original FFE story or any manipulation of them.
Ok, no worries, just thought it'd be worth a go. Definitely getting there with the tidying-up of the journals. Up to number 531 now!

Some other stuff :)

I was under the impression that setting 'modelPreloadAllx64=1' overrode whatever 'modelPreLoad' was set to. In other words whether the latter is 0,1, or 2 doesn't matter because of the former's setting. But setting 'modelPreload=0' with 'modelPreloadAllx64=1' doesn't preload all the models, only setting it to 99 seems to do that.

I like the way the mouse scroll wheel switches to the messages in the bottom right of the screen, provided there aren't any scroll buttons on the main screen. Just one slight thing; this doesn't happen on the Ship Status screen, where equipping the ship fully introduces scroll buttons.

In case you're wondering, I have a pen and paper on the desk and I jot these things down as they crop up. My wife thinks I'm crazy! [haha]
 
I do tend to jump between applications quite a lot, and the program usually copes. Occasionally though, I get this happening, where the buildings go weird...

and the game won't sort it out; I have to quit and re-load.
Did that happen before the new 1.13 builds allowing .x model textures into video memory or is this new? Is there any pattern to what you're switching back & to from that causes it?
I forgot to mention in the beta 1 notes that I'd enhanced the texture-reload function to process those for .X models too - so if you press CTRL-F7 to reload, does it fix the issue?

I was under the impression that setting 'modelPreloadAllx64=1' overrode whatever 'modelPreLoad' was set to. In other words whether the latter is 0,1, or 2 doesn't matter because of the former's setting. But setting 'modelPreload=0' with 'modelPreloadAllx64=1' doesn't preload all the models, only setting it to 99 seems to do that.

I like the way the mouse scroll wheel switches to the messages in the bottom right of the screen, provided there aren't any scroll buttons on the main screen. Just one slight thing; this doesn't happen on the Ship Status screen, where equipping the ship fully introduces scroll buttons.

Thanks for these, should be fixed now.

Anyway I noticed an error with the random sub-string selection that I described earlier when I looked back at the code - as in: I'm sure I remember doing that, but I'm not seeing it!!!
There was code to handle a random selection but not the actual example that I'd found, weird!
It was a pretty quick fix for that and so then I decided to take a look at how hard it would be to split the people names up. The search-and-replace isn't a fire-and-forget process like you'd do in Word etc, I match to control code / variable instances one-at-a-time and I'd coded it to assume that the '[' prefix might not be the previous character to the main control code to make it a little more author-friendly. That decision made it quite straight-forward to add support for a prefix character on the Oo control code and it only applies when it's selecting from a male/female name (Fm/Ff).
A (case-sensitive) prefix of 's' will now display just the surname, or an 'f' for the forename. So for your example, [sOoG1([FmG2,[FfG2) will now let you display the surname 'Honda' only.

Here's a v1.13 beta3 with the fixes and the new story code prefix to have a play with!
(I've Norton/VirusTotal scanned it again, AFAIK it's ok but let me know if it still gets flagged by WindowsDefender or not)

In case you're wondering, I have a pen and paper on the desk and I jot these things down as they crop up. My wife thinks I'm crazy! [haha]
I'd already realised that long ago, LOL! :p
But nowt wrong about being dedicated to your favourite game!
 
Last edited:
In regards to the journal, I think the intent behind the stories happening in a system where the player's located was intended to make the player feel like galactic events were happening close to them, but outside of scanner range. An added layer of immersion to the scripted missions, so to speak.
Yeah, I get that and when it works properly it's good. My problem is when the story doesn't make any sense. For example, journal number 009:-

"ANOTHER BORDER VIOLATION AT [SyG1(disput)
Starships of the Imperial Border Patrol at [SyG1(disput) clashed yesterday with Federation ships that had illegally entered Imperial space."

Since I'm currently docked in the Vega system, this part of the story reads

"ANOTHER BORDER VIOLATION AT VEGA
Starships of the Imperial Border Patrol at Vega clashed yesterday with Federation ships that had illegally entered Imperial space."

which is clearly wrong because Vega isn't an Imperial system! This is what I'm trying to fix but I need AndyJ to help me out because the syntax isn't very clear, at least to a simpleton like me :p
 
I'm afraid that the bad news is that you're limited to the variables that are used in the original FFE story. I capture the variables that were referenced in a story and then the resulting text that FFE produces for them, albeit with look-ups to language-specific versions of the string tables. I didn't try to work out where the stories got their underlying data from though, or reproduce all the string creation calls myself. I figured it was best to leave the original routines to run through as usual rather than risk breaking a story, and it then became a search-and-replace of the variable instances in the translated story text.
So... you can repeat a variable more than it was there originally or omit it entirely - but I'm afraid that it doesn't support displaying variables that weren't in the original FFE story or any manipulation of them.
Yeah, I see what you mean. I tried cutting and pasting a variable from one story to another but it didn't work. Curious bit of coding, but then the original release was a bit of a rush-job. It's just a bit of a shame that quite a few of the journals don't make sense, at least to a nit-picker like me! One story refers to a trader flying from Sol to Sol. Seriously?? [blah]

Did that happen before the new 1.13 builds allowing .x model textures into video memory or is this new? Is there any pattern to what you're switching back & to from that causes it?
I forgot to mention in the beta 1 notes that I'd enhanced the texture-reload function to process those for .X models too - so if you press CTRL-F7 to reload, does it fix the issue?
I'll let you know. This is quite a hard one to reproduce.

Anyway I noticed an error with the random sub-string selection that I described earlier when I looked back at the code - as in: I'm sure I remember doing that, but I'm not seeing it!!!
There was code to handle a random selection but not the actual example that I'd found, weird!
It was a pretty quick fix for that and so then I decided to take a look at how hard it would be to split the people names up. The search-and-replace isn't a fire-and-forget process like you'd do in Word etc, I match to control code / variable instances one-at-a-time and I'd coded it to assume that the '[' prefix might not be the previous character to the main control code to make it a little more author-friendly. That decision made it quite straight-forward to add support for a prefix character on the Oo control code and it only applies when it's selecting from a male/female name (Fm/Ff).
A (case-sensitive) prefix of 's' will now display just the surname, or an 'f' for the forename. So for your example, [sOoG1([FmG2,[FfG2) will now let you display the surname 'Honda' only.
Yep, that works very nicely! I'll use it to improve a few of the journals. Also, the model preload issue is indeed fixed, as is the mouse wheel thingy. Cheers!

Here's a v1.13 beta3 with the fixes and the new story code prefix to have a play with!
(I've Norton/VirusTotal scanned it again, AFAIK it's ok but let me know if it still gets flagged by WindowsDefender or not)
Defender is happy with beta 3 :)
By the way, Microsoft have responded to my submission of 1.13 beta 1 and confirmed it is not malware. No further info though, so no idea what was upsetting Defender.

I'd already realised that long ago, LOL! :p
But nowt wrong about being dedicated to your favourite game!
Indeed :D
 
Andy, I've sent you a PM with a link to improved journals (typos, spelling mistakes etc rectified, syntax improved).

Did that happen before the new 1.13 builds allowing .x model textures into video memory or is this new? Is there any pattern to what you're switching back & to from that causes it?
I forgot to mention in the beta 1 notes that I'd enhanced the texture-reload function to process those for .X models too - so if you press CTRL-F7 to reload, does it fix the issue?
The issue has cropped up a couple of times today. All I can really say is that at the time I was running Mozilla Firefox, Amazon Music, BUFFET and, of course, FFED3DAJ v1.13 beta 3. As usual, I was Alt-Tabbing between all these and - yes - Ctrl-F7 seemed to fix it :)

Something I've just noticed; not sure if you want to delve into this one Andy...

Occasionally when taking on a courier or passenger mission from the bulletin board, they will agree to pay all the money up-front, rather than half immediately and half on arrival. However, when you accept the job, the money isn't paid into your account; it's paid at the other end. I'm not sure when this issue started but it works correctly in glffe.
 
Last edited:
I'm finding an apparent issue with Anisotropic's mod - i can't seem to be able to scoop any cargo, even with a scoop + tractor beam. I also don't seem to be able to set off enemy mines - assuming they're not dummies of course. Only seems to be Aniso's affected, but i'm sure it was working in some recent earlier version..

No biggie, only i was trying to adopt a strategy of over-equipping a smaller ship with kit, leaving insufficient space for fuel, and relying on stealing military fuel from any kills en route. For some reason i'm not managing to scoop anything at all tho.. tested with a variety of ships..
 
Back
Top Bottom