Difference between revisions of "SCUMM/NES"
< SCUMM
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 * | *** 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 96: | ||
*** 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 === |
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.