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

汉化任务 金发美女的懒汉打包工具(scgame请进)

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

[汉化任务] 金发美女的懒汉打包工具(scgame请进)

跳转到指定楼层
楼主
发表于 2010-4-13 23:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

金发美女的懒汉打包工具(scgame请进)

scgame
6 O, [% s- I- A& _2 a. b  \
8 a+ x' ]+ @( t. a* u7 v你好,请在完成前一个小任务以后,抽时间完成一下这个金发美女的懒汉打包工具。
4 z; s8 w( y: u# q( F7 i* F$ J请先看一下下面这个帖子# @' M2 M9 x5 F7 M# y7 f" y6 T; q
【神秘岛4汉化项目】懒汉式打包新方法 5 B* D4 U" X0 q, M; P
https://www.chinaavg.com/read.php?tid=19892&keyword=%C0%C1%BA%BA5 w$ b9 R! |0 f/ C
相关帖子
) ^- V4 `6 Q1 I+ V金发美女正式版的解包和打包工具  }' o( ?. [- k5 I- n" g7 C3 V4 n
https://www.chinaavg.com/read.php?tid=21364
; u+ L$ n. O% U$ r细节大致如下
, }, E  T3 S1 A( \6 L, z8 P.TOC 存放了SIZE和OFFSET,.DIR存放了文件名OFFSET和文件名。5 o  S' T" D9 V1 E/ d4 `
工具大致用法如下
" K& X4 f; E: c0 Y" o, Rpack.exe filelist.txt foldername
* [, F: x, v# f" Y4 x0 i2 K6 Zfilelist.txt里存放了修改后的文件列表,foldername是修改后的文件保存目录。
0 p5 u& o* W6 epack.exe把文件列表的文件逐个加入到.DAT的尾部,并修改.TOC,.DIR,使游戏找到我们修改后的文件。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

9#
发表于 2011-5-29 19:20 | 只看该作者
mark
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2010-4-20 11:19 | 只看该作者
我来详细解释一下,
" 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 @该明白了吧?
回复 支持 反对

使用道具 举报

7#
发表于 2010-4-20 10:51 | 只看该作者
哦,上面一段是写包?
回复 支持 反对

使用道具 举报

6#
发表于 2010-4-20 10:47 | 只看该作者
这4个字节是Big Endian 还是Small Endian的啊
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2010-4-20 07:59 | 只看该作者
不明白的地方请继续提问。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2010-4-20 07:58 | 只看该作者
open FDDE DIR 10 \( Q: m& K9 e6 b- |
open FDDE TOC 2
- R+ k2 J/ O8 s8 W' s5 P$ }  h9 |do ; S! k. C' l; W: `9 [4 X" @
    getdstring CHUNK 4 24 Z6 I7 Q9 Y* P( U
    get DUNNO long 2" u4 l7 @* ?% Z+ |% Q
    get DUNNO long 2" V  h% O% E' B( H; V+ S! G
    get FILES long 2* w% d: r* [. l% k$ o
    get DUNNO long 2$ R0 F( T" c! C$ U
    get DUNNO long 2
+ ~- x( w8 ]2 O$ x) h' R& W    get DUNNO long 2$ b8 ^0 S! R, x1 f- y* w
    get DUNNO long 2
' F, X3 y9 @3 g) V7 L) Jwhile CHUNK != "REST"2 x" f7 z0 u% l3 F- F6 t' ~
savepos NAMEPTR 18 e9 H9 Z# C3 d) P0 h6 C" }5 _9 q( }! V4 t
for i = 1 to FILES
) n% K" e0 S9 R    get DUNNO long 2
8 K! {0 {$ m: K; w1 ?% e; p% `    get SIZE long 2: K0 x4 a. s! A& _3 B' Z% h
    math SIZE >>= 2
+ {# J" v9 U  |3 V% a! X# P) D    get OFFSET long 2" j" t( @, j2 v1 v
    goto NAMEPTR 13 i; c1 h, q1 r6 ?% L; Y$ G
    get NAMEOFF long 1; H- S) K" D3 S
    savepos NAMEPTR 1
1 c- w5 t) |6 c/ N. [! D( d5 X    goto NAMEOFF 1
1 V7 C( ^$ v0 K8 i/ B    get NAME string 1
1 g3 N2 C- K6 R" |/ N8 ?    log NAME OFFSET SIZE
! ~8 h+ D- C" `) jnext i+ s( x- D) |* T3 E0 X7 w3 p3 K

' O. ?& b/ \1 ^$ L, W9 Z; W
  f, s2 R4 g& ~7 d! S这是解包器* [" \& n! f7 n% X, `* f
( ?5 J) j" S3 S5 W( P
for 里面读取toc的部分,long就是4个字节
; H) H) i. ^( Q+ S/ S  get DUNNO long 22 Q) M  x* n+ X" |$ i
    get SIZE long 29 x$ F+ {5 w$ z
    math SIZE >>= 2
6 a+ K. Q3 h3 M$ D    get OFFSET long 2. w' j$ @6 F* Q! F1 `
* _1 [. |7 O; k/ b, ^' C
for 里面读取dir的部分,long就是4个字节
* }' C! ?2 i% X( K( T8 t' S    goto NAMEPTR 1
9 n5 C$ t8 q5 b! m/ @% t    get NAMEOFF long 1
( u2 {: `, N' B, D# `    savepos NAMEPTR 12 Z6 Z8 h- J$ i+ t( s* S
    goto NAMEOFF 1
  ?" z; |5 H2 y+ c    get NAME string 1
回复 支持 反对

使用道具 举报

板凳
发表于 2010-4-20 01:17 | 只看该作者
.DIR和.TOC的格式不是很明白2 z4 w5 E- X. {- s. x) ?$ r; T
是怎么对应SOBLOND.DAT的啊
" ?: _! P$ S' T  h能不能再详细得说一下这两个文件是怎么表示offset,和size的吗
. j" k  \- Z, D# d2 |我现在在想的步骤是:
! t( h5 _+ J* |! Q! f4 m; u1) 从DIR里读取文件名,获取他们的索引(1,2,3,4....)
. R  x$ p5 W8 t& v- W  ~- {2) 再通过索引和文件名和filelist.txt对比找到相应的.TOC和.DIR数据修改  a( L9 X( Q( }# C5 P5 f
3) 写入.dat
0 V6 I, ^9 y" r2 w1 g- ?4 u) T
" v# E: z; d' S& {嗯,不过还是请解释一下.DIR和.TOC& e' u3 N8 Q/ b4 A
我可以先写个读取文件名找索引的,然后和file.txt比较然后再来写入
回复 支持 反对

使用道具 举报

沙发
发表于 2010-4-13 23:56 | 只看该作者
先去下个看看
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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