3 interface
5 (**
6 g_ReadResource
7 Read whole file from wad
9 g_ReadSubResource
10 Read whole file from folded wad
12 g_DeleteResource
13 Delete file from wad, res = 0 when ok
15 g_AddResource
16 Add/overwrite file to wad, res = 0 when ok
17 **)
20 procedure g_ReadSubResource (wad, section0, name0, section1, name1: String; out data: PByte; out len: Integer);
22 procedure g_AddResource (wad, section, name: String; const data: PByte; len: Integer; out res: Integer);
24 implementation
28 procedure g_AddResourceToDFWAD (wad, section, name: String; const data: PByte; len: Integer; out res: Integer);
30 begin
34 begin
35 (* do nothing *)
45 procedure g_AddResourceToZip (wad, section, name: String; const data: PByte; len: Integer; out res: Integer);
46 var
56 begin
64 begin
73 begin
75 begin
77 begin
81 else
85 end
87 list.Destroy
91 entry := name
92 else
105 procedure g_AddResource (wad, section, name: String; const data: PByte; len: Integer; out res: Integer);
107 begin
118 begin
122 begin
124 Exit
134 begin
140 begin
150 var
154 begin
160 begin
164 begin
167 //stream.ReadBuffer(data, len); (* leads to segfault *)
170 stream.Destroy
171 end
173 SFSGCCollect
176 procedure g_ReadSubResource (wad, section0, name0, section1, name1: String; out data: PByte; out len: Integer);
177 var
181 begin
190 begin
194 begin
196 begin
200 begin
203 //stream1.ReadBuffer(data, len); (* leads to segfault *)
206 stream1.Destroy
207 end
208 end
209 end
210 else
211 begin
212 stream0.Destroy
213 end
215 SFSGCCollect