Open main menu

ZVision

Revision as of 16:49, 22 December 2014 by Md5 (talk | contribs) (Move ZGI DVD TODOs)
ZVision
Engine developer RichieSams
Companies that used it Activision
Games that use it Zork Nemesis, Zork: Grand Inquisitor
Date added to ScummVM 2013-10-17
First release containing it N/A

About

The ZVision was the engine used by Activision in Zork Nemesis and Zork: Grand Inquisitor.

This engine was added by the GSoC student RichieSams to ScummVM as part of the GSoC 2013.

The ScummVM engine uses Marisa Chan's ZVision re-implementation, which is available from http://github.com/Marisa-Chan/Zengine, as a reference.

It should be noted that from a technical viewpoint, this engine has nothing in common with the MADE engine used for Return to Zork. It should also not be confused with the Z-machine which is the original Virtual Machine used for the original Zork text adventure games.

Status

Both Zork: Nemesis and Zork: Grand Inquisitor are completable, with minor bugs and very small glitches

Immediate TODO's

  • Add a dirty rectangling system for RenderManager AlphaEntries so we're not rendering them to the backbuffer every frame

List of TODO's for ZVision to be playable

ZGI specific TODO's

  • Fix the transparency of the Magic Viewer in the inventory screen
  • Fix the speed of system animations (Magic Viewer, exit menu switch etc)

Nemesis specific TODO's

(None at the moment)

ZGI DVD TODO's

  • Add support for the quite rare DVD version
  • Check for the difference between the CD version of ZGI and the DVD version
    • Potentially higher resolution (Window and/or videos)
    • Potentially different video file format

Other TODO's

  • Make sure all image rendering is endian safe
  • Evaluate all in-engine warnings/debug messages and perhaps move them to higher debug channels (Or ZVision specific debug channels)
  • Convert pointer initializers to nullptr instead of 0
  • Add 'true' UTF-16 support for non-english versions of the game. (See StringManager)
  • Fix display of text: sometimes, a garbage character is shown at the end of text strings