Game Name: MDK
Game Vendor: GOG
Game Process: MDK3DFX.EXE (the 3DFx Glide version -- I so remember my very first Voodoo 3 3000 GFX card! so many fond memories)
Game Version: Thursday, June 5, 1997 12:19:37 AM (PE header reads: 0x33960619)
Game File Size: 631 KB
[ Context ]
Hello, folks. I've recently started looking at old games from my childhood, simply because at the time I was just enjoying playing them rather than checking out what's "under the hood". So I've had a nice time digging up/out whatever the internet apparently either doesn't have anymore or it never had. Doing searches for cheats, trainers, etc. for these games will return very little to no results, I guess mostly because no one gives a rat's ass about them anymore. Well, not everyone That being said, let's proceed.
[ Setup ]
I have these settings in nglide_config.exe you can find it in game's folder:
As for the controls, I have this set-up in MDK.CFG file, also found in the game's folder:
Code: Select all
; MDK Configuration file automatically generated by MDK
cddata =
hddata =
hduse = 2
MouseWAxesMap = A0G
KeyUp = 17
KeyDown = 31
KeyJump = 57
KeySniper = 41
KeyLookUp = 103
KeyLookDown = 108
KeyZoomIn = 103
KeyZoomOut = 108
KeyItemNext = 18
KeyItemPrev = 16
KeyItemUse = 33
KeySideL = 30
KeySideR = 32
Skill = 2
ForcePCorrect = TRUE
D3DOptions = -1073545113
- F2 will bring up the save option in which you can specify a name for your save-game
- F3 will bring up the load save game menu
- F10 will show the quit menu
- F12 will bring up the options menu, so you can change Left and Right to A and D (if you use WASD setup) during flight scenes and back to left arrow and right arrow keys when on foot, in the actual mission (since I bet you will be using strafing)
[ Cheats & Table Options ]
This won't be your regular "god, ammo, instant kill, etc." kind of table. Why? Because, like I said in the beginning, the intention here was to look under the hood of the game and see what developers left it we can make use of
There are quite a few CHEATS you can type in directly, while playing (just type them in, no need for a console or input window). You will find below their effects. Some of them were collected from online research, others from deduction. The developers use some sort of encoding function, which shifts the alphabet, depending on the length of the string being typed in and position of the character That's in broad lines. The function can be inspected here:
If you want to learn how it works, check out the Test_EncodeBuffer script in the [ Debug ] section of my table (table's at the bottom of this section) Simply put, for anything you type in, there's an equivalent encoded string that's being generated and then simply compared against - in hardcoded form - in the game's code. For me it was fun to use this debug script and brute-force the encoded strings I couldn't find any information about online
See the section at the bottom and get the .dd32 file with notes.
Code: Select all
PUBLIC [https://www.ign.com/wikis/mdk/PC_Cheats]
European Codes + Codes for Patched Games
healme -> tjycwh in game
Heal 100% once per level.
ineedabiggun -> kisldtnnexeq in game
Super Chain Gun power-up once per level.
nastyshotthanks -> kqbvtgoomfmyeuv in game
Homing sniper grenade power-up once per level.
tornadoaway -> ocyntptynkb in game
Tornado power-up once per level.
holokurtisfun -> qqgcrukfnqweq in game
Dummy power-up once per level.
486okbyme -> 301apzpwh in game
Allow 486 machines to run the game.
Codes for Unpatched Games
makemefull -> ahkxyjdlvo not in game
Heal 100% once per level.
masterblaster -> vcnhlruxfqkou not in game
Super Chain Gun power-up once per level.
twistandshout -> cydgaagpxffew not in game
Tornado power-up once per level.
biggrenade -> ppgzdjlrnh not in game
Homing sniper grenade power-up once per level.
486willbeslow -> 189kplenjqcyz not in game
Allow 486 machines to run the game.
Extracted by SunBeam from GOG game
Command Lines:
301apzpwh -> 486okbyme
mapok -> this is a string, check as it is
gaxmlxg -> nosound
ztqpxf -> nosync
cimahbzlefov -> anythinggoesX
uouxtmuxr -> nobloodno
beatbpov -> bloodyes
mg -> cd
whmtbnprdh -> iampirate
msjokpfbvwr -> recordademo
jrxj -> lowmemxxx (checks `lowm` first; then see below)
sopyjkoha -> lowmemxxx (whole word)
uoy -> dev
dop -> iam486 (checks `iam` first; then see below)
ufk189 -> iam486
Cheats:
vgvhpsmatfrbg -> `meatistoohard` cheat (World 4 -> 5)
punvcsdhhxjerwh -> `seethewholegame` cheat
hccefqhprjb -> `movemecrazy` cheat
jxqhouymmwevdv -> `toomanytargets` cheat (World 2 -> 3)
iucozglemtjzfcv -> `iucozglemtjzfcv` cheat (World 6 -> End)
kqbvtgoomfmyeuv -> `nastyshotthanks` cheat
bemsdyoujuzxj -> `screwyviewing` cheat
wsidqymcye -> `iliketolob` cheat
izvo -> `kill` cheat
nqyexzxffdv -> `screenshots` cheat
cqjgjakkkmiwh -> `tooscaryforme` cheat
lchsyamqxrzxj -> `cameratesting` cheat
ddfksxkjtzoz -> `birdseyeview` cheat
vasqyyz -> `conshow` cheat
gvrmyjryyg -> `sortmethod` cheat
pzaeyjryyg -> `bsalmethod` cheat
vxg -> `end` cheat
wrxzalaexnurxw -> `givemealliwant` cheat
Others:
`dum` shortcut for `dummy decoy`; works only with `givemealliwant` on
`wmi` shortcut for `world's most interesting bomb`; works only with `givemealliwant` on
`nuk` shortcut for `world's smallest nuclear explosion`; works only with `givemealliwant` on
`thu` shortcut for `thumper`; works only with `givemealliwant` on
`twi` shortcut for `tornado`; works only with `givemealliwant` on
`tii` shortcut for `tornado`; works only with `givemealliwant` on
`hbo` shortcut for `hand grenade`; works only with `givemealliwant` on
`bon` shortcut for `bones airstrike`; works only with `givemealliwant` on
`gat` shortcut for `super chain gun`; works only with `givemealliwant` on
`hom` shortcut for `homing bullets`; works only with `givemealliwant` on
`sgr` shortcut for `sniper grenade`; works only with `givemealliwant` on
`hgr` shortcut for `homing sniper grenade`; works only with `givemealliwant` on
`lgr` shortcut for `mortar`; works only with `givemealliwant` on
`sea` shortcut for `Gunta snack`; works only with `givemealliwant` on
To test:
ocomhfmyeuv -> `tohmothanks` cheat
pjavrxakrysv -> `nomoreofthis` cheat
bsaooqwelxw -> `getovergunt` cheat
mtyunicabxwnjcog -> `iwillnotbekilled` cheat
mrtyjprdh -> `framerate` cheat
ityflvbg -> `iamanerd` cheat
pxxyhccixyiisjn -> `showmoviemdkbzk` cheat
Download:
Activate the [ Enable ] script, then use the scripts underneath. I've manually set-up keys for them, so you don't need to alt-tab to run the script every time you need it:
- Give Super Chain Gun -> NumPad 7
- Give Sniper Grenade -> NumPad 9
- Give Health 150% -> NumPad 5
- The scripts are designed NOT TO STAY ACTIVATED/ENABLED. They are not your regular hook scripts, they will run code in a thread that, as effect, will do something every time the key is pressed.
- I hope you know how to change the hotkeys so it fits your needs. If not, see pic below:
- If you want to add more scripts, then you will need the .dd32 file in the section below and look at my notes. There are 3 functions that are used to "give" you stuff: one is Health related, a second one is Power-Up related and the third one is Sniper Ammo related. Say you want to give yourself Mortars. Then what you do is check my notes, going to Comments tab:
Then you double-click that note and you see this:
Then double-click that JNE and you're here:
As you can see, you need to use the "GiveSniperAmmo" function with code being a string "SW_LGREN".
So copy-paste the "Give Sniper Grenade" script and call it "Give Sniper Mortar":
Then open it up (right-click > Change script) and change just line 9 to:
Set another hotkey and that's that Repeat the logic above with other crap you want to give to yourself.
[ Others ]
I've mapped a few things in my executable and below you can download the .dd32 file to be used with x32dbg (it's the x86 debugger that's part of the [Link]). Inside this file you will find a shit ton of comments and labels to assist in your craving to study the game's executable
Download:
What to do with it:
- get x64dbg downloaded and unzip it to a folder of your choice (e.g.: C:\x64dbg\)
- head to \x32\db folder (e.g.: C:\x64dbg\x32\db\) and place the .dd32 file in the ZIP there
- open MDK3DFX.EXE in x32dbg and check the comments/labels
Also attached the MDK3DFX.EXE for reference/backup/archiving purposes, just in case the GOG.com version updates (doubt it would):
Have fun
BR,
Sun
P.S.: Next-up -- MDK 2.
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1