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
|
struct container;
struct block_info;
struct segment;
struct street_header {
unsigned char order;
int count;
} __attribute__((packed));
struct street_type {
unsigned char order;
unsigned short country;
} __attribute__((packed));
struct street_str {
long segid;
unsigned char limit; /* 0x03,0x30=One Way,0x33=No Passing */
unsigned char unknown2;
unsigned char unknown3;
unsigned char type;
unsigned long nameid;
};
struct street_bti {
unsigned char unknown1;
unsigned long segid1;
unsigned long country1;
unsigned long segid2;
unsigned long country2;
unsigned char unknown5;
struct coord c;
} __attribute__((packed));
struct street_route {
struct street_route *next;
long segid;
int offset;
struct coord c[2];
};
struct street_coord {
int count;
struct coord c[0];
};
void street_draw_block(struct block_info *blk_inf, unsigned char *start, unsigned char *end, void *data);
struct street_coord *street_coord_get(struct block_info *blk_inf, struct street_str *str);
int street_get_by_id(struct map_data *mdat, int id, struct block_info *res_blk_inf, struct street_str **res_str);
void street_bti_draw_block(struct block_info *blk_inf, unsigned char *start, unsigned char *end, void *data);
int street_get_param(struct segment *seg, struct param_list *param, int count, int verbose);
int street_bti_get_param(struct segment *seg, struct param_list *param, int count);
void street_route_draw(struct container *co);
|