Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
"d2.ini"
#1
Hello Blizzsector!

This is my first contribution here, I hope people can find some use in it. I've searched around on Google first to make sure nothing like this has ever been posted, but I can't find any active sites or links to this specific information.

With the announcement of Diablo 3, I've decided to start some reverse engineering on Diablo 2 to get ready for Diablo 3. Reverse engineering games is nothing new for me, I've been working on it for almost the past 2 years. However, I've never ventured into Starcraft or Diablo 2 before now.

What I have here is a undocumented ini file that "game.exe" will load and use. What I've done is create the file based on what the game.exe API functions call and left the entries blank ready to be filled out and experimented with. You can use this for an easier Windowed mode without having to use the command line arguments; it works great!

Some of the fields are no-trainers and the effects can easily be seen. Others are more complicated and don't appear to "work", but I'm sure it is just a matter of figuring out the context for those flags.

Using it is very easy:

1. Copy this file into the "destination directory"*.
2. Run Diablo 2
3. Modify the file as needed and repeat step 2.

*To get the "destination directory" simply take the first two folders from the path where you are going to run Diablo 2 from and put the file in the second folder. For example you would make a d2.ini file in the following folders if you had the specified path:

"C:\Program Files\Diablo II"-> "C:\Program Files\"
"C:\Program Files\_Games\Diablo II" -> "C:\Program Files\"
"H:\H\Games\Diablo II" -> "H:\H\"
"Drive:\Root Dir\Sub Dir\..." -> "Drive:\Root Dir\"

I'm sure some people will have trouble understanding this so if you do, post your path and I'm sure myself or someone else will help you out. I use windowmode to test to see if the file is being loaded or not.

Here is the file itself to use.

Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; d2.ini
;
; By: pushedx
;
; This is a file that I just discovered when I started to reverse Diablo 2.
; If you are going to repost / use on your site, please give credit where credit is due!
; I don't care what you do with it. The ini is broken down into two sections, key/data
; pairs of Integers and Strings.
;
; Some things are obvious and work really easily, like window, nosound, SEED, but others
; will just take trial and error to see if they can be used and how.
;
; "Seed" is the ID that identifies your game. If you have the same seed in Single Player, you
; will always get the same map as you last had. If you change it, you will get a different
; map layout.
;
; If you find what others mean I encourage everyone to share :)
;
; To use:
;    Using it is very easy:
;    1. Copy this file into the "destination directory"*.
;    2.  Run Diablo 2
;    3. Modify the file as needed and repeat step 2.
;
; *To get the "destination directory" simply take the first two folders from
;  the path where you are going to run Diablo 2 from and put the file in the
;  second folder. For example you would make a d2.ini file in the following
;  folders if you had the specified path:
;
;  "C:\Program Files\Diablo II" -> "C:\Program Files\"
;  "C:\Program Files\_Games\Diablo II" -> "C:\Program Files\"
; "H:\H\Games\Diablo II" -> "H:\H\"
; "Drive:\Root Dir\Sub Dir\..." -> "Drive:\Root Dir\"
;
; Have fun!
;
; - pushedx
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;
; Int Values ;
;;;;;;;;;;;;;;

[VIDEO]
WINDOW=1
3DFX=
OPENGL=
D3D=
RAVE=
PERSPECTIVE=
QUALITY=
GAMMA=
VSYNC=
FRAMERATE=

[NETWORK]
GAMETYPE=
ARENA=
JOINID=

[CHARACTER]
AMAZON=
PALADIN=
SORCERESS=
NECROMANCER=
BARBARIAN=
INVINCIBLE=
CTEMP=

[MONSTER]
NOMONSTERS=
MONSTERCLASS=
MONSTERINFO=
MONSTERDEBUG=

[ITEM]
RARE=
UNIQUE=

[INTERFACE]
ACT=

[DEBUG]
LOG=
MSGLOG=
SAFEMODE=
NOSAVE=
SEED=
CHEATS=
TEEN=
NOSOUND=
QuEsTs=

[NETWORK]
NOPK=
COMINT=
SKIPTOBNET=
OPENC=

[FILEIO]
NOPREDLOAD=
DIRECT=
LOWEND=
NOCOMPRESS=

[TXT]
TXT=

[BUILD]
BUILD=

;;;;;;;;;;;;;;;;;
; String Values ;
;;;;;;;;;;;;;;;;;

[NETWORK]
SERVERIP=
GAMENAME=
BATTLENETIP=
MCPIP=

[CHARACTER]
NAME=
REALM=
Well, this is just the start, I hope to have more later on! Enjoy Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)