full 3 stage bit map and 256 bit conversion
This commit is contained in:
parent
1cb4b77f9a
commit
6678780ef6
1 changed files with 26 additions and 5 deletions
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using System.Numerics;
|
||||
using System.IO;
|
||||
|
||||
using Eto.Forms;
|
||||
|
@ -65,6 +66,24 @@ namespace PC2Converter
|
|||
/* chuck e. */ new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }
|
||||
};
|
||||
|
||||
int[] FS_RAE3stBitMap = {
|
||||
1, 9, 10, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 17, 18, 19, 14, 15, 16, 20, 36, 37,
|
||||
185, 176, 177, 181, 182, 183, 184, 178, 179, 180, 173, 175, 174, 168, 170, 169, 186, 187, 188,
|
||||
45, 41, 42, 43, 44, 54, 55, 51, 52, 53, 57, 59, 58, 60, 61, 62,
|
||||
166, 151, 152, 153, 156, 157, 158, 161, 162, 163, 164, 154, 155, 159, 160, 165,
|
||||
30, 23, 24, 26, 27, 28, 29, 25, 21, 22, 33, 35, 34, 31, 32, 63, 64,
|
||||
196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 189, 190, 194, 211, 212, 213,
|
||||
167, 191, 192, 193, 171, 172, 48,
|
||||
39, 38, 47, 46, 49, 50,
|
||||
88, 86, 85, 82, 242, 84, 83, 81, 238, 239, 240, 87,
|
||||
93, 94, 91, 92, 89, 90,
|
||||
229, 228, 227, 226, 224, 223, 221, 219, 218, 217, 216, 222,
|
||||
235, 232, 231, 234, 236, 237, 233, 242, 243,
|
||||
67, 68, 69, 66, 71, 72, 73,
|
||||
78, 77, 76, 79, 80,
|
||||
220, 244, 245, 225, 230, 241
|
||||
};
|
||||
|
||||
int[] CyberRosettaInvertedBits = { 2, 8, 181, 169, 41, 59, 58, 151, 158, 26, 35, 31 };
|
||||
int[] RAE3stAPSDescrambleTable = { 10, 11, 0, 1, 2, 3, 4, 12, 13, 5, 6, 7, 8, 9, 14, 15};
|
||||
|
||||
|
@ -346,9 +365,9 @@ namespace PC2Converter
|
|||
return;
|
||||
}
|
||||
|
||||
if (FullStage)
|
||||
if (FullStage && (string)OutputTypeSelector.SelectedKey != "UST 256 Bits (Full RAE/3st)")
|
||||
{
|
||||
MessageBox.Show("Fatal: Full Stage mode is not supported at this time.");
|
||||
MessageBox.Show("Fatal: Full Stage mode is not supported for cybers and studio c at this time.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -417,6 +436,7 @@ namespace PC2Converter
|
|||
break;
|
||||
case "UST 256 Bits (Full RAE/3st)":
|
||||
bitsCount = 256;
|
||||
targetBits = FS_RAE3stBitMap;
|
||||
break;
|
||||
case "UST 256 Bits (Full Cybers Rosetta)":
|
||||
bitsCount = 256;
|
||||
|
@ -440,10 +460,10 @@ namespace PC2Converter
|
|||
List<string> writeOut = new List<string>();
|
||||
foreach (BitArray bits in rshwBits)
|
||||
{
|
||||
int frameByte = 0;
|
||||
BigInteger frameByte = 0;
|
||||
for (int i = 0; i < targetBits.Length; i++)
|
||||
{
|
||||
if (bits.Get(targetBits[i])) frameByte += 1 << i;
|
||||
if (bits.Get(targetBits[i])) frameByte += BigInteger.Pow(2, i);
|
||||
}
|
||||
writeOut.Add(frameByte.ToString($"X{(bitsCount/4).ToString()}"));
|
||||
}
|
||||
|
@ -451,11 +471,12 @@ namespace PC2Converter
|
|||
byte[] audioOut = file.audioData;
|
||||
if ((bool)CompressAudioCheckBox.Checked)
|
||||
{
|
||||
MessageBox.Show("press ok to start compressing audio");
|
||||
if (File.Exists("tmp.mp3")) File.Delete("tmp.mp3");
|
||||
File.WriteAllBytes("tmp.wav", audioOut);
|
||||
Process ffmpegProcess = new Process();
|
||||
ffmpegProcess.StartInfo.FileName = "ffmpeg";
|
||||
ffmpegProcess.StartInfo.Arguments = "-i tmp.wav -c:a mp3 -b:a 128 tmp.mp3";
|
||||
ffmpegProcess.StartInfo.Arguments = "-i tmp.wav -c:a mp3 -b:a 128k tmp.mp3";
|
||||
ffmpegProcess.Start();
|
||||
ffmpegProcess.WaitForExit();
|
||||
audioOut = File.ReadAllBytes("tmp.mp3");
|
||||
|
|
Loading…
Add table
Reference in a new issue