summaryrefslogtreecommitdiffstats
path: root/include/fpg.h
blob: 57ae46c3bfd6a3c39aa3225ae6b1e896f7d1ef52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137


#define STRLEN   80             /* Length of most string data */
#define BTLEN    48             /* Length of board title */
#define FTTLEN    72             /* Length of title */
#define NAMELEN  40             /* Length of username/realname */
#define FNLEN    33             /* Length of filename  */
#define IDLEN    12             /* Length of bid/uid */
#define PASSLEN  14             /* Length of encrypted passwd field */
#define REGLEN   38             /* Length of registration data */

typedef unsigned char uschar;   /* length = 1 */
typedef unsigned int  usint;    /* length = 4 */


typedef struct
{
      uschar        id;
        char          broken;
}       WEAPONARMOR;

typedef struct
{
  char          id;
  char          name[IDLEN + 1];
  char          lv;
  short         lp;
  ushort        mlp;
  short         hp;
  ushort        mhp;
  uschar        po;
  uschar        st;
  uschar        ag;
  uschar        lu;
  int           ex;
  char          emotion;
  char          moral;
  char          wisdom;
  char          will;
  char          charm;
  WEAPONARMOR   weapon;
  WEAPONARMOR   armor[4];
  uschar        flag;
  char          hungry;
  char          sick;
  char          angry;
}       PET;

typedef struct
{
  char   userid[IDLEN + 1];
  char   realname[20];
  char   username[24];
  char   passwd[PASSLEN];
  ushort uflag;
  usint  userlevel;
  ushort numlogins;
  ushort numposts;
  time_t firstlogin;
  time_t lastlogin;
  char   lasthost[16];
  char   email[50];
  char   address[50];
  char   justify[REGLEN + 1];
  uschar month;
  uschar day;
  uschar year;
  uschar sex;
  uschar state;
  ushort mailk;
  ushort keepmail;
  int    money;
  ushort totalday;
  uschar totalhour;
  uschar totalmin;
  int    market[10];
  short  locate;
  char   action;
  char   direct;
  char   speed;
  char   count;
  uschar landnum;
  uschar tool[10];
  char   NAME[IDLEN + 1];
  char   LV;
  short  HP;
  short  MHP;
  short  MP;
  short  MMP;
  short  WC;
  short  AC;
  short  PO;
  short  ST;
  short  AG;
  short  LU;
  int    EX;
  char   EVENT;
  uschar WA[6];
  uschar USE[10];
  uschar MAGIC[5];
  uschar NOWOCCUPATION;
  short  OCCUPATION[4];
  uschar cardfightnum;
  uschar cardfight[20];
  uschar dragon[5];
  PET    pet;
  usint  bank;
  char   left[36];
} ACCT;

struct fileheader
{
  char filename[FNLEN];         /* M.9876543210.A */
  char savemode;                /* file save mode */
  char owner[IDLEN + 2];        /* uid[.] */
  char date[6];                 /* [02/02] or space(5) */
  char title[FTTLEN + 1];
  uschar filemode;              /* must be last field @ boards.c */
};
typedef struct fileheader fileheader;

struct boardheader
{
  char brdname[IDLEN + 1];      /* bid */
  char title[BTLEN + 1];
  char BM[IDLEN * 3 + 3];       /* BMs' uid, token '/' */
  char group[9];        /* 看板分類 */
  char type;            /* 看板性質: 轉信?目錄? */
  char pad[1];
  time_t bupdate;               /* note update time */
  char pad2[3];
  uschar bvote;                 /* Vote flags */
  time_t vtime;                 /* Vote close time */
  usint level;
};
typedef struct boardheader boardheader;