internal static int tランク値を計算して返す(C演奏記録 part) { if (part.b演奏にMIDI入力を使用した || part.b演奏にキーボードを使用した || part.b演奏にジョイパッドを使用した || part.b演奏にマウスを使用した) // 2010.9.11 { int nTotal = part.nPerfect数 + part.nGreat数 + part.nGood数 + part.nPoor数 + part.nMiss数; return(tランク値を計算して返す(nTotal, part.nPerfect数, part.nGreat数, part.nGood数, part.nPoor数, part.nMiss数)); } return((int)ERANK.UNKNOWN); }
internal static int t総合ランク値を計算して返す(C演奏記録 Drums) { int nTotal = Drums.n全チップ数; int nPerfect = Drums.nPerfect数_Auto含まない; // #24569 2011.3.1 yyagi: to calculate result rank without AUTO chips int nGreat = Drums.nGreat数_Auto含まない; // int nGood = Drums.nGood数_Auto含まない; // int nPoor = Drums.nPoor数_Auto含まない; // int nMiss = Drums.nMiss数_Auto含まない; // return(tランク値を計算して返す(nTotal, nPerfect, nGreat, nGood, nPoor, nMiss)); }
internal static string t演奏セクションのMD5を求めて返す(C演奏記録 cc) { StringBuilder builder = new StringBuilder(); builder.Append(cc.nスコア.ToString()); builder.Append(cc.dbゲーム型スキル値.ToString(".000000")); builder.Append(cc.db演奏型スキル値.ToString(".000000")); builder.Append(cc.nPerfect数); builder.Append(cc.nGreat数); builder.Append(cc.nGood数); builder.Append(cc.nPoor数); builder.Append(cc.nMiss数); builder.Append(cc.n最大コンボ数); builder.Append(cc.n全チップ数); builder.Append(boolToChar(cc.bTight)); builder.Append(cc.f譜面スクロール速度.ToString(".000000")); builder.Append(cc.n演奏速度分子); builder.Append(cc.n演奏速度分母); builder.Append(boolToChar(cc.bDrums有効)); builder.Append(boolToChar(cc.bSTAGEFAILED有効)); builder.Append((int)cc.eダメージレベル); builder.Append(boolToChar(cc.b演奏にキーボードを使用した)); builder.Append(boolToChar(cc.b演奏にMIDI入力を使用した)); builder.Append(boolToChar(cc.b演奏にジョイパッドを使用した)); builder.Append(boolToChar(cc.b演奏にマウスを使用した)); builder.Append(cc.nPerfectになる範囲ms); builder.Append(cc.nGreatになる範囲ms); builder.Append(cc.nGoodになる範囲ms); builder.Append(cc.nPoorになる範囲ms); builder.Append(cc.strDTXManiaのバージョン); builder.Append(cc.最終更新日時); byte[] bytes = Encoding.GetEncoding("Shift_JIS").GetBytes(builder.ToString()); StringBuilder builder2 = new StringBuilder(0x21); { MD5CryptoServiceProvider m = new MD5CryptoServiceProvider(); byte[] buffer2 = m.ComputeHash(bytes); foreach (byte num2 in buffer2) { builder2.Append(num2.ToString("x2")); } } return(builder2.ToString()); }