From: Ben Sherratt Date: Fri, 17 Feb 2023 15:47:51 +0000 (+0000) Subject: Added minimised version for in-game playback X-Git-Url: https://git.bts.cx/p8-playback.git/commitdiff_plain/49fa8367c8629f0e7b552e3298533f04ebdb7610?ds=inline Added minimised version for in-game playback * Parse passed string instead of loading file --- diff --git a/playback-min.lua b/playback-min.lua new file mode 100644 index 0000000..13a9bef --- /dev/null +++ b/playback-min.lua @@ -0,0 +1,35 @@ +function playback(data,idx) + if(idx==nil)idx=1 + data=split(data) + + local _flip,_btn,_btnp=flip,btn,btnp + local _playback_frame,_btn_data,_btn_p_data=0,0,0 + + btn=function(b,pl) + if(b==nil and pl==nil)return _btn_data + if(pl==nil)pl=0 + return (_btn_data&(1<<(b+pl*6)))>0 + end + + btnp=function(b,pl) + if(b==nil and pl==nil)return _btn_p_data + if(pl==nil)pl=0 + return (_btn_p_data&(1<<(b+pl*6)))>0 + end + + flip=function() + _playback_next_frame,_playback_next_btn,_playback_next_btnp=unpack(data,idx,idx+2) + + _flip() + _playback_frame+=1 + + if _playback_frame>=_playback_next_frame then + idx+=3 + if idx>#data then + btn,btnp,flip=_btn,_btnp,_flip + end + + _btn_data,_btn_p_data=_playback_next_btn,_playback_next_btnp + end + end +end \ No newline at end of file