SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > Silent Hunter III
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 03-27-21, 11:57 AM   #1
Trashcanman980
Nub
 
Join Date: Aug 2020
Posts: 4
Downloads: 18
Uploads: 0
Default A solution to play SH3 (+Megamods) in higher resolution windowed mode!

Hey folks, here's an alternative solution to play SH3 in larger windowed modes pretty quickly.

I have an ultrawide monitor and getting existing resolution tweaks to work with my aspect ratio has been a terrible journey, until now.

If you want to play SH3 in windowed resolutions, the following worked for me.

1.) Get IntegerScaler (https://tanalin.com/en/projects/integer-scaler/)
2.) Place the executables in any directory (IntegerScaler_64bit.exe)
3.) Right click on IntegerScaler_64bit.exe and send to desktop to create a shotcut
4.) Right click that shortcut and add the following to the target depending on your sought size
"-resize <xResolution>x<yResolution> -bg none -ratio 1"

for example, my target is:
"<path to your IntegerScaler program>\IntegerScaler_64bit.exe" -resize 2048x1440 -bg none -ratio 1

*** SEE NOTE 3 at the end on selecting resolution!!***

5.) Use that shortcut to open IntegerScaler (note, a prompt will come up with instructions, the app actually lives in your system tray on the bottom right.

6.) Open SH3

7.) Once in the main menu hit alt-f11.

8.) Enjoy your upscaled window of SH3!

9.) [Optional] You can add an auto.txt file to the directory where you placed IntegerScaler_64bit.exe with a path to SH3 in it. Once you restart IntegerScaler, it will automatically scale SH3 when you open it.

You can now go back and change the target resolution in your shortcut to an upscale you want to enjoy without working about your monitors native aspect ratio messing with your FOV. (though you can still get the stretch is specifying a high aspect ratio resolution so be careful tuning it)

Enjoy!

NOTE: I scanned the integerscaler application with bitdefender and it came back clean from their website.
Also, scaling isn't a higher resolution internally, so as you go higher you'll see more aliasing (pixelation on the edges) but lets be real here, we're playing a game from 2005

NOTE2: Really big thanks to the author who was kind enough to post here.

NOTE3: Please note that resize is not normally something we'd do when using integerscaler, Integer scaling means scaling the original resolution by some integer factor, scaling its size upward. Because Silent Hunter 3 has a hard locked internal (logical) game resolution of 1024x768, scaling it by any factor greater than 1 would result in a resolution larger in the vertical size than most desktop displays are designed to handle natively. (ex: 2 -> 2048x1536)

Consequently, resize will enable us (at the cost of some distortion) to keep the output resolution within the confines of our monitor.

*The greater the delta between your selected resize (especially when asymmetric), and in integer multiple of 1024x768, the more likely you are to see distortion*

Last edited by Trashcanman980; 03-27-21 at 05:16 PM.
Trashcanman980 is offline   Reply With Quote
Old 03-27-21, 12:00 PM   #2
Aktungbby
Gefallen Engel U-666
 
Aktungbby's Avatar
 
Join Date: Jul 2013
Location: On a tilted, overheated, overpopulated spinning mudball on Collision course with Andromeda Galaxy
Posts: 27,870
Downloads: 22
Uploads: 0


Default Welcome aboard!

Trashcanman980!
__________________

"Only two things are infinite; The Universe and human squirrelyness; and I'm not too sure about the Universe"
Aktungbby is online   Reply With Quote
Old 03-27-21, 01:21 PM   #3
FUBAR295
Krusty Krab
 
FUBAR295's Avatar
 
Join Date: Mar 2002
Location: Decks awash in the North Atlantic
Posts: 1,286
Downloads: 442
Uploads: 0
Default

Very interesting ... may check it out.

Good hunting,
FUBAR295
__________________
Good judgment comes from experience. Unfortunately, the experience usually comes from bad judgment.


FUBAR295 is offline   Reply With Quote
Old 03-27-21, 02:48 PM   #4
MT_
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default Likely wrong usage

Hello. I am the author of IntegerScaler.


Would like to note that the `-resize` command-line option is NOT intended for scaling. This is clearly noted on the IntegerScaler webpage.


That option is only for games that have incorrect window size not corresponding to internal game resolution, and also for games that don’t allow to change resolution in windowed mode, but automatically adjust internal resolution according to window size.


Using `-resize` for scaling may easily result in uneven pixel sizes (e.g. 1×1, 1×2, 2×1, 2×2 in the same image) and therefore distortion due to a fractional (non-integer) scaling ratio.


Please do NOT use `-resize` for scaling. IntegerScaler calculates the needed integer scaling ratio automatically for pixel-perfect scaling with uniform pixels. Disabling background and overriding scalig ratio are unneeded too.


Just press Alt+F11, and enjoy. IntegerScaler does the rest. Good luck.
  Reply With Quote
Old 03-27-21, 03:53 PM   #5
Trashcanman980
Nub
 
Join Date: Aug 2020
Posts: 4
Downloads: 18
Uploads: 0
Default

@MT_

Much obliged for your response (and additionally for releasing this tool)
I had missed the red text and the third bullet point of the documentation:

`don’t allow to change in-game resolution in windowed mode` had caught my attention.

I'd like to revise this post, but any attempt to omit the resize parameters results in the application reverting to fullscreen, which I don't want. -resize allowed me to keep it in the window, so I can use the remainder of my desktop space.

Though granted, if I use a resize that isn't an actual integer scale, it will distort.

Is there an additional parameter I'm missing, or perhaps I'm misconfiguring it.
Trashcanman980 is offline   Reply With Quote
Old 03-27-21, 04:11 PM   #6
MT_
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default

Not sure what the issue is. What is your display/desktop resolution? What is the internal (logical) game resolution?

For what it’s worth, given that the game is quite old, the game is most likely not declared as DPI-aware, so for correct scaling, DPI awareness should be manually forced via the executable properties, so that before scaling, one logical game pixel would have exactly the same size as the display’s physical pixel, not affected by Windows DPI scaling. This is described in detail in the “Compatibility with games” → “DPI-awareness” section of the IntegerScaler webpage.
  Reply With Quote
Old 03-27-21, 04:19 PM   #7
Trashcanman980
Nub
 
Join Date: Aug 2020
Posts: 4
Downloads: 18
Uploads: 0
Default

Quote:
Originally Posted by MT_ View Post
Not sure what the issue is. What is your display/desktop resolution? What is the internal (logical) game resolution?

For what it’s worth, given that the game is quite old, the game is most likely not declared as DPI-aware, so for correct scaling, DPI awareness should be manually forced via the executable properties, so that before scaling, one logical game pixel would have exactly the same size as the display’s physical pixel, not affected by Windows DPI scaling. This is described in detail in the “Compatibility with games” → “DPI-awareness” section of the IntegerScaler webpage.

Above all else, thanks for taking the time to respond on this forum.

For some context. SH3 forces an internal resolution of 1024x768 when configured to run in windowed mode.

I've enabled DPI Application control in the compatibility settings.

Integer scaling it up by a factor of 2 would result in a resolution that wouldn't fit in my desktop environment, so my compromise is to resize to 2048x1440 and accept that there will likely be some distortion at the cost of being able to use the other half of my 5120x1440 display. (I should update the original post to be clear)

Does this seem fair or am I abusing your application?
Trashcanman980 is offline   Reply With Quote
Old 03-27-21, 04:37 PM   #8
MT_
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default

No problem. You are free to use IntegerScaler in any way you wish as long as you hopefully clearly understand what and why you are doing.

But in case of a public tip like this, I believe it’s important not to confuse many people reading this thread, as for how to properly use the app. Using resizing for scaling is typically a mistake.

Command-line options are unneeded for basic usage, and those options that prevent actual scaling from happening at all are even somewhat harmful for those who didn’t previously use IntegerScaler.

It’s still unclear what the actual internal game resolution (not default window size) is. Whatever that resolution is, window size before scaling must be equal to it, for integer-ratio scaling to work as intended — with no distortion. So e.g. if the game runs at 1280×720, the game window (its rendering area called client area) must be exactly 1280×720 as well.

If the game is a 3D game, and can be rendered at any resolution, but can’t be due to a limitation in windowed mode, for integer scaling to work just set `-resize` to the desired resolution at least twice lower than your native resolution, then use Alt+F11 in IntegerScaler for 2x upscaling. Of course, the game should adjust its internal resolution according to window size (not each game does this), otherwise distortion would occur.
  Reply With Quote
Old 03-27-21, 04:56 PM   #9
Trashcanman980
Nub
 
Join Date: Aug 2020
Posts: 4
Downloads: 18
Uploads: 0
Default

Quote:
Originally Posted by MT_ View Post
No problem. You are free to use IntegerScaler in any way you wish as long as you hopefully clearly understand what and why you are doing.

But in case of a public tip like this, I believe it’s important not to confuse many people reading this thread, as for how to properly use the app. Using resizing for scaling is typically a mistake.

Command-line options are unneeded for basic usage, and those options that prevent actual scaling from happening at all are even somewhat harmful for those who didn’t previously use IntegerScaler.

It’s still unclear what the actual internal game resolution (not default window size) is. Whatever that resolution is, window size before scaling must be equal to it, for integer-ratio scaling to work as intended — with no distortion. So e.g. if the game runs at 1280×720, the game window (its rendering area called client area) must be exactly 1280×720 as well.

If the game is a 3D game, and can be rendered at any resolution, but can’t be due to a limitation in windowed mode, for integer scaling to work just set `-resize` to the desired resolution at least twice lower than your native resolution, then use Alt+F11 in IntegerScaler for 2x upscaling. Of course, the game should adjust its internal resolution according to window size (not each game does this), otherwise distortion would occur.
You're quite right. I gravitated more toward digestion of non-technically oriented users at the cost of being potentially misleading. I've updated the original post to better reflect rationale.

Thanks again for reaching out and making the tool!

Last edited by Trashcanman980; 03-27-21 at 05:29 PM.
Trashcanman980 is offline   Reply With Quote
Old 03-28-21, 05:18 AM   #10
MT_
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default

You are welcome. I still believe that disabling scaling by forcedly setting the scaling ratio to 1 is totally unneeded here anyway while being potentially harmful for those who tend to blindly copy/paste.

Disabling background is probably unneeded too, but that depends on what the user prefers to see around the game window: pseudo-full-screen black bars or Windows-desktop parts instead of black bars. Note that black bars don’t have to be black — their color can be changed via the `-bg` command-line option.
  Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 04:47 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.