ernestpasnik / blitzmaxstream

BlitzMax 中使用的二进制数据的便捷工具

v1.0.0 2023-09-09 11:21 UTC

This package is auto-updated.

Last update: 2024-09-09 13:42:29 UTC


README

BlitzMax 中使用的二进制数据的便捷工具,详情请见 BlitzMax 文档。

安装

composer require ernestpasnik/blitzmaxstream

文档

读取

写入

其他

使用示例

此库可用于读取 Unreal Software 的 CS2D 地图文件,具体规范请见此处

$mapData = file_get_contents('de_dust2.map');
$buffer = new BlitzMaxStream($mapData);

$header = [];
$header['header'] = $buffer->readLine();
$header['scrollMap'] = $buffer->readByte();
$header['useModifiers'] = $buffer->readByte();
$header['saveTileHeights'] = $buffer->readByte();
$header['use64pxTiles'] = $buffer->readByte();
$buffer->skipBytes(6);
$header['sysUptime'] = $buffer->readInt();
$header['authorUSGN'] = $buffer->readInt();
$header['daylightTime'] = $buffer->readInt();
$buffer->skipBytes(28);
$header['authorName'] = $buffer->readLine();
$header['programUsed'] = $buffer->readLine();
$buffer->skipBytes(16);
$header['infoString'] = $buffer->readLine();
$header['tilesetImage'] = $buffer->readLine();
$header['tileCount'] = $buffer->readByte();
$header['mapWidth'] = $buffer->readInt();
$header['mapHeight'] = $buffer->readInt();
$header['backgroundImage'] = $buffer->readLine();
$header['bgScrollX'] = $buffer->readInt();
$header['bgScrollY'] = $buffer->readInt();
$header['bgColorRed'] = $buffer->readByte();
$header['bgColorGreen'] = $buffer->readByte();
$header['bgColorBlue'] = $buffer->readByte();
$header['headerTest'] = $buffer->readLine();

许可证

此软件包采用MIT 许可证授权。