2013-02-16 16:14:39 -08:00

78 lines
1.1 KiB
C

#ifndef CHAR_FORMAT_H
#define CHAR_FORMAT_H
#include "../common/types.h"
#define CHAR_MAGIC 0xaa77e598
#pragma pack(1)
struct CharHeader {
uint32 char_magic;
//character_ data
char name[64];
float x;
float y;
float z;
char zone_name[32];
uint16 zone_id;
uint32 profile_length;
uint32 extprofile_length;
//faction_values
uint32 faction_value_count;
//inventory
uint32 inventory_count;
//sharedbank
uint32 sharedbank_count;
//quest_globals
uint32 quest_globals_count;
/*
Variable length fields:
byte PlayerProfile[profile_length];
byte ExtendedProfile[extprofile_length];
FactionValueRecord faction_values[faction_value_count];
InventoryEntry inventory[inventory_count];
InventoryEntry sharedbank[sharedbank_count];
QuestGlobalEntry quest_globals[quest_globals_count];
*/
};
struct FactionValueRecord {
sint32 faction_id;
sint32 current_value;
};
struct InventoryEntry {
uint16 slotid;
uint32 itemid;
sint16 charges;
uint32 colors;
uint32 augs[5];
uint8 instnodrop;
};
struct QuestGlobalEntry {
sint32 npcid;
sint32 zoneid;
char name[66];
char value[66];
sint32 expdate;
};
#pragma pack()
#endif