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;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Numerics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
using Eto.Forms;
|
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 }
|
/* 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[] 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};
|
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;
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -417,6 +436,7 @@ namespace PC2Converter
|
||||||
break;
|
break;
|
||||||
case "UST 256 Bits (Full RAE/3st)":
|
case "UST 256 Bits (Full RAE/3st)":
|
||||||
bitsCount = 256;
|
bitsCount = 256;
|
||||||
|
targetBits = FS_RAE3stBitMap;
|
||||||
break;
|
break;
|
||||||
case "UST 256 Bits (Full Cybers Rosetta)":
|
case "UST 256 Bits (Full Cybers Rosetta)":
|
||||||
bitsCount = 256;
|
bitsCount = 256;
|
||||||
|
@ -440,10 +460,10 @@ namespace PC2Converter
|
||||||
List<string> writeOut = new List<string>();
|
List<string> writeOut = new List<string>();
|
||||||
foreach (BitArray bits in rshwBits)
|
foreach (BitArray bits in rshwBits)
|
||||||
{
|
{
|
||||||
int frameByte = 0;
|
BigInteger frameByte = 0;
|
||||||
for (int i = 0; i < targetBits.Length; i++)
|
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()}"));
|
writeOut.Add(frameByte.ToString($"X{(bitsCount/4).ToString()}"));
|
||||||
}
|
}
|
||||||
|
@ -451,11 +471,12 @@ namespace PC2Converter
|
||||||
byte[] audioOut = file.audioData;
|
byte[] audioOut = file.audioData;
|
||||||
if ((bool)CompressAudioCheckBox.Checked)
|
if ((bool)CompressAudioCheckBox.Checked)
|
||||||
{
|
{
|
||||||
|
MessageBox.Show("press ok to start compressing audio");
|
||||||
if (File.Exists("tmp.mp3")) File.Delete("tmp.mp3");
|
if (File.Exists("tmp.mp3")) File.Delete("tmp.mp3");
|
||||||
File.WriteAllBytes("tmp.wav", audioOut);
|
File.WriteAllBytes("tmp.wav", audioOut);
|
||||||
Process ffmpegProcess = new Process();
|
Process ffmpegProcess = new Process();
|
||||||
ffmpegProcess.StartInfo.FileName = "ffmpeg";
|
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.Start();
|
||||||
ffmpegProcess.WaitForExit();
|
ffmpegProcess.WaitForExit();
|
||||||
audioOut = File.ReadAllBytes("tmp.mp3");
|
audioOut = File.ReadAllBytes("tmp.mp3");
|
||||||
|
|
Loading…
Add table
Reference in a new issue