# S TEVE'S P ORTABLE G AME L IBRARY.

And Lo, the Lion and the Sheep shall lie down together - but the Sheep won't get much Sleep.
-- Woody Allen

# PLIB: Example Programs and Demonstrations.

PLIB has three sources of sample programs to learn from.

- EXAMPLES: There is a bundle of small programs that each show off one or two small aspects of PLIB and which are not generally all that useful by themselves.
- DEMOS: These are fully worked out demonstration programs that use a wide range of PLIB features to create complete and useful programs that are still small enough to understand quite easily.
- APPLICATIONS: Because many PLIB applications are OpenSourced, there are a large number of complex programs that you can look at to see how large games, simulations and interactive tools can be built using this technology.

## EXAMPLES

The PLIB example programs are distributed in a separate tarball from the main PLIB distribution - and generally, it is updated less often - but following the same version numbers as the main PLIB library.

When you install that package, you'll see that the 'src' directory is split into sections for each PLIB component library - with one or two different examples for each library.

All of the examples are licensed under GPL as bundle and are maintained under the PLIB CVS archive.

- FNT:
  - fnt_test - a basic TXF font browser.
  - slideshow - a way to present a simple slide-show driven from an ASCII text file. Who needs PowerPoint when you have 'vi'? :-)
  - data - this directory contains 20 different TXF fonts.
- JS:
  - js_demo - a program that shows the current output from whatever joysticks it can detect. Useful for testing out which buttons set which bits and which axes are which.
- NET:
  - client-server -
  - http_get -
  - net_echo -
- PUI:
  - simple - the "Hello World" of PUI programs.
  - complex - a fairly pointless program that shows how to control a spinning OpenGL cube, and use a variety of PUI widgets.
  - widget_list - draws every kind of PUI widget each in a separate window. This is what we used to make the screenshots for the PUI manual.
- SG:
  - sg_quat_test - tests the SG quaternions...unsuccessfully I think!
- SL:
  - example - plays a number of annoying sounds.
  - mod_demo - plays a MOD format music file.
- SSG:
  - load_save - Load a 3D model - then just save it again.
  - majik - A test (originally written to help the Majik3D project) that shows Tux walking around on some auto-generated terrain.
  - state_test - Exercises some ssgSimpleState settings.
  - tux - A model of Tux the Penguin spins around on a pedestal encrusted in golden Herring.
  - tween_test - Demonstrated the 'tween' effect.
  - water - Demonstrates the ssgAux library - water/fire/lensflare/particles plus basic shapes, cube, teapot.
  - viewer - A program to allow you to view any 3D model and spin it around using the mouse.
- UTIL:
  - test_dir - tests some of the directory handling features.

## DEMONSTRATIONS

The PLIB demonstration programs are distributed in their own separate tarballs - each has it's own version number and it's own license conditions (although all of them must fall within the SourceForge definition for OpenSourced software in order to reside on the SourceForge server). All of the demonstrations are maintained under the PLIB CVS archive.

- ExPoser - A program to allow you to animate characters for your games using 'Skin and Bones' animation techniques. ExPoser needs PLIB 1.5.1 or later.
- TTT3D - A complete 3D TicTacToe game played on a 4x4x4 board. It's theoretically possible to beat it - theoretically. TTT3D needs PLIB 1.4.0 or later.

## APPLICATIONS

PLIB applications do not reside on the PLIB web site - but you can find links to many of them in our image gallery.