Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allejo/bzflag-rendering.php
A library for rendering thumbnails of BZFlag worlds
https://github.com/allejo/bzflag-rendering.php
bzflag php svg
Last synced: about 1 month ago
JSON representation
A library for rendering thumbnails of BZFlag worlds
- Host: GitHub
- URL: https://github.com/allejo/bzflag-rendering.php
- Owner: allejo
- License: mit
- Created: 2020-05-27T06:21:12.000Z (over 4 years ago)
- Default Branch: 0.2
- Last Pushed: 2022-04-18T07:24:04.000Z (over 2 years ago)
- Last Synced: 2024-08-11T09:54:54.906Z (3 months ago)
- Topics: bzflag, php, svg
- Language: PHP
- Homepage:
- Size: 387 KB
- Stars: 5
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# BZFlag Rendering
[![Packagist](https://img.shields.io/packagist/v/allejo/bzflag-rendering.php.svg)](https://packagist.org/packages/allejo/bzflag-rendering.php)
[![Code coverage](https://codecov.io/gh/allejo/bzflag-rendering.php/branch/0.2/graph/badge.svg?token=OBO8JGRPHJ)](https://codecov.io/gh/allejo/bzflag-rendering.php)
[![License](https://img.shields.io/github/license/allejo/bzflag-rendering.php.svg)](LICENSE.md)A PHP 7.1+ package for drawing BZFlag related things such as map thumbnails; this is a sister project to [bzflag-networking.php](https://github.com/allejo/bzflag-networking.php).
## Installation
This package can be installed via [Composer](https://getcomposer.org).
```bash
composer require allejo/bzflag-rendering.php
```## Usage
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`.
```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");
```### Namespaces in this package
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`
## Examples
Here are some examples of SVG images generated by this library.
## Obstacle Drawing Support
This project currently has support for drawing the following BZW 2.x object types.
| Object Type | Support |
|:------------|:-------------------|
| arc | :x: |
| base | :white_check_mark: |
| box | :white_check_mark: |
| cone | :x: |
| group | :white_check_mark: |
| mesh | :white_check_mark: |
| pyramid | :white_check_mark: |
| sphere | :x: |
| teleporter | :white_check_mark: |
| tetra | :x: |## License
[MIT](./LICENSE.md)