README for Solaris platforms
----------------------------

The Solaris port has contributions from Bjorn Augustsson and
Andrew White.  Bjorn found and fixed a number of problems,
which crs merged into the first offical release.  Andrew
added platform dependent files and is implementing the sound
code.  Packaging code still needs doing, too.

Bjorn's fixes included:

  * `sun' reserved on Solaris;  had to rename some variables
  * SIG_PF doesn't need to be defined
  * sun's OpenGL uses macros for glColor*()
    (bzflag uses the address of glColor*() in one place;  had
     to change that by wrapping glColor*() in a function.)
  * must use the defines for the float math functions
  * change fcntl FNDELAY to fcntl O_NDELAY
  * change ioctl FIONBIO to fcntl O_NDELAY
  * hstrerror() doesn't exist
  * changed u_int16_t and u_int32_t to uint16_t and uint32_t
  * INADDR_NONE not defined

--

If you have a modern gcc and old Sun X headers, you may need to
add -fpermissive to CFLAGS and CXXFLAGS in src/platform/Makefile.

--

Due to changes and the new usage of std::map, gcc 2.95.2 no longer
builds bzflag on solaris. gcc 3.x works fine.

--
The following are the comments of Andrew White.

22nd June 1999

Changes:
--------

- Sound now works ok. Only 16bit stereo is supported, so if your
  card isn't up to date then it won't work - sorry!


Known Problems:
---------------

- Still no package installation

- bzflag doesn't work when I use WindowMaker - it displays a large
  window then core dumps!

	I still haven't figured this one out yet. It seems to be an
	intermittent problem. Try 'bzflag -window' instead of full
	screen. This "usually" works. Any ideas?



17th June 1999

This port is work in progress. Currently, there is no sound
support, but should be available very soon.

Known Problems:
---------------

- Sound doesn't work!

	It's not been implemented yet! I have an almost working
	version but wasn't willing to release it until it's
	finished - can't have Chris's hard work core dumping
	now can we!

- There's no package installation for Solaris

	Again, this isn't so important yet. You should be able
	to run bzflag quite happily from the build directory.

- I have an Elite3D graphics card and an Ultra-60 with loads of
  memory, but bzflag runs really slow when I move the quality to
  medium or high?

	The Elite3D card was produced by Sun to fill market
	demand. Unfortunately, this demand doesn't involve doing
	the kind of texture mapping that you normally find in
	everyday games and simulations. In order to get superior
	performance for texture mapping, you have to place enough
	memory on the frame buffer to hold the textures. The Elite3D
	only permits a 16x16 tex map and holds ALL textures in the
	main memory of your workstation! As a result performance is
	particularly poor.

	The only way around this is to talk Sun into developing a
	leading edge graphics card that supports texture mapping,
	or, talk to some of the PCI card manufacturers - maybe one
	of them is willing to write the drivers for a voodoo card!

- bzflag doesn't work when I use WindowMaker - it displays a large
  window then core dumps!

	I'm still looking into this one. Try using dtwm or olwm
	instead.



For any comments please mail me at: andrew.white@sun.com
