Giter VIP home page Giter VIP logo

kkk_r18_patch's Introduction

KKK_r18_patch

关于神咒神威神乐 (kkk & 3k & kajiri kamui kagura)

light社在2011年发布了R18的游戏无印版,13年给游戏新增了剧情,并对剧情安排和剧本再次修改后发布了全年龄版的《神咒神威神楽 ·曙之光》。

主要区别在于:曙光删掉了所有hs,额外添加了五章的内容,并在开头提供了神代文语音解锁的功能。参见正田访谈

此补丁主要目的是帮玩家补完无印版内容,同时实现横版文字。受剧本限制,暂时不可能做出一个同时兼具老版和曙光版所有内容的补丁。所以采取了dies irae的DX英版的方案,让曙光补丁和无印版(r18)共存并共享资源文件。

目前进度

  • 用户界面均已修完,设定图字数36000+,目前佛系翻译了,有人愿意接一下最好
  • 咲耶的信,重新渣翻了一遍,有必要让日语大手子二校,修图3/4
  • r18版多余文本80/2649

尽量赶在di官汉发布后一起发布,毕竟kkk是di的fd

image-20240422184840280

image-20240625204421539

移植&汉化过程

补丁制作

  • 先说一下补丁运行的逻辑

malie引擎会从上到下读取dat封包文件,使用malie_packer将修改后的脚本文件封为data7.dat,可以直接覆盖旧文本,剧本是unicode编码(正田要用神代文导致的),所以也不存在日语编码。具体方法见di的仓库 dies_aitrans

无印版(R18)跟曙光版的封包加密是不一样的,如何读取加密封包都写进了各自的exe执行程序。所以需要解包无印版cg以曙光版的加密进行dat封包。再用enigmavb分别将对应的malie.ini和不能复用的修图等文件跟exe一切打包即可实现类似di_dx版的双补丁。

  • exe的alpharom脱壳

脱壳参照dir-a佬的教程,感谢Cosetto做的脱壳 malie.zip

  • 用reshacker修改Menu/APP3:1041和String Table/1:1041里的字段来翻译提示框。

image-20240506132405638

R18脚本移植

曙光版除了新增剧情以外,对老版的文本有大量的删改。不能简单地提取日语文本对比移植,必须挨个检查对照。这里我把老版的文本对着曙光版都给调好了,曙光版删掉的文本一律换成了空白,想把kkk翻译成其他语言的朋友可以参考这个json字典进行移植。

r18版被删减或者不能复用的文本有2649行,hs的文本粗略估计在1000行左右。

神代文字

image-20240430205617864

剧本中使用了很多神代文字,提取出来的文本是无法以utf-8编码表示的unicode,与假名对应关系参见moji_dic.md

image-20240430210357563

修图

需要修的图片

  • /data/screen/conifg/ 中的界面设定图 36/36
  • /data/screen/menu/ 菜单栏 20/20
  • /data/screen/messagebox/ 对话框 9/9
  • /data/screen/title/ 标题界面图 24/24
  • /data/screen/event 中咲耶的信120+;字数6000+
  • /data/screen/status/ 设定图 1/111;字数36000+

所有图片均用garbro提取为png格式

文本量较大的是咲耶的信和设定图,前者的文本来自chinnyachebe,见/tegami/;后者文本均用ocr的方式提取,见status/text/

图片如何调用

好像light社的汉化都没有修过图,原因大概率是malie处理图片的机制太过麻烦。游戏中出现的cg都是由图片集中多张小图拼接起来的。参与图片资源调用的文件有三种.svg, .dzi, tex目录下的图片集,我先分别做个介绍。

  • svg文件规定了调用哪张图片,图片大小和位置。 <image id='image' x='0' y='0' width='2048' height='1200' xlink:href='./001_a.dzi'/> width 和 height 规定了图片的长宽,不用保持原分辨率比例,更改后游戏内会基于你给的width, height对图片做一个相应的缩放 href='...'指向的是调用的图片,这里填的是dzi,也可以是png,实际调用的都是tex/001_a这一个图片集。
  • dzi文件规定了图片集如何拼接,以001_a.dzi为例:

image-20240422161430713

第三行 3 表示001_a这组图片集有三种拼接方式分别是:一行8张,共5行;一行4张,共3行;一行2张,共2行

调用哪一种取决于游戏分辨率,全屏采用第一种,窗口模式采用第二种。

  • tex目录下的图片集

一般每个图片集都有0,1,2三个文件夹,里面存放了为不同分辨率下的游戏调用正dzi里所写的内容。

如何修图

  • 普通图片 更改svg文件中的image tag中的链接指向即可,在没有对应dzi的情况下图片不会拼接,例如: 将href='./001_a.dzi'改为'href=./001_a_cn.png',并在event目录下放好改过的图001_a_cn.png,游戏便可正常调用。

image-20240422174743347

image-20240422174434910

​ 其他语言需要调节对应的x,y,调节width和height的大小以和修过的图匹配,例如:

image-20240422174307150

image-20240422174317133

  • 文字横版以及文本框的修改

解包的exec.str.txt文件,修改msgfrrame type 如下

image-20240422182632060

然后在data/screen/messagebox中更改normal.svg 文件 ,选取比较合适的长宽和文本位置,文本框背景不能直接换成png图片,所以调了一个dzi来改变背景

image-20240422182908384

image-20240422174620011

  • 快速测试

当涉及到修改svg文件的宽高时需要反复看实际效果调试,频繁封包会非常麻烦。所以建议先用garbro解包图片文件,并删掉对应datax.dat文件实现免封包。保持游戏运行,修改相应文件后,切换窗口全屏模式可以让游戏重新载入配置文件,以查看修图效果。

kkk_r18_patch's People

Contributors

akaruzi avatar

Stargazers

 avatar  avatar  avatar stacia avatar  avatar NtGdi avatar

Watchers

かもめちゃん avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.