home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / vmsnet.sources.games / vmsnetrek / part26 < prev    next >
Text File  |  1992-11-14  |  15KB  |  365 lines

  1. Newsgroups: vmsnet.sources.games
  2. Path: uunet!stanford.edu!agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!usenet.coe.montana.edu!news.u.washington.edu!raven.alaska.edu!acad2.alaska.edu!asdmf
  3. From: asdmf@acad2.alaska.edu
  4. Subject: Vmsnetrek 26/47
  5. Message-ID: <1992Nov13.140735.1@acad2.alaska.edu>
  6. Lines: 352
  7. Sender: news@raven.alaska.edu (USENET News System)
  8. Nntp-Posting-Host: acad2.alaska.edu
  9. Organization: University of Alaska
  10. Date: Fri, 13 Nov 1992 18:07:35 GMT
  11. Xref: uunet vmsnet.sources.games:512
  12.  
  13. -+-+-+-+-+-+-+-+ START OF PART 26 -+-+-+-+-+-+-+-+
  14. X#define press_height 5
  15. Xstatic char press_bits`091`093 = `123
  16. X   0x0f, 0x11, 0x0f, 0x01, 0x01`125;
  17. X
  18. X
  19. X#ifdef VMS
  20. Xnewwinf(hostmon, progname)
  21. X#else
  22. Xnewwin(hostmon, progname)
  23. X#endif
  24. Xchar *hostmon, *progname;
  25. X`123
  26. X    int i;
  27. X
  28. X    W_Initialize(hostmon);
  29. X
  30. X    baseWin = W_MakeWindow("netrek",0,YOFF,WINSIDE*2+1*BORDER,
  31. X`009WINSIDE+2*BORDER+2*MESSAGESIZE,NULL,BORDER,gColor);
  32. X    iconWin = W_MakeWindow("netrek_icon",0, 0, icon_width, icon_height, NULL
  33. V,
  34. X`009BORDER, gColor);
  35. X    W_SetIconWindow(baseWin, iconWin);
  36. X    w = W_MakeWindow("local",-BORDER, -BORDER, WINSIDE, WINSIDE, baseWin,`03
  37. V2
  38. X`009BORDER, foreColor);
  39. X    mapw = W_MakeWindow("map", WINSIDE, -BORDER, WINSIDE, WINSIDE, baseWin,`
  40. V032
  41. X`009BORDER, foreColor);
  42. X    tstatw = W_MakeWindow("tstat", -BORDER,WINSIDE,WINSIDE,STATSIZE,baseWin,
  43. X`009BORDER, foreColor);
  44. X    warnw = W_MakeWindow("warn", WINSIDE, WINSIDE, WINSIDE, MESSAGESIZE,`032
  45. X`009baseWin, BORDER, foreColor);
  46. X    messagew = W_MakeWindow("message", WINSIDE, WINSIDE+BORDER+MESSAGESIZE,
  47. X`009WINSIDE, MESSAGESIZE, baseWin, BORDER, foreColor);
  48. X    planetw = W_MakeTextWindow("planet",10,10,53,MAXPLANETS+3,w,2);
  49. X    rankw = W_MakeTextWindow("rank",50,300,65,NUMRANKS+8,w,2);
  50. X    playerw = W_MakeTextWindow("player",0,YOFF+WINSIDE+2*BORDER+2*MESSAGESIZ
  51. VE,
  52. X`00983, MAXPLAYER+3, NULL, 2);
  53. X    helpWin = W_MakeTextWindow("help",0,YOFF+WINSIDE+2*BORDER+2*MESSAGESIZE,
  54. X`009160, 13, NULL, BORDER);
  55. X    messwa = W_MakeScrollingWindow("review_all", WINSIDE + BORDER,
  56. X`009YOFF + WINSIDE + 3 * BORDER + 2 * MESSAGESIZE, 80, 10, 0, BORDER);
  57. X    messwt = W_MakeScrollingWindow("review_team", WINSIDE + BORDER,
  58. X`009YOFF + WINSIDE + 4 * BORDER + 2 * MESSAGESIZE + 10*W_Textheight + 8,
  59. X`00980, 5, 0, BORDER);
  60. X    messwi = W_MakeScrollingWindow("review_your",WINSIDE + BORDER,
  61. X`009YOFF + WINSIDE + 5 * BORDER + 2 * MESSAGESIZE + 15*W_Textheight + 16,
  62. X`00980, 4, 0, BORDER);
  63. X    messwk = W_MakeScrollingWindow("review_kill", WINSIDE + BORDER,
  64. X`009YOFF + WINSIDE + 6 * BORDER + 2 * MESSAGESIZE + 19*W_Textheight + 24,
  65. X`00980, 6, 0, BORDER);
  66. X    reviewWin = W_MakeScrollingWindow("review", WINSIDE+BORDER,
  67. X`009YOFF + WINSIDE +3*BORDER+2*MESSAGESIZE,80,20,0,BORDER);
  68. X    udpWin = W_MakeMenu("UDP", WINSIDE+10, -BORDER+10, 40, UDP_NUMOPTS,
  69. X`009NULL, 2);
  70. X    for (i = 0; i < 4; i++) `123
  71. X        teamWin`091i`093 = W_MakeWindow(teamshort`0911<<i`093, i * BOXSIDE,
  72. V 400,`032
  73. X`009    BOXSIDE, BOXSIDE, w, 1, foreColor);
  74. X    `125
  75. X    qwin = W_MakeWindow("quit", 4 * BOXSIDE, 400, BOXSIDE, BOXSIDE, w, 1,`03
  76. V2
  77. X`009foreColor);
  78. X    statwin = W_MakeWindow("stats", 422, 13, 160, 95, NULL, 5, foreColor);
  79. X    scanwin = W_MakeWindow("scanner", 422, 13, 160, 120, baseWin, 5, foreCol
  80. Vor);
  81. X    W_DefineCursor(baseWin, 16, 16, cross_bits, crossmask_bits, 7, 7);
  82. X    W_DefineCursor(messwa, 16, 16, cross_bits, crossmask_bits, 7, 7);
  83. X    W_DefineCursor(messwt, 16, 16, cross_bits, crossmask_bits, 7, 7);
  84. X    W_DefineCursor(messwi, 16, 16, cross_bits, crossmask_bits, 7, 7);
  85. X    W_DefineCursor(helpWin, 16, 16, cross_bits, crossmask_bits, 7, 7);
  86. X    W_DefineCursor(playerw, 16, 16, cross_bits, crossmask_bits, 7, 7);
  87. X    W_DefineCursor(statwin, 16, 16, cross_bits, crossmask_bits, 7, 7);
  88. X    W_DefineCursor(scanwin, 16, 16, cross_bits, crossmask_bits, 7, 7);
  89. X
  90. X#define WARHEIGHT 2
  91. X#define WARWIDTH 20
  92. X#define WARBORDER 2
  93. X
  94. X    war = W_MakeMenu("war", WINSIDE+10, -BORDER+10, WARWIDTH, 6, baseWin,`03
  95. V2
  96. X`009WARBORDER);
  97. X
  98. X    getResources(progname);
  99. X    savebitmaps();
  100. X`125
  101. X
  102. XmapAll()
  103. X`123
  104. X    initinput();
  105. X    W_MapWindow(mapw);
  106. X    W_MapWindow(tstatw);
  107. X    W_MapWindow(warnw);
  108. X    W_MapWindow(messagew);
  109. X    W_MapWindow(w);
  110. X    W_MapWindow(baseWin);
  111. X`125
  112. X
  113. Xsavebitmaps()
  114. X`123
  115. X    register int i;
  116. X    for (i = 0; i < VIEWS; i++) `123`032
  117. X`009fed_bitmaps`091SCOUT`093`091i`093 =`032
  118. X`009  W_StoreBitmap(fed_scout_width, fed_scout_height,
  119. X`009`009`009fed_scout_bits`091i`093, w);
  120. X`009fed_bitmaps`091DESTROYER`093`091i`093 =`032
  121. X`009  W_StoreBitmap(fed_destroyer_width, fed_destroyer_height,
  122. X`009`009`009fed_destroyer_bits`091i`093, w);
  123. X`009fed_bitmaps`091CRUISER`093`091i`093 =`032
  124. X`009  W_StoreBitmap(fed_cruiser_width, fed_cruiser_height,
  125. X`009`009`009fed_cruiser_bits`091i`093, w);
  126. X`009fed_bitmaps`091BATTLESHIP`093`091i`093 =`032
  127. X`009  W_StoreBitmap(fed_battleship_width, fed_battleship_height,
  128. X`009`009`009fed_battleship_bits`091i`093, w);
  129. X`009fed_bitmaps`091ASSAULT`093`091i`093 =`032
  130. X`009  W_StoreBitmap(fed_assault_width, fed_assault_height,
  131. X`009`009`009fed_assault_bits`091i`093, w);
  132. X`009fed_bitmaps`091STARBASE`093`091i`093 =`032
  133. X`009  W_StoreBitmap(fed_starbase_width, fed_starbase_height,
  134. X`009`009`009fed_starbase_bits`091i`093, w);
  135. X`009fed_bitmaps`091GALAXY`093`091i`093 = `009`009/* ATM - Galaxy */
  136. X`009  W_StoreBitmap(fed_galaxy_width, fed_galaxy_height,
  137. X`009`009`009fed_galaxy_bits`091i`093, w);
  138. X
  139. X `009kli_bitmaps`091SCOUT`093`091i`093 =`032
  140. X`009  W_StoreBitmap(kli_scout_width, kli_scout_height,
  141. X`009`009`009kli_scout_bits`091i`093, w);
  142. X `009kli_bitmaps`091DESTROYER`093`091i`093 =`032
  143. X`009  W_StoreBitmap(kli_destroyer_width, kli_destroyer_height,
  144. X`009`009`009kli_destroyer_bits`091i`093, w);
  145. X`009kli_bitmaps`091CRUISER`093`091i`093 =`032
  146. X`009  W_StoreBitmap(kli_cruiser_width, kli_cruiser_height,
  147. X`009`009`009kli_cruiser_bits`091i`093, w);
  148. X`009kli_bitmaps`091BATTLESHIP`093`091i`093 =`032
  149. X`009  W_StoreBitmap(kli_battleship_width, kli_battleship_height,
  150. X`009`009`009kli_battleship_bits`091i`093, w);
  151. X `009kli_bitmaps`091ASSAULT`093`091i`093 =`032
  152. X`009  W_StoreBitmap(kli_assault_width, kli_assault_height,
  153. X`009`009`009kli_assault_bits`091i`093, w);
  154. X `009kli_bitmaps`091STARBASE`093`091i`093 =`032
  155. X`009  W_StoreBitmap(kli_starbase_width, kli_starbase_height,
  156. X`009`009`009kli_starbase_bits`091i`093, w);
  157. X `009kli_bitmaps`091GALAXY`093`091i`093 = `009`009/* ATM - Galaxy */
  158. X`009  W_StoreBitmap(kli_galaxy_width, kli_galaxy_height,
  159. X`009`009`009kli_galaxy_bits`091i`093, w);
  160. X
  161. X`009rom_bitmaps`091SCOUT`093`091i`093 =`032
  162. X`009  W_StoreBitmap(rom_scout_width, rom_scout_height,
  163. X`009`009`009rom_scout_bits`091i`093, w);
  164. X`009rom_bitmaps`091DESTROYER`093`091i`093 =`032
  165. X`009  W_StoreBitmap(rom_destroyer_width, rom_destroyer_height,
  166. X`009`009`009rom_destroyer_bits`091i`093, w);
  167. X`009rom_bitmaps`091CRUISER`093`091i`093 =`032
  168. X`009  W_StoreBitmap(rom_cruiser_width, rom_cruiser_height,
  169. X`009`009`009rom_cruiser_bits`091i`093, w);
  170. X`009rom_bitmaps`091BATTLESHIP`093`091i`093 =`032
  171. X`009  W_StoreBitmap(rom_battleship_width, rom_battleship_height,
  172. X`009`009`009rom_battleship_bits`091i`093, w);
  173. X`009rom_bitmaps`091ASSAULT`093`091i`093 =`032
  174. X`009  W_StoreBitmap(rom_assault_width, rom_assault_height,
  175. X`009`009`009rom_assault_bits`091i`093, w);
  176. X`009rom_bitmaps`091STARBASE`093`091i`093 =`032
  177. X`009  W_StoreBitmap(rom_starbase_width, rom_starbase_height,
  178. X`009`009`009rom_starbase_bits`091i`093, w);
  179. X`009rom_bitmaps`091GALAXY`093`091i`093 = `009`009/* ATM - Galaxy */
  180. X`009  W_StoreBitmap(rom_galaxy_width, rom_galaxy_height,
  181. X`009`009`009rom_galaxy_bits`091i`093, w);
  182. X
  183. X`009ori_bitmaps`091SCOUT`093`091i`093 =`032
  184. X`009  W_StoreBitmap(ori_scout_width, ori_scout_height,
  185. X`009`009`009ori_scout_bits`091i`093, w);
  186. X`009ori_bitmaps`091DESTROYER`093`091i`093 =`032
  187. X`009  W_StoreBitmap(ori_destroyer_width, ori_destroyer_height,
  188. X`009`009`009ori_destroyer_bits`091i`093, w);
  189. X`009ori_bitmaps`091CRUISER`093`091i`093 =`032
  190. X`009  W_StoreBitmap(ori_cruiser_width, ori_cruiser_height,
  191. X`009`009`009ori_cruiser_bits`091i`093, w);`032
  192. X`009ori_bitmaps`091BATTLESHIP`093`091i`093 =`032
  193. X`009  W_StoreBitmap(ori_battleship_width, ori_battleship_height,
  194. X`009`009`009ori_battleship_bits`091i`093, w);
  195. X`009ori_bitmaps`091ASSAULT`093`091i`093 =`032
  196. X`009  W_StoreBitmap(ori_assault_width, ori_assault_height,
  197. X`009`009`009ori_assault_bits`091i`093, w);
  198. X`009ori_bitmaps`091STARBASE`093`091i`093 =`032
  199. X`009  W_StoreBitmap(ori_starbase_width, ori_starbase_height,
  200. X`009`009`009ori_starbase_bits`091i`093, w);
  201. X`009ori_bitmaps`091GALAXY`093`091i`093 = `009`009/* ATM - Galaxy */
  202. X`009  W_StoreBitmap(ori_galaxy_width, ori_galaxy_height,
  203. X`009`009`009ori_galaxy_bits`091i`093, w);
  204. X
  205. X`009ind_bitmaps`091SCOUT`093`091i`093 =`032
  206. X`009  W_StoreBitmap(IggSC_width, IggSC_height,
  207. X`009`009`009IggSC_bits`091i`093, w);
  208. X`009ind_bitmaps`091DESTROYER`093`091i`093 =`032
  209. X`009  W_StoreBitmap(IggDD_width, IggDD_height,
  210. X`009`009`009IggDD_bits`091i`093, w);
  211. X`009ind_bitmaps`091CRUISER`093`091i`093 =`032
  212. X`009  W_StoreBitmap(IggCA_width, IggCA_height,
  213. X`009`009`009IggCA_bits`091i`093, w);`032
  214. X`009ind_bitmaps`091BATTLESHIP`093`091i`093 =`032
  215. X`009  W_StoreBitmap(IggBB_width, IggBB_height,
  216. X`009`009`009IggBB_bits`091i`093, w);
  217. X`009ind_bitmaps`091ASSAULT`093`091i`093 =`032
  218. X`009  W_StoreBitmap(IggAS_width, IggAS_height,
  219. X`009`009`009IggAS_bits`091i`093, w);
  220. X`009ind_bitmaps`091STARBASE`093`091i`093 =`032
  221. X`009  W_StoreBitmap(IggSB_width, IggSB_height,
  222. X`009`009`009IggSB_bits`091i`093, w);
  223. X`009ind_bitmaps`091GALAXY`093`091i`093 = `009/* no GA bitmaps; reuse AS */
  224. X`009  W_StoreBitmap(IggAS_width, IggAS_height,
  225. X`009`009`009IggAS_bits`091i`093, w);
  226. X
  227. X`009fed_bitmaps`091ATT`093`091i`093 = kli_bitmaps`091ATT`093`091i`093 = rom_
  228. Vbitmaps`091ATT`093`091i`093 =
  229. X`009    ori_bitmaps`091ATT`093`091i`093 =
  230. X`009  W_StoreBitmap(att_width, att_height, att_bits`091i`093, w);`009/* ATM
  231. V */
  232. X    `125
  233. X    clockpic=W_StoreBitmap(clock_width, clock_height, clock_bits,
  234. X`009qwin);
  235. X    for (i=0; i<5; i++) `123
  236. X`009cloud`091i`093 = W_StoreBitmap(cloud_width, cloud_height, cloud_bits`091
  237. V4-i`093,w);
  238. X`009plasmacloud`091i`093 = W_StoreBitmap(plasmacloud_width,`032
  239. X`009    plasmacloud_height, plasmacloud_bits`0914-i`093,w);
  240. X    `125
  241. X    etorp = W_StoreBitmap(etorp_width, etorp_height, etorp_bits,w);
  242. X    mtorp = W_StoreBitmap(mtorp_width, mtorp_height, mtorp_bits,w);
  243. X    eplasmatorp =`032
  244. X      W_StoreBitmap(eplasmatorp_width, eplasmatorp_height, eplasmatorp_bits,
  245. Vw);
  246. X    mplasmatorp =`032
  247. X      W_StoreBitmap(mplasmatorp_width, mplasmatorp_height, mplasmatorp_bits,
  248. Vw);
  249. X    bplanets`0910`093 = W_StoreBitmap(planet_width, planet_height, indplanet
  250. V_bits,w);
  251. X    bplanets`0911`093 = W_StoreBitmap(planet_width, planet_height, fedplanet
  252. V_bits,w);
  253. X    bplanets`0912`093 = W_StoreBitmap(planet_width, planet_height, romplanet
  254. V_bits,w);
  255. X    bplanets`0913`093 = W_StoreBitmap(planet_width, planet_height, kliplanet
  256. V_bits,w);
  257. X    bplanets`0914`093 = W_StoreBitmap(planet_width, planet_height, oriplanet
  258. V_bits,w);
  259. X    bplanets`0915`093 = W_StoreBitmap(planet_width, planet_height, planet_bi
  260. Vts,w);
  261. X    mbplanets`0910`093 = W_StoreBitmap(mplanet_width, mplanet_height, indmpl
  262. Vanet_bits,mapw);
  263. X    mbplanets`0911`093 = W_StoreBitmap(mplanet_width, mplanet_height, fedmpl
  264. Vanet_bits,mapw);
  265. X    mbplanets`0912`093 = W_StoreBitmap(mplanet_width, mplanet_height, rommpl
  266. Vanet_bits,mapw);
  267. X    mbplanets`0913`093 = W_StoreBitmap(mplanet_width, mplanet_height, klimpl
  268. Vanet_bits,mapw);
  269. X    mbplanets`0914`093 = W_StoreBitmap(mplanet_width, mplanet_height, orimpl
  270. Vanet_bits,mapw);
  271. X    mbplanets`0915`093 = W_StoreBitmap(mplanet_width, mplanet_height, mplane
  272. Vt_bits,mapw);
  273. X    bplanets2`0910`093 = bplanets`0910`093;
  274. X    mbplanets2`0910`093 = mbplanets`0910`093;
  275. X    bplanets2`0911`093 = W_StoreBitmap(planet_width, planet_height, planet00
  276. V1_bits,w);
  277. X    bplanets2`0912`093 = W_StoreBitmap(planet_width, planet_height, planet01
  278. V0_bits,w);
  279. X    bplanets2`0913`093 = W_StoreBitmap(planet_width, planet_height, planet01
  280. V1_bits,w);
  281. X    bplanets2`0914`093 = W_StoreBitmap(planet_width, planet_height, planet10
  282. V0_bits,w);
  283. X    bplanets2`0915`093 = W_StoreBitmap(planet_width, planet_height, planet10
  284. V1_bits,w);
  285. X    bplanets2`0916`093 = W_StoreBitmap(planet_width, planet_height, planet11
  286. V0_bits,w);
  287. X    bplanets2`0917`093 = W_StoreBitmap(planet_width, planet_height, planet11
  288. V1_bits,w);
  289. X    mbplanets2`0911`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet00
  290. V1_bits,mapw);
  291. X    mbplanets2`0912`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet01
  292. V0_bits,mapw);
  293. X    mbplanets2`0913`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet01
  294. V1_bits,mapw);
  295. X    mbplanets2`0914`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet10
  296. V0_bits,mapw);
  297. X    mbplanets2`0915`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet10
  298. V1_bits,mapw);
  299. X    mbplanets2`0916`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet11
  300. V0_bits,mapw);
  301. X    mbplanets2`0917`093=W_StoreBitmap(mplanet_width,mplanet_height,mplanet11
  302. V1_bits,mapw);
  303. X    for (i = 0; i < EX_FRAMES; i++) `123
  304. X`009expview`091i`093=W_StoreBitmap(ex_width, ex_height, ex_bits`091i`093,w);
  305. X    `125
  306. X    for (i = 0; i < SBEXPVIEWS; i++) `123
  307. X`009sbexpview`091i`093=W_StoreBitmap(sbexp_width, sbexp_height, sbexp_bits`0
  308. V91i`093,w);
  309. X    `125
  310. X    shield = W_StoreBitmap(shield_width, shield_height, shield_bits,w);
  311. X    cloakicon = W_StoreBitmap(cloak_width, cloak_height, cloak_bits,w);
  312. X    icon = W_StoreBitmap(icon_width, icon_height, icon_bits, iconWin);
  313. X    tractbits = W_StoreBitmap(tract_width, tract_height, tract_bits, w);
  314. X    pressbits = W_StoreBitmap(press_width, press_height, press_bits, w);
  315. X`125
  316. X
  317. X/* This routine throws up an entry window for the player. */
  318. X
  319. Xentrywindow(team, s_type)`032
  320. Xint *team, *s_type;
  321. X`123
  322. X    int typeok=0, i=0;
  323. X    long startTime;
  324. X    W_Event event;
  325. X    int lastplayercount`0914`093;
  326. X    int okayMask, lastOkayMask;
  327. X    int resetting=0;
  328. X    int tiled=0;
  329. X    long lasttime = -1;
  330. X    int spareTime=240;`009/* Allow them an extra 240 seconds, as long */
  331. X`009`009`009/* as they are active */
  332. X
  333. X    /* The following allows quick choosing of teams */
  334. X
  335. X    lastOkayMask = okayMask = tournMask;
  336. X
  337. X    for (i = 0; i < 4; i++) `123
  338. X`009if (okayMask & (1 << i)) `123
  339. X`009    tiled=0;
  340. X`009`125 else `123
  341. X`009    tiled=1;
  342. X        `125
  343. X
  344. X`009if (tiled) `123
  345. X`009    W_TileWindow(teamWin`091i`093,stipple);
  346. X`009`125 else `123
  347. X`009    W_UnTileWindow(teamWin`091i`093);
  348. X`009`125
  349. X        W_MapWindow(teamWin`091i`093);
  350. X        lastplayercount`091i`093 = -1;        /* force redraw first time thr
  351. Vough */
  352. X    `125
  353. X    W_MapWindow(qwin);
  354. X
  355. X    *team = -1;
  356. X    startTime = time(0);
  357. X    if (me->p_whydead != KWINNER && me->p_whydead != KGENOCIDE) showMotd();
  358. X    do `123
  359. X`009    while (!W_EventsPending()) `123
  360. X`009`009int`009`009mask, elapsed;
  361. X`009`009struct timeval`009tv;
  362. X
  363. X`009`009readFromServer();
  364. +-+-+-+-+-+-+-+-  END  OF PART 26 +-+-+-+-+-+-+-+-
  365.