Keys Configuration Format: Difference between revisions
From Populous Wiki
No edit summary |
ChainChomp (talk | contribs) No edit summary |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
The Populous Keys configuration file remains mostly unknown. It | The Populous Keys configuration file remains mostly unknown. It contains a 4 byte header, and each key appears to be a 15 byte chunk. The first byte (global offset 0x0) of the header indicates the number of 15 byte blocks that follow (starting at global offset 0x4). | ||
== Introduction == | == Introduction == | ||
Key def.dat | The Populous Key configuration file is located in ./saves/Key def.dat ([http://www.brandanlasley.com/releases/Thread/Popre/Best%20Patches/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 [http://www.penticoff.com/nb/kbds/ibm104kb.htm 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 modifier keys have no particular pattern associated with them, it could very well be hard coded. | |||
All numbers are stored in big-endian format! | All numbers are stored in big-endian format! | ||
Line 20: | Line 18: | ||
|INT32 | |INT32 | ||
|4 | |4 | ||
| | |0 | ||
|Header, first byte is number of keybindings in file | |||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |4 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |19 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |34 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |49 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |64 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |79 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |94 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |109 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |124 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |139 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |154 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |169 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |184 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |199 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |214 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |229 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |244 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |259 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |274 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |289 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |304 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |319 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |334 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |349 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |364 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |379 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |394 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |409 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |424 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |439 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |454 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |469 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |484 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |499 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |514 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |529 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |544 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |559 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |574 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |589 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |604 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |619 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |634 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |649 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |664 | ||
|- | |- | ||
| | | | ||
|15 | |15 | ||
| | |679 | ||
|- | |- | ||
|Total | |Total | ||
Line 211: | Line 210: | ||
|} | |} | ||
<!-- | |||
== Combination keys == | == 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. | 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. | ||
Line 457: | Line 457: | ||
=== VB .NET === | === VB .NET === | ||
This is code that will decode all the unknown keys seen above to | This is code that will decode all the unknown keys seen above to ASCII, [http://www.theasciicode.com.ar/|ASCII table] | ||
Use a code [http://www.developerfusion.com/tools/convert/csharp-to-vb/ converter] to translate to C#. | Use a code [http://www.developerfusion.com/tools/convert/csharp-to-vb/ converter] to translate to C#. | ||
Line 755: | Line 755: | ||
} | } | ||
</source> | </source> | ||
--> |
Latest revision as of 06:57, 1 April 2018
The Populous Keys configuration file remains mostly unknown. It contains a 4 byte header, and each key appears to be a 15 byte chunk. The first byte (global offset 0x0) of the header indicates the number of 15 byte blocks that follow (starting at global offset 0x4).
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 modifier keys have no particular 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 | 0 | Header, first byte is number of keybindings in file | ||
15 | 4 | ||||
15 | 19 | ||||
15 | 34 | ||||
15 | 49 | ||||
15 | 64 | ||||
15 | 79 | ||||
15 | 94 | ||||
15 | 109 | ||||
15 | 124 | ||||
15 | 139 | ||||
15 | 154 | ||||
15 | 169 | ||||
15 | 184 | ||||
15 | 199 | ||||
15 | 214 | ||||
15 | 229 | ||||
15 | 244 | ||||
15 | 259 | ||||
15 | 274 | ||||
15 | 289 | ||||
15 | 304 | ||||
15 | 319 | ||||
15 | 334 | ||||
15 | 349 | ||||
15 | 364 | ||||
15 | 379 | ||||
15 | 394 | ||||
15 | 409 | ||||
15 | 424 | ||||
15 | 439 | ||||
15 | 454 | ||||
15 | 469 | ||||
15 | 484 | ||||
15 | 499 | ||||
15 | 514 | ||||
15 | 529 | ||||
15 | 544 | ||||
15 | 559 | ||||
15 | 574 | ||||
15 | 589 | ||||
15 | 604 | ||||
15 | 619 | ||||
15 | 634 | ||||
15 | 649 | ||||
15 | 664 | ||||
15 | 679 | ||||
Total | 709 Bytes |