Skip to content

Fix Linux issues raised by OoMrFlibble#559

Merged
AnotherCommander merged 21 commits intoOoliteProject:1.92-maintenancefrom
mcarans:1.92-maintenance
Mar 10, 2026
Merged

Fix Linux issues raised by OoMrFlibble#559
AnotherCommander merged 21 commits intoOoliteProject:1.92-maintenancefrom
mcarans:1.92-maintenance

Conversation

@mcarans
Copy link
Contributor

@mcarans mcarans commented Mar 9, 2026

Don't segfault if no network
Smooth resizing
Centred splash screen and main window
Remove Doxygen coverage as it is broken
Restore tabs where I accidentally converted some to spaces before (we should do a big clangformat to convert to a consistent format everywhere as tabs are not in any Objective-C formatting standard and it is a pain to use tabs in a modern IDE)

This should be squashed as I tried many things to get centring to work.

Tested on Linux and Windows (which shouldn't be affected by these changes)

@mcarans mcarans requested a review from AnotherCommander March 9, 2026 23:10
@AnotherCommander
Copy link
Member

Had a quick first look and it seems OK but have not run a functionality test to confirm yet. Will do so later today and get back if there are any issues. In the meantime, two observations:

  • The splash-launcher binary needs to have its source code somewhere within the project's repository, maybe tools? Right now this is a "rogue" binary about to be distributed. Its source can be committed separately and the PR does not need to be held up for that, but I think this is something that needs to be done.
  • Reviewing the PR is more complex than it has to be because of all the lines that are changed but not really changed (e.g. in MyOpenGLView.m, OOOXZManager.m etc.) and has also happened before. Is there anything that can be done about this for future PRs?

@mcarans
Copy link
Contributor Author

mcarans commented Mar 10, 2026

On 1, how about I move the splash launcher repo into OoliteProject?

On 2, this will be resolved by having a clangformat file and doing a one off reformat as described previously. Thereafter, clangformat can be applied automatically using precommit and/or there can be lint checks in GitHub Actions to maintain and enforce format.

@AnotherCommander
Copy link
Member

On 1, how about I move the splash launcher repo into OoliteProject?

Yes, that can be done, or, if this is just a small single-file source, move that source to tools without need to create a new repo just for one file.

@mcarans
Copy link
Contributor Author

mcarans commented Mar 10, 2026

Yes, that can be done, or, if this is just a small single-file source, move that source to tools without need to create a new repo just for one file.

It's one source file, but there's also the meson build file and README.md about using zig to build it. See https://github.com/mcarans/oolite_splash

@AnotherCommander
Copy link
Member

OK, feel free to follow what you think is the cleanest and best option.

First functionality test (under a restricted Windows environment) run and seems good. Will need to run one more test in a vanilla Windows installation without any imposed admin restrictions and then we can merge if all still good.

Outside of the scope of this PR however, I would keep on investigating for a splash / game window centering solution that does not require any external executables for its implementation. Using an entire separate launcher executable just to show a splash seems a bit overkill and I can't think how it can be possible that window management apis for something as trivial as this don't exist in Linux (but I also understand that there is more than one window compositors to take care of in the Linux ecosystem and accept fully that I have no clue about Linux in general so, there :-) ). Just something for future consideration.

@AnotherCommander AnotherCommander merged commit 7ba9e5f into OoliteProject:1.92-maintenance Mar 10, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants