Project1

标题: 如何让rm可以读取用krkrtpc.exe转换后的tlg文件 [打印本页]

作者: chd114    时间: 2018-4-7 01:42
标题: 如何让rm可以读取用krkrtpc.exe转换后的tlg文件
偶然翻到了krkr的转换工具
下载地址:pan.baidu.com/s/1gg0vKXX

我自己转了一下,1920*1080,位深度24的图片大小1.62m转完tlg是1.07m,单张图片转完虽然压不了太多,但是整个游戏会用到的图片加起来减少的游戏体积还是很不错(假设全部图片转换完都是这个图片的情况,那游戏里的图片的体积可以减少大概三分之一)
解包tlg的情况,这个1.07m的tlg文件解出来是1.80m不过谁管解出来的大小



不过rm没法识别tlg格式的文件,有什么插件或者脚本可以让rm识别和使用tlg格式的文件吗?
作者: shitake    时间: 2018-4-7 02:11
找⑨姐姐 让他给你内置一个
作者: SixRC    时间: 2018-4-7 17:14
本帖最后由 SixRC 于 2018-4-8 00:15 编辑

根据现有 tlg2png 的源码写了一个读取 tlg 图片的插件
tlg2bitmap.zip (811.5 KB, 下载次数: 348) 这个附件已经更新了..和楼下那个一样了
附件是 xp 的 理论上别版本也通用吧
dll 以及使用请看附件吧这里就不罗嗦了
话说 tlg 不一定优于 png 吧...
没有 alpha 通道的时候前者是会占优势
但也说不好啦

作者: chd114    时间: 2018-4-7 21:22
SixRC 发表于 2018-4-7 17:14
根据现有 tlg2png 的源码写了一个读取 tlg 图片的插件

附件是 xp 的 理论上别版本也通用吧

···你没下1楼那个连接里工具合集的转换工具吗···那个可以对alpha通道单独选转哪种(jpg/png/tlg5/tlg6)
作者: SixRC    时间: 2018-4-7 21:52
本帖最后由 SixRC 于 2018-4-7 21:56 编辑
chd114 发表于 2018-4-7 21:22
···你没下1楼那个连接里工具合集的转换工具吗···那个可以对alpha通道单独选转哪种(jpg/png/tlg5/t ...


脚本以备份是因为我前面重复读取了两百次 在测试内存是否泄漏
你删掉那段就好 你读取的图片太大 确实会那样..
因为我潜意思里png的alpha一般都带着..哪怕不需要alpha
所以我开始觉得不带alpha是png吃亏
不过其实png的压缩分0+1-9十档
我测试了几个觉得还是png的压缩率会更高
一般png都是压缩等级1

作者: chd114    时间: 2018-4-7 23:15
SixRC 发表于 2018-4-7 21:52
脚本以备份是因为我前面重复读取了两百次 在测试内存是否泄漏
你删掉那段就好 你读取的图片太大 确实会那 ...

xp没发现其他问题了···不过va用会失去响应
作者: SixRC    时间: 2018-4-8 00:14
本帖最后由 SixRC 于 2018-6-12 00:02 编辑
chd114 发表于 2018-4-7 23:15
xp没发现其他问题了···不过va用会失去响应


解决了
原因是编译后的代码有用到需要内存16位对齐的汇编指令而函数开头没有对齐堆栈然后炸了
加了两个对齐参数就好了...
tlg2bitmap.zip (811.5 KB, 下载次数: 108)

果然对许多问题还是没经验啊

18.6.11 更新支持RGDv1.1
tlg2bitbmp4RGD.zip (1.66 MB, 下载次数: 207)
作者: chd114    时间: 2018-4-8 00:24
本帖最后由 chd114 于 2018-4-8 00:33 编辑
SixRC 发表于 2018-4-8 00:14
解决了
原因是编译后的代码有用到需要内存16位对齐的汇编指令而函数开头没有对齐堆栈然后炸了
加了两个对 ...


只改了dll吗···工程内的脚本不用动咯?(从文件大小完全看不出区别···)



在实际情况下用了一下


tlg文件的原图


转换后的tlg文件在修改Scene_Title后的结果

作者: chd114    时间: 2018-4-9 12:57
本帖最后由 chd114 于 2018-4-9 12:58 编辑
SixRC 发表于 2018-4-8 00:14
解决了
原因是编译后的代码有用到需要内存16位对齐的汇编指令而函数开头没有对齐堆栈然后炸了
加了两个对 ...


发现一个新的bug

加密以后再解出来会出这个错误(好像和你发的第一个出的错误是一样的)
弹错以后确定就失去响应


是加密以后找不到路径了吗?(我这里要读的是Graphics/Titles2/001-Title01.tlg)
作者: SixRC    时间: 2018-4-10 01:39
chd114 发表于 2018-4-9 12:57
发现一个新的bug

加密以后再解出来会出这个错误(好像和你发的第一个出的错误是一样的)

白天有点忙   
是的 不能用自带加密的 自带加密支持Bitmap.new是因为是原生内置的
那天写完插件确实想到了这个问题 不过觉得问题不大就忘记了..
把tlg打包到新目录就好 毕竟tlg也算加密了..
或者改天我练习写个差不多的加密打包以及游戏中用到了再取出来的插件吧!





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