Skip to content

Commit 1c18a79

Browse files
committed
lol idk
1 parent 43a2428 commit 1c18a79

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+23651
-39
lines changed

RADADecoder/FRadAudioInfo.cpp

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,21 @@ bool FRadAudioInfo::ParseHeader(const uint8_t* InSrcBufferData, uint32_t InSrcBu
4444
QualityInfo->Duration = (float)FileHeader->frame_count / QualityInfo->SampleRate;
4545
}
4646
}
47-
47+
4848
return true;
4949
}
5050

51-
bool FRadAudioInfo::CreateDecoder(const uint8_t* SrcBufferData, uint32_t SrcBufferDataSize, RadAudioDecoderHeader*& Decoder, uint8_t*& RawMemory, uint32_t& SrcBufferOffset, RadAContainer*& Container)
51+
bool FRadAudioInfo::CreateDecoder(const uint8_t* SrcBufferData, uint32_t SrcBufferDataSize, RadAudioDecoderHeader*& Decoder, uint8_t* RawMemory, uint32_t& SrcBufferOffset)
5252
{
5353
if (SrcBufferOffset != 0)
5454
return false;
5555

56-
const RadAFileHeader* FileHeader = MIRARadAGetFileHeader_1(SrcBufferData, SrcBufferDataSize);
56+
const RadAFileHeader* FileHeader = RadAGetFileHeader(SrcBufferData, SrcBufferDataSize);
5757
if (FileHeader == nullptr)
5858
return false;
5959

6060
uint32_t DecoderMemoryNeeded = 0;
61-
if (MIRARadAGetMemoryNeededToOpen_1(SrcBufferData, SrcBufferDataSize, &DecoderMemoryNeeded) != 0)
61+
if (RadAGetMemoryNeededToOpen(SrcBufferData, SrcBufferDataSize, &DecoderMemoryNeeded) != 0)
6262
{
6363
printf("Invalid/insufficient data in FRadAudioInfo::CreateDecoder - bad buffer passed / bad cook? Size = %d", SrcBufferDataSize);
6464
if (SrcBufferDataSize > 8)
@@ -75,11 +75,11 @@ bool FRadAudioInfo::CreateDecoder(const uint8_t* SrcBufferData, uint32_t SrcBuff
7575
RawMemory = (uint8_t*)malloc(TotalMemory);
7676
memset(RawMemory, 0, TotalMemory);
7777

78-
Decoder = (RadAudioDecoderHeader*)RawMemory;
78+
Decoder = reinterpret_cast<RadAudioDecoderHeader*>(RawMemory);
7979

80-
Container = Decoder->Container();
80+
RadAContainer* Container = Decoder->Container();
8181

82-
if (MIRARadAOpenDecoder_1(SrcBufferData, SrcBufferDataSize, Container, DecoderMemoryNeeded) == 0)
82+
if (RadAOpenDecoder(SrcBufferData, SrcBufferDataSize, Container, DecoderMemoryNeeded) == 0)
8383
{
8484
printf("Failed to open decoder, likely corrupted data.");
8585
free(RawMemory);
@@ -126,38 +126,40 @@ FDecodeResult FRadAudioInfo::Decode(uint8_t* CompressedData, const int32_t Compr
126126

127127
uint32_t CompressedBytesNeeded = 0;
128128
RadAExamineBlockResult BlockResult = RadAExamineBlock(Decoder->Container(), CompressedData, RemnCompressedDataSize, &CompressedBytesNeeded);
129-
129+
130+
// yeah yeah I know
130131
if (BlockResult != RadAExamineBlockResult::Valid)
131132
{
132-
uint32_t dstOffset = 0;
133-
bool bFound = false;
134-
135-
for (int i = 1; i < RemnCompressedDataSize; i++)
133+
while (true)
136134
{
137-
if (CompressedData[i] == 0x55)
135+
uint32_t dstOffset = 0;
136+
bool bFound = false;
137+
138+
for (int i = 1; i < RemnCompressedDataSize; i++)
138139
{
139-
dstOffset = i;
140-
bFound = true;
141-
break;
140+
if (CompressedData[i] == 0x55)
141+
{
142+
dstOffset = i;
143+
bFound = true;
144+
break;
145+
}
142146
}
143-
}
144147

145-
if (bFound)
146-
{
147-
size_t newSize = RemnCompressedDataSize - dstOffset;
148-
std::memmove(CompressedData, CompressedData + dstOffset, newSize);
149-
RemnCompressedDataSize = newSize; // Update the new size of compressed data
150-
}
148+
if (bFound)
149+
{
150+
size_t newSize = RemnCompressedDataSize - dstOffset;
151+
std::memmove(CompressedData, CompressedData + dstOffset, newSize);
152+
RemnCompressedDataSize = newSize; // Update the new size of compressed data
153+
}
151154

152-
RadAExamineBlockResult newBlockResult = RadAExamineBlock(Decoder->Container(), CompressedData, RemnCompressedDataSize, &CompressedBytesNeeded);
155+
BlockResult = RadAExamineBlock(Decoder->Container(), CompressedData, RemnCompressedDataSize, &CompressedBytesNeeded);
153156

154-
if (newBlockResult != RadAExamineBlockResult::Valid || !bFound)
155-
{
157+
if (BlockResult == RadAExamineBlockResult::Valid)
158+
break;
159+
156160
printf("Invalid block in FRadAudioInfo::Decode: Result = %d, RemnSize = %d \n", BlockResult, RemnCompressedDataSize);
157161
if (RemnCompressedDataSize >= 8)
158162
printf("First 8 bytes of buffer: 0x%02x 0x%02x 0x%02x 0x%02x:0x%02x 0x%02x 0x%02x 0x%02x \n", CompressedData[0], CompressedData[1], CompressedData[2], CompressedData[3], CompressedData[4], CompressedData[5], CompressedData[6], CompressedData[7]);
159-
160-
break;
161163
}
162164
}
163165

RADADecoder/FRadAudioInfo.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ class FRadAudioInfo
99
{
1010
public:
1111
static bool ParseHeader(const uint8_t* InSrcBufferData, uint32_t InSrcBufferDataSize, const FSoundQualityInfo* QualityInfo);
12-
static bool CreateDecoder(const uint8_t* SrcBufferData, uint32_t SrcBufferDataSize, RadAudioDecoderHeader*& Decoder, uint8_t*& RawMemory, uint32_t
13-
& SrcBufferOffset, RadAContainer*& Container);
12+
static bool CreateDecoder(const uint8_t* SrcBufferData, uint32_t SrcBufferDataSize, RadAudioDecoderHeader*& Decoder, uint8_t* RawMemory, uint32_t
13+
& SrcBufferOffset);
1414
static FDecodeResult Decode(uint8_t* CompressedData, int32_t CompressedDataSize, uint8_t* OutPCMData, int32_t OutputPCMDataSize, uint32_t
1515
NumChannels, RadAudioDecoderHeader* Decoder);
1616

RADADecoder/RADADecoder.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ int main(int argc, char **argv)
1414
argparse::ArgumentParser program("RADADecoder");
1515
program.add_argument("-i", "--input-file").required().help("Input File to Decode");
1616
program.add_argument("-o", "--output-file").required().help("Path to Output File");
17-
program.add_argument("-v", "--verbose").default_value(false).help("Verbose Output");
17+
program.add_argument("-v", "--verbose").default_value(false).implicit_value(true).help("Verbose Output");
1818

1919
try
2020
{
@@ -24,7 +24,7 @@ int main(int argc, char **argv)
2424
{
2525
std::cout << err.what() << '\n';
2626
std::cout << program;
27-
exit(0);
27+
return -1;
2828
}
2929

3030
std::string inputFilePath = program.get<std::string>("-i");
@@ -70,7 +70,7 @@ int main(int argc, char **argv)
7070
if (!FRadAudioInfo::ParseHeader(inputData.data(), inputDataSize, &audioInfo))
7171
{
7272
std::cerr << "Failed to parse RADA header." << '\n';
73-
return 0;
73+
return -1;
7474
}
7575

7676
if (verbose)
@@ -84,12 +84,10 @@ int main(int argc, char **argv)
8484
uint8_t* rawMemory = nullptr;
8585
RadAudioDecoderHeader* decoder = nullptr;
8686
uint32_t srcBufferOffset = 0;
87-
RadAContainer* container = nullptr;
88-
89-
if (!FRadAudioInfo::CreateDecoder(inputData.data(), inputDataSize, decoder, rawMemory, srcBufferOffset, container))
87+
if (!FRadAudioInfo::CreateDecoder(inputData.data(), inputDataSize, decoder, rawMemory, srcBufferOffset))
9088
{
9189
std::cerr << "Failed to create decoder." << '\n';
92-
return 0;
90+
return -1;
9391
}
9492

9593
if (verbose)
@@ -133,7 +131,7 @@ int main(int argc, char **argv)
133131
if (result.NumPcmBytesProduced == 0)
134132
{
135133
std::cerr << "Failed to decode." << '\n';
136-
exit(-1);
134+
return -1;
137135
}
138136

139137
WaveHeader header;
@@ -168,5 +166,5 @@ int main(int argc, char **argv)
168166

169167
std::cout << "Processing complete." << '\n';
170168

171-
exit(0);
169+
return 0;
172170
}

0 commit comments

Comments
 (0)