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 Automated Builds #35

Open
MikuAuahDark opened this issue Aug 6, 2023 · 8 comments
Open

macOS Automated Builds #35

MikuAuahDark opened this issue Aug 6, 2023 · 8 comments

Comments

@MikuAuahDark
Copy link
Collaborator

Starting from bb3bd9c (master branch) and 22e5188 (over_the_rainbow branch), GitHub Actions automatically creates build of the game on each commit.

However, it only build Windows binaries and Linux AppImages for now (and Android coming soon; all of them 64-bit only). LOVE itself has automated macOS build however LS2 needs certain libraries to work optimally hence the macOS workflow steps is commented out.

If anyone has experience dealing with macOS, please let me know so we can discuss things further.

@louy2
Copy link

louy2 commented Nov 15, 2023

would like to help

@MikuAuahDark
Copy link
Collaborator Author

Sure, feel free to submit PR for it.

@louy2
Copy link

louy2 commented Jan 30, 2024

As a beginning, building ls2x with CMake generated Xcode project gives a ls2xlib.so. Putting that ls2xlib.so in the simulator directory, and love . to run the simulator, runs fine and gives no "ls2xlib module not found" error. Will go on to try to build ls2x on Github Action macOS runner.

@MikuAuahDark
Copy link
Collaborator Author

What about putting ls2xlib.so in the LS2 save directory?

@louy2
Copy link

louy2 commented Jan 30, 2024

Love2D has a default list of directories it searches for .so files, listed on launch, shown below. If ls2xlib.so is put in the LS2 save directory, I need to find a way to tell Love2D how to find it. Where is the LS2 save directory btw?

warning: no features.
module 'ls2xlib' not found:
	no field package.preload['ls2xlib']
	no 'ls2xlib' in LOVE game directories.
	no file 'ls2xlib' in LOVE paths.
	no file './ls2xlib.lua'
	no file '/usr/local/share/luajit-2.1/ls2xlib.lua'
	no file '/usr/local/share/lua/5.1/ls2xlib.lua'
	no file '/usr/local/share/lua/5.1/ls2xlib/init.lua'
	no file './ls2xlib.so'
	no file '/usr/local/lib/lua/5.1/ls2xlib.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'

@MikuAuahDark
Copy link
Collaborator Author

MikuAuahDark commented Jan 30, 2024

The save directory can be found in Settings -> System Information -> R/W Directory. LOVE itself also has its own C module loader with its own search paths controlled using love.filesystem.get/setCRequirePath.

@louy2
Copy link

louy2 commented Jan 30, 2024

I see.

I also had misunderstandings. I thought zipping up the repo with the ls2xlib.so file would work, but it seems './ls2xlib.so' is relative to pwd not to the root directory, because the warning still shows when I love livesim2.love.

That said, when I try Autoplaying some beatmaps it does not seem affected. What exactly does ls2x do? Are there test cases I can run to cover more ground?

@MikuAuahDark
Copy link
Collaborator Author

ls2x is required to export your beatmap to video.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants