[1.13c] Extended Levels (Now with Dlls!)

This forum is for discussions on how to edit what can not be edited through the txt files, needless to say this isn't about battle net hacking.

Moderators: Nefarius, Havvoric

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

Hand-picked

[1.13c] Extended Levels (Now with Dlls!)

Post by Necrolis » Wed Aug 11, 2010 6:28 pm

Update: Got a few more requests to do this, and seeing as I actually had some time, uploaded the edited dll's to this post, my testing was very brief (I just made sure automap files & a few levels loaded, thats it...).

Just replace the dlls with the edited ones, which you can download here.

-----------------------------------------------------------

this is done, and allows up to 255 levels in total, the edits are simple clear but you'll still need some knowledge to apply them.

unfortunatly 1.13c' inline policly wasn't too kind, so the D2GetAct function got inlined in a few places, these places need to instead do this

Code: Select all

PUSH <nLevel>
CALL D2Common.GetAct
INC EAX
JMP <location of the JL of the origional loop>
the code to replace D2Common.#10459(GetAct) with looks like so:

Code: Select all

MOV EAX,DWORD PTR [ESP+4]
CMP EAX,DWORD PTR [6FDF0B34]
JNB BAD_EXIT
IMUL EAX,EAX,0x220
ADD EAX,MOV DWORD PTR [6FDF0B30]
MOVSX EAX,BYTE PTR [EAX+3]
RETN
BAD_EXIT:
XOR EAX,EAX
RETN
now the actual places to edit In D2Common:

Code: Select all

D2Common:
//D2GetAct__inline:(best to rather make these all call D2Common.#10459)
6FD67190                                                 |.  B8 01000000                  MOV EAX,1
6FD67195                                                 |.  57                           PUSH EDI
6FD67196                                                 |>  3B0C85 6846DE6F              /CMP ECX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD6719D                                                 |.  7C 4B                        |JL SHORT D2Common.6FD671EA
6FD6719F                                                 |.  40                           |INC EAX
6FD671A0                                                 |.  83F8 05                      |CMP EAX,5
6FD671A3                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD67196

6FD878D0                                                 |> \B8 01000000                  MOV EAX,1
6FD878D5                                                 |>  3B1C85 6846DE6F              /CMP EBX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD878DC                                                 |.  7C 31                        |JL SHORT D2Common.6FD8790F
6FD878DE                                                 |.  40                           |INC EAX
6FD878DF                                                 |.  83F8 05                      |CMP EAX,5
6FD878E2                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD878D5

6FD87AA0                                                 |> \B8 01000000                  MOV EAX,1
6FD87AA5                                                 |>  3B1C85 6846DE6F              /CMP EBX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD87AAC                                                 |.  7C 31                        |JL SHORT D2Common.6FD87ADF
6FD87AAE                                                 |.  40                           |INC EAX
6FD87AAF                                                 |.  83F8 05                      |CMP EAX,5
6FD87AB2                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD87AA5

6FD87B37                                                 |> \B8 01000000                  MOV EAX,1
6FD87B3C                                                 |.  8D6424 00                    LEA ESP,DWORD PTR SS:[ESP]
6FD87B40                                                 |>  3B1C85 6846DE6F              /CMP EBX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD87B47                                                 |.  7C 45                        |JL SHORT D2Common.6FD87B8E
6FD87B49                                                 |.  40                           |INC EAX
6FD87B4A                                                 |.  83F8 05                      |CMP EAX,5
6FD87B4D                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD87B40

6FD93613                                                 |.  B8 01000000                  MOV EAX,1
6FD93618                                                 |.  EB 06                        JMP SHORT D2Common.6FD93620
6FD9361A                                                 |   8D9B 00000000                LEA EBX,DWORD PTR DS:[EBX]
6FD93620                                                 |>  3B0C85 6846DE6F              /CMP ECX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD93627                                                 |.  7C 4D                        |JL SHORT D2Common.6FD93676
6FD93629                                                 |.  40                           |INC EAX
6FD9362A                                                 |.  83F8 05                      |CMP EAX,5
6FD9362D                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD93620
//D2GetAct:
6FD9A696                                                 |.  B8 01000000                  MOV EAX,1
6FD9A69B                                                 |.  EB 03                        JMP SHORT D2Common.6FD9A6A0
6FD9A69D                                                 |   8D49 00                      LEA ECX,DWORD PTR DS:[ECX]
6FD9A6A0                                                 |>  3B1485 6846DE6F              /CMP EDX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD9A6A7                                                 |.  7C 36                        |JL SHORT D2Common.6FD9A6DF
6FD9A6A9                                                 |.  40                           |INC EAX
6FD9A6AA                                                 |.  83F8 05                      |CMP EAX,5
6FD9A6AD                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD9A6A0

D2Common.#10459 6FD7D2C0                                 /$  8B4C24 04                    MOV ECX,DWORD PTR SS:[ESP+4]
6FD7D2C4                                                 |.  B8 01000000                  MOV EAX,1
6FD7D2C9                                                 |.  8DA424 00000000              LEA ESP,DWORD PTR SS:[ESP]
6FD7D2D0                                                 |>  3B0C85 6846DE6F              /CMP ECX,DWORD PTR DS:[EAX*4+6FDE4668]
6FD7D2D7                                                 |.  7C 0B                        |JL SHORT D2Common.6FD7D2E4
6FD7D2D9                                                 |.  40                           |INC EAX
6FD7D2DA                                                 |.  83F8 05                      |CMP EAX,5
6FD7D2DD                                                 |.^ 7E F1                        \JLE SHORT D2Common.6FD7D2D0
6FD7D2DF                                                 |.  32C0                         XOR AL,AL
6FD7D2E1                                                 |.  C2 0400                      RETN 4
6FD7D2E4                                                 |>  48                           DEC EAX
6FD7D2E5                                                 \.  C2 0400                      RETN 4
The D2Client Edits(what to change to):

Code: Select all

D2Client:
//automap files
6FB10516                                                     81EC A0100000                SUB ESP,10A0
6FB10536                                                     B9 99030000                  MOV ECX,399
6FB1054B                                                     68 00100000                  PUSH 1000
6FB1055B                                                     817C24 0C 00100000           CMP DWORD PTR SS:[ESP+C],1000
6FB10584                                                     68 00100000                  PUSH 1000
6FB10619                                                     68 00100000                  PUSH 1000
//no stack restore, as its done via a stack frame...
6FB11E76                                                     81EC 4C100000                SUB ESP,104C
6FB11EA9                                                     B9 99030000                  MOV ECX,399
6FB11EBA                                                     68 00100000                  PUSH 1000
6FB11ECE                                                     817C24 10 00100000           CMP DWORD PTR SS:[ESP+10],1000
6FB0F2EB                                                     68 00100000                  PUSH 1000
//the above merges about 6 edits into 1
//no stack restore, as its done via a stack frame...
Last edited by Necrolis on Fri Jan 11, 2013 6:17 pm, edited 5 times in total.
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
Yaherl
Posts: 15
Joined: Mon Sep 17, 2007 2:15 am

Re: [1.13c] Extended Levels {WIP}

Post by Yaherl » Fri Apr 01, 2011 2:12 am

can you upload the edited files?

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

Hand-picked

Re: [1.13c] Extended Levels {WIP}

Post by Necrolis » Fri Apr 01, 2011 6:09 am

Yaherl" wrote:can you upload the edited files?
sure, when I get time to make them though
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
Mnw1995
Junior Member
Paladin
Posts: 100
Joined: Sat Apr 02, 2011 6:28 pm

Re: [1.13c] Extended Levels {WIP}

Post by Mnw1995 » Sat Apr 02, 2011 6:33 pm

Yeah, that would be really nice! I don't understand what to do with this, too...

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP}

Post by kidpaddle94 » Sat Apr 02, 2011 7:02 pm

indeed, that would be great.

MRCellSynap
Posts: 7
Joined: Tue Apr 12, 2011 3:40 pm

Re: [1.13c] Extended Levels {WIP}

Post by MRCellSynap » Tue Apr 12, 2011 3:54 pm

this edit, just so I am clear, is to be able to add new locations to the acts, such as the cave level 3 in act 1? or wsk level 4?

if so this would be VERY useful for me and I appreciate the effort for it Necro :D

User avatar
Yaherl
Posts: 15
Joined: Mon Sep 17, 2007 2:15 am

Re: [1.13c] Extended Levels {WIP}

Post by Yaherl » Mon Jun 13, 2011 1:59 am

then this anymore?

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

Hand-picked

Re: [1.13c] Extended Levels {WIP}

Post by Necrolis » Mon Jun 13, 2011 6:30 am

Yaherl" wrote:then this anymore?
everything you need is in the first post, ie: its done, just not tested...
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
kingpin
Senior Admin
Cherub
Posts: 10898
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: [1.13c] Extended Levels {WIP}

Post by kingpin » Mon Jun 13, 2011 12:48 pm

Necrolis" wrote:
Yaherl" wrote:then this anymore?
everything you need is in the first post, ie: its done, just not tested...
I'm sure he is asking for a extended lvl plugin, not everyone can or want ce :)

ps! couldn't see any link in case you already had release a plugin in topic.

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

Hand-picked

Re: [1.13c] Extended Levels {WIP}

Post by Necrolis » Mon Jun 13, 2011 3:25 pm

kingpin" wrote:
Necrolis" wrote:
Yaherl" wrote:then this anymore?
everything you need is in the first post, ie: its done, just not tested...
I'm sure he is asking for a extended lvl plugin, not everyone can or want ce :)

ps! couldn't see any link in case you already had release a plugin in topic.
ah, should probably steal some time off work to do this then, boss shouldn't mind :)
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
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP}

Post by kidpaddle94 » Mon Jun 13, 2011 8:02 pm

I thought you also need to create an extra dll like the 1.10 version.

User avatar
PureRage
Forum Regular
Angel
Posts: 570
Joined: Fri Jan 08, 2010 9:02 am
Location: Newcastle, England
Great Britain

Re: [1.13c] Extended Levels {WIP}

Post by PureRage » Mon Jun 13, 2011 8:21 pm

No, you dont need an extra dll for 1.10 either, its available as a d2mod plugi,n but you can apply the edits manually if you want to.
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as "A bad move".
Douglas Adams

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP}

Post by kidpaddle94 » Mon Jun 13, 2011 8:34 pm

okay I see.

User avatar
Yaherl
Posts: 15
Joined: Mon Sep 17, 2007 2:15 am

Re: [1.13c] Extended Levels {WIP}

Post by Yaherl » Fri Jun 17, 2011 12:29 am

i try to do this but i can't
i don't know much about code editing :S

User avatar
GeorgiaBoy
Junior Member
Champion of the Light
Posts: 316
Joined: Sat Aug 25, 2007 3:24 am

Re: [1.13c] Extended Levels {WIP}

Post by GeorgiaBoy » Wed Oct 12, 2011 3:30 am

Hi Necrolis,

Any word on this? Do you plan on 1.10 as well that allows beyond 255 levels? That may be popular as well...

Thanks,

GB

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

Hand-picked

Re: [1.13c] Extended Levels {WIP}

Post by Necrolis » Wed Oct 12, 2011 5:47 am

GeorgiaBoy" wrote:Hi Necrolis,

Any word on this? Do you plan on 1.10 as well that allows beyond 255 levels? That may be popular as well...

Thanks,

GB
this is not a 1024 level variant, nor do I plan on release that for any version (or any other plugins for that matter)
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
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP}

Post by kidpaddle94 » Wed Oct 12, 2011 2:49 pm

I would like to do it, but I think the only part I can do is the D2Client edits. >.<

User avatar
GeorgiaBoy
Junior Member
Champion of the Light
Posts: 316
Joined: Sat Aug 25, 2007 3:24 am

Re: [1.13c] Extended Levels {WIP}

Post by GeorgiaBoy » Mon Oct 24, 2011 6:15 am

kidpaddle94" wrote:I would like to do it, but I think the only part I can do is the D2Client edits. >.<
1024 levels (patch 1.10f) single player? Cool.

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

Hand-picked

Re: [1.13c] Extended Levels {WIP} (Now with Dlls!)

Post by Necrolis » Sun Dec 02, 2012 4:06 pm

And now edit bumping isn't working (or it only applies to the last post...).
I've added dll's now, see the first post, please test and give feedback (no feedback means no bug fixes).
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
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP} (Now with Dlls!)

Post by kidpaddle94 » Sun Dec 02, 2012 6:48 pm

Necrolis" wrote:And now edit bumping isn't working (or it only applies to the last post...).
I've added dll's now, see the first post, please test and give feedback (no feedback means no bug fixes).
I will be able to test it Monday, if someone didn't already did.

And thanks

User avatar
kingpin
Senior Admin
Cherub
Posts: 10898
Joined: Sat Jan 11, 2003 12:51 pm
Contact:
Sweden

Hand-picked

Re: [1.13c] Extended Levels {WIP}

Post by kingpin » Mon Dec 03, 2012 3:58 pm

GeorgiaBoy" wrote:
kidpaddle94" wrote:I would like to do it, but I think the only part I can do is the D2Client edits. >.<
1024 levels (patch 1.10f) single player? Cool.
You can change the constant to allow 1024 levels, that not issue with extend levels past 255. The problem is some unit like objects is using a BYTE to store ID with. that limits the level to 255 as you wont be able to use town portals e.tc past 255 without recode this too.

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP} (Now with Dlls!)

Post by kidpaddle94 » Tue Dec 04, 2012 12:28 am

Okay, so far I tested on a clean 1.13c copy. No crashes. The waypoint page is also working well (That's a problem I got when I tried to port exteneded levels edits to 1.13c)

Will take more time to test if newly added levels work, because I've never added new levels yet. Will have to review what needs to be done and so on.
Unless someone can provide some basic level that could be implemented easily from their 1.10 mod

User avatar
MarcoNecroX
Junior Member
Paladin
Posts: 179
Joined: Sun Apr 22, 2012 10:55 pm

Re: [1.13c] Extended Levels {WIP} (Now with Dlls!)

Post by MarcoNecroX » Thu Dec 06, 2012 3:00 am

can't download :( mirror anyone?

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Extended Levels {WIP} (Now with Dlls!)

Post by kidpaddle94 » Thu Dec 06, 2012 3:42 am

Uhmm, the link still works for me. Though Gamefront removes files if they don't get enough downloads a month, so if you don't mind Necrolis, I've uploaded a mirror on my dropbox:
http://dl.dropbox.com/u/74099577/Diablo ... Levels.zip

I have yet to try to add a new level to see if it works good.

User avatar
MarcoNecroX
Junior Member
Paladin
Posts: 179
Joined: Sun Apr 22, 2012 10:55 pm

Re: [1.13c] Extended Levels {WIP} (Now with Dlls!)

Post by MarcoNecroX » Thu Dec 06, 2012 4:06 am

thanks

sadly, I'm getting error 798 , same error that I'd normally get without the dlls. i just used a preset level I already had and modified values to match . not sure what went wrong

Post Reply

Return to “Code Editing”