|
|
(25 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| {{EngineDescription| | | {{EngineDescription| |
| name=ZVision| | | name=ZVision| |
| developer=[[User:RichieSams|RichieSams]]| | | developer=[[User:RichieSams|RichieSams]], [[User:Md5|[md5]]], [[User:MarisaChan|MarisaChan]]| |
| companies=[[Activision]]| | | companies=[[Activision]]| |
| usedBy=[[Zork Nemesis]], [[Zork: Grand Inquisitor]]| | | usedBy=[[Zork Nemesis]], [[Zork: Grand Inquisitor]]| |
| dateAdded=Not Yet| | | dateAdded=October 17, 2013| |
| release=N/A| | | release=1.8.0| |
| }} | | }} |
|
| |
|
| | ==About== |
| The ZVision was the engine used by [[Activision]] in [[Zork Nemesis]] and [[Zork: Grand Inquisitor]]. | | The ZVision was the engine used by [[Activision]] in [[Zork Nemesis]] and [[Zork: Grand Inquisitor]]. |
|
| |
|
| This engine is being added by the GSoC student [[User:RichieSams|RichieSams]] to ScummVM as part of the GSoC 2013. | | This engine was added by the GSoC student [[User:RichieSams|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 http://github.com/Marisa-Chan/Zengine], as a reference. | | The ScummVM engine uses Marisa Chan's ZVision re-implementation, which is available from [http://github.com/Marisa-Chan/Zengine http://github.com/Marisa-Chan/Zengine], as a reference. |
Line 16: |
Line 17: |
| 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 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 [http://en.wikipedia.org/wiki/Z-machine Z-machine] which is the original Virtual Machine used for the original Zork <b>text</b> adventure games. | | It should also not be confused with the [http://en.wikipedia.org/wiki/Z-machine Z-machine] which is the original Virtual Machine used for the original Zork <b>text</b> adventure games. |
| | |
| | ==Status== |
| | Both Zork: Nemesis and Zork: Grand Inquisitor are completable |
|
| |
|
| ==Immediate TODO's== | | ==Immediate TODO's== |
| * Finish InputControl implementation
| |
| * Implement SaveControl
| |
| * Test the SaveManager against gjse.scr (save room) and gjre.scr (restore room)
| |
| * Add a dirty rectangling system for RenderManager AlphaEntries so we're not rendering them to the backbuffer every frame | | * Add a dirty rectangling system for RenderManager AlphaEntries so we're not rendering them to the backbuffer every frame |
| * Add graceful failure for when .str isn't parsed correctly.
| |
| * Get Courier Prime and FreeSerif added to the packaged fonts, then fall back on them when fonts can't be found
| |
| * Figure out why animations aren't working any more
| |
|
| |
|
| ==List of TODO's for ZVision to be playable== | | ==List of TODO's for ZVision to be playable== |
|
| |
| * Fix audio problems in videos
| |
| ** This is a problem with Video::VideoDecoder
| |
| ** Essentially, Zork videos require the sound chunks to be read as one continuous stream
| |
| ** The current model puts each chunk into a separate AudioStream and then queues the streams
| |
| ** This is being worked on by clone2727
| |
| * Finish implementing the rest of the ResultActions. (See [https://github.com/RichieSams/scummvm/blob/zengine/engines/zvision/actions.h actions.h])
| |
| ** ActionDebug
| |
| ** ActionDisableVenus
| |
| ** ActionDisplayMessage
| |
| ** ActionDissolve
| |
| ** ActionDistort
| |
| ** ActionFlushMouseEvents
| |
| ** ActionInventory
| |
| ** ActionKill
| |
| ** ActionEnableMenuBar
| |
| ** ActionPanTrack
| |
| ** ActionPreferences
| |
| ** ActionRegion
| |
| ** ActionRestoreGame
| |
| ** ActionRotateTo
| |
| ** ActionSaveGame
| |
| ** ActionSetVenus
| |
| ** ActionStop
| |
| ** ActionSyncSound
| |
| ** ActionTTYText
| |
| ** ActionUniverseMusic
| |
| * Finish implementing the rest of the Controls
| |
| ** InputControl
| |
| ** SaveControl
| |
| ** SlotControl
| |
| ** SafeControl
| |
| ** FistControl
| |
| ** HotMovieControl
| |
| ** PaintControl
| |
| ** TilterControl
| |
| * Implement inventory support
| |
| * Implement the menu
| |
| * Implement subtitles
| |
| * Implement saving preferences
| |
| ** Scroll speed
| |
| ** etc.
| |
|
| |
|
| ===ZGI specific TODO's=== | | ===ZGI specific TODO's=== |
| * Determine why gary.scr doesn't load properly
| | (None at the moment) |
| ** This is the first "room". It loads up the environment variables, the opening movie, and then the main menu
| |
| * Implement spellbook support
| |
| * Add a different resolution for ZGI
| |
| * 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== | | ===Nemesis specific TODO's=== |
| * Make sure all image rendering is endian safe
| | (None at the moment) |
| * Look into NOT flatting all the files to root
| |
| ** This would require keeping track of what room you're in so that you can use the correct parent folder
| |
| ** Look at NEMESIS.ZIX and INQUIS.ZIX
| |
| * Re-order the if-then statements in scr ResultAction parsing to use the order of highest occurance (See [https://github.com/RichieSams/scummvm/blob/zengine/engines/zvision/scr_file_handling.cpp#L150 scr_file_handling.cpp: Line 150])
| |
| * Evaluate all in-engine warnings/debug messages and perhaps move them to higher debug channels (Or ZVision specific debug channels)
| |
| * Clean out unused member functions from the Console class (See [https://github.com/RichieSams/scummvm/blob/zengine/engines/zvision/console.h console.h])
| |
| * Convert pointer initializers to ''nullptr'' instead of ''0''
| |
| * Add 'true' UTF-16 support for non-english versions of the game. (See [https://github.com/RichieSams/scummvm/blob/zengine/engines/zvision/string_manager.cpp#L214 StringManager])
| |
|
| |
|
| ==Current Progress== | | ==ZGI DVD TODO's== |
| *[https://github.com/RichieSams/scummvm/tree/zengine Current WIP for Z-engine, on a git fork from ScummVM] | | * Add support for the AC3 sound in the alternate hires MPEG-2 videos of the DVD version |
|
| |
|
| [[Category:Engines]] | | [[Category:Engines]] |