// Player public void Load(string filename) { m_FileName = filename; Reset(); byte[] ptr; m_pPlayerState = new Cf3ReplayPlayerState(); m_pPlayerState.stage = new Cf3StageFile(); m_pPlayerState.stage.Read(m_FileName); // シークレットの状態と入力情報も読み込む Cf3Setting.theSetting.m_Gravity = m_pPlayerState.stage.GetStageDataInt(CT.CT_GRVT); Cf3Setting.theSetting.m_Hyper = m_pPlayerState.stage.GetStageDataInt(CT.CT_HYPR); ptr = m_pPlayerState.stage.GetStageData(CT.CT_RPLY); m_nSize = (uint)ptr.Length >> 1; for (int i = 0; i < m_nSize; i++) { m_keyPressed[m_nProgress] = ptr[m_nProgress * 2]; m_keyPushed[m_nProgress] = ptr[m_nProgress * 2 + 1]; Progress(); } // 最後にマップを読み込む(設定を先に反映させる必要がある) var stage = m_pPlayerState.stage.GetStageDataInt(CT.CT_STGN); m_pPlayerState.map = new Cf3Map(m_pPlayerState.stage, stage); Seek(); }
public Cf3Replay() { m_pPlayerState = null; Reset(); }