PHPackages                             andach/php-doom-wad-analysis - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. andach/php-doom-wad-analysis

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

andach/php-doom-wad-analysis
============================

A set of PHP classes to analyse and parse DOOM wads.

v0.0.2(1y ago)013MITPHP

Since May 20Pushed 1y ago1 watchersCompare

[ Source](https://github.com/andach-andreas/php-doom-wad-analysis)[ Packagist](https://packagist.org/packages/andach/php-doom-wad-analysis)[ RSS](/packages/andach-php-doom-wad-analysis/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (1)Versions (3)Used By (0)

PHP Doom Wad Analysis
=====================

[](#php-doom-wad-analysis)

This is a PHP class to analyse DOOM wads. It is currently in development.

Installation
------------

[](#installation)

```
composer install andach/php-doom-wad-analysis

```

Usage
-----

[](#usage)

```
use Andach\DoomWadAnalysis\WadAnalyser;

$settings = [
    'colormap' => true,
    'playpal'  => true,
    'maps' => [
        'images'   => true,
        'counts'   => true,
        'things'   => true,
        'linedefs' => true,
        'sidedefs' => true,
        'vertexes' => true,
        'textures' => true,
    ],
];

$analyser = new WadAnalyser($settings);
$result = $analyser->analyse('/path/to/file.wad');

```

Testing
-------

[](#testing)

```
.\vendor\bin\phpunit.bat --coverage-html coverage

```

Output
------

[](#output)

Calling `$analyser->analyse()` returns a deeply structured array that breaks down the contents of the WAD file. This output is intended for developers or tools that need to introspect, validate, visualize, or modify DOOM WAD data.

### Top-Level Structure

[](#top-level-structure)

```
[
    'type' => 'PWAD' | 'IWAD',
    'complevel'    => 21
    'has_playpal'  => true | false,
    'has_colormap' => true | false,
    'playpal'      => [...],    // Present only if has_playpal is true
    'colormap'     => [...],   // Present only if has_colormap is true
    'counts'   => [
        'maps'     => 32,
        'things'   => 1234,
        'linedefs' => 1234,
        'sidedefs' => 1234,
        'vertexes' => 1234,
        'sectors'  => 1234,
    ],
    'maps' => [
        'MAP01' => [
            'things'   => [...],
            'linedefs' => [...],
            'sidedefs' => [...],
            'vertexes' => [...],
            'sectors'  => [...],
            'counts'   => [
                'things'   => 1234,
                'linedefs' => 1234,
                'sidedefs' => 1234,
                'vertexes' => 1234,
                'sectors'  => 1234,
            ],
        ],
        ...
    ]
]
```

### Maps Structure

[](#maps-structure)

#### Things

[](#things)

Entities such as players, monsters, items, decorations, etc.

```
[
    [
        'x' => 128,
        'y' => 512,
        'angle' => 0,
        'type' => 1,
        'flags' => 7,
    ],
    ...
]
```

#### Linedefs

[](#linedefs)

Defines the walls and logic lines between points.

```
[
    [
        'start_vertex' => 0,
        'end_vertex' => 1,
        'flags' => 1,
        'special' => 0,
        'sector_tag' => 0,
        'right_sidedef' => 0,
        'left_sidedef' => -1,
    ],
    ...
]
```

#### Sidedefs

[](#sidedefs)

Texture information for each side of a wall (linedef).

```
[
    [
        'x_offset' => 0,
        'y_offset' => 0,
        'upper_texture' => 'BRICK1',
        'lower_texture' => 'BRICK2',
        'middle_texture' => 'BRICK3',
        'sector' => 1,
    ],
    ...
]
```

#### Vertexes

[](#vertexes)

2D points used by linedefs to form geometry.

```
[
    [ 'x' => 128, 'y' => 64 ],
    ...
]
```

#### Sectors

[](#sectors)

Defines vertical space areas with floor/ceiling properties and lighting.

```
[
    [
        'floor_height' => 0,
        'ceiling_height' => 128,
        'floor_texture' => 'FLAT1',
        'ceiling_texture' => 'CEIL1',
        'light_level' => 160,
        'special' => 0,
        'tag' => 0,
    ],
    ...
]
```

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance47

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Total

2

Last Release

400d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/14134660effc2fe199c32c19c6749473faf24b3944bd15dcf34dd9e088f8f095?d=identicon)[andach-andreas](/maintainers/andach-andreas)

---

Top Contributors

[![andach-andreas](https://avatars.githubusercontent.com/u/140014241?v=4)](https://github.com/andach-andreas "andach-andreas (19 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/andach-php-doom-wad-analysis/health.svg)

```
[![Health](https://phpackages.com/badges/andach-php-doom-wad-analysis/health.svg)](https://phpackages.com/packages/andach-php-doom-wad-analysis)
```

###  Alternatives

[mck89/peast

Peast is PHP library that generates AST for JavaScript code

19139.2M47](/packages/mck89-peast)[sauladam/shipment-tracker

Parses tracking information for several carriers, like UPS, USPS, DHL and GLS by simply scraping the data. No need for any kind of API access.

9843.5k](/packages/sauladam-shipment-tracker)[jstewmc/rtf

Read and write Rich Text Format (RTF) documents with PHP

45153.1k6](/packages/jstewmc-rtf)[tcds-io/php-jackson

A lightweight, flexible object serializer for PHP, inspired by FasterXML/jackson

113.2k10](/packages/tcds-io-php-jackson)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
