BlitterStudio/amiberry

Option to log to console instead of file

Closed this issue · 2 comments

Hi. Over at TASVideos we're working on making Amiberry the way to TAS Amiga games, with the help of libTAS. And since TASing is defined by the timing of movies (button replay files) that beat the game ASAP, we care about representing those movie durations accurately.

We can force the app running inside libTAS to any framerate we want (libTAS controls time and simulates forced vsync). But Amiga has slightly different framerates in different resolution modes, so we can't use any one constant framerate for libTAS movie files. And simply forcing 50 or 60 straight would be quite inaccurate, especially for long movies the error would build up.

To solve this we have 2 options:

  • we could be looking at the most common framerate of the game (usually during normal gameplay) and force that for the entire movie, or
  • we could track which framerate the game runs at for any given segment, changing libTAS framerate accordingly so the result is 100% perfect.

Both methods involve knowing what framerate the game is running at right now, at any given time.

UAE used to log framerates to console, but with Amiberry I could only find an option to log to a file. Which is not very helpful because it's hard to figure out which segment relates to which framerate unless you watch them change live, via a console log.

There's now an option to output the log to the console as well. There are two ways to enable this:

  • From the GUI, in the Paths panel, you will find a new checkbox (Log to console). Enable this, and the output will also go to the console (it will use SDL_Log, so if you're debugging it will show correctly in the debugger as well).
  • From the command line, with the option --log. It enables the same thing as above.

Woah thanks, that was quick!