- Converted existing structures except cheat_private to class and added constructor/destructor.
- Merged linked list loader or related functions to each class member.
- Added new class cheat_info in cheat_private as main base class.
- Added image scaner in cheat_info class to get image name and crc (for MESS, but untested now...)
- Added entry group based on cheat_entry and new cheat tag '<group>'. Now (main) cheat entry is child of entry group. And added group select item as the header on UI menu. If no group tag, create single entry group and print basename in subtext.
Quote:
<group desc="game 1"> <cheat desc="code 1-1"> ... </group> <group desc="game 2"> <cheat desc="code 2-1"> ... </group>
- Added new attribute 'skip(yes|no)' for cheat entry to skip load target entry. You can hide target cheat on UI menu.
- Separeate condition from action to new '<condition expression="expression">' tag. Now condition tag needs sub script entries.
Quote:
<condition expression="temp0 == 1"> <action>maincpu.pb@8000 = 10</action> <action>maincpu.pb@8001 = 12</action> <condition expression="temp1 == 2" <action>maincpu.pb@9000 = 20</action> <condition expression="temp2 == 3"<condition> <action>maincpu.pb@b000 = 30</action> </condition> <action>maincpu.pb@a000 = 30</action> </condition> <action>maincpu.pb@ffff = ff</action> </condition>
- Added new class cheat_memory to install user defined memory region. It is only read and installed at MAME initialization phase. Installed regions is standard RAM.
Quote:
<usermemory> <memory cpu="cputag|cpunum" address="address" offset="offset" /> </usermemory>
- Added new class cheat_symbol to enable grobal user defined symbol.
Quote:
<usersymbol> <symbol type="variable|value|function">symbolname</symbol> </usersymbol>
- Supporeted multi-parameters for item selection. Set 'paramvariables="num(1)" to maximum number of parmeter values. And use "paramX" symbol if read a value stored to "valueX".
Quote:
<parameter paramvariables="3"> <item value0="0" value1="1" value2="2">ITEM 1</item> <item value0="2" value1="4" value2="2">ITEM 2</item> ... </param> <script state="run"> <action>maincpu.pb@1000 = param0, maincpu.pb@2000 = param2, maincpu.pb@4000 = param3</action> </script>
- Changed UI item select functions to entry/option select callback. Added item selection function is the following. entry_select_toggel() entry_select_previous_item() entry_select_next_item() entry_select_previous_group() entry_select_next_group() entry_select_subcomment() entry_select_reset() entry_select_reset_all() entry_select_reload() entry_select_invalid() : No action but print error message when selected it.
- Loopable between last and first item/group in UI menu
- Added trim_whitespace() for an expression read from XML. Now accepts the following expression without an error.
Quote:
maincpu.pq@1234 = 1234 5678 9ABC DEF0
[ATTACHED IMAGE]
"Any company has no power to stop people emulating"
MAME is the emulator of no giving in the pressure from any company even if they don't allow
Edited by ShimaPong (10/22/10 04:37 PM)
|