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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Zookeeper

license

Zookeeper is a Python library for parsing, analyzing, and modifying ZZT worlds.

The goal is to have an easy to use library which can provide generic functionality for extracting data with straightforward Python scripts.

Features

  • Editing of World information (health, ammo, starting board, set flags, etc.)
  • Editing of Board information (connecting boards, dark rooms, etc.)
  • Editing of Elements and their stats (color, characters, ZZT-OOP code)
  • Support for ZZT save file editing
  • Export boards to ZZT compatible BRD files
  • Create renders of ZZT boards
  • Create renders of ZZT scrolls/object code
  • Convert Font Mania .com files to PNG charsets
  • Documentation and example scripts to get you started

Planned Features

  • Super ZZT file parsing
  • Windows binaries of scripts to be used as tools for non-developers

Example Scripts

Removing the "board is dark" flag from all boards in Caves of ZZT:

import zookeeper

zoo = zookeeper.Zookeeper()
zoo.load_file("CAVES.ZZT")
zoo.parse_world()
zoo.parse_boards()

for board in zoo.boards:
    if board.is_dark:
        board.is_dark = False
zoo.save("LITCAVES.ZZT")

List the code of all objects on every board in Town of ZZT:

import zookeeper

# Load a file, then parse its world, boards, and elements in one line.
zoo = zookeeper.Zookeeper("TOWN.ZZT")

for board in zoo.boards:
    print("=" * 80)
    print(board.title)
    print("-" * 80)
    for stat in board.stat_data:
        if stat.oop_length:
            print(stat.oop)

Requirements

  • Python3
  • Optional install of Pillow (currently not so optional)

About

Python library for parsing and modifying ZZT worlds

Resources

License

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages