TASEmulators / TASEmulators/BizHawk

[FReq] Better cross-integrated game/movie/script/RAM watch management

Open
#3,988 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

App: EmuHawk Request: Feature/Enhancement
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

One feature I've found lacking recently in BizHawk is the movie project management.

If you're only working with one movie, the Autoload toggles for ROM, movie, Lua session+individual scripts, RAM watch, and TAStudio are convenient.

However, if you want to switch games and work on a different movie, it's not convenient to tweak all of these individual settings back-and-forth. It can lead to situations where you accidentally autoload an incompatible movie or forget you have particular scripts loaded.

The current workaround is to pass --config to EmuHawk, choosing a config file pre-configured for one particular project, but that's not ideal either. The config contains more preferences than merely the specific movies loaded and related details meaning you can suffer from "config drift" if you change other preferences or hotkeys.

  • Basically if we could only save a movie-relevant subset of the config as a "project" that would be more convenient. And/or just have better multi-config management.
  • Ideally also a "recent" list to load all of a project's files at once.

Another potential solution to make .tasproj contain this info. I find this solution problematic because either it embeds Lua scripts inside the .tasproj (makes editing them less convenient) or it load them via file path, which makes the .tasproj less portable.

See also #1700 which would reduce the number of objects which need to be synced.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing the existing EmuHawk autoload settings and --config handling, then compare project management, recent-file loading, and .tasproj approaches. Done requires an agreed movie-relevant project model and a clear way to switch all related files together.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.