[Utility] Bigger Windows for SE
|
|
Kalafior | Date: Wednesday, 16.01.2013, 15:56 | Message # 1 |
Observer
Group: Users
Poland
Messages: 10
Status: Offline
| Hello everyone,
I've made a simple program, which allows you to make the SpaceEngine window up to 4x bigger than your screen is. With it you can make high resolution screenshots of your favourite celestial bodies with increased level of detail.
Here's a (not overly beautiful) sample 3600x2700 (LOD2) pic:
It works by changing properties of window itself, so your SE installation is absolutely safe, no backup required. In order to modify the window, the program has to do things which your antivirus might deem evil, but don't worry: it won't harm your PC.
How to use: 1) Unpack both .exe and .dll to the same folder. 2) Run .exe and SpaceEngine (order doesn't matter). 3) ??? 4) PROFIT!
Things you should not do: 1) Run two instances of the program (it'll modify the window two times, which will result in a crash). 2) Run two SpaceEngines (is it possible anyway?) (it'll modify only one of the windows).
So, that's it. If you find any bugs, have any questions or suggestions, post them here. I tested it only on my PC (Windows 7), so I can't guarantee if it works on yours. If not, tell me about it and I'll try to fix it.
Anyway, have fun with it and good luck on your space journeys.
EDIT: I made a similar app which allows you to choose the window to modify. Both can be found in attached archive, along with the source code.
Edited by Kalafior - Wednesday, 13.11.2013, 18:40 |
|
| |
Jabberwockxeno6109 | Date: Wednesday, 16.01.2013, 16:10 | Message # 2 |
Space Pilot
Group: Users
United States
Messages: 85
Status: Offline
| Brilliant!
Can this be adapted for other programs?
Edited by Jabberwockxeno6109 - Wednesday, 16.01.2013, 16:11 |
|
| |
HarbingerDawn | Date: Wednesday, 16.01.2013, 16:55 | Message # 3 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| Wonderful utility, Kalafior! And welcome to the forum.
Quote (Kalafior) (is it possible anyway?) Actually I think it is
*Meant figuratively only, anyone trying to make actual profit from SpaceEngine screenshots without permission of Vladimir Romanyuk will be hunted down by evil prosecution attorneys
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
|
|
| |
Salvo | Date: Wednesday, 16.01.2013, 16:59 | Message # 4 |
Star Engineer
Group: Local Moderators
Italy
Messages: 1400
Status: Offline
| So good for my eyes but not for my FPS
The universe is not required to be in perfect harmony with human ambition.
CPU: Intel Core i7 4770 GPU: ASUS Radeon R9 270 RAM: 8 GBs
(still don't know why everyone is doing this...)
|
|
| |
HarbingerDawn | Date: Wednesday, 16.01.2013, 17:01 | Message # 5 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| Quote (Salvo) So good for my eyes but not for my FPS Higher res = lower FPS, so obviously. This is for people with the hardware that can handle it to get really pretty screenshots.
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
|
|
| |
SolarLiner | Date: Wednesday, 16.01.2013, 18:46 | Message # 6 |
Explorer
Group: Users
France
Messages: 267
Status: Offline
| Quote (Jabberwockxeno6109) Can this be adapted for other programs? Sure it can, just resize the window. This is basically what it does. Oops !Sorry, forgot that I have two screens and I can slide SE window. I apologize. Some little problems when I type the values (my screen is 1920x1080, so 2500x1625 should be correct ? But it puts like 2036x1036) but else thats okay. Pretty amazing job you've done here. In what language you coded it ?
custom landing page to share: http://bit.ly/spaceengine
Edited by SolarLiner - Wednesday, 16.01.2013, 19:01 |
|
| |
Jabberwockxeno6109 | Date: Thursday, 17.01.2013, 14:11 | Message # 7 |
Space Pilot
Group: Users
United States
Messages: 85
Status: Offline
| Quote (SolarLiner) Sure it can, just resize the window. This is basically what it does.
But how exactly would I use this, on say, borderlands 2 or bf3?
|
|
| |
HarbingerDawn | Date: Thursday, 17.01.2013, 14:30 | Message # 8 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| Quote (Jabberwockxeno6109) But how exactly would I use this, on say, borderlands 2 or bf3? In the exact same way you would use it with SE, provided that you are running them in windowed mode.
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
|
|
| |
HarbingerDawn | Date: Thursday, 17.01.2013, 15:31 | Message # 9 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| Quote (Kalafior) Run .exe and SpaceEngine (order doesn't matter) For me, it will not display the "SpaceEngine hooked." message unless I run the utility before running SE. So perhaps order does matter, at least in some cases.
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
|
|
| |
Kalafior | Date: Thursday, 17.01.2013, 16:13 | Message # 10 |
Observer
Group: Users
Poland
Messages: 10
Status: Offline
| Quote (SolarLiner) In what language you coded it ? I used our plain old C++ and standard WinAPI libraries for the job. I spent quite a lot of time making it, due to huge amount of stupid mistakes I made in the code. Still a novice, but learning...
Quote (Jabberwockxeno6109) Can this be adapted for other programs? I think it could be made to work for most programs. I suppose that if its window can be resized by dragging the border, then you could hook it safely - otherwise many unexpected things can happen. I can make a general version of the app where you can choose the window to modify, if you guys want.
Quote (Salvo) So good for my eyes but not for my FPS The pic above was rendering for more than an hour, until my PC ran out of memory for more detailed chunks of landscape (when I checked the debug mode, it said there were about 2000 left). So yes, it's quite CPU-intensive...
Quote (Kalafior) (is it possible anyway?) Quote (HarbingerDawn) Actually I think it is Imagine the PC you'd had to have to run two SpaceEngines at a time...
Quote (SolarLiner) Some little problems when I type the values (my screen is 1920x1080, so 2500x1625 should be correct ? But it puts like 2036x1036) but else thats okay. It should be correct, but somehow it isn't... Hmmm... There are two things that come to my head:
1) The program may cap the values wrong when the window is minimzed; 2) It may have issues with multiple screen display, I'll look into it.
As for now, you can raise the limit even more by using command line parameters - see readme file. If this won't work, then it's more serious than I thought...
Quote (HarbingerDawn) For me, it will not display the "SpaceEngine hooked." message unless I run the utility before running SE. Order shouldn't matter because it checks if the window exists the moment you run the app and then every two seconds after. It should act the same during every cycle. Well, I guess I'll have to look in the code once again...
Oh, and thank you all for the feedback!
Edited by Kalafior - Thursday, 17.01.2013, 16:24 |
|
| |
HarbingerDawn | Date: Thursday, 17.01.2013, 16:32 | Message # 11 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| Quote (Kalafior) It may have issues with multiple screen display, I'll look into it. I have a dual screen setup and had no issues with getting my window set to the specified size.
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
|
|
| |
SolarLiner | Date: Thursday, 17.01.2013, 19:02 | Message # 12 |
Explorer
Group: Users
France
Messages: 267
Status: Offline
| Quote (Kalafior) I used our plain old C++ Quote (Kalafior) Still a novice, but learning... Yep, I am more on VB.NET for apps (but I use C++ sometimes for Orbiter add-on) because it is much simpler and quicker to code for the same program. Anyway, technically what does it do to hook the SE window to somewhat bigger ?
custom landing page to share: http://bit.ly/spaceengine
|
|
| |
Kalafior | Date: Saturday, 19.01.2013, 19:42 | Message # 13 |
Observer
Group: Users
Poland
Messages: 10
Status: Offline
| Windows Hooks is one of components of the system. It allows you to peek system messages sent to a specific thread, mostly for debugging purposes. To "hook a thread" (not a window, sorry for that) means to register a procedure in the hook subsystem, which reacts to those messages one way or another. My procedure listens for a non-system message and when it gets it, it "subclasses" SpaceEngine window. Subclassing is the actual modification of the window, by substitution of the window's message handler procedure with your own.
Hooking has an interesting feature - if you hook a thread that doesn't belong to your process, then registering a hook procedure injects a DLL into the target app! That means if a program creates a visible window, then you can do basically everything with it with the use of hooks (if the antivirus software you have allows you)...
More info here: MSDN: Hooks Overview (Windows) MSDN: Using Window Procedures (Windows)
The things described here are quite low level, I don't know how programming in VB.NET looks like. If you have any questions about them, send me a PM, and I'll try to explain it the best I can .
|
|
| |
UniversalAwareness | Date: Saturday, 09.02.2013, 06:16 | Message # 14 |
Observer
Group: Newbies
United States
Messages: 9
Status: Offline
| When I attempt to change the resolution of SpaceEngine with this program it has the same limit as my monitor (e.g. I enter 2000 x2000, and the input boxes reset to the native resolution of my monitor. I've attempted this in both windowed and full-screen mode. Any thoughts, any hints on what might be going incorrectly?
Edit: I noticed after some playing that I needed to take SpaceEngine out of fullscreen mode and ensure that it was not "docked" or resized by windows, it had to be moving freely around the window before I could set it.
4K resolution looks amazing!!!
Edit 2: I found a utility that will allow you to navigate a virtual screen that is infinitely large. So even if you're recording at resolutions greater than what your screen can display, you can still look around to different parts of the screen. http://ynea.futureware.at/cgi-bin/infinite_screen.pl
Edited by UniversalAwareness - Saturday, 09.02.2013, 06:46 |
|
| |
Freak2121 | Date: Saturday, 09.02.2013, 10:12 | Message # 15 |
Space Pilot
Group: Users
Canada
Messages: 89
Status: Offline
| This is wonderful for getting 8K and 4K screenshots. I can only imagine what they would look like on such a display.
Intel Core i5 @ 4.534GHz 8GBs of DDR3 RAM @ 1600mhz EVGA GTX970 SSC Windows 7 64-bit
|
|
| |