■実装予定

【優先度：高】

	ビットマップタブの機能追加
		▲ビットマップの画像サイズを制限しない。領域256x256未満はサイズを拡張する。256x256以上の場合はスクロールバーを有効にする
	動作確認
		▲MainFormのサイズ変更箇所の確認。言語リソース適用方法を変更したので、いろいろ再設定していた値を不要なら設定しないようにする。
		パレットセレクタコントロールのUpdate/Refresh/UpdateSelection関数の使用箇所を再確認・最適化
			▲RefreshBitmapFromBytemapでConvertBytemapToBitmapを読んでいるが、ConvertBytemapToBitmap単体でも呼ばれているところはいらない？
		▲StateSettingの設定で変な拡張子設定をしたときにファイルのドラッグアンドドロップで異常が起きないかを検証する必要がある

【優先度：低】
	テンプレートファイル・プラグイン
		settingファイルで自動保存機能(ROMと一緒にパレットなどの外部データも保存する機能)を有効にできないか。ROMから読んだパレットをCHR保存のタイミングでROMに保存する。
			・現在settingのAutoSaveは効いていない…というより.settingファイルを保存しようとするがテキストファイルなので保存しない
			・ROMから読み込むPAL/DATパレットを保存できたらいいけど、画像とパレットが一致することは限られた状況なので、ゲーム内でパレットが変更されないゲームはほぼありえないので無理
				・アドレストラップ設定のパレットなら保存可能かもしれないが、保存するかは問い合わせたほうが良い
					パレットも保存しますか？常に問い合わせせずに保存、終了するまで問い合わせせずに保存、今回だけ保存、保存しない
		settingのアドレストラップを範囲指定にできないか
			範囲内の画像形式、パレットの位置、ADFパターンを指定する
			範囲をまたぐときに両方のパレットを読み込む
		settingがあってjumplistがないとき、アドレストラップのアドレスにジャンプする
		JumpListのフォーマットとパターンの選択をもっとマトモなものに…(画像形式やパターンをインデックスからName指定にする)
		settingファイルの改善：バイトからADFを展開する設定を追加する"ADF_FF5"
		[保留]プラグインサンプルとして、FF5プラグインを作る(GUI拡張も使う) (たぶん誰も作らないからプラグインは後回し)
	パターンエディタ
		選択範囲をまとめて設定できるようにする(範囲でFFを設定したい)
	実行パスの警告。ProgramFilesやWindows管理パス配下で実行しているときに警告を表示する

【優先度：最低】どのような機能にするかも検討できてないもの
	本体機能
		各セットの0番パレットをまとめて変更する機能。いる？
		貼り付け時にはパレットの色は全色比較して、異なっている場合にはパレットを貼り付けするか選べたほうが良い？
		ビットマップタブのパレットモードを変更したときの扱いを考える。選択パレットセットのみ0番パレットから割り当てしている。パレットセット以外はビットマップパレットのまま。
		[保留]画像ファイルの開く/保存をツールバーに表示するかの設定を追加 (ROMタブでは使用頻度は少ない。ドラッグアンドドロップ実装したので不要？)
		[保留]フォント画像検索(8x8,16x16) 条件：外周の2辺が黒で内側にそれ以外の色のキャラが、30以上連続すること。選択されている形式でだけ検索する。
		[保留]新しい編集領域(ワークスペース：ネームテーブル属性テーブル、スプライトを配置して疑似画面作成)の実装 (その前にビットマップタブを完成させる。PrgEditorみたいに別ツールにしたほうが良い？)
			表示専用の画面を作成する
				ADFとは異なり、1対多が可能。任意の場所に任意のアドレスを任意のフォーマットで展開できるようにする。
					敷き詰めればBG、スプライトとして置いてDQのモンスターのような表示もできるようにする
				この機能が目指すのはバンク側の256キャラを並べるだけでは表現できないグラフィックデータを扱う、汎用グラフィックビュアー
				表示の直前までは非画像の情報とする。「フォーマット、アドレス、位置、(サイズ)、パレットセット、反転情報」
				クリックしたタイルの情報をプロパティ表示する。ダブルクリックで、ROMタブでそのアドレスにジャンプする
					情報はスクリプトで作成できるようにする
				圧縮された画像を展開する場合、アドレスは展開前の元データのアドレスとする。
				プロパティには追加の情報のアドレスも用意する。例えばFF5のモンスターのようなタイルの有無のビットデータとか。
		YY-CHRの使用フォントの統合。できるだけ少ない種類だけで済ます。
		//		現在のフォント使用状況
		//			Microsoft Sans Serif, 6.75pt : (PalSelector-MainForm/ColorReplaceForm) ←英語のみ
		//			Consolas, 9pt : (rgbEditor1), Consolas, 9F : (Messagebox) ←▲メッセージボックスは変更が必要？
		//			Lucida Console, 9pt : (Status), Lucida Console, 8 : (patternEditor) ←英語のみ
		//			<MSUIGothic 未指定> : (UI) ←非日本語OSにはないフォント ファイルがない場合はシステムフォント(英語)が使われるので日本語は豆腐
		//			<YuGothic 未指定> : (Menu) ←非日本語OSにはないフォント ファイルがない場合はシステムフォント(英語)が使われるので日本語は豆腐
		//			SystemFonts.DialogFont : WorkSpaceSelector
		//				日本語以外は通常MS Shell Dlg＝Microsoft Sans Serif,8ptを使う(DialogFont,DefaultFont)
	パターンエディタ
		[保留]表示パターンの範囲移動で移動元と移動先がかぶるときに崩れる 　参照[パターン移動時の重複箇所.png]
	コントロール
		[保留]パレットのRGBエディタをポップアップウィンドウではなくYY-CHRの画面に表示にできるように変更する (常時表示なら追加位置を検討。ウィンドウでなくすだけならフォーカス関連の検討をする)
	ステートファイルの読み込み改善
		StateSettingで読み込み対象を決める。複数を読み込む場合、複数行で定義する。
		SNESの読み込みを改善・共通化
			各要素のアドレスはエミュレータ別なので検索か拡張子のアドレス定義をする ただし定義の場合要素のサイズが変わるとアドレス定義してもずれてしまうので、検索をメインとする
			定義で「(PAL ).ADDR」とかで定義できるといいかも。サイズは「(PAL ).SIZE」とか。
			ステートファイルを開いたら、以下の文字列を検索する
				検索対象：PAL 、WRAM、VRAM
		BMPタブで開くとき、VRAM展開するか問い合わせる。または、VRAM展開を機能として追加
	バグ調査
		[保留]特定の処理を実行する順序によっては、最小化後にタスクバーのクリックで復帰できないことがある。ActivatedでModifierKeys→Clipboardの順序で使うと発生 (Focusデッドロック？)
			→現在の実装では復帰できる。開発環境以外の環境で発生するかは不明。

	用語の変更、キャラ→タイル

	■■■■■忘れないように…■■■■■
		PRG Pattern Editorと、ROM Palette Data Editorもビルドしてバイナリを同梱しましょう
	■■■■■忘れないように…■■■■■
	
	
■更新履歴
	処理の変更記録なので、客観的にわかりにくいかもしれません。


2020/01/19
	ステート等からのパレットの読み込みに失敗していたのを修正

2019/12/15
	ファイルのバイナリをパレットデータとして編集するエディタ[PaletteEditor.exe]を追加
	動作イメージは以下の通り
		https://img.atwikiimg.com/www45.atwiki.jp/yychr/attach/1/75/pe_nes.png
		https://img.atwikiimg.com/www45.atwiki.jp/yychr/attach/1/76/pe_snes.png

2019/11/25
	動作確認
		ColorBit、PalInfo、RGBEditorあたりを変更したので動作を確認する
		パレットエディタプロジェクトでパレットセレクタを変更したので動作を確認する。右クリックの動作と、マウスダウン時のマウスムーブ呼び出しタイミングと、パレットセレクタのペイント処理。
		パレットエディタプロジェクトでRGBエディタコントロールのマウスでRGBをまたがない設定を追加したので反映されていることを確認する
		パレットエディタプロジェクトでRGBエディタが対応しているパレットタイプを追加したので確認する(16ビット、32ビット)
		パレットエディタプロジェクトでRGBエディタが編集するColorBitの扱いを変更したので、YY-CHRでパレットエディタの編集をOKしたときにRGBエディタからダイアログに値を反映するように変更
		縁取りテキストをGraphicsExで処理するよう変更
	コントロール関連
		[済]ColorBitクラスはビット数指定ではなくパレットタイプ指定に変更する、Colorやバイナリ変換も作り直し。
		[済]ColorBitで16/32ビットなどのバイナリ読み込みに対応する。パレットエディタやYY-CHRのパレット読み込みもColorBitクラスの処理を使うよう変更
		[済]RGBエディタコントロールをARGBに対応させる。コントロールのプロパティで制御可能。このパレットエディタでは常時表示。YY-CHRでは非表示。
		[済]RGBエディタの目盛りの描画幅やタイミングが正しくない。ディスプレイ外で再描画するとずれることがあった
		[済]プロパティエディタは他のプロジェクトでも使えるようにCommonLibに移動(YY-CHR/PrgEditor/PaletteEditorで使う)
	バグ修正
		[済]RGBエディタのコンボボックスでパレットタイプを変更するとパレットタイプが混在したデータになるので、コンボボックスを無効にした。

2019/11/16
	ビットマップタブにUndo/Redo機能がないので実装する
		[済]Undoバッファ操作機能の実装
		[済]Undoバッファ作成のタイミングなど検証・実装
	多言語対応
		[済]言語切り替え時に「対象コントロールにリソースを反映」ではなく「対象リソースをコントロールに反映」するように変更
		[済]公開前に中途半端になっていたコントロール名を一新を完了する。mi/tb化
		[済]パレットモードのヒント情報を追加
		[済]リソース読み込みで\\rと\\nのエスケープを解除する。改行コードを\r\nと\nの両方に対応できるようにする
		言語ファイル(yychr.lng)に対応する
			[済]LNGファイルの出力/読み込みに対応する
			[済]デザイナリソースの、LNGファイルからの読み込みに対応する
			[済]非デザイナリソースの、LNGファイルからの読み込みに対応する
			[済]言語選択欄のLNGのチェックに対応する
			[済]起動時にyychr.lngがあれば読み込み設定を追加する
			[済]ナビなどの使用頻度が高いテキストは先読みしておく
	貼り付けの改善
		[済]ビットマップタブのコピペの色数がROMタブに影響を受けてパレットが化けている？256色すべて使ってコピペできるようにする。
		[済]バンク右クリックやコピー後、編集領域にクリップボード画像を表示するが、その画像を取得するタイミングを減らした。取得した画像を表示するタイミングは変更なし。
		[済]貼り付け処理のクリップボード画像を不要になったタイミングで破棄するよう変更
	色の置換の改善
		[済]色の置換が最大16色しか対応していない。ビットマップタブは256色なので、256色に対応する必要がある
		[済]256色のパレットテーブルを2つ並べて、下にプレビューを追加する
	ステートファイルの読み込み
		[済]ドラッグアンドドロップでセーブステートの拡張子だった時にも読み込むようにする
		[済]拡張子だけで読み込み先を決定すると、ステートファイルをROMとして(VRAMを覗くため)開こうとしても開けなくなる。ドラッグアンドドロップでは選択肢を表示する
		[済]処理内蔵の対応ステートファイル形式に対応する
		[済]StateSettingの設定パターンに対応する
			▲変な拡張子設定をしたときに異常が起きないかを検証する必要がある
	バグ修正
		[済]パレットセットが256色の画像形式で、貼り付け時にパレットセットが0色扱いとなりキャンセルされていた。256色のときはパレットセットを無視するよう修正
		[済]マウスホイールのペン選択で、COLファイルがない時でも[COLSET:パレットセット設定]が指定できるのを修正
		[済]メッセージダイアログの\r\n改行と、その時のダイアログサイズが正しくないことがあったのを修正
		[済]ナビゲートの表示位置。テキストが長くてはみ出すとアイコンが左側に消えるのを修正
		[済] .palテンプレートを読み込み([両パレットモード]に読み込まれる)、[PAL+SETモード]のパレットのRGBを変更したとき、
			テンプレートの自動保存をしすると選択パレットモードにかかわらず[PALモード]のパレットがファイルに保存されていたのを修正
		[済]COLファイルを4BPPSNESで使うとき、COLSETペンで編集すると4色でセットが1進む。画像形式の色数で進むべき。表示色は問題ない。
	その他
		[済]Ctrl/Shift/Alt＋マウスに新しい機能を割り当てる。ナビゲートの表示も対応する。 
			[済]バンク表示：Ctrl+ホイール　：編集サイズ変更
			[済]編集領域　：Ctrl+左クリック：閉領域塗りつぶし
			[済]保持しているペンの役割を明確にする。EditPanel.EditFunctionは描画に使っているペン(一時的な変更も反映する)。PenManager.Selectedはユーザーが選択したペン(一時的な変更は無視する)
		[済]パターンエディタに右ドラッグで範囲選択と移動ができることを表示する
		[済]右クリックしたときのクリップボード画像の取得処理を変更。
		[済]設定のGUI倍率をインデックスではなく数値化する
		[済]左下のツールバーのコンボボックスの廃止(フォーカスが残らないようにする) →ツールバーのボタン化
		[済]パレットセレクタがフォーカスを持たないよう変更
			フォーカスのあるコントロールがわかるように明確なBorderなどを描画する機能は、実装したけどあまり意味がなくなったので再度無効化。
		[済]MainFormのボタンはフォーカスを得ないようにする。ButtonNoFocusを作る
		[済]CellSelectorコントロールの選択範囲の反転表示機能が無効になっていた(黒一色になっていた)のを修正(YY-CHRでは未使用)
		[済]プロパティエディタのツリー構築を改善。クラス名を表示するように変更。言語変更前に表示した項目で言語切り替えが反映されない問題を解消

2019/10/25
	[済]掲示板のURLがライブドアのままだったのでしたらばに更新。更新前でも転送されてたけど、転送後にエラーが出ることがあった。
	[済]アセンブリ情報に、間違った情報(HP)が入っていたのを修正
	画像フォーマット
		[済]テスト用に1bpp 16x12(FF5フォント)と16x11(FF6フォント)形式を追加。プラグイン化して本体からは削除する可能性あり。
		[済]16x12形式のような半端なキャラサイズで、マウスホイールのスクロール量が正しくない。キーボードの上下は正しいので、ホイール処理のアドレス計算をキーボードと同等にする
	テンプレートファイル・プラグイン
		テンプレートのサンプルを追加
			NES:スーパーマリオ,
			SNES:FF4,FF5,FF6,DQ3,テイルズオブファンタジア
		[済]DataFileBaseでDataFileManagerの参照を取得するしくみを作成する。(DataFileの実装ミスがあっても無限ループが発生しないようにした)
		ROM
			[済]ヘッダサイズを検出するためのきりのいいサイズを設定に追加する。デフォルト値は1bppのバンクサイズ0x800を設定する。(計算時の上下限は、最大010000、最小000100とする。)
			[済]設定値で割った余りをヘッダサイズとする。大抵の場合、ヘッダ有りならNESは10、SNESは200となる。CHRとかMSXROMなら0になる。
		ADF拡張
			[済]ADFの名前部分の最後のバイトがFFの場合、ADFパターンのFFを編集禁止にして非表示とする。これによりADFパターンを使って不定形(抜けのあるBG)のグラフィックエディタ・ビュアーとして使いまわせる。
			[済]FormatBaseの変換でADFのFF無効化フラグを見て、フラグが立っているならRead時はダミーデータを読み込み、Write時は変換処理をしないようにする。
			[済]パターンディタでFFを無効にするチェックボックスを追加
		COLファイル対応
			[済]DATのセット切り替え時に、バイトマップ変換で選択セットの色をDATパレットの通りの番号で付ける。※COL未使用時のパレットも扱いが変わる。今は0-COLORNUMだけを使っているが、256色全部使うようになる。
			[済]DATの選択時にバイトマップの最初のセットの色を書き換える処理を、COLモードでは無効にする。同じタイミングで、すべてのDATパレットを設定する
			[済]スポイトで色を取得するときに、COLモードでは「取得したインデックス」を「パレットセット内のインデックス」に変換しない
			[済]パレットセットの変更だけをするためのピクセルを変更しないペンを作る
			[済]ペンで描画したとき、選択中のパレットでCOLデータを書き換える ※COLSETペンのみ対応
			[済]COLにADFを適用する
			[済]ROMの保存時にCOLデータも保存する
			・COLSET以外のペンではパレットセットが書き換わらないのは仕様とする
			▲COLファイルのサイズより大きい領域への書き込みは、ROMサイズに合わせて拡張するのが望ましいが、現時点では書き込みを行わないだけになっている
		PALファイルの読み込みの改善
			[済]RIFFパレットで、256色以外のパレットの読み込みに対応
			[済]メモリからの読み込みでPALの読み込みサイズが効いていない
			[済]メモリからの読み込みでPALの読み込み先指定が効いていなかったのを修正
		Settingファイルの改善
			[済].setting/.StateSettingの読み込みを統合した
			[済]CHRアドレスとPALアドレスを紐づけることができるようにする。FF5の戦闘時キャラクターのジョブごとのパレットに対応したい
				Setting読み込み時ではなく、CHRアドレスを変更したとき、CHRアドレスに紐づくPAL読み込み設定があれば、そのPALアドレスのパレットを読み込む
			[済].settingのアドレスはヘッダの有無を考慮できるようにする。
		JumpListの改善
			[済].jumplistのアドレスはヘッダの有無を考慮できるようにする。設定値がなければ追加もする。
			[済]ジャンプリストの最後に選択した項目を記憶しておき、次の項目、前の項目に移動できるようにする。アドレスツールボタンを追加。キーボードキー割り当て[と]を追加する。
	バグ修正
		[済]バンク表示の右側のアドレスボタン(+10/+100)の順序が逆になっていたのを修正
		[済]マウスボタン押下～解放の間にキーボードなどでアドレスを変更すると、正しくないアドレスが更新される
		[済]サイズが0x418以上のPALパレットをドラッグアンドドロップで正しく開くことができなかったのを修正
		[済]ADFパターンエディタの「Save/保存」ボタンはADFデータの更新であり、ファイルの保存ではないので「Update/更新」に変更
		[済]SNESのステートからパレットを読み込んだ後に、PALを保存するとサイズが0x0300になっている。0x0200に切り捨てると正常に表示できる
		[仮] 9ビットパレットの読み込みの処理の改善
	多言語対応
		[済]JumpListのアドレスの追加/削除が日本語になっていなかった

2019/10/06
	テンプレートファイルの読み込みの改善
		[済]ファイルをドラッグアンドドロップしたら、ROMかテンプレートファイルかを判断して開く (テンプレートファイル:ADF/DAT/PAL等)
			[済]読み込み順序：テンプレートファイル判定→それ以外はROMとして開く
			[済]拡張子とファイルサイズで判断する
				[済]DATは256バイト以下はテンプレートファイル、大きいファイルはROMとして扱う
				[済]BMPで画像ファイルの読み込みにも対応する
	パレットの改善
		[済]PALファイルが読み取り専用なら、RGBエディタは開けるが変更はできないようにする。(テンプレート運用向け)
		[済]編集不可であることと、その原因を表示する。「編集不可 (ファイルが読み取り専用)」など。
		[済]ゲームテンプレート運用向けに、読み取り専用＝編集不可とする設定項目に追加する。デフォルトは編集不可(別ファイルに保存後に編集する)
	ビットマップタブの改善
		[済]画像ファイルの読み込み処理がタブで分かれている。画像読み込みとエラーチェックまでは共通化して、編集対象の画像に張り付ける部分だけ分ける
			[済]ROMタブ：128x128 パレット読み込み:なし/(設定でありにもできる) パレットの読み込み先:なし/(256色パレット)
			[済]BMPタブ：256x256 パレット読み込み:あり パレットの読み込み先:BMPパレット
		[済]画像ファイルの読み込みで、サイズチェックでNGの場合に未対応形式のエラーが出ている。サイズNGのメッセージを表示する。
			→読み込んだ画像のサイズが大きい場合に画像を切り捨てたメッセージを表示する。この表示は設定で無効にできるものとする・
		[済]画像ファイル読み込みでサイズエラーが出ているとき、BMPパレットだけが読み込めている → 未対応サイズは、エラーではなくなったので起こらない
		[済]画像ファイル読み込みの未対応形式によるエラーメッセージをわかりやすく、PNGにも対応したものに変更する
		[済]BMPタブでBMPを読み込むときも、ROMタブの更新済みフラグを見て確認ダイアログが出ている
			→ BMPタブでもROMファイルのドロップや終了はできるので、タブで判断してはいけない。「ROMを閉じるとき以外(BMPやテンプレートファイルをドロップ・開いた時)はROMの更新済みチェックをしない」が正しい
	バグ修正
		[済]ホイールでペンを変更したときに、(BMPタブで)ペンにパレットが設定されていない
		[済]2パレットモードで16ビットパレットと24ビットパレットを同時に使っているときに、パレットモードを切り替えた直後のRGBエディタが前回のパレットモードの色を指していた
			→ビット数切り替え時に前回の色でリセットされていた。エディタを開くときにビット数変更のリセットイベントが動かないようにした。
		[仮対応]MainForm.KeyDownにキー処理を集約した場合、MainForm上でフォーカスのないコンボボックスにマウスホイールを使うと、コンボボックスの値が変化しながらスクロールもする。
			【発生内容と原因】
			(A)ComboBoxコントロールのMouseWheelの実装は何故か内部でKeyDownを発行して選択項目を変更している
			(B)ComboBox.KeyDownよりForm.KeyDownが先に呼ばれている
				→ Form.KeyPreviewが有効になっていると、コントロールよりも先に親Formが処理を行うが、想定外の(A)のキー入力にも適用されている。
					通常ComboBoxはホイールされたときに上下キーを発行し、自分に対するキー入力イベントで上下キーがあったとして選択項目を変更し、処理されたとして親へはKeyDownイベントを回さないが、
					KeyPreview設定されているときは、コントロールよりも親Formのイベントを先に実行するので、Formで上下キーが処理される。その後ComboBox側の処理も動く。ComboBoxが後でHandledしても無意味。
					この場合MainForm.KeyDownはFormから呼ばれ、ComboBoxからのイベントとは判断できない(アクティブでもフォーカスでもない)ため、発生したForm.KeyDown内で回避する方法はない。呼ばれない必要がある。
			【対策】
			(1)MainFormでカーソルを処理しない。カーソルキーはScrollPanelにで処理し、それ以外のキーだけMainFormで処理する
			(2)(Aの対策)コンボボックスでホイール時にキーを発行しない拡張コントロールComboBoxExを作る。影響小。
				①[マウスホイール処理]でデルタを見て相対で上下の項目を選択し、②Handledにすることで、元のキーを発行するホイール処理を回避。
			(3)(Bの対策)MainForm.KeyPreviewをやめる。影響大。
			現時点でどれかの対応があればいいが、(1)(2)が対応されている。▲将来的には(1)を解除して再度統合を検討。その際、パレットセレクタなどのキーイベントのHandledを再設定する必要がある。
	タイトル・ステータスバーの改善
		[済]タイトルはROMタブとビットマップタブで情報を変更する。タイトル設定処理を変更
			ROMタブ：ROMファイル名 address/size 変更フラグ
			BMPタブ：BMPファイル名 変更フラグ ▲BMPの変更フラグは現時点で設定されない
	言語対応の改善
		[済]言語アイコンの変更(A/あ または En/Ja)または削除。 → 現時点では代わりのアイコンがないので削除
	動作環境改善
		[済]Windows以外の環境でmsgothic.ttcフォントが用意されていないことを考慮して、GUIフォントがない場合、英語モードで起動する。フォントのチェックは設定で無効にできる。(フォントが多いときや誤判定する場合無効に)
			参考：Macでwineを使って起動する方法
			http://life-future-design.com/mac%E3%81%A7%E3%83%95%E3%82%A1%E3%83%9F%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/
	ドキュメント作成支援
		[済]Settingsクラス内の設定項目の説明をテキストで出力できるようにする。出力したものはそのままYY-CHR.txtに貼り付ける。設定画面でCtrl+OKを押すとYYCHR.attribute.txtを出力する。

2019/09/28
	エディタ領域の改善
		[済]エディタ領域のマウスホイールに機能を割り当てる：スクロール、ペンの変更、パレットの変更など。設定からカスタマイズ可能。
		[済]ステータスバーにマウスホイールのナビゲートを追加する。ステータスバーに十分な幅がある場合にだけ表示する。(GUI倍率x3以上やビットマップタブなど)
	ビットマップタブの機能追加
		CHRタブからのコピペ作業領域だけではなく、単体でビットマップの編集が可能な領域に変更する。(ビットマップファイルのパレットを確認できるようにしたい)
		[済]パレットのモード(PAL+SET/PAL)にBMPを追加する。
		[済]BMPパレットは画像の保持するパレットを使用する。BMPパレットからcolorbitを作成する
		[済]BMPパレットモードでは256色固定のDATパレットセットを使う
		[済]ビットマップタブ/ROMタブで使っていたパレットモードをそれぞれ保持する。タブを切り替えたときはパレットモードを復元する。(タブ間でコピペするときに毎回パレットモードを切り替えるのは面倒)
		[済]選択パレット番号もタブで保持する
		[済]ビットマップタブでもファイルメニューのビットマップを開くに対応する
		[済]画像を開くとき、256色以外の形式は開かない。開けないときはエラーダイアログを表示する。
		[済]ビットマップタブでも画像保存に対応する
		[済]ビットマップタブでの画像保存するときは、ファイルダイアログのデフォルトファイル名を連番ではなく[開いたBMPファイル名]にする
		[済]BMPパレットは画像を保存するときに画像に含める。(パレット変化時に更新)
		[済]ビットマップタブではツールバーの[開く]・[保存]を[BMPを開]く、[BMPで保存]に置き換える
		[済]ビットマップタブではROMの保存、アドレス操作をできないように変更する
		[済]ビットマップタブではステータスバーのアドレスを表示しない ▲ステータスバーの[アドレス欄を表示しない]と[アドレスを空欄で表示する]のどちらがいいか？とりあえず前者で。
		[済]ビットマップタブでは編集領域のマウスホイールのナビゲートで、スクロールを表示しない
		[済]ビットマップタブでシフト機能などのキー操作が効かない。ツールバー操作は有効。 → BMPタブのコントロールにもキーイベントを設定。アドレス系の操作は無効化されているので共通処理でも問題ない
	設定の追加。
		[済]「ウィンドウタイトルにアドレスを表示」
		[済]「ウィンドウの位置を保存」
		[済]「マウスホイールのスクロール量(def:4)」::ScrollPanel.WheelRateでスクロールバーの最小変化量のX倍を設定できる(def:4)
		[済]「表示パレット数」の設定を追加。ウィンドウが小さいときに、256色パレット表示に切り替えたらこの設定の行数を表示するようにした。8より大きいとウィンドウサイズを拡張する。
		　　　パレットの種類の選択でウィンドウサイズを変えたくない場合、8にすると良い。(古いYY-CHRと似た動作になる)
	バグ修正
		[済]編集領域で編集後のタイトルのファイルサイズが1小さく表示されていた問題を修正
		[済]アドレスツールバーの一部のツールチップがなかったのを修正
		[仮]プロパティエディタを開いたときに、稀にカテゴリ読み込みで例外が発生することがある。選択したオブジェクトによるのでYY-CHRが原因か不明。
			再現方法：日本語で起動、設定画面を表示、すぐに閉じて英語に切り替え、プロパティエディタを表示、これで例外が起きる (Settingsにカテゴリ未設定のプロパティがあること)
					　プロパティエディタはカテゴリ属性で分類するが、読み込んだカテゴリは言語切り替え後も保持されている
			　　　　　カテゴリ未設定の場合、日本語の場合[その他]で、英語だと[Misc]で分類される。
					　[その他]と[Misc]の両方が混在するときに.netの内部処理で例外が発生すると思われる。
					　日本語だけ、英語だけの場合は例外は発生しない。
					→修正案:すべてのプロパティにカテゴリを設定する（現時点ではこれで対応）
					→修正案:言語反映時にすべてのカテゴリキャッシュ削除が可能か調べる。または開放して作り直す。現在はこっちも対応完了
	要望・バグ報告
		[済]メニューの誤字「画像から貼り付けく」→ビットマップタブ改善の中で「画像ファイルを貼り付け」に修正済み。保存も同様に変更
		[済]YY-CHRで画像を張り付けると、別プロセスでその画像を保存できない。またYY-CHRでも開いたファイルの保存ができない → new Bitmap(filename)でよくあるロック
			再現方法:貼り付けた直後に貼り付けた画像ファイルに上書きで保存する。別ファイルなら発生しない →ExternalException : このイメージは、イメージの作成元と同じファイルに保存されています。
			修正方法:開いた画像ファイルはデータをコピーしたらすぐ閉じる。
		[済]画像ファイルから張り付ける機能をファンクションキーを割り当ててほしい → F8に割り当て
		[済]画像ファイルに保存でPNG-8形式で保存できるようにしてほしい → 標準の画像保存を調べる。できない場合はライブラリを探すか作る。 → 8bppIndexedBitmapからPNG-8に直接保存可能
		[済]保存したPNG-8形式の画像を読み込む → 内部で8bppIndexedBitmapに変換する。変換は保存で使った逆変換が使えるか調べる。 → PNG-8から8bppIndexedBitmapに直接読み込み可能
		[済]画像ファイルの、デフォルト形式の設定を追加してほしい

2019/09/16
	[済]起動時とタブ切り替え時にフォーカスが外れてアドレス指定のキー入力が効きにくいことがあったのを修正
	PALパレットの改善
		[済]RGBビット数可変のColorの代わりになるクラスを作る。またはビットを処理できるようにExtensionを作る。[Pla-Dat間とRGBEditorだけで使う]
		[済]PALパレットを開いた時のビット情報を保持する。16bit/32bitパレットでも運用・保存できるようにする
		[済]パレットエディタも運用中のビットで開いて編集できるようにする
		[済]パレットエディタのバイナリ値の表示を各ビット対応にする
		[済]内部変更。RGBEditorコントロールをPaintからPanelの拡張コントロールに変更
		[済]RGBビット数が少ないとき、RGBに目盛りを表示するようにした
		[済]パレットエディタでビット数だけ変えると、色が黒に近づいていくのを修正
	[済]ペンの改善:C++版のエディタののスタンプ機能(自由な範囲選択→コピー)を実装
		[済]ペンを切り替えるタイミングで、カスタムペイントされた画面が更新されていないのを修正
		[済]ペンのナビゲートテキストは編集機能クラスから取得した名前を元に作成するのではなく、編集機能クラスにナビゲート文字列を要求するよう変更 (スタンプなどの複数状態に対応する)
		[済]複数状態による処理の場合に、マウスボタンが上がっているときも描画したいので、編集機能にカスタムペイント処理を実装する
		[済]複数状態による処理の場合、保持している値をどのタイミングでリセットするか検討する。→ペンを変えたとき、バンクアドレスが変化したときにリセット
	[済]内部変更。EditPanelコントロールをUserControlからPanelの拡張コントロールに変更する(イベントのラッパーを削除)
	言語切り替えの改善
		[済]色の置換とパレットエディタの言語が切り替わっていなかったのを修正。

2019/09/08
	[済]バンク右クリックのクリップボード表示で、GUI倍率が反映されていないのを修正
	表示パターンの改善
		[済]YY-CHR起動時のパターンファイルの名前は英語のものを使う(旧版ENGの名称を使う) → 次回から英語版がデフォルト
		[済]システムロケール名のADFパターンファイルがあれば優先して開く (日本語なら[yychr.ja.adf]) 対象ファイルがなければデフォルトの言語指定なし[yychr.adf]で開く → 日本語で起動したら日本語版ADFを使う
	減色貼り付けの改善
		[済]貼り付けができないことがある。GVSでPNG画像ファイルをコピーしたときNG、同じファイルをペイントで開いて全選択してコピペはOK。DIB関連。 → ClipboardExを使うよう修正
		[済]256色以上の画像を張り付ける場合、減色して貼り付けを実行する。現在は警告音だけで貼り付けてない。
			▲1bpp/4bppも減色貼り付けが必要。データ変換処理を実装すれば減色画面なしでも対応できるが、効果が少ないので実装しない
		[済]減色画面を開くときに、[画像形式の色数]を[減色後の色数]として初期設定する
		[済]貼り付けと減色して貼り付けで処理を共通化する
		[済]減色画面でパレットの並べ替え無効なのに、出力画像では順序が変わる問題を修正 (減色結果のパレットが作成できていなかった)
		[済]ClipboardExのIndexed DIBの処理を作成 (1bpp/4bpp/8bpp)
			http://www.umekkii.jp/data/computer/file_format/bitmap.cgi のBITMAPINFOHEADER以降
			//実装済みだが、バグがあるとクリップボード使用時に異常終了する可能性がある
	パレットの改善
		[済]キーボードやメニューで前後のパレットを選択するとき、選択パレットが画面外に出たら自動でスクロールする。
		[済]メニューからのDAT/PALパレットの読み込み直後に表示が更新されていなかったのを修正
		[済]PALパレット(*.pal)を読み込むとき、SNES向けのパレットを読み込めるように、ファイルサイズから24ビットと16ビットを判別するように変更 (この時点では読み込みで24bitに変換していたが、現在は16ビットで運用可能)
			元が24bitなので、明確に16bitと判断できるとき以外は24bitで読み込む。
				RIFF PAL ヘッダがある場合32bit
				ファイルサイズが0x0400 → 32bit、0x0300→24bit、0x0200→16bit、0x00C0→24bit
				(3の倍数 かつ 2の倍数でない) → 24bit、(2の倍数 かつ 3の倍数でない) → 16bit、
				(3と2の倍数 かつ 3で割ったときの色数が16の倍数) → 24bit、(3と2の倍数 かつ 2で割ったときの色数が16の倍数) → 16bit
				それ以外 → 24bit
	　		16bitで読み込む場合、RGBビット割り当ては[?bbbbbgg gggrrrrr]になる。 ?は使用しない
	　		24bitで読み込む場合、RGBビット割り当ては[bbbbbbbb gggggggg rrrrrrrr]になる。
	　		32bitで読み込む場合、RGBビット割り当ては[???????? bbbbbbbb gggggggg rrrrrrrr]になる。 ?は使用しない
				※バイナリエディタでパレットデータを作成する場合、最後の8ビット→最初の8ビットの方向でバイトデータを書き込む
	設定画面の改善
		[済]設定画面で、選択中の設定を初期値にリセットできるよう、右クリックメニュー[リセット]を追加
		[済]設定値にデフォルト値を追加する。デフォルト値から変更された場合太字になる
		[済]設定値に説明を追加する
	言語設定の改善
		[済]メニューの言語選択をヘルプの右に移動する(言語の影響しない外に出す)
		[済]言語切り替え時にGUIのサイズが正しくない(リロードすると正しくなる)のを修正

2019/09/03
	動作環境を.net framework 4.0に変更しています (そのうちWindows10環境を想定した4.6に変更する予定です。一部の古い環境では動かなくなる可能性があります)
	ini設定ファイルに互換性がなくなったため、設定を変更していた場合は、メニューのオプションから再設定してください。
	[済]表示パターンエディタにCHRを表示しないオプションを追加する
	[済]表示パターンエディタの初期設定を番号あり、CHRあり、番号輝度100%、CHR輝度50%に変更
	[済]表示パターンエディタで右ドラッグ2段階目の移動先選択中に右左同時クリックするとカーソルが見えなくなるバグを修正する
	[済]クリップボードの内容表示で、画像なしが黒、画像ありで範囲外が灰色になっている。画像なしの時も灰色にする
	[済]ツールバーのボタンの視認性改善 (ボーダーで囲う設定を追加※Win10用) 横並びボタンは24*24、縦並びは25*23にサイズを変更
	[済]バージョンダイアログに使用ライブラリの情報を追加
	[済]テスト用に言語切り替え機能を実装する
	[済]バンク側の下に今後に向けてプラグイン用のパネルを追加する(GUIの追加が可能なように)
	[済]ペン(編集機能)がRectTypeの場合、マウス押下～解放の間に矩形範囲を描画する → 元から実装済み。設定EditingRectColorを変更する。初期値が見えない値になっていたのを修正
	[済]減色貼り付け機能を実装
		[済]2bit/4bit/24bitの画像の入力に対応する (IndexedBitmap取得できないときImageを使う) → 入力画像からの減色処理はパレットではなくピクセル色で処理するので問題ない
		[済]プレビューが2倍になるよう変更する
		[済]色カウントの対象を128*128の領域にする。範囲外は貼り付けできないので使用頻度にカウントしない
		[済]作成したプレビューの8BPPインデックスBitmapを作成して、BitmapOutに返す
		[済]減色画面のバンクの2倍拡大時に左端のドットが切れる(半ドットになる)。幅と高さに+1すると想定した表示ができる(暫定対応)。納得いかないので原因を調べる。
			https://imagingsolution.net/program/csharp/image_coordinate/

2019/08/29
	C++版と同様の実相を追加
	[済]一部ショートカットキーをC++版に合わせる(Ctrl+Shift+V:減色して貼り付け)
	[済]メニューにペンを追加する。キーボードでペンを選択(1～9,0キー)できるようにした
	[済]クリップボードのクリア機能を追加
	[済]メニューの有効/無効/Checkedの更新を実装する → 機能ごとの更新関数を作成。それらをすべて呼び出す関数も作成。Activatedのときに呼び出すようにした。
		[済]ファイルの保存関係が反映されてない
		[済]クリップボードの内容が反映されてない
		[済]パレットモードが反映されていない
	[済]メニューのCheckedをチェックボックスではなく、矩形で色を付けて描画する
	[済]ペンの名前テキストを多言語対応にする
	[済]市松パターンの描画編集機能を追加する (ペンと矩形の追加だけでいい)
	[済]オプション→簡易メニューを追加する。(有効な時メニューのカテゴリのアドレスとペン(とツール)を隠す (.net版はツールはオプションに含むので無視))
		→[簡易メニュー]ではなく[メニューをすべて表示]に変更して実装
	[済]メニュー・ツールバーのアイテムのNameの変更 → 一部変更。(多言語対応が解除されるので半分は保留にしていたが、現在はすべて変更済み)

2019/08/27
	装飾キーとマウスのナビゲーションを追加

2019/06/02
	描画ツールの円描画の計算方法を変更。描画結果が少しきれいになった。円(塗り)のサイズも円(線)と同じになるようにした。

2019/05/26
	RGBパレットエディタのデザイン変更。表示位置と内容の変更
	パレットエディタで数値入力可能にした
	パレットエディタのリセットボタン追加。押すと編集前の値に戻る
	非アクティブで閉じるようにした。C++版に近い挙動
		▲ただしなぜかパレットのRGBエディタでownerを指定すると非アクティブで親ウィンドウが隠れるので、指定していない。ほかの環境での検証が必要かもしれない。
	ヘルプメニューのURLなどを修正

2019/05/15
	パレットセレクタをx3/x4のスケーリング対応にした。
	パレットをPALで表示している時、パレットのラベルがDATの値を表示していたのでPALの値に変更
	作業スペースの8BPP Bitmapで、PALパレットの下が見切れていたのを修正
	8BPP SNES Mode7に対応したつもり。未確認。
	2BPP MSX Screen2フォーマットを追加(ただし表示専用、編集不可) MSX1のドラスレIVの表示に対応。
	ジャンプリストでフォーマットやパターンが指定されていないときは、ジャンプ時に変更しないようにした。

2019/04/09
	Windows10でのデフォルト環境で動作するよう.Net Framework 4.0に変更。それ以前のOSでのサポートは対象外にする (.net4環境があれば動作はするはず)

2014/11/03
	JumpListから選択したアドレスを削除できるようにした
	JumpListの破棄ができていなかった問題の仮対応 (他のデータファイルでは未実施)

2014/10/19
	VBAの32ビット/色のパレットファイルに対応
	jumplistの作成で拡張子が重複する問題の修正

2014/01/25
	新規作成時の初期アドレスを0に変更
	クリアの動作は、選択色でクリアから、0番色でクリアに変更
	起動時にステータスバーが最新の状態に反映されていなかったのを修正。

2013/11/30
	yychr.StateSettingを使うステートファイルの読み込みができていなかったのを修正
	GUIの全体の表示倍率を上げられるようにした。

2013/08/28
	再読み込み時、できるだけ表示していたアドレスを表示するようにした。

2012/10/07
	貼り付け時に実際の貼り付け結果でないものが表示されていたのを修正。
	非アクティブ時、メニューやツールバーをクリックしたらアクティブになるのと同時に機能するよう修正。

2012/09/15
	バンク側で右クリックメニューを出す設定を追加。
	右クリックメニューを出す場合は、設定ダイアログでEnableRightClickMenuをTrueにしてください。

2012/07/01
	画像検索を改善。

2012/06/20
	縦に並ぶアドレスのツールバーに★アイコンでJumpList機能を追加。
	JumpListでファイルのお気に入りのアドレスを登録でき、次回の参照が容易になります。
	登録すると拡張子.jumplistのテキストファイルが作成され、アドレス等が保存されます。
	特定のゲームの改造情報を他人と共有するときに、.jumplistを公開すると良いかもしれません。

2012/05/20
	2BPP 16x16 PCE形式を追加。
	画像形式の1BPP 16x16 の形式を後ろに移動。(キャラサイズ8x8→16x16→128x128の順番にソート)

2012/05/06
	パレットメニュー配下に、"YY-CHR\CommonData"フォルダにあるpal/dat/adfファイルを開くメニューを追加
	画面上のボタンの日本語リソースを追加。
	バグ修正:新規作成した後に「外部からの更新」のダイアログが出るバグを修正。

	内部動作変更:pal/dat読み込み後、編集後の動作を変更。←要テスト

2012/04/30
	保存でUndoバッファを消すかの設定のデフォルト値を消す(true)にした。
	保存でUndoバッファを消さない設定のとき、保存後にUndo/Redoしたら変更マークが消えたままになっていたのを修正。
	小さいファイルを保存するときに、Undoバッファを消さない設定が無効になっていたのを修正。
	8bpp Bitmapタブで編集中の画像を保存できていなかったのを修正。

2012/04/23
	ファイルの保存時にUndoバッファを消去するか設定できるようにした。(SaveClearUndoBuffer=trueで消去)
	編集中のPAL/DAT/ADFを開いているファイル名に合わせて保存するクイックセーブ機能を追加。
	ファイルを開いたときにクイックセーブで保存したファイルがある場合、自動で読み込むようにした。
	    前バージョンまで:file.nesを開いたときfile.dat/file.pal/file.adfがあったら読み込む
	    本バージョンから:file.nesを開いたときfile.nes.dat/file.nes.pal/file.nes.adfがあったら読み込む。前バージョンまでのファイルも読み込み可能
	新規作成した後に何かのダイアログが表示されると、その直後に「外部からの更新」のダイアログが出るバグを修正。

2012/04/19
	小さいファイルを保存するときの確認ダイアログでキャンセルできるように変更。
	描画コントロール内でマウス押下していない状態でマウスボタン開放したときに描画が行われる問題の修正
	描画コントロールでのマウスボタン複数同時押しの処理を変更
	領域描画中の水色点線が、右下から左上に編集時に表示されない問題の修正
	描画機能の「円」がおかしいのを修正

2012/04/15
	128x128の画像より小さなファイルを編集しているとき、保存時にファイルサイズを拡張するか選べるようにした。
	パターンエディタで使用するADF適用前のCHR画像に、ADFパターンが適用されていたのを修正。

2012/04/10
	128x128画像のデータサイズより小さいファイルを開くとエラーが発生していたのを修正。

2012/04/07
	96DPI以外の環境でレイアウトが崩れるのを修正。
	描画機能の「塗りつぶし」が編集範囲外にも適用されるのを修正
	タブ切り替え時にウィンドウサイズを変えるようにした。

2012/03/23
	表示パターンのエディタを修正。(パターンリストの移動、削除、追加を実装)
	Tabキーの選択順を修正。
	「画像から貼り付け」をしても、画面表示しか更新されていなかったのを修正。

2012/03/20
	PRG-ROM Pattern Editorとの連携機能を追加。
	　・「画像を保存」ボタンを追加。表示中のCHRの画像をfilename.ext.bmpに保存します。(filename=開いているファイル名、 ext=開いているファイルの拡張子)
	外部からのファイル変更があったときのダイアログを表示するときにエラーメッセージが出る問題の対策を入れたつもり。
	ファイルを変更したときに、ドラッグアンドドロップで確認ダイアログが出ていなかったのを修正
	ファイルを変更したときに、ファイルのリロードで確認ダイアログを出すように変更
	デフォルトの設定を変更
	　・変更後にファイルを閉じる場合：確認ダイアログを出す
	　・外部からファイルが変更された場合：確認ダイアログを出す
	filename.setting を使用して、開いているファイルから表示パターンを読み込んだときのパターン名などを修正。
	ステータスバーに選択している左上のインデックス値とCHRパターン番号を表示するようにした。
	[パレット>デフォルトに戻す]を追加。YY-CHRのデフォルトのPAL/DAT/ADFを読み込みます。
	表示パターンのエディタを追加。(※現時点では表示のみ)

2011/09/19
	起動時のエラー対策を追加。リソースの整備。

2011/06/06
	ファイルを指定しての起動に失敗するのを修正。
	プロパティエディタのプロパティグリッド(右側)に、選択した項目(クラス)をツリーに追加する右クリックメニューを追加。
	wikiを開くメニューを追加。
	サンプルのBladeBuster用settingを最新のものに修正。

2011/05/25
	プラグインのソースを更新。VB.NET用のソースファイルを追加。
	編集対象ファイルに付属の.datファイルを開くとき、サイズが0x200以下の場合のみ開くようにした。
	編集対象ファイルに付属の.palファイルを開くとき、サイズが0xC0(64色)以上でファイルサイズが3の倍数の場合のみ開くようにした。

2011/03/23
	設定ウィンドウを追加。
	編集中のファイルの実行を追加。
	2BPPのいくつかの形式の反転・回転処理を追加。
	画像形式の詳細表示を追加。
	設定項目(保存/再読み込み確認ダイアログの表示)の追加。
	ペン描画でエラーが出る可能性があったのを修正。

2011/03/18
	起動時に設定をiniファイルから読み込み、終了時に保存するようにした。
	グリッド関連の設定をiniファイルに追加。デフォルトのグリッドを透過白黒＋実線に変更。
	編集領域で最初のパレットセット以外が選択されているときに、編集中の色が正しくなかったのを修正。

2011/03/13
	VirtuaNES/SNES-GT/ZSNESのステート読み込みに対応。
	ペン描画でエラーが出る可能性があったのを修正。

2011/03/09
	新規作成で再読み込み確認が出るのを修正。
	色の置換ダイアログでのキー入力に対応。
	画像形式の回転・反転指定のUIを追加。(1BPP8と2BPP NES以外の形式は未対応)
	TABキーで画像領域にフォーカスが合わなかったのを修正。
	TABキーの選択順序を修正。
	ZXCVキーで0123パレットを選択、NMキーで前後のパレットを選択するようにした。
	ウィンドウサイズ固定にした。

2011/03/06
	色の置換を実装(16色以上は未確認)。
	四角や楕円などの始点終点を指定する描画で範囲の枠線を表示するようにした。
	8x8の編集領域指定を追加。
	グリッド色を変更。(白、黒)
	Fillを仮実装。
	別プロセスから変更されたファイルの再読み込み確認が、再読み込みをしない場合に何度も出るのを修正。
	
2011/03/01
	日本語リソースの追加。メッセージ表示ダイアログの変更。
	Undo/Redoの追加。
	
2011/02/22
	編集中のファイルが別プロセスから変更された場合、再読み込みするか確認するようにした。
	
2011/02/20
	2BPP MSXが正しくなかったのを修正。
	パレットエディタを実装・修正。
	
2011/02/12
	C++版に実装していた画像形式を追加。
	3bpp、8bppの画像形式を追加。
	
2011/02/04
	公開。
