Skip to content

michal4132/pyBLB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published