[Win10]Testament of Sherlock Holmesで落ちまくるのを復帰

SteamのサマーセルでTestament of Sherlock Holmesがセールをしてたのでぽちったところ、プレイ中落ちまくる、落ちまくる。どうやら古いゲームだからWindows10は対応してなかったようだ。これは返金依頼か?と思いながらいろいろ調べると、管理者モードやXPモードで起動やNvidiaドライバのDLLをゲームフォルダに置くわなどいろいろ情報はあるが、どれもうまくいかない。でもやはり同じことで悩んでいる人がいたようで、最終的にはここ”The Testament of Sherlock Holmes:steamゲームをwin10で!“で情報を見つけました。
この方によるとSteam コミュニティ :: The Testament of Sherlock HolmesにあるDevs, please do something about the crashes :: The Testament of Sherlock Holmes 総合掲示板のSteam掲示板中によると、フルスクリーンで使ってるとメモリ不足で落ちるらしい、ということです。当時より解像度が上がってるからかな?そのため4GB Patch – NTCoreの非公式パッチをあてると大丈夫!、となっている。配布しているのは実行ファイルなので、怪しみながらも実行したところ、今度は落ちない落ちない。とりあえずよかった。
でもイチマツの不安はぬぐえないので、変更後のEXEファイルの差分を調べてみました。

アドレス 旧値 新値 <意味> 備考
0x14E 0x03 0x23 FileHeaderのCharacteristics 0x20はIMAGE_FILE_LARGE_ADDRESS_AWAREフラグ
2GBを超えるアドレスが使えるようになるPE Format – Windows applications | Microsoft Docsを参照
0x190 0x8F 0xAF OptionalHeaderのChecksum PE Format – Windows applications | Microsoft DocsのCheckSumの項目参照

ということで、アプリのアドレスの制限を外すだけのようで、怪しげな変更ではなさそうので安心しました。どうもこのサイト4GB Patch – NTCoreは32bitアプリ全般を4GB化するためのもののようです。有志の方々に感謝です。

Crayon Syntax HightlighterがPHP7.3でおかしくなっていた

本サイトのWordpressの表示が乱れていることに気が付き、どこかファイルが壊れたかといろいろ四苦八苦したところ、どうもWordpressプラグインのCrayon Syntax HightlighterがPHP7.3で誤動作するのが問題のようだ(2019年版 Crayon Syntax Highlighterのエラー)。そういやレンタルサーバー側から先日7.2から7.3に上げると案内がきていた。Crayonは高機能なSyntax Hightlighterなので使っている人も多いようだが、すでにメンテされなくなって3年くらいたっている。代わりのプラグインを探したが、書式がコンパチというのは見当たらない。とはいえいまさら古いコンテンツをすべて書き換えるのも面倒なので、いろいろ探したところGithubで有志の方がメンテナンスされていたようだ(Release Crayon Syntax Highlighter & PHP 7.3 fix · Crunchify/crayon-syntax-highlighter · GitHub)。Wordpressのプラグインサイトには乗らないので、手動でアップデートが必要だがとりあえずこれでしのぐ。

ストロベリームーン

ストロベリームーン

あじさい

あじさい

Pythonで二次元配列の初期化

pythonPythonを使って初歩的なミス。二次元配列の初期化で端折ってa=[[0]*3]*3などとしてしまったため、a[0][0]=1とした時、a[0][0]==a[1][0]==a[2][0]==1となり、しばらくうまく思ったとおりに動かず悩む。初歩的ミス。とりあえずa = [[0 for i in range(0,3)] for j in range(0,3)]と書いたが、個人的には美しくない。