DeSmuME 非公式改造版 X432R
Author: yolky-nine

Windows専用。
致命的なバグがあるかもしれません。使用は自己責任でお願いします。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-06-14-0
	公式SVN r5042を元に作成


高解像度3Dレンダリング（試験的）
	内部処理を新方式に変更。
	表示の再現度が向上。
	Enable Anti-AliasingがONになっていると2Dと3Dの境界部分が汚くなる場合があります。
	
	
	Async ModeおよびDebug Modeを削除。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-05-25-1
	公式SVN r5038を元に作成


高解像度3Dレンダリング（試験的）
	フォグの処理を修正。
	
	
	シングルコアCPUで画面が表示されない問題を修正。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-05-25-0
	公式SVN r5038を元に作成


高解像度3Dレンダリング（試験的）
	高解像度レンダラ用フォグの処理を改良。
	3D SettingsウインドウのEnable OpenGL Fogを削除。
	
	
	高解像度レンダラ使用時にDisplay MethodのDirectDraw HW／SWを選択できるように変更。
	ただしディスプレイの色深度が32bppの場合のみ使用可能です。
	
	
	高解像度レンダラでLCDs LayoutをOne LCDに設定した場合に画面が正しく表示されない問題を修正。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-05-18-0
	公式SVN r5038を元に作成


高解像度3Dレンダリング（試験的）
	処理を改良。
	
	
	3D SettingsウインドウにEnable OpenGL Fogを追加
		この項目をONにすると高解像度OpenGLレンダラでフォグが有効になります。
		まだ不完全なので再現度は低いです。
		画面がおかしい場合はOFFにしてください。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-05-10-0
	公式SVN r5038を元に作成


高解像度3Dレンダリング（試験的）
	内部処理を改良。
	表示の再現度が向上。
	
	
	HUD表示の不具合を修正。
	
	
	Configメニュー → High-Resolution 3D Renderer → Async Modeを追加
		描画処理の一部をメインスレッドから分離し、非同期に実行する機能です。
		使用中は画面更新が正常に行われないことがあります。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-04-28-0
	公式SVN r5038を元に作成


高解像度3Dレンダリング（試験的）
	処理を少し変更。


その他
	前バージョンで変更を加えたファイルパス処理にバグがあったのを修正。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-04-27-0
	公式SVN r5038を元に作成


高解像度3Dレンダリング（試験的）
	内部処理を修正。
	
	x64ビルドで高解像度OpenGLレンダラを使用した場合に3D描画がおかしくなる問題を修正。


その他
	タッチ入力処理やファイルパス処理などを修正。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-04-20-0
	公式SVN r5036を元に作成


高解像度3Dレンダリング（試験的）
	処理を少し修正。


その他
	ステートセーブ時などにOSDメッセージの表示色が変更された場合、メッセージ出力後に白色に戻すように変更。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-04-18-0
	公式SVN r5024を元に作成


高解像度3Dレンダリング（試験的）
	内部処理を大幅に見直し。
	これまで表示できなかった画面効果などを再現できるようになりました。
	まだ完成度はイマイチなため、画面が正常に描画されない場合があります。
	
	
	Normal Mode、Simple Mode、Bilinear Downscaling、Hacksを廃止。
	Hacksに関しては、今後の高解像度レンダラ自体の改良で対応しきれなかった場合に再実装するかもしれません。
	
	
	シングルコアCPUで高解像度3D表示が正常に動作しない可能性があった問題を修正。


その他
	ウインドウのタイトルバーにFPS表示を追加。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-29-0
	公式SVN r5024を元に作成


Configメニュー内の項目を整理
	サブメニューの追加や項目名の変更など。


Configメニュー → High-Resolution 3D Renderer
	High-Quality Mode
		高画質モード。
		ver.2014-03-16で実装された方式のスプライト検出処理を使用します。
		現状ではまだ不完全なので、ムービーや画面効果などが表示できない可能性があります。
		通常解像度の3D画像を表示しないようにするために2D部分の描画処理にも変更を加えており、
		背景などが正しく表示されない場合があります。
	
	
	Normal Mode
		通常モード。
		高画質モードと同様のスプライト検出処理を行います。
		こちらもムービーや画面効果などが表示されない場合があります。
		画面フェード効果などの画質は高画質モードと比べて下がります。
		背景の描画は標準レンダラと同じ処理を使用するため、高画質モードよりも再現度が高いはずです。
	
	
	Simple Mode
		旧方式。
		ver.2014-03-09まで使用していた方式のスプライト検出処理を行います。
		画面にノイズが出やすい（2画面同時3D表示中や、間欠的に3Dが描画されている場合に顕著）ですが、
		内部処理にはほとんど手を加えないため表示の確実性は最も高いです。
		他のモードで表示されない部分が発生する時はこのモードを使用してみてください。
		ノイズがひどい場合には、Bilinear DownscalingをONにすると多少見た目が良くなる可能性があります。
	
	
	Bilinear Downscaling
		前バージョンの高画質モードで使用していた、バイリニア法による3D画像縮小処理を独立してON／OFFできるようにしました。
		スプライト検出機能に起因するノイズが発生している場合にONにすると、見た目の違和感を軽減できます。
		使用中は3D外縁部でのスプライト検出性能が低下するため、必要のない場合にはOFFにしておくことを推奨します。
	
	
	Enable Sprite Detectionを削除
	3D Opacityを削除


Configメニュー → High-Resolution 3D Renderer → Hacks
	Inerframe Alpha-Blend
		Enable Interframe Alpha-Blendをサブメニュー内に移動。
		この項目がONになっていても、必要なソフト以外では作動しないように変更しました（つまり基本的にONのままでOK）。
	
	
	Blank-Frame Skip
		3D描画が間欠的に行われている場合に、3Dが描画されていないフレームをスキップして描画する機能です。
		ONになっていても必要なソフト以外では作動しません。
		フレームスキップ設定によって以下の2つのモードが切り替わります。
		
		フレームスキップ0:
			内部での描画処理はスキップせず、画面への出力部分で空白フレームをスキップします。
			画面にカクつきが発生することがありますが、表示品質はほぼ一定に保たれます。
		
		フレームスキップ1以上:
			上記の処理に加え、描画タイミングに合わせてフレームスキップ間隔を調整する処理が有効になります。
			フレームスキップ設定で指定されている数値は無視されます。
			フレームレートを稼ぎやすいですが、タイミングの調整を行う際に画面が乱れます。
		
		空白フレームの判定方法があまりスマートではないため、状況によっては正常に機能しない可能性があります。
		画面が更新されないなどの問題が発生した場合には、この項目を一度OFFにするなどしてみてください。
		なお、Fast Forward中などはこの機能が一時的に無効化されます。
	
	
	これらの項目は高解像度レンダリング機能の不完全さを補うための一時的なものの予定です。


その他
	Viewメニュー → Window Size → No Resize
		No ResizeがONの場合でもウインドウの最大化ボタンを無効化しないように変更。
		
		ウインドウを最大化した状態で3Dレンダラを高解像度版に変更したり、Maintain Aspect RatioをONにした場合などに
		ウインドウサイズがおかしくなっていた問題を修正。
		
		プログラム終了時のウインドウ最大化およびフルスクリーン状態を保存し、起動時に復元するようにしました。
		フルスクリーンモードで終了した場合、元のウインドウ位置が保存されない不具合あり。
		
		その他、最大化とフルスクリーン関係の細かい変更。
		もしかしたらウインドウモードやフルスクリーン状態の切り替え時に不具合が出るかもしれません。
	
	
	Viewメニュー → Show Menubar in Full-Screen Mode
		この項目をONにしておくと、Alt+Enterでフルスクリーンモードに切り替えた時にメニューバーが非表示にならなくなります。
	
	
	Configメニュー → Sound Outputの内部処理を少し変更
	
	
	ホットキー入力処理を少し変更


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-22-1
	公式SVN r5024を元に作成


その他
	前バージョンでのOpen ROMの変更を無効化
		ファイル名にダメ文字が含まれたROMをロードするとセーブデータのファイル名がおかしくなるため、
		とりあえず対応を取り消し。


既知の不具合
	前回の同項目を参照。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-22-0
	公式SVN r5024を元に作成


高解像度3Dレンダリング（試験的）
	Configメニュー → High-Resolution 3D Renderer → Enable High-Quality Modeを追加
		高画質モードの有効化／無効化。
		ONにすることで通常解像度の3Dが非表示になり、3D外縁部のジャギーが軽減されます。
		画面フェード効果や半透明スプライトによる画質低下も改善されますが、効果がない場合もあるようです。
		使用中は実行速度が若干下がります。
		表示がおかしい場合はOFFにしてみてください。


その他
	Recent ROMの最大数を30に変更
	
	ファイル名にダメ文字が含まれているとOpen ROMに失敗する場合があった不具合を修正


既知の不具合
	前回の同項目を参照。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-16-0
	公式SVN r5024を元に作成


高解像度3Dレンダリング（試験的）
	内部処理を改良
		スプライト検出機能の内部処理を変更。
		誤検出による画質低下が発生しにくくなりました。
		
		2画面同時3D表示時のカクつきを改善。
	
	
	Configメニュー → High-Resolution 3D Renderer → Enable Interframe Alpha-Blendを追加
		3D描画を複数フレームに分割して行っている場面で、2枚のフレームを結合して表示する機能を試験実装。
		なるべく副作用が出ないように作ってありますが、必要のない場合にはOFFにしておくことを推奨します。
		なお、フレームスキップが奇数に設定されている場合は正しい表示が行えません（これに関しては標準レンダラでも同様）。
	
	
	Configメニュー → High-Resolution 3D Renderer → Show Fade Effectを追加
		スプライト検出機能の変更により一部の画面フェード効果が正しく反映されない場合があるため、
		フェード時に半透明ポリゴンを画面に重ねて表示しています。
		表示がおかしい場合にはOFFにしてみてください。
	
	
	Configメニュー → High-Resolution 3D Renderer → Enable Dual Sprite Detectionを削除
		この機能は必要なくなったため削除。
	
	
	Configメニュー → High-Resolution 3D Renderer → Enable Triple Layer Modeを削除
		本バージョンでは常時ONとなります。


その他
	Windows7用のタッチ入力APIを動的にロードするように変更
		APIをサポートしていないWindows Vistaなどでも起動できるようになりました。
	
	
	タッチ入力処理などを少し変更


既知の不具合
	画面の上部がちらつく場合がある
		スプライト検出機能の不具合です。
		その部分だけスプライト検出が実行されないフレームが発生しているようです。
		フレームスキップを1以上に設定することで一応回避できる模様。
	
	
	Open ROM／Recent ROMの実行や3Dレンダラ変更、ウインドウを閉じた時などに異常終了する事がある


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-09-0
	公式SVN r5018を元に作成


高解像度3Dレンダリング（試験的）
	Fast Forwardで画面がちらつく現象に対処
		ちらつきへの対処のついでに、Fast Fowerd中でも高解像度3Dを非表示にしないようにしました。
		応急処置なので、フレームレートなどによってはおかしくなったりするかもしれません。
	
	
	Configメニュー → High-Resolution 3D Renderer → Enable Triple Layer Modeを追加
		この項目がOFFの場合、3Dの上にスプライト（3D部分を透明化した通常画面）を表示する2層構造ですが、
		ONにすると上記の2層に加え、3Dの下に通常画面を表示する3層構造にします。
		これにより、スプライトの背景の上に3Dモデルが描画されている場面で表示が汚くなる問題を回避できます。
	
	
	Configメニュー → High-Resolution 3D Renderer → Show Overlayed Spriteを追加
		デバッグ用。
		Enable Triple Layer ModeがONの場合にのみ使用可能。
		3Dよりも上に表示されるスプライトの表示／非表示。
		OFFにするとHUDも表示されなくなります。


その他
	タッチ入力を無効化したバージョンを作成
		ファイル名に「XP」と付いている実行ファイルがそうです。
		Windows7用のタッチ入力APIをサポートしていないVistaやXPでも動作するはずです。
		また、ホットキーなど入力関係の不具合が出る場合にもこちらを使用してみてください。
	
	
	x64ビルドでOpenGLレンダラを使用すると表示がおかしくなる場合があるようなので配布中止
		x86用の実行ファイルを使用してください。


既知の不具合
	3D描画を複数フレームに分割して行っている場面で表示がおかしくなる
		前バージョンの同項目を参照。
	
	
	画面フェード時などに画面が汚い
		スプライト検出機能が悪さをしている可能性があります。
		Enable Dual Sprite DetectionをOFFにする、Enable Triple Layer ModeをONにするなどを試してみてください。
		それでも改善されなければEnable Sprite DetectionをOFFにしてください。
	
	
	Open ROM／Recent ROMの実行や3Dレンダラ変更、ウインドウを閉じた時などに異常終了する事がある
		前回書いた事は全く関係なかったようです。
		再現しない環境もあるのでテスト環境側に問題がある可能性もありますが、稀に異常終了が発生します。


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-08-0
	公式SVN r5018を元に作成


高解像度3Dレンダリング（試験的）
	内部処理を改良
		スプライト検出機能の同期処理を見直し。
		フレームスキップが0以外に設定されている場合でも正しい処理が行えるようになりました。
		3Dの描画タイミングがずれてしまう不具合も解消され、全体的に違和感が減少しているはずです。
		
		2画面同時3D表示に対応してみました。ただし画面が多少カクつくかもしれません。
		
		高解像度3Dと通常画面の表示方法を変更したため、3Dとスプライトの境界部分に線が入る場合があります。
		気になる場合はEnable Sprite DetectionをOFFにしてみてください。
		
		HUD表示に関する不具合を修正。
	
	
	Configメニュー → High-Resolution 3D Renderer → Enable Dual Sprite Detectionを追加
		2つのフレームに対してスプライト検出を行うことで検出精度を上げる機能の有効化／無効化。
		ONにすることで誤検出が減少し、画質が改善されます。
		基本的にONのままでOKですが、表示がおかしい場合にはOFFにしてみてください。
	
	
	Configメニュー → High-Resolution 3D Renderer → 3D Opacity → 50%〜100%を追加
		Enable Sprite DetectionがOFFの場合にのみ使用可能。
		3D部分の不透明度を下げることで、スプライト検出OFFの時に隠れてしまう部分を見えるようにできます。
	
	
	Configメニュー → High-Resolution 3D Renderer → Show Normal Screenを追加
	Configメニュー → High-Resolution 3D Renderer → Show High-Resolution 3Dを追加
		デバッグ用。
		通常画面および高解像度3Dの表示／非表示を切り替え。
	
	
	OpenGLレンダラのアンチエイリアシング（MSAA）機能を使用できるようにしました
		AntiAliasingパッチ：http://sourceforge.net/p/desmume/patches/156/（作成者：Danyal Zia氏）
		3D SettingsウインドウのEnable Anti-AliasingでON／OFFできます。
		OpenGLのMSAAをサポートしていない環境ではONにしても機能しません。
	
	
	ホットキー設定ウインドウ → Tools → Toggle Sprite Detectionを削除


その他
	Enable Soundなどの内部処理を少し変更


既知の不具合
	3D描画を複数フレームに分割して行っている場面で表示がおかしくなる
		前景・背景を交互に描画している場合などに高解像度3Dが正しく描画できていません。
		Enable Dual Sprite DetectionをOFFにすると、少しだけマシになるかもしれません。
	
	
	異常終了に関して
		VisualStudioのビルドオプションを変更した際、既存のオブジェクトファイルを削除せずにビルドを行うと発生するような感じです。
		対策を行った実行ファイルではとりあえず再現しなくなっているようです。
		プログラム側に深刻なバグが存在しないとは断言できないので、重要なデータ等はバックアップしておくことを推奨します。
	
	
	画面フェード時やFast Forwardなどで画面がちらつく事がある


--------------------------------------------------------------------------------
DeSmuME X432R 2014-03-01-0
	公式SVN r5000を元に作成
	初リリース


高解像度3Dレンダリング（試験的）
	3D Settingsウインドウ → RendererにOpenGL X2〜X4, SoftRasterizer X2〜X4を追加
		このレンダラが選択された場合、Video Filter設定が無視され、Display MethodはOpenGLに固定されます。
		画面への表示にOpenGLテクスチャを用いており、作成可能なテクスチャサイズが4096未満の環境では動作しません。
		また、OpenGL X2〜X4はOpenGL 2.1に対応している環境でのみ使用可能です。
		使用中は標準レンダラに比べてCPU負荷は大幅に増加します。
		実行速度はエミュレーション中の状況によって異なり、OpenGLよりもSoftRastの方が高速に動作する場合もあるようです。
		なお、DeSmuME内蔵のスクリーンショット機能には高解像度レンダリングが反映されません。
		この機能は通常解像度の画面の上に高解像度レンダリングした3D画像を重ねて描画しているだけの小手先実装なので、
		過度の期待は禁物です。
	
	
	Configメニュー → High-Resolution 3D Renderer → Disabled〜X4を追加
		メニューから直接レンダリング解像度を変更できます。
		X2〜X4で高解像度レンダリング機能の有効化、Disabledで無効化。
	
	
	Configメニュー → High-Resolution 3D Renderer → Enable Sprite Detectionを追加
	ホットキー設定ウインドウ → Tools → Toggle Sprite Detectionを追加
		画面フェード効果や、OBJレイヤーに描画されているスプライト(3Dよりも上に表示される）を検出し、
		高解像度3Dの上に描画し直す機能の有効／無効を切り替えます。
		ONにするとスプライト表示はそれなりに改善されますが、3D部分は画質が悪化する場合があります。
		OFFにすると一部のスプライトが3D画像によって隠れてしまう問題が発生し、画面のちらつきが起きることもあるようです。
		基本的にはONのままでOK。
		もっとマシな方法で実装しなおしてOFFにする必要がなくなった場合、この設定項目は削除する予定。


入力関係
	Windows7のタッチ入力に対応
	ゲームパッド／キーボード入力処理の一部をタッチ入力と競合しないように変更
		環境によっては動かないかもしれません。
		エミュレーションのフレームレートが低下している際にホットキー入力に対する反応も鈍くなるなど、
		公式版とはやや異なる点があります。
	
	
	上画面クリックによるタッチスクリーン入力を無効化


メニュー関係
	View → Window Size → No Resizeを追加
		サイズ変更不可、移動可能なタイトルバー付きウインドウに変更するモード。
	
	
	View → Screen Gap → Editable Via Border Draggingの初期値をfalseに変更
	
	
	Config → SoftRasterizerを追加
		ホットキーのToggle Rasterizerと同一の機能。
		高解像度レンダラ使用中はレンダリング解像度を維持したままSoftRastとOpenGLを切り替えます。
	
	
	Config → Enable Soundを追加
		Sound Core設定を変更せずに音声出力を有効化／無効化。
	
	
	Config → Enable CPU Power Savingを追加
		PauseをかけてもCPU使用率が下がらない場合、この項目をONにすることでCPU使用率を低減することができるかもしれません。
		ただしエミュレーション性能の低下や、何らかの不具合が起きる可能性もあります。
	
	
	Tools → Cheatsなどのチート関連項目を選択しやすい位置に移動
	
	
	Tools → Show Consoleを追加
		コンソールウインドウの表示／非表示。


ホットキー設定ウインドウ
	Tools → Toggle Sound Enabledを追加
		ConfigメニューのEnable Soundと同一の機能。


その他
	実行ファイルと同一名のiniファイルを使用するように変更
		実行ファイル名をDeSmuME_hogehoge.exeに変更すると、設定ファイルもDeSmuME_hogehoge.iniを使用するようになります。
	
	
	日本語ROM対応


高解像度レンダラ関係の既知の問題
	2画面同時に3Dが表示されている場合に高解像度で描画されない、画面がちらつく
		NDSはどちらか一方の画面にしか3D描画できないため、2画面同時に3Dを表示する場合、
		描画先を交互に切り替えながら画面に出力するという手段を用いているようです。
		現状、高解像度3D表示はこのような2画面同時出力には対応していません。
	
	
	Open ROM／Recent ROMの実行や3Dレンダラ変更、ウインドウを閉じた時などに異常終了する事がある
		わりと致命的。
	
	
	Fast Forward中に画面がちらつく事がある


--------------------------------------------------------------------------------
TODO
	高解像度レンダラでVideo Filterが使用できるようにする
		あまりやる気なし。


--------------------------------------------------------------------------------
