home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume4 / sail / part03 / player.h < prev   
C/C++ Source or Header  |  1988-04-13  |  3KB  |  106 lines

  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 this notice is preserved and that due credit is given
  7.  * to the University of California at Berkeley. The name of the University
  8.  * may not be used to endorse or promote products derived from this
  9.  * software without specific prior written permission. This software
  10.  * is provided ``as is'' without express or implied warranty.
  11.  *
  12.  *    @(#)player.h    5.2 (Berkeley) 3/9/88
  13.  */
  14.  
  15. #include <curses.h>
  16. #include "externs.h"
  17.  
  18. /* sizes and coordinates for the screen */
  19.  
  20. #define LINE_T        0
  21. #define LINE_L        0
  22. #define LINE_X        COLS
  23. #define LINE_Y        1
  24. #define LINE_B        (LINE_T+LINE_Y-1)
  25. #define LINE_R        (LINE_L+LINE_X-1)
  26.  
  27. #define BOX_T        1
  28. #define BOX_L        0
  29. #define BOX_X        65
  30. #define BOX_Y        16
  31. #define BOX_B        (BOX_T+BOX_Y-1)
  32. #define BOX_R        (BOX_L+BOX_X-1)
  33.  
  34. #define TURN_T        BOX_B
  35. #define TURN_Y        1
  36. #define TURN_L        ((BOX_L+BOX_R-TURN_X)/2)
  37. #define TURN_X        9
  38. #define TURN_B        (TURN_T+TURN_Y+1)
  39. #define TURN_R        (TURN_L+TURN_X+1)
  40.  
  41. #define STAT_T        0
  42. #define STAT_B        BOX_B
  43. #define STAT_L        (BOX_R+2)
  44. #define STAT_X        14
  45. #define STAT_Y        (STAT_B-STAT_T+1)
  46. #define STAT_R        (STAT_L+STAT_X-1)
  47. #define STAT_1        0
  48. #define STAT_2          (STAT_1+4)
  49. #define STAT_3          (STAT_2+7)
  50.  
  51. #define SCROLL_T    (BOX_B+1)
  52. #define SCROLL_L    0
  53. #define SCROLL_B    (LINES-1)
  54. #define SCROLL_R    (COLS-1)
  55. #define SCROLL_X    (SCROLL_R-SCROLL_L+1)
  56. #define SCROLL_Y    (SCROLL_B-SCROLL_T+1)
  57.  
  58. #define VIEW_T        (BOX_T+1)
  59. #define VIEW_L        (BOX_L+1)
  60. #define VIEW_X        (BOX_X-5)
  61. #define VIEW_Y        (BOX_Y-2)
  62. #define VIEW_B        (VIEW_T+VIEW_Y-1)
  63. #define VIEW_R        (VIEW_L+VIEW_X-1)
  64.  
  65. #define SLOT_T        VIEW_T
  66. #define SLOT_L        (VIEW_R+1)
  67. #define SLOT_X        3
  68. #define SLOT_Y        VIEW_Y
  69. #define SLOT_B        VIEW_B
  70. #define SLOT_R        (SLOT_L+SLOT_X-1)
  71.  
  72. #ifdef SIGTSTP
  73. #define SCREENTEST()    (initscr() != ERR && signal(SIGTSTP, SIG_DFL) != BADSIG && STAT_R < COLS && SCROLL_Y > 0)
  74. #else
  75. #define SCREENTEST()    (initscr() != ERR && STAT_R < COLS && SCROLL_Y > 0)
  76. #endif
  77.  
  78. WINDOW *view_w;
  79. WINDOW *slot_w;
  80. WINDOW *scroll_w;
  81. WINDOW *stat_w;
  82. WINDOW *turn_w;
  83.  
  84. char done_curses;
  85. char loaded, fired, changed, repaired;
  86. char dont_adjust;
  87. int viewrow, viewcol;
  88. char movebuf[sizeof SHIP(0)->file->movebuf];
  89. char version[];
  90. int player;
  91. struct ship *ms;        /* memorial structure, &cc->ship[player] */
  92. struct File *mf;        /* ms->file */
  93. struct shipspecs *mc;        /* ms->specs */
  94.  
  95. /* condition codes for leave() */
  96. #define LEAVE_QUIT    0
  97. #define LEAVE_CAPTURED    1
  98. #define LEAVE_HURRICAN    2
  99. #define LEAVE_DRIVER    3
  100. #define LEAVE_FORK    4
  101. #define LEAVE_SYNC    5
  102.  
  103. #ifndef CTRL
  104. #define CTRL(c)    ((c)&037)
  105. #endif
  106.