ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Information and updates for the Eastern Sun mod. If you have any questions or suggestions for the mod, please post them here. Click here to visit the official web site.

Moderators: Perfect Cell, Metropolis Man, tsuru, AlphA - The Real One

Post Reply
User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Mon Aug 02, 2010 3:56 am

I've ported all the DLL changes in ES 3.00 R6D to LOD 1.12a.
This means you can use D2MultiRes.

Installing it is a bit advanced due to ES's insistance on using a loader (which you should not use with my mods), and my insistance on using dynamic patching instead of the static stuff ES 3.00 uses out of the box.

Nevertheless, you will need all of the DLL downloads from http://zenthought.org/content/project/diablo2
That means: loader, mercmod, gemfix, savesize, goldlim, es300

You will also need a PlugY version compatible with 1.12a. I have tested 9.00.
See the instructions in the "es300" module for installation.

Maybe someone will package it a bit nicer than I have.
EDIT: Stabby has created a simple installer: http://www.d2mods.com/forum/viewtopic.p ... 30#p444830

Please note that these DLLs currently only work with LOD 1.12a, nothing else.

Direct links:
http://zenthought.org/sites/default/fil ... 100801.zip
http://zenthought.org/sites/default/fil ... 0806-2.zip (20100806-2: fixed a crash on entering new act for the first time, if the mpq is enabled)
http://zenthought.org/sites/default/fil ... 100801.zip
http://zenthought.org/sites/default/fil ... 100805.zip (20100805: fixed? extra function patched)
http://zenthought.org/sites/default/fil ... 100801.zip
http://zenthought.org/sites/default/fil ... 100822.zip (20100804: Marrowwalk bug added, 20100805: added Pandemonium level .txts so 1.12 doesn't crash, 20100822: Adds missing quest reward changes)
Damage clamper, in case your damage is wrapping (beta):
http://zenthought.org/sites/default/fil ... 0803-2.zip (updated 20100803, #2)
Last edited by zinx on Mon Sep 06, 2010 6:26 pm, edited 10 times in total.

User avatar
Stabby_McTwist
Forum Legend
Arch-Angel
Posts: 1784
Joined: Mon May 31, 2004 5:17 pm
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Stabby_McTwist » Mon Aug 02, 2010 10:28 pm

For anyone who's interested, I've made an automatic installer:
http://www.mediafire.com/?nri3xla7sr54ap5
(Installer updated and fixed a problem)

This will set up your Eastern Sun install to work with Diablo II v1.12 (not v1.11 or 1.13) so that minimal user-input is required. On Windows Vista/7 with UAC enabled you will need to accept an elevation prompt while installing PlugY v10.0, and all users will need to make a slight modification to the shortcut that is placed on the desktop.

================================================================================

I've revised the Install instructions a little bit for you:
Install (ADVANCED):
  1. Backup your Diablo II (and es300r) dir
  2. Save es300r/data/global/excel/itemratios.txt while the game is running.
  3. Copy it back when you exit. ES 3.00 R crashes on drops without it.
  4. Erase all .dlls in your es300r dir
  5. Install PlugY 9.00 (or higher) to Diablo II folder and run PatchD2gfxDll.exe
  6. Copy (NOT Cut/Move) the PlugY.dll, PlugY.ini and the PlugY folder to es300r
  7. Copy es300.dll to your es300r dir
  8. Install my other mods (check author or use site; mod names ambiguous)
  9. Add all of them (including es300.dll) to loader.ini (see loader docs)

    Code: Select all

    [loader]
    0=es300.dll
    1=mercmod.dll
    2=gemfix.dll
    3=savesize.dll
    4=goldlim.dll
  10. In es300r\PlugY.ini, set DllToLoad=loader.dll
  11. In es300r\PlugY.ini, set ActiveSavePathChange=1
  12. In es300r\PlugY.ini, set SavePath=es300r\save\
  13. In Diablo II directory Copy/Paste Shortcut the Game.exe file.
  14. On the Game.exe SHORTCUT Right Click -> Properties and change:
    • Target: "C:\Games\Diablo II\game.exe"
    • Start in: "C:\Games\Diablo II"
    to
    • Target: "C:\Games\Diablo II\game.exe" -direct -txt
    • Start In: "C:\Games\Diablo II\es300r"
    (Keep the path the same, just add the -direct -txt and \es300r parts.)
  15. Hope everything went right.
Last edited by Stabby_McTwist on Mon Oct 10, 2011 6:32 am, edited 8 times in total.

User avatar
Al-T
Forum Legend
Power
Posts: 3704
Joined: Sun Mar 13, 2005 2:19 am

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Al-T » Mon Aug 02, 2010 10:31 pm

All impressive work but....ask yourselves a question; "is this adding playability/new features to enhance the mod with the modmakers blessing or is it modding someone elses mod without their permission?"

A port from one version to another is one thing but you can't call it by the same name surely :?:
Al-Tisaur...Card carrying member of mentaldom since March 2007 & "Zy-Sensitive" Veteran Pension Holder!
Veteran? More like "Ancient Relic!"..been playing the mod for 12 years!
Trying to picture Al as a Power,... it's not working it must be the Tiger Stripes that get me every time - Hans
I get knocked down but I get up again, you're never gonna keep me down...!
Official Zy-El Website | ZyEl Wiki | Russian Zy-El Website by mahatmaQL | Eastern Sun

User avatar
Stabby_McTwist
Forum Legend
Arch-Angel
Posts: 1784
Joined: Mon May 31, 2004 5:17 pm
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Stabby_McTwist » Mon Aug 02, 2010 11:28 pm

Al-T" wrote:All impressive work but....ask yourselves a question; "is this adding playability/new features to enhance the mod with the modmakers blessing or is it modding someone elses mod without their permission?"
First part of the first and the latter (i.e. adds playability/new features to enhance the mod, but without their 'blessing', as you say)... I think this definitely falls within the spirit of the original modders intentions.
This is most likely doing what they couldn't do or no longer had interest in doing: Updating their plugins to work with newer Diablo II patches.
1.10 was the big Modder patch, then there was nothing for a long while.
Then came 1.11, and broke a lot of what had been done/made. Many of those who worked on 1.10 mods probably didn't have as much desire to update their work to a newer version of an old game, or just flat out didn't care.
Al-T" wrote:A port from one version to another is one thing but you can't call it by the same name surely :?:
Why not?
What you're suggesting (taking someone's work, changing it and releasing it under a different name) is called stealing.


Also, the majority of the plugins (# wise, not effort/size wise) are NOT related to Eastern Sun beyond that Eastern Sun makes use of them.

User avatar
Hans
Dark Alliance Beta Test
Dominion
Posts: 6438
Joined: Sat Oct 02, 2004 5:14 pm
Location: Toronto, Ontario, Canada

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Hans » Tue Aug 03, 2010 12:25 am

I have mixed feelings about the port to 1.12a. I think multires is a cheat due the monsters AI is not designed for higher than 800/600. Ranged Characters will have it easy.

Second 1.12a has the same damage caps as 1.09. ES will encounter damage caps and players will complain that they do no damage.

edit
I forgot to say thanks for taking your time and effort in the mod.

I think you will need permission for the porting of a mod.
"Hi. My name is Hans, and I am addicted to a game that is not yet been made" - Card carrying member of D3 Addictions Anonymous, since June 2008.
Card carrying member of Mentaldom, since May 2006 - Zy-El Hardcore.
"German pornstar/Bee Gee lookalike" & "The Blacksmith"
Trying to picture Hans as a Dominion...nah it isn't working sorry. It's the mustache that gets me every time - Al-T.
"All men play on 127" O-H - Hans
"Okay, time out. This is Zy-El. The mod of total excess. Since when would any Zy-El lover do only what's necessary?" - Metropolis Man
Zy-El Wiki|New Zy-El Website

User avatar
Moonie
Forum Regular
Angel
Posts: 902
Joined: Fri Jul 18, 2008 12:30 am
Location: Germany

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Moonie » Tue Aug 03, 2010 12:51 am

1. Nice work
2. Am I right thinking this basicly makes you play ES without CD and nothing more?
ohai

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Tue Aug 03, 2010 1:05 am

Al-T" wrote:All impressive work but....ask yourselves a question; "is this adding playability/new features to enhance the mod with the modmakers blessing or is it modding someone elses mod without their permission?"

A port from one version to another is one thing but you can't call it by the same name surely :?:
I've only ported the DLLs, and was unimaginative with the names, sorry.

All features remain identical, except for the engine changes from LOD 1.10 to LOD 1.12a, the lack of the launcher (which I admittedly have not tested), and some minor mercmod defaults, which I could be persuaded to change to the old defaults.

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Tue Aug 03, 2010 1:10 am

Hans" wrote:I have mixed feelings about the port to 1.12a. I think multires is a cheat due the monsters AI is not designed for higher than 800/600. Ranged Characters will have it easy.
Yeah, that's certainly a problem, but I play only single player and don't share saves, and I think D2MultiRes looks better than D3D / Glide wrappers :/
Hans" wrote:Second 1.12a has the same damage caps as 1.09. ES will encounter damage caps and players will complain that they do no damage.
If you could provide details, I can probably easily patch them back to 1.10 as well. I don't know the details of the differences between the versions, sadly.
Hans" wrote:I forgot to say thanks for taking your time and effort in the mod.

I think you will need permission for the porting of a mod.
I'm not actually changing anything in ES - only providing new updated DLLs.

User avatar
Stabby_McTwist
Forum Legend
Arch-Angel
Posts: 1784
Joined: Mon May 31, 2004 5:17 pm
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Stabby_McTwist » Tue Aug 03, 2010 1:50 am

Hans" wrote:I think you will need permission for the porting of a mod.
Not to be contrary or start an argument or cause problems with/for anybody or anything like that, but...

I'm pretty sure that Nameless (I hope I have that right) didn't get permission from tsuru (who's been away/missing for a while now) to go ahead with the changes/updates made in the unofficial community patch.
And likewise, I don't think tsuru got permission from Perfect Cell (who's was away/busy at the time) to make the community patches that he and ryo_ohki (sp?) made.

Not saying that makes it OK for everyone to go out and take work and modify it...
But it's pretty clear that this was done with the intention of continuing the natural progression of what the original mod authors either could not, didn't care or refused to do (no offense to any parties meant).
And IMO, that's one of the most important things. The intent.

User avatar
Metropolis Man
Hosted Forum Moderator
Cherub
Posts: 10688
Joined: Fri Mar 10, 2006 3:37 pm
Location: Bloomington, IL

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Metropolis Man » Tue Aug 03, 2010 12:55 pm

zinx, nice work. For what it's worth Al, I don't really have a problem with this. So, despite the fact that I don't know squat about coding or modmaking, I'll give my blessing on this. The thing is — this isn't replacing the default ES mod we've all been downloading at the Database for years. That's not going to change. zinx simply is offering a service to those who choose to play under 1.12. I'm looking at the whole thing very simplistically, maybe too simplistically, but at least on the surface, I don't have issues with it.
That which does not kill us makes us stronger — Friedrich Nietzsche
Eastern Sun DatabaseEastern Sun WikiZy-El Wiki
Carl's Sims 3 Guide

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Tue Aug 03, 2010 5:09 pm

zinx" wrote:If you could provide details, I can probably easily patch them back to 1.10 as well. I don't know the details of the differences between the versions, sadly.
I have located the main multiplication routines used in both Diablo 1.10 and 1.12a.
There are two different ones, and they are identical across versions, but the game uses different variants in different versions.
I repeat, the damage calculation between 1.10 and 1.12a differs.

One is a fixed-point multiply with a scaling factor of 1/128 (7-bit precision),
the other is a fixed-point multiply with a scaling factor of 1/100.

The two different variants are used in different places in 1.10 vs 1.12a.
In particular, at the very least, some of the weapon damage is calculated with the 1/100 variant in version 1.10, while the 1/128 variant is used in 1.12a.

Code: Select all

/* Pseudo-code.  If it's valid C, you got lucky. */

int div128_32(int a) {
	if (a < 0) a += 127;
	return a / 128;
}

int mul_div128(int a, int b) {
	if (a <= 0x1000000) {
		if (b <= 0x10000) {
			/* Full precision 32-bit multiply/divide */
			/* Wraps if log2(a) + log2(b) >= 31 */
			return div128_32(a * b, 128);
		} else if ((b & ~0xf) < 128*16) {
			/* Full precision 64-bit multiply/divide */
			unsigned long long la = a, lb = b;
			return (int) ((la*lb) / 128ULL);
		} else {
			/* Reduced precision of b, 32-bit multiply/divide */
			/* Wraps if log2(a) + log2(b/128) >= 31 */
			b = div128_32(b);
			return a * b;
		}
	} else if ((a & ~0xf) < 128*16) {
		/* Full precision 64-bit multiply/divide */
		unsigned long long la = a, lb = b;
		return (int) ((la*lb) / 128ULL);
	} else {
		/* Reduced precision of a, 32-bit multiply/divide */
		/* Wraps if log2(a/128) + log2(b) >= 31 */
		a = div128_32(a);
		return a * b;
	}

	/* NOT REACHED */
}

int mul_div100_32(int a, int b) {
	/* From compiler optimized code */
	/* 0.32 / 32 = 1/100 */
	const unsigned long long _3point2 = 0x51eb851f; /* 0.32 << 32, rounded up */
	unsigned long long la;

	/* Multiply by b */
	la = (int)(a * b); /* 32-bit multiply */

	/* Multiply by 0.32 */
	la = (la * _3point2) >> 32; /* upper 32-bits of 64-bit multiply */

	a = (int)la; /* truncate */

	/* Divide by 32 and adjust rounding if negative */
	return ((a >> 5) /* shift */ + (a < 0) /* round towards zero */)
}

int div100_32(int a) {
	return mul_div100_32(a, 1);
}

int mul_div100(int a, int b) {
	if (a <= 0x1000000) {
		if (b <= 0x10000) {
			/* Full precision 32-bit multiply/divide */
			return mul_div100_32(a, b);
		} else if ((b & ~0xf) < 100*16) {
			/* Full precision 64-bit multiply/divide */
			unsigned long long la = a, lb = b;
			return (int) ((la*lb) / 100ULL);
		} else {
			/* Reduced precision of b, 32-bit multiply */
			b = div100_32(b);
			return (int)(a * b);
		}
	} else if ((a & ~0xf) < 100*16) {
		/* Full precision 64-bit multiply/divide */
		unsigned long long la = a, lb = b;
		return (int) ((la*lb) / 100ULL);
	} else {
		/* Reduced precision of a, 32-bit multiply */
		a = div100_32(a);
		return (int)(a * b);
	}

	/* NOT REACHED */
}
My initial solution to this may be to simply replace the routines with 64-bit ones that clamp properly.
Why blizzard doesn't do this, I may never know. I very much doubt the performance is that much of an issue.

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Wed Aug 04, 2010 2:43 am

Put a beta damage clamper up (top post) - I can't test it too well myself since none of my characters are that powerful.
Update - fixed a typo in one of the addresses that caused a crash on stat selection :/

User avatar
Nameless
Forum Legend
Power
Posts: 3357
Joined: Tue Feb 14, 2006 6:38 am

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Nameless » Wed Aug 04, 2010 5:21 am

I remember reading somewhere on the forum that 1.10 uses inline code that avoids the rollover, but I haven't been able to find the posts.

Another point is that 1.11 (and later) patches fixed the "Marrowwalk Bug", that is that charges of a skill count as base points for synergy purposes. In ES this is used as a feature, a number of uniques and runewords have charges of an otherwise skill specifically so it can be used for synergy (the Level 40 Meteor (3 Charges) on Protection Circuit come to mind).

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Thu Aug 05, 2010 3:58 am

Nameless" wrote:Another point is that 1.11 (and later) patches fixed the "Marrowwalk Bug", that is that charges of a skill count as base points for synergy purposes. In ES this is used as a feature, a number of uniques and runewords have charges of an otherwise skill specifically so it can be used for synergy (the Level 40 Meteor (3 Charges) on Protection Circuit come to mind).
Thanks! Keep 'em coming.

Updated es300 to include the Marrowwalk bug for 1.12a.

User avatar
Stabby_McTwist
Forum Legend
Arch-Angel
Posts: 1784
Joined: Mon May 31, 2004 5:17 pm
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Stabby_McTwist » Thu Aug 05, 2010 5:44 am

I have a problem loading one of my characters... which made me think to ask, Did you include any of the 27 States fixes?
(ARE there any to include? Or is that all done by the Damage Augmenter?)

User avatar
Necrolis
Site Admin
Throne
Posts: 8918
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Necrolis » Thu Aug 05, 2010 9:45 am

zinx" wrote:
zinx" wrote:One is a fixed-point multiply with a scaling factor of 1/128 (7-bit precision),
the other is a fixed-point multiply with a scaling factor of 1/100.
both have the same calcs, certain things just use different percentage bases(like srcdamage which is 128, where as masteries/percentage stats use 100).

1.10 used 64bit code to do the math to avoid overflows, however, VC6 has a wonderfully tendency to shove in its own pieces of code in certain (64 bit) math calcs, in this case it shoved in _aulrem (64 bit division), which is what that horrible peice of code you posted is. there are also quite a few places where the code is inlined, so they will need to be replaced too. you can also get away with using 32bit code to do all of this, just do division before multiplication if the value is > 2^16
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Thu Aug 05, 2010 2:29 pm

Necrolis" wrote:both have the same calcs, certain things just use different percentage bases(like srcdamage which is 128, where as masteries/percentage stats use 100).

1.10 used 64bit code to do the math to avoid overflows, however, VC6 has a wonderfully tendency to shove in its own pieces of code in certain (64 bit) math calcs, in this case it shoved in _aulrem (64 bit division), which is what that horrible peice of code you posted is. there are also quite a few places where the code is inlined, so they will need to be replaced too. you can also get away with using 32bit code to do all of this, just do division before multiplication if the value is > 2^16
I was actually unable to find any places where it wasn't inlined. The basic code was the same in both versions of LOD, just different scaling factors for the same calculations in some cases.
I replaced all instances in D2Common, D2Game, and D2Client. The main difference between my version and the Blizzard one is the clamping - it will limit the value to MIN_INT...MAX_INT, which are -(2**31) and 2**31 - 1, respectively.

I should note that there are a number of places it does not check for the possibility of overflow, and I have not yet replaced those (and don't even know if it's neccesary) - some are easily noticable, others use lea/s[ha]l/s[ha]r/etc.

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Thu Aug 05, 2010 3:27 pm

Stabby_McTwist" wrote:I have a problem loading one of my characters... which made me think to ask, Did you include any of the 27 States fixes?
(ARE there any to include? Or is that all done by the Damage Augmenter?)
I included all differences between the versions, though I won't say I definitely got all of them right.
If you could toss me the crashing file, it would help me track down the problem, but I understand if you can't.

EDIT: I should note that the most likely culprit is a problem with savesize.dll, especially if the size is >8192 bytes.

EDIT2: Working on the assumption that savesize was broken, I found an extra function to patch. savesize 20100805 includes this change.

User avatar
Stabby_McTwist
Forum Legend
Arch-Angel
Posts: 1784
Joined: Mon May 31, 2004 5:17 pm
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Stabby_McTwist » Thu Aug 05, 2010 5:44 pm

Neither the updated ES300.dll or the new SaveSize.dll solved the problem.
But I did just think of something else that I did ONLY to that character: I changed his name with Nameless' Character Utility.

I'll PM you a link to my character.
Maybe you can figure out why it's not loading.

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Fri Aug 06, 2010 1:11 am

Stabby_McTwist" wrote:Neither the updated ES300.dll or the new SaveSize.dll solved the problem.
But I did just think of something else that I did ONLY to that character: I changed his name with Nameless' Character Utility.

I'll PM you a link to my character.
Maybe you can figure out why it's not loading.
Seems related to the Pandemonium event - it just crashes when the data it expects to exist doesn't.
(new listings in levels.txt, and some other stuff for sure)

EDIT: es300 distro now includes updated levels.txt, lvlmaze.txt, and lvlprest.txt, which you should copy to es300r/data/global/excel/

User avatar
Hans
Dark Alliance Beta Test
Dominion
Posts: 6438
Joined: Sat Oct 02, 2004 5:14 pm
Location: Toronto, Ontario, Canada

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Hans » Fri Aug 06, 2010 1:12 am

I remember reading that tsuru did some tinkering around the character save file to help reduce buffer overflow or some other issues. Tsuru may have also touched one of the plugy files.
"Hi. My name is Hans, and I am addicted to a game that is not yet been made" - Card carrying member of D3 Addictions Anonymous, since June 2008.
Card carrying member of Mentaldom, since May 2006 - Zy-El Hardcore.
"German pornstar/Bee Gee lookalike" & "The Blacksmith"
Trying to picture Hans as a Dominion...nah it isn't working sorry. It's the mustache that gets me every time - Al-T.
"All men play on 127" O-H - Hans
"Okay, time out. This is Zy-El. The mod of total excess. Since when would any Zy-El lover do only what's necessary?" - Metropolis Man
Zy-El Wiki|New Zy-El Website

User avatar
Stabby_McTwist
Forum Legend
Arch-Angel
Posts: 1784
Joined: Mon May 31, 2004 5:17 pm
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Stabby_McTwist » Fri Aug 06, 2010 2:30 am

zinx" wrote:Seems related to the Pandemonium event - it just crashes when the data it expects to exist doesn't.
(new listings in levels.txt, and some other stuff for sure)

EDIT: es300 distro now includes updated levels.txt, lvlmaze.txt, and lvlprest.txt, which you should copy to es300r/data/global/excel/
Awesome. You rock! O-H O-H

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Fri Aug 06, 2010 10:55 am

mercmod would cause the game to crash when entering a new act for the first time if mercmod.mpq was enabled (it is by default, but it is not needed in ES) - fixed the problem in 20100806 (see first post)
EDIT: erk, maybe not. Seems it's not loading since I added the original byte checks, must be colliding with PlugY :P Wait for 20100806-2.
EDIT2: Shouldn't code when I first wake up. Fixed for real this time, in 20100806-2.

User avatar
zinx
Posts: 21
Joined: Mon Aug 02, 2010 3:45 am
Contact:

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by zinx » Fri Aug 20, 2010 7:41 pm

Somehow I missed the patches in the data section of D2Game.dll - I've already patched it locally but I'm not at my normal workstation and so not able to upload the fix at the moment, but I will as soon as I'm able.

Affected quests/drops:
Andariel (first drop)
Hellforge drop
Qual-Kehk quest reward
Anya quest reward

I'll update this post and the first one when I've uploaded the new version.

EDIT: Sorry for the delay. Update posted (20100822).
Last edited by zinx on Sun Aug 22, 2010 10:50 pm, edited 1 time in total.

User avatar
Perfect Cell
Hosted Forum Moderator
Angel
Posts: 832
Joined: Thu May 23, 2002 2:14 am
Location: Vancouver, BC
Contact:
Canada

Re: ES 3.00 R6D ported to Diablo 2 1.12a (PC)

Post by Perfect Cell » Sat Aug 21, 2010 9:08 pm

Wow, nice job on this. I was having a very hard time deciding what to do because I wanted to update ES and make use of MultiRes (and if not, at least use the most current patch of LoD), but didn't want to break compatibility on all the code edits :)
later

Post Reply

Return to “Eastern Sun”