我来详细解释一下,$ U4 V0 w8 r j
open FDDE DIR 1
% i, Y& H0 G! d2 x! n3 h4 [open FDDE TOC 2
1 p* O' O6 e# M% K) k7 j, T相当于打开2个文件,后面的1,2相当于句柄
9 K) C# z; Y+ g+ W2 b% q2 _& C+ `$ U- ?
do% ?( I! Q) F) m+ z8 ^1 ~! b7 K2 d3 ]
getdstring CHUNK 4 2# X" i& y( @/ Z1 V$ ^: o; C* W# a
get DUNNO long 2
U* c( E, D9 L3 |$ ~. j1 b get DUNNO long 2 , B* s8 l' m5 F! |- `+ b
get FILES long 2
% a& D, r* U, u- x get DUNNO long 2
( O, W' B2 {* s6 x% m1 { get DUNNO long 2 2 p# O- d/ w& ?( Y$ x9 _6 I9 U$ O
get DUNNO long 2
0 k, x, i- S# A+ ~+ ~! i% Q1 r get DUNNO long 2 5 \: _9 C5 z" K
while CHUNK != "REST"$ @+ N' Z" R/ I$ }* ?
( X$ d, l, ^7 V3 r. c
这段主要是打开TOC ,读取文件数FILES 。
& x1 F/ L6 H4 i( D6 ~0 ?& I你算算FILES 就能分析出是BE还是LE的。
1 s5 n) W( w' b1 h8 [- }2 H, _, s# x8 K+ n
后面2段是# T; f; a% E& D* H! {/ L7 y
读取toc里面的每个文件的SIZE ,offset
3 `- p; j! Q/ ~- F5 v读取dir里面的每个文件的NAMEOFF ,NAME
$ `, ^- z Q9 z2 P4 y$ S最后根据每个文件的SIZE ,offset,NAME到dat里面把每个文件切出来。
! w: G2 ^6 h4 R! p; Y \6 U4 [3 U
4 i4 `* ^/ y# Q6 R$ C4 E5 V7 H该明白了吧? |