MapleThiefCompendium

Controls

The original game is played on a touch key pad drawn over the bottom and the sides of the 480 by 320 landscape screen. Underneath, the game is a port of a keypad phone game: every touch becomes one of the old phone's key codes, so the pad sends at most one key per tick.

The field key pad

ControlWhereWhat it does
Direction padbottom leftwalk left and right, climb up and down, talk (up, near an NPC)
Jumpbottom right, left of attackjump; with a direction held, jump that way
Attackbottom right corneruse the current skill; the attack key shows the weapon's icon
Four short keysright edge, above attackthe quick slots: potions or skills, with their counts
Maptop left cornerthe map screens (world map and area map)
Bagtop rightthe popup menu: items, equipment, skills, quests and options
Cashtop right cornerthe cash shop

The direction pad has no diagonals: a finger is always on one arm or none, so a jump to the side takes two fingers, one on the arm and one on jump. When several keys are held, attack wins over the short keys, the short keys over the jumps and the jumps over plain walking. Switching from one key to another takes two ticks.

Touching an NPC near the hero also talks to it, like up on the direction pad.

Example: holding right and tapping jump sends a jump to the right; holding attack at the same time sends only the attack.

Other screens

Quirks of the original

In the port

The port maps every one of these actions to keyboard keys and controller buttons, and can move or hide the pad (the project's key pad notes).

Sources

-[TouchKeyPadView initKeyPadType0:] 0xBA6A1 builds the field pad; the hit areas come from the colour mask KeyPadArea.png, read by colorAtPixel:onImage: 0xB4DB5; SkyCanvas::Tick 0x2590D turns the held keys into one key code a tick by fixed priority; the touch handlers are touchesBegan: 0xB80F1, touchesMoved: 0xB6BB5, touchesEnded: 0xB5CF1 and the empty touchesCancelled: 0xB6BA5; the quick slots are drawn by QuickSlots_Paint 0x4CAED.