MDK [Engine:Shiny]

Upload your cheat tables here (No requests)
Post Reply
User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

MDK [Engine:Shiny]

Post by SunBeam »

[ 10 Sep 21 - First Release ]

Image

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)

Image

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:

Image

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
Note that I play on the HARDEST difficulty (Skill - Hard in Options). You can learn more on the subject here: [Link]. Apart from that:
  • 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 :D That's in broad lines. The function can be inspected here:

Image

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 :D

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
And since I couldn't be arsed to type in those cheats above every time I wanted something, I created the table below:

Image

Download:

MDK3DFX.CT
(15.85 KiB) Downloaded 54 times

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
Notes:
  • 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:

    Image
  • 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:

    Image

    Then you double-click that note and you see this:

    Image

    Then double-click that JNE and you're here:

    Image

    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":

    Image

    Then open it up (right-click > Change script) and change just line 9 to:

    Image

    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 :P

Download:

MDK3DFX.EXE.dd32.zip
(2.49 KiB) Downloaded 34 times

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
Image

Image

Image

Also attached the MDK3DFX.EXE for reference/backup/archiving purposes, just in case the GOG.com version updates (doubt it would):

MDK3DFX.EXE.zip
(300.33 KiB) Downloaded 38 times

Have fun :P

BR,
Sun

P.S.: Next-up -- MDK 2.

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

User avatar
Shadow_Wulfe
Expert Cheater
Expert Cheater
Posts: 241
Joined: Sun Apr 02, 2017 3:21 pm
Reputation: 18

Re: MDK [Engine:Shiny]

Post by Shadow_Wulfe »

Awesome.

Out of curiosity, how do you find the engine for these games?

Since you're on the topic of oldies, any chance for Disciples 2?

Post Reply

Who is online

Users browsing this forum: AhrefsBot, Alex5588, Arkadoc, Bing [Bot], Google Adsense [Bot], moryata, saintvilk, shawkuy, YandexBot