Rooms Interaction Model Code
Cast: Internal - Script 1: startup
on startmovie global lastsprite, allrooms, iosum iosum = "" allrooms = [] lastsprite = 0 createroomsfrom(member("RIdata").text) -- setuprooms end startmovie on setuprooms -- this function is a precursor to createroomsfrom. createroomsfom now does this job in a more general way. this funtion is not used. global allrooms allrooms = [] -- chalk room - 3 states temproom = new(script "room - randomstate", "chalk") -- chalk room state 1 temproomstate = new(script "room state", "chalk brush") tempsoundobject = new(script "sound object", "chalk soundtrack - chalk brush") temproomstate.soundObjects.add(tempsoundobject) tempsoundobject = VOID tempcursorexplantion = "Horizontal: normal. Vertical: space effect" tempintobj = new(script "interactive obj", "default", "chalk brush", tempcursorexplantion, "rect(0, 0, 320, 240)") tempcursoraction = new(script "cursor action", "move", "visual", "smudge") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempcursoraction = new(script "cursor action", "click", "sound", "chalk clip") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID temproomstate.interactiveObjects.add(tempintobj) tempintobj = VOID tempintobj = new(script "interactive obj", "window", "chalk brush", tempcursorexplantion, "rect(93, 59, 111, 84)") tempcursoraction = new(script "cursor action", "holdover", "state change", "chalk piece") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID temproomstate.interactiveObjects.add(tempintobj) tempintobj = VOID tempintobj = new(script "interactive obj", "plug", "chalk brush", tempcursorexplantion, "rect(221, 163, 243, 186)") tempcursoraction = new(script "cursor action", "click", "room change", "hall of time") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID temproomstate.interactiveObjects.add(tempintobj) tempintobj = VOID tempintobj = new(script "interactive obj", "hole", "chalk brush", tempcursorexplantion, "rect(134, 176, 180, 206)") tempcursoraction = new(script "cursor action", "click", "room change", "don't know") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID temproomstate.interactiveObjects.add(tempintobj) tempintobj = VOID temproom.roomStates.add(temproomstate) temproomstate = VOID -- chalk room state 2 temproomstate = new(script "room state", "flashlight") temproom.roomStates.add(temproomstate) tempsoundobject = new(script "sound object", "chalk soundtrack - flashlight") temproomstate.soundObjects.add(tempsoundobject) tempsoundobject = VOID tempintobj = new(script "interactive obj", "default", "flashlight", tempcursorexplantion, "rect(0, 0, 320, 240)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "sound", "cymbal crash") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempcursoraction = new(script "cursor action", "click", "visual", "text display") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "window", "flashlight", tempcursorexplantion, "rect(93, 59, 111, 84)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "holdover", "state change", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID temproomstate = VOID -- chalk room state 3 temproomstate = new(script "room state", "chalk piece") temproom.roomStates.add(temproomstate) tempsoundobject = new(script "sound object", "chalk soundtrack - piece") temproomstate.soundObjects.add(tempsoundobject) tempsoundobject = VOID tempintobj = new(script "interactive obj", "default", "chalk piece", tempcursorexplantion, "rect(0, 0, 320, 240)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "sound", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempcursoraction = new(script "cursor action", "click", "visual", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "window", "chalk piece", tempcursorexplantion, "rect(93, 59, 111, 84)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "holdover", "state change", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "wall icon 1", "chalk piece", tempcursorexplantion, "rect(17, 19, 62, 75)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "room change", "Plug?") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "wall icon 2", "chalk piece", tempcursorexplantion, "rect(18, 98, 90, 213)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "room change", "TV") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID temproomstate = VOID temproom.changestate("chalk brush") -- temproom.printOut() allrooms.add(temproom) -- allrooms[1].printOut() temproom = VOID -- allrooms[1].printOut() -- waiting room - 1 state temproom = new(script "room", "waiting") -- waiting room state 1 temproomstate = new(script "room state", "") temproom.roomStates.add(temproomstate) tempsoundobject = new(script "sound object", "waiting room soundtrack") temproomstate.soundObjects.add(tempsoundobject) tempsoundobject = VOID tempcursorexplantion = "" tempintobj = new(script "interactive obj", "default", "pointer", tempcursorexplantion, "rect(0, 0, 320, 240)") temproomstate.interactiveObjects.add(tempintobj) tempintobj = VOID tempintobj = new(script "interactive obj", "digital clock", "index finger pointing up", tempcursorexplantion, "rect(142, 115, 189, 136)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "room change", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "analog clock right", "index finger pointing right", tempcursorexplantion, "rect(230, 144, 300, 192)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "room change", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "analog clock left", "index finger pointing left", tempcursorexplantion, "rect(52, 108, 114, 163)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "room change", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID tempintobj = new(script "interactive obj", "chair", "index finger pointing down", tempcursorexplantion, "rect(152, 151, 177, 193)") temproomstate.interactiveObjects.add(tempintobj) tempcursoraction = new(script "cursor action", "click", "room change", "??") tempintobj.cursorActions.add(tempcursoraction) tempcursoraction = VOID tempintobj = VOID temproomstate = VOID temproom.changestatenumeric(1) allrooms.add(temproom) temproom = VOID repeat with aroom in allrooms aroom.printOut() end repeat end setuproomsCast: Internal - Script 24: initialize a room
on prepareFrame me global startroom -- alert "got room... setting up" && startroom setuproom(startroom) endCast: Internal - Script 25:handle display info
on exitFrame me global currentroom, lastsprite, cursoractionlist, iosum currentsprite = the rollover if currentsprite > 50 and currentsprite <> lastsprite then -- put currentsprite if lastsprite <> 0 then -- reset previous hilites --member("room states display").line[lastsprite-50].color = rgb(0, 0, 0) member("intobj display").line[lastsprite-50].color = rgb(0, 0, 0) member("cursors display").line[lastsprite-50].color = rgb(0, 0, 0) member("cursor actions display").line[cursoractionlist.getAt(lastsprite-50)..cursoractionlist.getAt(lastsprite-50+1)-1].color = rgb(0, 0, 0) member("cursors explanation display").line[lastsprite-50].color = rgb(0, 0, 0) iosum = "" end if lastsprite = currentsprite thisstate = currentroom.roomStates.getat(currentroom.currentstate) --member("room states display").line[currentsprite-50].color = rgb(255, 0, 0) member("intobj display").line[currentsprite-50].color = rgb(255, 0, 0) member("cursor actions display").line[cursoractionlist.getAt(currentsprite-50)..cursoractionlist.getAt(currentsprite-50+1)-1].color = rgb(255, 0, 0) member("cursors display").line[currentsprite-50].color = rgb(255, 0, 0) member("cursors explanation display").line[currentsprite-50].color = rgb(255, 0, 0) iosum = member("intobj display").line[currentsprite-50] & return & \ member("cursor actions display").line[cursoractionlist.getAt(currentsprite-50)..cursoractionlist.getAt(currentsprite-50+1)-1] & return & \ member("cursors display").line[currentsprite-50] & return & \ member("cursors explanation display").line[currentsprite-50] else if currentsprite < 51 and lastsprite <> 0 then -- reset previous intobj hilite --member("room states display").line[lastsprite-50].color = rgb(0, 0, 0) member("intobj display").line[lastsprite-50].color = rgb(0, 0, 0) member("cursors display").line[lastsprite-50].color = rgb(0, 0, 0) member("cursor actions display").line[cursoractionlist.getAt(lastsprite-50)..cursoractionlist.getAt(lastsprite-50+1)-1].color = rgb(0, 0, 0) member("cursors explanation display").line[lastsprite-50].color = rgb(0, 0, 0) iosum = "" lastsprite = 0 end if member("io summary display").text = iosum go to the frame endCast: Internal - Script 28: Create Rooms
on createroomsfrom toparse olddelimiter = the itemDelimiter the itemDelimiter = tab repeat with l = 1 to the number of lines in toparse if (line l of toparse).char.count = 0 then next repeat room = item 1 of line l of toparse roomstateN = item 2 of line l of toparse Cexplain = item 5 of line l of toparse IOname = item 3 of line l of toparse Cdescri = item 4 of line l of toparse objectrect = item 6 of line l of toparse Caction = item 7 of line l of toparse CeffectT = item 8 of line l of toparse Ceffect = item 9 of line l of toparse roomP = doroom(room) roomStateP = doroomstate(roomP, roomstateN, Cexplain) IOP = doIO(roomStateP, IOname, Cdescri, Cexplain, objectrect) tempCA = new(script "cursor action", Caction, CeffectT, Ceffect) IOP.cursorActions.add(tempCA) addoIO(roomStateP, IOP, IOname) addoroomstate(roomP, roomStateP, roomstateN) roomP.changestatenumeric(1) addroom(room, roomP) end repeat the itemDelimiter = olddelimiter end on doIO rsP, ioN, Cd, Cex, orect repeat with io in rsP.interactiveObjects if (ioN = io.intOname) then return io end if end repeat return new(script "interactive obj", ioN, Cd, Cex, value("rect("&orect&")")) end on addoIO rsP, ioP, ioN repeat with io in rsP.interactiveObjects if (ioN = io.intOname) then return io end if end repeat rsP.interactiveObjects.add(ioP) end on doroomstate rP, rsN repeat with rs in rP.roomStates if (rsN = rs.RSname) then return rs end if end repeat return new(script "room state", rsN) end on addoroomstate rP, rsP, rsN repeat with rs in rP.roomStates if (rsN = rs.RSname) then return rs end if end repeat rP.roomStates.add(rsP) end on doroom room global allrooms repeat with r in allrooms if (room = r.roomname) then return r end if end repeat return new(script "room", room) end on addroom room, rP global allrooms repeat with r in allrooms if (room = r.roomname) then return r end if end repeat allrooms.add(rP) -- alert "allrooms AR:" && allrooms endCast: Internal - Script 29: setup room
on setuproom(r) global allrooms, currentroom, cursoractionlist -- alert "setting up" && r member("rooms display").text = "" member("rooms display").color = rgb(0, 0, 0) i = 1 -- alert "allrooms SUR:" && allrooms repeat with aroom in allrooms member("rooms display").text = member("rooms display").text & aroom.roomname & return --alert "got this far" && aroom.roomname && r && aroom.roomname = r if aroom.roomname = r then currentroom = aroom roomtohilight = i end if i = i + 1 end repeat member("rooms display").line[roomtohilight].color = rgb(255, 0, 0) -- get room state member("room states display").text = "" member("room states display").color = rgb(0, 0, 0) -- alert "got this far" & currentroom -- alert "got this far" & currentroom.roomstates repeat with aroomstate in currentroom.roomstates -- alert member("room states display").text & aroomstate.RSname & return member("room states display").text = member("room states display").text & aroomstate.RSname & return end repeat -- alert currentroom.currentstate thisroomstatename = currentroom.roomstates.getAt(currentroom.currentstate).RSname -- if aroom.roomstates.getAt(currentstate) = aroomstate.RSname then thisroomstate = aroomstate member("room states display").line[currentroom.currentstate].color = rgb(255, 0, 0) aroomstate = currentroom.roomstates.getAt(currentroom.currentstate) -- alert "using state: " & thisroomstatename -- get room sound -- member("sounds display").text = "" repeat with ansoundobj in aroomstate.soundObjects member("sounds display").text = member("sounds display").text & ansoundobj.asound & return end repeat -- place interactive objects on stage intobjsprite = 51 cursoractionlist = [1] member("cursors display").text = "" member("cursor actions display").text = "" member("intobj display").text = "" member("cursors explanation display").text = "" repeat with aninterobj in aroomstate.interactiveObjects sprite(intobjsprite).visible = TRUE sprite(intobjsprite).rect = value(aninterobj.objectRectangle) member("intobj display").text = member("intobj display").text & aninterobj.intOname & return member("cursors display").text = member("cursors display").text & aninterobj.cursorDescription & return member("cursors explanation display").text = member("cursors explanation display").text & aninterobj.cursorExplanation & return if aninterobj.cursorActions.count = 0 then member("cursor actions display").text = member("cursor actions display").text & return cursoractionlist.add(cursoractionlist.getLast()+1) else cursoractionlist.add(cursoractionlist.getLast()+aninterobj.cursorActions.count) repeat with acursoraction in aninterobj.cursorActions member("cursor actions display").text = member("cursor actions display").text \ & acursoraction.action & ", " \ & acursoraction.effecttype & ", " \ & acursoraction.effect & return end repeat end if intobjsprite = intobjsprite + 1 end repeat repeat with i = intobjsprite to 65 sprite(i).visible = FALSE end repeat -- display cursor actions aroom = VOID aroomstate = VOID aninterobj = VOID updatestage endCast: Internal - Script 30: ask change room state
on mouseUp me global currentroom newroomstateindex = pointToLine(sprite the currentspritenum, the clickLoc) if sprite(the currentspritenum).member.text.line[newroomstateindex] <> "" then currentroom.changestatenumeric(newroomstateindex) -- member("room states display").color = rgb(0, 0, 0) -- updatestage -- member("room states display").line[newroomstateindex].color = rgb(255, 0, 0) -- updatestage setuproom(currentroom.roomname) end if endCast: Internal - Script 31
on prepareFrame me -- alert("setting up") global startroom -- alert string(externalParamCount()) repeat with epc = 1 to externalParamCount() -- alert externalParamName(epc) end repeat if externalParamName("sw1") = "sw1" then -- alert externalParamName("sw1") startroom = externalParamValue("sw1") else startroom = "chalk" end if -- alert startroom endCast: Internal - Script 32
on mouseUp me global currentroom, allrooms newroomindex = pointToLine(sprite the currentspritenum, the clickLoc) put the currentspritenum && the clickLoc && pointToLine(sprite the currentspritenum, the clickLoc) if sprite(the currentspritenum).member.text.line[newroomindex] <> "" then currentroom = allrooms[newroomindex] setuproom(currentroom.roomname) end if endCast: Display - Script 6
on exitFrame me repeat with i= 51 to 62 sprite(i).visible = false end repeat endCast: object hierarchy - script 1: room
property roomStates property roomname property currentstate on new me, newroomname roomname = newroomname roomStates = [] return me end on printOut me put "******Room Description******" put "Room name: " & roomname & " >> " & me repeat with rs in roomStates printOut rs end repeat end me on changestatenumeric me, newstate currentstate = newstate end on changestate me, newstate put me.roomStates.count repeat with s = 1 to me.roomStates.count if newstate = me.roomStates.getat(s) then exit repeat end if end repeat currentstate = s-1 end on currentstate me return currentstate endCast: object hierarchy - script 2: randomstate
property roomStates property roomname property currentstate property ancestor on new me, newroomname roomname = newroomname roomStates = [] return me end on printOut me put "******Room Description - random state******" put "Room name: " & roomname & " >> " & me repeat with rs in roomStates printOut rs end repeat end me on currentstate me currentstate = random(count(roomStates)) return currentstate end on changestatenumeric me, newstate currentstate = newstate end on changestate me, newstate put me.roomStates.count repeat with s = 1 to me.roomStates.count if newstate = me.roomStates.getat(s) then exit repeat end if end repeat currentstate = s-1 endCast: object hierarchy - script 3: room state
property soundObjects property interactiveObjects property RSname on new me, roomstatename RSname = roomstatename soundObjects = [] interactiveObjects = [] return me end on printOut me put " Room State Name: " & RSname & " >> " & me repeat with so in soundObjects printOut so end repeat repeat with intob in interactiveObjects printOut intob end repeat end meCast: object hierarchy - script 4: sound object
property asound on new me, anewsound asound = anewsound return me end new on printOut me put " Sound Object: " & asound & " >> " & me end meCast: object hierarchy - script 5: interactive object
property intOname property cursorDescription property cursorExplanation property objectRectangle property cursorActions on new me, newintOname, newcursorDescription, newcursorExplanation, newobjectRectangle intOname = newintOname cursorDescription = newcursorDescription objectRectangle = newobjectRectangle cursorExplanation = newcursorExplanation cursorActions = [] return me end new on printOut me put " Interactive Object Name: " & intOname & " >> " & me put " Cursor Description: " & cursorDescription put " Cursor Explanation: " & cursorExplanation put " Object Rectangle: bbb" & string(objectRectangle) repeat with cursAct in cursorActions printOut cursAct end repeat end meCast: object hierarchy - script 6: cursor action
property action property effecttype property effect on new me, newaction, neweffecttype, neweffect action = newaction effecttype = neweffecttype effect = neweffect return me end new on printOut me put " >> " & me put " Cursor Action: " & action put " Cursor Effect Type: " & effecttype put " Cursor Effect: " & effect end me
anechoic_chamber | default | default | pointer | 0,0,320,240 | over | |||
anechoic_chamber | default | cube | index finger pointing up | 105,103,138,132 | click | visual | cube moves forward | |
anechoic_chamber | default | cube | index finger pointing up | 105,103,138,132 | click | sound | heartbeat | |
anechoic_chamber | default | cube | index finger pointing up | 105,103,138,132 | over | |||
anechoic_chamber | default | rod | index finger pointing up | 161,61,166,176 | click | visual | rod moves forward | |
anechoic_chamber | default | rod | index finger pointing up | 161,61,166,176 | click | sound | shrill pulse | |
anechoic_chamber | default | rod | index finger pointing up | 161,61,166,176 | over | |||
anechoic_chamber | default | sphere | index finger pointing up | 185,108,209,131 | click | visual | sphere moves forward | |
anechoic_chamber | default | sphere | index finger pointing up | 185,108,209,131 | click | sound | breathing | |
anechoic_chamber | default | sphere | index finger pointing up | 185,108,209,131 | over | |||
anechoic_chamber | default | wall plate 1 opening | index finger pressing down | 85,179,99,192 | click | room change | music room | |
anechoic_chamber | default | wall plate 1 opening | index finger pressing down | 85,179,99,192 | over | |||
anechoic_chamber | default | wall plate 1 | open hand | 75,189,89,202 | drag | visual | plate 1 moves revealing animated clouds | |
anechoic_chamber | default | wall plate 1 | open hand | 75,189,89,202 | drag | sound | buhdist monestary story | |
anechoic_chamber | default | wall plate 1 | open hand | 75,189,89,202 | over | |||
anechoic_chamber | default | wall plate 2 opening | index finger pointing up | 205,45,218,58 | click | room change | hall of time | |
anechoic_chamber | default | wall plate 2 opening | index finger pointing up | 205,45,218,58 | over | |||
anechoic_chamber | default | wall plate 2 | open hand | 195,55,208,68 | drag | visual | plates 1 and 2 move revealing clouds and plug | |
anechoic_chamber | default | wall plate 2 | open hand | 195,55,208,68 | drag | sound | buhdist monestary story | |
anechoic_chamber | default | wall plate 2 | open hand | 195,55,208,68 | over | |||
aquarium | default | default | rotating_diver | H: normal. V: space effect | 0,0,320,240 | over | ||
aquarium | default | default | rotating_diver | H: normal. V: space effect | 0,0,320,240 | click | visual | glowing bubbles |
aquarium | default | fish | rotating_diver | H: normal. V: space effect | 22,137,56,161 | move | visual | fish rotates with diver |
aquarium | default | fish | rotating_diver | H: normal. V: space effect | 22,137,56,161 | move | sound | John Lily story |
aquarium | default | motorcycle | rotating_diver | H: normal. V: space effect | 151,91,176,111 | move | visual | motorcycle rotates with diver |
aquarium | default | motorcycle | rotating_diver | H: normal. V: space effect | 151,91,176,111 | move | sound | motorcycle story |
aquarium | default | nun | rotating_diver | H: normal. V: space effect | 207,115,232,132 | move | visual | nun rotates with diver |
aquarium | default | nun | rotating_diver | H: normal. V: space effect | 207,115,232,132 | move | sound | nun story |
aquarium | default | plug hole | rotating_diver | H: normal. V: space effect | 125,160,155,177 | move | visual | aquarium floor shimmers revealing plug |
aquarium | default | plug hole | rotating_diver | H: normal. V: space effect | 125,160,155,177 | click and hold | room_change | hall of time |
chalk | chalk brush | default | chalk brush | H: normal. V: space effect | 0,0,320,240 | move | visual | smudge and reveal |
chalk | chalk brush | hole in floor | chalk brush | H: normal. V: space effect | 134,176,180,206 | click | room change | music |
chalk | chalk brush | wall icon - plug | chalk brush | H: normal. V: space effect | 211,163,243,186 | click | room change | hall of time |
chalk | chalk brush | window | chalk brush | H: normal. V: space effect | 93,59,111,84 | holdover | state change | flashlight |
chalk | chalk piece | default | chalk piece | H: normal. V: space effect | 0,0,320,240 | drag | visual | light trails |
chalk | chalk piece | wall icon - plug | chalk piece | H: normal. V: space effect | 17,19,62,75 | click | room change | hall of time |
chalk | chalk piece | wall icon - TV | chalk piece | H: normal. V: space effect | 18,98,90,213 | click | room change | cartoon |
chalk | chalk piece | window | chalk piece | H: normal. V: space effect | 93,59,111,84 | holdover | state change | chalk piece |
chalk | flashlight | default | flashlight | H: normal. V: space effect | 0,0,320,240 | click | sound | cymbal crash |
chalk | flashlight | default | flashlight | H: normal. V: space effect | 0,0,320,240 | click - random | state change | flashlight - text - random |
chalk | flashlight | default | flashlight | H: normal. V: space effect | 0,0,320,240 | click - random | state change | flashlight - plug |
chalk | flashlight | default | flashlight | H: normal. V: space effect | 0,0,320,240 | click - random | room change | writing |
chalk | flashlight | window | flashlight | H: normal. V: space effect | 93,59,111,84 | holdover | state change | chalk piece |
chalk | flashlight - plug | default | flashlight | H: normal. V: space effect | 0,0,320,240 | click | state change | flashlight |
chalk | flashlight - plug | plug | flashlight | H: normal. V: space effect | 138,92,191,140 | click | room change | hall of time |
chalk | flashlight - text - random | default | flashlight | H: normal. V: space effect | 0,0,320,240 | click | state change | flashlight |
music | default | default | pointer | 0,0,320,240 | over | |||
music | default | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | click | room change | the_hall_of_time |
music | default | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | over | ||
music | default | digital violin | index finger pointing up | 225,67,275,173 | click | state change | DIGviolin | |
music | default | digital violin | index finger pointing up | 225,67,275,173 | over | |||
music | default | tape bow violin | index finger pointing up | 120,63,168,188 | click | state change | TBviolin | |
music | default | tape bow violin | index finger pointing up | 120,63,168,188 | over | |||
music | default | viophonograph | index finger pointing up | 30,55,87,181 | click | state change | viophonograph | |
music | default | viophonograph | index finger pointing up | 30,55,87,181 | over | |||
music | default | self-playing violin | index finger pointing up | 178,160,219,199 | click | state change | SPviolin | |
music | default | self-playing violin | index finger pointing up | 178,160,219,199 | over | |||
music | Spviolin | default | pointer | 0,0,320,240 | over | |||
music | Spviolin | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | click | room change | the_hall_of_time |
music | Spviolin | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | over | ||
music | Spviolin | digital violin | index finger pointing up | 225,67,275,173 | click | state change | DIGviolin | |
music | Spviolin | digital violin | index finger pointing up | 225,67,275,173 | over | |||
music | Spviolin | tape bow violin | index finger pointing up | 120,63,168,188 | click | state change | TBviolin | |
music | Spviolin | tape bow violin | index finger pointing up | 120,63,168,188 | over | |||
music | Spviolin | viophonograph | index finger pointing up | 30,55,87,181 | click | state change | viophonograph | |
music | Spviolin | viophonograph | index finger pointing up | 30,55,87,181 | over | |||
music | Spviolin | self-playing violin | index finger pressing down | 166, 140, 234, 236 | over | |||
music | Spviolin | self-playing violin | index finger pointing up | 166, 140, 234, 236 | click and hold | visual | inside of violin is revealed | |
music | Spviolin | self-playing violin | index finger pointing up | 166, 140, 234, 236 | click and hold | sound | random story - Dog Dream | |
music | Spviolin | self-playing violin | index finger pointing up | 166, 140, 234, 236 | click and hold | sound | random story - Cage Interview | |
music | DIGviolin | default | pointer | 0,0,320,240 | over | |||
music | DIGviolin | button 1 | index finger pressing down | 243,98,247,101 | click | sound | listen to my - speed 1 | |
music | DIGviolin | button 1 | index finger pressing down | 243,98,247,101 | over | |||
music | DIGviolin | button 2 | index finger pressing down | 241,105,245,109 | click | sound | listen to my - speed 2 | |
music | DIGviolin | button 2 | index finger pressing down | 241,105,245,109 | over | |||
music | DIGviolin | button 3 | index finger pressing down | 246,113,249,115 | click | sound | listen to my - speed 3 | |
music | DIGviolin | button 3 | index finger pressing down | 246,113,249,115 | over | |||
music | DIGviolin | button 4 | index finger pressing down | 242,120,246,123 | click | sound | listen to my - speed 4 | |
music | DIGviolin | button 4 | index finger pressing down | 242,120,246,123 | over | |||
music | DIGviolin | button 5 | index finger pressing down | 248,125,251,128 | click | sound | listen to my - speed 5 | |
music | DIGviolin | button 5 | index finger pressing down | 248,125,251,128 | over | |||
music | DIGviolin | button 6 | index finger pressing down | 246,131,249,134 | click | sound | listen to my - speed 6 | |
music | DIGviolin | button 6 | index finger pressing down | 246,131,249,134 | over | |||
music | DIGviolin | button 7 | index finger pressing down | 247,138,250,141 | click | sound | listen to my - speed 7 | |
music | DIGviolin | button 7 | index finger pressing down | 247,138,250,141 | over | |||
music | DIGviolin | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | click | room change | the_hall_of_time |
music | DIGviolin | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | over | ||
music | DIGviolin | tape bow violin | index finger pointing up | 120,63,168,188 | click | state change | TBviolin | |
music | DIGviolin | tape bow violin | index finger pointing up | 120,63,168,188 | over | |||
music | DIGviolin | viophonograph | index finger pointing up | 30,55,87,181 | click | state change | viophonograph | |
music | DIGviolin | viophonograph | index finger pointing up | 30,55,87,181 | over | |||
music | DIGviolin | self-playing violin | index finger pointing up | 178,160,219,199 | click | state change | SPviolin | |
music | DIGviolin | self-playing violin | index finger pointing up | 178,160,219,199 | over | |||
music | TBviolin | default | pointer | 0,0,320,240 | over | |||
music | TBviolin | bow 1 | open hand | 145,23,236,39 | drag | grab object | bow across violin to play | |
music | TBviolin | bow 1 | open hand | 145,23,236,39 | drag | sound | bow across violin to play | |
music | TBviolin | bow 1 | open hand | 145,23,236,39 | over | |||
music | TBviolin | bow 2 | open hand | 149,52,241,70 | drag | grab object | bow across violin to play | |
music | TBviolin | bow 2 | open hand | 149,52,241,70 | drag | sound | bow across violin to play | |
music | TBviolin | bow 2 | open hand | 149,52,241,70 | over | |||
music | TBviolin | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | click | room change | the_hall_of_time |
music | TBviolin | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | over | ||
music | TBviolin | digital violin | index finger pointing up | 225,67,275,173 | click | state change | SPviolin | |
music | TBviolin | digital violin | index finger pointing up | 225,67,275,173 | over | |||
music | TBviolin | tape bow violin | index finger pointing up | 120,63,168,188 | click | state change | TBviolin | |
music | TBviolin | tape bow violin | index finger pointing up | 120,63,168,188 | over | |||
music | TBviolin | viophonograph | index finger pointing up | 30,55,87,181 | click | state change | viophonograph | |
music | TBviolin | viophonograph | index finger pointing up | 30,55,87,181 | over | |||
music | TBviolin | self-playing violin | index finger pointing up | 178,160,219,199 | click | state change | SPviolin | |
music | TBviolin | self-playing violin | index finger pointing up | 178,160,219,199 | over | |||
music | viophonograph | default | pointer | 0,0,320,240 | over | |||
music | viophonograph | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | click | room change | the_hall_of_time |
music | viophonograph | plug | index finger pointing up | multiple plugs floating down | 45,175,266,239 | over | ||
music | viophonograph | digital violin | index finger pointing up | 225,67,275,173 | click | state change | SPviolin | |
music | viophonograph | digital violin | index finger pointing up | 225,67,275,173 | over | |||
music | viophonograph | tape bow violin | index finger pointing up | 120,63,168,188 | click | state change | TBviolin | |
music | viophonograph | tape bow violin | index finger pointing up | 120,63,168,188 | over | |||
music | viophonograph | viophonograph | index finger pressing down | 36,132,78,168 | drag | sound | speed of playback varies from low pitch at the left to normal at the right. | |
music | viophonograph | viophonograph | index finger pressing down | 36,132,78,168 | drag | visual | vinyl spins | |
music | viophonograph | viophonograph | index finger pressing down | 36,132,78,168 | over | |||
music | viophonograph | self-playing violin | index finger pointing up | 178,160,219,199 | click | state change | SPviolin | |
music | viophonograph | self-playing violin | index finger pointing up | 178,160,219,199 | over | |||
phone | default | default | pointer | revealing light | 0,0,320,240 | over | ||
phone | default | bottom phone | open hand | revealing light | 146,172,175,208 | click | room change | love_line |
phone | default | bottom phone | open hand | revealing light | 146,172,175,208 | over | ||
phone | default | left phone | open hand | revealing light | 46,80,95,160 | click | room change | answering machine |
phone | default | left phone | open hand | revealing light | 46,26,195,145 | over | ||
phone | default | right phone | open hand | revealing light | 218,24,280,225 | click | room change | breakfast |
phone | default | right phone | open hand | revealing light | 218,24,280,225 | over | ||
phone | default | top phone | open hand | revealing light | 117,53,152,94 | click | room change | web |
phone | default | top phone | open hand | revealing light | 117,53,152,94 | over | ||
plug | default | default | revealing_light | H: space effect V: normal | 0, 0, 320, 240 | over | ||
plug | default | book 1 | revealing_light | H: space effect V: normal | 146, 23, 173, 57 | click | room_change | writing |
plug | default | book 1 | revealing_light | H: space effect V: normal | 146, 23, 173, 57 | over | sound_volume | book story |
plug | default | book 2 | revealing_light | H: space effect V: normal | 175, 142, 199, 172 | click | room_change | writing |
plug | default | book 2 | revealing_light | H: space effect V: normal | 175, 142, 199, 172 | over | sound_volume | book story |
plug | default | book 3 | revealing_light | H: space effect V: normal | 209, 163, 224, 188 | click | room_change | writing |
plug | default | book 3 | revealing_light | H: space effect V: normal | 209, 163, 224, 188 | over | sound_volume | book story |
plug | default | cage 1 | revealing_light | H: space effect V: normal | 111, 43, 144, 91 | click | room_change | music |
plug | default | cage 1 | revealing_light | H: space effect V: normal | 111, 43, 144, 91 | over | sound_volume | cage story |
plug | default | cage 2 | revealing_light | H: space effect V: normal | 191, 113, 207, 138 | click | room_change | music |
plug | default | cage 2 | revealing_light | H: space effect V: normal | 191, 113, 207, 138 | over | sound_volume | cage story |
plug | default | cage 3 | revealing_light | H: space effect V: normal | 221, 89, 232, 105 | click | room_change | music |
plug | default | cage 3 | revealing_light | H: space effect V: normal | 221, 89, 232, 105 | over | sound_volume | cage story |
plug | default | questions 1 | revealing_light | H: space effect V: normal | 33, 85, 85, 156 | click | room_change | ouija |
plug | default | questions 1 | revealing_light | H: space effect V: normal | 33, 85, 85, 156 | over | sound_volume | question story |
plug | default | questions 2 | revealing_light | H: space effect V: normal | 172, 184, 192, 216 | click | room_change | ouija |
plug | default | questions 2 | revealing_light | H: space effect V: normal | 172, 184, 192, 216 | over | sound_volume | question story |
plug | default | questions 3 | revealing_light | H: space effect V: normal | 191, 42, 209, 64 | click | room_change | ouija |
plug | default | questions 3 | revealing_light | H: space effect V: normal | 191, 42, 209, 64 | over | sound_volume | question story |
plug | default | walking 1 | revealing_light | H: space effect V: normal | 103, 173, 140, 218 | click | room_change | shadow |
plug | default | walking 1 | revealing_light | H: space effect V: normal | 103, 173, 140, 218 | over | sound_volume | walking story |
plug | default | walking 2 | revealing_light | H: space effect V: normal | 159, 71, 192, 109 | click | room_change | shadow |
plug | default | walking 2 | revealing_light | H: space effect V: normal | 159, 71, 192, 109 | over | sound_volume | walking story |
plug | default | walking 3 | revealing_light | H: space effect V: normal | 192, 193, 209, 217 | click | room_change | shadow |
plug | default | walking 3 | revealing_light | H: space effect V: normal | 192, 193, 209, 217 | over | sound_volume | walking story |
waiting | default | default | pointer | 0,0,320,240 | ||||
waiting | default | analog clock left | index_finger_left | 52,108,114,163 | click | room_change | palm reader | |
waiting | default | analog clock right | index_finger_right | 230,144,300,192 | click | room_change | ouija | |
waiting | default | chair | index_finger_down | 152,151,177,193 | click | room_change | shadow | |
waiting | default | digital clock | index_finger_pointing_up | 142,115,189,136 | click | room_change | psychiatrist | |
writing | default | default | pointer | 0,0,320,240 | ||||
writing | default | bed | index finger pointing up | 193,157,226,192 | over | visual | reveal a book | |
writing | default | bed | index finger pointing up | 193,157,226,192 | click | state change | write and edit | |
writing | default | books | index finger pointing up | 41,172,64,209 | over | visual | reveal books | |
writing | default | books | index finger pointing up | 41,172,64,209 | click | state change | detective | |
writing | default | head | index finger pointing up | 169,80,209,124 | over | visual | reveal TV | |
writing | default | head | index finger pointing up | 169,80,209,124 | click | state change | TV | |
writing | default | window | index finger pointing up | 92,47,137,124 | over | visual | reveal plug | |
writing | default | window | index finger pointing up | 92,47,137,124 | click | room change | hall of time | |
writing | detective | default | pointer | 0,0,320,240 | ||||
writing | detective | fin | index finger pointing up | 254,224,282,237 | keyboard | state change | default | |
writing | detective | paper | pointer | 118,24,284,216 | keyboard | text on screen | tells story in text | |
writing | detective | phone | index finger pointing up | 11,113,60,230 | click | sound | story | |
writing | TV | default | pointer | 0,0,320,240 | ||||
writing | TV | phone | index finger pointing up | 11,113,60,230 | click | sound | random (3) | |
writing | TV | UNION | index finger pointing up | 203,3,236,15 | click | state change | default |