Jump to content
Heads Up! This website is no longer maintained, if your a member from our era, consider joining the discord to say hello.
Sign in to follow this  

[1.11b] D2Loader

Recommended Posts

File Name :: D2Loader

Author :: Unknown

Category :: 1.11b

Description ::

About<br>-----<br>This is an unofficial, hacked version of D2Loader v1.10 to make it compatible<br>with Diablo II 1.11b. Most of the 1.10 parameters and what-not still work, so<br>please refer to the v1.10 D2Loader docs for more info about D2Loader.<br><br>Version numbering is now done completely by date to avoid confusion when there<br>is a Diablo II "v1.11b" and D2Loader "v1.11b02". When looking for the latest<br>release, look for the one with the latest date.<br><br>For the latest versions, please see http://d2loader.webhop.net/ which will<br>redirect you to a page which has (hopefully) safe versions of the latest<br>builds. I can't promise whoever hosts the files will not replace them with<br>trojans and such, so please be careful as with any D2 related executables.<br><br>Installation<br>------------<br>Remove any existing v1.10 plugins - they will likely crash. Then copy the<br>.exe to your Diablo II directory and run it or whatever you want to do with<br>it. Below are some useful command line parameters you may wish to use:<br><br>-w Run in windowed mode.<br>-ns Disable sound (warning, can cause some crashes)<br>-nohide Don't hide the Diablo II window when losing focus.<br>-res800 Start at 800x600 (avoids window moving off-centre on load)<br>-sleepy Call sleep(1) to avoid D2 using 100% CPU time.<br>-altcolor Change color of monster health bar.<br>-title "foo" Set the Diablo II window title to foo.<br>-mpq foo.mpq Load foo.mpq (useful for additional CD keys)<br>-skiptobnet Skip straight to the BNet login screen.<br><br>Version History<br>---------------<br>D2Loader v1.11b (Nov 11 2005)<br>-----------------------------<br>Added -altcolor option for windowed mode, will use different colors when<br>drawing the monster name / hp box so it is more visible. Yes, this uses more<br>code patches, but I really hope Blizzard doesn't mind this accessibilty option<br>as it's pretty hard to see it in windowed mode without this fix.<br><br>D2Loader v1.11b (Oct 04 2005)<br>-----------------------------<br>Fixed -sleepy behavior acting weird sometimes (ie high CPU usage / random D2<br>window 'freezing' on menu). I'm amazed this didn't actually crash since there<br>was a jump into the middle of an opcode (*blushes*) :D.<br><br>Bound the executable to Diablo II v1.11b and WinXP SP2 entry points for maybe<br>a slight improvement in load time.<br><br>D2Loader v1.11b (Sep 22 2005)<br>-----------------------------<br>Patched the D2Lang.dll patches so -locale works again. Since I don't have a<br>Korean D2 or whatever, I can't test this actually works, but it looks like it<br>should - my D2 crashes looking for some Korean fonts with -locale Korean.<br><br>Added ability to read extra command line options. This allows further features<br>that would require a command line option. Such as...<br><br>-nohide command line option. If set, will subclass the main D2 window handle<br>and block WM_ACTIVATEAPP/0 from reaching D2, which will prevent the D2 window<br>from hiding when it loses focus. Diablo II usually gobbles up 100% CPU time<br>when not hidden (see below for a 'fix' for this), so running multiple windows<br>with -nohide could cause some significant slowdown. Don't use this in full<br>screen mode for obvious reasons.<br><br>-sleepy command line option. If set, will patch the arguments to sleep() in<br>D2Client and D2Win so they aren't zero. This results in the Diablo II process<br>using much less CPU time since it isn't stuck in such a tight loop. Note that<br>this *might* result in oh-so-barely lower FPS, but I don't think that's a<br>concern in D2 :-). The benefits of this should be apparent to anyone with a<br>fast system... and why Blizz are calling sleep(0) is beyond me :D. Note that<br>there are still some areas that use 100% CPU time regardless since they aren't<br>part of the menu / game loop.<br><br>Fixed a small jmp to the wrong place on the rare chance you had any plugins<br>installed.<br><br>Fixed VirtualProtect not restoring correct memory access options after<br>applying patches (yeah I suck at the x86 asm :P).<br><br>Fixed BNClient and other future patches being applied more than once when<br>re-entering the main menu.<br><br>Edited the PE header to provide the correct code size. This shuts up OllyDbg's<br>SFX warning so I don't get quite so frustrated each time I have to restart :).<br><br>Also a tip to any people who are making Diablo II hacks that install by<br>finding the D2 window: EnumWindows / GetClassName / GetWindowThreadProcessId<br>are your friends. Don't go enumerating the executable names as these aren't<br>100% reliable due to renaming. The D2 window classname is "Diablo II".<br><br>Small note, the last version recommended using '-nocleanup' to do a 'nice'<br>shutdown of D2 - a word of warning - don't use -nocleanup with -skiptobnet or<br>every time D2 tries to exit by going back to the menu, it will reconnect to<br>bnet and you'll be stuck in a rather nasty foreground-hogging infinite loop.<br><br>A forewarning, the next release may have another 2KB added on to the file size<br>as I'm running quite short on space in the current executable to continue<br>adding more features. It probably doesn't help that my code is so bloated :).<br><br>D2Loader v1.11b (Sep 15 2005)<br>-----------------------------<br>Few fixes here, the first new hack I'd added I accidentally called XP SP2<br>DLL addresses instead of using the import table for the new error box stuff.<br>Oops. Now all Windows versions should get the error dialogs when there is<br>a problem initing. I also added a version check so that the executable won't<br>even run if it detects a new version of D2. Due to the amount of stuff that<br>Blizz seem to change each release, it's extremely unlikely that an old loader<br>version would work with a new patch.<br><br>This version also has EVERY ordinal fixed, even ones that were missing from<br>the original v1.11 loader. As such, obscure parameters such as -gamma, -lq<br>and -vsync now work correctly. I figured if Blizz release 1.11c anytime soon I<br>wouldn't want to go checking back three versions worth of changes :).<br><br>Point of interest: it seems -nocleanup works backwards, ie "no cleanup" is on<br>by default and if you specify -nocleanup, D2Loader will go through the normal<br>D2 shutdown procedures (close sound, unload DLLs, etc). Now that the cleanup<br>ordinals are mapped, -nocleanup works nicely and does a 'graceful' close of<br>Diablo II. While I don't want to change any defaults, I'd recommend you use<br>-nocleanup on your command line to do a graceful exit instead of ExitProcess.<br><br>This version is really what I wanted the last version to be when I released<br>it, but sadly I didn't have time to do all these things. I decided to just<br>get a version out there that worked with v1.11b to keep all the people happy<br>who depend on D2Loader to be able to play the game.<br><br>D2Loader v1.11b (Sep 14 2005)<br>-----------------------------<br>Just to add further confusion, Blizz released v1.11b and a lot of people saw<br>the "v1.11b02" and thought it was for v1.11b. The b is for the build number.<br>I've changed how the version string is now written to reduce further mixups.<br>This version simply fixes the ordinals for v1.11b and again, D2Loader is back<br>in business. One small fix, if you Alt+F4 out of D2, the cache file handle is<br>properly closed and deleted. As usual, keep an eye on the D2Loader redirect -<br>http://d2loader.webhop.net/ for the latest versions.<br><br>D2Loader v1.11b02 Sep 09 2005<br>-----------------------------<br>Added some code to the resource section to support extra hacks which wouldn't<br>fit in any other places. This may cause some virus scanners to go crazy since<br>code shouldn't be running from the resource section :). It's quite safe, just<br>heuristic scanners may give false positives. This new code section also makes<br>it much easier to extend D2Loader functionality at a later time if needed.<br><br>New in this build is a bnclient.dll patch to generate the bncache name based<br>on the PID of the D2Loader process. This prevents multiple D2s trying to lock<br>the file (and subsequently one of them dropping with C/I). If you missed the<br>point there, multiple D2Loaders can now run on bnet at the same time without<br>having to copy a ton of .exe/.dll files all over the place.<br><br>Also a few minor improvements, SetErrorMode is called on init to prevent the<br>annoying "No Disc In Drive / Continue/Try Again/Ignore" dialog boxes that can<br>occur if you run D2Loader with virtual CD and/or empty CD drives. Any fatal<br>errors such as missing MPQ files on startup are now shown in a message box so<br>you can actually see what the problem is rather than having the loader exit.<br>Finally, FlushInstructionCache is called after patches are done to ensure no<br>problems arise from not doing so.<br><br>A word of warning, "Warden" - Blizzard's new hack detection software - can<br>easily be updated (if it doesn't already) to detect D2Loader usage. You take <br>a risk as with any 3rd party hacks - while I personally would hope something<br>as simple as self-muling and running without the CD is fairly harmless, it's<br>ultimately up to Blizzard. This version of the loader is unable to load any<br>plugins so it can't be used to load any further hacks, but again, it's your<br>choice to run it.<br><br>D2Loader v1.11b01 Aug 01 2005<br>-----------------------------<br>Hacked with love ;-)<br><br>Fixed up imports from D2 DLL ordinals and bam, it works with v1.11. Note that<br>the plugin system seems to work, but individual plugins will likely need many<br>changes to be compatible with 1.11. I strongly recommend you remove all v1.10<br>plugins before trying to use this. Enjoy.<br><br>Fullscreen/D3d UNTESTED, not recommended!<br>

 

View File

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×