我来详细解释一下,
" l( q; W2 b% F" F' Q+ Wopen FDDE DIR 1
! s# \- G6 Y9 E2 Xopen FDDE TOC 2 # d' D0 L7 g2 S0 L3 Y1 u) b4 i
相当于打开2个文件,后面的1,2相当于句柄& |1 c8 @# U! z, {
2 M) C: h6 z& c0 P0 w& r* S! n
do# w) x, w8 L0 j4 G r( L6 E
getdstring CHUNK 4 2
! O, {. a* M! V: O, o get DUNNO long 2 4 s* X6 }" ^4 L3 a
get DUNNO long 2
* @6 d) g( M! n! G3 A2 s get FILES long 2 ' Q' w9 m- r1 H8 K/ N6 w
get DUNNO long 2 ; L- @/ J' Y2 y. S. C. X& n
get DUNNO long 2
' C. e9 T( o: }3 Z get DUNNO long 2 7 S X7 V$ w+ X, i: V, E6 a: \
get DUNNO long 2 8 G' U: H. F2 b' i
while CHUNK != "REST"
8 U3 ?3 N$ b" L5 z7 r5 e, p2 F4 u* r @& d( U( k+ x. s: z5 k! u0 m
这段主要是打开TOC ,读取文件数FILES 。 |, q5 |5 D/ V
你算算FILES 就能分析出是BE还是LE的。1 Z4 h& d, F- C
* \9 U; {/ i$ w. i( i2 _
后面2段是
. t& A7 O5 a! c6 g: e读取toc里面的每个文件的SIZE ,offset' e+ n+ u0 P- Q1 z: ^( z
读取dir里面的每个文件的NAMEOFF ,NAME
, d5 X* \' \1 S$ c2 r/ t最后根据每个文件的SIZE ,offset,NAME到dat里面把每个文件切出来。1 N4 C ?; m9 @+ N2 b) ?* J. E
2 i" v. {7 N* \- m" O4 @该明白了吧? |