equal
deleted
inserted
replaced
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 |