AemulusModManager
AemulusModManager copied to clipboard
Better support for Linux/Wine
I know this is probably very difficult to deal with, but it would really great if the mod manager worked better when running under Wine. After doing a bit of setup to get WPF programs running at all, Aemulus (5.2.0) actually does launch. Various popups come up navigating the interface, mentioning array index out of bounds errors, but the program doesn't crash. Things seem promising, but often time, crucial functionality doesn't seem to work:
- Trying to build a series of downloaded P3FES mods crashes the program.
- Trying to download and install a P4G mod from GameBanana crashes with the log below (but still appears to have worked okay once relaunched?)
Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at AemulusModManager.Utilities.PackageUpdating.StringConverters.FormatSize(Int64 bytes)
at AemulusModManager.MainWindow.<Refresh>b__60_7()
at System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback)
at AemulusModManager.MainWindow.<Refresh>b__60_0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at AemulusModManager.MainWindow.<Refresh>d__60.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_1(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
02ec:fixme:dbghelp:elf_search_auxv can't find symbol in module
Of course, no such crashes happen on Windows. I don't know whether any of it is actually fixable on your end or not lol. Though, without some kind of workaround, there's almost no way to install mods for Persona games for the fools like me running Linux (or macOS, for that matter).
Is there anything that can be done? Thank you!
There's a lot of refactoring that needs to be done in the code that I haven't gotten to yet. One thing I did was use \ as a directory separator which I know is valid for a folder name in linux so that will probably lead to some issues. Not sure about other errors as I don't currently use Linux on my machine.
You'd think Wine would take care of that kind of thing - that could be relevant but I have my doubts. I'm not super sure what specific things trip Wine up.
If you would like me to test things out in the future, give me a ring!
On linux, Aemulus appears to crash while building, it does so after it finishes compiling it's first flowscript log.txt
Have you found a way to make it work? I've got it crashing due to fontawesome5.imageawesome.icon so it doesn't even go past this error
I would love to see Wine support
would love to see mac support for this mod manager but it seems like thats never gonna happen at this point..
With the Steam Deck being out, I think this might be a little more important now.
There's a lot of refactoring that needs to be done in the code that I haven't gotten to yet. One thing I did was use \ as a directory separator which I know is valid for a folder name in linux so that will probably lead to some issues. Not sure about other errors as I don't currently use Linux on my machine.
I took a look at the code base and I think I can help out with the refactoring. One thing I wasn't sure about is in the FeedGenerator file where to find the documentation for the GameBanana API.
Any updates on this? I don't have any way to run this on Windows and as a result I just can't use mods period
https://github.com/TekkaGB/AemulusModManager/issues/97
Just thought I should link the issue here and the project it's linked with. It's possible to more easily load Aemulus through wine now with this script made by Alexankitty
https://github.com/alexankitty/aemulus-installer-linux/tree/main