35
edits
(→Sound) |
|||
(14 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
== General == | |||
The NES version is supported (American, European, Swedish, French, German, Spanish, Italian). Please note the beta version is not supported. | |||
The Famicom version (Japanese) is not supported as it does not use the SCUMM engine. | |||
== Things To Do == | == Things To Do == | ||
=== Engine Verification === | === Engine Verification === | ||
* Verify functions: | * Verify functions: | ||
Line 40: | Line 43: | ||
*** clearState01 | *** clearState01 | ||
*** drawObject | *** drawObject | ||
*** pickupObject * | *** pickupObject * partially checked | ||
*** loadRoomWithEgo * unchecked | *** loadRoomWithEgo * unchecked | ||
*** setBitVar * unchecked | *** setBitVar * unchecked | ||
*** getBitVar * unchecked | *** getBitVar * unchecked | ||
*** setOwnerOf * unchecked | *** setOwnerOf * unchecked | ||
*** delay | *** delay | ||
*** walkActorToObject * unchecked | *** walkActorToObject * unchecked | ||
*** putActorAtObject * unchecked | *** putActorAtObject * unchecked | ||
*** walkActorTo * unchecked | *** walkActorTo * unchecked | ||
*** setActorElevation * | *** setActorElevation * different - does not multiply elevation by 2, takes it as-is | ||
*** putActor * unchecked | *** putActor * unchecked | ||
*** setObjPreposition * | *** setObjPreposition * different - does nothing at all | ||
*** getObjPreposition | *** getObjPreposition | ||
*** doSentence * | *** doSentence * partially checked | ||
*** drawSentence * unchecked | *** drawSentence * unchecked | ||
*** cutscene * | *** cutscene * difference - also saves _currentScript and clears some click-related vars | ||
*** endCutscene * | *** endCutscene * difference - clears the _currentScript var saved in cutscene | ||
*** setCameraAt * | *** setCameraAt * difference - sets camera to Panning mode, not Normal mode | ||
*** panCameraTo * | *** panCameraTo * difference - no mention of camera._movingToActor | ||
*** cursorCommand | *** cursorCommand | ||
*** getActorX | *** getActorX | ||
*** getActorY | *** getActorY | ||
*** getActorElevation * | *** getActorElevation * different - does not divide elevation by 2, returns it as-is | ||
*** getActorWalkBox | *** getActorWalkBox | ||
*** animateActor * unchecked | *** animateActor * unchecked | ||
*** lights * partially checked | |||
*** setObjectName * unchecked | *** setObjectName * unchecked | ||
*** resourceRoutines * different - does nothing at all | |||
*** resourceRoutines * | |||
*** restart * unchecked | *** restart * unchecked | ||
*** setBoxFlags | *** setBoxFlags | ||
*** verbOps * | *** verbOps * different - no case for 0xFF (verb on/off), sets fewer vars | ||
*** roomOps * | *** roomOps * different - lacks case 2 (room color) | ||
*** actorOps | *** actorOps | ||
*** actorFromPos * unchecked | *** actorFromPos * unchecked | ||
*** findObject * unchecked | *** findObject * unchecked | ||
Line 96: | Line 99: | ||
*** getDist * unchecked | *** getDist * unchecked | ||
*** getClosestObjActor * unchecked | *** getClosestObjActor * unchecked | ||
*** getRandomNr | *** getRandomNr | ||
*** getActorMoving | *** getActorMoving | ||
*** isSoundRunning | *** isSoundRunning | ||
*** isScriptRunning | *** isScriptRunning | ||
*** delayVariable | *** delayVariable | ||
*** stopSound | *** stopSound | ||
*** startMusic/startSound | *** startMusic/startSound | ||
*** walkActorToActor * unchecked | *** walkActorToActor * unchecked | ||
*** putActorInRoom * unchecked | *** putActorInRoom * unchecked | ||
*** actorFollowCamera * unchecked | *** actorFollowCamera * unchecked | ||
*** getActorCostume | *** getActorCostume | ||
*** getActorRoom | *** getActorRoom | ||
*** getActorFacing | *** getActorFacing | ||
*** faceActor * unchecked | *** faceActor * unchecked | ||
*** | *** saveLoadGame | ||
*** stopMusic * | *** stopMusic * different - only stops music track | ||
=== Graphics === | === Graphics === | ||
Line 121: | Line 124: | ||
* Somehow add static MM logo and LucasArts logo (needs to be done before engine initializes) | * Somehow add static MM logo and LucasArts logo (needs to be done before engine initializes) | ||
== | == Known Issues == | ||
* | * Moving the cursor in the verb/inventory area will 'select' objects in the room if they touch the top of the room (example: stairs) | ||
* Text wrapping doesn't work for the sentence bar (it moves down 1 pixel, right in the middle of the word; needs to wrap at name/word boundaries) | |||
* Walking and talking at the same time doesn't work - stop walking while talking and your mouth will not move, stop talking while walking and you start sliding across the room. | |||
* Clicking in the top 16 pixels of the screen (above the subtitle bar) crashes the program. | |||
* Walkboxes have some bugs - in some cases, you can walk through corners. This appears to be a bug with all V1-V2 games. | |||
* After you select your characters and hit start, the first sound that gets played is 'chirping crickets' instead of 'pickup item'. This may be due to improper handling of o2_stopMusic() | |||
* The 'maniac mansion' logo scroll during the intro gets stuck due to a camera issue (original engine expects screen to be 224 wide, but in ScummVM it's 256 wide so it can't scroll far enough). | |||
edits