Difference between revisions of "Wintermute"

Jump to navigation Jump to search
700 bytes removed ,  22:34, 12 June 2021
no edit summary
(more changes per ResidualVM merge)
Line 3: Line 3:
         developer=[[User:somaen|somaen]], [[User:t0by|t0by]], [[User:Fury|Fury]]|
         developer=[[User:somaen|somaen]], [[User:t0by|t0by]], [[User:Fury|Fury]]|
         companies=[[Dead:Code Software]]|
         companies=[[Dead:Code Software]]|
         usedBy=[[Wintermute/Games|Dozens of games]]|
         usedBy=[[Wintermute/Games|Hundred of games]]|
         dateAdded=2012-09-04|
         dateAdded=2012-09-04|
         release=1.7.0|
         release=1.7.0|
Line 16: Line 16:
The 3D part of the engine was implemented by the GSOC student [[User:Fury|Fury]] as part of the [[Summer of Code/GSoC2020|GSoC 2020]].
The 3D part of the engine was implemented by the GSOC student [[User:Fury|Fury]] as part of the [[Summer of Code/GSoC2020|GSoC 2020]].


Once complete, this engine would add support to more than fifty 2D and 2.5D games, would give the users a nice way to create games supported by ScummVM, and would bring to Dead:Code the portability of which they dream.
Once complete, this engine would add support to more than hundred 2D and 2.5D games, would give the users a nice way to create games supported by ScummVM, and would bring to Dead:Code the portability of which they dream.


==Features==
==Features==
This port of the Wintermute Engine (WME) is based on WME Lite, which lacks the following functionality
This port of the Wintermute Engine (WME) is based on WME Lite, which lacks some functionality originally found in WME: (from http://res.dead-code.org/doku.php/wmelite:start)
originally found in WME: (from http://res.dead-code.org/doku.php/wmelite:start)


The following features of WME 1.x are NOT supported by WME Lite:
In addition, this port removes a few additional features that were never/rarely used.
* Sprite frame mirroring.
{| class="wikitable"
* Sprite rotations.
|+
* Sprite blending modes.
Comparison of different WME forks
* Video playback.
!Feature
* Plugins.
!WME 1.x
* Calling external functions from DLL libraries from scripts.
!WME Lite
* Game Explorer support.
!ScummVM
* 'Directory' script object.
|-
* Sound effects like SoundFXEcho().
|3D Characters
 
|Yes
This port does reimplement a few of these features, currently:
|No
* 3D characters. WME Lite only supports 2D games.
|Yes
* Sprite frame mirroring - WORKS.
|-
* Sprite rotations.
|Sprite frame mirroring
* Video playback - Theora PARTIALLY WORKING. (Slow, and doesn't support seeking)
|Yes
 
|No
In addition, this port removes a few additional features that were never/rarely used:
|Yes
* 'File' script object - ScummVM doesn't have any easy way to write/read arbitrary files.
|-
* Debugger/Compiler - weren't properly accessible in WME Lite anyhow.
|Sprite rotations
* CD-numbering support in .dcp-files - was never used.
|Yes
* 'SaveDirectory'-property of 'Game' will not return anything usefull to the game-scripts (saving is handled through SaveFileMan)
|No
|Yes
|-
|Sprite blending modes
|Yes
|No
|???
|-
|Video playback
|Yes
|No
|Partially (Theora is slow and doesn't support seeking)
|-
|Sound effects like SoundFXEcho()
|Yes
|No
|No
|-
|Plugins
|Yes
|No
|For most games, reimplemented - see [[Wintermute/Plugins]]
|-
|External functions from DLLs
|Yes
|No
|For most games, reimplemented - see [[Wintermute/Externals]]
|-
|'Directory' script object
|Real files listing
|Real files listing
|For most games, static lists - see script_ext_directory.cpp
|-
|'File' script object
|Real files access
|Real files access
|Implemented with SavefileManager
|-
|Game Explorer support.
|Yes
|No
|No
|-
|Debugger
|Yes
|No
|No
|-
|Compiler  
|Yes
|No
|No
|-
|CD-numbering support in .dcp-files  
|Yes
|Yes
|No, was never used
|-
|VKey values
|MSDN Keycodes
|SDL Keycodes
|MSDN / SDL Keycodes (specific per game)
|}


==Additional limitations==
==Additional limitations==
Line 49: Line 110:
* TTF-fonts might behave a bit differently, owing to both the change to FreeType in WME Lite and the change in dpi in this port of WME.
* TTF-fonts might behave a bit differently, owing to both the change to FreeType in WME Lite and the change in dpi in this port of WME.
* The window-caption-setting in-game will be ignored, for the sake of concistency with ScummVM.
* The window-caption-setting in-game will be ignored, for the sake of concistency with ScummVM.
* Most VKey-combinations might still be missing (as they already were in WME Lite)
* Since we don't use FreeImage, some games might use odd files that weren't expected when the image-decoders in ScummVM were written. One example here is interlaced-PNGs.
* Since we don't use FreeImage, some games might use odd files that weren't expected when the image-decoders in ScummVM were written. One example here is interlaced-PNGs.
* UTF8-support is not ported, which means only games with western charsets will work for now.
* Games that select language by moving .dcp-files around still need a bit more handling on detection/load adding support for those languages on a language-by-language basis.
* Most games assume the availability of the Windows-fonts (particularly arial.ttf) at this point no fallback has been put in place for using FreeFonts as replacements, simply for lack of having them easily accessible to the engines at this point. So, at least arial.ttf should be put in either the game-folder or made available through the extras-folder for now, otherwise kGUIBigFont will be used as a replacement.
* Most games assume the availability of the Windows-fonts (particularly arial.ttf) at this point no fallback has been put in place for using FreeFonts as replacements, simply for lack of having them easily accessible to the engines at this point. So, at least arial.ttf should be put in either the game-folder or made available through the extras-folder for now, otherwise kGUIBigFont will be used as a replacement.
Line 81: Line 139:
See [[Wintermute/Games|Wintermute Games]] for a list of known games and their current state of support in the engine.
See [[Wintermute/Games|Wintermute Games]] for a list of known games and their current state of support in the engine.


==Games with known issues:==
==Known issues:==
Certain games will work mostly fine with this engine, but can still be impossible to complete for various reasons, this is a list of games
that technically qualify but have issues that make them problematic or not completable:
 
Gameplay broken:
* J.U.L.I.A. (Full game) (julia) - Requires sprite-rotation for a puzzle.
 
Non-critical:
* East Side Story (eastside) - wants "framd.ttf"
 
==General known issues:==
See [[Wintermute/TODO|Wintermute TODO]] list.
See [[Wintermute/TODO|Wintermute TODO]] list.


==See Also==
==See Also==
* [[Wintermute/Controls]]
* [[Wintermute/Controls]]
* [[Wintermute/Externals]]
* [[Wintermute/Plugins]]
* [[Wintermute/Versions]]
* [[Wintermute/Versions]]


234

edits

Navigation menu