Wiki

Clone wiki

CardWirthPy Reboot / Developers

開発者向け情報

コードやデータの提供して開発に協力する事を考えておられる方は「貢献者に自由ライセンスへの同意を求める事について」もご覧ください。

動かし方

以下の手順で起動することができるはずです。

  1. ReadMe.txtを参考に、次のソフトウェアを入手・インストールします。
    • Python 3
      • 32bit版と64bit版がありますが、どちらでも動きます。環境に合わせて選んでください。
      • インストール時に「Add Python3.8 to PATH」にチェックを入れるなどしてパスを通しておくと、残りの作業が簡単になります。「パスを通す」の意味が分からない方は、必ずチェックを入れてください。
    • wxPython
      • python -m pip install wxpython
    • pygame
      • python -m pip install pygame
    • Python for Window Extensions
      • python -m pip install pypiwin32
    • lhafile
      • python -m pip install lhafile
      • ビルドにC++コンパイラが必要です。Build Tools for Visual Studio 2017をダウンロードし、Visual Studio Installerで「Visual Studio Build Tools 2017」をインストールしてください。
    • regex
      • python -m pip install regex
    • grapheme
      • python -m pip install grapheme
    • cx_Freeze
      • 実行ファイルCardWirthPy.exeを作るつもりが無ければ必要ありません。
  2. cardwirth.pyをダブルクリックするか、コマンドプロンプトを開き、 cardwirth.pyのあるフォルダで次のコマンドを実行します。
python cardwirth.py

スキンが一つも無い場合、最初にスキンの自動生成ダイアログが開きます。「本体」の所の「...」ボタンを押し、スキンの生成元としたいCardWirthやバリアントエンジンを選択してください。

決定ボタンを押すとスキンが自動生成され、CardWirthPyが起動します。

開発に参加する

ここではプログラミングについては説明しません。

実作業を伴う開発参加までには大きく二つのパターンがあると思います。

  • 使っていてバグを踏んだ。自分で修正する。
  • 新機能を思いついた。自分で積んでみよう。

いずれの場合も、最初にIssueを作るのが望ましいです(Issueの一覧を観れば、どういう風に開発が進められているかの雰囲気もだいたいわかります。実際の作業成果がどんな感じになるか知りたい場合はCommitsを見るのがよいでしょう)。

特に新機能の場合、いきなり実装するよりも「こんな機能を積みたいんだけど」という感じのIssueを作った方がその後の展開がスムーズになるかと思います(新仕様に問題があって拒否されて作業が無駄になる、などという事態を減らせます)。

さて、実際に作業してCardWirthPyを改造したとして、その結果を本流の方へ反映させるには、いくつかの方法があります。

そのうちの二つについてここで説明しますが、いずれにせよGitが必要です。インストールしておいてください。

Gitについては色々な所に解説記事があります。Git 入門などで検索してみてください。

Bitbucketのアカウントを作成して開発に参加する

Gitのような分散バージョン管理システムを使っての開発は、だいたい以下のような流れで進みます。

  1. メインのリポジトリ(ここのことです)をコピーして自分用のリポジトリを作成。
  2. 自分用のリポジトリで改造などの作業を行う。
  3. 成果をメインのリポジトリへ送る。

Bitbucketのアカウントを持っていると、CardWirthPy Rebootのページの右上の方に「Fork」というボタンが見えるはずです。

このボタンを押すと、CardWirthPy Rebootを元に自分用のリポジトリを作成できます。

そのリポジトリはあくまでBitbucketのサーバ上に生成されたものなので、自分のマシンで作業するにはもう一手間必要です。

自分のリポジトリのページの右上に「Clone」というボタンがあって、それを押すと何やらコピー可能なコマンドらしきものが出てきます。それを任意のフォルダで実行してみましょう。

git clone https://<Bitbucket ID>@bitbucket.org/<Bitbucket ID>/cardwirthpy-reboot

ローカルにソースコード類のコピーが生成されます。

次に、自分の改造を入れるためのブランチを作ります。ブランチとは枝のことで、開発の流れを複数に分けるために作ります。自分の改造がたまたま他の人の改造と同時に行われていたような場合、両方ともがメインの開発ラインに改造を入れていると、流れがややこしいことになってしまいます。自分用のブランチを作ることで、開発の流れがこんがらがることを回避できます。

git branch myBranch
git checkout myBranch

このコマンドで、ブランチmyBranchを作り、開発の流れを今作ったmyBranchに切り替えます。ブランチの名前は、行おうとしている改造に合わせたものにすることをお薦めします。

これで改造を加える準備ができました。思う存分コードを書き換えてください。

改造が一段落したら、コミットして記録に残します。この辺りはバージョン管理システムを使用した事があれば馴染みのある操作だと思います。

git commit -m "手札ダイアログが完全に動くようにした。"

これはローカルでの操作なので、この時点ではまだBitbucket上の自分のリポジトリに反映されていません。反映するには次のようにします。

git push origin myBranch

myBranchのところは先程作ったブランチの名前にしてください。これで、自分のリポジトリに改造の結果がpush(押し込む)されます。

ついでですが、他のリポジトリの変更を取り込みたいような場合、以下のようにします。

git pull https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot master

これで指定したリポジトリの状態がローカルへpull(引き出す)されます。

さて、次は改造結果をメインのリポジトリへ送らなければなりません。

自分のリポジトリのページを開くと、右上に「Pull Request」というボタンがあると思います。これは任意のリポジトリに対して「ちょっとこっちで改造したんでpullしてくんない?」というリクエストを送るためのボタンです。

ボタンを押し、リクエストのTitleとDescription(説明)を適当に書いて「Create pull request」を押しましょう。

これで、メインのリポジトリへリクエストが送信されます。後は改造の結果がpullされるのを待つだけです。

もしかしたらpullされる前に説明を求められたり、改造の内容に不備があってコメントがつけられたりするかもしれません。

その場合は適当に直してもう一度Pull Requestをやり直すなり、状況に応じて行動してください。

アカウント類を作成せずに開発に参加する

だいたい次のような手順になると思います。

  1. リポジトリを自分のマシンへコピー。
  2. ローカルで改造を加える。
  3. 改造前と後の差分をパッチにまとめる。
  4. パッチを渡して適用してもらう。

まずはGitを使って自分のマシンへソースコード類をコピーします。

git clone https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot

ローカルのコピーが生成できたら、そこで思う存分必要と思われる改造を行なってください。

さて、Gitには、改造前のコードと後のコードの差分を表示してくれる機能があります。また、その差分を別の所で適用する機能もついています。

差分を一つのファイルにまとめるには、次のようにします。

git diff > mypatch.diff

こうすると、コピーしてきた時点のコードと現在のコードの差分がmypatch.diffに書き出されます。

これを持って、新規Issueを作成しましょう。

Create issue

TitleとDescription(パッチの説明)を書き、Attachmentsに先ほど作成した差分ファイルを指定してください。

後は、そのパッチが適用されるのを待つだけです。

コメントなどがつけられた場合、適宜対応してください。

Updated