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.