Project1

标题: 按照github上的格式拆分MV代码。 [打印本页]

作者: a386881    时间: 2017-10-16 16:32
标题: 按照github上的格式拆分MV代码。
起因是我想要看一遍MV的代码(除了lib以外的部分)。
看着看着觉得不爽。
我JAVA党人接受不了把三十个类塞一个文件的邪教,觉得能切。
而且这个看起来像是后期粘起来的(就像sqlite那种,分开写,最后粘起来)
群里大佬证实了确实是生成的,还给了我gayhub链接
https://github.com/rpgtkoolmv/corescript然后我看了看版本号:
steam版:


github版:



嗯,开发版比稳定版版号低上一两个也是常态。。常。。。态???


嗯所以我还是把steam版切开吧。
然后我翻了翻他的代码
基本上他的连接器(就是那个concat.js),首先读了一份配置,然后按照配置去找所有文件然后粘成一个字符串,然后输出
嗯因为是js写的所以库调库调库调库,给我下载8MB的node_modules。
然后每次跑起来需要快5秒才能拼好。
js丑陋嘴脸暴露无遗
嗯我又仔细翻了翻文件
发现他并没有考虑过要把拼好的文件切开成原始文件的机制。
每个小文件的头各不相同,根本没有统一的形式
幸好其中大部分的头是以一行横线开始的,所以还是能找到
我人工标记了总计154个小文件的头,然后写了个切割器切开了。
目前看来,能正常跑。

首先规定个协议:如果要使用我的切割器切割,必须每个文件的第一行开头是相同的一串字符串,这个由你自己指定。
我自己是用的//xenoSplitPos:
这个字符串称为分割标记
然后分割标记后面跟上你这个js文件的名字,就是.js前面的部分
然后最后加一个-
一个标准的文件的第一行的开头是这样的
//xenoSplitPos:Bitmap-----

嗯分割标记可以在config.txt第一行改。
config.txt第二行是路径
第三行往下是你要切割的js文件的文件名。

如果有谁要的话就自己去下载好了

https://github.com/a386881/RE_RMMV

我猜他们根本没想过还有用户会有拆开他们好不容易拼好的代码的需求

分割器在disassemble文件夹里
original_js.rar是原始的js文件(就是刚切好的那种)[line]其实被我优化了一两个函数[/line]
以上





作者: hyperzlib    时间: 2017-10-16 18:25
你怕是没经历过被spl支配的恐惧
——某php程序员
作者: walf_man    时间: 2017-10-16 21:43
都是高手,研究的这么透彻,学习学习
作者: oott123    时间: 2017-10-17 00:20
看了下 diff,感觉除了版本号之外并没有什么区别?
作者: a386881    时间: 2017-10-17 22:12
oott123 发表于 2017-10-17 00:20
看了下 diff,感觉除了版本号之外并没有什么区别?

不清楚呢,我还没来得及仔细看
至少github版里有个Patch.js,steam版里似乎是没有的,我把它复制过来然后注释掉了,如果有兴趣你可以看看那里边是什么功能。。。
似乎是给pixi加了个补丁还是怎样的,挺微妙的
作者: a386881    时间: 2017-10-23 05:33
更新:新加了一个html生成器。
现在,我们已经彻底摆脱了concat.js




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1