-/* $NetBSD: extern.h,v 1.32 2009/03/14 22:52:52 dholland Exp $ */
+/* $NetBSD: extern.h,v 1.38 2011/08/29 20:30:37 joerg Exp $ */
/*
* Copyright (c) 1983, 1993
#define MODE_LOGGER 3
/* command line flags */
-extern int randomize; /* -x, give first available ship */
-extern int longfmt; /* -l, print score in long format */
-extern int nobells; /* -b, don't ring bell before Signal */
+extern bool randomize; /* -x, give first available ship */
+extern bool longfmt; /* -l, print score in long format */
+extern bool nobells; /* -b, don't ring bell before Signal */
- /* other initial modes */
+ /* other initial data */
extern gid_t gid;
extern gid_t egid;
+#define MAXNAMESIZE 20
+extern char myname[MAXNAMESIZE];
#define dieroll() ((random()) % 6 + 1)
#define sqr(a) ((a) * (a))
#define NLOG 10
struct logs {
- char l_name[20];
+ char l_name[MAXNAMESIZE];
int l_uid;
int l_shipnum;
int l_gamenum;
short sn_turn;
};
-#define NSCENE nscene
+#define NSCENE /*nscene*/ 32
#define NSHIP 10
#define NBP 3
struct File {
int index;
- char captain[20]; /* 0 */
+ char captain[MAXNAMESIZE]; /* 0 */
short points; /* 20 */
unsigned char loadL; /* 22 */
unsigned char loadR; /* 24 */
const char *name; /* 14 */
struct ship ship[NSHIP]; /* 16 */
};
-extern struct scenario scene[];
+extern struct scenario scene[NSCENE];
extern int nscene;
struct shipspecs {
int rig4;
short pts;
};
-extern struct shipspecs specs[];
extern struct scenario *cc; /* the current scenario */
extern struct ship *ls; /* &cc->ship[cc->vessels] */
extern const char MT[9][3];
extern const char *const countryname[];
+extern const char *const shortclassname[];
extern const char *const classname[];
extern const char *const directionname[];
extern const char *const qualname[];
extern int people;
extern int hasdriver;
+
/* assorted.c */
void table(struct ship *, struct ship *, int, int, int, int);
void Cleansnag(struct ship *, struct ship *, int, int);
/* dr_main.c */
int dr_main(void);
+void startdriver(void);
/* game.c */
int maxturns(struct ship *, bool *);
int maxmove(struct ship *, int, int);
/* lo_main.c */
+void lo_curses(void);
int lo_main(void);
/* misc.c */
void unboard(struct ship *, struct ship *, int);
/* pl_1.c */
-void leave(int) __attribute__((__noreturn__));
-void choke(int) __attribute__((__noreturn__));
+void leave(int) __dead;
+void choke(int) __dead;
void child(int);
/* pl_2.c */
-void play(void) __attribute__((__noreturn__));
+void newturn(int);
+void play(void) __dead;
/* pl_3.c */
void acceptcombat(void);
/* pl_7.c */
void initscreen(void);
void cleanupscreen(void);
-void newturn(int);
-void Signal(const char *, struct ship *, ...)
- __attribute__((__format__(__printf__,1,3)));
-void Msg(const char *, ...)
- __attribute__((__format__(__printf__,1,2)));
-void prompt(const char *, struct ship *);
+void Signal(const char *, struct ship *, ...) __printflike(1,3);
+void Msg(const char *, ...) __printflike(1,2);
int sgetch(const char *, struct ship *, int);
void sgetstr(const char *, char *, int);
-void draw_screen(void);
-void draw_view(void);
-void draw_turn(void);
-void draw_stat(void);
-void draw_slot(void);
-void draw_board(void);
void centerview(void);
void upview(void);
void downview(void);
void leftview(void);
void rightview(void);
+void startup(void);
/* pl_main.c */
-int pl_main(void);
+void pl_main_init(void);
+void pl_main_uninit(void);
+__dead void pl_main(void);
/* sync.c */
void fmtship(char *, size_t, const char *, struct ship *);
void makesignal(struct ship *, const char *, struct ship *, ...)
- __attribute__((__format__(__printf__,2,4)));
-void makemsg(struct ship *, const char *, ...)
- __attribute__((__format__(__printf__,2,3)));
+ __printflike(2,4);
+void makemsg(struct ship *, const char *, ...) __printflike(2, 3);
int sync_exists(int);
int sync_open(void);
void sync_close(int);
void send_dbp(struct ship *ship, long a, long b, long c, long d);
void send_drift(struct ship *ship, long a);
void send_explode(struct ship *ship, long a);
-void send_file(void);
void send_foul(struct ship *ship, long a);
void send_gunl(struct ship *ship, long a, long b);
void send_gunr(struct ship *ship, long a, long b);