Skip to content
k4nagatsuki edited this page Jan 9, 2017 · 16 revisions

開発者向け情報

動かし方

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

  1. ReadMe.txtを参考に、次のソフトウェアを入手・インストールします。
  2. PythonをインストールしたフォルダへPATHを通します。分からない方は「PATHを通す」で検索してみましょう。
  3. cardwirth.pyをダブルクリックするか、コマンドプロンプトを開き、 cardwirth.pyのあるフォルダで次のコマンドを実行します。
python cardwirth.py

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

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

開発に参加する

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

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

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

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

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

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

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

Mercurialについては色々な所に解説記事があります。例えば以下のようなページです。

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

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

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

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

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

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

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

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

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

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

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

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

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

hg push

これで、自分のリポジトリに改造の結果がpush(押し込む)されます。

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

hg pull https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot
hg update

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hg diff > mypatch.diff

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

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

Create issue

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

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

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

Clone this wiki locally