author | Ryan C. Gordon <icculus@icculus.org> |
Mon, 06 Sep 2010 19:35:01 -0400 | |
changeset 1129 | d81afe4b0a97 |
parent 1128 | 067d8e76261e |
child 1203 | 55f147714ce2 |
permissions | -rw-r--r-- |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
1 |
/* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
2 |
* HOG support routines for PhysicsFS. |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
3 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
4 |
* This driver handles Descent I/II HOG archives. |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
5 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
6 |
* The format is very simple: |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
7 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
8 |
* The file always starts with the 3-byte signature "DHF" (Descent |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
9 |
* HOG file). After that the files of a HOG are just attached after |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
10 |
* another, divided by a 17 bytes header, which specifies the name |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
11 |
* and length (in bytes) of the forthcoming file! So you just read |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
12 |
* the header with its information of how big the following file is, |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
13 |
* and then skip exact that number of bytes to get to the next file |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
14 |
* in that HOG. |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
15 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
16 |
* char sig[3] = {'D', 'H', 'F'}; // "DHF"=Descent HOG File |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
17 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
18 |
* struct { |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
19 |
* char file_name[13]; // Filename, padded to 13 bytes with 0s |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
20 |
* int file_size; // filesize in bytes |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
21 |
* char data[file_size]; // The file data |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
22 |
* } FILE_STRUCT; // Repeated until the end of the file. |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
23 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
24 |
* (That info is from http://www.descent2.com/ddn/specs/hog/) |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
25 |
* |
809
116b8fe30371
Renamed LICENSE to LICENSE.txt
Ryan C. Gordon <icculus@icculus.org>
parents:
808
diff
changeset
|
26 |
* Please see the file LICENSE.txt in the source's root directory. |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
27 |
* |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
28 |
* This file written by Bradley Bell. |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
29 |
* Based on grp.c by Ryan C. Gordon. |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
30 |
*/ |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
31 |
|
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
32 |
#if (defined PHYSFS_SUPPORTS_HOG) |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
33 |
|
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
34 |
#define __PHYSICSFS_INTERNAL__ |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
35 |
#include "physfs_internal.h" |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
36 |
|
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
37 |
static inline int readAll(PHYSFS_Io *io, void *buf, const PHYSFS_uint64 len) |
1098
4e86cec1143f
Moved all the file i/o from stdio-style to POSIX-style.
Ryan C. Gordon <icculus@icculus.org>
parents:
1054
diff
changeset
|
38 |
{ |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
39 |
return (io->read(io, buf, len) == len); |
1098
4e86cec1143f
Moved all the file i/o from stdio-style to POSIX-style.
Ryan C. Gordon <icculus@icculus.org>
parents:
1054
diff
changeset
|
40 |
} /* readAll */ |
4e86cec1143f
Moved all the file i/o from stdio-style to POSIX-style.
Ryan C. Gordon <icculus@icculus.org>
parents:
1054
diff
changeset
|
41 |
|
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
42 |
static UNPKentry *hogLoadEntries(PHYSFS_Io *io, PHYSFS_uint32 *_entCount) |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
43 |
{ |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
44 |
const PHYSFS_uint64 iolen = io->length(io); |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
45 |
PHYSFS_uint32 entCount = 0; |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
46 |
void *ptr = NULL; |
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
47 |
UNPKentry *entries = NULL; |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
48 |
UNPKentry *entry = NULL; |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
49 |
PHYSFS_uint32 size = 0; |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
50 |
PHYSFS_uint32 pos = 3; |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
51 |
|
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
52 |
while (pos < iolen) |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
53 |
{ |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
54 |
entCount++; |
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
55 |
ptr = allocator.Realloc(ptr, sizeof (UNPKentry) * entCount); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
56 |
GOTO_IF_MACRO(ptr == NULL, ERR_OUT_OF_MEMORY, hogLoad_failed); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
57 |
entries = (UNPKentry *) ptr; |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
58 |
entry = &entries[entCount-1]; |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
59 |
|
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
60 |
GOTO_IF_MACRO(!readAll(io, &entry->name, 13), NULL, hogLoad_failed); |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
61 |
pos += 13; |
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
62 |
GOTO_IF_MACRO(!readAll(io, &size, 4), NULL, hogLoad_failed); |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
63 |
pos += 4; |
1098
4e86cec1143f
Moved all the file i/o from stdio-style to POSIX-style.
Ryan C. Gordon <icculus@icculus.org>
parents:
1054
diff
changeset
|
64 |
|
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
65 |
entry->size = PHYSFS_swapULE32(size); |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
66 |
entry->startPos = pos; |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
67 |
pos += size; |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
68 |
|
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
69 |
/* skip over entry */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
70 |
GOTO_IF_MACRO(!io->seek(io, pos), NULL, hogLoad_failed); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
71 |
} /* while */ |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
72 |
|
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
73 |
*_entCount = entCount; |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
74 |
return entries; |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
75 |
|
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
76 |
hogLoad_failed: |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
77 |
allocator.Free(entries); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
78 |
return NULL; |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
79 |
} /* hogLoadEntries */ |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
80 |
|
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
81 |
|
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
82 |
static void *HOG_openArchive(PHYSFS_Io *io, const char *name, int forWriting) |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
83 |
{ |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
84 |
PHYSFS_uint8 buf[3]; |
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
85 |
PHYSFS_uint32 entryCount = 0; |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
86 |
UNPKentry *entries = NULL; |
1118
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
87 |
|
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
88 |
assert(io != NULL); /* shouldn't ever happen. */ |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
89 |
BAIL_IF_MACRO(forWriting, ERR_ARC_IS_READ_ONLY, 0); |
2e09fc635fdd
Abstracted file i/o into PHYSFS_Io interface.
Ryan C. Gordon <icculus@icculus.org>
parents:
1115
diff
changeset
|
90 |
BAIL_IF_MACRO(!readAll(io, buf, 3), NULL, 0); |
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
91 |
BAIL_IF_MACRO(memcmp(buf, "DHF", 3) != 0, ERR_NOT_AN_ARCHIVE, NULL); |
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
92 |
|
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
93 |
entries = hogLoadEntries(io, &entryCount); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
94 |
BAIL_IF_MACRO(entries == NULL, NULL, NULL); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
95 |
return UNPK_openArchive(io, entries, entryCount); |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
96 |
} /* HOG_openArchive */ |
1054
57f4af811ffb
THIS is Christoph's PHYSFS_stat() work.
Ryan C. Gordon <icculus@icculus.org>
parents:
1053
diff
changeset
|
97 |
|
57f4af811ffb
THIS is Christoph's PHYSFS_stat() work.
Ryan C. Gordon <icculus@icculus.org>
parents:
1053
diff
changeset
|
98 |
|
658
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
99 |
const PHYSFS_ArchiveInfo __PHYSFS_ArchiveInfo_HOG = |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
100 |
{ |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
101 |
"HOG", |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
102 |
HOG_ARCHIVE_DESCRIPTION, |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
103 |
"Bradley Bell <btb@icculus.org>", |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
104 |
"http://icculus.org/physfs/", |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
105 |
}; |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
106 |
|
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
107 |
|
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
108 |
const PHYSFS_Archiver __PHYSFS_Archiver_HOG = |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
109 |
{ |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
110 |
&__PHYSFS_ArchiveInfo_HOG, |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
111 |
HOG_openArchive, /* openArchive() method */ |
1128
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
112 |
UNPK_enumerateFiles, /* enumerateFiles() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
113 |
UNPK_openRead, /* openRead() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
114 |
UNPK_openWrite, /* openWrite() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
115 |
UNPK_openAppend, /* openAppend() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
116 |
UNPK_remove, /* remove() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
117 |
UNPK_mkdir, /* mkdir() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
118 |
UNPK_dirClose, /* dirClose() method */ |
067d8e76261e
Moved most the cut-and-paste between simple archivers to one file.
Ryan C. Gordon <icculus@icculus.org>
parents:
1125
diff
changeset
|
119 |
UNPK_stat /* stat() method */ |
658
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
120 |
}; |
1981818c6170
Removed all the forward declaration cruft from the archivers.
Ryan C. Gordon <icculus@icculus.org>
parents:
657
diff
changeset
|
121 |
|
553
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
122 |
#endif /* defined PHYSFS_SUPPORTS_HOG */ |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
123 |
|
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
124 |
/* end of hog.c ... */ |
4338d9c0bbcd
Descent I/II HOG and MVL archive support (thanks, Bradley Bell!).
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
125 |