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