GamesRightMeow / playbit

Playbit is a framework for creating cross-platform Playdate games from a single Lua codebase.
MIT License
63 stars 0 forks source link

Implement CoreLibs/object #13

Open lyonbeckers opened 10 months ago

lyonbeckers commented 10 months ago

I've been taking a look at implementing CoreLibs/object, as my game makes pretty heavy use of it. As far as I can see, there's nothing that's really specific to playdate in the CoreLibs implementation, aside from a couple places that use +=. I've replaced those two lines so that it'd work in Love, and just straight up copied it into playbit, and that seems to work, though I'm not really sure if that's what we'd want/are entitled to do given that the file is (c) Playdate, and there's this particular clause of the SDK License.

You will not: ... - Use the SDK to develop applications for other platforms or to develop another SDK, without express written permission from Panic.

Though I'm not sure how it could really be reimplemented in any meaningful way that isn't just... rewording the existing CoreLibs implementation.

gingerbeardman commented 10 months ago

I see object says: -- loosely based on http://replayism.com/code/barebones-lua-class/

That has disappeared but is in Wayback Machine https://web.archive.org/web/20150205023439/http://replayism.com/code/barebones-lua-class/

SHiLLySiT commented 8 months ago

@lyonbeckers I had emailed Panic about Playbit awhile back to see if I could take code from the SDK, but alas, they did not give me permission (and thus some loss of functionality after ee04a9da98e1824698bb3be35538ed5e9919ff76). So unfortunately we can't just copy CoreLibs/object with minor edits into Playbit, as it would violate the TOS as per the snippet you shared.

However as @gingerbeardman pointed out, we can start from the old blog post they found on Wayback Machine.

Also note: this is low priority for me right now since I don't use the object class in any of my projects, but I'd be happy to merge any PRs that implement it! 😄