This commit is contained in:
4am 2021-10-03 15:23:38 -04:00
commit f47fa73279
1 changed files with 16 additions and 0 deletions

16
res/notes/gamehelp.txt Normal file
View File

@ -0,0 +1,16 @@
Parser in one file
All game-help in one separate file
Game-help file starts with array[26] of offset/size pairs.
Offset points to array[] of all games that start with that letter, and size of that array[].
array[] is collection of short-name/offset of each game-help.
short-name is Pascal string for easy iteration.
size is omitted since upper bound is known, and with nearly 400 games, we save two blocks.
Parser accepts short-name as parameter.
Parser reads fixed size game-help header.
Parser uses starting letter to index into array[26] to find offset/size for short-names array starting with that letter.
Parser reads [size bytes] of short-names array.
Parse iterates through short-names array to find a complete match.
Parser reads 40x25 bytes of game-help from corresponding offset, returns it to display code to draw it.
Game-help is 0-terminated so dislpay code knows when to stop.