-/* $NetBSD: robots.h,v 1.11 1999/09/08 21:17:57 jsm Exp $ */
+/* $NetBSD: robots.h,v 1.22 2009/08/12 08:30:55 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* @(#)robots.h 8.1 (Berkeley) 5/31/93
*/
-# include <sys/ttydefaults.h>
-# include <ctype.h>
-# include <curses.h>
-# include <err.h>
-# include <fcntl.h>
-# include <pwd.h>
-# include <setjmp.h>
-# include <signal.h>
-# include <stdlib.h>
-# include <string.h>
-# include <termios.h>
-# include <unistd.h>
+#include <sys/cdefs.h>
+
+#include <setjmp.h>
+#include <stdbool.h>
+#include <stdint.h>
/*
* miscellaneous constants
*/
-# define Y_FIELDSIZE 23
-# define X_FIELDSIZE 60
-# define Y_SIZE 24
-# define X_SIZE 80
-# define MAXLEVELS 4
-# define MAXROBOTS (MAXLEVELS * 10)
-# define ROB_SCORE 10
-# define S_BONUS (60 * ROB_SCORE)
-# define Y_SCORE 21
-# define X_SCORE (X_FIELDSIZE + 9)
-# define Y_PROMPT (Y_FIELDSIZE - 1)
-# define X_PROMPT (X_FIELDSIZE + 2)
-# define MAXSCORES (Y_SIZE - 2)
-# define MAXNAME 16
-# define MS_NAME "Ten"
+#define Y_FIELDSIZE 23
+#define X_FIELDSIZE 60
+#define Y_SIZE 24
+#define X_SIZE 80
+#define MAXLEVELS 4
+#define MAXROBOTS (MAXLEVELS * 10)
+#define ROB_SCORE 10
+#undef S_BONUS
+#define S_BONUS (60 * ROB_SCORE)
+#define Y_SCORE 21
+#define X_SCORE (X_FIELDSIZE + 9)
+#define Y_PROMPT (Y_FIELDSIZE - 1)
+#define X_PROMPT (X_FIELDSIZE + 2)
+#define MAXSCORES (Y_SIZE - 2)
+#define MAXNAME 16
+#define MS_NAME "Ten"
/*
* characters on screen
*/
-# define ROBOT '+'
-# define HEAP '*'
-# define PLAYER '@'
+#define ROBOT '+'
+#define HEAP '*'
+#define PLAYER '@'
/*
* type definitions
*/
typedef struct {
- int y, x;
+ int y, x;
} COORD;
typedef struct {
- u_int32_t s_uid;
- u_int32_t s_score;
- u_int32_t s_auto;
- u_int32_t s_level;
- char s_name[MAXNAME];
+ uint32_t s_uid;
+ uint32_t s_score;
+ uint32_t s_auto;
+ uint32_t s_level;
+ char s_name[MAXNAME];
} SCORE;
-typedef struct passwd PASSWD;
-
/*
* global variables
*/
-extern bool Dead, Full_clear, Jump, Newscore, Real_time, Running,
- Teleport, Waiting, Was_bonus, Auto_bot;
+extern bool Dead, Full_clear, Jump, Newscore, Real_time, Running,
+ Teleport, Waiting, Was_bonus, Auto_bot;
-#ifdef FANCY
-extern bool Pattern_roll, Stand_still;
+#ifdef FANCY
+extern bool Pattern_roll, Stand_still;
#endif
-extern char Cnt_move, Field[Y_FIELDSIZE][X_FIELDSIZE], Run_ch;
+extern char Cnt_move, Field[Y_FIELDSIZE][X_FIELDSIZE], Run_ch;
extern const char *Next_move, *Move_list;
-extern int Count, Level, Num_robots, Num_scrap, Num_scores, Score,
- Start_level, Wait_bonus, Num_games;
+extern int Count, Level, Num_robots, Num_scrap, Num_scores,
+ Start_level, Wait_bonus, Num_games;
+
+extern uint32_t Score;
-extern COORD Max, Min, My_pos, Robots[], Scrap[];
+extern COORD Max, Min, My_pos, Robots[], Scrap[];
-extern jmp_buf End_move;
+extern jmp_buf End_move;
/*
- * functions types
+ * functions
*/
-void add_score __P((int));
-bool another __P((void));
-int cmp_sc __P((const void *, const void *));
-bool do_move __P((int, int));
-bool eaten __P((const COORD *));
-void flush_in __P((void));
-void get_move __P((void));
-void init_field __P((void));
-bool jumping __P((void));
-void make_level __P((void));
-void move_robots __P((int));
-bool must_telep __P((void));
-void play_level __P((void));
-int query __P((const char *));
-void quit __P((int)) __attribute__((__noreturn__));
-void reset_count __P((void));
-int rnd __P((int));
-COORD *rnd_pos __P((void));
-void score __P((void));
-void set_name __P((SCORE *));
-void show_score __P((void));
-int sign __P((int));
-char automove __P((void));
+void add_score(int);
+char automove(void);
+void flush_in(void);
+void get_move(void);
+void init_field(void);
+bool jumping(void);
+void make_level(void);
+void move_robots(int);
+void play_level(void);
+int query(const char *);
+void quit(int) __dead;
+void reset_count(void);
+COORD *rnd_pos(void);
+void score(int);
+void show_score(void);
+int sign(int);
+void telmsg(int);