diff --git a/src/common/wadres.c b/src/common/wadres.c
index 99524cc1ed81ff2725e05221799f6151f6cf1a46..88583b78ece81075a003012b3c704177ced50cba 100644 (file)
--- a/src/common/wadres.c
+++ b/src/common/wadres.c
static int n_wads;
static int n_resources;
-static Reader *wads[MAX_WADS];
+static Stream *wads[MAX_WADS];
static Entry resources[MAX_RESOURCES];
-static int check_header (Reader *r) {
+static int check_header (Stream *r) {
assert(r != NULL);
char ident[4];
- r->setpos(r, 0);
+ stream_setpos(r, 0); // !!!
stream_read(ident, 4, 1, r);
return (memcmp(ident, "IWAD", 4) == 0) || (memcmp(ident, "PWAD", 4) == 0);
}
-int WADRES_addwad (Reader *r) {
+int WADRES_addwad (Stream *r) {
assert(r != NULL);
if (n_wads < MAX_WADS && check_header(r)) {
wads[n_wads] = r;
return -1;
}
-static int WADRES_read (Reader *r) {
- r->setpos(r, 4); // skip magic
+static int WADRES_read (Stream *r) {
+ stream_setpos(r, 4); // skip magic
int32_t n = stream_read32(r);
int32_t dir = stream_read32(r);
- r->setpos(r, dir);
+ stream_setpos(r, dir);
int ok = 1;
for (int32_t i = 0; ok && i < n; ++i) {
Entry e;
return n_resources;
}
-Reader *WADRES_getbasereader (int id) {
+Stream *WADRES_getbasereader (int id) {
assert(id >= 0 && id < n_resources);
return wads[resources[id].f];
}
void WADRES_getdata (int id, void *data) {
assert(id >= 0 && id < n_resources);
- Reader *r = wads[resources[id].f];
- long pos = r->getpos(r);
- r->setpos(r, resources[id].offset);
+ Stream *r = wads[resources[id].f];
+ long pos = stream_getpos(r);
+ stream_setpos(r, resources[id].offset);
stream_read(data, resources[id].size, 1, r);
- r->setpos(r, pos);
+ stream_setpos(r, pos);
}