A PHP 7.1+ package for drawing BZFlag related things such as map thumbnails; this is a sister project to bzflag-networking.php.
This package can be installed via Composer.
composer require allejo/bzflag-rendering.phpThis library currently supports exporting maps as SVGs or PNGs. Using the WorldRenderer class, you can give it a WorldDatabase instance from version 1.1+ of bzflag-networking.php.
// use allejo\bzflag\graphics\PNG\Radar\WorldRenderer;
use allejo\bzflag\graphics\SVG\Radar\WorldRenderer;
use allejo\bzflag\replays\Replay;
$replay = new Replay('official-match.rec');
$world = $replay->getHeader()->getWorldDatabase();
$renderer = new WorldRenderer($world);
echo $renderer->writeToFile("thumbnail.svg");This package is dedicated to drawing and rendering BZFlag related images or files, meaning this will have dependencies for drawing. In order to allow these dependencies to be "opt-in," it is a separate package.
However, the namespace of this project is shared with its sister project. The namespaces available in this package are the following:
allejo\bzflag\graphics
Here are some examples of SVG images generated by this library.
|
|
|
|
|
|
This project currently has support for drawing the following BZW 2.x object types.
| Object Type | Support |
|---|---|
| arc | ❌ |
| base | ✅ |
| box | ✅ |
| cone | ❌ |
| group | ✅ |
| mesh | ✅ |
| pyramid | ✅ |
| sphere | ❌ |
| teleporter | ✅ |
| tetra | ❌ |