我来详细解释一下,; E; O+ x: I, O: Q! y
open FDDE DIR 1 4 y/ V3 u% p9 p/ M
open FDDE TOC 2
( x1 A1 X. t) [' e N+ Q相当于打开2个文件,后面的1,2相当于句柄: f H s6 i% o( Y( U X6 d
9 O @5 w+ \: Y# `
do
. S1 x! B1 d- ]& H* K( c getdstring CHUNK 4 2
$ C5 ^6 b, O6 u3 d8 U get DUNNO long 2
% v' \6 \0 \ E get DUNNO long 2 , A" V4 c& H9 T/ i
get FILES long 2 % j* c# @, L& y. m& q- K
get DUNNO long 2
0 @; a, s- h# S' r. j, u, V& p get DUNNO long 2 3 Q% v; y) e3 z; I- \; Y7 b
get DUNNO long 2
2 c- R$ n& \0 W( ^ get DUNNO long 2 / W, A! ^7 q& ~7 f
while CHUNK != "REST"2 B& f; V1 s! `# B" e' G- e
. O" P4 v' I2 z' e) I& W这段主要是打开TOC ,读取文件数FILES 。/ ?1 w+ a% f) u& Q5 D x
你算算FILES 就能分析出是BE还是LE的。4 f" E% _' {8 d: ?7 U
5 O8 o( y4 Q/ v0 q; m# f5 J& }% A后面2段是
# `9 ]/ s$ S) m- Q. ^' z读取toc里面的每个文件的SIZE ,offset
$ g2 i3 n! I! z9 K" X- s* S+ K读取dir里面的每个文件的NAMEOFF ,NAME
- t5 B) ?) u( U$ s8 O8 f最后根据每个文件的SIZE ,offset,NAME到dat里面把每个文件切出来。
! _$ J8 a( S$ H; {) ~, p4 J+ I
+ V( l4 `& t$ |该明白了吧? |