/[LeafOK_CVS]/pvpgn-1.7.4/src/d2cs/d2charfile.h
ViewVC logotype

Contents of /pvpgn-1.7.4/src/d2cs/d2charfile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (vendor branch)
Tue Jun 6 03:41:38 2006 UTC (19 years, 9 months ago) by sysadm
Branch: GNU, MAIN
CVS Tags: pvpgn_1-7-4-0_MIL, arelease, HEAD
Changes since 1.1: +0 -0 lines
Content type: text/x-chdr
no message

1 /*
2 * Copyright (C) 2000,2001 Onlyer (onlyer@263.net)
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 */
18 #ifndef INCLUDED_D2CHARFILE_H
19 #define INCLUDED_D2CHARFILE_H
20
21 /* only used in char convert */
22 #define D2CHARSAVE_VERSION_OFFSET 0x04
23 #define D2CHARSAVE_CHECKSUM_OFFSET 0x0C
24
25 /* used in both save init and convert */
26 #define D2CHARSAVE_STATUS_OFFSET 0x18 /* newbie.save offset or old version */
27 #define D2CHARSAVE_STATUS_OFFSET_109 0x24 /* 1.09 or later version (1.10) */
28
29 /* only used for save init to newbie.save file */
30 #define D2CHARSAVE_CLASS_OFFSET 0x22
31 #define D2CHARSAVE_CHARNAME_OFFSET 0x08
32
33 /* unused */
34 #define D2CHARSAVE_LEVEL_OFFSET 0x24
35
36 #define D2CHAR_MAX_CLASS 0x06
37
38 #define D2CHARINFO_PORTRAIT_PADBYTE 0xff
39 #define D2CHARINFO_PORTRAIT_HEADER 0x8084
40 #define D2CHARINFO_PORTRAIT_MASK 0x80
41
42 #define D2CHARINFO_STATUS_FLAG_INIT 0x01
43 #define D2CHARINFO_STATUS_FLAG_EXPANSION 0x20
44 #define D2CHARINFO_STATUS_FLAG_LADDER 0x40
45 #define D2CHARINFO_STATUS_FLAG_HARDCORE 0x04
46 #define D2CHARINFO_STATUS_FLAG_DEAD 0x08
47
48 #define D2CHARINFO_STATUS_FLAG_INIT_MASK (D2CHARINFO_STATUS_FLAG_INIT | \
49 D2CHARINFO_STATUS_FLAG_EXPANSION| D2CHARINFO_STATUS_FLAG_LADDER |D2CHARINFO_STATUS_FLAG_HARDCORE)
50
51 #include "bit.h"
52
53 #define charstatus_set_init(status,n) BIT_SET_CLR_FLAG(status, D2CHARINFO_STATUS_FLAG_INIT, n)
54 #define charstatus_set_expansion(status,n) BIT_SET_CLR_FLAG(status, D2CHARINFO_STATUS_FLAG_EXPANSION, n)
55 #define charstatus_set_ladder(status,n) BIT_SET_CLR_FLAG(status, D2CHARINFO_STATUS_FLAG_LADDER, n)
56 #define charstatus_set_hardcore(status,n) BIT_SET_CLR_FLAG(status, D2CHARINFO_STATUS_FLAG_HARDCORE, n)
57 #define charstatus_set_dead(status,n) BIT_SET_CLR_FLAG(status, D2CHARINFO_STATUS_FLAG_DEAD, n)
58
59
60 #define charstatus_get_init(status) BIT_TST_FLAG(status, D2CHARINFO_STATUS_FLAG_INIT)
61 #define charstatus_get_expansion(status) BIT_TST_FLAG(status, D2CHARINFO_STATUS_FLAG_EXPANSION)
62 #define charstatus_get_ladder(status) BIT_TST_FLAG(status, D2CHARINFO_STATUS_FLAG_LADDER)
63 #define charstatus_get_hardcore(status) BIT_TST_FLAG(status, D2CHARINFO_STATUS_FLAG_HARDCORE)
64 #define charstatus_get_dead(status) BIT_TST_FLAG(status, D2CHARINFO_STATUS_FLAG_DEAD)
65 #define charstatus_get_difficulty(status) ((( status >> 0x08) & 0x0f )/4) /* number of act = 4 */
66 #define charstatus_get_difficulty_expansion(status) ((( status >> 0x08) & 0x0f )/5) /* number of act = 5 */
67
68
69 #ifndef JUST_NEED_TYPES
70 #include "d2cs_d2gs_character.h"
71
72 extern int d2char_create(char const * account, char const * charname, unsigned char class,
73 unsigned short status);
74 extern int d2char_delete(char const * account, char const * charname);
75 extern int d2char_get_summary(char const * account, char const * charname,t_d2charinfo_summary * charinfo);
76 extern int d2char_get_portrait(char const * account, char const * filename, t_d2charinfo_portrait * portrait);
77 extern int d2char_portrait_init(t_d2charinfo_portrait * portrait);
78 extern int d2charinfo_load(char const * account, char const * charname, t_d2charinfo_file * data);
79 extern int d2charinfo_check(t_d2charinfo_file * data);
80 extern unsigned int d2charinfo_get_expansion(t_d2charinfo_summary const * charinfo);
81 extern unsigned int d2charinfo_get_level(t_d2charinfo_summary const * charinfo);
82 extern unsigned int d2charinfo_get_class(t_d2charinfo_summary const * charinfo);
83 extern unsigned int d2charinfo_get_hardcore(t_d2charinfo_summary const * charinfo);
84 extern unsigned int d2charinfo_get_ladder(t_d2charinfo_summary const * charinfo);
85 extern unsigned int d2charinfo_get_dead(t_d2charinfo_summary const * charinfo);
86 extern unsigned int d2charinfo_get_difficulty(t_d2charinfo_summary const * charinfo);
87 extern int d2char_convert(char const * account, char const * charname);
88 extern int d2char_find(char const * account, char const * charname);
89 extern int d2char_get_savefile_name(char * filename,char const * charname);
90 extern int d2char_get_infofile_name(char * filename,char const * account, char const * charname);
91 extern int d2char_get_bak_savefile_name(char * filename,char const * charname);
92 extern int d2char_get_bak_infofile_name(char * filename,char const * account, char const * charname);
93 extern int d2char_get_infodir_name(char * filename,char const * account);
94 extern int d2char_check_acctname(char const * name);
95 extern int d2char_check_charname(char const * name);
96
97 extern int file_write(char const * filename, void * data, unsigned int size);
98 extern int file_read(char const * filename, void * data, unsigned int * size);
99 #endif
100
101
102 #endif

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1