D2edit is a saved game editor for Diablo II.

D2edit has absolutely no association with and is not endorsed by
Blizzard entertainment, however most of the images in the image
packs are copyrighted by Blizzard entertainment.

As with any editor your should back up your saved character
files before modifying them, in case the game rejects the changes.

Diablo II has a nasty way of turning you into a newbie if it
notices certain inconsistencies in your character file.  Very 
important example:  The name you enter for your character in
the editor must match the name of the file itself (except for
the .d2s).

CHANGES IN VERSION 2.4.2

* Rearranged character stat editing form a bit.  It now fits in 640x480.

* Fixed bug from 2.4/2.4.1 where initial settings of directories/1x1
  were getting lost.  It seems FormCreate events now occur before the
  constructor.  How bizarre.

CHANGES IN VERSION 2.4.1

* Updated layout of the item editor so it once again fits in 800x600

* Turned the gridlines between cells back on.  They were off in 2.4
  because it causes a little flicker when the imags are drawn over them,
  but as has been pointed out they help to see where items will fit.

* Turned off automatic hotkeys on the recent items menu that were causing
  &'s to be inserted in the paths when trying to load recent files.

CHANGES IN VERSION 2.4

* Added item image support!!

  Thanks to BYOBodyBag for all your hard work creating the item
  screenshots.

  Images will not be included in the standard d2edit archive.  Instead,
  you can separately download an image pack containing an imagelist.txt
  file and associated jpegs.  This way you can opt to have 361 separate
  images for each item type, or conserve memory by having one image for
  all armor, one for all helms, etc.

  The file imagelist.txt controls what
  images are used for each item type.  The format on each line is
  as follows:

	item name:type id:item size;item path

  item name and item size are for human reading when creating image sets.
  item size is actually optional
  type id can be either in hex (preceded with 0x) or in decimal, and is
    what is actually used to match up each line with an item type
  item path can be either a relative or an absolute path.  Note that the
    path is preceded with a semicolon (if its present), while the other
    field delimeters are colons.  

  any item types not in the list or with missing/invalid paths will
  display as they did in d2edit 2.3.
  
  a yellow grid is displayed over the selected item if it has an image,
  and a red grid is displayed over any overlapping items with images.

  Currently the only image type supported is JPEG, with either a .jpg
  or .jpeg extension.

* Changed the layout of the equipped items slightly so images had as
  much space as in the inventory and stash.

* Added Color Scheme to the options menu.  Set what colors are used
  for everything in the editing windows except the buttons.

* Removed 6 items from the Unique Items menu that are quest items.
  These have their own base item types and should be created as normal
  items (anything with those base types will automatically be unique).
  Quest items created and explicitly flagged as unique crash D2, but
  most of them can be made as rare or magic versions with prefix & suffix.

* Annoying scroll bars which were appearing in Win98 have been disabled.

* Upgraded to C++ Builder 5.0.  This made the .exe a bit bigger, but
  made it easier to add images.

* Fixed bug where ears loaded from saved item files would import
  improperly


CHANGES IN VERSION 2.3.2

* Fixed error when trying to save in the item editor under some
  conditions

* New option to automatically detect savefile changes and reload.

CHANGES IN VERSION 2.3.1

* corrected bug when socketed gem type would change immediately after creation

CHANGES IN VERSION 2.3

* New option "Check for new version" will automatically download,
  install, and run the latest d2edit if a new one is available.  Thanks
  Dr. Skull and the Cheatlist crew for testing this.

* If an item is loaded or saved with the .d2i extension, it will use the
  same format as Damien Legros editor.

* HEALTH AND MANA:  These are limited to 8.3 million in this version.  If you
  went too far above that, the game would treat it as negative anyway.  Also,
  some things about Diablo 1.03:
  
  The bit masking of displayed current health/mana on the globes is changed.
  there are more values that look low now, but your health/mana isn't *really*
  that low (usually).  Thing is, sometimes it is after just editing it from 
  +HP or +MANA items, especially the first time playing a char in 1.03.  If you
  want to be sure your health is full, visit one of the healing NPCs (Akara,
  Fara, etc), BUT use a rejuv (not-full) potion or 2 first.  Version 1.03 of 
  Diablo II will crash if you are almost dead and heal over 32K HP/mana in
  one shot.  After you visit them, your HP and MANA are FULL even if they don't look it.
  What will happen when you take damage is you'll see your HP go to 0 and wrap around
  to 32767.

* Field exit event is triggered to make sure the field you are currently editing gets
  saved in the item editing window.

* 2nd magic dword input is limited to 8 chars so you don't get the not a valid
  integer message by typing too long a hex string

* new icon when going over the link in the about box (thanks Dr. Skull).

* insert and delete keys will add new potions or remove items in the item editor

CHANGES IN VERSION 2.2

* d2s files created with corpses are now read properly, and you can store
  up to 15 extra items on a corpse.  CAUTION:  If you die while you have 
  a corpse, no new corpse is produced, so you can lose stuff.  Thanks
  Coyote99 and Dragonslayer for pointing out the problem with corpses before.

* An attempt is made to filter out real health and max mana values when
  those fields have stuff in the high bytes from +hp or +mana items

* new item editing field: "Modifier level restriction".  This is the highest
  level that any prefix/suffix that comes up on the item will require. (Also
  applies to rares).  The really good prefixes/suffixes generally require a
  kinda high level of course.  The new potion button now has a default modifier
  level of 99 on items created from the potion (and totally random magic bytes).

* magic prefix/suffix/defense/etc. controlling bytes are now editable,
  in hex as 2 DWORDs.  The one on the left generally changes defense/damage
  + other stats for an item within a small range based on item type, prefix,
  and suffix.  The one on the right changes the prefix and suffix, or both
  prefixes for rare items.

* Flicker when changing the selection should be practically gone.

* It is no longer possible to select the 5th row of the inventory, stash, 
  or H-cube.  This is because the way locations are stored in the items, this
  is indistinguishable from the first row, so it makes no sense.  These bottom
  rows are still displayed red if anything runs into them, to tell you there
  is a problem if you're not using a 1x1 MOD.

CHANGES IN VERSION 2.1

* Gems in items are now editable.  Be careful with this.  If you give an
  item more gems than its item type has sockets Diablo will usually crash.

* The "New" file option has finally been implemented.  The new char
  created gets its stats from newbie.d2s in the same directory as the 
  d2edit executable.

* New button in item editor to create a full rejuv potion in the selected
  slot with random magic bytes (change it from full rejuv to whatever).

* If you make any changes, the program will now prompt you to save before
  exiting or closing a char editing window.

* 10 most recently opened D2S files are remembered on the file menu.

* version number in about box reflects program version :)

Thanks to coyote99, drskull, and all the folks at cheatlist who helped test this.

CHANGES IN VERSION 2.0

* Gemmed items can now be copied/removed/etc.  Thanks to Coyote99 for telling
	me how to read them properly.  

* Windows clipboard now used for inter application item transfer.
	The clipboard format used by d2edit should be posted on the site soon.

* The option to make all items 1x1 is now a menu that can be toggled on
  the fly rather than a checkbox that you click before opening the editor.
  You can now have items overlap or go out the sides, and they will appear
	in red to warn you of the problem.  Automatically changing options to
  prevent overlap triggered many of the previous bugs.  These should be
  gone now (crosses fingers...).

* Last load/save paths saved in registry.  If there are no registry
  values where you last opened a d2s and ite file, the Diablo II savegame
  directory is used.

* Tab order is now much saner.

* A warning message now pops up if current life or max mana looks wrong
  when a new file is loaded, as the life/mana values can be stored wierd
  when you are wearing +mana or +life gear or have an active curse.

* Constructor made inline to get around compiler bug.


* hardcore flag and hardcore char resurrect now supported

* There is a title select if you use hell difficulty:
			Lord/Lady/Duke/Duchess or Baron/Baroness/King/Queen 
				(depends on hardcore setting and gender)

* new button to complete all quests in the current difficulty.  Well almost
	all.  It leaves the cow level open.

* Many bugfixes (1.3.x sucked, sorry :( )


CHANGES IN VERSION 1.3.2:

* Corrected many base type assignments for unique items

CHANGES IN VERSION 1.3.1:

* Fixed major crashing bug when changing an item's type or loading over
  an existing item.  Thanks to all the folks in #cheatlist

CHANGES IN VERSION 1.3:

* Magic flag, set flag, etc. have been replaced by item quality menu.
  There are 8 choices, Cracked/Damaged/Normal/Superior/Magic/Set/Rare/Unique
  Thanks to several people who have pointed out how this generally works, 
  most notably Dr. Skull and Pyrolisk.  Cracked may be listed as Crude or
  some other adjective.

* If the item is a set item, there is a menu to select which set.  All items
  in the set must have the proper identifier there to get bonuses for having
  the whole set.  Thanks Dr. Skull for pointing out where this is.

* There is now a menu of *all* unique items in the game, to transform any
  item to a specified unique.

* Ears and their locations are now properly recognized.  The name on the
  ear will be the default item description.  Thanks zer0 for sending
  a sample. :)

* Fixed bug where editing dexterity would affect vitality

* Life and Mana values are now just 3 bytes (up to 16777815).  There was a
  problem where occasionally some info was stored in the high byte of these
  values, making them look wierd.  Thanks NightRider for a sample of this.

* Skeleton key was missing from base item type list, which was making other
  types 1 off (until the next "Unknown").  Several people reported errors
  that could be related to this.

* Khalim's Will and Blade of the Old Religion were swapped in the quest list
  This has been fixed.  Thanks Robert Hentschke for pointing this out.

* Major internal code cleanup.  As different features were added, code to
  check whether an item fits in a spot and to place it in a spot was
  duplicated in several places.  In the process, v1.3 almost got smaller
  than 1.2.  This should make the change a lot easier if we successfully
  get inventory size expanded.  Hopefully I didn't break anything in the
  cleanup process.


CHANGES IN VERSION 1.2:

* In order to maintain compatibility with some of the mods that are 
  appearing, there is now an Ignore item sizes checkbox.  This makes 
  the editor ignore item sizes and treat everything as 1x1 again.
  It must be checked before you click Edit Items if you have stuff
  overlapping in inventory. (no auto-detection yet).  It will be 
  awhile before larger inventory/stash/cube/belt areas are supported,
  actually from my testing so far, the game crashes from attempts
  to mod that.

* Max skills button and Set all waypoints button (saves time, we all
  know how you're gonna set it. :)

* Exp table has been extracted and level and experience will now 
  automatically match each other in the editor, thanks for the extracter
  link Aserin

* Newbie item checkbox in editor lets you repair for 1gp (thanks Pyrolisk).

* Quantity field is larger than 8 bits (thanks again Pyrolisk), you 
  can now enter quantities up to over 524,000 for any stackable item 
  including tomes of town portal

* Checkboxes to flip 2 other bits in the magic flag byte added.
  When used along with the magic bit, they can affect whether an item
  becomes rare or unique (not usually though). ALSO, any items that
  are in the same set should have the flags set the same, or the set
  bonuses won't work. When making set items, use a real item from the
  set to determine what the setting should be.

CHANGES IN VERSION 1.1.1:

* fixed type list in open dialog so both *.item and *.ite are shown

CHANGES IN VERSION 1.1:

* "Magic" checkbox in item editor -- flags an item as magical, either with
	a prefix/suffix (blue name) or as a unique item, depending on a
	seemingly random 8 bytes towards the end of the item record

* "Set item" checkbox -- if there is a set item in game with the same base
	item type, item will become that set item.  Thanks to -Geldon- for pointing
	out the set item flag.

* All item sizes are now known, so the editor will display all squares used
	by an item and prevent you from making them overlap

* The last 2 act 4 quests are flagged now as completed when the Cow Level
	Button is hit, as well as setting all	the status flags of the Search for Cain
	quest.

* The selection should show more reliably after operations that change it like
	loading a new item.

* Cut, Copy and Paste buttons and menus now work in the item editor.  You can
	now dupe items on your char without saving them to files first.  The clipboard
	where the items go is application local, not the windows clipboard yet.

* The selected item as it would appear in a hex editor is shown at the bottom
  of the window.

* Default item file extension is changed to *.ite to be 3 chars, as suggested
	by Night Rider.  Both *.item and *.ite files will be loaded.
  (They are actually the same thing).

CHANGES IN VERSION 1.0:

* ITEM BASIC TYPES NOW KNOWN AND CHANGABLE!  You can take any magical
  or non-magical piece of quilted armor and turn it into Ornate Plate
  with the same suffix/prefix for instance.

* many cosmetic issues fixed in the item editor.

* Major bug with selecting equipped items fixed.

* added thick border around selected item slot

ALWAYS back up before changing your items.  Item editing is at a
very early stage, and there are lots of ways for the game to
reject your item list.  The editor still does NOT yet know how many
inventory squares your items occupy, so you have to figure that
out yourself.  If you have items overlapping or out the bottom
or right sides of your inventory/stash/cube, the game will reject
it and turn you into a newbie.  Item locations displayed in the
editor are based on the upper left corner of each item.

It was pretty tedious to put the item list together, and a list of item
sizes would be really useful but just as tedious to compile.  If someone
can put together a list of # of rows/columns for each item type, that
would be great to add in.

Comments, suggestions, or information on the item record format
can be sent to ugli33@hotmail.com.

Send all spam to /dev/null.