"hspdxa.dll"を使用したHSP製の古いゲームを遊ぼうとした手帳餅の話
※手帳餅要素は文章に現れるのみです。
hspdxaっていうのはHSPに昔から同梱されていたhspdxという、HSPからdirectX的な何かをどうにかこうにかして描画するやつに各種拡張を施した上位互換ライブラリでした。
2002年ころに最後にバージョンアップされて以降更新はありません。
本家hspdxは、その後もバージョンアップを続け、今では多分dxaの方を使用するメリットがないです。
というか、メリットというか、こいつを使ったソフトが我の環境でバグったので大変だったわけで。
いちおMY環境:Win10 64bit DXエンドユーザーランタイムみたいなのハイッテル RYZEN4000U あとなんかあるかな
ちな、どうバグったかというと、起動して、恐らく描画をDX側に任せたタイミングから真っ暗になりなんも見えない。
戸惑う→どうやら「HSPDX」というタイトルのウィンドウができて、そいつが真っ黒い画面で一番前に出しゃばってきて何も見えないことに気づく→alt+tabで切り替えを試みる→ゲーム画面も真っ暗→目隠し状態で操作したらコンフィグ画面だけは見れた
とここまで来まして。
賢い僕君は、依存関係を見るやつでhspdxaを見てみました。
GDIかもだけど、明らかにこいつです。明らかにこいつが互換性を失っている。
DLLFiles.comを検討するも、いつも通り気持ちが悪いので却下。
ということで、インターネットを徘徊しに行った僕君。
こんなページをハケーン。https://silight.hatenablog.jp/entry/2018/05/21/221355
「Windows 10で昔のゲームを動かすプロジェクト 」「久しぶりに昔のゲームをやろうとしたら今のPCではまともに動かなくなっていました。そこで、昔のゲームをWindows 10でも動くようにするパッチを作りました。」
この人、ddraw.dllを改造してました。あぁ!やっぱり!ddrawのなんかか!(適当)と興奮する僕愛君。僕君。
早速ダウンロード、ぶち込んでやりましたところ、DXによる描画が始まったタイミングで
落ちる
落ちる。
えぇ…( ;´Д`)
でも諦めない僕君。そのうちに、https://github.com/narzoul/DDrawCompat/releasesなるものを見つける。
この子も、動作はよく分かりませんが、dx1~7のddrawとかの互換性云々いうやつみたいで、これはどうやろと思い、ぶち込んでみます。
動いた
やったー!やったー!
しかし、ちょっと表示はバグっているのだ。フルスクリーンをスクショしようとしたら上手くいかなかったので画像無だが。
タイトル画面で描画したものが消えずに次が描かれたり。まあゲーム画面では無いので許容範囲内ではあるが。
ちなみに同時進行でフルスクではなくウィンドウでやれれば良くねとか思いし我、DXWindとかいうツールを試したりするも惨敗、していたのだが、つい先程、大勝利を収めた。
完璧に動いちゃった♡
設定の情報:MainそのままVideoそのままMouseそのままDX1,2チェックボックス全部外すD3D全部外すLIBs全部外す
DX(2)の垂直同期だけONにしとく。そのままだとバカみたいな速度で動くぞ。
これはコンパクトDDRAWを導入してる前提のお話。これがなくても動いてるっぽい感じは出てるが、完全に何かがおかしいし、何よりFPSが30になって(本来60)1/2倍速で動くのの治し方が分からん。そして謎に負荷がかかる。2倍くらいになる。
2004ねんのコンテスト出品されたいんでぃーげーむというやつだ。僕にはこのくらいがいいのだ。2004ねんからおもしろいせかいばりばり☆はっぴー宇宙!