this script can be used to create a cutsceneless encode:
Language: lua
--[[
start this script at the same time as you playback the movie and dump the avi.
when finished, be sure to hit "stop" in the lua script window to ensure that the created file gets flushed
you'll have an "mfskip.avs" that will contain a set of Trim() commands that will create a cutsceneless encode
]]
local pigf = -1
local skipping = true
local startframe = 0
local outfile = io.open ("mfskip.avs", "w")
local firstsegment = true
-- remember to hit "stop" to ensure that the io file gets cleaned up correctly!
while true do
local igf = memory.readbyte(0x0300013B) -- in game time counter
if igf ~= pigf then -- display this frame
if skipping then -- end skipping, so record start of new unskipped segment
startframe = avi.framecount()
skipping = false
end
else -- skip this frame
if not skipping then -- start skipping, so record finish of last unskipped segment
if avi.framecount () > 1 then -- avoid 1 frame edge case that causes avs problems
if firstsegment then
outfile:write (string.format (" c0.Trim (%i, %i)\n", startframe, avi.framecount () - 1))
firstsegment = false
else
outfile:write (string.format ("last + c0.Trim (%i, %i)\n", startframe, avi.framecount () - 1))
end
skipping = true
end
end
end
pigf = igf
emu.frameadvance()
end