发掘《海豚历险记》(Ecco the Dolphin)中隐藏了31年的彩蛋
Unearthing a 31 year old Easter egg in Ecco the Dolphin

原始链接: https://32bits.substack.com/p/under-the-microscope-ecco-the-dolphin-98c

虽然《海豚埃科》(Ecco the Dolphin)的 PC 版长期以来被认为缺少主机版的调试模式,但其实代码中依然隐藏着开发者留下的秘籍。 通过操作“关于 EccoWin”(About EccoWin)对话框,玩家可以解锁一个隐藏菜单。只需在关闭对话框时按住 Shift+Ctrl 键,即可进入关卡选择和无敌模式(无限生命与氧气)。 此外,还有一个更复杂的操作:按住 Shift+Ctrl+鼠标左键,并双击“关于”窗口的角落,可以将“确定”(OK)按钮变为“kO”,从而解锁更多虽然功能不太完善的调试工具。这些工具包括绕过 CD 检查、显示边框以及用于调整冲刺冷却时间的“简单”模式。这些隐藏菜单为那些苦于游戏极高难度的玩家提供了救命稻草,或许能让更多人最终达成游戏那难以企及的结局。

抱歉。
相关文章

原文

Today we’re examining the PC version of Ecco the Dolphin. This game is adapted from the 1993 Sega CD version of Ecco, which is an enhanced version of the 1992 Sega Genesis original.

There’s a full-featured debug mode cheat for the console editions. Among other things, it lets you skip stages and become invincible. But on PC, you have to fight your way through this notoriously difficult title the hard way.

…Or do you? There’s some strange code in the function that handles this game’s About dialog:

This is checking whether the bottom-right corner of the dialog box is off-screen as it’s being dismissed.

After that check, the code calls GetKeyState for Shift and Ctrl. If those are being held down as the dialog disappears, LoadMenuA gets called for menu ID 0x70.

What’s that do? It allows you to access a cheat menu by pressing Shift+Ctrl and right-clicking on the main window:

Stage lets you choose your starting stage, of course. Make a selection and press F2 to start playing. All of the items seem to work except for the one marked test only.

Life gives you unlimited health and air. The meters that track those stats disappear entirely when this cheat is enabled.

When the cheat menu is active, you’ll also see positioning information on the bottom of the screen. The numbers change as Ecco moves.

But wait, there’s more. That About EccoWin dialog handler function is checking for more conditions. The code asks:

  • Does the uMsg argument correspond to the WM_RBUTTONDBLCLK event?

  • Does the wParam argument have the MK_SHIFT, MK_CONTROL, and MK_LBUTTON bits set?

  • Is the cursor in one of corners of the dialog box?

Translating that into English:

  1. Open the Help > About EccoWin dialog.

  2. Hold down Shift+Ctrl+Left Mouse button, then double-Right click on the bottom-right corner of the dialog box. The OK button will change to kO.

  3. Keep holding Shift+Ctrl and dismiss the dialog box.

Now the cheat menu, still accessed with Shift+Ctrl+Right click on the main window, will have additional items: Easy, CD check, and border.

Based on the game code, Easy seems to be intended to reduce the cooldown timer associated with dashing. However, the in-game effect wasn’t terribly noticeable to me.

CD check gets rid of the This program can only be run from the original CD! nag screen.

border seems to have been intended to put some sort of resource meter around the edge of the screen. It doesn’t actually seem to be functional in the retail version of the game, though.

With the Stage and Life cheats, perhaps you will become one of the few people who have actually seen the ending of Ecco.

Many thanks to Bobblen for suggesting this game for analysis! I’ll be back soon with more Rings of Saturn.

联系我们 contact @ memedata.com