src/sound.cpp
changeset 5587 167d9a91ef02
parent 5584 1111b4d36e35
child 5609 dc6a58930ba4
equal deleted inserted replaced
5586:2d4126d81ebb 5587:167d9a91ef02
     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