mirror of
https://github.com/Heretek-Games/drop-emulation.git
synced 2026-11-07 10:05:59 -10:00
fede54208474d406fbcdcd8a86ca0935b6439135
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.4.0 to 7.0.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/49933ea5288caeca8642d1e84afbd3f7d6820020...820762786026740c76f36085b0efc47a31fe5020) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Drop Emulation
Emulator and ROM linking plugin for Drop (#10, #189).
How it works
Per-game bindings are stored under the client storage key
binding:<gameId> as { emulatorId, coreId, romPath, command? }. Emulator
definitions live under the emulators key (falling back to the built-in list
in src/emulator.ts).
During the pre-launch:prepare stage the plugin:
- Looks up the game's binding (no-op when unset).
- Validates the ROM exists through the scoped
game:fsAPI. - Probes configured emulators through the allowlisted
system:commandrunner and drops anything missing or failing (--versionprobe). - Rewrites the launch command, expanding
{core}and{rom_path}in the template, and publishesmetadata.launchCommandplusmetadata.emulationon the launch context.
A game-detail:panels slot (EmulatorPanel) shows the configured binding.
Build
npm ci
npm run build
npm test
npm run typecheck