MapleThiefCompendium

Options

The game's options are sound, game speed and vibration. They live in one small options file shared by all three character slots, which the game creates with its defaults on the first start and rewrites when an option changes.

The options

OptionChoicesDefault
Soundeffects and music each on or offboth on
Game speedthree speeds: a game tick of 65, 50 or 40 milliseconds50 milliseconds
Vibrationon or offon

The options are reached from the popup menu's last tab, which also holds Save and the exit to the main menu; the game's help pages open from there too.

Example: a buff of 600 ticks lasts 30 seconds at the default speed, 39 seconds at the slower and 24 seconds at the faster.

Unknown settings

The options file has three more bytes. One is never read by the game's loader, one is cleared when the death popup opens, and one picks a value from a short table that two game functions read. What they mean is unknown.

In the port

The port keeps the game's own options and adds its own settings beside them; it also guards against a damaged options file, whose out-of-range game speed the original would read unchecked (the project's notes on the options file).

Sources

The options file is config, loaded and created by CDataMgr::LoadConfig 0x38611 and written by the options menu (0x50131, 0x46A29). Sound is applied by 0x37C79, the game speed by CDataMgr::ApplyGameSpeed 0x37C41 from the table at 0x108C58, vibration by 0x37BD1 through CMSoundPlayer::SetVibrate 0x1CC61, with the test vibration from VibratePreview 0x1D309. The vibrations themselves are CMSoundPlayer::Vibrate 0x1D2E9, called from CHero::TakeDamage 0x65B55, CMob::TakeHit 0x73715 and the scenes. The help pages are opened by Shell_EnalbeHelpScrollKey 0x6655 (sic).