|
|
(35 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| {{EngineDescription| | | {{EngineDescription| |
| name=Z-engine| | | 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| |
| }} | | }} |
|
| |
|
| The Z-engine was the engine used by [[Activision]] in [[Zork Nemesis]] and [[Zork: Grand Inquisitor]]. | | ==About== |
| | 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 Z-engine 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. |
|
| |
|
| 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 |
|
| |
|
| ==List of TODO's for Z-Engine 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/zengine/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
| |
|
| |
|
| ==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/zengine/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 ZEngine specific debug channels)
| |
| * Clean out unused member functions from the Console class (see [https://github.com/RichieSams/scummvm/blob/zengine/engines/zengine/console.h console.h]
| |
| * Convert pointer initializers to ''nullptr'' instead of ''0''
| |
|
| |
|
| ==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]] |