Diablo 2 mods
 


Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Sat Oct 05, 2013 7:49 pm 
 Post subject: [1.10] Uniqueitems.txt file limit
 
Offline
Hosted Forum Moderator
Hosted Forum Moderator
User avatar

Age: 30
Joined: Fri Oct 08, 2010 10:55 am
Posts: 1090
Gender: Male
Hello all,

In this topic, it is said that the current row limit for uniqueitems.txt is 4096. It is also said that it should be easy to expand. Doses someone already tried to expand it, or know where and what I should do to increase this limit, to, say, 16384 ? (4x higher)

Thanks for any answer.

Edit : none know how to do this ?

Edit 2 : Bumping this again, just in case :)


Top
 Profile  
Reply with quote  
PostPosted: Sun Oct 06, 2013 9:49 am 
 Post subject: Re: [1.10] Uniqueitems.txt file limit
 
Offline
Senior Moderator
Senior Moderator
User avatar

Age: 26
Joined: Sat Mar 25, 2006 1:22 pm
Posts: 8809
Location: The Land of the Dead
Gender: Male
IIRC the limit extends from the savebits used to store the unique item index (12 of the top of my head), expanding it requires changing the constants in the save read/write code and the item sync code.

_________________
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


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 07, 2013 7:21 pm 
 Post subject: Re: [1.10] Uniqueitems.txt file limit
 
Offline
Hosted Forum Moderator
Hosted Forum Moderator
User avatar

Age: 30
Joined: Fri Oct 08, 2010 10:55 am
Posts: 1090
Gender: Male
Ty for answer.

I will see if I really need to increase it or not.


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 19, 2014 5:29 pm 
 Post subject: Re: [1.10] Uniqueitems.txt file limit
 
Offline
Angel
User avatar

Age: 30
Joined: Sun Sep 09, 2007 3:11 am
Posts: 580
Location: Arizona, Prescott
Gender: None specified
I'm also looking for an answer to this. I am working on a small project and would be interested to see if anyone has a solution for the limits on UniqueItems.txt. No luck finding a d2mod plugin to expand file limits :(

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 14, 2015 1:35 pm 
 Post subject: Re: [1.10] Uniqueitems.txt file limit
 
Offline
Principality
User avatar

Age: 23
Joined: Thu Aug 13, 2009 2:54 pm
Posts: 2044
Location: localhost
Gender: Male
This is what I found that needs to be changed so far. Don't know if there's more. These edits will allow up to 32,767 unique items records.

This is on version 1.13c, but these should be easy to find on any 1.10+ version. It is also to note some of these also control set items limit, which apparently also is limited to 4096 records. (but why not getting rid of it at the same time, right??)

D2Common Base @0x6FD50000
6FD778BD  |>  57            PUSH EDI
6FD778BE  |.  E8 7DADFFFF   CALL <D2Common.GetItemFileIndex>         ;  D2Common.#10620
6FD778C3  |.  85C0          TEST EAX,EAX
6FD778C5  |.  7D 1F         JGE SHORT D2Common.6FD778E6
6FD778C7  |.  B8 FF0F0000   MOV EAX,0FFF                             ;  change to 0x7FFF
6FD778CC  |>  3D FF0F0000   CMP EAX,0FFF                             ;  change to 0x7FFF
6FD778D1  |.  7C 05         JL SHORT D2Common.6FD778D8
6FD778D3  |.  B8 FF0F0000   MOV EAX,0FFF                             ;  change to 0x7FFF
6FD778D8      6A 0C         PUSH 0C                                  ;  12 bits (change to 15)
6FD778DA  |.  50            PUSH EAX
6FD778DB  |.  56            PUSH ESI
6FD778DC  |.  E8 E319FEFF   CALL <JMP.&Fog.#10128>
6FD778E1  |.  E9 5D010000   JMP D2Common.6FD77A43
6FD778E6  |>^ 7F E4         JG SHORT D2Common.6FD778CC
6FD778E8  |.  6A 0C         PUSH 0C                                  ;  12 bits (change to 15)
6FD778EA  |.  33C0          XOR EAX,EAX
6FD778EC  |.  50            PUSH EAX
6FD778ED  |.  56            PUSH ESI
6FD778EE  |.  E8 D119FEFF   CALL <JMP.&Fog.#10128>


6FD7AB2F  |.  56            PUSH ESI
6FD7AB30  |.  E8 AB8DFFFF   CALL <D2Common.GetItemFlags>             ;  D2Common.#10838
6FD7AB35  |.  A8 10         TEST AL,10
6FD7AB37  |.  0F84 87000000 JE D2Common.6FD7ABC4
6FD7AB3D      6A 0C         PUSH 0C                                  ;  12 bits (change to 15)
6FD7AB3F  |.  57            PUSH EDI
6FD7AB40  |.  E8 85E7FDFF   CALL <JMP.&Fog.#10130>


6FD7AB6E  |.  56            PUSH ESI
6FD7AB6F  |.  E8 6C8DFFFF   CALL <D2Common.GetItemFlags>             ;  D2Common.#10838
6FD7AB74  |.  A8 10         TEST AL,10
6FD7AB76  |.  74 4C         JE SHORT D2Common.6FD7ABC4
6FD7AB78  |>  837C24 4C 5C  CMP DWORD PTR SS:[ESP+4C],5C
6FD7AB7D  |.  6A 0C         PUSH 0C                            ;  12 bits (change to 15)
6FD7AB7F  |.  57            PUSH EDI
6FD7AB80  |.  77 72         JA SHORT D2Common.6FD7ABF4
6FD7AB82  |.  E8 43E7FDFF   CALL <JMP.&Fog.#10130>                   


That's the savefile stuff Necrolis mentioned (these will corrupt your savefiles, be warned), although there is more to do... The pGame data holding nolimit flags can only hold up to 4096 flags. Personally I didn't need to expand this (or to use it at all actually) and just replaced all code using it in order to get rid of it. If you don't want to do this, you will have to expand the allocated data for this.

The functions using this data are also usually full of (if nIndex > 4095) checks, so you will need to change all of these as well.
Either way, here goes all places where this data is used. D2Game base @0x6FC20000
6FC2E266   MOV EAX,DWORD PTR DS:[EAX+EDX*4+1B24]
6FC2E83E   MOV ECX,DWORD PTR DS:[EDI+ECX*4+1B24]
6FC2EE49   MOV ECX,DWORD PTR DS:[EDI+EAX*4+1B24]
6FC2EE50   LEA EAX,DWORD PTR DS:[EDI+EAX*4+1B24]
6FC4C388   LEA EDI,DWORD PTR DS:[EBX+1B24]
6FC4C670   LEA EDI,DWORD PTR DS:[ESI+1B24]
6FC9264F   MOV ECX,DWORD PTR DS:[EAX+ECX*4+1B24]
6FC927B9   LEA ESI,DWORD PTR DS:[ESI+EDX*4+1B24]

_________________
1.13c Code Edits Compilation | 1.13c Function Tables
D2Template | Median XL: Sigma


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 15, 2017 7:32 am 
 Post subject: Re: [1.10] Uniqueitems.txt file limit
 
Offline
Crusader

Joined: Sat Feb 28, 2015 4:20 am
Posts: 53
Gender: None specified
kidpaddle94 wrote:
This is what I found that needs to be changed so far. Don't know if there's more. These edits will allow up to 32,767 unique items records.

This is on version 1.13c, but these should be easy to find on any 1.10+ version. It is also to note some of these also control set items limit, which apparently also is limited to 4096 records. (but why not getting rid of it at the same time, right??)

D2Common Base @0x6FD50000
6FD778BD  |>  57            PUSH EDI
6FD778BE  |.  E8 7DADFFFF   CALL <D2Common.GetItemFileIndex>         ;  D2Common.#10620
6FD778C3  |.  85C0          TEST EAX,EAX
6FD778C5  |.  7D 1F         JGE SHORT D2Common.6FD778E6
6FD778C7  |.  B8 FF0F0000   MOV EAX,0FFF                             ;  change to 0x7FFF
6FD778CC  |>  3D FF0F0000   CMP EAX,0FFF                             ;  change to 0x7FFF
6FD778D1  |.  7C 05         JL SHORT D2Common.6FD778D8
6FD778D3  |.  B8 FF0F0000   MOV EAX,0FFF                             ;  change to 0x7FFF
6FD778D8      6A 0C         PUSH 0C                                  ;  12 bits (change to 15)
6FD778DA  |.  50            PUSH EAX
6FD778DB  |.  56            PUSH ESI
6FD778DC  |.  E8 E319FEFF   CALL <JMP.&Fog.#10128>
6FD778E1  |.  E9 5D010000   JMP D2Common.6FD77A43
6FD778E6  |>^ 7F E4         JG SHORT D2Common.6FD778CC
6FD778E8  |.  6A 0C         PUSH 0C                                  ;  12 bits (change to 15)
6FD778EA  |.  33C0          XOR EAX,EAX
6FD778EC  |.  50            PUSH EAX
6FD778ED  |.  56            PUSH ESI
6FD778EE  |.  E8 D119FEFF   CALL <JMP.&Fog.#10128>


6FD7AB2F  |.  56            PUSH ESI
6FD7AB30  |.  E8 AB8DFFFF   CALL <D2Common.GetItemFlags>             ;  D2Common.#10838
6FD7AB35  |.  A8 10         TEST AL,10
6FD7AB37  |.  0F84 87000000 JE D2Common.6FD7ABC4
6FD7AB3D      6A 0C         PUSH 0C                                  ;  12 bits (change to 15)
6FD7AB3F  |.  57            PUSH EDI
6FD7AB40  |.  E8 85E7FDFF   CALL <JMP.&Fog.#10130>


6FD7AB6E  |.  56            PUSH ESI
6FD7AB6F  |.  E8 6C8DFFFF   CALL <D2Common.GetItemFlags>             ;  D2Common.#10838
6FD7AB74  |.  A8 10         TEST AL,10
6FD7AB76  |.  74 4C         JE SHORT D2Common.6FD7ABC4
6FD7AB78  |>  837C24 4C 5C  CMP DWORD PTR SS:[ESP+4C],5C
6FD7AB7D  |.  6A 0C         PUSH 0C                            ;  12 bits (change to 15)
6FD7AB7F  |.  57            PUSH EDI
6FD7AB80  |.  77 72         JA SHORT D2Common.6FD7ABF4
6FD7AB82  |.  E8 43E7FDFF   CALL <JMP.&Fog.#10130>                   


That's the savefile stuff Necrolis mentioned (these will corrupt your savefiles, be warned), although there is more to do... The pGame data holding nolimit flags can only hold up to 4096 flags. Personally I didn't need to expand this (or to use it at all actually) and just replaced all code using it in order to get rid of it. If you don't want to do this, you will have to expand the allocated data for this.

The functions using this data are also usually full of (if nIndex > 4095) checks, so you will need to change all of these as well.
Either way, here goes all places where this data is used. D2Game base @0x6FC20000
6FC2E266   MOV EAX,DWORD PTR DS:[EAX+EDX*4+1B24]
6FC2E83E   MOV ECX,DWORD PTR DS:[EDI+ECX*4+1B24]
6FC2EE49   MOV ECX,DWORD PTR DS:[EDI+EAX*4+1B24]
6FC2EE50   LEA EAX,DWORD PTR DS:[EDI+EAX*4+1B24]
6FC4C388   LEA EDI,DWORD PTR DS:[EBX+1B24]
6FC4C670   LEA EDI,DWORD PTR DS:[ESI+1B24]
6FC9264F   MOV ECX,DWORD PTR DS:[EAX+ECX*4+1B24]
6FC927B9   LEA ESI,DWORD PTR DS:[ESI+EDX*4+1B24]

======================================================
I found the codes in d2game.dll,but it's hard to find in d2common.dll.Some codes is diffirent.
Could you tell me how to find this?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Black Rock template by onyx (based on BlackSoul for phpBB2)