• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Game Modifications › Cheats, Hacks, & Game Patches v
« Previous 1 ... 5 6 7 8 9 ... 18 Next »

[REQUEST / HELP] Speed hack for DreamWorks Madagascar Tiki Minigolf Minigame
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
[REQUEST / HELP] Speed hack for DreamWorks Madagascar Tiki Minigolf Minigame
04-23-2020, 01:40 PM
#1
HarleySkyward
Unregistered
 
For the last several hours I've been trying to figure out how to go about creative an Action Replay code for DreamWorks Madagascar. For the most part, it has been to no avail. So far I have learned about how Action Replays work and a general idea of how to create them, the problem is though that I have no idea where to begin looking withing the memory and registers and everything, and I don't know how to translate that into a functioning AR code.

What I am trying to do specifically is two things within the Tiki Minigolf minigame:
  • 1a.) Create an AR code that will either allow for you hit the golf ball with unlimited force (I imagine it would somehow disable the bar from going up and down, but instead allow it to go up forever) or
  • 1b.) create an AR code that stops the golf ball from losing momentum and
  • 2.) Create and AR code that will cause the ball to either slow down or halt altogether with the press of a button

I was playing this with my roommate and we had a lot of fun with it, and I've played this minigame with friends and family for years. I think it would be really fun and make some good laughs if I could somehow figure out how I can make this hack happen.

Thanks for any help I can get!!
Reply
04-30-2020, 02:38 AM
#2
HoldYourWaffle
Unregistered
 
Disclaimer: I'm by no means an expert on creating cheats and I've never really written anything "tutorial-ish" like this, but I'll do the best I can :)

You basically need to do 4 things here:
  1. Find the memory address for 'force'.
  2. Find the memory address for 'speed/momentum'.
  3. Create an AR code that sets the 'force' address to the maximum value.
  4. Create an AR code that sets 'speed/momentum' to 0 when you press a button.
Please note that everything from this point on is written with the current stable version (5.0) in mind (which OP is using based on their profile), some things have changed in the latest beta version (at time of writing).

The first two steps can be done using the built-in Cheat Search. This is much easier in the stable 5.0 version because you can look for 'unknown values' (which is necessary because you don't know the exact speed value of the ball).
First of, make sure you've checked 'Enable Cheats' in the general configuration. You can then access the 'Cheat Manager' from the Tools menu. This window has two important tabs: AR Codes and Cheat Search. We'll first use Cheat Search.

Step 1 and 2: Finding your cheat's address
We need to find the location in memory where your to-be-changed value is stored. The Cheat Search tool can do this by comparing memory values at specific times against each other. It's probably easiest to explain with the ubiquitous 'infinite ammo' example (the 'hello world' of cheats):
  1. You'll first need to select the size of your data: 8, 16 or 32 bits. An 8-bit value can hold values between 0 and 256, 16-bit can do 0-65.536 and 32-bit 0-4.2 billion*. It's impossible to say which size you should pick since all games and values are different, so you'll have to experiment a little (although values that are stored as floats or doubles (numbers that contain decimals) are very unlikely to be smaller that 32-bits).
  2. Make sure the drop-down box is set to 'Unknown' and press the 'New scan' button. Dolphin will then take a snapshot of all values in memory.
  3. This is where the fun begins. You'll see that the results counter in the top left will say that there are 'too many to display'. We're going to narrow this down by telling Dolphin how this value has changed since the last snapshot. For example, we can change our ammo value by shooting a bullet. Our value in memory should now be less than the value in our previous scan. We can select the 'Less than' option in the drop-down box, clear the value in the textfield** and press the 'Next Scan' button.
  4. Dolphin will take a new snapshot and eliminate all addresses that did not contain a smaller value than before. This has (hopefully) reduced the amount of results considerably. From here on it's basically rinse-and-repeat: change the value in memory (for example by picking up an ammo pack), select the appropriate comparison (greater than) and hit 'Next Scan'. You'll have to repeat this process until only a couple of addresses remain (preferably just one). Pausing the emulation can help with this. A nice way to eliminate a lot of addresses quickly is by selecting the 'equal' option and spamming 'Next Scan', which eliminates all addresses that are changing while you're not doing anything in-game.
  5. You'll now (hopefully) have the address that (most likely) represents the value you're trying to change. If you're stuck with a few candidates you can either try AR codes for all of them or try to manually see if the value shown in the 'value' column moves along with what you do in game. As far as I know the UI updates automatically, but there could be some delay (especially for things that change frequently like the power bar).
If you mess up you can always hit 'New Scan' to start over.

Please keep in mind that all games are different and that some will do weird and unexpected things
In my experience this is a very useful method to find cheats (although not always applicable), but it's definitely no silver bullet. You could for example find the address for the height of the rendered power bar, or perhaps the 'actual power' and the height of the power bar are stored in different addresses. Again, this stuff is vastly different for each game, you'll have to experiment and find out what works for your game.


* If the value is signed (meaning it can be negative) each size can hold half the amount of values in both directions (i.e. -127 to 127 for 8-bit).
** This tells Dolphin we want to compare against the previous snapshot. You could also set it to an exact value and use the 'equal' comparison if you know the exact value (which arguably makes more sense for ammunition since you can often see it on screen).


Step 3 and 4: Creating an AR code
Sadly I have no experience with creating AR codes so I can't help you with that. I used this guide when learning how to make Gecko codes (for Wii games), as far as I know these are similar to AR codes but probably not the same. I'll see if I can find a similar guide for creating AR codes later today (if I remember).

Also, as far as I know the attractive looking 'Create AR Code' is broken in the stable build, but it might be worth a shot.


I hope this little 'guide' has helped you to at least understand the address finding part a little better. And feel free to ask any further questions of course :)
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode