Comments (6)
Very unlikely this is going to happen in 0.3.0 now.
from mgba.
Customizable rewind speed is easiest to understand as a ratio of playing speed e.g. "1/2x, 1x, 2x" Listing the time between jumps in milliseconds is more direct but less meaningful. Users will convert this to playing speed in their heads, anyway. Think of it like you would driving. The fuel gauge shows the remaining gallons of gasoline but drivers convert it into a distance range in their heads. The remaining gallons of gasoline is more direct, but less meaningful.
If a user selects a desired rewind speed (in relation to playing speed), time between interval jumps can be calculated in the background fairly easily. Here's the formula for determining this value:
[ 1000ms * (frames between intervals) ] / [ (desired FPS) * (desired rewind speed) ]
So let's say that someone plays at 60fps and records a rewind interval every 6 frames. They want to rewind at 2x playing speed. Their time between rewinding intervals would be this:
(1000 * 6) / (60 * 2) = 50ms between interval jumps.
If they wanted to change it to 1/3 playback speed, it would become this:
(1000 * 6) / (60 * (1/3)) = 300ms between interval jumps.
Throw in some rounding protection for non-integers and this formula can be extrapolated for any combination of desired fps, time between intervals, and desired rewind speeds.
An additional benefit to doing it like this is that the menu will match the fast forward speed selectors, save the unbounded option. Having rewind work similarly to fast forward will help with usability and cleanliness of the UI.
from mgba.
In the same interest of getting rewind to work like fast forward, the "Rewind" button in the emulation tab should rewind gradually rather than one single jump. Users expecting the same effect as the "Fast Forward" button are left confused when their game jumps however many seconds or minutes backwards without warning. This change would effectively make the rewind option the same as the held rewind option, except with toggling instead of holding.
from mgba.
I fixed the menu bar issue.
from mgba.
Thanks, I updated my comments to reflect the current state.
from mgba.
Most of this should land tonight.
from mgba.
Related Issues (20)
- Italian translation of README.md
- mGBA 0.10.3 refuses to be open while Mayflash Gamecube controller adapter is connected in PC mode HOT 2
- Multiplayer window crash
- Clarification about Game Boy Palette HOT 11
- [3DS] No sound in any GBA games HOT 2
- Unimplemented BIOS Call Pokemon Radical Red HOT 2
- Build issue: Arch HOT 2
- OpenGL display driver: black screen when toggling fullscreen off
- radical red 4.1 bugging HOT 4
- Black screens when opening a menu on certain games when using a PS4 controller. HOT 2
- mgba doesn't open at all for me HOT 7
- Emulator freezes and crashes when opening Scripting window HOT 2
- Game doesn't unpause if using lua script + breakpoints on debugger console
- [Feature Request] Always show mouse cursor [build-2024-07-11-win64-8487-9b598d2fe4c5ae49180fd381c742e5cb8a0973f0] HOT 2
- [Bug] Unable to Multi-Select Pokemon in PC Storage in Pokemon Games [build-2024-07-11-win64-8487-9b598d2fe4c5ae49180fd381c742e5cb8a0973f0] HOT 11
- Color effects are applied to sprite even when OBJ window should disable them
- i have a problem
- Load external savefiles into mGBA 1-4 save slots HOT 4
- cant remap fast forward bind HOT 1
- Assigning a key to uncapped framerate speed doesn't save and must assign again each time I restart the emulator
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mgba.