Oh my god I had a very similar issue with my terrain code about 14 years ago...
Do you have LOD in that terrain too perchance?
The terrain in FFE is generated every frame and the complexity/LOD is based upon both the game settings and also how far away you currently are from the planet. It doesn't just generate a local area either, it calculates the whole planet - I think it starts out as a basic Icosahedron and then keeps subdividing the triangles with some variation to eventually generate each planet's unique terrain.
This is why it can tax the CPU so much as you approach planets and even more so if you increase the 'max-divide' settings in the .cfg file.
I've not really tried to correlate the code against the theory, but possibly
this article is quite close to how it works. (or should work...)
FFED3D has converted much of FFE's terrain generation routines from Assembly code into pseudo-C code, replacing jumps with if statements and for loops - but it still uses variable names based from the registers (eax, esi) or analogous to the function's input parameter offset values (ebp_20, ebp_24) or direct memory addresses e.g. *(int*)DATA_009269 = *(int*)DATA_007837; or offsets into unknown tables ... there's not much in the way of description to explain how any of it is working!
So it's still pretty much a collection of undocumented 'black box' routines which ultimately spit out the 3 triangle points, each with (broken) texture uv values and an RGB value.
The triangles use vertex colour blending which I'd guess is what your final screenshot is also doing. I'm having to specifically catch some of these colours in certain places though and then override the colours to stop the sea/land bleeding into each other. (it's all good fun!)
Not too sure yet how to scale/repeat a texture if the triangle is larger/smaller than a base size... For example a ridgeline triangle might simplify itself from 3, to one large triangle as you fly away from it. So an area ends up with an expanded version of the texture compared to its neighbours. Probably obvious stuff for anyone who's experienced in this kind of 3D, but it's all very much a learn-everything-as-I-go-along experience for me! Knew nothing even about D3D when I picked this up, so working it all out one challenge at a time!
issue with the bays always being full
Well I was getting a little triangle'd-out so took a detour into the docking bays for a change of scenery. Slightly amused at what I found with my own broken 2nd mission save! The shuttle has 4 bays in total, and there's 2 bays with INRA '+' ships docked in them, and ... wait for it ... 2 bays with space dust in them! Yes. Dust!
So not only are the Thargons a Litigious lot, they're apparently not very house proud either and have let their gaff go to rack & ruin!
I will have to figure out now how this came to be - dust is an object with AI but surely it isn't sentient enough to request docking clearance!!!
Knowing that there are duff entries in the docking bays though - I might now be able to alter the function not just to check if a bay is occupied, but also to check if it's occupied by a valid AI ship or the player and if not, allow it to be used!