Open main menu
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 * checking
      • loadRoomWithEgo * unchecked
      • setBitVar * unchecked
      • getBitVar * unchecked
      • setOwnerOf * unchecked
      • delay * unchecked
      • walkActorToObject * unchecked
      • putActorAtObject * unchecked
      • walkActorTo * unchecked
      • setActorElevation * unchecked
      • putActor * unchecked
      • setObjPreposition * unchecked
      • getObjPreposition * unchecked
      • doSentence * unchecked
      • drawSentence * unchecked
      • cutscene * unchecked
      • endCutscene * unchecked
      • setCameraAt * unchecked
      • panCameraTo * unchecked
      • cursorCommand * unchecked
      • getActorX * unchecked
      • getActorY * unchecked
      • getActorElevation * unchecked
      • getActorWalkBox * unchecked
      • animateActor * unchecked
      • setObjectName * unchecked
      • saveLoadGame * unchecked
      • resourceRoutines * unchecked
      • restart * unchecked
      • setBoxFlags * unchecked
      • verbOps * unchecked
      • roomOps * unchecked
      • actorOps * unchecked
      • 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 * unchecked
      • getActorMoving * unchecked
      • isSoundRunning * unchecked
      • isScriptRunning * unchecked
      • delayVariable * unchecked
      • stopSound * unchecked
      • startMusic/startSound * unchecked
      • walkActorToActor * unchecked
      • putActorInRoom * unchecked
      • actorFollowCamera * unchecked
      • getActorCostume * unchecked
      • getActorRoom * unchecked
      • getActorFacing * unchecked
      • faceActor * unchecked
      • lights * unchecked
      • stopMusic * unchecked

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

  • Sound
Sound Format:
uint16 length (added by extract util)
uint8 slot - specifies which slot the sound plays in - 2 for music, 0/1/4 for sound effects 
- slot 4 sound effects appear to play in slot 0, but only if no music is playing?
uint8 type - 10 (0x0A) for sound effects, 100 (0x64) for music
uint8 data[]
Type 10 data:
[03/07/0B/0F] - next 4 bytes is data for sound channel 0/1/2/3 (square1, square2, triangle, noise)
[10] - next byte is a number of frames to wait before processing the next update
[FF] - terminate sound
[FE] - loop back to beginning
Type 100 data:
uint8 auxLen - specifies length of some sort of auxiliary data
uint8 auxdata1[auxLen] - a long sequence of small numbers, slowly incrementing
uint8 auxdata2[auxLen] - another sequence of numbers ranging from 00-3F
uint8 unknown[] - haven't decoded yet
[FF] - terminate sound
[FE] - loop back to beginning