mirror of
https://github.com/spiffcode/hostile-takeover.git
synced 2026-04-13 15:51:28 -06:00
93 lines
2.0 KiB
C#
93 lines
2.0 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Collections;
|
|
using SpiffLib;
|
|
|
|
namespace wavcrunch
|
|
{
|
|
class Class1
|
|
{
|
|
[STAThread]
|
|
static void Main(string[] args)
|
|
{
|
|
if (args[0] == "-g") {
|
|
GenTables();
|
|
return;
|
|
}
|
|
|
|
// Get source
|
|
|
|
ArrayList alsFiles = new ArrayList();
|
|
for (int n = 0; n < args.Length; n++) {
|
|
string strFileT = Path.GetFileName(args[n]);
|
|
string strDirT = Path.GetDirectoryName(args[n]);
|
|
if (strDirT == "")
|
|
strDirT = ".";
|
|
string[] astrFiles = Directory.GetFiles(strDirT, strFileT);
|
|
alsFiles.AddRange(astrFiles);
|
|
}
|
|
|
|
foreach (string strFileWav in alsFiles) {
|
|
// Read in wav
|
|
|
|
Pcm pcm = new Pcm(strFileWav);
|
|
|
|
// Write out .snd file
|
|
|
|
string strFileSnd = Path.ChangeExtension(strFileWav, ".snd");
|
|
Console.WriteLine(Path.GetFileName(strFileWav) + " -> " + Path.GetFileName(strFileSnd));
|
|
BinaryWriter bwtr = new BinaryWriter(new FileStream(strFileSnd, FileMode.Create, FileAccess.Write, FileShare.None));
|
|
bwtr.Write(pcm.GetSndEncoding());
|
|
bwtr.Close();
|
|
|
|
}
|
|
}
|
|
|
|
static void GenTables() {
|
|
Console.WriteLine("gmp2SumAverage:");
|
|
for (int n = 0; n < 512; n++) {
|
|
if (n % 16 == 0)
|
|
Console.Write(".byte ");
|
|
int m = (int)((float)n / 2.0 + 0.5);
|
|
if (m > 255)
|
|
m = 255;
|
|
if (n % 16 == 15) {
|
|
Console.WriteLine(m);
|
|
} else {
|
|
Console.Write(m + ", ");
|
|
}
|
|
}
|
|
Console.WriteLine("");
|
|
|
|
Console.WriteLine("gmp3SumAverage:");
|
|
for (int n = 0; n < 768; n++) {
|
|
if (n % 16 == 0)
|
|
Console.Write(".byte ");
|
|
int m = (int)((float)n / 3.0 + 0.5);
|
|
if (m > 255)
|
|
m = 255;
|
|
if (n % 16 == 15) {
|
|
Console.WriteLine(m);
|
|
} else {
|
|
Console.Write(m + ", ");
|
|
}
|
|
}
|
|
Console.WriteLine("");
|
|
|
|
Console.WriteLine("gmp4SumAverage:");
|
|
for (int n = 0; n < 1024; n++) {
|
|
if (n % 16 == 0)
|
|
Console.Write(".byte ");
|
|
int m = (int)((float)n / 4.0 + 0.5);
|
|
if (m > 255)
|
|
m = 255;
|
|
if (n % 16 == 15) {
|
|
Console.WriteLine(m);
|
|
} else {
|
|
Console.Write(m + ", ");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|