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

Set of Taylor changes #16

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open

Set of Taylor changes #16

wants to merge 17 commits into from

Conversation

awfulcooking
Copy link

@awfulcooking awfulcooking commented Apr 28, 2023

Hey. These changes came about when hacking to make #17 .

See the commits for details..

Hopefully some are useful.

@HellRok
Copy link
Owner

HellRok commented Apr 29, 2023

This is amazing, thank you for doing this! I won't have a chance to get this merged until early June but I'm very keen to.

I am curious how you found the experience of developing Taylor as I think you're probably the first person other than me to have a crack.

@awfulcooking
Copy link
Author

Hey, no worries. I found it tricky to get everything compiled right. I see the Docker based automation but I didn't have resources (mainly disk space) to use it, so was compiling directly on my Debian 11 system.

I got there in the end, but had to change some compiler arguments. And I think I may have changed the mruby-require implementation to one that offers the $" (usually aliased to $LOADED_FEATURES - the files that have been required) variable.

Other than that it's quite a pleasant experience and it's nice to see the C++ code I would have found difficult to write, there and working, and cross-platform.

Raylib is an attractive microlibrary to build on

I do have some API ideas that might differ. For instance, to add the Ruby methods to modules organised by their task:

Display.get_resolution rather than get_display_resolution, etc

But it would be okay to coexist and still help each other, if we don't find whole agreement!

@HellRok
Copy link
Owner

HellRok commented Apr 29, 2023

I'm glad you managed to get it working! And yeah, the annoyance of getting it working on a local machine was the inspiration behind the docker based workflow.

I see you also commented on #11 so you know that I do plan to clean up the global namespace, I just want to get the shaders implemented before I do the big namespace cleanup and remove as much as physically possible from it.

- Doesn't need ".rb" suffix on filenames, like normal Ruby
- Tracks loaded files in $" array, useful for code reloading
Getting conflicting symbol error on Linux, Windows and Darwin too.
Worked around the conflicting symbol issue from mruby-uri-parser
`configure` no longer autodetects when we want to cross-compile, instead, --host / --build must be passed.
Next, it was figuring an incorrect path for the `ar` binary. So we set conf.archiver.command.
- Using `rake docker:build:mruby`
- This has updated mruby to version 3.2
@awfulcooking
Copy link
Author

Hey, mostly just housekeeping. Added the gem changes to the build config for all platforms, then did a full rebuild using Docker.

I'd squash / elide some of the commits, but don't want to give you trouble if you've already got a checkout :-)

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