変更設定ファイル


modify_tmdのオプション-c|--modification-configで指定するファイルです
このファイルでモデルデータをどのように変更するかを指定します

1行は最大4095バイト
各項目は1つ以上の半角空白およびタブで区切る
#および;以降はコメントです



■設定項目

	remove_all

		元のtmdモデルに含まれる全パーツを削除する



	remove_part  パーツID

		指定したパーツを削除する

		パーツID     : 0～63の整数値



	part  パーツID  可視セットID  マテリアルID

		パーツIDで指定したパーツを置き換える

		パーツID     : 0～63の整数値
		可視セットID : 0～20の整数値
		マテリアルID : 0以上の整数値

		次のpart、endまたはファイル終端までが1つのパーツ指定になる

		パーツIDは置換対象のパーツを指定するだけのものなので複数のpartで重複してもよい
		また、同じパーツIDで別の可視セットIDやマテリアルIDを指定してもよい

		元のtmdモデルにあるパーツを全て残したい場合は存在しないパーツIDを指定する
		例えば0～10までのパーツがtmdモデルに含まれる場合、11以降の値を指定する

		パーツIDはモデル変更後に残ったパーツを可視セットID、パーツID、マテリアルID順に並べ替えて
		0から振り直すので、変更前とは別のIDになることがある

		モデル変更後に残ったパーツの可視セットIDに番号抜けがあるときは
		0からの連番になるように変更される

		パーツで参照するボーンの数が32を超えるときは32以下になるように自動でパーツを分割する



	vertex  X座標  Y座標  Z座標  normal  法線X  法線Y  法線Z  [color  赤  緑  青  アルファ]  uv  U座標  V座標  weight  ボーン1  ウェイト1  [ボーン2  ウェイト2  [ボーン3  ウェイト3  [ボーン4  ウェイト4]]]

		partで指定したパーツに頂点を追加する

		X座標, Y座標, Z座標  : 小数点数値
		法線X, 法線Y, 法線Z  : -1.0～1.0の小数点数値 または 0～255の整数値(10進数または2桁の16進数(0xFF形式))
		赤, 緑, 青, アルファ : 0～255の整数値
		U座標, V座標         : -1.0～1.0の小数点数値 または -1024～1024の整数値(10進数または4桁の16進数(0xFFFF形式))
		ボーン1～4           : BONE_000形式 または 0以上の整数値
		ウェイト1～4         : 0.0～1.0の小数点数値 または 0～255の整数値(10進数または2桁の16進数(0xFF形式))

		colorは省略可能
		省略時は赤=0x57, 緑=0x60, 青=0x70, アルファ=0xFFになる

		ウェイト1～4は0～255の整数値に変換し、その合計が255を超えるとエラー
		整数への変換時に小数点以下を切り捨て
		合計が255未満なら切り捨てた端数が多い順に1加算していく
		最終的に255未満になった場合は警告表示してその値を使用する

		小数点数値は8桁の16進数(0xFFFFFFFF形式)でも指定できる
		例えばC言語で
			float value = 1.2345;
			printf("0x%08X\n", *(uint32_t *)&value);
		としたり、Perlで
			$value = 1.2345;
			printf("0x%08X\n", unpack("L<", pack("f<", $value)));
		とした場合に表示される値



	face  頂点ID1  頂点ID2  頂点ID3

		partで指定したパーツに面を追加する
		先にvertexで指定する頂点を追加しておく

		頂点ID1～3 : 0以上の整数値
		             part毎のvertexで指定した順番(0からの連番)



	end

		ファイルの読み込みを終了する
		"end"より後の行は無視されます



■おわり
