设为首页收藏本站官方微博

汉化工具 Shockwave Director dcr/dir/dxr/cst dumper

[复制链接]
查看: 3879|回复: 0
打印 上一主题 下一主题

[汉化工具] Shockwave Director dcr/dir/dxr/cst dumper

跳转到指定楼层
楼主
发表于 2011-4-29 06:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Shockwave Director dcr/dir/dxr/cst dumper

本帖最后由 shane007 于 2011-4-29 06:41 编辑 3 P& m/ @* k8 ?5 @7 i; f# g

) G* C( R- J# `; R勤快的老外又放出了这个好东西,配合quickbms使用。
, ]. V2 _; a- y' I, Z好多小游戏都是用Shockwave Director做的,包括神秘视线。: d: q" _: N& k- t4 x: o% d
如果能做出打包器的话,就又能解决好多游戏的汉化了。
  1. # Shockwave Director dcr/dir/dxr/cst dumper( P/ M, F. y& b, N  K. v! r+ Q
  2. # script for QuickBMS http://aluigi.org/papers.htm#quickbms
    - r7 d5 G+ l+ o. y0 Y' Y
  3.   F7 y# x0 E& r
  4. quickbmsver 0.4.11
    ) Y- U& g! y6 D' E9 j% d3 k$ M, {" `
  5. getdstring RIFX_SIGN 4* Y* z5 q8 x; P) ]* \3 ^
  6. if RIFX_SIGN == "RIFX"
    # i% V& @: b8 H4 v/ A6 k- c
  7.     endian big4 D/ }  u# ]9 s. ~- o: D
  8. elif RIFX_SIGN == "XFIR"0 M+ |8 e+ v8 S$ u( q: L% C
  9.     endian little
    : l& e/ K# h4 f+ W% a
  10. else
    ( M+ j" |$ U4 ^9 U  y- p& V
  11.     cleanexit
    5 z$ g& F/ B; w
  12. endif
    1 y3 y  Z/ q0 f" D# R% `
  13. get SIZE long5 ~  I2 k$ n6 F: _8 l
  14. get SIGN long6 q1 W, H& X$ T
  15. if SIGN == 0x4647444d5 i& t# K  s# n2 o. F4 j& j% d
  16.     get NAME fullname$ i; a' [( \0 B' U5 k1 r) y
  17.     get FOLDER current_folder
    2 s( ?7 \9 W3 k
  18.     print "\nyou must use offzip with this file:\nhttp://aluigi.org/mytoolz.htm#offzip\n\n  offzip -a \"%NAME%\" \"%FOLDER%\" 0"2 s& H& }; j& Y# v
  19.     cleanexit8 N9 s$ ?* a: V7 ^* q2 G! R4 K! J7 v
  20. endif' s  M; H9 S; |2 E" W) ~9 m! e

  21. - h* T) b* B) i0 U
  22. set FIRST = 1
    ! y% g& E! L% ?  l
  23. for i = 0
    & ]  F0 V; w! P* }
  24.     savepos CURR_OFFSET3 `; [4 r" M: w! j: t
  25.     getdstring SIGN 4
    ! A$ T9 z8 U! o- D1 _
  26.     if RIFX_SIGN != "RIFX"  `% j! h& a' {5 t8 J
  27.         string SIGN r= SIGN# v9 S; k% L1 o& G7 x
  28.     endif3 H9 P+ c, L- F9 z

  29. : |. H7 L- ~9 l/ x6 \0 O
  30.     math SKIP_SIZE = 0x10
    . z/ H4 Q( S, N4 {$ f- U$ Z" u
  31.     if SIGN == ""
    * v$ R5 j* ]- z" y& J
  32.         cleanexit
    & {7 W( Q* P/ U9 S
  33.     elif SIGN == "RIFX"
    # Y4 J8 k2 j3 g; W4 b4 W- E( \/ q
  34.     elif SIGN == "imap"
    , i3 ^- P* r3 Z0 H
  35.         if FIRST != 0
    . k/ _4 _! q1 ?8 a0 @! o8 U
  36.             get DUMMY long" w7 V* F. Q& V6 h4 a. x
  37.             get DUMMY long
    # d1 l$ N& I$ r6 g
  38.             get OFFSET long& y" ^1 r; R9 |, S! V
  39.             if OFFSET > CURR_OFFSET) O% F; w( i( O- h, G
  40.                 goto OFFSET
    & H) y* x, \' {
  41.                 math SKIP_SIZE = 0
    . A6 _0 R6 z$ Y+ ~" p
  42.             endif- w3 Y" N' J, Q) @/ Z! j
  43.         endif
    " S& E/ ~0 F$ `2 x, E
  44.     elif SIGN == "mmap"! q; \% x8 z/ q9 S# y
  45.         if FIRST != 0
    + T& O# N. S  L! Z/ ?+ J. u
  46.             math SKIP_SIZE = 0x1c7 p3 T6 z; U& v5 o3 \+ o
  47.             set FIRST = 0+ j* v" F! B( W% H
  48.         endif6 v4 t: e) @5 b' K# y9 N
  49.     # filters start here4 e6 L( R) X9 e* O5 o
  50.     elif SIGN == "VERS"# }7 d$ `8 ?( ?6 S5 J/ F8 P
  51.     elif SIGN == "CASt"
    9 c5 ?1 u3 s& y3 P
  52.     elif SIGN == "CAS*"
    : `. I8 ~; k. n0 F: J
  53.     elif SIGN == "Lctx"
    : E/ n2 L. q  z, t1 k* N2 U# @
  54.     elif SIGN == "LctX"' H# u$ G4 a# _' E+ x9 r0 M" C
  55.     elif SIGN == "Lnam"
    - \3 k, G/ e9 p# a, B
  56.     elif SIGN == "Lscr") ?. f5 r7 S- u) K6 O" ]9 P8 u
  57.     elif SIGN == "Cinf"
    5 F/ }6 g1 D# a
  58.     elif SIGN == "GRID"* E, J; f( }: k6 w
  59.     elif SIGN == "FCOL"8 I* K7 g& E# A5 v7 y7 A1 d# [
  60.     elif SIGN == "MCsL"7 k7 ~5 F: _8 q' s8 t
  61.     elif SIGN == "DRCF"
    5 _8 r! S3 [% r1 z5 L9 _
  62.     #elif SIGN == "BITD"    # 16bit images& U4 d6 [, h" ?1 ?. W2 }' D
  63.     #elif SIGN == "ALFA"    # alpha channel0 Q# ^5 k$ c/ M
  64.     #elif SIGN == "sndS"    # 16bit audio
    1 `/ U* |" Y/ c4 {
  65.     elif SIGN == "sndH"
    3 _$ o4 g  N" m$ G
  66.     elif SIGN == "Sord"& I7 L( c2 W1 T: [. a
  67.     elif SIGN == "free"
    ( f: O/ h# P4 Z0 I
  68.     elif SIGN == "junk"! v+ ]# G; y# j/ @
  69.     elif SIGN == "Thum"
    $ U% ^( S$ G6 \- H7 ^/ q
  70.     elif SIGN == "KEY*"
    ; G( k& j8 G0 d: Z8 R6 i+ \+ |
  71.     elif SIGN == "FXmp"
    . p1 ^; g; J+ z4 T+ ~
  72.     elif SIGN == "Fmap") u: V# ?# _8 g6 W1 `4 }
  73.     elif SIGN == "PUBL"; p0 Q& h9 x1 U0 I7 s: g$ [
  74.     elif SIGN == "SCRF"
    : }( e/ D. w, x' a1 x3 L
  75.     elif SIGN == "VWFI"( h# q" O) v. a
  76.     elif SIGN == "VWSC"
    ! q0 T2 D# v3 s6 Y8 U
  77.     elif SIGN == "VWLB"9 i+ R$ I  r' t- L8 H  @
  78.     elif SIGN == "VWTL"
    * Y/ M3 @) P% k7 P2 l/ ~9 T% B
  79.     elif SIGN == "XTRl"
    1 I0 ?. Q# K6 i* _+ ~( _: P6 ~. E
  80.     elif SIGN == "ccl "
    " A" `  T! X2 u9 {6 |7 k6 P
  81.     elif SIGN == "SCVW", W6 \6 ?3 [: }3 @* P
  82.     elif SIGN == "Lval"6 B4 v. m* r- e6 x  d
  83.     elif SIGN == "cupt"% k- p4 g! ^3 h7 r: e, u
  84.     elif SIGN == "CLUT"' g  ?9 J1 D9 p9 h9 @2 Z
  85.     # filters end here
    5 Z6 q) e0 d" H' p
  86.     else
    3 F! @2 m5 M  C/ F- L+ J
  87.         # skip the above ones and dump the others
    # _! s2 o2 H1 R
  88.         math SKIP_SIZE = -1# T' H: l* I+ ]# k2 ~
  89.     endif
    5 S; @- c3 B: Z" |7 u, f

  90.   w" }/ f7 Q6 b" E1 Q' T  \
  91.     if SKIP_SIZE < 0( ]7 E0 O  W  v: j
  92.         get SIZE long6 ]8 f6 Y' |5 h( _
  93.         get OFFSET long! ~0 Y/ U* Z- H# b' u9 i% j
  94.         if SIZE > 81 j5 A5 E0 K1 ]/ a, V6 y
  95.             math OFFSET += 8
    6 F/ K/ ^3 z$ c0 v+ Y% R0 V
  96.             math SIZE   -= 8) e7 v0 i5 O8 A: O, `
  97.             set NAME string ""
    7 R. ~' C3 a) H+ T
  98.             if SIGN == "XMED"
    7 q! A+ E8 [% s4 }4 P' z: N' k
  99.             elif SIGN == "ediM": N/ D% Z7 j4 k
  100.             else% ^$ ?! W" q$ }3 a; _
  101.                 set NAME string SIGN/ v! n1 @  @. S( s5 C9 H
  102.                 string NAME += /
    4 m8 v% k- I5 W5 ^: x/ ]
  103.                 string NAME += i$ p5 ]3 t) s7 C( _) \( ?) l) ?
  104.                 string NAME += ".dat"
    8 o$ k- j& J& a1 i
  105.             endif
    & ~" T$ w2 l1 ?  u
  106.             log NAME OFFSET SIZE
    0 t/ V. ^" P7 z. f2 |, @5 C6 p
  107.         endif- {; L( T  E# J( D5 g: ]
  108.         get DUMMY long, c  u, c$ ^. o' a. ]
  109.         get DUMMY long5 ~' n$ p( R: `) w8 X% t: m& f
  110.     else
    $ p3 h* O7 y7 P1 U, R, z
  111.         getdstring DUMMY SKIP_SIZE. @, W: Z3 j. K6 O9 f! N2 U5 ^
  112.     endif* `  n5 T$ [/ M) x# |6 B
  113. next i
    : N5 C, |+ L* C5 m9 d& e
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表