Skip to content

How does love.platform work? #225

@appsforartists

Description

@appsforartists

This project plus my disdain for rebuying copies of things I have has nerd sniped me.

I tried using LÖVE on Linux to run a copy of Balatro I downloaded from Game Pass (#153). It appears there's a native bridge love.platform that exposes functions such as getLocalPlayerName/Avatar, load/writeSaveGame, and setOnSaveInitializedCallback. love.platform is missing when I try to run the Windows game in Linux, which causes the game to crash immediately.

Presumably, there's an implementation of that bridge for {Steam, Nintendo, Google Play, Xbox PC, etc.}, which is what allows the game to e.g. read/write the save file to the expected location. I see that you disable achievements in Patching.cs, but I haven't found anything else in this repo that handles those platform-specific dependencies.

(I also looked in @nkahoang's PortMaster port, but unless that platform is baked into the LÖVE ARM SO, I don't see it there either).

How do you handle love.platform? How is the Steam version able to run on Android and e.g. know where to write save games?

I suspect I could write a patch that provides default Linux implementations of the platform stub, but I'm surprised that the other porting repos don't seem to be doing that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions