src/sound.cpp
branchcustombridgeheads
changeset 5650 aefc131bf5ce
parent 5649 55c8267c933f
child 5860 7fdc9b423ba1
equal deleted inserted replaced
5649:55c8267c933f 5650:aefc131bf5ce
     9 #include "vehicle.h"
     9 #include "vehicle.h"
    10 #include "window.h"
    10 #include "window.h"
    11 #include "viewport.h"
    11 #include "viewport.h"
    12 #include "fileio.h"
    12 #include "fileio.h"
    13 #include "newgrf_sound.h"
    13 #include "newgrf_sound.h"
       
    14 #include "helpers.hpp"
    14 
    15 
    15 static uint _file_count;
    16 static uint _file_count;
    16 static FileEntry *_files;
    17 static FileEntry *_files;
    17 
    18 
    18 #define SOUND_SLOT 63
    19 #define SOUND_SLOT 63
    26 	uint count;
    27 	uint count;
    27 	uint i;
    28 	uint i;
    28 
    29 
    29 	FioOpenFile(SOUND_SLOT, filename);
    30 	FioOpenFile(SOUND_SLOT, filename);
    30 	count = FioReadDword() / 8;
    31 	count = FioReadDword() / 8;
    31 	fe = calloc(count, sizeof(*fe));
    32 	CallocT(&fe, count);
    32 
    33 
    33 	if (fe == NULL) {
    34 	if (fe == NULL) {
    34 		_file_count = 0;
    35 		_file_count = 0;
    35 		_files = NULL;
    36 		_files = NULL;
    36 		return;
    37 		return;
   107 	if (bank >= GetNumSounds()) return false;
   108 	if (bank >= GetNumSounds()) return false;
   108 	fe = GetSound(bank);
   109 	fe = GetSound(bank);
   109 
   110 
   110 	if (fe->file_size == 0) return false;
   111 	if (fe->file_size == 0) return false;
   111 
   112 
   112 	mem = malloc(fe->file_size);
   113 	MallocT(&mem, fe->file_size);
   113 	if (mem == NULL) return false;
   114 	if (mem == NULL) return false;
   114 
   115 
   115 	FioSeekToFile(fe->file_offset);
   116 	FioSeekToFile(fe->file_offset);
   116 	FioReadBlock(mem, fe->file_size);
   117 	FioReadBlock(mem, fe->file_size);
   117 
   118