added necessary code
[awish.git] / src / resfile.h
blobc48d1744e090f6ad9d097f2933c8c7fd72fd5aaa
1 /*
2 * This program is free software: you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation, either version 3 of the License, or
5 * (at your option) any later version.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 #ifndef _RESFILE_H_
16 #define _RESFILE_H_
18 #include <stdio.h>
19 #include <stdlib.h>
20 #include <string.h>
22 #include "SDL.h"
23 #ifndef AWISH_NO_SOUND
24 # include "SDL_mixer.h"
25 #endif
27 #include "awishcommon.h"
30 typedef struct {
31 FILE *fl;
32 int count;
33 Uint32 *offsets;
34 Uint32 *sizes;
35 } ResFile;
38 extern int initResFile (ResFile *resfile, const char *rfname);
39 extern void deinitResFile (ResFile *resfile);
40 extern uint8_t *loadResFile (ResFile *resfile, int idx, int *rsz);
42 extern uint8_t *tryDiskFile (const char *fname, int *rsz);
43 extern uint8_t *loadDiskFileEx (const char *diskname, int *rsz);
45 #ifndef AWISH_NO_SOUND
46 extern Mix_Chunk *loadDiskSoundFile (const char *fname);
47 extern Mix_Chunk *loadSoundFile (ResFile *resfile, int idx);
48 #endif
51 #endif