Keys Configuration Format
From Populous Wiki
The Populous Keys configuration file remains mostly unknown. It is believed to be clustered in 15 byte blocks, unknown if any of these blocks contain the arrow keys configuration.
Introduction
The Populous Key configuration file is located in ./saves/Key def.dat (Key def download) after you use the built in keys editor inside the game. The keys configuration file uses the systems keycode map to determine what keys are available to use. This website has the key codes that seem to work wit most US QWERTY keyboards keycode list for US QWERTY.
Inside the key blocks contains a modifier and a key. The modifier is optional and can be removed by setting it to 0. The modifer keys have no pitucalr pattern associated with them, it could very well be hard coded.
All numbers are stored in big-endian format!
Block Format | |||||
---|---|---|---|---|---|
Data Type | Length | Position (DEC) | Description | ||
INT32 | 4 | 0x0 | |||
15 | 0x4 | ||||
15 | 0x19 | ||||
15 | 0x34 | ||||
15 | 0x49 | ||||
15 | 0x64 | ||||
15 | 0x79 | ||||
15 | 0x94 | ||||
15 | 0x109 | ||||
15 | 0x124 | ||||
15 | 0x139 | ||||
15 | 0x154 | ||||
15 | 0x169 | ||||
15 | 0x184 | ||||
15 | 0x199 | ||||
15 | 0x214 | ||||
15 | 0x229 | ||||
15 | 0x244 | ||||
15 | 0x259 | ||||
15 | 0x274 | ||||
15 | 0x289 | ||||
15 | 0x304 | ||||
15 | 0x319 | ||||
15 | 0x334 | ||||
15 | 0x349 | ||||
15 | 0x364 | ||||
15 | 0x379 | ||||
15 | 0x394 | ||||
15 | 0x409 | ||||
15 | 0x424 | ||||
15 | 0x439 | ||||
15 | 0x454 | ||||
15 | 0x469 | ||||
15 | 0x484 | ||||
15 | 0x499 | ||||
15 | 0x514 | ||||
15 | 0x529 | ||||
15 | 0x544 | ||||
15 | 0x559 | ||||
15 | 0x574 | ||||
15 | 0x589 | ||||
15 | 0x604 | ||||
15 | 0x619 | ||||
15 | 0x634 | ||||
15 | 0x649 | ||||
15 | 0x664 | ||||
15 | 0x679 | ||||
Total | 709 Bytes |
Combination keys
The combination keys use a different keycode format. I don't know if there is a pattern to this or if the game has custom keycodes for these.
Not all of these are tested.
No modifier key = 0 Shift = 1 Shift + CTRL (or app button) = 3 CTRL = 4 Shift + ALT = 5 Ctrl + alt = 6 Shift + ctrl + alt = 7 Alt = 20