rogiel/star-map

A StarCraft II map parser in PHP

0.1.2 2016-07-24 22:53 UTC

This package is not auto-updated.

Last update: 2024-05-11 17:12:35 UTC


README

This library allows you to read StarCraft II map files from PHP.

A object-oriented API is provided to browse through the metadata and the minimap image.

Features

  • Read .SC2Map files from all public game versions
  • Minimap: Allows to read the embeded minimap image

Installation

The recommended way of installing this library is using Composer.

composer require "rogiel/star-map"

This library uses php-mpq to parse and extract compressed information inside the map file.

Example

use Rogiel\StarMap\Map;

// Parse the map
$map = new Map('Ruins of Seras.SC2Map');

// Get the map name in multiple locales
$documentHeader = $map->getDocumentHeader();

echo sprintf('Map name (English): %s', $documentHeader->getName()).PHP_EOL; // english is default
echo sprintf('Map name (French): %s', $documentHeader->getName('frFR')).PHP_EOL;

// Get the map size
$mapInfo = $map->getMapInfo();
$x = $mapInfo->getWidth();
$y = $mapInfo->getHeight();
echo sprintf('Map size: %sx%s', $x, $y).PHP_EOL;

// Export Minimap image as a PNG
$map->getMinimap()->toPNG('Minimap.png');

The output to the snippet above is the following:

Map name (English): Ruins of Seras
Map name (French): Ruines de Seras
Map size: 224x192

Have fun!