libretro / mame2003-plus-libretro

Updated 2018 version of MAME (0.78) for libretro. with added game support plus many fixes and improvements
Other
183 stars 109 forks source link

How inject cheats from xml cheat file in dat cheat file for WWF Wrestlemania Arcade game? #1723

Open gegemon2012 opened 1 month ago

gegemon2012 commented 1 month ago

wwfmania.zip How inject cheats from this "wwfmania.xml" cheat file in dat cheat file for WWF Wrestlemania Arcade game?

arcadez2003 commented 1 month ago

Cheats from upto MAME125 will drop into the cheat.dat easily enough however anything after MAME126 will require some modifications and even then there are no guarantees they'll work with the older cheat handling we use.

mahoneyt944 commented 1 month ago

Cheats can be ported from xml format to our cheat.dat format but it's easier to see if it's available in later cheat files first

gegemon2012 commented 1 month ago

Cheats can be ported from xml format to our cheat.dat format but it's easier to see if it's available in later cheat files first

It's check. it's not available in later cheat file.

mahoneyt944 commented 1 month ago

example of conversion

  <cheat desc="Infinite Time">
    <script state="run">
      <action>maincpu.pb@010F4250=09</action>
      <action>maincpu.pb@010F4260=09</action>
    </script>
  </cheat>

line1 xml data: maincpu.pb@010F4250=09 line1 address: @010F4250 line1 value: =09

line1 hex address: 0x010F4250 2 = 0x021E84A0 or 0021E84A -> 21E84A line2 hex address: 0x010F4260 2 = 0x021E84C0 or 0021E84C -> 21E84C

; [ WWF: Wrestlemania (rev 1.30 08/10/95) ]
:wwfmania:00000000:21E84A:00000009:FFFFFFFF:Infinite Time
:wwfmania:00010000:21E84C:00000009:FFFFFFFF:Infinite Time (2/2)

info about cheat format (found in cheat.dat header):

; :gamename:12345678:87654321:12345678:FFFFFFFF:Cheat Description:Comment
;
;  ^ Name of the game (short name) [zip file or directory]
;           ^ Cheat Type Field in hexadecimal (how to poke)
;                    ^ Address in Hexadecimal (where to poke)
;                             ^ Data to put at this address in hexadecimal (what to poke)
;                                      ^ Extended Data Field - used for mask and some other stuff (see below) usually FFFFFFFF
;                                               ^ Description of the cheat (25 to 255 characters max - check each game for correct display) eg. 'Invincibility PL1'
;                                                                 ^ Extra Comment about the cheat if needed eg 'Turn it OFF at the end of the level!'
mahoneyt944 commented 1 month ago

Note in this core you must delete cheat.rzip if you want to read in a new cheat.dat file.

mahoneyt944 commented 1 month ago

@gegemon2012 is there a code in particular you want to port?

gegemon2012 commented 1 month ago

@gegemon2012 is there a code in particular you want to port?

Yes. I want port this code:

<cheat desc="Select Number of Royal Rumble Opponents"> <comment>Sets the number of "spawns" on the AI-side</comment>
    <parameter>
      <item value="0x01">16</item>
      <item value="0x02">24</item>
      <item value="0x03">32</item>
      <item value="0x04">40</item>
    </parameter>
    <script state="on">
      <action>temp0 =0</action>
    </script>
    <script state="run">
      <action condition="maincpu.pb@011B46A0==60 AND temp0 LT param">maincpu.pb@011B46A0=20, temp0=temp0+1</action>
      <action condition="maincpu.pb@010B29E0==01">maincpu.pb@010B29E0=09</action>
      <action condition="maincpu.pb@010F44C0==01">maincpu.pb@010F44C0=09</action>
      <action condition="maincpu.pb@011B4720!=00">temp0 =0</action>
    </script>
  </cheat>

But I still can’t figure out how to activate these codes in Recalbox 7.2.2. I'm currently trying to figure out the instructions on the Recalbox forum. So far I can't even activate cheats. (((

P.S. It’s strange that they haven’t made a cheat converter yet, because there are many more of them for mame.

mahoneyt944 commented 1 month ago

How do you get to the royal rumble mode? Or is that a special edition of the game?

gegemon2012 commented 1 month ago

How do you get to the royal rumble mode? Or is that a special edition of the game?

Yes. This special version game repack from https://godspeedswwfm.ucoz.ru Direct link for download - https://disk.yandex.ru/d/JNgoJyY_JJZTS Some antivirus detect virus: Virustotal info - https://www.virustotal.com/gui/file/4df0790577a21561b9b96262973771d74ac045a43c5e450b0f0aefbb2b1ecce6/detection/f-4df0790577a21561b9b96262973771d74ac045a43c5e450b0f0aefbb2b1ecce6-1692668325 Gamepack install two shortcut for normal game and royal rumble. Help file autor game repack: Wrestlemania The Arcade Game Help.zip

mahoneyt944 commented 1 month ago

That code you want ported isn't an easy one, someone with more experience with mame's cheat engine would know better than I though. From what I can tell it has options to set the number of opponents, which is straight forward, however it then uses a temp0 variable to increment the value set. I assume this is to allow the opponents remaining count to reach zero.....Otherwise it would lock it at a fixed number unable to win. I'll have a look at the cheat engine documentation and see if I can find what I need to port it but no guarantees.

Might be easier to make this a one shot code, where you enable it to boost the opponent count but it won't stay active

mahoneyt944 commented 1 month ago

Do you have the rom working on mame2003-plus? Share the hacked rom if you have it. Seems like this is a custom build of mame and not an individual rom

gegemon2012 commented 1 month ago

Do you have the rom working on mame2003-plus? Share the hacked rom if you have it. Seems like this is a custom build of mame and not an individual rom

gegemon2012 commented 1 month ago

Might be easier to make this a one shot code, where you enable it to boost the opponent count but it won't stay active

I will be very grateful if you succeed!

mahoneyt944 commented 1 month ago

I have the actual romset, but not this royal rumble version.

gegemon2012 commented 1 month ago

I have the actual romset, but not this royal rumble version.

Royal ramble mode start from special shortcut. This shortcut install from game repack.

Yes. This special version game repack from https://godspeedswwfm.ucoz.ru Direct link for download - https://disk.yandex.ru/d/JNgoJyY_JJZTS

mahoneyt944 commented 1 month ago

I'm on android, I can't use that. If there's not an isolated rom of the modified game that we can load in this core then it's no good to us here.

gegemon2012 commented 1 month ago

I'm on android, I can't use that. If there's not an isolated rom of the modified game that we can load in this core then it's no good to us here.

I posted the rum in this message - https://github.com/libretro/mame2003-plus-libretro/issues/1723#issuecomment-2114704677, but for some reason it was deleted... I'm posting it again.

wwfmania.zip

mahoneyt944 commented 1 month ago

That's the original rom, I'd need the modified one.

gegemon2012 commented 1 month ago

That's the original rom, I'd need the modified one.

It's rom from game repack... Capture

mahoneyt944 commented 1 month ago

When you click on "royal.exe", it's running a custom version of mame...quite possibly applying internal mods to the original rom. So the modified rom isn't there just the original one.

gegemon2012 commented 1 month ago

When you click on "royal.exe", it's running a custom version of mame...quite possibly applying internal mods to the original rom. So the modified rom isn't there just the original one.

The "sta" folder contains the files 'royal.sta', 'start.sta' and 'WARNING!.txt' which contains the warning 'For correct operation of exe. files of the simple game start DO NOT DELETE from this folder files 'start.STA' and 'royal.STA'!' sta.zip

mahoneyt944 commented 1 month ago

These might be what modifies it, but without something to go on it's a guessing game. Seems like start.sta would boot the original config. And royal.sta would be the modified config? Maybe it's patching somehow?

mahoneyt944 commented 1 month ago

Zip that whole repack directory and link it here

gegemon2012 commented 1 month ago

Zip that whole repack directory and link it here

Wrestlemania The Arcade Game.zip.001.zip Wrestlemania The Arcade Game.zip.002.zip

This is a two-volume archive. Just remove the '.zip' from both files at the end, and unpack the '.zip.001'