0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GOKI2で完結させる製品化【makeツール入門】マスターデータの全自動生成とSVNによるパッチ管理

0
Posted at

ダウンロード

Avalanches&GOKI2は以下サイトのリリースタグ(Avalanches release version 2.x.y.yという表記)からAssetsにあるAvalanches-Release2.x.y.y.zipのリンクから最新の環境をダウンロードできます。

マスターデータの作成

/tools/make/ツールを使ってマスターデータを作成する事が出来ます。
/tools/make/config.iniを自分のプロジェクトに合わせて実行するだけで、マスターデータを全自動で生成します。
パッチファイルも自動で生成できますが、Subversionのログを参照するので、ローカルにリポジトリを作って、
Avalanchesの環境をそのままSubversionにコミットすると良いでしょう。(もちろん自分のプロジェクトフォルダも含めてコミットします)
体験版などがある場合は体験版用のプロジェクトディレクトリとバイナリリソースディレクトリを作ってそちらにコミットすると良いでしょう。

makeツールは、指定したリビジョン範囲のログを参照して更新されたファイルを自動で収集してパッチファイルを生成します。
この時、debugフォルダ配下の変更はパッチに含まれません。(現在の実装ではdebug.xp3は更新されません)
debug.xp3を、krkr.eXeと同じフォルダにコピーすれば、デバッグモードで起動します。(調査等にご利用ください)

/tools/make/config.ini

makeツールの設定は /tools/make/config.iniで行います。
基本的な説明は /tools/make/config.iniに書いてありますがここで詳しく見ていきましょう。
*.iniファイルの基本的なフォーマットについては各自検索してください。

SETTINGSセクション

このセクションは基本的な設定を行います。
まずはlanguageキーには使用する言語を設定します。
ここは見たまんまです。

; 【言語】
; 使用する言語を設定します。
; jp : 日本語
; en : 英語
language = "jp"

project_nameキーにはプロジェクト名を指定します。
ここには実質ターゲットと同じ値を設定します。

; 【プロジェクト名】
; 製品名ではありません。
; 半角英数字以外は利用できません。
; 
; 例えばあなたのプロジェクトのソースが以下にある場合。
; /src/MyGame/
; この値は"MyGame"になります。
project_name = "goki2"

resource_dirキーは基本的には変更する必要はありません。
自前でバイナリリソースの場所を変更したい場合はここにバイナリリソースへの部分パスを指定します。
例えば、バイナリリソースをsrc/data/my_resource配下に置いた場合、この値はsrc/data/my_resourceになります。
バイナリリソースについては、/src/data/products/readme.txtを参照してください。
フォルダ構成などが説明されています。

; 【バイナリリソースへの部分パス】
; バイナリリソースは以下のパスに配置してください。
;
; "/#{resource_dir}/#{target}/"
;
; targetはmakeツールに渡したターゲットが指定されます。
; makeツールが以下のように呼び出された場合、"MyGame"がターゲットになります。
;
; ruby make.rb -rom MyGame
resource_dir = "src/data/products"

repository_urlキーにはリポジトリのURLを指定します。
例えば、以下設定の場合、file:///C:/svn/goki2/trunk/src/goki2配下のファイルが対象になります。

repository_url = "file:///C:/svn"
project_name = "goki2"
subset = "trunk"
source_dir = "src/goki2"

; 【リポジトリ】
; SVN リポジトリの URL を設定します。
; これは通常 SVNParentPath で指定されている URL の事です。
; よくわからなければサーバー管理者に問い合わせてください。
;
; 最終的にアクセスするパスは以下のようになります。
;
;  "#{repository_url}/#{project_name}/#{subset}"
;
;  ローカルでSVNリポジトリを持っている場合、以下のように指定するとよいでしょう。
;  "file:///C:/svn/"
repository_url = "http://sample.ne.jp/svn/"

subsetキーは通常は変更する必要はありませんが、リポジトリルートにtrunkフォルダを作って、trunkフォルダ配下にAvalanchesをコミットしてください。

; 【サブセット】
; 通常これは trunk を指定します。
;
; ここに指定できる値のリストはサーバー管理者に問い合わせてください。
subset = "trunk"

source_dirキーにはあなたのプロジェクトのソースへの部分パスを指定します。
/src/MyGameにソースがある場合、この値はsrc/MyGameになります。

; 【ソースへの部分パス】
; 対象への部分パスを指定します。
source_dir = "src/goki2"

COMPONENTSセクション

このセクションはアーカイブファイルの構成を設定します。
data.xp3とdebug.xp3は特殊なファイルで、data.xp3にはstartup.tjsなどが含まれます。
debug.xp3にはデバッグモードで起動するために必要なフォルダを指定します。

; アーカイブ名 = アーカイブに含めるフォルダ( , で区切って複数指定できます)
; アーカイブ名にはkrkr_autopath.aryで指定した'名前.xp3'が指定できます。
;
; data.xp3 の行はほぼ常に必要になります。
; そのまま利用してください。
;
; debug.xp3 はインストール対象とはなりません。
; 同様に、debug.xp3 に含まれるデータは差分アーカイブには含まれません。
data.xp3 = "data"
system.xp3 = "components, modules, system, testcase"
images.xp3 = "mapchips, images"
debug.xp3 = "debug"

ARCHIVER/SIGNERセクション

このセクションは基本的に変更する必要はありません。

VENDERINFOセクション

自分のゲームについての情報を設定します。
エンドユーザーに対しての情報なのでできるだけ埋めた方がよいです。

PRODUCTINFOセクション

idにはUUIDを指定します。
UUIDの生成はネット上にUUID生成サービスがいろいろあるのでそちらを利用してください。
コメントにもある通り、この値はoverride.iniに書く方がよいです。
/src/data/products/goki2/override.iniにサンプルがあります。
自分のプロジェクト(例えば /src/data/products/MyGame/override.ini)用のoverride.iniを作成してください。

; 【リリースID】
; パッケージの一意な ID を以下の形式で指定する事ができます。
;
; "{XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB}"
;
; これは通常は各パッケージの override.ini で指定します。
id = "{00000000-0000-0000-0000-000000000000}"

残りのキーについてはconfig.iniファイルに書いてある通りです。
特に難しい事はないかと思います。

; 【製品名】
; 通常これは製品のタイトルです。
; 体験版などの場合はこのタイトルを「○○体験版」などにオーバーライドすべきです。
name = "GOKI2"

; 【製品ホームページ】
; 製品に関するホームページがあればここで指定する事ができます。
url = "http://sample.jp/"

UPDATEINFOセクション

このセクションはあってもなくてもかまいません。
重要なのはパッチ番号を割り当てる以下の設定です。
この設定もoverride.iniに記載するとよいでしょう。

; このセクションは在っても無くてもかまいません。
;
; 以下は各ターゲットの override.ini に書き加えるべき情報です。
;
; セクション名の書式は UPDATEn です。
; n には1から始まる整数値を指定します。
; 必ず連番になっていなければなりません。
;
; 例:
; [UPDATE1]
; revs = "999:1999"
; log = "修正ファイル1。\n・バグAの修正。\n・バグBの修正。\n仕様Aを仕様Bに変更。"
;
; [UPDATE2]
; revs = "1999:2002"
; log = "修正ファイル2.\n・バグCの修正。\n演出効果の追加。"
;
; ...
; [UPDATEn]
; ...
[UPDATE1]
revs = "6:7"
log = "修正ファイル1\nバグ修正"

*.batファイル

最後にtest.batファイルをコピーして自分のプロジェクト用のbatファイルを用意します。
test.batをコピーして分かりやすい名前に変更してください。
コピーしたbatファイルの内容でgoki2となっているところを自分のターゲットに修正します。
例えば、MyGameプロジェクトの場合、以下のようになります。

@pushd %~dp0
@ruby make.rb -rom MyGame

@popd
@pause

長々と語りましたが、これでマスターデータを安全に生成する事が出来るようになりました。
最初にプロジェクトフォルダを作る時に、このconfig.iniファイルも予め準備しておけば、後は*.batファイルをダブルクリックするだけでマスターデータが生成されます。

ちなみにマスターデータは/dist/配下に生成されます。
後は、生成されたマスターデータをそのままメディアに書き込めばよいだけです。

関連する記事の一覧

GOKI2の関連する記事一覧

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?