Post subject: I want some tips with Encode only TASes...
Sonia
She/Her
Joined: 12/6/2013
Posts: 435
Location: Brazil
I was told that for emulators that can dump .avi and save states but have no rerecording features, the only way to make TASes out of them is by dumping the game's .avi and loading states normally, then throwing the .avi on a video editor (such as virtual dub) and then manually deleting the frames between states. Thing is... I'm extremely bad at perceiving what frames I should delete and which ones I should keep. I made one small video and loaded state only once and even so could not detect what frames I was supposed to delete because it's really hard with nothing to guide me. I mean, if there was some info pointing out what frames I should delete such as "frame 7890 until frame 9320" or "frame 18993 until frame "19580" etc, it'd make my life MUCH easier. The problem with all of this isn't because the process is tedious (I have enough patience for it), but the problem is that I REALLY fail to detect what frames should be deleted. If I could not find them even on a movie with a single state load, then just imagine on a movie with hundreds of state loads. Plus I'm pretty paranoid so I'd want everything perfect, and I'm pretty sure most "unwanted frames" would pass unnoticed by me. So... I'd like to know: are there any tips/tricks that I can use in order to guide me on what frames I should delete? It'd be really helpful. All I want is to know precisely what I need to remove and what I need to keep, so I could make my .avi only TASes. I was thinking maybe a specific avs script could help with that, or something similar... I dunno. But I do know that I really need help with this.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
If the emulator supports LUA scripts you might be able to display the game's current frame count, if it keeps track of that. Even a small 1-byte counter that overflows after 256 frames might be enough. Other than that you're pretty much out of luck. You could try stepping through the video with AvsPmod and use the F11 key (after a # character) to write down on which frames a reset occurs. For example:
Language: Avisynth

AVISource("00.avi") # 56 123 251 5673
But this doesn't tell you exactly to which frame it jumps back to, so you'd have to do some tricky comparisons to previous frames. Which would be cumbersome but not a problem if the TAS has a dozen rerecords or so, but for hundreds or thousands it's too much.
Sonia
She/Her
Joined: 12/6/2013
Posts: 435
Location: Brazil
mmmm... do you happen to know if any mame build supports LUA scripts? (My current version is mame 0.148) I've never used LUA scripts before so I don't really know how they work... EDIT I just read a bit of this page: http://mamedev.org/devwiki/index.php/MAME_0.154
mame wrote:
Miodrag Milanovic created machine_manager as singleton class that contains (for now) one running machine: Updated LUA engine to run in machine_manager instead of being initialized per machine. Added "-console" option so emulator can be started with LUA enabled console. Update LUA to version 5.2.3. Enabled SQLite3 to be compiled and added LUA module for it.
They seem to be mentioning LUA stuff on this page. So maybe it's compatible with this version after all?
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3933
Location: Germany
That's pretty much what AJP_anton did when he made his Melee TASes using the game's debug menu to play at frame by frame without savestates. Only that I think he had to play from the beginning every time he messed up, and he had to keep track of his input sequence on paper. But I suppose video editing must have went just like creaothceann suggested, with a frame number that was displayed on the video. Good luck. --- EDIT: I think Bisqwit made a TAS once, recording straight to AVI files instead of input files. http://tasvideos.org/Bisqwit/Projects/ChronoCross.html
Sonia
She/Her
Joined: 12/6/2013
Posts: 435
Location: Brazil
MUGG wrote:
EDIT: I think Bisqwit made a TAS once, recording straight to AVI files instead of input files. http://tasvideos.org/Bisqwit/Projects/ChronoCross.html
Bisqwit also mentioned this method only seems to work for PSX and is not available on Windows. But that was years ago so I don't know if things have changed by now. Can anyone confirm?