1 /*
2
3 Copyright (C) 2018 Shockolate Project
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 */
19
20 #include "afile.h"
21 #include "res.h"
22
AfilePrepareRes(Id id,Afile * afile)23 int32_t AfilePrepareRes(Id id, Afile *afile) {
24
25 // Grab the raw data and let the library deal with it.
26 uint8_t *ptr = ResLock(id);
27 int size = ResSize(id);
28 MFILE *mf;
29
30 mf = (MFILE *)malloc(sizeof(MFILE));
31 mf->p = (unsigned char *)malloc(size);
32 memcpy(mf->p, ptr, size);
33 mf->size = size;
34 mf->pos = 0;
35
36 ResUnlock(id);
37
38 int32_t error = AfileOpen(afile, mf, AFILE_MOV);
39
40 return error;
41 }
42