游客:
注册
|
登录
会员
|
搜索
|
统计
|
帮助
轩辕春秋文化论坛
»
设计与修改
» 求助 关于data的结构
兴唐传·瓦岗山异闻录(20150519版)发布
(2015-5-19)
论坛营运现状公告
(2014-8-10)
三国志12pk版下载
(2013-4-20)
《精忠报国岳飞传》制作组对外开放
(2013-1-16)
岳飞传解密剧本发布
(2011-4-12)
招募各版斑竹和网站管理技术人员
(2006-4-19)
<< 上一主题
|
下一主题 >>
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
|
开通个人空间
|
加入资讯
标题: 求助 关于data的结构
岱瀛
(deving)
长平侯
川峡东路经略使
监管使
组别
经略使
级别
左将军
好贴
1
功绩
2293
帖子
1370
编号
55810
注册
2005-12-22
来自
人间
家族
慕容世家
#1
发表于 2007-4-29 22:25
资料
个人空间
短消息
看全部作者
Data文件,可以简单的理解成游戏的本地库吧。原来是经过LS算法压缩过的,不过这个在long long ago 就有Van大的破解LS压缩算法的反压缩了。
我们现在做的MOD,全部用的Data事实上都是解压过的。叶落的修改器我记得是带有解压功能的。
那么,对于解压后的Data文件,事实上他已经就没有秘密可言了。
而exe和data的关系是什么呢?
exe是游戏的核心引擎,他要一些初始数据,从Data中读取,根据曹操传引擎的特征,应该说很多小型的桌面或者客户端程序,对简单的本地库也常用这种做法,就是一次性把数据Load进内存。
这个Data文件有个很重要的特征,是只读的,不写的,这也是过去他用LS算法压缩的原因。LS压缩率不高,但是解压方便快捷,能一次解压Load进内存,由于数据的不更改性,他无需压回去。
象曹操传,存储用户数据的是存档,那个才带有写入功能。
这是存档和Data作为数据方面相比的差异性。但是,他们运行的时候,都是一次性的加载入内存,而不会去时时I/O读取的。
那么,回过头再看Data,楼主的想法问题。
解压后的Data,其实已经基本就是一份内存中的拷贝了。 所以说,你可以随意的改变Data的内容,Data的结构,(过去压缩的就不行,改完就解不了了),但是,随意修改Data的内容,Data的结构,有效吗?
答案是,如果Exe不跟随变更,显然无效。
楼主可以搜索下ssbye的关于曹操传FPE修改的贴子,你会发现,里面内存中的值多么的似曾相识。
修改Data,比如东方教主以前的扩展1024Data,首先就是得在exe的进程空间中分配出新的一块足够的内存空间来存放这1024人的资料。
而Data的扩展,只是二进制文件长短的变化而已。从文件的哪个位置,哪个字节的划分,那全是在exe里的控制的。
C语言的fseek函数,不知道楼主了解否。
另外一个关于Data变化的,就是五围从单字节改成双字节,这其实也是这样的道理。但是那个改动没有破坏Data的结构,只是把表示名字的字节空间给缩了,盈出字节来记录五围,exe里相应的读五围的代码改动下就完成了。这个其实也是楼主想横向扩展Data的一种可借鉴的方法。不过只改Data,不动Exe那是远远没那么便宜的事情的。还有,象你说的那种义理,斗志等类似增加五围到六围,七围的做法,还要考虑去修改exe的资源,至少得让武将信息里能显示出来吧。这些也是需要修改exe的。
扩展Data的例子还有,比如隋唐的扩展宝物总量。
还有听姑姑说轩辕传里也扩展过策略的总数。
这些都是扩展Data的做法。当然,你所谓的纵向的比较多。其实就是一偏移的问题。
当然了,纵的比横的扩展好扩,特别是如果横的那种扩展,不是从原来的信息里盈出字节,而是扩展字节那样。
这个有点类似于数据库里,增加记录总是比加字段改变表结构遇见的问题来得简单。
楼主用UE探索Data的精神还是需要鼓励的。作为一个Moder,正需要这种精神。不断探索,不断尝试是MOD进步的要求。
所以,哪怕现在你真的不想改exe,在这Data里的数字中,也说不定能玩出自己的花样来。
--------------------------
不过,又想多说几句。个人觉得曹操传引擎的Modify已经是达到了一种比较颠峰的境界了,本区名为设计与修改,当然也得提倡下设计的气氛。
OO世界里,本人对其中的一条 开闭原则倒是颇为认同。 面向修改关闭,面向新增开放。不过这和MOD似乎是背离的。不过,能达到目的就是好事吧。
所以,我个人对曹操传的修改,更喜欢的一种手法是封存其原来的,新添我们自己的。原来的有用则存,无用则封,现在的需要则增。
瓦岗的exe,我把战场特殊形象就给迁移出来,没有象过去那样存在于exe中,这部分数据,本来应该是在Data里的,更应该是在Data的个人信息里的,不过以开闭的设计原则,我自己就建立了一个person.wa的文件,其中的信息就有每个人的战场特殊形象的信息,是1024人都有的。
还有,数据信息的存放我也没有混进原来的存档中,而是单独建立一个b类型的存档。
象绝招,指针变量,整数变量这些新增内容,其实都存放在B存档中,这也是叶落说发现原来三个存档没什么变化的原因所在。
---------------
直接的下手修改,还是以封,存,添的设计手法修改,其实目的也都是为了心中期望的效果。
难易和繁琐程度嘛,修改也许容易,却不容易维护,而且容易出BUG。而设计手法虽然麻烦,虽然写的辛苦,却BUG能控制住,维护简单。
两者因人而异,楼主愿意研究也可相互参详。
[广告]
安装Alexa工具条,提高轩辕排名,支持轩辕发展!
投票
交易
悬赏
活动
正在浏览此帖的会员 - 共
6
人在线
轩辕春秋文化论坛
轩辕史话
> 炎黄春秋
> 我思我在
> 法律探讨
> 三国史话
春秋文艺
> 古典小说
> 诗词歌赋
> 现代文艺
> 韦编三绝
> 对联雅座
> 滴翠亭
> 藏经阁
> 双七钟社
> 笑书神侠
> 辕门射虎
> 虎帐点兵
游戏人生
> 同人战棋手游
> 三国戏英杰传
> 三国鼎立
> 轩辕公会
> 三国志12
> 英雄史诗
> 运筹帷幄
> 人间五十年
> 步步为营
> 游行天下
> 游戏贴图
轩辕工作室
> 兴唐传·瓦岗山异闻录
> 豪华曹操传
> 精忠报国岳飞传
> 《精忠报国岳飞传》制作组
> 大一统演义
> 曹操传MOD作品交流
> 东吴霸王传
> 封神英杰传
> 杨家将
> 吕布传
> 三国无双战略版
> 北宋志·赵匡胤传
> 战旗春秋
> 曹操传MOD制作交流
> 金庸群侠传MOD交流
> 风华录
> 设计与修改
怡情岁月
> 影音经典
> 动漫先锋
> 绘画摄影
> 情感轩辕
> 衣食住行
> 体坛动力
> 谈股论金
> 水泊轩辕
参政议政
> 迎宾阁
> 鸿胪寺
> 登闻鼓
> 监造府
当前时区 GMT+8, 现在时间是 2024-9-13 06:35
京ICP备2023018092号
轩辕春秋
2003-2023 www.xycq.org.cn
Powered by
Discuz!
5.0.0
2001-2006
Comsenz Inc.
Processed in 0.008283 second(s), 9 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
轩辕春秋
-
Archiver
-
WAP
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计