Difference between revisions of "SCUMM/NES"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Sound is complete)
(→‎Engine Verification: check a bunch of opcodes)
Line 40: Line 40:
*** clearState01
*** clearState01
*** drawObject
*** drawObject
*** pickupObject * checking
*** pickupObject * partially checked
*** loadRoomWithEgo * unchecked
*** loadRoomWithEgo * unchecked
*** setBitVar * unchecked
*** setBitVar * unchecked
*** getBitVar * unchecked
*** getBitVar * unchecked
*** setOwnerOf * unchecked
*** setOwnerOf * unchecked
*** delay * unchecked
*** delay
*** walkActorToObject * unchecked
*** walkActorToObject * unchecked
*** putActorAtObject * unchecked
*** putActorAtObject * unchecked
*** walkActorTo * unchecked
*** walkActorTo * unchecked
*** setActorElevation * unchecked
*** setActorElevation * different - does not multiply elevation by 2, takes it as-is
*** putActor * unchecked
*** putActor * unchecked
*** setObjPreposition * unchecked
*** setObjPreposition * different - does nothing at all
*** getObjPreposition * unchecked
*** getObjPreposition
*** doSentence * unchecked
*** doSentence * partially checked
*** drawSentence * unchecked
*** drawSentence * unchecked
*** cutscene * unchecked
*** cutscene * difference - also saves _currentScript and clears some click-related vars
*** endCutscene * unchecked
*** endCutscene * difference - clears the _currentScript var saved in cutscene
*** setCameraAt * unchecked
*** setCameraAt * difference - sets camera to Panning mode, not Normal mode
*** panCameraTo * unchecked
*** panCameraTo * difference - no mention of camera._movingToActor
*** cursorCommand * unchecked
*** cursorCommand
*** getActorX * unchecked
*** getActorX
*** getActorY * unchecked
*** getActorY
*** getActorElevation * unchecked
*** getActorElevation * different - does not divide elevation by 2, returns it as-is
*** getActorWalkBox * unchecked
*** getActorWalkBox
*** animateActor * unchecked
*** animateActor * unchecked
*** lights * partially checked
*** setObjectName * unchecked
*** setObjectName * unchecked
*** saveLoadGame * unchecked
*** resourceRoutines * different - does nothing at all
*** resourceRoutines * unchecked
*** restart * unchecked
*** restart * unchecked
*** setBoxFlags * unchecked
*** setBoxFlags
*** verbOps * unchecked
*** verbOps * different - no case for 0xFF (verb on/off), sets fewer vars
*** roomOps * unchecked
*** roomOps * different - lacks case 2 (room color)
*** actorOps * unchecked
*** actorOps
*** actorFromPos * unchecked
*** actorFromPos * unchecked
*** findObject * unchecked
*** findObject * unchecked
Line 96: Line 96:
*** getDist * unchecked
*** getDist * unchecked
*** getClosestObjActor * unchecked
*** getClosestObjActor * unchecked
*** getRandomNr * unchecked
*** getRandomNr
*** getActorMoving * unchecked
*** getActorMoving
*** isSoundRunning * unchecked
*** isSoundRunning
*** isScriptRunning * unchecked
*** isScriptRunning
*** delayVariable * unchecked
*** delayVariable
*** stopSound * unchecked
*** stopSound
*** startMusic/startSound * unchecked
*** startMusic/startSound
*** walkActorToActor * unchecked
*** walkActorToActor * unchecked
*** putActorInRoom * unchecked
*** putActorInRoom * unchecked
*** actorFollowCamera * unchecked
*** actorFollowCamera * unchecked
*** getActorCostume * unchecked
*** getActorCostume
*** getActorRoom * unchecked
*** getActorRoom
*** getActorFacing * unchecked
*** getActorFacing
*** faceActor * unchecked
*** faceActor * unchecked
*** lights * unchecked
*** saveLoadGame
*** stopMusic * unchecked
*** stopMusic * different - only stops music track


=== Graphics ===
=== Graphics ===

Revision as of 07:06, 7 April 2005

Things To Do

Inventory

  • Make inventory work

Engine Verification

  • Verify functions:
    • ScummEngine::runInputScript()
    • V2 opcodes:
      • beginOverride
      • waitForMessage
      • waitForSentence
      • waitForActor
      • assignVarWordIndirect
      • assignVarByte
      • addIndirect
      • subIndirect
      • add
      • subtract
      • isLessEqual
      • isGreaterEqual
      • isLess
      • isGreater
      • ifClassOfIs
      • startScript
      • chainScript
      • ifNotState08
      • ifState08
      • ifNotState04
      • ifState04
      • ifState02
      • ifNotState02
      • ifNotState01
      • ifState01
      • setState08 * does not appear to request redraw (as clearState08 does)
      • clearState08
      • setState04
      • clearState04
      • setState02
      • clearState02
      • setState01
      • clearState01
      • drawObject
      • pickupObject * partially checked
      • loadRoomWithEgo * unchecked
      • setBitVar * unchecked
      • getBitVar * unchecked
      • setOwnerOf * unchecked
      • delay
      • walkActorToObject * unchecked
      • putActorAtObject * unchecked
      • walkActorTo * unchecked
      • setActorElevation * different - does not multiply elevation by 2, takes it as-is
      • putActor * unchecked
      • setObjPreposition * different - does nothing at all
      • getObjPreposition
      • doSentence * partially checked
      • drawSentence * unchecked
      • cutscene * difference - also saves _currentScript and clears some click-related vars
      • endCutscene * difference - clears the _currentScript var saved in cutscene
      • setCameraAt * difference - sets camera to Panning mode, not Normal mode
      • panCameraTo * difference - no mention of camera._movingToActor
      • cursorCommand
      • getActorX
      • getActorY
      • getActorElevation * different - does not divide elevation by 2, returns it as-is
      • getActorWalkBox
      • animateActor * unchecked
      • lights * partially checked
      • setObjectName * unchecked
      • resourceRoutines * different - does nothing at all
      • restart * unchecked
      • setBoxFlags
      • verbOps * different - no case for 0xFF (verb on/off), sets fewer vars
      • roomOps * different - lacks case 2 (room color)
      • actorOps
      • actorFromPos * unchecked
      • findObject * unchecked
      • switchCostumeSet
    • V5 opcodes:
      • jumpRelative * unchecked
      • stopObjectCode * unchecked
      • breakHere * unchecked
      • setVarRange * unchecked
      • move * unchecked
      • increment * unchecked
      • decrement * unchecked
      • equalZero * unchecked
      • notEqualZero * unchecked
      • isNotEqual
      • isEqual
      • stopScript * unchecked
      • pseudoRoom * unchecked
      • loadRoom * unchecked
      • getObjectOwner * unchecked
      • printEgo * unchecked
      • print * unchecked
      • getDist * unchecked
      • getClosestObjActor * unchecked
      • getRandomNr
      • getActorMoving
      • isSoundRunning
      • isScriptRunning
      • delayVariable
      • stopSound
      • startMusic/startSound
      • walkActorToActor * unchecked
      • putActorInRoom * unchecked
      • actorFollowCamera * unchecked
      • getActorCostume
      • getActorRoom
      • getActorFacing
      • faceActor * unchecked
      • saveLoadGame
      • stopMusic * different - only stops music track

Graphics

  • Flashlight shape
  • Gray room palette in flashlight mode

Scripts

  • Fix freeze after scrolling Maniac Manion logo
  • Somehow add static MM logo and LucasArts logo (needs to be done before engine initializes)

Sound

  • Still need to link in an NES APU module to get sound output; otherwise, Player_NES is complete.