| 1 |
sysadm |
1.1 |
#define D2CHARFILE_PADBYTE 0xff
|
| 2 |
|
|
|
| 3 |
|
|
typedef struct {
|
| 4 |
|
|
/* Finish copying from bnet_protocol.h/t_d2_char_info */
|
| 5 |
|
|
|
| 6 |
|
|
bn_long experience;
|
| 7 |
|
|
bn_byte reservedxp[30];
|
| 8 |
|
|
bn_long invgold;
|
| 9 |
|
|
bn_long bankgold;
|
| 10 |
|
|
bn_long stashgold;
|
| 11 |
|
|
bn_long reservedgold[8];
|
| 12 |
|
|
bn_byte skilllvls[30];
|
| 13 |
|
|
bn_byte reservedskills[30];
|
| 14 |
|
|
|
| 15 |
|
|
bn_short strength;
|
| 16 |
|
|
bn_short vitaility;
|
| 17 |
|
|
bn_short dexterity;
|
| 18 |
|
|
bn_short energy;
|
| 19 |
|
|
bn_short reservedattr[4];
|
| 20 |
|
|
|
| 21 |
|
|
bn_byte questflags[4]; /* 1 byte/8 bits each act */
|
| 22 |
|
|
bn_byte reservedquestflags[16];
|
| 23 |
|
|
bn_byte waypoints[4][3]; /* 3 bytes/24 bits each act */
|
| 24 |
|
|
bn_byte reservedwaypoints[4][3];
|
| 25 |
|
|
|
| 26 |
|
|
/* stuff like HP, Mana are calculated dynamically... */
|
| 27 |
|
|
|
| 28 |
|
|
bn_byte inventory[80]; /* backpack got 40 spaces, double that to be safe */
|
| 29 |
|
|
bn_byte reservedinv[80]; /* space for expanding */
|
| 30 |
|
|
bn_byte belt[32]; /* largest belt holds 16, double that to be safe */
|
| 31 |
|
|
bn_byte reservedbelt[32]; /* space for expanding */
|
| 32 |
|
|
|
| 33 |
|
|
bn_int deathcount;
|
| 34 |
|
|
|
| 35 |
|
|
bn_byte body1unknownb1; /* For dead body... */
|
| 36 |
|
|
bn_byte body1unknownb2;
|
| 37 |
|
|
bn_byte body1helmgfx;
|
| 38 |
|
|
bn_byte body1bodygfx;
|
| 39 |
|
|
bn_byte body1leggfx;
|
| 40 |
|
|
bn_byte body1lhandweapon;
|
| 41 |
|
|
bn_byte body1lhandgfx;
|
| 42 |
|
|
bn_byte body1rhandweapon;
|
| 43 |
|
|
bn_byte body1rhandgfx;
|
| 44 |
|
|
bn_byte body1unknownb3;
|
| 45 |
|
|
bn_byte body1unknownb4;
|
| 46 |
|
|
bn_byte body1unknownb5;
|
| 47 |
|
|
bn_byte body1unknownb6;
|
| 48 |
|
|
bn_byte body1unknownb7;
|
| 49 |
|
|
bn_byte body1unknownb8;
|
| 50 |
|
|
bn_byte body1unknownb9;
|
| 51 |
|
|
bn_byte body1unknownb10;
|
| 52 |
|
|
bn_byte body1unknownb11;
|
| 53 |
|
|
bn_byte body1inventory[80]; /* backpack got 40 spaces, double that to be safe */
|
| 54 |
|
|
bn_byte body1reservedinv[80]; /* space for expanding */
|
| 55 |
|
|
bn_byte body1belt[32]; /* largest belt holds 16, double that to be safe */
|
| 56 |
|
|
bn_byte body1reservedbelt[32]; /* space for expanding */
|
| 57 |
|
|
|
| 58 |
|
|
bn_byte stashinv[100]; /* Forgot how big the stash is.... */
|
| 59 |
|
|
bn_byte reservedstash[200];
|
| 60 |
|
|
} t_d2char_record;
|
| 61 |
|
|
|
| 62 |
|
|
/* item
|
| 63 |
|
|
description
|
| 64 |
|
|
base type (1 byte)
|
| 65 |
|
|
item quality (unknown size)
|
| 66 |
|
|
Magic (blue name)
|
| 67 |
|
|
modifer level
|
| 68 |
|
|
magic dword 1
|
| 69 |
|
|
magic dword 2
|
| 70 |
|
|
*/
|