そらのうきぶくろ

Blog - Permalink

偽トロプレビューで下画面の色が変になる症状を解決する

実際には根本的な解決になってないんだけど、とりあえず自分はこれで満足したので書いてみる。
偽トロプレビュー使用時、「エラーフレームを表示しない」にチェックを付けているのに、下画面の色がおかしいフレームが表示されてしまう、という現象が起きている人向け。

使ったもの
Visual C++ 2010(作者の方は2008を使ったらしい。ただし2010でもいける。)
DirectX SDK
・2010年3月16日版の偽トロプレビュー

まず上の2つをインストールする。
偽トロプレビューのsrc.zipを解凍する。
src\proj\msvc9\NiseTroPreview.slnを開く。
2010用のプロジェクトにコンバートする処理があるので、コンバートする。

次は、プロジェクトでDirectX SDKを使えるようにする。
VisualC++とDirectX SDKの設定 最新情報というページがとても参考になるので、このとおりに作業する。

ただ、このままだとビルド出来ないので、リソースファイルを編集する。


res.rcを右クリックし、「ファイルを開くアプリケーションを選択」をクリック。


C++ ソース コード エディターを選択。どうせExpress Editionだと標準のリソースエディタが使えないので、これを規定値として設定しておくとよい。

開いたら、#include “afxres.h”をコメントアウトし、その下に次のように2行追加する。

//#include "afxres.h"
#include <windows.h>
#define IDC_STATIC -1

res_msvc9.rcも同様に編集する。

これでビルドできるかと思いきや、DxErr9.libが無いというメッセージが出てくる。
DirectX SDKをインストールしたディレクトリの、Lib\x86を見ると、DxErr.libなら存在する。
どうも同じファイルらしいので、DxErr.libをDxErr9.libという名前でコピーして同じ場所に置いておけば良いらしい。

次に、先程DirectX SDKを使えるようにした時のように、プロジェクトのプロパティを開く。
構成プロパティ→リンカー→全般の、出力ファイルを<親またはプロジェクトの規定値から継承>にする。

ソリューションにはNiseTroPreviewDX9と、NiseTroPreviewDX9_with_ffmpegが入っているが、今回はとりあえずNiseTroPreviewDX9の方だけ編集する。
なのでffmpeg版はビルドしないように設定する。


ソリューションのプロパティを開き、構成プロパティで、ffmpeg版のビルドのチェックを外す。

ここで更に、右上の構成マネージャボタンをクリック。


アクティブソリューション構成をDebugからReleaseに、NiseTroPreviewDX9の構成をDebugからReleaseに変更する。

※Debugビルドだとパフォーマンスに多少の影響が出る・ファイルサイズが大きくなるため

ビルド→ソリューションのビルド(F7キーでも可)をして、ビルドが成功することを確認する。
成功すると、ソリューションのファイル(*.slnファイル)の2つ上のフォルダ(doc, lib, projといったフォルダが置いてある場所)に、NiseTroPreviewDX9.exeが生成されている。

あとは、ソースファイルをちょっと編集するだけ。
nisetro.cppを開き、func_60fpsという関数を探す。
更に、次のようなコードを探す。

		// なんか微妙
		if( ((30/2)*3) < (*pCur) && bVSync ){
			bool bError = false;
			if( (*pCur) < NDS_SCREENBUF_SIZE ){
				if( pNise->m_ulErrFrm++ == 0xFFFFFFFF )	pNise->m_ulErrFrm = 0;
				bError = true;
			}

この部分のすぐ下(恐らく126行目あたり)に、次の1行を追加する。


if( (pNise->m_CapBufCur2) < NDS_SCREENBUF_SIZE ){ bError = true; } [/cpp] 保存して、ビルドして、実行する。 「エラーフレームを表示しない」にチェックを付けてみる。ほら。下画面すっきり!でしょう?

C++に関しては全くの初心者だし、ソースも流し読み程度しかしてないけど、とりあえずこうやったら直ったということで。深い突っ込みは勘弁。
もともと、下画面のエラーを、「下画面のみ表示」の時はチェックするけど、「2画面表示」の時はチェックしていなかったようなので、そこをチェックするように修正した……はず。タブンネ。

当然ながら、エラーフレームを表示する状態で頻繁に下画面の色がおかしくなる人は、この修正を加えた事でコマ落ちしやすくなっていることに注意。

プログラミング | 1コメント

偽トロプレビューで下画面の色が変になる症状を解決するへのコメント (1)

  • 1

    けんいち 曰く、

    こんにちは。助かりました。大変ありがとうございます☆
    自分はまだピピンさん式のニセトロを使っています。
    Win10の64bitのノートでニセトロを2台以上で配信すると
    下画面で、少しエラー画面のちらつきが起きてしまい
    youtube配信がかっこわるくて困っていました。
    Win7の32bitマシンを引っ張り出してきて、やり方を見させていただいて、
    自分も同じ対策のものを作製し、効果確認できました。
    とてもうれしいです。
    おかげさまでマリオカートDSのオフ会の対戦配信も出来そうです。

コメントを書く


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>