|
|
1.1 root 1: /*
2: * Copyright (c) 1983 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that the above copyright notice and this paragraph are
7: * duplicated in all such forms and that any documentation,
8: * advertising materials, and other materials related to such
9: * distribution and use acknowledge that the software was developed
10: * by the University of California, Berkeley. The name of the
11: * University may not be used to endorse or promote products derived
12: * from this software without specific prior written permission.
13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16: *
17: * @(#)player.h 5.3 (Berkeley) 6/18/88
18: */
19:
20: #include <curses.h>
21: #include "externs.h"
22:
23: /* sizes and coordinates for the screen */
24:
25: #define LINE_T 0
26: #define LINE_L 0
27: #define LINE_X COLS
28: #define LINE_Y 1
29: #define LINE_B (LINE_T+LINE_Y-1)
30: #define LINE_R (LINE_L+LINE_X-1)
31:
32: #define BOX_T 1
33: #define BOX_L 0
34: #define BOX_X 65
35: #define BOX_Y 16
36: #define BOX_B (BOX_T+BOX_Y-1)
37: #define BOX_R (BOX_L+BOX_X-1)
38:
39: #define TURN_T BOX_B
40: #define TURN_Y 1
41: #define TURN_L ((BOX_L+BOX_R-TURN_X)/2)
42: #define TURN_X 9
43: #define TURN_B (TURN_T+TURN_Y+1)
44: #define TURN_R (TURN_L+TURN_X+1)
45:
46: #define STAT_T 0
47: #define STAT_B BOX_B
48: #define STAT_L (BOX_R+2)
49: #define STAT_X 14
50: #define STAT_Y (STAT_B-STAT_T+1)
51: #define STAT_R (STAT_L+STAT_X-1)
52: #define STAT_1 0
53: #define STAT_2 (STAT_1+4)
54: #define STAT_3 (STAT_2+7)
55:
56: #define SCROLL_T (BOX_B+1)
57: #define SCROLL_L 0
58: #define SCROLL_B (LINES-1)
59: #define SCROLL_R (COLS-1)
60: #define SCROLL_X (SCROLL_R-SCROLL_L+1)
61: #define SCROLL_Y (SCROLL_B-SCROLL_T+1)
62:
63: #define VIEW_T (BOX_T+1)
64: #define VIEW_L (BOX_L+1)
65: #define VIEW_X (BOX_X-5)
66: #define VIEW_Y (BOX_Y-2)
67: #define VIEW_B (VIEW_T+VIEW_Y-1)
68: #define VIEW_R (VIEW_L+VIEW_X-1)
69:
70: #define SLOT_T VIEW_T
71: #define SLOT_L (VIEW_R+1)
72: #define SLOT_X 3
73: #define SLOT_Y VIEW_Y
74: #define SLOT_B VIEW_B
75: #define SLOT_R (SLOT_L+SLOT_X-1)
76:
77: #ifdef SIGTSTP
78: #define SCREENTEST() (initscr() != ERR && signal(SIGTSTP, SIG_DFL) != BADSIG && STAT_R < COLS && SCROLL_Y > 0)
79: #else
80: #define SCREENTEST() (initscr() != ERR && STAT_R < COLS && SCROLL_Y > 0)
81: #endif
82:
83: WINDOW *view_w;
84: WINDOW *slot_w;
85: WINDOW *scroll_w;
86: WINDOW *stat_w;
87: WINDOW *turn_w;
88:
89: char done_curses;
90: char loaded, fired, changed, repaired;
91: char dont_adjust;
92: int viewrow, viewcol;
93: char movebuf[sizeof SHIP(0)->file->movebuf];
94: char version[];
95: int player;
96: struct ship *ms; /* memorial structure, &cc->ship[player] */
97: struct File *mf; /* ms->file */
98: struct shipspecs *mc; /* ms->specs */
99:
100: /* condition codes for leave() */
101: #define LEAVE_QUIT 0
102: #define LEAVE_CAPTURED 1
103: #define LEAVE_HURRICAN 2
104: #define LEAVE_DRIVER 3
105: #define LEAVE_FORK 4
106: #define LEAVE_SYNC 5
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.