Giter Site home page Giter Site logo

olympus's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

olympus's Issues

[Suggestion] A way to activate a group of mods, or a preset combination.

I always have a small group of mods that I use, and then maps on top of those. However, not all the maps use the same dependencies, so I tend to accrue dependencies that I don't need in the blacklist. I wrote an AHK script (Repo: Everest Presets) to fix this, but I think something similar would be a very useful addition into the base app. (Maybe the ability to put mods into folders and toggle a whole folder or individual mods within it?)

Alternatively, some way to differentiate between manually enabled mods and dependencies, so that the dependency list is always updated at the end, instead of live would also solve the issue.

I'd love to help and contribute come code or ideas if I can!

Feature request: Mod profiles

It can be pretty annoying to manage mods sometimes and it can be hard to remember what mods need to be loaded.
Mod profiles would be a pretty good solution for consistent game sessions no matter what you're doing.

I would really like to know what is involved in making this happen.

[Crash] Olympus crash when I launch it

When I launch Olympus it freeze and then after about 3 seconds it crashes, I rebooted, reinstalled Olympus and .NET Runtime, but it still crashes.

log.txt is empty and log-launcher.txt isn't rewritten but I still upload it as the last time it was written was yesterday with the same crash
log-launcher.txt
log-sharp.txt

Auto close after mod install

There should be a way to have Olympus close automatically after installing a mod. It can be a pain to download a lot of mods then have to close every individual window after the mod downloads

Linux: Unending scanning and `sharp.lua:133: assertion failed!`

I'm the 12-th linux user trying to use olympus on Arch Linux with steam celeste installation, but it doesn't seem to work. When I run it, it just stucks in the "Scanning..." state. Using "Manually select Celeste.exe" doesn't help either. Here are the logs:

stdout log

; ./olympus
pre-initializing
cwd:	/home/waffle/Downloads/dist
src:	/home/waffle/Downloads/dist
storageDir:	/home/waffle/.config/Olympus
pre-initialized
love2d version	11.3.0.Mysterious Mysteries
SDL2 version	2.0.10
Olympus version	21.07.23.02-azure-2253-954da
[sharp init]	starting thread
[sharp init]	starting subprocess	/home/waffle/Downloads/dist/sharp/Olympus.Sharp.bin.x86_64	8400	nil
[sharp init]	logging to	/home/waffle/.config/Olympus/log-sharp.txt
[sharp init]	reading init
[sharpthread error]	sharp.lua:133: assertion failed!
stack traceback:
	[C]: in function 'assert'
	sharp.lua:133: in function <sharp.lua:28>
	[C]: in function 'xpcall'
	sharp.lua:28: in function 'fun'
	string:33: in function <string:32>
	[C]: in function 'xpcall'
	string:31: in main chunk
[finder]	steam root	/home/waffle/.local/share/Steam	<same>
[finder]	steam common	/home/waffle/.local/share/Steam/steamapps/common
[finder]	steam common	/home/waffle/steam/steamapps/common
[finder]	steam additional library	/home/waffle/steam/steamapps/common
[finder]	steam install	/home/waffle/.local/share/Steam/steamapps/common/Celeste
[finder]	steam root	/home/waffle/.local/share/Steam	<same>
[finder]	itch db	/home/waffle/.config/itch/db/butler.db	false
[finder]	lutris db	/home/waffle/.local/share/lutris/pga.db	<same>
[finder]	lutris root	/home/waffle/.config/lutris	<same>
[finder]	legendary root	/home/waffle/.config/legendary	false

`log-sharp.txt`

/home/waffle/Downloads/dist
FATAL ERROR
System.TypeInitializationException: The type initializer for 'System.Net.ServicePointManager' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Error Initializing the configuration system. ---> System.Configuration.ConfigurationErrorsException: Unrecognized configuration section <startup> (/home/waffle/Downloads/dist/sharp/Olympus.Sharp.exe.config line 3)
  at System.Configuration.ConfigInfo.ThrowException (System.String text, System.Xml.XmlReader reader) [0x00007] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.SectionGroupInfo.ReadContent (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed, System.Boolean root) [0x00135] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.SectionGroupInfo.ReadRootData (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed) [0x00007] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration.ReadConfigFile (System.Xml.XmlReader reader, System.String fileName) [0x000ce] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration.Load () [0x00043] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration.Init (System.Configuration.Internal.IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x0005d] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00056] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x0000d] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ConfigurationManager.OpenExeConfigurationInternal (System.Configuration.ConfigurationUserLevel userLevel, System.Reflection.Assembly calling_assembly, System.String exePath) [0x000ef] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x0000e] in <1e6a1e890ba741b38804396a1899ecf8>:0
   --- End of inner exception stack trace ---
  at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x0002a] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00005] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Net.ServicePointManager..cctor () [0x0003c] in <32fc020d7373456995b3d44fa885e01a>:0
   --- End of inner exception stack trace ---
  at Olympus.Program.Main (System.String[] args) [0x0013c] in <ed9d8567279b4b6c8462b4649eed87fc>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Net.ServicePointManager' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Error Initializing the configuration system. ---> System.Configuration.ConfigurationErrorsException: Unrecognized configuration section <startup> (/home/waffle/Downloads/dist/sharp/Olympus.Sharp.exe.config line 3)
  at System.Configuration.ConfigInfo.ThrowException (System.String text, System.Xml.XmlReader reader) [0x00007] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.SectionGroupInfo.ReadContent (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed, System.Boolean root) [0x00135] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.SectionGroupInfo.ReadRootData (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed) [0x00007] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration.ReadConfigFile (System.Xml.XmlReader reader, System.String fileName) [0x000ce] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration.Load () [0x00043] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration.Init (System.Configuration.Internal.IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x0005d] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00056] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x0000d] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ConfigurationManager.OpenExeConfigurationInternal (System.Configuration.ConfigurationUserLevel userLevel, System.Reflection.Assembly calling_assembly, System.String exePath) [0x000ef] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x0000e] in <1e6a1e890ba741b38804396a1899ecf8>:0
   --- End of inner exception stack trace ---
  at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x0002a] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00005] in <1e6a1e890ba741b38804396a1899ecf8>:0
  at System.Net.ServicePointManager..cctor () [0x0003c] in <32fc020d7373456995b3d44fa885e01a>:0
   --- End of inner exception stack trace ---
  at Olympus.Program.Main (System.String[] args) [0x0013c] in <ed9d8567279b4b6c8462b4649eed87fc>:0

Olympus white screen issue when / after installing

I've already left a report in the discord server, but I felt like I might as well publish one here. I just bought celeste, and a friend told me there was an online mod. He installed Olympus and it went perfect. When I tried though, this image:
image
popped up, and then Olympus opened, but it remained in a white screen for about two seconds before closing. I've tried disabling my firewall, I did open Celeste before trying to install Olympus (I saw it was a common issue), I tried swapping between wifi and cable, I tried removing the Olympus folders that were created in AppData.

Thank you in advance for the help!

And also, the error message in the log file is in Spanish, sorry!
log-sharp.txt
!

[Suggestion] Ship flatpak

I saw on the website that under Linux it mentions:

Pray to dependency satan.

So I decided to make a flatpak for Olympus to solve that.

Here's the YAML:
https://gist.github.com/GeopJr/db90a21346322283a4665bc9f9ec422b

Due to the nature of flatpaks (being sandboxed), I faced some issues with Olympus:

  • finder is not able to detect any installations because it first checks XDG_CONFIG_HOME which points to /home/geopjr/.var/app/io.github.EverestAPI.Olympus/config and not HOME which points to /home/geopjr

(Following shell is inside the sandbox)

[📦 io.github.EverestAPI.Olympus]$ echo $XDG_CONFIG_HOME
/home/geopjr/.var/app/io.github.EverestAPI.Olympus/config
[📦 io.github.EverestAPI.Olympus]$ echo $HOME
/home/geopjr
And here's the log [finder] itch db /home/geopjr/.var/app/io.github.EverestAPI.Olympus/config/itch/db/butler.db false
[finder] lutris db /home/geopjr/.local/share/lutris/pga.db <same>
[finder] lutris root /home/geopjr/.var/app/io.github.EverestAPI.Olympus/config/lutris false
[finder] legendary root /home/geopjr/.var/app/io.github.EverestAPI.Olympus/config/legendary false
  • Can't disable the auto-updater. As mentioned in https://github.com/EverestAPI/Olympus/blob/main/src/updater.lua#L19, the auto updater gets disabled when the source is not rw or owner doesn't match user(?), neither of which was I able to achieve inside the flatpak (rw is required else it can't be installed, chown errors with the file as invalid argument (I believe this is because the files are treated or are symlinks)). The updater fails on install anyway.

  • Extra data can't be downloaded (no write access) however I can include them in the flatpak.

  • There's a warning on start about Olympus not being installed properly (caused by this function). Which again due to the nature of flatpaks, xdg-mime can't access the mimetypes file. However it doesn't seem to be needed at all since the .desktop file handles it well: (Firefox, prompts to open in the Olympus flatpak)
    Screenshot of firefox showing the scheme working

Info:

Please treat this as a suggestion rather than a bug report as none of the bugs listed actually affect the project directly.
I understand that this puts additional work on the project if maintained officially and closing this issue/declining would be reasonable.

From my testing of the flatpak, I didn't notice anything not working other than what's mentioned above, but I'll list the critical features (that work):

  • Selecting the game executable manually
  • Installing Everest
  • Starting the game from Olympus
  • Uninstalling Everest
  • GameBanana API + downloading and installing mods
  • Removing mods
  • Installing Julia & Ahorn
  • Map Editor

The flatpak also builds xdg-utils, which is not needed as xdg-mime doesn't work as expected in the sandbox, and was added mostly to get rid of the warn xdg-mime not found on start. Possibly useless.

I wouldn't mind maintaining the flatpak unofficially (I will probably need to build from source however, instead using the binary, so the flatpak automatically patches the above mentioned "bugs").

(By the way, to test the flatpak use flatpak-builder ./build ./io.github.EverestAPI.Olympus.yaml --force-clean --install --user)

PS

While writing this issue, I noticed that building luajit and love from source was not needed, so I commented them out. But maybe a flatpak could actually solve this dependency mess and replace shipping with those bins.

Minimum/maximum supported dotnet version for sharp

I have found that sharp builds successfully on dotnet 5.0, which is EOL. On 6.0, the current LTS, the build fails with the following errors:

       > /build/source/sharp/Olympus.Sharp.csproj : error NU1102: Unable to find package Microsoft.NETFramework.ReferenceAssemblies with version (>= 1.0.2)
       > /build/source/sharp/Olympus.Sharp.csproj : error NU1102:   - Found 1 version(s) in nugetSource [ Nearest version: 1.0.0 ]

I'm not that much of a dotnet person, but the csproj mentions requiring net452, which I assume is dotnet 4.5.2. Is this the current state of affairs or am I just doing something wrong? I had to put in some extra work to support 5.0 as it is EOL and has been removed from nixpkgs.

There is a conflict with local installed lua

I'm on Windows 11, I just tried to install olympus from gamebanana normally but there was a strange bug that leaving Olympus screen blank white and not responding, I tried to delete AppData/Roaming/Olympus and AppData/Local/Olympus but It didn't worked. I tried to log olympus with running main.exe file in AppData/Roaming/Olympus with --console and I see olympus was trying to use my local installed lua.

pre-initializing
cwd:    C:\Users\dahil\AppData\Roaming\Olympus
src:    C:\Users\dahil\AppData\Roaming\Olympus
storageDir:     C:\Users\dahil\AppData\Local\Olympus
Failed loading lsqlite3
module 'lsqlite3' not found:
        no field package.preload['lsqlite3']
        no 'lsqlite3' in LOVE game directories.
        no file 'lsqlite3' in LOVE paths.
        no file 'C:\Users\dahil\scoop\apps\lua\current'
        no file 'C:\Users\dahil\scoop\apps\lua\current'
Failed loading lsqlite3complete
module 'lsqlite3complete' not found:
        no field package.preload['lsqlite3complete']
        no 'lsqlite3complete' in LOVE game directories.
        no file 'lsqlite3complete' in LOVE paths.
        no file 'C:\Users\dahil\scoop\apps\lua\current'
        no file 'C:\Users\dahil\scoop\apps\lua\current'
[finder]        found Celeste.exe root  D:\SteamLibrary\steamapps\common\Celeste
[finder]        found Celeste.exe root  D:\SteamLibrary\steamapps\common\Celeste
pre-initialized
love2d version  11.3.0.Mysterious Mysteries
SDL2 version    2.0.10
Olympus version 22.02.02.02-azure-2551-f63af
[sharp init]    starting thread
[sharpthread error]     sharp.lua:36: module 'subprocess' not found:
        no field package.preload['subprocess']
        no 'subprocess' in LOVE game directories.
        no file 'subprocess' in LOVE paths.
        no file 'C:\Users\dahil\scoop\apps\lua\current'
        no file 'C:\Users\dahil\scoop\apps\lua\current'
stack traceback:
        [C]: in function 'require'
        sharp.lua:36: in function <sharp.lua:28>
        [C]: in function 'xpcall'
        sharp.lua:28: in function 'fun'
        string:33: in function <string:32>
        [C]: in function 'xpcall'
        string:31: in main chunk
Failed loading lsqlite3
module 'lsqlite3' not found:
        no field package.preload['lsqlite3']
        no 'lsqlite3' in LOVE game directories.
        no file 'lsqlite3' in LOVE paths.
        no file 'C:\Users\dahil\scoop\apps\lua\current'
        no file 'C:\Users\dahil\scoop\apps\lua\current'
Failed loading lsqlite3complete
module 'lsqlite3complete' not found:
        no field package.preload['lsqlite3complete']
        no 'lsqlite3complete' in LOVE game directories.
        no file 'lsqlite3complete' in LOVE paths.
        no file 'C:\Users\dahil\scoop\apps\lua\current'
        no file 'C:\Users\dahil\scoop\apps\lua\current'

I removed lua from path and Olympus is working right now.

I think olympus should use own lua rather than my local lua, is that a bug?

[Enhancement] In-launcher live log view

It'd be nice if there was a way to view the game's log.txt from inside Olympus, and see it updating instantaneously (or near instantaneously) whenever the file is written to.


imma be real i spent like 7 hours trying to get this to work so i could make a PR but i just couldn't figure out the UI workings, like i got the whole log thing functional but it wasn't displaying properly and

Olympus crash when start on windows 10

Olympus crash with this error message

Error

threader.lua:544: thread#6>sharp.lua:370<modinstaller.lua:27 not running!


Traceback

[C]: in function 'error'
threader.lua:37: in function 'update'
threader.lua:544: in function 'update'
main.lua:625: in function 'update'
main.lua:76: in function <main.lua:73>
[C]: in function 'xpcall'

Outdated GitHub releases

For context, I am trying to package Olympus using the Nix package manager. The lastest release is from 2021. Are builds not being tagged anymore? How do I find the latest release version? If the lastest release is the tip of main, how do I find what version that corresponds to?

Thanks

Unable to launch Olympus

It used to be fine on my computer and started since I upgraded to Windows pro

Error

threader.lua:544: thread#6>sharp.lua:370<modinstaller.lua:33 not running!


Traceback

[C]: in function 'error'
threader.lua:37: in function 'update'
threader.lua:544: in function 'update'
main.lua:625: in function 'update'
main.lua:76: in function <main.lua:73>
[C]: in function 'xpcall'

Error on trying to install mods

When I go into the "install mods" menu, it loads for a few seconds and then crashes, displaying this error:

Error

threader.lua:544: thread#33<scenes/mainmenu.lua:130 not running!


Traceback

[C]: in function 'error'
threader.lua:37: in function 'update'
threader.lua:544: in function 'update'
main.lua:707: in function 'update'
main.lua:102: in function <main.lua:99>
[C]: in function 'xpcall'

are there any fixes for this? I'm happy to help contribute a PR if anyone might have suggestions for fixes 👀

thanks in advance!

Typing in search bar

Sometime, when typing in search bar, the cursor would would to the front of the first character after typing it.
For example, typying "abcdef" would become "bcdefa" in the search bar

[Linux] HiDPI scaling support

I use olympus on my laptop that needs 175% scaling for it's built in screen, and since it doesn't support scaling everything is super tiny

Setup guide-through

Goals

the aim of this proposal is to help new users get Everest set up quickly

Implementation

I imagine, this thing could be well implemented with prompts.

In the examples below, prompts are denoted by the grey "quotes", and buttons are in brackets.

If there is no Celeste installation added

A) no Celeste installation found

Choose Celeste installation folder
Olympus could not automatically detect your Celeste installation folder. Please choose it manually
[Cancel] [Browse]

B) one Celeste installation found

Celeste installation found
C:\Program Files\Celeste\
[Change] [Ok]

C) multiple installations are found

Choose Celeste installation(s)
Olympus found multiple instances of Celeste. Please choose one or more installations or add other ones
[Cancel] [Ok]

[Ok] redirects to the Install Manager

An installation is added, but Everest not installed

Install Everest
In order to install mods for Celeste, you have to install Everest for your installation
[Cancel] [Install]

Can't open log and config folder from within Olympus / Can't update

OS: Windows 10
Olympus: 21.01.28.11
Celeste: v1.4.0.0 / 1.3.1.2 (Tested with both versions)

I got a fresh installation from game banana. (olympus_cea7e.exe).

  1. Open Olympus
  2. "New version avalible. Install?"
  3. Install
  4. Wait
  5. Click "Restart"
  6. Olympus restarts, and it (in the options menu) it shows it has updated itself to the latest version
  7. Manually restart (close & open it again) Olympus
  8. Olympus is now the version it was before the update

When I try to open the "Log and Config" folder from within the options menu, I just get a small red "ERROR" on the corner.

This may or may not be related to the fact that my windows username folder ( %USERNAME% ) contains spaces, and accents (á for example)

Any help would be much apreciated

Button to open Ahorn config folder

Add a button to the Ahorn menu as an easy way for users to open the Ahorn config folder (located at %LocalAppData%/Ahorn on windows).

Set FNA env vars or cmdline args in GUI

I want to use OpenGL which can be set via the command line as /gldevice:OpenGL. How can I set this in Olympus so when I click Everest it uses that command line argument?

[M1] [regression] Olympus crash from defaulting to wrong architecture

TLDR: After a recent update (the one that upgraded the bundled LOVE binary to 11.4), Olympus seems to crash without any error log on my M1 Mac (similarly tested on a friend's). It seems that the issue is that the OS thinks that Olympus.app works with arm64 even though there are various x86_64 dependencies which I suspect is causing the crash. Telling it to explicitly run as arm64 fixes this locally for me, and modifying Info.plist (discussed below) in the azure pipeline seems like it would fix the distributed copy for everyone.

quick fix for anyone who needs it: Right Click Olympus > Get Info > check the Open Using Rosetta box

Setup / Problem

Downloading the latest version of Olympus from this page, which at the time of writing is this yields macos.main.zip which I can unzip to get the macos.main folder. Unzipping macos.main/dist.zip yields Olympus.app as expected. I approved it to the OS security thing so that it'd let me open it.

Opening Olympus.app however cause it to crash instantly, with no logs written to ~/Library/Application\ Support/Olympus and no crash screen, the app just instantly exits a few milliseconds after opening – it doesnt even create the ~/Library/Application\ Support/Olympus folder.

(I tried a bunch of little things that haven't had any effect: deleting Olympus from Application\ Support to make this a fresh install, deleting Celeste (both from Application\ Support and the steam app), uninstalling all system versions of Lua and Love2D to make sure that's not interfering.)

This actually didn't used to be a problem, it runs fine on older Olympus versions and I encountered this when autoupdating my Olympus installation. I tracked down the Olympus version where it started happening by trying all the uploaded build versions I could find by looking through https://dev.azure.com/EverestAPI/Olympus/_apis/build/builds/ . It seems to have happened between these two builds:

  • build 3315 (23.05.24.06) works fine from me build log download
  • build 3324 (23.05.25.08) no longer works for me build log download
  • The git diff between these commits is here it seems like the main thing is that LOVE was upgraded to 11.4.

Whats actually happening

After way too much analyzing, I suspect that in the cases where it's crashing, it's accidentally attempting to execute ./love in arm64 mode instead of x86_64 mode (since M1 supports both). The love binary is a universal2 binary so it supports both, but the dependencies packaged with olympus require x86_64. We can explicitly tell it to use x86_64 when calling love and this fixes it.

Proof of concept change showing that this is the issue: replacing ./love --fused olympus.love $@ in the "bundled love" section of olympus.sh with arch -x86_64 ./love --fused olympus.love $@ fixes it.

However really we'd like the whole Olympus.app to know that it should be running as x86_64 in the first place. Looking at the Get Info screen it has an "Open using Rosetta" checkbox option indicating that it thinks that it can be opened with either x86 or arm64 (note that toggling this also fixes the bug, even without the olympus.sh change). This is probably because the Olympus.app/Contents/Info.plist doesn't explicitly specify the architecture to run with, and it must be noticing that the love binary works with either architecture and so it lets you use either and defaults to arm64.

It makes sense that this problem happened when upgrading to LOVE 11.4 since that was when they added apple silicon support and replaced the love binary with a universal2 binary that supports either architecture. Olympus just needs x86 specifically because its various other dependencies are compiled for x86. In a separate, painful, unnecessary tangent I locally recompiled the various .so files for arm64 and that fixed it. However in practice it's probably way easier to just mark Olympus as x86_64 rather than try to actually compile dependencies for both architectures, so I would probably not recommend that.

Solution

To specify the right architecture we can use the plist attribute LSArchitecturePriority

Olympus already does some plist manipulating in the azure pipeline here:

plutil -replace CFBundleShortVersionString -string "$BUILD_BUILDNUMBER" $PLIST

So if PRing this in we could probably just add the new plist modifications right after that. In particular we'd add:

plutil -insert LSArchitecturePriority -array $PLIST
plutil -insert LSArchitecturePriority -string x86_64 -append $PLIST

which tells it that x86_64 is the only valid architecture for this app. After running that locally, Olympus works fine for me and the "Open using Rosetta" option disappears (though you do have to move/copy it somewhere for mac to realize it should remove that option – that shouldnt be needed in the azure pipeline though since it'll take effect when someone freshly downloads the file).

Happy to help out more with debugging this further (here or on celeste discord) and coming up with a PR if people familiar with Olympus are interested. Also happy to potentially help the Olympus devs test other stuff on M1. For reference I have an M1 mac running OS X 12.3.

Thanks Olympus devs for all you do! <3

Olympus hanging when attempting to run in windows 11

I am running a windows 11 machine and when I attempt to open Olympus the application stays black (as in the photo)

Previously it has shown me the "main menu" button in the top left hand corner where it should be but that button has done nothing every time. Now it is JUST black as in the photo.

I asked in the celeste modding discord and a couple others seemed to have a similar issue so I thought I might file it here in case you weren't aware. If there is anything I can do to assist in resolving the problem I'm happy to help!

image

Any idea? Everest/celeste isn't opening.

When I tried to open celeste recently, it hasn't being able to open and shows this error message
image
do you guys have any idea? I can show the entire error log if needed.

Allow display to sleep

Currently Olympus uses the default Löve functionality of forcing the display to remain on. It would be nice to disable this such that I can leave Olympus running and expect the displays to turn off after locking my computer.

From what I can see, this is the required command:
https://love2d.org/wiki/love.window.setDisplaySleepEnabled

I can probably do this myself and make a PR, if it's something you agree on having.

Nonstandard characters from folder path breaks the file searcher

The super common error we keep seeing from mainmenu.lua is an error where Olympus fails to retrieve the given file from a string path containing nonUTF-8 characters. I'm not 100% sure how to fix this but this should be an easy thing to resolve, i think.

Error comes from this point, and has been mentioned fairly frequently in modding help over about a year

Error appears as:
Error

threader.lua:544: thread#3<scenes/mainmenu.lua:246 not running!

Traceback

[C]: in function 'error'
threader.lua:37: in function 'update'
threader.lua:544: in function 'update'
main.lua:625: in function 'update'
main.lua:76: in function main.lua:73

[Linux] Celeste installation is never detected (manual selection does nothing)

I've had Olympus open for about an hour now, and the "Loading" message with the spinny wheel will not go away, and I can't install everest (or do anything) because my installation of Celeste isn't detected.

Except it is detected:

[[main]] pre-initializing
[[main]] cwd: /usr/lib/olympus
[[main]] src: /usr/lib/olympus
[[main]] storageDir: /home/matt/.config/Olympus
[[main]] pre-initialized
[[main]] love2d version 11.4.0.Mysterious Mysteries
[[main]] SDL2 version 2.28.1
[[main]] Olympus version 23.06.06.03
[[thread#0>sharp.lua:16<sharp.lua:502]] [sharp init] starting thread
[[thread#0>sharp.lua:16<sharp.lua:502]] [sharp init] starting subprocess /usr/lib/olympus/sharp/Olympus.Sharp.exe 2879568
[[thread#0>sharp.lua:16<sharp.lua:502]] [sharp init] logging to /home/matt/.config/Olympus/log-sharp.txt
[[thread#0>sharp.lua:16<sharp.lua:502]] [sharp init] reading init
[[thread#0>sharp.lua:16<sharp.lua:502]] [sharp init] read init table: 0x7fe5b03012a0
[[thread#0>sharp.lua:16<sharp.lua:502]] [sharp init] startime 1688609930.7793
[[thread#3<scenes/mainmenu.lua:239]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#3<scenes/mainmenu.lua:239]] [finder] steam common /home/matt/.local/share/Steam/steamapps/common
[[thread#3<scenes/mainmenu.lua:239]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#3<scenes/mainmenu.lua:239]] [finder] itch db /home/matt/.config/itch/db/butler.db false
[[thread#3<scenes/mainmenu.lua:239]] [finder] lutris db /home/matt/.local/share/lutris/pga.db <same>
[[thread#3<scenes/mainmenu.lua:239]] [finder] lutris db install /home/matt/Games/Celeste
[[thread#3<scenes/mainmenu.lua:239]] [finder] lutris root /home/matt/.config/lutris <same>
[[thread#3<scenes/mainmenu.lua:239]] [finder] legendary root /home/matt/.config/legendary <same>
[[thread#50<scenes/mainmenu.lua:239]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#50<scenes/mainmenu.lua:239]] [finder] steam common /home/matt/.local/share/Steam/steamapps/common
[[thread#50<scenes/mainmenu.lua:239]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#50<scenes/mainmenu.lua:239]] [finder] itch db /home/matt/.config/itch/db/butler.db false
[[thread#50<scenes/mainmenu.lua:239]] [finder] lutris db /home/matt/.local/share/lutris/pga.db <same>
[[thread#50<scenes/mainmenu.lua:239]] [finder] lutris db install /home/matt/Games/Celeste
[[thread#50<scenes/mainmenu.lua:239]] [finder] lutris root /home/matt/.config/lutris <same>
[[thread#50<scenes/mainmenu.lua:239]] [finder] legendary root /home/matt/.config/legendary <same>
[[thread#71<scenes/installmanager.lua:335]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#71<scenes/installmanager.lua:335]] [finder] steam common /home/matt/.local/share/Steam/steamapps/common
[[thread#71<scenes/installmanager.lua:335]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#73<scenes/installmanager.lua:316]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#73<scenes/installmanager.lua:316]] [finder] steam common /home/matt/.local/share/Steam/steamapps/common
[[thread#71<scenes/installmanager.lua:335]] [finder] itch db /home/matt/.config/itch/db/butler.db false
[[thread#71<scenes/installmanager.lua:335]] [finder] lutris db /home/matt/.local/share/lutris/pga.db <same>
[[thread#71<scenes/installmanager.lua:335]] [finder] lutris db install /home/matt/Games/Celeste
[[thread#71<scenes/installmanager.lua:335]] [finder] lutris root /home/matt/.config/lutris <same>
[[thread#73<scenes/installmanager.lua:316]] [finder] steam root /home/matt/.local/share/Steam <same>
[[thread#71<scenes/installmanager.lua:335]] [finder] legendary root /home/matt/.config/legendary <same>
[[thread#73<scenes/installmanager.lua:316]] [finder] itch db /home/matt/.config/itch/db/butler.db false
[[thread#73<scenes/installmanager.lua:316]] [finder] lutris db /home/matt/.local/share/lutris/pga.db <same>
[[thread#73<scenes/installmanager.lua:316]] [finder] lutris db install /home/matt/Games/Celeste
[[thread#73<scenes/installmanager.lua:316]] [finder] lutris root /home/matt/.config/lutris <same>
[[thread#73<scenes/installmanager.lua:316]] [finder] legendary root /home/matt/.config/legendary <same>
[[main]] [finder] found Celeste.exe root /home/matt/Games/Celeste
[[thread#76<scenes/installmana

But it never actually stops scanning. Even after I do a manual selection.

stdout also shows it should have been found already:

[finder]	lutris db install	/home/matt/Games/Celeste

Using 23.06.06.03 on Arch Linux.

YAML parser breaks when key starts with underscore

Given a file

foo:
  bar: asdf
  _baz: asdf

The yaml parser will throw the following error:

Error: yaml.lua:268: last term id: 'bar' is not properly dedented, near "_baz: asdf\n"

Removing the _ before baz removes the error.

This is the cause of some crashes on Linux due to the __GL_SHADER_DISK_CACHE env key in Lutris game files.

Can't install Olympus

It works a few months before, Having a long time not play Celeste mods, I clicked the shortcut on my desktop, it yield these errors:

Error

sharp.lua:441: Failed running (Win32RegSet)(main)#1 Win32RegSet: sharp thread died


Traceback

[C]: in function 'error'
sharp.lua:441: in function 'setKey'
modinstaller.lua:21: in function 'register'
main.lua:601: in function 'load'
main.lua:97: in function <main.lua:96>
[C]: in function 'xpcall'
[C]: in function 'xpcall'

And when I try to reinstall Olympus, it doesn't works and install-log.txt shows them:

...
System.TypeInitializationException:   MonoMod.InlineRT.MonoModRulesManager       ͳ ʼֵ 趨       쳣   ---> System.IO.FileNotFoundException: δ ܼ    ļ     򼯡 System.Collections, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a        ijһ       ϵͳ Ҳ   ָ     ļ   
      MonoMod.InlineRT.MonoModRulesManager..cctor()
   ---  ڲ  쳣  ջ   ٵĽ β ---
      MonoMod.InlineRT.MonoModRulesManager.Register(MonoModder self)
      MonoMod.MonoModder..ctor()
      MonoMod.Program.Main(String[] args)

Failed installing 4248 (core)
System.Exception: Return code != 0, but 1
      MonoMod.Installer.Everest.EverestInfo.MiniInstallerProxy.Boot(MiniInstallerBridge bridge)
      MonoMod.Installer.Everest.EverestInfo.MiniInstallerProxy.Boot(MiniInstallerBridge bridge)
      MonoMod.Installer.Everest.EverestInfo.Install(Action`1 progress)
      MonoMod.Installer.GameModder._Install()
      MonoMod.Installer.GameModder.Install()

I reinstalled .NET 7.0 and 6.0 SDK, reinstalled Mono, they seems not work and error messages on install-log.txt are the same.

Constant freezes/crashes on Linux

Olympus keeps hanging while clicking "Download mods". Most of the time it either freezes or crashes due to a segfault or with an error.

Crash log:

Error

threader.lua:544: thread#97<scenes/gamebanana.lua:688 not running!

Traceback

[C]: in function 'error'
threader.lua:37: in function 'update'
threader.lua:544: in function 'update'
main.lua:707: in function 'update'
main.lua:102: in function main.lua:99
[C]: in function 'xpcall'

Segmentation fault log:

[ 163.630185] @string[2212]: segfault at 8 ip 00007fab15215457 sp 00007faa93ffed80 error 4 in libluajit-5.1.so.2[7fab15200000+6e000] likely on CPU 1 (core 1, socket 0)
[ 163.630201] Code: 81 c4 e0 00 00 00 5b c3 0f 1f 00 48 89 df 48 89 74 24 08 e8 1b 70 ff ff 48 8b 74 24 08 eb ac 0f 1f 40 00 41 54 55 49 89 f4 53 <8b> 47 08 48 89 fb 89 d5 8b 70 24 39 70 20 0f 83 9d 00 00 00 48 8b
[ 342.714419] @string[3253]: segfault at 8 ip 00007fd179c15457 sp 00007fd1437fdd80 error 4 in libluajit-5.1.so.2[7fd179c00000+6e000] likely on CPU 0 (core 0, socket 0)
[ 342.714434] Code: 81 c4 e0 00 00 00 5b c3 0f 1f 00 48 89 df 48 89 74 24 08 e8 1b 70 ff ff 48 8b 74 24 08 eb ac 0f 1f 40 00 41 54 55 49 89 f4 53 <8b> 47 08 48 89 fb 89 d5 8b 70 24 39 70 20 0f 83 9d 00 00 00 48 8b

Default graphics too high for low-end devices

I had a friend install Olympus successfully only to have a crash about their GPU having less than 2gbs of memory
We fixed this issue by running it on 640x480 and a couple other compatibility options on windows, and switching the graphics to Low, and turning Gradient off

I think either:
1:Low graphics should be a default
or 2:have the installer check the system's properties for appropriate settings

I don't think logs are needed for this, but let me know if they are so we'd recreate the crash
Setup:
OS: 64-bit Windows 7
GPU:NVIDIA GeForce 210
CPU: Intel Pentium G2030
RAM: 8GB

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.