Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[macOS] Data files not found in sub-folders #795

Closed
MLipfert1 opened this issue Jul 10, 2022 · 10 comments
Closed

[macOS] Data files not found in sub-folders #795

MLipfert1 opened this issue Jul 10, 2022 · 10 comments
Labels
help wanted Extra attention is needed standalone Only affects Standalone builds

Comments

@MLipfert1
Copy link
Contributor

I installed all required data files for RA and TD as explained in the corresponding Wiki articles. The source were the retail discs for the main games and the extensions.

When I start VanillaRA, the main menu appears and I am able to select one of the campaigns. However, after choosing the difficulty level, the game exits to the desktop. VanillaTD shows a similar behavior: It does not exit, but it shows a message box, saying the data files are not available.

I figured out, that the games are not able to load the mix files from sub-folders inside the data folders. When I move the main.mix file from the RA allies-CD beside the redalert.mix, then I am able to load the allies campaign without issues. All sub-folders are named exactly as specified in the Wiki.

I reproduced this issue on two ARM-based Macs with macOS 12.4 by using the development snapshot builds (Intel-only, running with Rosetta 2) and by using universal binaries, which I compiled myself.

@OmniBlade
Copy link
Contributor

The game will choose between 3 possible locations when looking for the data, where did you place the data files? Unfortunately none of the main devs have a system running macOS to debug this, most of the macOS specific code was written blind so we are currently relying on people such as yourself to help us debug it. Can you try and run the game from the command line interface and capture some debug logging from a debug build?

@OmniBlade OmniBlade added help wanted Extra attention is needed standalone Only affects Standalone builds labels Jul 10, 2022
@MLipfert1
Copy link
Contributor Author

The data files are places inside /Users/mlipfert/Library/Application Support/Vanilla-Conquer/vanillara:

image

The main.mix files in the respective sub-folders.

Running VanillaRA (release build) from the command line and running into the crash results only in "zsh: trace trap /Applications/VanillaRA.app/Contents/MacOS/vanillara". But I have attached a crash report that appeared also. I hope this helps.

Maybe I can also find some time to debug it myself in the next days. Would be really nice to have fully working RA and TD builds for macOS. ;-)

Debug log:
debugInfo.txt

@MLipfert1
Copy link
Contributor Author

I was able to create a Xcode project via cmake and I immediately started a short debug session. The problem seems to be the "vol.Is_Directory()" call in redalert/conquer.cpp, line 3885. It always returns false. When I find some time, I will dive deeper into it and try to fix it (without breaking the directory detection for other operation systems I hope :-) ).

@MLipfert1
Copy link
Contributor Author

After one hour of debugging with Xcode, I was able to find the culprit. Now I will prepare a bug fix and create a pull request very soon.

@OmniBlade
Copy link
Contributor

There is a bug in CDFileClass that means a lot of the complication you added shouldn't be neccessary, the idea is that you shouldn't need a specifc path for the save games though, it should always be whatever got set to the UserData folder. See #715 for some of the changes which might fix your save issues with less code changes.

@OmniBlade
Copy link
Contributor

7313be7 is the commit that fixes the bug.

@MLipfert1
Copy link
Contributor Author

I will try your changes. If they may improve my code, should I take your commits to my branch that is connected to my pull request or do you want to approve your own pull request before?

@OmniBlade
Copy link
Contributor

Cherry pick the commits into your branch if you wish, the pipe/straw stuff still needs reviewing by someone else but I don't think the save/load dialog changes or the CDFileClass fix are that controversial.

@MLipfert1
Copy link
Contributor Author

MLipfert1 commented Jul 22, 2022

I have updated my branch and the PR #801. The two uncritical commits from you are part of it and I removed my savegame related commit as it is absolutely not necessary for RA anymore. Saving and loading works like a charm and even bug #819 is fixed with that. However the savegame system of TD is not working as expected, as it requires also your third commit.

In my opinion, we should go for my updated branch and bring it to the main branch. Then we should test your third commit thoroughly and pull that at a later stage also to the main branch, in order to have a fully working save / load system and also a working macOS version on the main branch. :-)

@MLipfert1
Copy link
Contributor Author

This issue is finally solved by the latest commits on the main branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed standalone Only affects Standalone builds
Projects
None yet
Development

No branches or pull requests

2 participants