Esempio n. 1
0
 // Recorder
 public void Save(Cf3StageFile stage, int map)
 {
     if (CApp.theApp.MakeFileName(out m_FileName, "f3r", Cf3Setting.theSetting.m_RecordNumber, true))
     {
         var    data = new Cf3StageFile();
         CT     chunk;
         byte[] ptr;
         // キー入力情報をこーんぽたーじゅ(謎)
         ptr = new byte[m_nSize * 2];
         Seek();
         while (!Finished())
         {
             ptr[m_nProgress * 2]     = m_keyPressed[m_nProgress];
             ptr[m_nProgress * 2 + 1] = m_keyPushed[m_nProgress];
             Progress();
         }
         data.SetStageData(CT.CT_RPLY, ptr);
         // 必要なステージ情報をコピーする
         if ((ptr = stage.GetStageData(chunk = CT.CT_TITL)) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = CT.CT_HITS)) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = Cf3Map.GetChunkType(CT.CT_TL00, map))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = Cf3Map.GetChunkType(CT.CT_M000, map))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = Cf3Map.GetChunkType(CT.CT_M100, map))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = Cf3Map.GetChunkType(CT.CT_M200, map))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = CT.CT_MCD0 | (0 << 24))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         else if ((ptr = stage.GetStageData(chunk = CT.CT_MCF0 | (0 << 24))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = CT.CT_MCD0 | (CT)(1 << 24))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         else if ((ptr = stage.GetStageData(chunk = CT.CT_MCF0 | (CT)(1 << 24))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         if ((ptr = stage.GetStageData(chunk = CT.CT_MCD0 | (CT)(2 << 24))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         else if ((ptr = stage.GetStageData(chunk = CT.CT_MCF0 | (CT)(2 << 24))) != null)
         {
             data.SetStageData(chunk, ptr);
         }
         // 追加の情報
         data.SetStageData(CT.CT_STGN, map);
         data.SetStageData(CT.CT_GRVT, Cf3Setting.theSetting.m_Gravity);
         data.SetStageData(CT.CT_HYPR, Cf3Setting.theSetting.m_Hyper);
         data.Write(m_FileName);
     }
 }
Esempio n. 2
0
 public static void SetParent(Cf3Map lp)
 {
     m_pParent = lp;
 }