Widescreen problem
-
For the JFLP update, I’ll be changing it so, for those cases when you don’t have jflp.dll, you’ll still be able to see something. The plan is to have a [JFLP] section with a ratio value as the default, using a second fovx value to override it, thus preserving the original value.
[JFLP] ratio = 0 ; calculate according to current screen dimensions (default) ratio = 16:9 ; calculate explicitly [WinCamera] fovx = 54.432 ; overridden by the presence of [JFLP] fovx = 54.432, 68.878 ; override ratio, always use 16:9 value ```Without jflp.dll, all you'll get is a warning about an unknown camera type.
-
My only problem with the -dx commmand is now that I’ve used it everytime I first start Freelancer the only button available is the launch button. This usually isn’t a problem since you just launch and redock and all the buttons are.
Where this has become a problem is a tried a new mod out (88 flak) and you start out with nothing that can fly so I’m stuck. I can’t launch and redock to fix that and I can’t access the ship menu or equipment menu.
Any ideas? -
-
@Adoxa: I was talking with a server operator about adding widescreen support to his mod, and he liked some of the features of JFLP but the potential problem of a player getting stuck on a base was a show-stopper for him.
It occurred to me that you have keystroke launch in Console, but Console could be used to cheat, so that’s no good for him.
Would you consider adding keystroke launch to JFLP.DLL? That would make JFLP the perfect widescreen tool.
-
Yes, or alt-tab out, change screen resolution to 4:3, launch, then re-set screen resolution.
But the goal here is to add widescreen support to a popular mod, without requiring workarounds.
I have used JFLP.DLL quite a bit, and the only thing it really lacks is the ability to launch via keystroke.
-
I could possibly detect F3 (or whatever you’ve defined Dock to) and make that launch. I’ll give that a go, but it’ll wait till I get back into JFLP. It would be better if the icons were visible in the first place, though, which should already be happening, so why isn’t it? Wrong cameras.ini (fovx needs to be zero for JFLP to calculate the right value, or use jflpac.dll)?
-
Sure, F3 should be fine.
adoxa wrote:
It would be better if the icons were visible in the first place, though, which should already be happening, so why isn’t it? Wrong cameras.ini (fovx needs to be zero for JFLP to calculate the right value, or use jflpac.dll)?Interesting… I thought it was known that the first screen after restoring a save can be missing the top menu, which is what requires a launch in order for JFLP to begin fixing the FOVX?
Otherwise, JFLP does the job perfectly, in all of my, um… “testing”.
Yes, all fovx values in cameras.ini are zero.
I have not tried jflpac.dll, but thanks for reminding me. Is JflpAc installed by adding a line in DaCom.ini as well? Your distribution does not include the source for it, and the only doc I could find is a short paragraph in jflp.txt.
-
If Freelancer starts in widescreen mode, there should be no problem. Changing resolution during play is a different story, since the cameras aren’t updated (only when you’re on a base, it seems; in space is fine, just reload the game/character). Perhaps I can find what it does in space and replicate that on a base, but I’m not sure it’s worth it (how often do you switch resolutions?). At least, that’s what happened when I just tried again, am I still missing something? Step-by-step instructions to replicate the issue could help.
The source to jflpac is included, it’s just /DCAMERA_AC. Use it instead of jflp.dll, not as well. The sole difference is it ignores fovx (and fovy) altogether, always calculating it (jflp.dll lets you override it, that’s why it must be zero).
-
adoxa wrote:
Use [jflpac.dll] instead of jflp.dll, not as well. The sole difference is it ignores fovx (and fovy) altogether, always calculating it.Got it… that’s cool.
I just assumed that the “anti-cheat” in jflpac had something to do with disabling strafe and roll, and I missed the docs so I could never tell for sure. Thanks for the explanation!
As for how to replicate the stuck-on-base issue, sure, I would have given you step by step instructions if I thought that you did not know about it. As I said, I thought it was a known issue, since you have answered questions about it in other threads.
-
Update:
Since the stuck-on-base problem most often occurs when restoring a saved game, it may very well have to do with screen resolution changes. I flip back and forth between windowed mode and full-screen which could contribute to the problem.
A launch key would solve the issue, permanently, for all cases.
Of course, if there is any way to force the initial screen to use the correct settings (after loading a saved game), then that would be even better.
-
Ah, so you’re on a base, loading a save that’s on a base, and so the camera doesn’t get updated. Yeah, I don’t think there’s anything I can do in that situation, so looks like the key will be the way to go. I’ll have to change the keymap, too, I think, so Dock works anywhere, not just in space. Of course, that won’t be an issue for anyone using JFLP proper, but something else I’ll have to keep explaining over and over for just the dll users…
How do you switch between windowed and full-screen? The key in Freelancer is a no-op. ProcyonHook says it does it, but not with just the client, although I didn’t try running a server. It was something else I was going to try to add to JFLP.
-
adoxa wrote:
Ah, so you’re on a base, loading a save that’s on a base, and so the camera doesn’t get updated. Yeah, I don’t think there’s anything I can do in that situation, so looks like the key will be the way to go.Yes! That is exactly the situation. It does not happen often but, when it does, getting off the base is a pain.
I can handle the situation when I am playing, but the topic came up in a discussion about using jflp.dll to add widescreen support to Crossfire. OPR8R wanted a bulletproof solution, and jflp.dll is the closest thing, but this one use case is still an issue. A keystroke was the best idea that I could come up with.
(Personally, I use Console to provide the keystroke(s), but that is no good to distribute with Crossfire because its other features could be used as cheats.)
adoxa wrote:
I’ll have to change the keymap, too,Keymap? Oh, you mean for the SDK/patch (jflp.exe)? Yeah, that is up to you. I was only thinking about jflp.dll. I suppose the keymap would be a good way to manage a keystroke.
adoxa wrote:
How do you switch between windowed and full-screen?Right, I meant in between sessions. Sometimes I load the game fullscreen and sometimes windowed – it depends on what else I am doing at the time.
Oh, one more thing that OPR8R asked about: He believes that the errors suppressed by jflp.dll are real errors that he can reproduce and fix (except for fate disappear). I did not know enough about the errors to discuss them with him. I suggested that he ask you about them directly, but I guess he is too much of a hermit for that!
(PS: This is a current situation – the discussion came up in the context of the Crossfire 1.82 release, which is either in or near test phase. Not to pressure you or anything… I just thought you might like to see jflp.dll used in (another?) major mod. )
-
Keymap? Oh, you mean for the SDK/patch (jflp.exe)? Yeah, that is up to you. I was only thinking about jflp.dll. I suppose the keymap would be a good way to manage a keystroke.
That’s right, DATA\INTERFACE\keymap.ini - move USER_MANEUVER_DOCK from IDR_SPACE to IDR_ALWAYS_PRESENT. I actually quite like the idea of using Dock to launch, so I hope I can pull it off.
Oh, one more thing that OPR8R asked about: He believes that the errors suppressed by jflp.dll are real errors that he can reproduce and fix (except for fate disappear).
Well, if he wants them fixed in JFLP, he should tell me how. As much as you all may think so, I am not omniscient.
-
adoxa wrote:
As much as you all may think so, I am not omniscient.Wait… what?! I don’t believe it!
The error suppression turns out to be moot. I previously suggested that he comment out the error suppression that he doesn’t like. He got somebody else to do that for him (and he neglected to tell me that he did it). Your code is nicely modular, so that is an easy task, thank you.
Apparently the urgency is reduced on the keystroke for launch, as well, although I still think that it would be a convenient solution for jflp.dll users in general.