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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Tue Jun 6 03:41:38 2006 UTC (19 years, 9 months ago) by sysadm
Branch point for: GNU, MAIN
Content type: text/x-chdr
Initial revision

1 sysadm 1.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