吉里吉里Z
生い立ち
吉里吉里2は、C++ Builder 5で開発されており、C++ Builder 6が発売されしばらく経った時にはC++ Builder 5はほぼ入手できない状態になっていた。
T.Imotoは動画機能を拡張するため、本体の修正が必要であったが、C++ Builder 5は所有しておらず、C++ Builder 6は所有していた。
C++ Builder 6でもほぼ問題なくコンパイルは可能であったが、当初は一部ライブラリなどが吉里吉里2のリポジトリには公開されておらず、直接吉里吉里2開発者であるW.Deeよりそれらライブラリをもらう必要があった。
その後もC++ Builderは、バージョンアップされていき、再びC++ Builder 6の入手性に問題が発生した。
これを解決するべくC++ Builder 2007でもコンパイルできるようにT.Imotoが対応を行った。
また、この時に誰でもコンパイルできるように必要なライブラリ類もリポジトリに加えられた。
当時無償版として公開されたTurbo C++ Explorer(C++ Builder 2006)でもコンパイルしたいとのyunの要望により、C++ Builder 2006でもコンパイルできるようにT.Imotoが対応を行った。
これにより無償の開発環境でもコンパイルが可能になった。
さらに新しいバージョンのC++ Builder 2009がリリースされたが、2009では文字コードが全面的にUnicode化されるという破壊的変更があり、これに対応するにはGUI部分に大幅な変更が必要になるとともに、その変更を行うと過去バージョンでのコンパイルに問題が発生することとなり、2009対応は行われなかった。
吉里吉里2の公式リリースバイナリは、W.DeeがC++ Builder 5でコンパイルしたものとなっており、互換性を崩せないという理由もあった。
コンパイラのバージョンによってソースコードを切り替えることで互換性を維持することも可能であったかもしれないが、GUI部分の変更の多さから細かい検証は行われなかった。
そのため吉里吉里2は、C++ Builder 2007まででしかコンパイルできない状態でしばらく停滞していた。
C++ Builderは2009/2010と新バージョンがリリースされて行き、しばらく2007の入手性に問題を抱えることになった。
無償版のTurbo C++ Explorer(C++ Builder 2006)の公開も終了された。
C++ Builder XEがリリースされると、C++ Builder XEを購入すれば6以降の過去バージョンのライセンスが付属するようになり、入手性の問題はひとまず解決された。
ただ、旧バージョンを使い続けると新しいOSへの対応が困難になるという問題を持ち続けることになる。
また、Visual Studioと比較して、C++ Builderのエディタのインテリセンスは重く、デバッガも不安定であったため、VCLを全面的に使用したGUIアプリではない吉里吉里2にとってはC++ Builderの恩恵は少なかった。
吉里吉里2を全てJavaに書き換えた吉里吉里Java(後に羽々斬と改名)がT.Imotoにより開発された。
羽々斬は、Androidでも動作したが、当時のAndroidでは起動に時間がかかったため、最適化のためにTJS2スクリプトを事前にコンパイル、バイトコード化し起動を高速化する方法が実装された。
吉里吉里2でも、主に難読化を目的としてバイトコード機能をバックポートする依頼により吉里吉里2のバイトコード対応をT.Imotoが行った。
この際、開発効率を考慮してTJS2部分のみをVisual C++でもビルドできるようにしてから、バイトコードへのコンパイルと読み込み機能を実装し、それをC++ Builderでコンパイルできるようにし、吉里吉里2にバイトコード機能が組み込まれた。
TJS2部分がVisual C++でコンパイル可能になったこと、羽々斬によってVCL依存部分を一度すべて書き換えて動作させていたこと、この2つからすべてをVisual C++でコンパイル可能にする対応にT.Imotoは着手した。
書き換えを進めていく中で、この作業には大きな工数が必要と認識し、開発費を集めるためにクラウドファンディングによる開発費調達を実施、主にVisual Studioでのコンパイルとデバッグの必要性を認識していたプログラマ達から賛同を得て開発費が集まった。
開発費を得た後、吉里吉里2 VCビルド対応は本格的に開始された。
吉里吉里2 VCビルド対応版は、W.Deeの提案により、修正BSDライセンスへの変更とGitHubへの移行が行われた。
また、レガシー機能の削除など一部非互換となるため吉里吉里2という名称のままでは混乱を招くのではないかと考え、別の名称をT.Imotoは提案、W.Deeにより吉里吉里Zと命名された。
吉里吉里2のVCビルド対応開発は進み、吉里吉里Z 1.0はT.Imotoによってリリースされた。