Let's define a new cheat type called the value list header:
Code: Select all
110xxxxx -------0 -0------ --------
What this does is to define a list of values that a cheat can refer to later. The Xs give an ID to this list (needed later). Thus, each game can have up to 32 separate lists. For example, let's create this list:
Code: Select all
:game0001:C0000000:000000:00000000:FFFFFFFF:List of characters
:game0001:00010000:000000:00000000:000000FF:Ryu
:game0001:00010000:000000:00000001:000000FF:Ken
:game0001:00010000:000000:00000002:000000FF:Chun-Li
....
Finally, to use this value list, we use our previously unused cheat engine bit with a standard list cheat header:
Code: Select all
01100010 -------0 1------- --------
Code: Select all
:game0001:62008000:FF8432:00000000:FFFFFFFF:Select Character P1
Code: Select all
:game0001:62000000:000000:00000000:FFFFFFFF:Select Character P1
:game0001:00010000:FF8432:00000000:000000FF:Ryu
....
A drawback to this is that first, this has little use outside specific genres of MAME/MESS games, and second, it is assumed that a list writes different values to ONE address, and that easy-to-understand names are substituted for cryptic numbers (which may not be the case - see how sfa's infinite taunt cheats can be made into a list).
What do you think of this idea?