The BOOM Engine

Internal Stuff and Limits

By TeamTNT
 

New cheat detection engine -- simpler to set up and faster during play

Scrolling wall algorithm greatly enhanced

Blockmap limit increased from 32K to 64K (was 32K in linux port) without requiring wad changes

Fixed texture mapping arithmetic overflows causing game crashes

Ensuring 0 tag trigger activation doesn't crash

Crushing ceiling limit removed

Medusa fix for non-transparent textures on 2s lines

Do not spawn flying souls outside the map or across monster-impassable lines

Fixing the floor crusher problem (only kills minor monsters)

Making illegal texture changes/sector types not crash

Archvile resurrection of ghosts (unless compatibility optioned)

Remove crash when menu is accessed and mouse speed is greater than 30

Fixed page fault on exit (from the DOS port)

Door triggers on 1-sided lines shouldn't crash

Correcting bullet/rocket/plasma absorption by lower textures

Tutti-frutti removal

Remove venetian blind crashes

Number of switches limit removed

Limit of 32 boss brain spawnspots removed

User-configurable player visible corpse limit (default 32) before they disappear

Opening limit removal

Intercept (walkover linedef) limit removal

Animated flat limit removal

Deathmatch starts limit removal

Spans limits removal (caused venetian blinds crash)

Pain elemental head spawn limit made variable or optional

Visplane limit removal

2S HOM removal

Savegame limit removal

Too many plats removal

Animated linedef limit removal

Too many sprites in view limit

Renderer inner loops rewritten in tuned assembly

Perform lump and texture name lookups with hash tables

Inline where profitable

Replace linear searches by faster methods

Variables and functions made static

const added to function parameters where profitable

Enhanced z_zone memory handler to use memory efficiently

gcc compile flags optimized

Replaced fixed-point arithmetic with floating-point, where faster

Hi/low detail option removed for efficiency in renderer

Allegro full-volume note and sound sample locking errors fixed

Allegro voice detection supported

Support for variable pitch sounds, ala v1.1 engine

Check for stuck note problem - allow midi reset or force them (handled in Allegro)

Improve sound quality (from the DOS port)

Allegro keyboard interrupt bug worked around

Keyboard LED's and {Caps,Num,Scroll}Lock status configurable and reliable on exit