--- /dev/null
+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