Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - OmerMor

Pages: 1 2 [3]
31
SCI Syntax Help / Restoring QfG1VGA Missing End-Game Scene
« on: November 01, 2015, 04:30:52 PM »
The original QfG1 had an elaborate end game scene.
Here are the last few sequences of it: https://youtu.be/abSNKxMYjro?t=100.

In the remake, Sierra chopped several pieces: https://youtu.be/rUdAVpkFz6k?t=210
  • No music - at least sometimes. I've seen other replays of the ending that had the music.
  • No carpet over the valley scene.
  • No Dragon + Trial by Fire Logo Scene

The carpet over the valley scene actually had it's picture drawn - but never used. It's picture #101

The view of the carpet (101) is missing most of the loops.

The script for the valley scene (flyScript from room 602) looks almost finished - and very similar to room 601 from the original QfG1. They removed the call to the flyScript from the main function (localproc_007c), but it's easy to reintroduce it - especially when comparing to the original script.

Does anyone feel up to the task of adding the missing loops and finishing this part of the game?

32
SCI Syntax Help / King's Quest 6 (CD) Easter Egg? (Help Needed)
« on: July 24, 2015, 07:01:05 AM »
Akril from the SHP forums found an interesting view in KQ6, see here:
http://www.sierrahelp.com/forums/viewtopic.php?f=6&t=4311

The view number is 257, and it is only referenced from room 250 in the CD version of the game.

Here's the decompiled room script:
Code: [Select]
(version 2)
(include "sci.sh")
(exports
    0 rm250
)
(use "Main")
(use "walkEgoInScr")
(use "NewRoomCue")
(use "n913")
(use "MessageObj")
(use "Scaler")
(use "PolyPath")
(use "Polygon")
(use "CueObj")
(use "Cycle")
(use "View")
(use "Obj")
(script 250)

(local
    local0 =     -1
    local1[2]
    local3
    local4

)
(procedure (localproc_149a)
    return == (beauty:script) roseTendingScr
)


(procedure (localproc_14a9)
    return
        (if (localproc_149a())
            (if (proc913_0(37))
                10
            )(else
                12
            )
        )(else
            11
        )
)

(instance public rm250 of KQ6Room
    (properties
        noun 3
        picture 250
        horizon 0
        east 240
        south 240
        west 260
    )

    (method (init param1)
        (send global2:addObstacle((send ((Polygon:new())):
                type(2)
                init(369 -60 369 169 319 169 65 110 0 110 0 -60)
                yourself()
            )
 (send ((Polygon:new())):
                type(0)
                init(-40 125 40 125 201 189 201 229 -40 229)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(0 161 84 162 103 186 176 186 176 189 0 189)
                yourself()
            )
))
        (send gEgo:
            init()
            setScale(Scaler 100 67 153 109)
        )
        (super:init(rest param1))
        (if (== gGArrayScriptGetValue 260)
            proc12_1(8 116)
        )(else
            proc12_1(272 187 -50)
        )
        (houseDoor:init())
        (gate:init())
        (genericFeatures:init())
        (houseRoses:init())
        (palmTrees:init())
        (featureToBeIgnored:init())
        (send (ScriptID(10 4)):
            onMeCheck(8)
            init()
        )
        (leaves:init())
        (if (>= (send gKq6:_detailLevel) 2)
            (leaves:setScript(ScriptID(13 0)))
        )
        (if ((send gEgo:has(37)) and not proc913_0(43))
            (beauty:init(1))
        )(else
            (if (((<> global154 global153) and (<= global155 3)) and not proc913_0(43))
                (beauty:
                    init(0)
                    setScript(
                        (if (proc999_5(++global155 3 4))
                            rmAct3and4Scr
                        )(else
                            rmAct1and2Scr
                        )
)
                )
            )
        )
        (send global102:
            number(250)
            loop(-1)
            play()
        )
    )


    (method (dispose param1)
        = global154 global153
        proc913_2(59)
        (super:dispose(rest param1))
        DisposeScript(964)
        DisposeScript(13)
    )


    (method (doVerb theVerb param2)
        (if (== theVerb 1)
            (send gKq6Messager:say(noun theVerb
                (if (< global153 5)
                    26
                )(else
                    27
                )
))
            1
        )(else
            (super:doVerb(theVerb rest param2))
        )
    )


    (method (edgeToRoom param1 param2)
        (var temp0)
        = temp0 1
        (switch (param1)
            (case 3
                proc12_0(param1 -50)
                return 0
            )
            (case 2
                proc12_0(3 -50)
                return 0
            )
            (case 4
                proc12_0(param1)
                return 0
            )
            (default
                = temp0 0
                (super:edgeToRoom(param1 rest param2))
            )
        )
        return
            (if (temp0)
                (beauty:setScript(0))
                (send global102:fade())
            )(else
                0
            )
    )


    (method (scriptCheck param1 param2)
        (var temp0, temp1)
        = temp0 0
        (switch (param1)
            (case 87
                (if ((send gNewEventHandler:contains(beauty)))
                    (send gKq6Messager:say(0 0 2 0 0 899))
                )(else
                    = temp0 1
                )
            )
            (case 85
                = temp1 (send gNewEventHandler:contains(beauty))
                (if (temp1 and localproc_149a())
                    (CueObj:
                        state(0)
                        cycles(0)
                        client(beauty)
                        theVerb(31)
                    )
                    (send gEgo:setMotion(PolyPath (beauty:approachX) (beauty:approachY) CueObj))
                )(else
                    (if (temp1)
                        (beauty:doVerb(31 rest param2))
                    )(else
                        = temp0 1
                    )
                )
            )
            (case 93
                (if ((send gNewEventHandler:contains(beauty)))
                    (send gKq6Messager:say(7 0 16 0 0 0))
                )(else
                    = temp0 1
                )
            )
            (default
                = temp0 1
            )
        )
        return temp0
    )

)
(instance roomConv of Conversation
    (properties)
)
(instance rmAct1and2Scr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc913_1(59)
                (send client:
                    view(253)
                    loop(2)
                    cel(0)
                    posn(213 81)
                    setCycle(End self)
                )
            )
            (case 1
                (send client:
                    loop(3)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (send client:
                    cel(0)
                    posn(202 88)
                    setCycle(End self)
                )
            )
            (case 3
                (send client:
                    cel(0)
                    posn(194 94)
                    setCycle(End self)
                )
            )
            (case 4
                (send client:
                    loop(4)
                    cel(0)
                    posn(191 96)
                    setCycle(End self)
                )
            )
            (case 5
                = seconds (= register Random(1 9))
            )
            (case 6
                (send client:
                    loop(5)
                    cel(0)
                    posn(174 97)
                    setCycle(End self)
                )
            )
            (case 7
                (send client:
                    loop(6)
                    cel(0)
                )
                = seconds (- 10 register)
            )
            (case 8
                (houseDoor:
                    noun(23)
                    view(255)
                    loop(0)
                    cel(0)
                    setCycle(End self)
                )
                (send global105:
                    number(901)
                    loop(1)
                    play()
                )
            )
            (case 9
                = ticks 12
            )
            (case 10
                (houseDoor:
                    loop(1)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 11
                = cycles 2
            )
            (case 12
                (houseDoor:
                    loop(2)
                    cel(0)
                )
                = cycles 2
            )
            (case 13
                (if (== global155 1)
                    = register 4
                )(else
                    = register 5
                )
                (send gKq6Messager:say(1 0 register 1 self))
            )
            (case 14
                (send gKq6Messager:say(1 0 register 2 self))
            )
            (case 15
                (if (<> register 4)
                    (houseDoor:setCycle(End self))
                )(else
                    ++state
                    = ticks 1
                )
            )
            (case 16
                = cycles 2
            )
            (case 17
                (send gKq6Messager:say(1 0 register 3 self))
            )
            (case 18
                (if (== register 4)
                    (houseDoor:setCycle(End self))
                )(else
                    ++state
                    = ticks 1
                )
            )
            (case 19
                = cycles 2
            )
            (case 20
                (send gKq6Messager:say(1 0 register 4 self))
            )
            (case 21
                (if (<> register 4)
                    = cycles 1
                )(else
                    (send gKq6Messager:say(1 0 register 5 self))
                )
            )
            (case 22
                (send client:setScript(rmEndofScriptsScr))
            )
        )
    )

)
(instance rmAct3and4Scr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc913_1(59)
                (send client:
                    view(253)
                    loop(4)
                    cel(7)
                    posn(191 96)
                )
                = cycles 1
            )
            (case 1
                = seconds (= register Random(1 9))
            )
            (case 2
                (send client:
                    loop(5)
                    cel(0)
                    posn(174 97)
                    setCycle(End self)
                )
            )
            (case 3
                (send client:
                    loop(6)
                    cel(0)
                )
                = seconds (- 10 register)
            )
            (case 4
                (houseDoor:
                    noun(23)
                    view(255)
                    loop(0)
                    cel(0)
                    setCycle(End self)
                )
                (send global105:
                    number(901)
                    loop(1)
                    play()
                )
            )
            (case 5
                = cycles 2
            )
            (case 6
                (if (== global155 3)
                    = register 6
                    (houseDoor:
                        loop(1)
                        cel(0)
                        setCycle(End self)
                    )
                )(else
                    = register 7
                    = state (+ state 2)
                    = ticks 1
                )
            )
            (case 7
                = cycles 2
            )
            (case 8
                (houseDoor:
                    loop(2)
                    cel(0)
                )
                = cycles 2
            )
            (case 9
                (send gKq6Messager:say(1 0 register 0 self))
            )
            (case 10
                (send client:setScript(rmEndofScriptsScr))
            )
        )
    )

)
(instance rmGiveRoseScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gEgo:put(38 gArrayScriptGetValue))
                (send gKq6:handsOff())
                (send (ScriptID(10 0)):setIt(128))
                (if (proc913_1(37))
                    = register 20
                )(else
                    = register 19
                    (send gKq6:givePoints(2))
                    proc913_2(47)
                )
                (beauty:setScript(0))
                (send gKq6Messager:say(6 71 register 1 self))
            )
            (case 1
                (if (== register 19)
                    (send gKq6Messager:say(6 71 register 2 self))
                )(else
                    (self:cue())
                )
            )
            (case 2
                (send gEgo:
                    setSpeed(6)
                    view(251)
                    loop(0)
                    cel(0)
                    posn(250 154)
                    normal(0)
                    setCycle(CT 4 1 self)
                )
            )
            (case 3
                (beauty:
                    view(251)
                    loop(1)
                    cel(0)
                    setCycle(CT 3 1 self)
                )
            )
            (case 4
                (beauty:setCycle(End self))
                (send gEgo:cel(5))
            )
            (case 5
                (send gEgo:
                    reset(0)
                    setSpeed(6)
                    posn((beauty:approachX) (beauty:approachY))
                )
                = seconds 2
            )
            (case 6
                (beauty:
                    loop(2)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 7
                (send gKq6Messager:
                    say(6 71 register
                        (if (== register 19)
                            3
                        )(else
                            2
                        )
 self)
                    oneOnly(0)
                )
            )
            (case 8
                (beauty:setScript(roseTendingScr))
                (send gKq6:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance roseTendingScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send client:
                    view(251)
                    loop(4)
                    cel(0)
                )
                = cycles 1
            )
            (case 1
                = seconds Random(2 5)
            )
            (case 2
                (send client:setCycle(End self))
            )
            (case 3
                = seconds Random(2 5)
            )
            (case 4
                (send client:setCycle(Beg self))
            )
            (case 5
                = state 0
                = cycles 1
            )
        )
    )

)
(instance turnScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                0
            )
            (case 1
                = register 1
                (send gEgo:setHeading(register self))
            )
            (case 2
                (self:dispose())
            )
        )
    )

)
(instance rmGiveRingScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gEgo:put(37))
                (send gKq6:handsOff())
                (send gKq6:givePoints(2))
                (beauty:
                    setScript(0)
                    setPri(2)
                    view(252)
                    posn(290 158)
                    setHeading(270 self)
                )
                = register 0
            )
            (case 1
                (roomConv:
                    add(-1 6 69 10 1)
                    add(-1 6 69 10 2)
                    add(-1 6 69 10 3)
                    add(-1 6 69 10 4)
                    add(-1 6 69 10 5)
                    add(-1 6 69 10 6)
                    add(-1 6 69 10 7)
                    add(-1 6 69 10 8)
                    add(-1 6 69 10 9)
                    add(-1 6 69 10 10)
                    add(-1 6 69 10 11)
                    add(-1 6 69 10 12)
                    add(-1 6 69 10 13)
                    add(-1 6 69 10 14)
                    add(-1 6 69 10 15)
                    init(self)
                )
            )
            (case 2
                (beauty:
                    view(252)
                    setCycle(Walk)
                    setMotion(MoveTo 147 122 self)
                )
                (self:setScript(turnScr 0 90))
                (send gEgo:setMotion(MoveTo 121 154 turnScr))
            )
            (case 3
                (beauty:hide())
                (send global105:
                    number(906)
                    loop(1)
                    play()
                )
                (gate:
                    view(253)
                    loop(1)
                    cel(0)
                    setCycle(CT 5 1 self)
                )
            )
            (case 4
                (gate:setCycle(End))
                (beauty:
                    show()
                    setPri(-1)
                    posn(110 131)
                    setMotion(MoveTo 159 158 self)
                )
            )
            (case 5
                (if (not (turnScr:register))
                    (turnScr:caller(self))
                )(else
                    = cycles 2
                )
            )
            (case 6
                (beauty:loop(1))
                (send gEgo:loop(0))
                = cycles 2
            )
            (case 7
                (roomConv:
                    add(-1 6 69 10 16)
                    add(-1 6 69 10 17)
                    add(-1 6 69 10 18)
                    init(self)
                )
            )
            (case 8
                (send gEgo:
                    normal(0)
                    setSpeed(6)
                    view(253)
                    loop(10)
                    posn(127 157)
                    setCycle(CT 4 1 self)
                )
            )
            (case 9
                (beauty:
                    view(253)
                    loop(0)
                    cel(0)
                    posn(158 157)
                    setCycle(CT 3 1 self)
                )
            )
            (case 10
                (beauty:setCycle(End self))
                (send gEgo:setCycle(End self))
            )
            (case 11
                0
            )
            (case 12
                (send gKq6Messager:say(6 69 10 19 self))
            )
            (case 13
                (beauty:
                    view(252)
                    setCycle(Walk)
                    cycleSpeed(5)
                    moveSpeed(5)
                    setMotion(MoveTo 320 180)
                )
                (send gEgo:
                    reset(0)
                    posn(121 154)
                    setSpeed(9)
                    setMotion(MoveTo 300 190 self)
                )
                = ticks 60
            )
            (case 14
                (houseDoor:
                    view(255)
                    loop(2)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 15
                (send gKq6Messager:say(6 69 10 20 self))
            )
            (case 16
                = cycles 10
            )
            (case 17
                (send gKq6Messager:say(6 69 10 21 self))
            )
            (case 18
                (send global102:fade())
                (send global2:newRoom(540))
            )
        )
    )

)
(instance rmEndofScriptsScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (houseDoor:
                    noun(19)
                    view(255)
                    loop(0)
                    cel((houseDoor:lastCel()))
                    setCycle(Beg houseDoor)
                )
                (send client:
                    posn(174 97)
                    loop(7)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 1
                (send client:
                    setLoop(8)
                    posn(189 85)
                    setCycle(Walk)
                    setMotion(MoveTo 216 66 self)
                )
            )
            (case 2
                (houseDoor:setCycle(End self))
                (send global105:
                    number(901)
                    loop(1)
                    play()
                )
            )
            (case 3
                (send client:
                    setLoop(-1)
                    loop(9)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 4
                (houseDoor:setCycle(Beg self))
            )
            (case 5
                (send global105:
                    number(902)
                    loop(1)
                    play()
                )
                proc913_2(59)
                (send client:dispose())
            )
        )
    )

)
(instance useFluteOnBeautyScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gKq6:handsOff())
                = register localproc_14a9()
                (if (<> register 11)
                    ++state
                )
                = cycles 2
            )
            (case 1
                (self:setScript(ScriptID(85) self))
            )
            (case 2
                (switch (register)
                    (case 11
                        (send gKq6Messager:say(1 31 0 0 self 0))
                    )
                    (case 10
                        (send gKq6Messager:say(6 31 12 1 self))
                    )
                    (default
                        ++state
                        (send gKq6Messager:say(6 31 register 0 self))
                    )
                )
            )
            (case 3
                (send gKq6Messager:say(
                    (if (== register 10)
                        6
                    )(else
                        2
                    )
 31 register 0 self))
            )
            (case 4
                (send gKq6:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance giveAllScr of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gKq6:handsOff())
                = register localproc_14a9()
                (send gKq6Messager:say(6 0
                    (if (== register 12)
                        10
                    )(else
                        register
                    )
 1 self))
            )
            (case 1
                (if (<> register 11)
                    (send gKq6Messager:say(6 0 register
                        (if (== register 12)
                            1
                        )(else
                            2
                        )
 self))
                )(else
                    = cycles 2
                )
            )
            (case 2
                (send gKq6:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance scriptToBeIgnored of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gKq6:handsOff())
                (send client:
                    view(255)
                    loop(0)
                    cel(0)
                )
                = cycles 2
            )
            (case 1
                (send client:setCycle(End self))
            )
            (case 2
                = cycles 2
            )
            (case 3
                (send client:
                    view(257)
                    loop(0)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 4
                = cycles 2
            )
            (case 5
                (send client:
                    loop(1)
                    cel(0)
                    setCycle(Fwd)
                )
                = ticks 300
            )
            (case 6
                (send client:
                    loop(0)
                    cel(10)
                    setCycle(Beg self)
                )
            )
            (case 7
                = cycles 2
            )
            (case 8
                (send client:
                    view(255)
                    loop(0)
                    cel(3)
                    setCycle(Beg self)
                )
            )
            (case 9
                (send client:
                    view(250)
                    loop(1)
                    cel(0)
                )
                (send gKq6:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance beauty of Actor
    (properties
        x 214
        y 81
        noun 6
        sightAngle 45
        view 252
        signal $5000
    )

    (method (init param1 param2)
        (super:init(rest param2))
        (if (param1)
            (self:
                view(251)
                posn(285 156)
                loop(4)
                setPri(5)
                approachX(247)
                approachY(153)
                approachVerbs(2 71)
                setScale(Scaler 100 67 153 109)
                setScript(roseTendingScr)
            )
        )(else
            (self:setCycle(Walk))
        )
    )


    (method (doVerb theVerb)
        (if (proc999_5(theVerb 42 27 28 7 32 12 65 33) and localproc_149a())
            (send gKq6Messager:say(noun theVerb 18))
        )(else
            (if (proc999_5(theVerb 57 58 59 60 96 43 56) and localproc_149a())
                (send gKq6Messager:say(noun 43
                    (if (proc913_0(37))
                        10
                    )(else
                        12
                    )
))
            )(else
                (if (proc999_5(theVerb 66 70) and localproc_149a())
                    (send gKq6Messager:say(noun 66
                        (if (proc913_0(37))
                            10
                        )(else
                            12
                        )
))
                )(else
                    (if (== theVerb 31)
                        (send global2:setScript(useFluteOnBeautyScr))
                    )(else
                        (if (proc999_5(theVerb 74 73 55) and localproc_149a())
                            (send gKq6Messager:say(noun 55 18))
                        )(else
                            (if ((== theVerb 71) and localproc_149a())
                                (send global2:setScript(rmGiveRoseScr))
                            )(else
                                (if (== theVerb 69)
                                    (if (proc913_0(37))
                                        (send global2:setScript(rmGiveRingScr))
                                    )(else
                                        (send gKq6Messager:say(noun theVerb 12))
                                    )
                                )(else
                                    (if (== theVerb 2)
                                        (send gKq6Messager:say(noun theVerb
                                            (if (localproc_149a())
                                                (if (proc913_0(37))
                                                    (+ 22
                                                    (if (< local0 3)
                                                        ++local0
                                                    )(else
                                                        local0
                                                    )
)
                                                )(else
                                                    (if (proc913_0(47))
                                                        14
                                                    )(else
                                                        13
                                                    )
                                                )
                                            )(else
                                                11
                                            )
))
                                        proc913_1(47)
                                    )(else
                                        (if (== theVerb 1)
                                            (send gKq6Messager:say(noun theVerb
                                                (if (proc913_1(70))
                                                    (if (proc913_0(37))
                                                        10
                                                    )(else
                                                        9
                                                    )
                                                )(else
                                                    21
                                                )
))
                                        )(else
                                            (if (== theVerb 5)
                                                (send gKq6Messager:say(noun theVerb
                                                    (if (localproc_149a())
                                                        18
                                                    )(else
                                                        11
                                                    )
))
                                            )(else
                                                (send global2:setScript(giveAllScr))
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )

)
(instance gate of Prop
    (properties
        x 118
        y 108
        noun 7
        sightAngle 90
        view 250
        signal $4000
    )

    (method (doVerb theVerb param2)
        (if (== theVerb 2)
            ++local4
        )
        (super:doVerb(theVerb rest param2))
    )

)
(instance houseDoor of Prop
    (properties
        x 221
        y 68
        noun 19
        sightAngle 90
        view 250
        loop 1
        priority 1
        signal $0010
    )

    (method (doVerb theVerb param2)
        (if (((== local4 3) and (== local3 7)) and (== theVerb 2))
            = local4 0
            = local3 0
            (self:setScript(scriptToBeIgnored))
        )(else
            (super:doVerb(theVerb rest param2))
        )
    )


    (method (cue)
        (self:
            view(250)
            loop(1)
            cel(0)
        )
        (send global105:
            number(902)
            loop(1)
            play()
        )
    )

)
(instance leaves of Prop
    (properties
        x 60
        y 181
        view 256
        priority 15
        signal $5010
    )

    (method (onMe)
        return 0
    )

)
(instance featureToBeIgnored of Feature
    (properties
        x 100
        y 320
        noun 3
        nsLeft 3
        nsBottom 7
        nsRight 9
    )

    (method (init param1)
        (super:init(rest param1))
        = sightAngle 26505
    )


    (method (doVerb theVerb param2)
        (if (== local4 3)
            (switch (theVerb)
                (case 5
                    = local3 (| local3 $0001)
                )
                (case 2
                    = local3 (| local3 $0002)
                )
                (case 1
                    = local3 (| local3 $0004)
                )
            )
        )
        (super:doVerb(theVerb rest param2))
    )

)
(instance palmTrees of Feature
    (properties
        noun 15
        onMeCheck $0004
    )
)
(instance houseRoses of Feature
    (properties
        noun 22
        onMeCheck $1000
    )
)
(instance genericFeatures of Feature
    (properties
        sightAngle 40
    )

    (method (onMe param1)
        (var temp0)
        = noun
            (switch (= temp0 OnControl(4 (send param1:x) (send param1:y)))
                (case 2
                    8
                )
                (case 1024
                    21
                )
                (case 16
                    12
                )
                (case 32
                    11
                )
                (case 64
                    17
                )
                (case 128
                    14
                )
                (case 256
                    13
                )
                (case 512
                    18
                )
                (default
                    0
                )
            )
    )

)

Can you help me figure out what would trigger this view?

33
SCI Syntax Help / SCI Debug Modes
« on: December 11, 2011, 01:03:45 PM »
Hi,
I added HWM's FAQ on Sierra SCI Debug Modes to ScummVm's wiki:
http://wiki.scummvm.org/index.php/SCI/Debug_Modes

I'd love to fill in missing information into this.
As a start, I've looked into LSL5 and came to the conclusion that script #10 is the debug script. I just don't know how to enable it. I tried reading through the script disassembly using the excellent SCI Resource Viewer (latest version: http://sierrahelp.com/SCI/Files/SCITools/SCI_Viewer_(CLI).zip), but failed to understand it.
From what I saw, 0.scr is the one calling the debug script 10.scr, but I don't know what triggers it. If only we had a decompiler...

Can anyone here help?

34
The Games and other Sierra Adventure stuff / VGA SCI with Parser!
« on: December 20, 2006, 03:56:16 PM »
Yes - it's possible!

A little background:
The early AGI & SCI0 games had a built-in ("kernel-mode") parser which you used for writing commands. Later, in SCI1 games, Sierra replaced the parser with a point-n-click interface. The parser op-codes were still part of the SCI language, but they were deprecated, and trying to use them would cause an error.
So it would seem that using a parser in VGA SCI1 games would be impossible.
Brian once suggested writing a parser in the game scripts ("user-mode" parser), but so far noone took his challenge and wrote one.

And then came HWM & trodos...
HWM found out that in the transition from SCI0 to SCI1, Sierra forgot to "take out" the parser from one VGA game - the 1990 christmas card VGA demo. He wrote a simple script, and together with trodos they actually managed to use the parser, and revive it from the dead...

If you want to try it out, here is the demo with the SCRIPT and VOCAB patches:
https://drive.google.com/file/d/0B5j-_ZMS8_UoSjE5VVNEb2RPcms/view?usp=sharing

Start typing! When you do you should see the dialog prompt. The "look" command will be recognised.
That's it!

If you wanna see some pictures, here they are:




Enjoy!

Omer.

35
The Games and other Sierra Adventure stuff / Rare SCI Games
« on: December 20, 2006, 03:07:36 PM »
Copied from the old MT forums:

I thought I'd make a small list of of rare SCI games that I can't seem to find or I had a hard time finding (bold games are the ones I already have):

Rare SCI Games
EGA Versions:
This section covers all the little known EGA versions of well known SCI1 games, like King's Quest 5. When Sierra first moved to 256-color VGA games, they probably feared that people with inferior video cards, or not enough memory, wouldn't be able to run those games. So they made an alternative version with the same point-and-click interface, only with 16-color EGA graphics. When they moved to their newer interpreter, SCI1.1, they stopped making a seperate EGA version, and instead shipped the games (or at least some of them) with an EGA high-resolution driver, (called EGA640.DRV) that could dither the 320x240 VGA graphics in 640x480 EGA.
CD Versions:
This section covers all the less known CD versions of Sierra games.
  • Castle of Dr. Brain (CD Version)
  • Jones in the Fast Lane (CD Version)
Other:
This section covers all the rest.
  • Hero's Quest (Same game as QFG1-SCI0, only with a different title for legal reasons, SCI0)
    Screenshot: http://www.agigames.com/hq.gif
  • Hoyle's Book of Classic Card Games
  • King's Quest 7 (There are 2 versions: one was win only, and the second was dos&win)
  • Mixed up Mother Goose (The very first remake, EGA, SCI01)
  • Slater & Charlie Go Camping
  • Space Quest 4 (Beta Version, with debug-mode enabled)
International Versions:
This section covers all the (official) translations.
  • Conquests of the Longbow (German)
  • Dr. Brain 1 (Spanish-Bi)
  • Dr. Brain 2 (Spanish)
  • EcoQuest 1 (French-Bi, German-Bi, Spanish-Bi)
  • EcoQuest 2 (French, Spanish)
  • Freddy Pharkas (French, German, Spanish)
  • Gabriel Knight 1 (French, German, Spanish)
  • Gabriel Knight 2 (Portugese subtitles)
  • King's Quest 5 (French-Bi, German-Bi, Spanish-Bi)
  • King's Quest 5 EGA (Spanish-Bi)
  • King's Quest 6 (German, Spanish)
  • King's Quest 7 (Spanish talkie)
  • Laura Bow 2 (French, German, Spanish)
  • Leisure Suit Larry 1 Remake (Spanish)
  • Leisure Suit Larry 3 (French-Bi, German-Bi)
  • Leisure Suit Larry 5 (French, German, Spanish)
  • Leisure Suit Larry 6 (French, German, Italian, Portuguese, Spanish)
  • Leisure Suit Larry 7 (German, Spanish,  Russian)
  • Phantasmagoria 1 (Russian)

Screenshots: http://russo.ag.ru/official/125/
  • Police Quest 1 Remake (Spanish)
  • Police Quest 3 (German, Spanish)
  • Police Quest 4 (French, German, Spanish)
  • Quest for Glory 1 (Japanese)

Screenshots: http://www2s.biglobe.ne.jp/~nuts/game/game09.html,
http://www.02.246.ne.jp/~kaw/t-o-m-d/review/qfglory/index.html
  • Quest for Glory 1 Remake (Spanish)
  • Quest for Glory 3 (French, German, Italian, Spanish)
  • Quest for Glory 4 (German)
  • Space Quest 1 Remake (Spanish)
  • Space Quest 3 (German-Bi - SCI01)
  • Space Quest 4 (French-Bi, German-Bi, Spanish-Bi)
  • Space Quest 4 EGA (Spanish)
  • Space Quest 5 (French, German, Spanish)
  • Torin's Passage (French, German, Spanish)

36
Hi,
As you all might know, Sierra made 5 "Crazy Nick's Picks" games that featured mini games from their other adventure games (and from Hoyle's book of games).
However there are other mini games that never made it to Nick's Picks, like the Awari game from Quest for Glory 3, and possibly more that I can't think of right now.
I was wondering if the state of the tools available to the fan community at the moment allows us to extract those other mini games, and construct a sixth (and possibly more) fan-made Crazy Nick's Picks.
What do you think?

  Omer Mor.

37
The Games and other Sierra Adventure stuff / SCI Game Resources
« on: December 20, 2006, 02:42:58 PM »
Fan Games
  • A whole lot of the games can be found here at the SCI Programming Community!
  • Our sisters over at Agigames have a couple too.

Sierra Games

Sierra Patches

Debug Info
  • sierra.8bit.co.uk - Home of the Sierra On-Line Debug Mode FAQ and the (Adventure) Game/Interpreter Versions List by our beloved HWM.

Interpreters
  • Sierra's Creative Interpreter - A very good Wikipedia article.
  • FreeSCI ... This is the first and only non-Sierra SCI Interpreter. Currently it supports SCI version 0.000.xxx games. All kernel functions have been added making not only games fully playable with it, but also many games have been completed on it!

Game Manuals

38
Forum Support and Suggestions / Possible to Archive the Mega-Tokyo Forums
« on: December 20, 2006, 02:00:43 PM »
Hi,
congrats & tnx for this new home...
I'd like to ask (if it's technically possible) to archive the old MT forum in this new place.
There were many great threads there which would be a shame to see go extinct.
Searchable archive of the old forums would be a great feature of this new home, and one that will sure ease the transition of most participants.

Omer.

Pages: 1 2 [3]

SMF 2.0.14 | SMF © 2017, Simple Machines
Simple Audio Video Embedder

Page created in 0.17 seconds with 19 queries.