Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

pyBLB

pyBLB is a Python library for extracting Neverhood BLB files.

Installation

git clone https://github.com/michal4132/pyBLB

Linux:

cd pklib
make

Usage

usage: pyBLB.py [-h] [-i] [-p] [-o OUTPUT] [-c] [-d] [-v] blb_file

Unpack/Pack Neverhood BLB

positional arguments:
  blb_file

optional arguments:
  -h, --help            show this help message and exit
  -i, --insert          pack BLB file
  -p, --print           print data info and exit
  -o OUTPUT, --output OUTPUT
                        output directory
  -c, --create          create json file for file reconstruction
  -d, --decode          convert files to more "modern" format
  -v, --verbose         show debug info

Unpack:

python3 pyBLB.py -c i.blb

Pack:

python3 pyBLB.py -i new.blb

Progress

  • BLB unpacking
  • BLB packing
  • Image
    • decoding
    • encoding NOTE: Only Format 26
  • Image palette
    • reading
    • writting
    • auto matching
  • Video
    • decoding
    • encoding NOTE: Possible using RAD Game Tools
  • Audio
    • decoding
    • encoding NOTE: For now compression is disabled
  • Animation
    • decoding
    • encoding

TODO

  • add helper scripts
    • image packing
    • text encoder
    • palette parser

BLBs

a.blb - sounds and music

c.blb - cut scenes and other video files

i.blb - sprites, backgrounds

m.blb - making of videos

hd.blb - radio spin video, UI elements

t.blb - first person videos

s.blb - level data, animation data (messages) ?????

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

About

Tool for extracting Neverhood BLB

Topics

Resources

Releases

No releases published

Packages

No packages published