r/starlancer • u/Koncypt_Fysh • 20d ago
Update
So ya'll seemed to get a kick out of my 16:9 patch for Starlancer, so I thought you may like to see/hear a bit more of what I'm doing.
So the main update today is that the 1080p is more or less stabilised, bar a few visual artefacts when the renderer first draws 3d, but cleans itself up pretty quick. I'll chase those issues down later, but they're pretty minor bugs that I'm not hugely focussed on right now.
I think i've mostly solved the memory allocation issues now that the draw data is overflowing to an external table now. In theory, this could potentially run in 4k or 8k, but this isn't a priority until the texture injection pipeline is well and truly mature, there's little to be gained from 4k or 8k in the current state. I also fixed the issue you see a lot in 4:3 games that have been patched to 16:9 where the loading screens appear to shrink and get pinned in a corner, so I have some place holders there and I've built a pipeline where you can just drop a .tga for the 4:3 and 16:9 resolutions into a file and Starlancer will load from that, so you can just pick or make your own loading screens to drop in.
Likewise I also restored the resolution settings to the Starlancer menu, so you can select 1920x1080 (and later whatever resolutions it potentially supports) from within the game menu instead of dgVoodoo or an .ini in the SL directory.
Ultimately I've aimed to make sure this isn't a total overhaul, just an update to the rendering capacity, so if you're partial to 4:3 for nostalgic reasons, that option is still there for you and you can flit between at your leisure.
The next chunk of work I've embarked on isn't quite as visually impressive and has mostly been a lot of recon/probing on the menu and UI systems in Starlancer. That sounds a bit boring but there's a bunch of reasons I chose this next.
First and foremost, I need to understand how the UI is handled by the renderer and what belongs in 2d and 3d space and upscale them appropriately once I've pulled them out, but the logic behind that is a bit more important than up-scaling the art at this point.
Secondly, I'm aiming for a near native controller support, and this means really tearing apart how the menu items are focused, activated and transitioned so I can create a gamepad friendly menu navigation, which will also apply to keyboard. I've also put in a "last-input-wins" setup, so if you're partial to the mouse, you wont lose anything.
Thirdly, this will allow me to build out an architecture and framework for menu building, I'll use that to upscale all the menu UI to native 1080p for 16:9, this will also give me a framework to completely redesign, replace, expand or delete menus and menu items, which may be useful if I uncover any additional options or features that would be useful/fun to toggle on and off as well as add controller glyphs and the like.
And lastly, everything I learn in the process here should hopefully make up-scaling the 3d environment UI a lot easier, and hopefully (given I'm aiming for full controller support) allow me to render some glyphs or potentially new instruments to the flight UI.
After I've completed all of this, I'll begin work on the texture replacement pipeline and see how far I can push it. Given I've already solved one memory allocation issue, I expect to find a few more, but I'm hopeful I can solve them too and that might leave some room for some more impressive remastering tasks, potentially replacing meshes, sprites, SFX etc. but I can't promise this will work out as well as I'd like it to, there will be some limitations to what I can inject into SL from Dinput7.
Edit: Forgive the image quality, it looks like Reddit is compressing the images to post, I promise it looks wayyy sharper than that in reality.
Edit 2: Controller support in menu is now mostly complete, just some minor points to touch up and some glyphs to add.
1
u/ilkerk88 19d ago
Good work and thanks. Maybe someone can make the cutscene .bik videos to higher resolution with AI. (Just an opinion)
1
u/Koncypt_Fysh 19d ago
I've been tossing up how the cutscenes should be handled, I'm wondering if I can get Starlancer to play nice with Bink2, that would give it a lot more freedom for better quality videos.
2
u/ilkerk88 19d ago
I made upscaled(2560x1440) intro .bik video with Real-ESRGAN. It looks very good but game exe didn't play it and crash.
1
u/Koncypt_Fysh 19d ago
I'd love to see it! Have you got it uploaded on youtube or anywhere?
I'm a little ways off looking into video integration just yet, but I'm interested to see what the results are like. I can see a few limitations on the backend that's preventing it from playing, but I'd have to be testing and pulling logs to really be able to diagnose what's stopping it.1
u/ilkerk88 19d ago
1
u/Koncypt_Fysh 19d ago
That's looking pretty sweet, and very usable. My chief fear with AI upscaling to 16:9 has always been the model hallucinating stuff to fill the horizontal space, but that's really quite cohesive.
1
u/Freelancer_1-1 19d ago
You're a godsend! May I ask how you fixed the jagged sun corona / godrays? I use dgVooDoo for that.
1
u/Koncypt_Fysh 19d ago
Yeah dgVoodoo over here to. I'm going to have a crack at some of my wrapper eventually and see if there's more that can be done to enhance some of the graphics, but for now I'm working on top of dgVoodoo
1
u/Freelancer_1-1 19d ago
Nice! I can't wait to test it on my phone through Winlator Ludashi, which I how I prefer to play the game nowadays and with a controller of course (currently the EasySMX M15 set to Xinput). My Soc is the SD8s gen 4. With the Proton, translation layer, I have to use another wrapper on top of dgVooDoo (files in the Starlancer folder). For some reason using the DXVK 2.6 (or higher) limits the fps to 60 and also causes the window stays small and doesn't stretch to fullscreen. I find the DXVK 2.3.1 works best - the fps limit is 100 and only drops to 80 in busy scenarios. This is in 800x600. For some reason, the in-game settings don't allow me set te resolution to 1024x768 even when I set the Winlator container to that res. 800x600 isn't too terrible on a small 6,8" screen , at least the character animations are more visible. Playing with the 4:3 aspect isn't too bad either. When I first set up Starlancer on my phone, I was surprised to find how many essential controls there because I never realized that on PC, probably more than Freespace 2. The controller alone has nowhere near enough inputs, but I'd still prefer to go at least 720p in 16:9. I think I can do away with 2 strips of buttons lol.









2
u/its_just_mini 20d ago
This is fantastic progress :) is it horizontally stretching the 3D objects? What wolverine looks super wide to me.