1
0
Fork 0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-12-23 18:19:43 +01:00

Simplify m_headers init, hardcode 128 less

I don't know how no one realized that the for-loop to (poorly)
initialize m_headers was basically unnecessary, and that the memset()
should've just been used instead. Well, except it should also be
replaced with SDL_memset(), but that's besides the point.

Also, I decided to hardcode the 128 thing less, in case people want to
fork the source code and make a build where it's changed.
This commit is contained in:
Misa 2020-07-03 03:23:54 -07:00 committed by Ethan Lee
parent fc03fca838
commit 36e38027d8

View file

@ -2,7 +2,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <SDL.h>
/* FIXME: Abstract to FileSystemUtils! */ /* FIXME: Abstract to FileSystemUtils! */
#include <physfs.h> #include <physfs.h>
@ -10,16 +10,7 @@
binaryBlob::binaryBlob() binaryBlob::binaryBlob()
{ {
numberofHeaders = 0; numberofHeaders = 0;
for (int i = 0; i < 128; i += 1) SDL_memset(m_headers, 0, sizeof(m_headers));
{
m_headers[i].valid = false;
for (int j = 0; j < 48; j += 1)
{
m_headers[i].name[j] = '\0';
}
}
::memset(m_headers, 0, 128 * sizeof(resourceheader));
} }
#ifdef VVV_COMPILEMUSIC #ifdef VVV_COMPILEMUSIC
@ -63,7 +54,7 @@ void binaryBlob::writeBinaryBlob(const char* _name)
FILE *file = fopen(_name, "wb"); FILE *file = fopen(_name, "wb");
if (file != NULL) if (file != NULL)
{ {
fwrite((char*) &m_headers, 1, sizeof(resourceheader) * 128, file); fwrite((char*) &m_headers, 1, sizeof(m_headers), file);
for (int i = 0; i < numberofHeaders; i += 1) for (int i = 0; i < numberofHeaders; i += 1)
{ {
@ -92,11 +83,11 @@ bool binaryBlob::unPackBinary(const char* name)
size = PHYSFS_fileLength(handle); size = PHYSFS_fileLength(handle);
PHYSFS_readBytes(handle, &m_headers, sizeof(resourceheader) * 128); PHYSFS_readBytes(handle, &m_headers, sizeof(m_headers));
int offset = 0 + (sizeof(resourceheader) * 128); int offset = 0 + (sizeof(m_headers));
for (int i = 0; i < 128; i += 1) for (size_t i = 0; i < SDL_arraysize(m_headers); i += 1)
{ {
/* Name can be stupid, just needs to be terminated */ /* Name can be stupid, just needs to be terminated */
m_headers[i].name[47] = '\0'; m_headers[i].name[47] = '\0';
@ -128,7 +119,7 @@ bool binaryBlob::unPackBinary(const char* name)
printf("The complete reloaded file size: %lli\n", size); printf("The complete reloaded file size: %lli\n", size);
for (int i = 0; i < 128; i += 1) for (size_t i = 0; i < SDL_arraysize(m_headers); i += 1)
{ {
if (m_headers[i].valid == false) if (m_headers[i].valid == false)
{ {
@ -143,7 +134,7 @@ bool binaryBlob::unPackBinary(const char* name)
void binaryBlob::clear() void binaryBlob::clear()
{ {
for (int i = 0; i < 128; i += 1) for (size_t i = 0; i < SDL_arraysize(m_headers); i += 1)
{ {
if (m_headers[i].valid) if (m_headers[i].valid)
{ {
@ -155,7 +146,7 @@ void binaryBlob::clear()
int binaryBlob::getIndex(const char* _name) int binaryBlob::getIndex(const char* _name)
{ {
for (int i = 0; i < 128; i += 1) for (size_t i = 0; i < SDL_arraysize(m_headers); i += 1)
{ {
if (strcmp(_name, m_headers[i].name) == 0) if (strcmp(_name, m_headers[i].name) == 0)
{ {
@ -178,7 +169,7 @@ char* binaryBlob::getAddress(int _index)
std::vector<int> binaryBlob::getExtra() std::vector<int> binaryBlob::getExtra()
{ {
std::vector<int> result; std::vector<int> result;
for (int i = 0; i < 128; i += 1) for (size_t i = 0; i < SDL_arraysize(m_headers); i += 1)
{ {
if (m_headers[i].valid if (m_headers[i].valid
#define FOREACH_TRACK(track_name) && strcmp(m_headers[i].name, track_name) != 0 #define FOREACH_TRACK(track_name) && strcmp(m_headers[i].name, track_name) != 0