Rework launchers#18847
Conversation
595afac to
2e50269
Compare
2e50269 to
99e425a
Compare
|
Rebased. |
99e425a to
5e699df
Compare
|
Updated. |
abcdefg30
left a comment
There was a problem hiding this comment.
Lgtm and works, but the packaging changes are untested. One thing I did notice is that the error dialogue doesn't always open in the foreground. Is there some sort of setting to do that?
|
The packaging changes (except for the latest revision, but I tested that locally and verified that both the 64 and 32 bit installers work) are tested by the devtest tag, with travis logs at https://travis-ci.com/github/pchote/OpenRA/builds/203989439 I could not find any way to force the error dialog on top. I don't think this is supported in SDL 😞 |
|
https://stackoverflow.com/questions/11512373/findwindow-and-setforegroundwindow-alternatives/12758966#12758966 seems to offer a solution. The crash dialogue seems to retain the name from the exe, so I could get one to the front locally by using "TiberianDawn" as process name. |
|
That won't work because |
|
I tried calling I'm out of ideas, so can't proceed any further with that suggestion/request without help. If anyone wants to try modifying the code to test ideas you can compile the TD launcher with and then copy |
|
The behaviour I mentioned above is explained by this link:
So it sounds like we should be expecting this to fail. |
|
The trick is that the game process needs to grant permission for the launcher to set the foreground window before it crashes. Added a new commit to fix this, which you can test using the msbuild command above. |
ed09e92 to
714cc22
Compare
|
That did the trick, good job. 👍 |
714cc22 to
7ece5f2
Compare
|
Open question: now that the platform launchers link against |
|
If there is no need to ship the generic exe, then we should drop it. |
7ece5f2 to
5f14f93
Compare
|
Ok, done. I also scope creeped in replacing MakeLAA.cs/exe with a python script to remove another change from #17989. New packages will be available from https://github.com/pchote/OpenRA/releases/tag/devtest-20201127-2 |
- Use SDL2 message boxes instead of Winforms. - Use a proper project instead of compiling a single file. - Use assembly attributes instead of modifying strings in the source code. - Remove generic OpenRA.exe launcher. - Replace MakeLAA.exe with a python script.
5f14f93 to
6326e4e
Compare
|
Updated. I also removed the |
This is the third and final PR backporting the project structure changes from #17989 for the playtest.
The first (new) commit splits the OpenRA.exe entry point into its own project, and changes OpenRA.Game to a library.
The second commit overhauls the windows launchers, taking a new approach that i'm surprised nobody considered earlier, using assembly attributes that can be passed to msbuild at compile time to avoid editing source files.
Depends on #18846.Supersedes #18582.
Test builds: https://github.com/pchote/OpenRA/releases/tag/devtest-20201122