我来详细解释一下," y3 P9 {, M. Q U1 y4 b0 ~' g( z/ G
open FDDE DIR 1
; g, O7 D4 e- b) B+ sopen FDDE TOC 2
x4 k$ e. Q% {. [% P相当于打开2个文件,后面的1,2相当于句柄
* H5 b* {2 W; T" s2 q+ Y
7 w) {0 Q9 L# H5 s; n6 j) L. Bdo0 ~! T& v$ I, m* v$ H7 _
getdstring CHUNK 4 2
& y) U- u/ R! r* I- t get DUNNO long 2
9 H0 a q4 {! ^6 P get DUNNO long 2 ' Z/ B7 a7 T) {, d( s0 W
get FILES long 2 9 m: Q9 \' N7 p( `0 `9 O
get DUNNO long 2
/ q7 J; R2 \0 o& n1 z9 B, N5 u, @ get DUNNO long 2 - Q# }6 A) @( E _, p) t( o4 S
get DUNNO long 2
8 X( @# H' ?3 x1 d; x. ?. L get DUNNO long 2
6 a# q u( t+ {; G; U0 M! e$ ?while CHUNK != "REST"1 s* ^6 f, P {- ?' S- P7 {, ]
. J4 A' b4 p; R6 z8 A
这段主要是打开TOC ,读取文件数FILES 。
2 l* R, u) W4 h5 \. m% n你算算FILES 就能分析出是BE还是LE的。; Z5 l T9 y) o
3 s/ ?) }. V" H% h
后面2段是" I- G% }& M5 z: D/ a9 P9 l) m
读取toc里面的每个文件的SIZE ,offset! u( E: P7 ~/ G5 [9 Q3 H
读取dir里面的每个文件的NAMEOFF ,NAME" Q1 V3 \+ `4 b/ d% S
最后根据每个文件的SIZE ,offset,NAME到dat里面把每个文件切出来。
Y; N0 N: h! R6 P. T$ v; `3 }+ a7 D" R# h$ A+ s% q# c; k
该明白了吧? |