This page attempts to document certain aspects of Scooby-Doo! Mystery Mayhem for the GBA.
Memory
Memory domain is "Combined WRAM" unless noted otherwise.
Dynamic
This game's character-related addresses all change from room to room. The address for Scooby is obtained by: Character pointer - 0x02000000
where "0x02000000" is a value, not an offset. The equivalent lua code would be
local char = memory.read_s32_le(addressptr) - 0x02000000
Once Scooby's addresses are located, offset it by +/-0xBC for Shaggy's. Since it's random, use the pointer 0x0130C0 to find Shaggy's instead similar to above.
Scooby
With base being
local char = memory.read_s32_le(addressptr) - 0x02000000
Offset | Type | Display | Description | Notes |
---|
0x0C | Doubleword | Fixed point 16.16 | X position | Can also display as Unsigned |
0x10 | Doubleword | Fixed point 16.16 | Y position | Can also display as Unsigned |
0x14 | Doubleword | Signed | X Speed | Left (Negative); Right (Positive) |
0x18 | Doubleword | Signed | Y Speed | Up (Negative); Down (Positive) |
0x38 | Byte | Signed | Ground flag | 1 (Ground); 5 (Air) |
0x49 | Byte | Signed | Sneaking flag | 0 (Normal); 1 (Sneaking) |
0x4A | Byte | Hexadecimal | State | Various |
Static
Rooms
Value | Description |
---|
0x00 | ASM logo |
0x01 | Language Select (Only in (E), crashes in (U)) |
0x02 | Stage intro dialogue (Library) |
0x03 | Stage intro dialogue (Milton Bros Studio) |
0x04 | Stage intro dialogue (Lab) |
0x05 | Stage intro dialogue (Wild West) |
0x06 | Stage intro dialogue (Bayou) |
0x07 | Stage intro dialogue (Lab) |
0x08 | Stage intro dialogue (Lab) |
0x09 | Game over |
0x0A | Stage intro + Menu |
0x0B | Credits |
0x0C | Stage intro dialgoue (Van) |
0x0D - 0x1E | Library |
0x1F - 0x2E | Milton Bros Studio |
0x2F - 0x43 | Wild West |
0x44 - 0x51 | Bayou |
0x52 - 0x5E | Lab |
0x5F | ?? |
0x60 | Copyright |
0x61 | Developed by |
0x62 | Options menu |
0x63 | Options menu (Library background) |
0x64 | Options menu (Milton Bros Studio background) |
0x65 | Options menu (Wild West background) |
0x66 | Options menu (Bayou background) |
0x67 | Options menu (Lab background) |
0x68 | Load game |
0x69 | THQ logo |
0x6A | Start |
0x6B | Warner Bros logo |
0x6C+ | Crash |
Ghosts
Name | HP | Notes |
---|
Small ghost | 16 | not worth stopping for |
Medium ghost | 44 | not easy to dodge; almost always forced to take it |
Large ghost | 88 | ignore it |
Book ghost | ? | It's movement is based on a timer; They also vanish once you get the book |
Mummy | 88 | Ignore it |
poltergeist | 44 | They can shoot projectiles |
Knight | N/A | Cannot absorb; ignore |
Dust Devil | 88 | Required to kill to proceed |
Dust Devil boss | 122 | Required to kill to proceed |
Zombie | 88 | High HP + they come back |
Fire ghost | 44 | Will not reach 0 HP until the fire is gone |
Final fire ghost | 44 | splits into 3 meds which all split into 2 smalls each |
Guard | N/A | All progress for that room is reset if caught |
Scientists | N/A | They can shoot very short ranged projectiles; quite harmless |
Glitches/Tricks
Speed build up via switching characters
- Press select
- At the very last frame of the high-five animation, press select again.
- Move to the opposite end of whichever direction you wish to go
- Press select twice at the end of the high-five animation
Note: If you already did this before in the room, step 2 must be delayed by an extra frame.
You will then get dragged into the animation, and gain tens of thousands of speed. This can be chained multiples times as well. After step 4, if select is pressed again at the end of that high-five as well, you will swap characters, then get flung a bit further. This can be done over and over to separate Shaggy and Scooby far apart, allowing 200,000+ speed to be obtained.
A final note is that you can skip over enemies, certain obstacles, checkpoints, and objects like this, but solid walls cannot be bypassed.
Walls and speed
If you collide into a wall, your speed instantly resets to 0, regardless of its previous value.
Clipping into a slope
By building up speed at a certain angle, you will clip into it. Press the opposite direction to move further in. In certain cases, the slope cannot be clipped further in after the initial clip.
Reduces recoil from enemies
Hitting an enemy/damaging object at a certain angle or at high speeds eliminates the character from saying "Ouch", and reduces the "knockback" effect.
Preserving speed
Cart scenes
Your speed caps at 1113. Landing, getting hit, and jumping does not slow you down. Going over then edge and slopes do, however. Since taking damage has no effect in this part, it is preferred to get hit rather than encounter any slowdown.
Everywhere else
If you need to get hit by an obstacle, be sure to either reduce the knockback, or if that cannot be done, turn around before getting hit.
Landing briefly slows you down, so try to avoid going into the air too much.
Manipulating undead
Bookcase ghosts
They run at a timer. Triggering them at different times cause them to "float" up lower and attack sooner, before repeating back.
With Book of Doom
Use the book at the opposite direction, and all undead will move away from it horizontally.
Other
Either going near them, or go close then jump over. Delay entering rooms is possible, but often takes too long in comparison.