home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / windows / x / 20910 < prev    next >
Encoding:
Internet Message Format  |  1993-01-08  |  6.4 KB

  1. Path: sparky!uunet!inmos!wraxall.inmos.co.uk!elberton!nathan
  2. Newsgroups: comp.windows.x
  3. From: nathan@inmos.co.uk (Nathan Sidwell)
  4. Subject: xmris V3.00 available
  5. Message-ID: <1993Jan8.134855.6479@wraxall.inmos.co.uk>
  6. X-Newsreader: TIN [version 1.1 PL8]
  7. Date: Fri, 8 Jan 93 13:48:54 GMT
  8. Lines: 142
  9.  
  10. Xmris version 3.00 is now available. It has been posted to alt.sources as
  11. comp.sources.x is unavailable at the moment.
  12. If you can't get alt.sources, or any of its archives, you may obtain
  13. it from me by email with a subject 
  14. "xmris request". A reply line may be in the mail to change
  15. the default reply, if you know that doesn't work. Ie
  16.  
  17. reply nathan@inmos.co.uk
  18.  
  19. Xmris is a video game, here is the changes file.
  20.  
  21. CHANGES FROM V2.00 to V3.00 (in no particular order)
  22.  
  23. > > > (F A N F A R E) < < <
  24. > > >      N O W      < < <
  25. > > >       I N       < < <
  26. > > >   C O L O U R   < < <
  27.  
  28. Colour was fun! As I only have a b&w display and bitmap can only do
  29. 1 plane bitmaps, it was out with the squared paper and crayons. And
  30. then trips down the corridor to see if the colours look alright. All
  31. the sprite colours are user definable, so you can change them to suit
  32. your taste. Thanks are due to Stefan, for having the patience to change
  33. his colour sprites when I changed the formats (see -msit for details).
  34.  
  35. Again, Imakefile and Makefile.std have changed, you'll need
  36. to do the right thing AND read the compilation file, because the
  37. compilation procedure has changed.
  38.  
  39. Doesn't require memmove anymore.
  40.  
  41. Now uses the Xtoolkit to do the initialize stuff. This means you
  42. get all the normal toolkit options. The control structure has been
  43. turned inside out, so there is only one control loop. This uses a
  44. recursive function definition, so looks really weird (but is still
  45. ANSI conformant). Maybe I should turn this into a big switch.
  46.  
  47. The -mris and -msit flags select different sprites.
  48.  
  49. The -swap flag creates better looking inverse screens.
  50.  
  51. The -scores option and Xmris.scores resource have changed to -dir and
  52. Xmris.Dir, and now points to a containing directory, rather than a file.
  53. The score file names are locked into the source. The score file format
  54. has changed slightly. You can pipe the old score file through
  55. convert_score into xmris.score and then delete the old score file. You
  56. may _not_ want to do this, because the game difficulty has changed, and
  57. you might like to start the scores again from scratch. Note the different
  58. name, players using their own copy of the old xmris will then complain
  59. that the score file has vanished, and you'll be able to get them to use
  60. the new version.
  61.  
  62. Option -scores now prints out the high score tables.
  63.  
  64. Option -visual <visual_class> selects a non default visual.
  65.  
  66. Option -private allocates a private colormap.
  67.  
  68. Option -colors shows how the colours are allocated.
  69.  
  70. Option -distinct <n> limits the colormap entries used.
  71.  
  72. Nearly all options have an equivalent X resource.
  73.  
  74. There are three high score tables, all time best, best of the day and
  75. personal best. Greg (G.J.) Boyes <BOYES@BNR.CA> had some suggestions in
  76. this area. The name is now picked up from getpwuid, not environoment
  77. var 'USER'. Your score is only put in the all time high scores, if it
  78. is above a compile time threshold  (to save newbies permanent
  79. embarrassment). The score table also shows the game play time (it does
  80. not include the recap screen, and other delays). The personal best scores
  81. are either put in the score directory, or the users home directory.
  82.  
  83. Scoring is scaled by the speed of the game. The game tries to determine
  84. how fast it is running, in order to not miss interrupts, and uses this
  85. dilation to scale the scores. This gives some measure of fairness when
  86. running the game on hardware which is too slow. You also get elapsed times.
  87.  
  88. Correctly works as a setuid program with servers which perform user
  89. verification (such as openwindows).
  90.  
  91. There is a compile time flag to select two types of file locking, the
  92. default is to use lockf(3), but, as Daniel Edward Lovinger <del+@cmu.edu>
  93. has pointed out, some distributed file systems (AFS in his instance)
  94. don't support it (NFS is ok). I've also discovered that, for some
  95. unknown reason, my lock deamon rpc.locd grows its heap unendingly,
  96. for each lock-unlock pair. Its not fun when your lockd heap takes up
  97. 10MB! This appears to be a bug in SunOS 4.1 its gone in 4.1.1.
  98. Rather than say, that's not my fault, (which it isn't), you can say
  99. you haven't got lockf, and a simple locking scheme is used which
  100. uses open(O_CREAT | O_EXCL), to create a lock file in the score directory.
  101. For this to work xmris must have create access rights to the directory
  102. (which is why you might want to make it a setuid program).
  103.  
  104. You can use the pause key to cycle round the demo screens.
  105.  
  106. You can use the throw key to skip game information screens
  107. and game pauses.
  108.  
  109. The player has a nap, when paused, and get excited when a screen
  110. is finished.
  111.  
  112. The ball is bigger. Its easier to see when you're holding it.
  113. It also gets monsters, if they pass going round a corner.
  114.  
  115. Keyboard control is tightened up a bit, and you always get the
  116. cherry bonus, if you don't stop.
  117.  
  118. The extra monster gets homesick after a while.
  119.  
  120. Apples cannot clump together on the initial layout, they've also
  121. turned into 'active sprites' so they don't get stuck on ledges
  122. incorrectly. They also don't gratuitously align on the board matrix
  123. when falling. The xtra and drones only eat apples when they've
  124. got to the same place, rather than about 1/2 a cell away.
  125.  
  126. I got a load of information from Ramon Dominguez <ramon@orion.convex.com>.
  127. I've put in some of his findings, but not others. Mainly the ball
  128. return time is deterministic and the xtra letter selection is different.
  129. Also the drone apples are 'ghosts' for a short while. And diamonds
  130. have been added.
  131.  
  132. The timer interrupt has been changed. It retriggers the interrupt
  133. in the signal handler, provided the game was waiting on it. This gives
  134. more accurate timing, and prevents the game going super-fast when trying
  135. to catch up.
  136.  
  137. Doesn't define the cursor, and can now generate all sprite reflections
  138. from one image (at the expense of startup time). Also the different
  139. monochrome and color sprites are compressed into one set of planes.
  140.  
  141. Some other bits and bobbles have been fixed. Namely some asserts were
  142. triggered, and these have been fixed.
  143.  
  144. README is derived from xmris.man, so can't get out of sync.
  145.  
  146. HP/UX machines work despite pretending to be both BSD and SYSV.
  147.  
  148. POSIX signal handling added.
  149.  
  150. The ANSI/K&R stuff has been altered a bit. I also now (correctly)
  151. use #if __STDC__, rather than #ifdef __STDC__.
  152.