]> git.lizzy.rs Git - libscout.git/blob - scout.h
Done
[libscout.git] / scout.h
1 #ifndef __LIBSCOUT__
2 #define __LIBSCOUT__
3
4 struct scnode {
5         struct scway *way;
6         void *dat;
7 };
8
9 struct scway {
10         const struct scnode *lto;
11         struct scway *alt;
12         float len;
13         void *dat;
14 };
15
16 struct scwaypoint {
17         const struct scnode *nod;
18         const struct scway *way;
19         struct scwaypoint *nxt;
20         float len;
21 };
22
23 struct scnode *scnodalloc(void *);
24 struct scway *scaddway(struct scnode *, const struct scnode *, float, void *data);
25 int scisconnected(struct scnode *, struct scnode *);
26 struct scwaypoint *scout(const struct scnode *, const struct scnode *, struct scwaypoint *);
27 void scdestroypath(struct scwaypoint *);
28
29
30 #ifdef __LIBSCOUT_INTERNAL__
31
32 struct scway *__scnodgetway(const struct scnode *);
33 struct scwaypoint *__scallocwayp(const struct scnode *, const struct scway *);
34 int __scstackfind(const struct scwaypoint *, const struct scway *);
35 struct scwaypoint *__scstackgetend(struct scwaypoint *);
36
37 #endif // __LIBSCOUT_INTERNAL__
38
39 #ifdef __LIBSCOUT_TYPEDEF__
40
41 typedef struct scnode scnode;
42 typedef struct scway scway;
43 typedef struct scwaypoint scwaypoint;
44
45 #endif
46
47 #endif // __LIBSCOUT__