web-dev-qa-db-ja.com

Windows8以降で16ビットカラーゲームを最小化するときのバグ

私は古いMMO 16ビットカラーを使用して作成されたゲームをプレイします。ゲームはWindows7および古いバージョン(Vista、XP)で完全に動作します。

ただし、Windows8以降のバージョンではゲームにいくつかのバグがあります。

ゲームを開始して通常どおり全画面モードでプレイできますが、ゲームを最小化([alt]タブ)してから再度最大化すると、ゲームのグラフィックが紫色になり、画面の半分に縮小されます。

Screenshot 1

Screenshot 2

"ChangeDisplaySettings" APIを使用しようとしましたが、16ビット/ピクセルに変更しようとすると機能しません。

もう1つの奇妙な注意点は、ゲームが開始時に魅力のように機能することです。バグは、最小化してから再び最大化したときに発生します。

誰かがそれを修正するための解決策を持っていますか?

5
paulohr

このようなフルスクリーンのDirectXゲームをウィンドウで実行できるアプリケーションがあります。これにより、ゲームの実行速度が低下する可能性がありますが、説明したグラフィックの問題なしに、ゲームと他のアプリケーションを切り替えることができます。

そのようなアプリケーションの1つは DxWnd です。

以下では、GunBound Thor's Hummerのセットアップ方法について説明します(スクリーンショットはこのゲームのものだと思います)。

GunBound ThorのHummerは、Launcher.exeを使用してGunGame.gmeファイルを実行します(これらのファイルは、GunBound ThorのHammerインストールフォルダーにあります)。 gmeファイルを直接処理するようにDxWndをセットアップできなかったため、いくつかの追加手順が必要です。

  1. GunGame.gmeをGunGame.exeにコピーします。
  2. いくつかの16進エディターを使用してLauncher.exeファイルのGunGame.gmeをGunGame.exeに置き換えます(メモ帳++も機能しますが、標準のWindowsメモ帳は実行可能ファイルを破損します)。パッチを適用する前に、Launcher.exeをバックアップすることをお勧めします。
  3. 管理者としてDxWndを実行します。
  4. DxWndで、[編集]> [追加]を選択し、開いたダイアログに次の値を入力します。

    • 名前:あなたが望むものは何でも
    • パス:C:\ Program Files(x86)\ GunBound Thor's Hammer(nos)\ GunGame.exe(実際のパスに置き換えます)。
    • 起動:C:\ Program Files(x86)\ GunBound Thor's Hammer(nos)\ Launcher.exe(パッチが適用されたランチャーへの実際のパスに置き換えます)。
    • 他のすべてのオプションはデフォルト値のままです。
  5. OKを押します。

  6. 作成したアイテムをDxWndウィンドウで実行します。ゲームはウィンドウ内で実行されます。
2
Alex Che

Windows 8以降、 デスクトップウィンドウマネージャー(DWM)は常にオン であり、常に32ビットの色深度でWindowsを実行します。これは、そのような奇妙な問題を引き起こす可能性があります。

XP互換モード(Windowsが32ビットを使用しているときにゲームが16ビットの色深度で実行されているとゲームに思わせるシムをアクティブにする)を適用しても機能しない場合は、仮想マシンをセットアップして、次のような古いWindowsバージョンを使用します。 Windows XP(ただしインターネット接続なし))このような本当に古いゲームを実行します。

2
magicandre1981

Windowsアセスメントおよびデプロイメントキット をダウンロードし、 アプリケーション互換性ツールキット をインストールします。次に、ゲームで1つ以上の 互換性の修正 を有効にしてみてください。 16ビットの色の互換性に関連する問題の解決を示唆する名前の修正(「シム」)がいくつかありますが、ほとんどの修正の正確な内容と方法についての説明がほとんどまたはまったくないため、プロセスには試行錯誤が必要になる場合があります。それらは機能するか、または使用している構成で何らかの影響を与える可能性があるかどうか。

0
Brian Nixon

プログラムを互換モードで実行し、右クリックして(セクションの1つ、現在Linuxを使用しています)、16ビット互換モードを選択してみてください。また、WindowsXPまたはWin8以外のOSを使用して実行を選択します。

0
potatoman

試すべきこと:

  1. ゲームの[プロパティ]、[互換性]タグで、XPモードの設定に加えて、[縮小色モード]も16ビットに設定します。[640x480の画面解像度で実行]を試してみることもできます。 「高DPI設定での表示スケーリングを無効にする」。

  2. プログラムの実行可能ファイル(通常はEXE)を右クリックし、[互換性のトラブルシューティング]をクリックします。 [推奨設定を試す]と[プログラムをテストする…]をクリックします。プログラムが機能するようになったら、[はい、このプログラムのこれらの設定を保存します]をクリックします。それ以外の場合は、[いいえ、別の設定を使用して再試行してください]をクリックし、機能するものが見つかるか、それをあきらめるまで質問に答えます。

  3. ビデオカードがNvidiaの場合は、Nvidiaコントロールパネル->ディスプレイ->デスクトップのサイズと位置の調整->スケーリングに移動し、フルスクリーンをクリックして適用します。

0
harrymc