Widescreeen Crashes
-
And did you try with JFLP only?
Corrupted ini or wrong encoding? ASCII, ANSI, UTF-8?
Wrong placement of the dll in dacom.ini? (I think it’s not this but that’s just an idea)And also, do you use the modified EXE from The Starport?
It seems that you haven’t change your hardware, so that’s not this… But could you send your rig? Please? Drivers too?
Hard to tell where he problem come from. I have to search a solution tomorrow. It remains really difficult to debug this.
-
I didn’t try with JFLP only, but I did try hudshift without JFLP.
I tried changing the order of the dlls too in dacom.ini.I used the 1.0 no-CD.
I’ll get a chance tomorrow to try FL without either and see if the issue is there still.
I recently wiped and re-installed, so I have the latest drivers. Could be a graphics card driver issue if they have removed legacy methods that are depreciated now.
But I physically can’t go back to 2012 with my graphics card lol.
Like I said I did not experience this issue before, I am pretty sure before though I manually enabled Hudshift, I wasn’t using JFLP patch, I was using Quickfix at the time. I cannot remember experiencing this crash but my memory could be faulty.
I just know that currently, with just Hudshift, I have the issue at hand.
-
Ok, so I have an update, I tested this a bit more thoroughly, joined a vanilla server.
With jflp.dll and hudshift.dll, crashed on either hitting menus after alt tabbing or pressing enter to start chatting.
So now I commented out only hudshift, so I’m sat with higher res but no shifting of UI elements. I just got a crash, literally someone joined the Vanilla server, wanted to say Hi, got CTD.
It seems like its either a bug with JFLP.dll, or its just with FL in larger resolutions, which could relate to a driver issue I suppose as its a Freelancer.exe crash. But it could also be the dll itself.
I’m likely to say its the dll, because the issue doesnt occur in standard resolutions without JFLP, I shall test again at standard resolution and keep JFLP in there in this next test.
There we have it I guess.
The error at this time was:Faulting application name: Freelancer.exe, version: 1.0.1223.11, time stamp: 0x3e401b79
Faulting module name: Freelancer.exe, version: 1.0.1223.11, time stamp: 0x3e401b79
Exception code: 0xc0000005
Fault offset: 0x00018b93
Faulting process id: 0xe6c
Faulting application start time: 0x01d3058c20669a51
Faulting application path: C:\Users\Marky\Desktop\PortableFL\Microsoft Games\Freelancer\EXE\Freelancer.exe
Faulting module path: C:\Users\Marky\Desktop\PortableFL\Microsoft Games\Freelancer\EXE\Freelancer.exeYes and it isn’t portable FL, as when I started having this issue it was with the normal installation, I just moved it to the portable environment so I could test exclusively and keep a seperate playable installation.
-
Ok so just tested at 800x600, with only JFLP.dll added in dacom.ini, issue remains, randomly pressed enter to open chat after an alt-tab, it caused it to crash again.
Faulting application name: Freelancer.exe, version: 1.0.1223.11, time stamp: 0x3e401b79
Faulting module name: Freelancer.exe, version: 1.0.1223.11, time stamp: 0x3e401b79
Exception code: 0xc0000005
Fault offset: 0x00018b47
Faulting process id: 0xeec
Faulting application start time: 0x01d3058d947ecb3b
Faulting application path: C:\Users\Marky\Desktop\PortableFL\Microsoft Games\Freelancer\EXE\Freelancer.exe
Faulting module path: C:\Users\Marky\Desktop\PortableFL\Microsoft Games\Freelancer\EXE\Freelancer.exe
Report Id: 12e3d685-7181-11e7-a6fe-086266340b00 -
Are you using jflp.dll v1.21? The installer only has 1.20 and 1.21 fixed an issue with chat crashing.
-
Chat crashing is the main thing yes. And actually no I just used what came with the patch itself.
Would this relate to the same crashing that occurs sometimes when you press new character, or press quit to main menu etc? It’s the exact same CTD, although happens less often if I’m honest than the chat crash, but is it related?
Can you adjust the website to show it fixes a chat related crash or include it in version 1.20?
-
Ok, so I will test further tonight when I return from work, but thank you for pointing out the fix Adoxa.
Related, the default resolutions seem to be all 4:3 mostly.
Where can these default resolutions be edited? I would like to change the strings so it default to 32bit, remove all the 16bit ones, and indicate aspect ratio.
Also want to include some 16:10 ratios too.
Any problems I’m not thinking of right now with doing that?
-
The resolution strings are built dynamically, so adding aspect ratio will require a patch.
Freelancer actively discourages non-4:3 resolutions - I had to patch it out to get the widescreen desktop resolution to show up.
There’s one list of resolutions (which JFLP replaces), which is made twice with each depth, so adding more resolutions will also require a patch.
Freelancer only tests width, not height, so if you want multiple resolutions with the same width, the last seen will be used - so you’ll need another patch.
Your best bet would probably be to modify [c]Patch_Dimensions[/c] in JFLP to do it all. If you can’t, well, I think you’re out of luck…
-
Ok so looking at your source file for JFLP, I see the below:
static int res_width[] = { 800, 1024, 1152, 1280, 1600 };
static int res_height[] = { 600, 768, 864, 960, 1200 };This is how you correct the resolutions?
Can I just change these and recompile? If so I could use my method with portable FL to detect aspect ratio and build a version for 16:9 and one for 16:10 and just have the appropriate one put in?
Is that a solution?
-
What is it you’re trying to accomplish? JFLP will replace 800x600 with the current desktop resolution (if it’s not already in the list), also using it as default, since that is assumed to be the native monitor resolution and hence the preferred resolution. How do you envisage other resolutions being used? Testing fonts? Multi-monitor setups?
You don’t need separate versions, just do it dynamically, something along the lines of:
static int width4_3[] = { ... }; static int height4_3[] = { ... }; static int width16_9[] = { ... }; static int height16_9[] = { ... }; static int width16_10[] = { ... }; static int height16_10[] = { ... }; int* res_width; int* res_height; ... int ratio = 100 * desktop.right / desktop.bottom; if (ratio == 177) { res_width = width16_9; res_height = height16_9; } else if (ratio == 160) { res_width = width16_10; res_height = height16_10; } else { res_width = width4_3; res_height = height4_3; }
-
adoxa wrote:
What is it you’re trying to accomplish? JFLP will replace 800x600 with the current desktop resolution (if it’s not already in the list), also using it as default, since that is assumed to be the native monitor resolution and hence the preferred resolution. How do you envisage other resolutions being used? Testing fonts? Multi-monitor setups?A number of small but probably minor reasons in your eyes.
My OCD compells me to offer other widescreen resolutions, 720p, 1080p, 1440p, 4k and the equivalent for 16:10.
I am about to enter a phase of this patch where I will be making a lot of tweaks to the UI, as much as is reasonable, including fonts, font sizes etc. Some of the UI elements fill the screen (like the multiplayer server browser for example).
I plan to patch in a decent shader with a suitable profile, so the graphics draw will be a little higher, along with higher resolution textures, providing the option for a lower resolution makes sense with that.
Now you’ve got me curious, as I don’t use a multi-monitor setup, does JFLP account for that and by extension hudshift?
Oh and my method is simply because I lack the programming expertise, I can’t roll off code just like you do. Whilst I get syntax and logic statements easily enough, I can’t program it myself fluently, I take other peoples work and modify it usually, if I understand all the concepts involved.
I considered asking for your help with various things but I get the impression you aren’t into doing anything more for Freelancer projects wise, unless I am misunderstanding. Don’t get me wrong I’m certainly not ungrateful for all you have done for this community, I actually understand and respect that. So I wouldn’t ask.
That little workaround was an easy solution for me, that is all.
-
I plan to patch in a decent shader with a suitable profile, so the graphics draw will be a little higher, along with higher resolution textures, providing the option for a lower resolution makes sense with that.
Fair enough. I’ve attached a new DLL that does it (but note that Freelancer will still only display supported resolutions). I may have the 16:10 values wrong, but that should be easy enough to fix in the binary.
Now you’ve got me curious, as I don’t use a multi-monitor setup, does JFLP account for that and by extension hudshift?
I considered asking for your help with various things but I get the impression you aren’t into doing anything more for Freelancer projects wise, unless I am misunderstanding.
No, my Freelancer days are pretty much behind me, but I’ll still do some little things that take my fancy; unfortunately for you, this isn’t one of them.
-
Eeerrrm, how about a hook version of lancers FL Cargo Exchanger then?
Does that tickle your coding fancies?Incase you don’t remember it or didn’t see it at the time…
It is meant to allow exchange of items based on requirements. Item swapping is a working thing in FLHook as far as I’ve read.
Example:
[base]
name = base that does the exchange, use ‘all’ for all bases (without the ')
[product]
name = descriptive name (unused but required)
credit = main required item for exchange (ie. purchase credit), usually a specialty item
req = additional required items, up to 16 requirements allowed with a minimum of one requirement
out = item that is put in the cargo holdIt currently only works on player logout I believe, we’ve struggled to get it to work properly.
Phase 4 of my plans includes building a server package to include with my patch.
I was planning on using it for a crafting system, i.e; typing /fabricate itemname, as long as you had the required commodities on your inventory, would produce an item.
It also has other more powerful options. I could basically use it to create a basic quest system too for the purpose of expanding on story etc.
Doesn’t even have to be you, anyone who is already familiar with FLHook programming would be awesome, but I suspect there isn’t many of you left.
Oh and thanks for the DLL Adoxa, I muchly appreciate it man.
-
I was planning on using it for a crafting system, i.e; typing /fabricate itemname, as long as you had the required commodities on your inventory, would produce an item.
We’ve all had the idea for a manufacturing plugin, but none of us ever got around to writing it, apparently.
Doesn’t even have to be you, anyone who is already familiar with FLHook programming would be awesome, but I suspect there isn’t many of you left.
I never did MP, so I never became all that familiar with FLHook.
-
Yeah, Azureus in that linked thread was me. I’ve always wanted it. How come no-one has ever got around to it? Seems strange. I suspect someone made it at some stage, but has not shared outside their mod.
Back on topic, which version can I use to compile your jflp source?
-
I use VC6, but any Windows C compiler should work. Hm, vswprintf changed, though, so edit that line to [c]*len += vswprintf( buf + *len, 4096 - *len, value_fmt, args );[/c] and you might like to add [c]#define _CRT_SECURE_NO_WARNINGS[/c] before the other includes. You might also like to remove option [c]/MD[/c], to avoid a CRT dependency (although it’s likely people will have the redistributable already) and there’s no need for the filealign option, as other compilers default to 512 (VC6 defaults to 4096).
-
It turns out I’m not the only one who has this problem.