TASEmulators / TASEmulators/BizHawk

Add an EstimatedStateSize to some IEmulatorService

Open
#2,344 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

int EstimatedStateSize { get; }

Returns the estimated size, in bytes, of a single savestate. Should be callable at any time with a loaded core. Should be a constant size for any particular instance of a core. Can be a different size for different instances of the core (different games, etc.). Should reflect the size of a single state, but no strong requirement is put on how accurate that is. Should tend towards worst case rather than best case scenarios, overestimating if needed.

This could be used by rewinders, state managers, and such, to build settings

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

Start by locating IEmulatorService and its implementations in the BizHawk source, then determine which services need the EstimatedStateSize property. Check how savestates are represented and consumed by rewinders or state managers. Done means applicable loaded-core services expose a stable, conservative byte estimate that can be queried at any time.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.