I've already posted these to the blastbay forums, but thought I might as well post them here in case they're any use to anyone who wouldn't find them there.
This is a collection of bgt scripts for various general uses:
https://dl.dropbox.com/u/16520690/includes.zip
The readme file isn't what I'd call complete, but it does try to give a general overview of what the included scripts contain.
I'll give a (much more brief) summary of the contents here:
3d.bgt: Contains classes and methods for working with 3d shapes, including a Shape3D interface for general use, and classes for boxes, cylinders, spheres, lines and conics. (Notice that I tend to capitalize class names.).
browser.bgt: Includes a file browser (uses custom_voice for spoken feedback). It's supposed to be similar to the default windows file select dialogs.
custom_pool.bgt: a modified version of sound_pool that supports listener angle, muffling sounds that are behind the listener, and an attempt at simulating 3d with pitch-shifting (it's easy enough to just ignore the features you don't want to use, or in the case of 3d, disable them (I.E, set pitch_step to 0)).
custom_voice.bgt: Includes a class for speaking text using either sapi or a screen reader, or a word_speaker (the word_speaker class is included in the same file and looks for audio files in a specified directory. It tries to play the biggest phrase it can find.). Has a built in options menu and save/load methods to keep track of settings.
FiniteStateMachine.bgt: Includes an interface and a superclass for working with FiniteStateMachines. This is a style of virtual object that I use in a lot of my games, but it is a little difficult to explain the use in a short paragraph. A FiniteStateMachine always has one state, and it behaves and changes based on that state. This is useful for enemies, player characters, traps, etc.
geom.bgt: Contains lots and lots of classes and functions for 2d geometry. It's mostly derived from java.awt.geom, so reading the code is a serious pain. The way this was organized kind of prevented me from adding Paths or cubic curves, but the existing shapes should serve most purposes well enough.
math.bgt: Includes various functions for mathematical operations.
sound_positioning.bgt: A modified version of the sound_positioning script included with bgt, mostly to support the features in custom_pool.
Many of these scripts rely on one another (geom relies heavily on math, browser uses custom_voice which uses custom_pool which uses math, etc).
I also have a custom_menu class, but it doesn't seem like it'd work so well for general use (and BGT already includes a menu class of its own that seems to work well for everyone else).
"If you want utopia but reality gives you Lovecraft, you don't give up, you carve your utopia out of the corpses of dead gods."
MaxAngor wrote:
George... Don't do that.