X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/77e3814f0c0e3dea4d0032e25666f77e6f83bfff..81bbf55a66e37ed7ff27bf366e9588f1a5eca9d6:/rogue/rogue.h diff --git a/rogue/rogue.h b/rogue/rogue.h index 9e3d67d6..d301f05f 100644 --- a/rogue/rogue.h +++ b/rogue/rogue.h @@ -1,9 +1,11 @@ +/* $NetBSD: rogue.h,v 1.11 1999/09/13 17:14:08 jsm Exp $ */ + /* - * Copyright (c) 1988 The Regents of the University of California. - * All rights reserved. + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by - * Timoth C. Stoehr. + * Timothy C. Stoehr. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -33,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)rogue.h 5.6 (Berkeley) 2/28/91 + * @(#)rogue.h 8.1 (Berkeley) 5/31/93 */ /* @@ -153,13 +155,13 @@ #define RATION 0 #define FRUIT 1 -#define NOT_USED ((unsigned short) 0) +#define NOT_USED ((unsigned short) 0) #define BEING_WIELDED ((unsigned short) 01) -#define BEING_WORN ((unsigned short) 02) +#define BEING_WORN ((unsigned short) 02) #define ON_LEFT_HAND ((unsigned short) 04) #define ON_RIGHT_HAND ((unsigned short) 010) #define ON_EITHER_HAND ((unsigned short) 014) -#define BEING_USED ((unsigned short) 017) +#define BEING_USED ((unsigned short) 017) #define NO_TRAP -1 #define TRAP_DOOR 0 @@ -173,9 +175,9 @@ #define STEALTH_FACTOR 3 #define R_TELE_PERCENT 8 -#define UNIDENTIFIED ((unsigned short) 00) /* MUST BE ZERO! */ -#define IDENTIFIED ((unsigned short) 01) -#define CALLED ((unsigned short) 02) +#define UNIDENTIFIED ((unsigned short) 00) /* MUST BE ZERO! */ +#define IDENTIFIED ((unsigned short) 01) +#define CALLED ((unsigned short) 02) #define DROWS 24 #define DCOLS 80 @@ -220,7 +222,7 @@ struct id { struct obj { /* comment is monster meaning */ unsigned long m_flags; /* monster flags */ - char *damage; /* damage it does */ + const char *damage; /* damage it does */ short quantity; /* hit points to kill */ short ichar; /* 'A' is for aquatar */ short kill_exp; /* exp for killing it */ @@ -243,15 +245,16 @@ struct obj { /* comment is monster meaning */ typedef struct obj object; -#define INIT_AW (object*)0,(object*)0 -#define INIT_RINGS (object*)0,(object*)0 -#define INIT_HP 12,12 -#define INIT_STR 16,16 -#define INIT_EXP 1,0 -#define INIT_PACK {0} -#define INIT_GOLD 0 -#define INIT_CHAR '@' -#define INIT_MOVES 1250 +#define INIT_AW (object*)0 +#define INIT_RINGS (object*)0 +#define INIT_HP 12 +#define INIT_STR 16 +#define INIT_EXPLEVEL 1 +#define INIT_EXP 0 +#define INIT_PACK {0} +#define INIT_GOLD 0 +#define INIT_CHAR '@' +#define INIT_MOVES 1250 struct fightr { object *armor; @@ -424,44 +427,6 @@ extern object level_monsters; #define MIN_ROW 1 -/* external routine declarations. - */ -char *strcpy(); -char *strncpy(); -char *strcat(); - -char *mon_name(); -char *get_ench_color(); -char *name_of(); -char *md_gln(); -char *md_getenv(); -char *md_malloc(); -boolean is_direction(); -boolean mon_sees(); -boolean mask_pack(); -boolean mask_room(); -boolean is_digit(); -boolean check_hunger(); -boolean reg_move(); -boolean md_df(); -boolean has_been_touched(); -object *add_to_pack(); -object *alloc_object(); -object *get_letter_object(); -object *gr_monster(); -object *get_thrown_at_monster(); -object *get_zapped_monster(); -object *check_duplicate(); -object *gr_object(); -object *object_at(); -object *pick_up(); -struct id *get_id_table(); -unsigned short gr_what_is(); -long rrandom(); -long lget_number(); -long xxx(); -void byebye(), onintr(), error_save(); - struct rogue_time { short year; /* >= 1987 */ short month; /* 1 - 12 */ @@ -471,20 +436,371 @@ struct rogue_time { short second; /* 0 - 59 */ }; -#ifdef CURSES -struct _win_st { - short _cury, _curx; - short _maxy, _maxx; -}; - -typedef struct _win_st WINDOW; - -extern int LINES, COLS; -extern WINDOW *curscr; -extern char *CL; - -char *md_gdtcf(); - -#else #include -#endif + +/* + * external routine declarations. + */ +#include +#include +#include +#include + +object *alloc_object __P((void)); +object *check_duplicate __P((object *, object *)); +const char *get_ench_color __P((void)); +object *get_letter_object __P((int)); +object *get_thrown_at_monster __P((object *, short, short *, short *)); +object *get_zapped_monster __P((short, short *, short *)); +object *gr_monster __P((object *, int)); +object *gr_object __P((void)); +char *md_getenv __P((const char *)); +const char * + md_gln __P((void)); +char *md_malloc __P((int)); +const char *mon_name __P((const object *)); +const char *name_of __P((const object *)); +object *object_at __P((object *, short, short)); +object *pick_up __P((int, int, short *)); +void add_exp __P((int, boolean)); +void add_mazes __P((void)); +void add_traps __P((void)); +void aggravate __P((void)); +void aim_monster __P((object *)); +void bounce __P((short, short, short, short, short)); +void byebye __P((int)); +void c_object_for_wizard __P((void)); +void call_it __P((void)); +boolean can_move __P((int, int, int, int)); +boolean can_turn __P((int, int)); +void center __P((short, const char *)); +void check_gold_seeker __P((object *)); +boolean check_hunger __P((boolean)); +boolean check_imitator __P((object *)); +void check_message __P((void)); +int check_up __P((void)); +void clean_up __P((const char *)) __attribute__((__noreturn__)); +void clear_level __P((void)); +void cnfs __P((void)); +int coin_toss __P((void)); +int connect_rooms __P((short, short)); +void cough_up __P((object *)); +void create_monster __P((void)); +int damage_for_strength __P((void)); +void darken_room __P((short)); +void disappear __P((object *)); +void do_args __P((int, char **)); +void do_opts __P((void)); +void do_put_on __P((object *, boolean)); +void do_shell __P((void)); +void do_wear __P((object *)); +void do_wield __P((object *)); +void dr_course __P((object *, boolean, short, short)); +void drain_life __P((void)); +void draw_magic_map __P((void)); +void draw_simple_passage __P((short, short, short, short, short)); +void drop __P((void)); +int drop_check __P((void)); +void drop_level __P((void)); +void eat __P((void)); +void edit_opts __P((void)); +void env_get_value __P((char **, char *, boolean)); +void error_save __P((int)) __attribute__((__noreturn__)); +void fight __P((int)); +void fill_it __P((int, boolean)); +void fill_out_level __P((void)); +boolean flame_broil __P((object *)); +int flit __P((object *)); +void flop_weapon __P((object *, short, short)); +void free_object __P((object *)); +void free_stuff __P((object *)); +void freeze __P((object *)); +int get_armor_class __P((const object *)); +int get_com_id __P((int *, short)); +int get_damage __P((const char *, boolean)); +void get_desc __P((const object *, char *)); +int get_dir __P((short, short, short, short)); +void get_dir_rc __P((short, short *, short *, short)); +char get_dungeon_char __P((short, short)); +int get_exp_level __P((long)); +void get_food __P((object *, boolean)); +int get_hit_chance __P((const object *)); +int get_input_line __P((const char *, const char *, char *, const char *, boolean, boolean)); +char get_mask_char __P((unsigned short)); +int get_number __P((const char *)); +boolean get_oth_room __P((short, short *, short *)); +int get_rand __P((int, int)); +short get_room_number __P((int, int)); +int get_value __P((const object *)); +int get_w_damage __P((const object *)); +void get_wand_and_ring_materials __P((void)); +int get_weapon_damage __P((const object *)); +char gmc __P((object *)); +char gmc_row_col __P((int, int)); +void go_blind __P((void)); +boolean gold_at __P((int, int)); +void gr_armor __P((object *)); +char gr_dir __P((void)); +char gr_obj_char __P((void)); +void gr_potion __P((object *)); +void gr_ring __P((object *, boolean)); +short gr_room __P((void)); +void gr_row_col __P((short *, short *, unsigned short)); +void gr_scroll __P((object *)); +void gr_wand __P((object *)); +void gr_weapon __P((object *, int)); +void hallucinate __P((void)); +boolean has_amulet __P((void)); +boolean has_been_touched __P((const struct rogue_time *, const struct rogue_time *)); +void heal __P((void)); +void hide_boxed_passage __P((int, int, int, int, int)); +void hold_monster __P((void)); +int hp_raise __P((void)); +void id_all __P((void)); +void id_com __P((void)); +void id_trap __P((void)); +void id_type __P((void)); +void idntfy __P((void)); +boolean imitating __P((int, int)); +int init __P((int, char **)); +void init_str __P((char **, const char *)); +void insert_score __P((char [][], char [][], const char *, short, short, const object *, int)); +void inv_armor_weapon __P((boolean)); +void inv_rings __P((void)); +void inventory __P((const object *, unsigned short)); +boolean is_all_connected __P((void)); +boolean is_digit __P((int)); +boolean is_direction __P((short, short *)); +boolean is_pack_letter __P((short *, unsigned short *)); +boolean is_passable __P((int, int)); +boolean is_vowel __P((short)); +void kick_into_pack __P((void)); +void killed_by __P((const object *, short)) __attribute__((__noreturn__)); +long lget_number __P((const char *)); +void light_passage __P((int, int)); +void light_up_room __P((int)); +boolean m_confuse __P((object *)); +void make_level __P((void)); +void make_maze __P((short, short, short, short, short, short)); +void make_party __P((void)); +void make_room __P((short, short, short, short)); +void make_scroll_titles __P((void)); +boolean mask_pack __P((const object *, unsigned short)); +boolean mask_room __P((short, short *, short *, unsigned short)); +boolean md_df __P((const char *)); +void md_exit __P((int)) __attribute__((__noreturn__)); +void md_gct __P((struct rogue_time *)); +int md_get_file_id __P((const char *)); +void md_gfmt __P((const char *, struct rogue_time *)); +int md_gseed __P((void)); +void md_heed_signals __P((void)); +void md_ignore_signals __P((void)); +int md_link_count __P((const char *)); +void md_lock __P((boolean)); +void md_shell __P((const char *)); +void md_sleep __P((int)); +void md_slurp __P((void)); +void message __P((const char *, boolean)); +void mix_colors __P((void)); +void mix_colors __P((void)); +void mix_random_rooms __P((void)); +int mon_can_go __P((const object *, int, int)); +int mon_damage __P((object *, short)); +void mon_hit __P((object *)); +boolean mon_sees __P((const object *, int, int)); +int move_confused __P((object *)); +void move_mon_to __P((object *, int, int)); +void move_onto __P((void)); +int mtry __P((object *, int, int)); +void multiple_move_rogue __P((short)); +void mv_1_monster __P((object *, int, int)); +void mv_aquatars __P((void)); +void mv_mons __P((void)); +int name_cmp __P((char *, const char *)); +short next_avail_ichar __P((void)); +boolean next_to_something __P((int, int)); +void nickize __P((char *, const char *, const char *)); +int no_room_for_monster __P((int)); +int one_move_rogue __P((short, short)); +void onintr __P((int)); +void opt_erase __P((int)); +void opt_go __P((int)); +void opt_show __P((int)); +short pack_count __P((const object *)); +short pack_letter __P((const char *, unsigned short)); +void pad __P((const char *, short)); +void party_monsters __P((int, int)); +short party_objects __P((int)); +void place_at __P((object *, int, int)); +void plant_gold __P((int, int, boolean)); +void play_level __P((void)); +void player_init __P((void)); +void player_init __P((void)); +void potion_heal __P((int)); +int pr_com_id __P((int)); +int pr_motion_char __P((int)); +void print_stats __P((int)); +void put_amulet __P((void)); +void put_door __P((room *, short, short *, short *)); +void put_gold __P((void)); +void put_m_at __P((int, int, object *)); +void put_mons __P((void)); +void put_objects __P((void)); +void put_on_ring __P((void)); +void put_player __P((short)); +void put_scores __P((const object *, short)) __attribute__((__noreturn__)); +void put_stairs __P((void)); +void quaff __P((void)); +void quit __P((boolean)); +int r_index __P((const char *, int, boolean)); +void r_read __P((FILE *, char *, int)); +void r_write __P((FILE *, const char *, int)); +void rand_around __P((short, short *, short *)); +int rand_percent __P((int)); +void rand_place __P((object *)); +void read_pack __P((object *, FILE *, boolean)); +void read_scroll __P((void)); +void read_string __P((char *, FILE *)); +void recursive_deadend __P((short, const short *, short, short)); +boolean reg_move __P((void)); +void relight __P((void)); +void remessage __P((short)); +void remove_ring __P((void)); +void rest __P((int)); +void restore __P((const char *)); +int rgetchar __P((void)); +void ring_stats __P((boolean)); +int rogue_can_see __P((int, int)); +void rogue_damage __P((short, object *, short)); +void rogue_hit __P((object *, boolean)); +int rogue_is_around __P((int, int)); +long rrandom __P((void)); +void rust __P((object *)); +void rw_dungeon __P((FILE *, boolean)); +void rw_id __P((struct id *, FILE *, int, boolean)); +void rw_rooms __P((FILE *, boolean)); +void s_con_mon __P((object *)); +int same_col __P((int, int)); +int same_row __P((int, int)); +void save_game __P((void)); +void save_into_file __P((const char *)); +void save_screen __P((void)); +void search __P((short, boolean)); +boolean seek_gold __P((object *)); +void sell_pack __P((void)); +void sf_error __P((void)) __attribute__((__noreturn__)); +void show_average_hp __P((void)); +void show_monsters __P((void)); +void show_objects __P((void)); +void show_traps __P((void)); +void single_inv __P((short)); +void sound_bell __P((void)); +void special_hit __P((object *)); +void srrandom __P((int)); +void start_window __P((void)); +void start_window __P((void)); +void steal_gold __P((object *)); +void steal_item __P((object *)); +void sting __P((object *)); +void stop_window __P((void)); +void stop_window __P((void)); +void take_a_nap __P((void)); +void take_from_pack __P((object *, object *)); +void take_off __P((void)); +void tele __P((void)); +void tele_away __P((object *)); +void throw __P((void)); +boolean throw_at_monster __P((object *, object *)); +int to_hit __P((const object *)); +short trap_at __P((int, int)); +void trap_player __P((int, int)); +boolean try_to_cough __P((short, short, object *)); +void turn_passage __P((short, boolean)); +void un_put_on __P((object *)); +void unblind __P((void)); +void unconfuse __P((void)); +void uncurse_all __P((void)); +void unhallucinate __P((void)); +void unwear __P((object *)); +void unwield __P((object *)); +void vanish __P((object *, short, object *)); +void visit_rooms __P((int)); +void wait_for_ack __P((void)); +void wake_room __P((short, boolean, short, short)); +void wake_up __P((object *)); +void wanderer __P((void)); +void wdrain_life __P((object *)); +void wear __P((void)); +void wield __P((void)); +void win __P((void)) __attribute__((__noreturn__)); +void wizardize __P((void)); +void write_pack __P((const object *, FILE *)); +void write_string __P((char *, FILE *)); +long xxx __P((boolean)); +void xxxx __P((char *, short)); +void zap_monster __P((object *, unsigned short)); +void zapp __P((void)); +object *add_to_pack __P((object *, object *, int)); +struct id *get_id_table __P((const object *)); +unsigned short gr_what_is __P((void)); + +extern boolean ask_quit; +extern boolean being_held; +extern boolean cant_int; +extern boolean con_mon; +extern boolean detect_monster; +extern boolean did_int; +extern boolean interrupted; +extern boolean is_wood[]; +extern boolean jump; +extern boolean maintain_armor; +extern boolean mon_disappeared; +extern boolean msg_cleared; +extern boolean no_skull; +extern boolean passgo; +extern boolean r_see_invisible; +extern boolean r_teleport; +extern boolean save_is_interactive; +extern boolean score_only; +extern boolean see_invisible; +extern boolean sustain_strength; +extern boolean trap_door; +extern boolean wizard; +extern char hit_message[]; +extern char hunger_str[]; +extern char login_name[]; +extern const char *byebye_string; +extern const char *curse_message; +extern const char *error_file; +extern char *fruit; +extern const char *const m_names[]; +extern const char *more; +extern const char *new_level_message; +extern char *nick_name; +extern const char *press_space; +extern char *save_file; +extern const char *you_can_move_again; +extern const long level_points[]; +extern short add_strength; +extern short auto_search; +extern short bear_trap; +extern short blind; +extern short confused; +extern short cur_level; +extern short cur_room; +extern short e_rings; +extern short extra_hp; +extern short foods; +extern short halluc; +extern short haste_self; +extern short less_hp; +extern short levitate; +extern short m_moves; +extern short max_level; +extern short party_room; +extern short r_rings; +extern short regeneration; +extern short ring_exp; +extern short stealthy; +extern gid_t gid; +extern gid_t egid;