You can get the plugin here: http://users.adelphia.net/~devin_d/bzfl ... ne.tar.bz2
To make this quick, here are the contents of the readme file:
Code: Select all
========================================================================
DYNAMIC LINK LIBRARY : UselessMine Project Overview
========================================================================
The UselessMine plugin allows players to lay proximity mines within the map. There are three different mine types: a shock wave mine, a mine that fires bullets in a spherical pattern , and a mine that fires bullets in a cylindrical pattern. Typing /mine will print a usage message. To set a mine in the map one would type /mine <mine> when he or she has the useless flag. When a mine is set, the point where the user typed /mine is recorded and that person's flag is dropped. If someone comes within the distance _shockOutRadius to that recorded point, the mine blows up (whoever set the mine cannot cause it to blow up).
========================================================================
NOTES
========================================================================
This plugin requires the Boost library to compile. The Boost library is available at http://boost.org/, and is basically an extension to the C++ Standard Library. After it is installed, you just have to add -I/path/to/boost/headers to CPPFLAGS in the makefile. For instance, on my computer it is -I/usr/local/include/boost-1_33_1/. You can, of course, change the code to not use boost at all.
Also, the mines are invisible. I have not found a way to draw something that represents a mine, which is probably not possible.
========================================================================
KNOWN PROBLEMS
========================================================================
BzFlag only allows a limited number of shots to exists a once. That number can be reached by using SphericalRegMine and CylindricalRegMine. Thus, only one mine can blow up at once.
Sometimes BZFlag will create a shot with an id withing the range [kMineShotID, kMineShotIDMax], resulting in a call to sendMineDeathMessage(), which shouldn't be called.
========================================================================
POSSIBLE PROBLEMS
========================================================================
I'm not sure if the shock wave world weapon uses _shockOutRadius to control how big it is.
Also, you shouldn't need to install Boost to use the .so I provided, since it was just a bunch of template code that was included. I used boost::array and boost::shared_ptr.
Also, the Mac build I provided will probably only work on Mac OS 10.3.9 and later. If I remember correctly, versions of Mac OS before 10.3.9 only included a static version of libstdc++; whereas, later versions of Mac OS include a static and dynamic libstdc++. I believe UselessMine.so was linked dynamically and should only work on Mac OS 10.3.9 and later, but don't hold me to this.
[/edit]
Here is a screenshot of one of the mines blowing up.