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.php
This 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 | ❌ |