this was put together by Swivel - CSR, and handicapped by troll :P
Nah just kidding.. he was extremely helpful with the design and implementation
of the demo and always there to support the effort, and always there to
fund late night denny's runs and supply my nicotine cravings.

The music is also originally a tune done by acell called 'loop' which is
obviously where we got the name for the demo, the original song was way
too long for our demo since we simply didnt have enough time to make enough
interesting stuff to fill such a long (but great) song, so troll pulled out
IT and changed it up a bit shrinking the song drastically.  The original
is available on the csr site (www.csrmusic.org).  We also ended up grabbing 
some of acell's graphical works off his page (hell, hes a CSR member aint he?) 
the jupiter image is solely a work by acell and very cool if I may say so 
myself.  Late in the development process I also emailed acell requesting
more graphics for the demo particularly for the credits, fortunately he replied
the next day along with some files attatched :)  I'd like to shout out a Yeah,
Whatevah to acell, hopefully this production will spark more life into CSR and
get more members active and maybe even attract some new people. 

I am currently looking for artists who would be interested in doing graphics
for games and demos under the *Linux* platform.  Hell, even coders, anyone who
feels they would like to contribute to the linux demo and/or game scene, please
send me an email!

this demo uses svgalib in modex (320x240x256) almost every vga 
I have tried this mode on has been compatible with it, if it doesnt work, 
I guess your vga sucks :).  Otherwise your svgalib is defunct.
It also supports SVGA (640x480x256, however, this is much slower than modex)
I couldnt get 640x480 linear to work on my vga (matrox) using the vesa driver
in svgalib, why I dont know, so the SVGA version uses banked SVGA, would go
a bit faster if it were linear, if anyone can tell me how to make my vga do
this in svgalib, please mail me, and no vga_setlinearaddressing() didnt work.
Im sure a few vga doc reading sessions will reveal to me a direct way to do
this to the vga, but im not so sure how compatible such a solution would be
with all the different vga's out there, I was hoping svgalib would be able
to handle all that stuff for me, and I cant assume everyones card is vesa 2.0+
compliant, thats svgalib's job to maintain configuration information.
the demo also supports 320x200 but i dont reccomend it, its ugly (rectangle
pixles) and slow without page flipping.

Problems began to arise when we started grabbing graphics and using them in
640x480 and REALLY enjoying the way they looked, but then having most of the
effects chunk because of the increased size, and since I simply do not have
enough time to go through every single effect and optimize like mad and rewrite
alot of the stuff in assembler, its just gonna have to stay this way until after
the party(spring break 1999) so expect a post-party release of loop with more
optimizations and stuff, and since its GPL, all of you out there can contribute
:)

I have also tweaked the sprite library to center larger-than display area images
by clipping any edges, just so we could keep the beautiful jupiter image @ 
hi-res without having 2 versions on disk or just shrinking it to 320 width.
So, if you can, watch the demo in both video modes :) you will get the best of
both worlds, unless you have an insanely fast machine (p2 @ >=100mhz bus w/agp
video would probably do the trick) 


This also requires an OSS compliant sound driver to be present (/dev/dsp)
if you dont have sound support, the libmikmod I have used has the nosound driver
supported, but when I tested this out on my laptop it was a bit on the fast
side and didnt seem to be timing things correctly, but oh well, if you dont
have sound you shouldnt be watching demos, its half the experience :) .
The demo is highly dependant on the sound to work properly, all the scene
changes and sound-synchronized effects are actually triggered by the player.
No, we didnt sit there and time things like some of you others out there have
done in the past. :P


to compile and run the demo do the following:


edit the file ".CFLAGS" with you favorite line editor (ahem, vi(m))
change the CFLAGS to your liking, the default is ok for 486 boxes or any box
with standard gcc and not egcs/pgcc .. if you have a pentium or something
with a compiler that optimizes for your architecture, please take advantage of
it. (BTW, the demo only runs on intel x86, so I used asm in parts, eat me.)

then type 'make sdl' or 'make vga' depending on which binary you wish to
create (libSDL or SVGAlib)

if you get errors regarding 'vga.h' (file missing) it means you dont
have the development portion of svgalib installed, get svgalib and install it.
I know on debian systems the shared runtime libs and dev portions are 
distributed seperately.

the same goes for errors like 'SDL/SDL.h' not found etc etc.  get libSDL and
install it.  see file INSTALL for information on where to find libsdl/svgalib.

after its completed , simply type './loop-vga' or './loop-sdl'

remember, svgalib programs require root, so su to root before running loop-vga.

and if for some reason you dont want to watch the demo, ctrl-c quits in svgalib.
or you can just kill the process from another vc/xterm.

cya.

Swivel | CSR


any flames questions or comments are welcome in my mailbox.


doh almost forgot, gotta have sum greets:

Swivel greets:
the CSR crew, olly, 10k, T.H.C., olly, draggy, capsta, olly, nothing, k8to, 
olly, pfister, god, olly, scooter(hey, hows buffy?), fysx, olly, tran, 
daredevil, olly, dark avenger, h3xpuppi, olly, Master of Chunk, trixter, olly,
boogieman, olly, landshark, sketch, olly, firehawk, his wife, and adorable baby,
and Sam Lantinga over there at loki bringin real games over to Linux :).

Troll greets:
Sifl DAMN YOU!@!@ sifl not swivel, not olly, sifl sifl sifl.... yeah whatevuh!


Acell greets:
Acell wasnt present to be able to greet anyone :( oh well.. im sure if you know
him, and expected a greet, it would have probably been here.




contact info:
Swivel	 	swivel@csrmusic.org
Troll 		troll@csrmusic.org
Acell		acell@csrmusic.org

for a full list of CSR members look at the file CSR
