diffから見る、cocos2d-x 3.0alphaから3.0betaへの変更点

木内智史之介(シャッチョー)
ミンカさんけっこんしてくださいおねがいします(ズザー SEGAさん、DIVAの筐体ください(ズザー

3.0betaリリース

2014年1月に、ついにcocos2d-x 3.0のbeta版が公開されました。
1ヶ月たってしまいましたが、alpha版との差分をdiffを見ながら確認しておきたいと思います。

どうも変更点が多そうなので端折るところは端折りながら載せていくことにします。

なお、今回比較するtagは、cocos2d-x-3.0alpha0-precocos2d-x-3.0betaになります。
githubからcloneしていない人は今すぐcloneだ!

$ git clone git@github.com:cocos2d/cocos2d-x.git
$ cd cocos2d-x

なにはともあれ、README.mdのdiffを確認してみる

-2. Run the `create-multi-platform-projects.py` script
+2. Enter `tools/project-creator`
+3. Run the `create-projects.py` script
Example:
- $ cd cocos2d-x
- $ ./create-multi-platform-projects.py -p mygame -k com.your_company.mygame -l cpp
- $ cd projects/mygame
+ $ cd cocos2d-x/tools/project-creator
+ $ ./project-creator.py -n mygame -k com.your_company.mygame -l cpp -p /home/mygame
+ $ cd /home/mygame

実行するスクリプトがtools/project-creator/project-creator.pyになったっぽい。
あと、-pオプションの取り扱いが変わったのかな? 今までは「project name」というニュアンスだったような気がするけど「path」というニュアンスになったのだろうか。

+### Build new project for android ###
+
+ $ cd proj.android
+ $ ./build_native.py

細かいところだけど、これalphaでは「shellスクリプト」だったよね!
色々pythonに置き換えられてるのかしらー。

リネームされたファイル達を確認してみる

$ git diff cocos2d-x-3.0alpha0-pre cocos2d-x-3.0beta --stat --diff-filter=R -M

…。
変わり過ぎなのである。 なんか色々整理された!って感じがしていいですが、 けど、これってぶっちゃけ「namespaceが変更された」ってことですよね?!
今までalphaで作ったコードはbetaじゃ動かないってことじゃないですかーやだー。

削除されたファイル群も確認してみる

$ git diff cocos2d-x-3.0alpha0-pre cocos2d-x-3.0beta --stat --diff-filter=D -M

…。
削除され過ぎなのである。
それとも、リネームされた履歴をたどれていないだけなんだろうか…?

diffを見ながら、細やかに差分を見ていくのはもはや不可能な領域に思えますな。

で、結局どこがどう変わったのか?

差分が激しすぎて、生半可は覚悟ではdiffから変更点を辿れないと判断した僕が適当にググってきましたよ!

  • projectの作成方法が変わりましたよっと
  • cocos2d::Arrayの非推奨化 -> cocos2d::Vectorを使ってね
  • cocos2d::Dictionaryの非推奨化 -> cocos2d::Mapを使ってね
  • cocos2d::Stringの非推奨化 -> std::stringでよかったんや!

えっ…、私の情報少なすぎ…?!
あれだけ差分があってまさかこれだけってことはないでしょう。

まあ、いいでしょう。追々、きっと分かってくることもあるでしょう。
今日はここまで。

チャオ!