memset (&pak->header, 0, sizeof(pak_header_t));
fs_file_read (&pak->header, sizeof(pak_header_t), 1, pak->handle);
- util_endianswap(&pak->header, 1, sizeof(pak_header_t));
+
+ util_endianswap(&pak->header.magic, 1, sizeof(pak->header.magic));
+ util_endianswap(&pak->header.diroff, 1, sizeof(pak->header.diroff));
+ util_endianswap(&pak->header.dirlen, 1, sizeof(pak->header.dirlen));
/*
* Every PAK file has "PACK" stored as FOURCC data in the
for (itr = 0; itr < pak->header.dirlen / 64; itr++) {
pak_directory_t dir;
fs_file_read (&dir, sizeof(pak_directory_t), 1, pak->handle);
- util_endianswap(&dir, 1, sizeof(pak_directory_t));
+
+ /* Don't translate name - it's just an array of bytes. */
+ util_endianswap(&dir.pos, 1, sizeof(dir.pos));
+ util_endianswap(&dir.len, 1, sizeof(dir.len));
vec_push(pak->directories, dir);
}