PDA

View Full Version : Unlimited Zoom-Out aka Supreme-Keeper :)



darkbytes
May 26th, 2010, 04:41
ever thought "man, is that all i can zoom out?" at playing dungeon keeper 2? Modern Strategy games offer higher zoom levels... so c'mon.

Well, after getting DK2 running on Linux, i felt this limitation should also be broken. Whith this hack, you can freely zoom out as you wish.

http://img130.imageshack.us/img130/3993/dk2zoom.th.png (http://img130.imageshack.us/i/dk2zoom.png/)

I've created a Trainer to get your retail 1.7 Zoomed
http://www.mediafire.com/file/nkyl2qoz23d/zoomhack.exe
Download, place in DK2 dir, launch, press "Launch" to start the game or start it yourself, start a game session (singleplayer, pet dungeon, multiplayer), then press "O"-Key (oh not zero) to enable.
This can be used to play with friends that dont have the zoomhack. would you consider it as cheating? :)

i have also created a exe file that is prepatched for unlimited Zoom-Out (no trainer needet, only that exe):
http://www.mediafire.com/file/zm1wgnnjjom/DKII.exe
Just download, place in DK2 dir (overwrite or rename) and run.

If you play it in multiplayer, other players need same DKII.exe.

Please Note: Unlimited Zooming was not intendet by DK2 Developers. if you zoom too much, the game will crash. you can zoom very wide without problems and you will never expire a crash if you play normal... only if you want to see "man, how wide can i zoom?" you will notice it. :) (10 times more as seen on the screenshot)

tested only on 1.7 US Version.

Me and my Lanparty-Friends found that "feature" very usefull and handy. hope you also think so. took me some hours to create.

comments?

Hapuga
May 26th, 2010, 18:44
Excellent job!

DragonsLover
May 26th, 2010, 23:32
That sounds good! :)

I guess that Bullfrog didn't wanted to allow a big zoom-out as it would require a lot of video card and processor processing to calculate everything visible on the screen for the old computers.

A question though: does it apply the fix on the unsafedisced version of the executable or on the original copy protected DKII.exe?

I don't think it would be considered as cheating as the fog of war is still present. It simply allows to see a larger area of the map which could be good.

But I was wondering, do you know much about the executable? Do you think you could hack other things?

darkbytes
May 27th, 2010, 10:00
That sounds good! :)
A question though: does it apply the fix on the unsafedisced version of the executable or on the original copy protected DKII.exe?

the trainer "zoomhack.exe" does apply it to a running game; no matter if it is copy protected or not, as long as it is the right version i've made the hack for. it modifies the game code in memory. after restarting the game, the trainer needs to be re-applyd, but has the advantage that it works also on multiplayer with people that dont have the hack and dont require a unproteted version.

the DKII.exe is indeed a unprotected version (i've created it using safedisk annihilator), so i was able to modifiy the known game code from the trainer directly into the executable using a hex editor.



But I was wondering, do you know much about the executable? Do you think you could hack other things?
i know nothing about the executable, but when it comes down to execution, it is still x86 assembler which can be debugged, partly understood and modified. by unprotecting the exe, you can also modify it directly.

as the game is not officially supported anymore, it is a interesting posibillity to modify it that way, because it basicly allows to modify everything in the game, and also fix crashes on newer operating systems. only problem is to find out, what exactly to modify.

here is how i did that zoom hack, so you get an idea: i've used "cheat enginge 5.6" program. it is a program that is able to detect changed variables on the running game and also to debug and modify the running game. there are more programs like this out there, but that was the first i've found. i have started dk2 in pet dungeon mode and attached cheat enginge to it. zoomed maximum in, switched to cheant engine and started variable search, then switched to dk2 and zoomed maximum out, then back to cheat enginge and tolt it that the variable had be increased, dk2 zoom in, cheat enginge decreased, dk2 zoom out, cheat enginge increased. that way, it was possible to find out, on what position on memory the zoom level is stored. at the end there were 20 variables left, trial and error did the rest.
after knowing what memory address is used, cheat enginge can be told to watch for code that writes there. i've enabled that, switched to dk2, zoomed a bit, switched back and tada: 4 places returned. with "show assembly" cheat enginge shows the corrosponding assembly code, marks the line that had written to and also the current execution path. little above, there was a "jump-on-less-or-equal" instruction. it is there because the code for a zoom level limit is something like

if(currentzoom+zoomstep <= maxzoom)
{
currentzoom = currentzoom + zoomstep
}else
{
// do nothing, because its zoomed out maximum
}

then i've modified the "jump-on-less-or-equal" opcode to NOP (no operation - do nothing) code so the statement becomes

//do nothing
{
currentzoom = currentzoom + zoomstep
}else
{
// do nothing, because its zoomed out maximum
}

which causes the game to appy the zoom and not check for maximum zoom level anymore. then i've created a trainer using cheat enginge. because that trainer did not work on linux, i also modified the unprotected executable with hex editor, which was no problem after i know what exactly iam looking for.
a other way would have been to trache back the other operand of the less-or-equal operation and just modify the maxzoomlevel variable.


this way, everything in the game can be modified, as long as you know what you are looking for. it is also possible to run the game with a full-featured debugger on newer windows version. in case of a crash, the debugger will tell you what was wrong, and you can look out if you are able to find a fix for it. there are some cheatenginge and many "cracking" tutorials out there that can help you to get started with x86 assembler and how to debug closed-source-executables.

zoom level was the only thing i did not like so far; any other wishes what should be modified? except crashes :)

DragonsLover
May 28th, 2010, 05:09
zoom level was the only thing i did not like so far; any other wishes what should be modified? except crashes :)

Enemy Keepers' AI? :D Or is it too much? :(

But that's interesting informations. I'm still a bit beginning into programming and hex coding.

Skaruts
May 28th, 2010, 05:37
Couldn't this be done for DK 1?
Man I wish I could zoom out just a bit more in this game...

DragonsLover
May 28th, 2010, 23:43
Couldn't this be done for DK 1?
Man I wish I could zoom out just a bit more in this game...

Ask Mefistotelis. Maybe he could find something.

Abaddon
June 18th, 2010, 09:31
O_O How is your resolution so huge? I can't even run it at 1024x768 without it crashing every other minute or so... ):

Necror
June 18th, 2010, 16:23
In an other post he said it crashes less on Linux with whine its probably that

darkbytes
June 21st, 2010, 15:10
yeah, linux + wine. its running very well with hardware acceleration and 1600x1200 resolution.

this hack also works well with windows but does not fix win xp, vista and 7 crashing problems.

keep in mind that dungeon keeper 2 is not a unstable, crashing game itself, its just windows xp and newer causing the problems. wine is doing a better job for windows 2000 compatibility than microsoft is able to do, which is in fact a little curious. i've now played 3 matches with 3 players on a maximum-size-map with maximum creatures, much action and 1600x1200 resolution - guess what? not a single crash while playing.

Trass3r
June 24th, 2010, 18:11
So we need wine for windows :D

EDIT: Shit, this really exists: http://sourceforge.net/projects/wine/files/Win32%20Packages/

darkbytes
August 3rd, 2010, 18:49
well, wine for windows is not useable at this moment.

has anyone tried the supreme keeper-mod? or are you all playing 1.3?

emperorjay
August 3rd, 2010, 20:16
well i tried it but i'm running 1.73f so it doesnt work :( it crashes when i press launch.

Necror
August 3rd, 2010, 20:43
So we need wine for windows :D

EDIT: Shit, this really exists: http://sourceforge.net/projects/wine/files/Win32%20Packages/

I'm to lazy to compile source you've got a link to a precompiled one?

Trass3r
August 11th, 2010, 02:17
These are precompiled binaries. Just damn outdated ones.

EDIT:
Thanks darkbytes. I tried your loader but somehow it didn't recognize when I pressed O.
So I patched my exe and it works like a charm, even in combination with 1600x1200 HW accelerated on Win7 x64 :D

http://img440.imageshack.us/img440/265/shot0000bw.th.jpg (http://img440.imageshack.us/img440/265/shot0000bw.jpg)

Revenge_SevnFold
June 1st, 2011, 12:11
hey Darkbytes! The link "http://www.mediafire.com/file/zm1wgnnjjom/DKII.exe" is not working could you check it for me PLEASE.... begging you, I would really like to use this tool!!
(When i use the link it just downloads a 0 byte file with the name DKII.exe)
Thanks man!

dotted
June 2nd, 2011, 09:54
http://keeperklan.com/downloads.php?do=file&id=86

Keeper_Infernal
July 27th, 2012, 11:25
Hey I know i am a little outdated,but i hope someone will answer me,I cant use the hack,I put it in the DK directory and i try to run the game,and it results with a black screen,and a crash.

Pleas help? (Using the 1.0 version)

helsinkiharbour
July 30th, 2012, 20:53
hmm, had someone success with the mirrored exe on keeper klan (http://keeperklan.com/downloads.php?do=file&id=86) and the GOG 1.7 version?

I noticed also that the GOG version (also 1.7) is 2.977.280 bytes in size, the zoom-extended version is 2.977.325 bytes. So a binary diff is not possible to backport the changed bytes to the GOG version. I someone has a fitting 1.7 base version (http://keeperklan.com/threads/1051-Unlimited-Zoom-Out-aka-Supreme-Keeper-)?p=20932&viewfull=1#post20932 DKII.exe unprotected by safedisk annihilator) without this zoom-patch, it would be great if this version could be provided as downlaod. Then the binary difference could be extracted and maybe ported to other versions, e.g. GOG or 1.3. etc. I found only the 1.7 GOG pre-patched version (or unprotected versions of the wrong file-size) :/

C:\Program Files\GOGcom\Dungeon Keeper 2>fc DKII.EXE DKII_zoom.exe
Comparing files DKII.EXE and DKII_ZOOM.EXE
000000D6: 2B 00
000000D7: AD 00
000000E0: 00 A9
[...]
002D1DFD: 04 00
002D1DFF: 56 00
002D39FD: 04 00
002D39FF: 56 00
002D6DFD: 2D 00
002D6DFE: 6E 00
FC: DKII_ZOOM.EXE longer than DKII.EXE

[edit] At least I was able to find the bytes changed by timeslip. Just 5 bytes are different compared to the original GOG unprotected 1.7 exe. Basically, just the redirecting from the generic ddraw.dll to the patch.dll from timeslip. Next step, I searched this byte string in the unlimited zoom exe and hex-edited the timeslip changes in, and voila, everythings seems to work fine.

So I have now a 1.7 with the fixes from timeslip + unlimited zoom! :)

Here the adresses and changed bytes (comparision between the GOG 1.7 and the timeslip patched GOG 1.7)
C:\Program Files\GOGcom\Dungeon Keeper 2>fc DKII.EXE DKII-dx.exe
Comparing files DKII.EXE and DKII-DX.EXE
0028B8D8: 44 50
0028B8D9: 44 41
0028B8DA: 52 54
0028B8DB: 41 43
0028B8DC: 57 48

Keeper_Infernal
July 31st, 2012, 05:20
Umm so I dont get it,you have a 1.3 friedly version,or what? (I really didnt understan much of what you said there...)

helsinkiharbour
July 31st, 2012, 06:56
Umm so I dont get it,you have a 1.3 friedly version,or what? (I really didnt understan much of what you said there...)

No, I identified the changed bytes in the GOG executable. Then I introduced this changes into the keeper-klan-mirrored-unlimited-zoom-exe. And this exe with unlimited zoom works now with the GOG installation. :)

(to backport the zoom changes e.g. to 1.3 someone has to identify the changed bytes against a zoom unmodified 1.7)

[EDIT]

I found the bytes, a JG overwritten as said by darkbytes (tested for 1.8 and 1.7).

Unlimited Zoom bytes (first 2 bytes)
GOG 1.7 / normal 1.7 / 1.73 / 1.80
GOG-1.7.exe ( 2.977.280 bytes)
0x00490D1 7F -> JG (2-bytes opcode, following byte adress)
0x00490D2 02 -> relative address
0x00490D3 8B -> move
0x00490D4 FE

Zoom-1.7-exe etc.
0x00490D1 90 -> NOP
0x00490D2 90 -> NOP
0x00490D3 8B -> move
0x00490D4 FE

1.3 (unchecked!)
DKII_1.3-exe (size 2.922.496 bytes)
0x0041EC2 7F
0x0041EC3 02
0x0041EC4 8B
0x0041EC4 FE

DKII_Zoom-1.3-exe
0x0041EC2 90
0x0041EC3 90
0x0041EC4 8B
0x0041EC4 FE

1.3 (unchecked!)
DKII_1.3-exe (size 2.922.496 bytes)
0x0041EC2 7F
0x0041EC3 02
0x0041EC4 8B
0x0041EC4 FE

OR
DKII_Zoom-1.3-exe
0x0042051 90
0x0042052 90
0x0042053 8B
0x0042054 FE

Keeper_Infernal
July 31st, 2012, 08:16
Umm,okey then pleas post here,when you or someone els would be done pleas,ok?

(this gonna be helpfull for all the dk 1.3 users.)

helsinkiharbour
July 31st, 2012, 09:46
Ok, here are some common DKII.exe versions with the unlimited zoom-capability.
In the archive are 2 versions: first one was jonly extended by the ''zoom'' capability, the second one (with a "_dx" ending in file name) is the version for the GOG installation (with the redirect to timeslip "patched.dll"). The 1.7, 1.73 and 1.80 worked for me with zoom and the GOG installation. The 1.3 worked not at all for me, neither native nor with the "patch.dll", so for this version feedback would be of interest.

Pre-patched DKII exes with unlimited zoom capability (GOG and non-GOG version)
Supreme Keeper patched v1.3 exe download (2.5MB) (http://remixshare.com/download/3vy5d)(mirror (http://freakshare.com/files/hns7nl5b/DK2-v1.3.zip.html))
Supreme Keeper patched v1.3 exe download VERSION2 (2.5MB) (http://freakshare.com/files/j2so2bfe/DKII-1.3-unlimited-zoom-patch.zip.html) (mirror (http://depositfiles.com/files/z4sikptuz))

Supreme Keeper patched v1.7 exe download (2.5MB) (http://remixshare.com/download/c4mnw) (mirror (http://freakshare.com/files/v1yn90ip/DK2-v1.7.zip.html))
Supreme Keeper patched v1.73 exe download (2.5MB) (http://remixshare.com/download/8yx7a) (mirror (http://freakshare.com/files/ufqejcph/DK2-v1.73.zip.html))
Supreme Keeper patched v1.8 exe download (3.4MB) (http://remixshare.com/download/n58om) (mirror (http://freakshare.com/files/loqfev42/DK2-v1.8.zip.html))

Feedback would be appreciated! (Especially for the combination: v1.3 installation + patch.dll from the GOG version.)

helsinkiharbour
August 4th, 2012, 11:53
Ok, think I found a better solution (for 1.7/1.73/1.8) then disableing the height check:

Setable minimum zoom height
(original: from stack to EDX)
0x004A418 8B -> mov edx, ss:[]
0x004A419 94
0x004A41A 24
0x004A41B A0
0x004A41C 00
0x004A41D 00
0x004A41E 00

new variant, value is defineable
0x004A418 BA -> mov edx, im32
0x004A419 00 -> 32bit heigth value
0x004A41A 40 -> 32bit heigth value
0x004A41B 00 -> 32bit heigth value
0x004A41C 00 -> 32bit heigth value
0x004A41D 90 -> NOP
0x004A41E 90 -> NOP

The red 4 bytes encoding the minimla zoom heigth, e.g. 00 40 00 00 is the original value -> 00 20 00 00 would be 50% more near.

Arbitrary setable maximum zoom height
(original read from stack to EAX)
0x004A41F 8B -> mov EAX, ss:[]
0x004A420 64
0x004A421 24
0x004A422 A4
0x004A423 00
0x004A424 00
0x004A425 00

new variant, value is definable
0x004A41F B8 -> mov EAX, im32
0x004A420 00 -> im32 max heigth value
0x004A421 00 -> im32 max heigth value
0x004A422 02 -> im32 max heigth value
0x004A423 00 -> im32 max heigth value
0x004A424 90 -> NOP
0x004A425 90 -> NOP


The read bytes encoding the maximum zoom out value. I think 00 00 02 00 is 16x times more zoom out.

Keeper_Infernal
August 4th, 2012, 16:03
Well,i tried the german site,and then i got the rar,I have tried to open to play it,but but the DK-zoom did the same as what happend last time (crashed)

and the other one with the longer name have poped up a massage which says something about a missin PATCH.ill file or something like that...

help? :(

helsinkiharbour
August 4th, 2012, 17:15
Thanks for feedback, I will try to help you, please give me for that more specific informations.

You tried the patched exes in version 1.3 in your pre-installed 1.3 DK II directory? What do you mean with "last time"? When happend the crash, on game start or on zoom? Your DKII installation worked with the vanilla exe?

On the message about the missing "patch.dll", this is normal. The patch.dll is a wrapping DLL which increases the compatiblity with newer systems, written by timeslip and included in the GOG version. I recommend to buy it there: first it's cheap and second GOG cares for old games and pays even people to fix bugs and enhance the technical compatiblity, therefore I think they deserve realy support for that.

Keeper_Infernal
August 4th, 2012, 17:22
Ive tryed the 1.3 version you provided here,and puted it on my own dk directory,the moment I press the exe who is suposed to launch the game (Zoom-style) It goes black screen for a second,and then brings me back to desktop.

question,whats vanilla exe?? Oo

(Note,i am using the 1.0 version,the one from the CD,i used deamon tools to extract it.)

helsinkiharbour
August 4th, 2012, 17:45
Ok, with "vanilla" exe I mean the original exe (unpatched) in your DKII directory. I assume it behaves the same, black-screen-back-to-desktop?

Also, what is the filesize of your vanilla exe? Same size as the patched exe? If it is different can you provide it on some file hoster?

(In case you have this problem also with the vanilla version: There are multiple solution approaches for this problems maybe one works for you (e.g. here http://404forums.net/showthread.php/2403-Dungeon-Keeper-II-Fix-for-XP) If this it not work for you I suggest to use the GoG version, it has better compatiblity (but is 1.7).)

[EDIT]

was able to reproduce it, strangely the 1.3 seems to need to be called exactly DKII.exe. So rename your original DKII.exe in DKII.exe.bak and rename DKII_zoom.exe in DKII.exe.

Keeper_Infernal
August 4th, 2012, 18:23
The 1.7 version works just fine,ill check the solutions on the link you provided.

Keeper_Infernal
August 4th, 2012, 18:32
My exe weights 244k (the one with the zoom is like 2000k+)

Is that a problem

(Note,cant find anything related to the zoom hack in the link you provided.)

helsinkiharbour
August 4th, 2012, 21:03
First, there must be a executable around 2MB, this is only a redirect exe. (subfolder? can you search your DKII directory for *.exe?)

Second, try to rename the patched exe to DKII.exe (rename the vanilla DKII.exe to DKII.exe.bak before), to enable the windows compatiblity shim support.

Third, the parameter -32bitdisplay was helping. create a text file, copy this in "DKII.exe" -32bitdisplay put a line break (return key) on the end. Save the file. Rename the file to a BAT ending. Now you can execute the file with double click, and DKII is started with the parameter. (more parameters are here http://keeperklan.com/threads/681-Command-Lines-List)

Fourth, you can try under Desktop-> Settings -> advanced -> Troubleshooting -> Hardware Acceleration to lower it by 4 ticks.

Fifth, set the core affinity for DKII.exe on startup.The sysinternal tool Psexec is the solution for XP, vista and 7 (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx, http://stackoverflow.com/questions/827754/how-to-set-processor-affinity-from-batch-file-for-windows-xp).

Keeper_Infernal
August 5th, 2012, 08:49
Now thats just wierd,i renamed it,then it worked,exept from on thing... no zoom..

helsinkiharbour
August 5th, 2012, 10:14
ahh, thanks for positive feedback!
It's not as weird as it first sounds, while I was debugging the exe I found heavy windows shim activity, which is connected to the filename. If windows found a exe known by filename, it tries to applies compatiblity fixes. By renaming the exe I was sabotaging this mechanism, fixed in new version.

Try this second version, I'm positive in this version also the unlimited zoom will work :)
Supreme Keeper patched v1.3 exe download VERSION2 (2.5MB) (http://freakshare.com/files/j2so2bfe/DKII-1.3-unlimited-zoom-patch.zip.html)
(patches for other versions are here (http://keeperklan.com/threads/1051-Unlimited-Zoom-Out-aka-Supreme-Keeper-)?p=39958&viewfull=1#post39958))

Please, someone report back if the unlimited zoom works for him in DKII version 1.3!

Keeper_Infernal
August 19th, 2012, 15:10
I am so sorry for the so late feedback,i was of the computer for a long time,school stuff you know..

the result is sadly the same,renamed it,worked but without no zoom..

helsinkiharbour
August 19th, 2012, 20:54
Did you tried the second version? Because renaming is not needed anymore on the second one... here is the link:
Supreme Keeper patched v1.3 exe download VERSION2 (2.5MB) (http://freakshare.com/files/j2so2bfe/DKII-1.3-unlimited-zoom-patch.zip.html)

Keeper_Infernal
August 22nd, 2012, 11:47
Same result..

something supirior beyond this world simply doesnt want me to play dk with joy...

BadDragon
September 5th, 2012, 03:18
Hey helsinkiharbour thanks for the patch was wondering if you could re-upload the 1.8 version of this as it is the one my friends and i use and the link is broken.

Thanks

BadDragon.


Ok, here are some common DKII.exe versions with the unlimited zoom-capability.
In the archive are 2 versions: first one was jonly extended by the ''zoom'' capability, the second one (with a "_dx" ending in file name) is the version for the GOG installation (with the redirect to timeslip "patched.dll"). The 1.7, 1.73 and 1.80 worked for me with zoom and the GOG installation. The 1.3 worked not at all for me, neither native nor with the "patch.dll", so for this version feedback would be of interest.

Pre-patched DKII exes with unlimited zoom capability (GOG and non-GOG version)
Supreme Keeper patched v1.3 exe download (2.5MB) (http://remixshare.com/download/3vy5d)(mirror (http://freakshare.com/files/hns7nl5b/DK2-v1.3.zip.html))
Supreme Keeper patched v1.3 exe download VERSION2 (2.5MB) (http://freakshare.com/files/j2so2bfe/DKII-1.3-unlimited-zoom-patch.zip.html) (mirror (http://depositfiles.com/files/z4sikptuz))

Supreme Keeper patched v1.7 exe download (2.5MB) (http://remixshare.com/download/c4mnw) (mirror (http://freakshare.com/files/v1yn90ip/DK2-v1.7.zip.html))
Supreme Keeper patched v1.73 exe download (2.5MB) (http://remixshare.com/download/8yx7a) (mirror (http://freakshare.com/files/ufqejcph/DK2-v1.73.zip.html))
Supreme Keeper patched v1.8 exe download (3.4MB) (http://remixshare.com/download/n58om) (mirror (http://freakshare.com/files/loqfev42/DK2-v1.8.zip.html))

Feedback would be appreciated! (Especially for the combination: v1.3 installation + patch.dll from the GOG version.)

helsinkiharbour
September 8th, 2012, 15:48
Hey helsinkiharbour thanks for the patch was wondering if you could re-upload the 1.8 version of this as it is the one my friends and i use and the link is broken.

Thanks

BadDragon.

thnaks for intrest, here is another mirror:
http://freakshare.com/files/rn5ggj8i/DKII--Supreme-Keeper---GOG-enabled-.rar.html

PS: maybe this files can be mirrored in teh download section of keeper klan? Don't see how files can be by pushed there...admin rights required?

rashiakas
January 6th, 2013, 15:32
could you upload it again please? thanks in advance :)

helsinkiharbour
January 16th, 2013, 23:03
could you upload it again please? thanks in advance :)

http://freakshare.com/files/on22pm6l/DKII-SK-patch.rar.html

klack
April 22nd, 2013, 03:57
Can we have a new mirror please? If I am reading this correctly these file also represent the only multi-versions of DK2 with the new HW acelleraction support...... thus the best existing versions of DK2... very very important:D

helsinkiharbour
May 6th, 2013, 22:37
here we go...
https://mega.co.nz/#!p0AzUBYb!D2CB-D1UPUiAganeNkSRcihgkKgXECEeqtJgzgDa_cE

(maybe keeperklan could host this too?)

klack
May 6th, 2013, 23:01
thanks! yes these should be hosted here, these are the files to use

Syntheticdawn
February 20th, 2014, 15:55
here we go...
https://mega.co.nz/#!p0AzUBYb!D2CB-D1UPUiAganeNkSRcihgkKgXECEeqtJgzgDa_cE

(maybe keeperklan could host this too?)

I love this mod , i use xmouse to make mousewheel become the home/end buttons :)

helsinkiharbour
February 26th, 2014, 22:15
I love this mod , i use xmouse to make mousewheel become the home/end buttons :)


looks like I found the bytes for wyrmcasts 1.51 version:

48B11 7F ->90
48B12 02 ->90
48B13 8B
48B14 FE


here a updated archive https://mega.co.nz/#!dNEAWIoQ!HQgtwYZ2rilEzkI9J55XL2angM5cRCGdDnc5cP2 npdE

(the gog variant is highly experimental and works not with my system)

Durandall
March 2nd, 2014, 20:31
The 1.51 GOG didn't work for me either, what did you try to change to make GOG work on 1.51? Other than if you tried replacing that one DDRAW line (or whatever it is, can't recall off the top of my head).

If you're still trying to find a way to match GOG's patch to older versions of DKII, it simply will not work. I've disassembled the patch.dll and it is no simple matter. It's changes do not match up and can not be easily made to match up with earlier versions of DKII. Timeslip would have to rewrite and compile the patch specifically for earlier versions of DKII. Also, due to the way the patch.dll works, I would NOT suggest hex editing DDRAW->PATCH for earlier versions. I'm surprised it doesn't immediately crash.

helsinkiharbour
March 2nd, 2014, 23:26
Feedback:

The 1.51 unlimited zoom is unstable and it seems easy to zoom too far out and crash the game.

The 1.51 GOG didn't work for me either, what did you try to change to make GOG work on 1.51? Other than if you tried replacing that one DDRAW line (or whatever it is, can't recall off the top of my head).

Hi Wyrmcast, nope did nothing else than patching patch.dll in, was not working with my system too but was interested also in feedback of others.

Yes, I implemented it currently quick and dirty by removing the check altogether. If there is interest I will try to implement it in the safe but more complicated solution (see some former explanation post in this thread).

Durandall
March 3rd, 2014, 01:41
I just spent the last 2 hours working on locating the min and max zoom level origins. Eventually ended up following a maze of stack changes back to their origin point at a kernel32 ReadFile call.
Looks like you can change the min and max zoom levels in Data/editor/GlobalVariables.kwd.

DKII 1.51 - Data/editor/GlobalVariables.kwd
Min Zoom Level Offset - 0x2924
Max Zoom Level Offset - 0x2928
Min Zoom Level Default Value - 0x00400000
Max Zoom Level Default Value - 0x00D00000

Array of bytes search to locate values in other DKII versions - 0040000000D000000020000000200000002000002600000000 000000DC .
You can probably just use the first search results for 0040000000D00000 as well.

helsinkiharbour
March 3rd, 2014, 13:21
I just spent the last 2 hours working on locating the min and max zoom level origins. Eventually ended up following a maze of stack changes back to their origin point at a kernel32 ReadFile call.
Looks like you can change the min and max zoom levels in Data/editor/GlobalVariables.kwd.

DKII 1.51 - Data/editor/GlobalVariables.kwd
Min Zoom Level Offset - 0x2924
Max Zoom Level Offset - 0x2928
Min Zoom Level Default Value - 0x00400000
Max Zoom Level Default Value - 0x00D00000

Array of bytes search to locate values in other DKII versions - 0040000000D000000020000000200000002000002600000000 000000DC .
You can probably just use the first search results for 0040000000D00000 as well.

Ha! You did it, you tracked it completely back, congratulation! :)