Wintermute/TODO

From ScummVM :: Wiki
Jump to navigation Jump to search

Status

See Wintermute Games for a list of the current state of the various games.

Main ToDo items

Missing Features

  • Screenshots are missing for most of games
  • Sound effects like SoundFXEcho and not implemented
  • Non-English input
    • Required for Russian version of Alpha Polaris
    • Optional for Pole Chudes word guessing game in Russian
  • Some plugins are not implemened:
    • Standard plugins (however, there are no known games that use them)
    • wme_displacement.dll for Beyond the Threshold
    • wme_vlink.dll for Sunrise
    • wme_blackandwhite.dll for Stroke of Fate dilogy
    • wme_shadows.dll for Stroke of Fate dilogy
  • Some externals are not implemented:
    • routine.dll for Stroke of Fate dilogy
    • protect.dll for Stroke of Fate dilogy
  • Engine-specific hacks are not implemented for engine forks:
    • Add File() hacks for Sunrise
    • Add SetGammaDefault() / RestoreGamma() methods for Oknytt
    • Add a dozen of new methods for The Last Crown: Midnight Horror
    • Add a dozen of new methods for J.U.L.I.A.: Among the Stars and J.U.L.I.A.: Untold

Various ToDo

  • Render issues:
    • PSP: Pixel Format RGBA8888@4 is not supported [Bug #12585]
    • WME3D: rendering does not support screen size change [Bug #12630]
    • WME3D: rendering does not support overlays [Bug #12631]
  • Nice to have:
    • Debugger & Compiler
    • Debugger: Implement a way to warp to desired scenes without completing the game to reproduce some game-specific bugs
    • Implement script patches (like in SCI) for fixing original bugs (like, 1 1/2 Ritter slider) and accessing interesting dead code (like, debug screens and level editors bundled inside game packages)

Known Issues

  • Last letter of text lines is missing sometimes. Notable case: 1 1/2 Ritter - Menu font problem [Bug #11007]
  • Dirty rects are working wrong sometimes. Notable case: Helga Deep in Trouble - Graphic mistake [Bug #9683]
  • WME: Engine doesn't use correct screenmode [Bug #11160]
  • WME: Theora player issues [Bug #6500]

Legacy ToDo List

Not sure if this is already fixed or not. Need to look at this later.

  • Optimize UITiledImage
  • Use more than one dirty rect
  • Font-sizes are wrong enough to allow Dirty Split to draw text that is hidden in the original game (most visible on the coin-interface)
  • Alpha-masks for Theora-videos are broken on big-endian platforms

Bugs Also in the Original

In the following you will find a number of bugs which actually already occur when using the original interpreter / .EXE. That is, those errors are bugs in the games themselves, not in ScummVM. Still, we sometimes are able to implement workarounds, meaning ScummVM at times works better than the original ;).

Note that neither of these lists is complete.

Not Fixed

  • WME: Dirty Split - Dialog coming out of wrong character [Bug #6203]
  • WME: 1 1/2 Ritter - Graphical slider issues in sound options menu [Bug #6567]
  • WME: Some games are using same fonts for selected and normal text [Bug #11287]

Fixed

  • WME: Bickadoodle - Assertion on climbing the mountain [Bug #6594]
  • WME: The Kite - Overlapping bug [Bug #6721]
  • WME: Rosemary - Sprite flaw on going upwards [Bug #6572]
  • WME: Add save thumbnails to Corrosion [Bug #11032]

Known Issues for specific 2D games

Known Issues for Monday Starts on Saturnday & Golden Calf

  • Temporary screenshot bmp is not generated at the right location
  • File.Copy is not implemented

Known Issues for FoxTail

  • selection arrow in dialogues menus seems to be drawn a pixel off comparing to original game (need more testing with different FoxTail versions)
  • text in books contains extra '^' character at the beginning of some paragraphs (incorrect split? some kind of specially added control character?)
  • saveload progress bar is not drawn under overlay (I need to learn how to deal with dirtyrects to fix this)
  • savegame description encoding seems to be wrong for some reason for Russian (may be caused by changing encoding during the game)

Known Issues for Rosemary

Known Issues for Ghost in the Sheet

  • WME: Ghost in the Sheet - Freeze of final cutscenes [Bug #6533]

Known Issues for Rhiannon

  • WME: Rhiannon - Animation freeze of the final outtro [Bug #6569]

Known Issues for Vsevolod

  • WME: Vsevolod (DEMO) - Assertion in Intro [Bug #6612]
  • WME: Vsevolod (DEMO) - Assertion on taking the dagger [Bug #6613]
  • WME: Vsevolod (DEMO) - Font too big(?) [Bug #6634]

Known Issues for 5MA

  • WME: 5MA - wasps animation is too slow [Bug #6649]

Known Issues for White Chamber

  • WME: white chamber - bot flickers when changing directions [Bug #6652]
  • WME: white chamber - slow scrolling [Bug #6653]

Known Issues for The Kite

  • WME: The Kite - Script runtime errors [Bug #6722]

Known Issues for Helga Deep in Trouble

  • WME: Helga Deep in Trouble - Graphic mistake [Bug #9683]

Known Issues for The Shine of a Star

  • WME: The Shine of a Star - Problems at shovel puzzle scene [Bug #9720]

Known Issues for Space Madness

  • File.Copy() is not implemented, so extras wallpapers are not exported to saves folder from data.dcp

Known Issues for J.U.L.I.A.: Among the Stars

  • Some methods should be added for JULIA subengine

Known Issues for J.U.L.I.A.: Untold

  • It's unknown if level editor is accessible and working correctly

Known Issues for J.U.L.I.A. (original)

  • Requires sprite-rotation for a puzzle

Known Issues for East Side Story

  • wants "framd.ttf"

Known Issues for specific 2.5D games

Known Issues for Alpha Polaris

  • Cyrillic input is required for Russian version of Alpha Polaris to be completable

Known Issues for Art of Murder 1: FBI Confidential

  • Directory.GetDirectories() is required

Known Issues for The Last Crown: Midnight Horror

  • Some methods should be added

Known Issues for Sunrise

  • Plugin wme_vlink.dll for new video codec should be added
  • File() method should return hardcoded values for "while", "true", and "pDevice" values
    	var file = new File("while");
    	file.OpenAsText(1);
    	var code = file.ReadLine();
    	file.Close();
    	if((code != "EAA34D79-55CE-4d4f-8DFA-A7B733713DB7")) {
    		Sleep(300000);
    		Game.QuitGame();
    	}
    
    	var file = new File("true");
    	file.OpenAsText(1);
    	var code = file.ReadLine();
    	file.Close();
    	if((code != "9B EB FB 94 84 8E C7 3C 94 AA 0E E2 59 AF B6 D7 30 1D DB 5B 1A 49 2d C7 A7 2C 5C FB 3C 96 75 4f 75 99 4A 2E C8 06 9A 4a BB 77 EA 04 E7 30 59 F3")) {
    		Sleep(300000);
    		Game.QuitGame();
    	}
    
    var file = new File("pDevice");
    file.OpenAsText(1);
    var code = file.ReadLine();
    file.Close();
    if((code != "#include<windows.h>#include<d3d9.h>#include<d3dx9.h>BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID pvReserved){return true;}")) {
    	Sleep(300000);
    	Game.QuitGame();
    }
    
  • File() method should lookup other files at /txt/ folder inside DCP package, not at the package root