Skip to content
New issue

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

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

Already on GitHub? # 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 :-)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants