Ah, the SETTINGS class. Need to remove it someday, and serialize options directly instead.
I assume the RecordData value is some index, which is limited to some number. This number is determined at runtime?
1. In data/settings/options.config add
Code:
[ record_data ]
cat = game
name = record_data
desc = bla...
type = int
default = 0
values = record_data
2. Write a GAME:
opulateRecordData function (have a look at the existing populate functions for inspiration) to init record_data option. Add it to PopulateValueLists function.
3. In data/skins/simple/menus pick the guipage you want your option to be available. The guipage config might look a bit scary at first, mostly because it is explicit. There is no layout manager and co. But in general all you have to do is copy/paste an existing option and adjust the vertical position (top) and widget calbacks.
Example of adding a record_data option to Garage guipage:
1. Copy Traction Control option widgets: widget-14a,..., widget-14d
2. Rename them to whatever names you prefer: record-lbl, record-prv, record-nxt, record-val
3. Change record-lbl text
4. Fix the onfocus/onblur callbacks to point to the renamed widgets
5. Change onselect/onmoveright/onmoveleft/text callbacks to use game.record_data option
6. Fix onmovedown/onmoveup callbacks of you new widgets, the widgets before(widget-14) and the following widgets (widget-16).
7. Adjust the vertical(top) placement of the new and the following widgets and the height of [bg-options], [bg-labels] (should be renamed to labels/options-bg).
I know it looks somewhat laborious. Ideally there would be a minimal gui editor to deal with the details.