毕业设计完成,在毕业典礼之前的小假期有点时间写写文章。本系列主线终于结束了,接下来要做的就是周边开发内容和……荒废了半年的 Bulletproof。顺带说一句,第6篇已经解禁。
2017年5月追记:
我探索这些的目的,是以一个玩家的身份,让 CGSS 变得更好玩。私下里我类比过普罗米修斯,将天火——谱面的制作和玩的能力从“天上”分一点出来。其实,修改 CGSS 去作弊是很简单的,无论是客户端还是 MITM。但是我不会去作弊,也不希望这系列文章的读者们将文章内容用在歪门邪道上,不希望去作弊、破坏平衡性。玩过 LLSIF、SB69、GF(note)、Arcaea 之后,我仍然认为 CGSS 的综合指标(游戏性、操作体验、曲目等等)是行业内翘楚,Cy这次比较用心。那么作弊还有什么意思嘛!对了,我不氪金,不冲分,只是闲暇时间来两局,玩得舒心。
当然,まゆさまが見ています。
一、声明
The Idolmaster Cinderella Girls Starlight Stage 软件和相关媒体的著作权为 Bandai Namco Entertainment Inc. 所有。本系列文章仅从兴趣出发,研究数据反向过程。在此不会给出完整的反向过程、反向结果和源代码,只给出思路和部分非关键数据。
相信大牛即使是没有看过我写的这些玩意儿也能上的。
二、内容很少的一段
在第三篇中我提到过,凭借网上流出的一个 HCA v1.2 解码器,我得以解码 HCA 音频。但是我觉得它可以作为小工具用,但是很难集成。因此我将其进行了动态库化:kawashima(现在已合并到 libcgss),提供一组 C 样式的 API,这样就方便其他的代码调用了。由此衍生的还有 foo_input_hca,给 foobar2000 用的 HCA 音频插件。
本来的目标就是做一个无限练手器,第一篇里已经分析了需要完成的几个功能。随着反向的完成,我开始重建各个部分。说白了,这玩意儿还是游戏,约等于代码+资源。对于游戏软件,代码也分功能性、辅助性和游戏性的,功能性代码部分就公开在 DereTore 这个 repo 了。由于我仿照 CGSS,引擎使用 Unity3D,因此这些就是 C# 代码了。整个新的软件是围绕着这几个功能做的,它们是骨架,整个软件是一个有血有肉的人。现在先将最容易定下来也最容易编写的的骨架部分公开,整个人嘛,有机会吧。目前包括 HCA 解码(P/Invoke 调用 kawashima,和纯 C# 解码两种方式)和 ACB 解包(改写自 VGMToolbox 的一部分)。现在已经完成了整个工具包的制作,从谱面,到音乐,到封面,都包含在这个工具包内。当然,为了避免和原生游戏内容相冲突,要玩的话还要有另外一个工具;不过玩的工具因可能会侵犯到游戏厂商的权益而不能公开,只能有限地开放给一小群人,而且禁止影响正常游戏秩序。
其他的东西包括:
- Starlight Performer:演示模拟器(制作中),对应于日方のんのん的 Deleste;
- Starlight Director:制谱器的下一个主要版本——DereTore 的工具包中目前那个是基于 WPF 的,效率略低,也有不少bug,在完成这个之前先继续顶着吧。
在制作 DereTore 的过程中,也会有其他的代码库和记录,日志的话就见带 DereTore 标签的日志吧。