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.


Messages - robbo007

Pages: [1] 2 3 ... 13
1
SCI Syntax Help / Re: SCI0 setFlag procedure
« on: January 12, 2026, 11:06:21 AM »
Amazing.
Thanks for the in depth explanation. That make sense now and has resolved the issue. Wohoo! One step closer to Beta haha

2
SCI Syntax Help / Re: SCI0 setFlag procedure
« on: January 12, 2026, 10:00:31 AM »
ok cool., mine breaks at the 16th flag, so its got to be its not defined correctly.

I can't see where the gFlagArray size is defined? in LSL3 its in the game.sh but that does not seem to work in my game.sh. Or does it need to be setup in the procedure in the main.sc ?

Code: [Select]
flagArray 111

3
SCI Syntax Help / SCI0 setFlag procedure
« on: January 12, 2026, 07:00:08 AM »
Hi guys,
I've been using the LSL3 setFlag procedures for setting global flags which I have defined in my game.sh. Is there a limit of how many you can use? I'm getting issues using the last two. doneLana and usedElevator do not work , they create anomies when used in my RoomScript changeStates. All the others work fine.

Code: [Select]
(procedure (SetFlag flag)
(= [gFlagArray (/ flag 16)]
(| [gFlagArray (/ flag 16)] (>> $8000 (mod flag 16)))
)
)

Code: [Select]
;***** Enumerations for global flags ******

(enum
forceAtest ;Room 13
seenJodi ;Room 13
beenToFountain ;Room 10
takenMoney ;Room 10
fountainKicked ;Room 10
monnies ;Room 10
slotJackpot ;Room 514
twentyTaken ;Room 027
henchettesActive ;Room 030
gaveThreeRoses ;Room 030
SodaMachineUsed ;Room 033
lottoMachineUsed ;Room 033
gaveWax ;Room 035
mayaScored ;Room 036
gotMembership ;Room 039
sq3Journey ;Room 040
hasBike ;Room 050
doneLana ;Room 080
usedElevator ;Room 505
)

4
SCI Syntax Help / Re: SCI0: Implementing bike riding system
« on: December 16, 2025, 12:01:08 PM »
Hey Cloudee1,
Welcome back :)

ok I think I've understood what you're suggesting. It seems to work fine. Does it look correct? When ego is mounted on the bike and changes rooms it maintains the bike view. When dismounted it uses the normal ego view.

The only thing left is to see when starting in a room with gPreviousRoomNumber if there is a way when using the bike view to automatically push the co-ordinates a little over, as the bike view is longer. So if there is a control line on the edge of the room he is going into it trips it and will force ego to go back into the room he came from. It would look crap if I manually edit these coordinates to take into account the new bike view size and make them further away from the edge of the screen, as when using the normal ego view he will look far away from the edge of the screen.

I might try regions as lskovlun mentioned, instead of using  OneOf gRoomNumber. Not sure which would use less memory?

Code: [Select]
((== gPreviousRoomNumber 005) (gEgo posn: 300 167 loop: 1)
)

I've added this to my main.sc

Code: [Select]

Code: [Select]
((Said 'use,mount,ride/bike')
    ; Check if already on bike using DEFAULT view
    (if (== gDefaultEgoView 719)  ; Use 719 view number for bike
        (Print 0 163) ; "You're already on your bike."
        (return TRUE)
    )
   
    (cond
        ((not (gEgo has: 15))
            (Print 0 158) ; "You don't have a bike."
        )
        ((OneOf gRoomNumber 6 7 8 11 14 15 16 17 18 19 29 21 22 24 30 31 33 35 36 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 90 91 92 93 94 95 97 98 100 101 102 103 104 111 120 121 122 123)
            (Print 0 159) ; "Sorry, you can't ride your bike here."
        )
        (else
            ; Change current view AND update persistent default
            (gEgo view: 719)  ; or 719 for bike view
            (= gDefaultEgoView 719)  ; <<< KEY: Set persistent default!
            (Print 0 160) ; "You mount the bike."
        )
    )
    (return TRUE)
)

((Said 'dismount,(get<off)/bike')
    (if (== gDefaultEgoView 719)  ; Check DEFAULT view, not current
        (gEgo view: 0)
        (= gDefaultEgoView 0)     ; <<< KEY: Reset persistent default!
        (Print 0 161) ; "You get off the bike and stuff it into your pocket."
    else 
        (Print 0 162) ; "You're not riding anything."
    )
    (return TRUE)
)

Code: [Select]
(procedure (SetUpEgo theLoop theView)
    (PlayerControl)
    (gEgo edgeHit: EDGE_NONE)
   
    ; Handle -1 parameters (use defaults)
    (if (== theLoop -1)
        (= theLoop (gEgo loop?))  ; Keep current loop
    )
    (if (== theView -1)
        (= theView gDefaultEgoView)  ; Use persistent default view!
    )
   
    (switch argc
        (0
            (SetUpActor gEgo (gEgo loop?) gDefaultEgoView)  ; Use default
        )
        (1
            (SetUpActor gEgo theLoop gDefaultEgoView)       ; Use default
        )
        (2
            (SetUpActor gEgo theLoop theView)              ; Use specified view
        )
    )
)

5
SCI Syntax Help / SCI0: Implementing bike riding system
« on: December 14, 2025, 01:40:57 PM »
Hi guys,
I'm trying to work out the best way to allow ego to ride a bike in certain rooms in the game. I'm trying to do it in a way that is optimised as not to screw with heapspace too much.

I want to archive the following:

Riding of bike in only allowed rooms
Using/initialising the bike view when changing between allowed rooms on the bike
Define control areas in allowed rooms that will make ego fall off bike and die

At present I'm using the following code in my main.sc where I'm using the OneOf procedure to block rooms where I don't want bike riding. It might be using up too much memory as my main.sc is pretty full already. Not sure if this is the best way?

This brings up other questions like, what's the best way to check if ego is on the bike and initialising it when switching between rooms where the bike is allowed? Because most rooms I have configured :(gEgo init: ) which will use my standard ego view.

I also wanted to have room specific control area where ego falls off the bike and dies if crossing. I'm not sure the best way to globally control these. I won't be able to use the same control colour for each room as some rooms would be already using that control colour for something else.

Code: [Select]
((Said 'use,mount/bike')
    ; Check if already on bike
    (if (== (gEgo view?) 719)
        (Print 0 163) ; "You're already on your bike."
        (return TRUE)
    )
   
    (cond
        ((not (gEgo has: 15))
            (Print 0 158) ;You don't have a bike.
        )
        ((OneOf gRoomNumber 6 7 8 11 14 15 16 17 18 19 29 21 22 24 30 31 33 35 36 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 90 91 92 93 94 95 97 98 100 101 102 103 104 111 120 121 122 123) ;rooms not allowed to ride bike
            (Print 0 159) ;Sorry, you can't ride your bike here.
        )
        (else
            (gEgo view: 719)
            (Print 0 160) ; You mount the bike.
        )
    )
    (return TRUE)
)

((Said 'dismount,(get<off)/bike')
    (if (== (gEgo view?) 719)
        (gEgo view: 0) ; Back to normal view
        (Print 0 161) ; You get off the bike and stuff it into your pocket.
    else 
        (Print 0 162) ; You're not riding anything.
    )
    (return TRUE)
)

Thanks,

6
SCI Syntax Help / Re: SCI0: testFlag woes
« on: November 19, 2025, 12:38:19 PM »
Thanks Kawa. I will try that but I also managed to use ignoreControl like this. They sorta both work in the same way right?

Code: [Select]
(if (& (gEgo onControl:) ctlRED)
    (if (TestFlag gotMembership) ; Allow access to room 40 - do nothing, let Larry pass through
    (gEgo ignoreControl: ctlRED)
    else
        (if (not seenMsgRed)
            (= seenMsgRed 1)
            (gEgo
                posn: (gEgo xLast:) (gEgo yLast:) ; Move ego to its previous position
                setMotion: 0 ; Stop any current movement
                observeControl: ctlRED ; Make ego observe control flag ctlRED
                forceUpd: ; Force immediate screen update
            )
            (aNerdScript changeState: 3 register: 101)
        )
    )
)

7
SCI Syntax Help / SCI0: testFlag woes
« on: November 19, 2025, 12:13:33 PM »
Hi guys,
I'm using the testFlag and setFlag procedures from LSL3. When combining with them with Blk's it seems to to generate a crash when returning to the room. Not an Object error.

This checks to see if ego has got the Homebrew Klub membership. If he does, ignore the block at the bathroom door. At the end of my changeState I'm setting the flag and ignoring the block. This works fine but when ego comes back into the room I get the crash. It does look like its something to do with the testing of the flag and ignoring the block in the init part.

End of ChangeState:
Code: [Select]
        (SetFlag gotMembership) ;got membership flag set
(gEgo ignoreBlocks: blockToilet)
                        (= seconds 2)

This is in my Init:
Code: [Select]
(if (TestFlag gotMembership)
            (gEgo ignoreBlocks: blockToilet)
        else
            (gEgo observeBlocks: blockToilet)
        )

This is in my Roomscript:
Code: [Select]
(instance blockToilet of Blk
(properties
top 153
left 9
bottom 160
right 3
)
)

These are in my main.sc

Code: [Select]
(procedure (SetFlag flag)
(= [gFlagArray (/ flag 16)]
(| [gFlagArray (/ flag 16)] (>> $8000 (mod flag 16)))
)
)

Code: [Select]
(procedure (TestFlag flag)
(return
(if (& [gFlagArray (/ flag 16)] (>> $8000 (mod flag 16))) 1 else 0)
)
)

8
SCI Development Tools / Re: Sierra's Internal SCI Tools
« on: November 04, 2025, 04:33:04 PM »
The best compression is 7zip hands down. The trouble is the fork/hack for MSDOS requires DOS extended mode. I don't want to do "an Ultima 7" type thing here (Voodoo memory). I feel the pain of the 1980's programmers and the limitations they had to deal with. I'll work it out when I get to the golden version. Beta by Christmas is my milestone right now and god that seems far.. hahahaha

9
SCI Development Tools / Re: Sierra's Internal SCI Tools
« on: October 28, 2025, 06:58:42 AM »
Amazing thanks lskovlun :)

30% compression, from 7MB to 5MB.

Volume.000 is 5130409 bytes long.
Volume.001 is 5061709 bytes long.
Bytes read: 7204754
Bytes written: 5061709
Compression: 30%

If I then compress on top with Winrar I get the entire game to 4MB. But if I just use Winrar I get down to 3mb. So in the end I won't use makevols just Winrar. I'll have to use a new installer to unzip to hard disk. I'm still on my 10x 360kb floppy disk limit. But still need to add sfx and music. Ouch!

Here is my resource.txt that works: using the syntax: makevols ll4 -f resource.txt

Code: [Select]
;**
;** Resource list for both 360K and 720K floppy-based games.
;**
;** LSL4:  Never Say Nontoonyt
;**        Copyright 2025
;** by Robbbo
;**
;** Last Update: October 28, 2025
;**

(setpaths
        resource        view            0x80   ./view/view
        resource        pic             0x81    ./pic/pic
        resource        script  0x82    ./script/script
        resource        text            0x83    ./text/text
        resource        sound           0x84    ./sound/sound
        resource        vocab           0x86    ./script/vocab/vocab
        resource        font            0x87   ./font/font
        resource        cursor  0x88   ./cursor/cursor
        resource        patch           0x89   ./patch/patch
)
(ll4
volumes 1
setpaths
volume1

)
(volume1
; Cursors
cursor 768
cursor 992
cursor 997
cursor 999

; Fonts
font 000
font 001
font 004
font 007
font 009
font 100
font 200
font 300
font 600
font 601
font 603
font 999

; Patches
patch 001
patch 002
patch 003
patch 004
patch 007
patch 101

; Pictures
pic 001
pic 002
pic 003
pic 004
pic 005
pic 006
pic 007
pic 008
pic 009
pic 010
pic 011
pic 012
pic 013
pic 014
pic 015
pic 016
pic 017
pic 018
pic 019
pic 020
pic 021
pic 022
pic 023
pic 024
pic 025
pic 026
pic 027
pic 028
pic 029
pic 030
pic 031
pic 032
pic 033
pic 034
pic 035
pic 036
pic 037
pic 038
pic 039
pic 040
pic 041
pic 042
pic 043
pic 044
pic 045
pic 046
pic 047
pic 048
pic 050
pic 051
pic 052
pic 053
pic 055
pic 056
pic 057
pic 058
pic 059
pic 060
pic 061
pic 062
pic 063
pic 064
pic 065
pic 072
pic 073
pic 079
pic 080
pic 083
pic 089
pic 090
pic 091
pic 092
pic 093
pic 094
pic 095
pic 096
pic 097
pic 098
pic 099
pic 100
pic 101
pic 102
pic 103
pic 104
pic 105
pic 106
pic 107
pic 108
pic 109
pic 110
pic 111
pic 120
pic 121
pic 122
pic 123
pic 124
pic 140
pic 377
pic 500
pic 501
pic 502
pic 503
pic 505
pic 506
pic 507
pic 509
pic 510
pic 511
pic 512
pic 514
pic 515
pic 516
pic 517
pic 518
pic 520
pic 521
pic 522
pic 523
pic 524
pic 525
pic 650
pic 653
pic 654
pic 655
pic 656
pic 658
pic 800

; Scripts
script 000
script 001
script 002
script 003
script 004
script 005
script 006
script 007
script 008
script 009
script 010
script 011
script 012
script 013
script 014
script 015
script 016
script 017
script 018
script 019
script 020
script 021
script 022
script 023
script 024
script 025
script 026
script 027
script 028
script 029
script 030
script 031
script 032
script 033
script 034
script 035
script 036
script 037
script 038
script 039
script 040
script 041
script 042
script 043
script 044
script 045
script 046
script 047
script 048
script 050
script 051
script 052
script 053
script 055
script 056
script 057
script 058
script 059
script 060
script 061
script 062
script 063
script 064
script 065
script 072
script 073
script 079
script 080
script 083
script 089
script 090
script 091
script 092
script 093
script 094
script 095
script 096
script 097
script 098
script 100
script 101
script 102
script 103
script 104
script 105
script 106
script 107
script 108
script 109
script 110
script 111
script 120
script 121
script 122
script 123
script 124
script 265
script 290
script 300
script 301
script 302
script 303
script 304
script 305
script 306
script 500
script 501
script 503
script 505
script 506
script 507
script 508
script 509
script 510
script 511
script 512
script 514
script 515
script 516
script 517
script 518
script 521
script 522
script 523
script 524
script 525
script 526
script 600
script 650
script 651
script 652
script 653
script 654
script 655
script 656
script 797
script 799
script 800
script 809
script 810
script 811
script 969
script 970
script 971
script 972
script 973
script 974
script 975
script 976
script 977
script 978
script 979
script 980
script 981
script 982
script 983
script 984
script 985
script 986
script 987
script 988
script 989
script 990
script 991
script 992
script 993
script 994
script 995
script 996
script 997
script 998
script 999

; Sounds
sound 001
sound 002
sound 004
sound 005
sound 007
sound 010
sound 021
sound 022
sound 023
sound 024
sound 025
sound 026
sound 033
sound 100
sound 101
sound 107
sound 110
sound 120
sound 140
sound 141
sound 206
sound 207
sound 253
sound 261
sound 265
sound 299
sound 323
sound 330
sound 335
sound 340
sound 341
sound 395
sound 399
sound 431
sound 435
sound 452
sound 500
sound 540
sound 560
sound 599
sound 799
sound 800
sound 801
sound 802
sound 899
sound 900

; Text
text 000
text 001
text 002
text 003
text 004
text 005
text 006
text 007
text 008
text 009
text 010
text 011
text 012
text 013
text 014
text 015
text 016
text 017
text 020
text 021
text 022
text 023
text 024
text 025
text 026
text 027
text 028
text 029
text 030
text 032
text 033
text 034
text 035
text 039
text 040
text 055
text 057
text 058
text 070
text 071
text 094
text 100
text 102
text 104
text 105
text 107
text 108
text 120
text 124
text 140
text 141
text 142
text 143
text 144
text 145
text 146
text 147
text 148
text 149
text 150
text 151
text 152
text 153
text 154
text 155
text 156
text 157
text 158
text 159
text 160
text 161
text 162
text 163
text 164
text 165
text 166
text 265
text 290
text 301
text 306
text 341
text 503
text 506
text 507
text 509
text 510
text 512
text 514
text 515
text 516
text 517
text 518
text 522
text 523
text 525
text 655
text 656
text 797
text 809
text 976

; Views
view 000
view 001
view 003
view 004
view 005
view 006
view 007
view 008
view 009
view 010
view 011
view 012
view 013
view 017
view 018
view 020
view 021
view 023
view 024
view 026
view 027
view 028
view 029
view 030
view 031
view 032
view 033
view 034
view 035
view 036
view 037
view 038
view 039
view 040
view 041
view 042
view 043
view 044
view 045
view 046
view 047
view 048
view 050
view 051
view 052
view 053
view 055
view 056
view 057
view 058
view 072
view 073
view 079
view 080
view 083
view 090
view 091
view 092
view 093
view 094
view 095
view 096
view 097
view 098
view 100
view 101
view 102
view 103
view 104
view 105
view 106
view 107
view 108
view 109
view 110
view 111
view 112
view 120
view 121
view 122
view 123
view 124
view 125
view 126
view 140
view 200
view 201
view 202
view 203
view 204
view 205
view 206
view 207
view 208
view 209
view 210
view 211
view 212
view 213
view 214
view 215
view 216
view 217
view 218
view 219
view 220
view 221
view 222
view 223
view 224
view 225
view 226
view 227
view 228
view 229
view 230
view 231
view 232
view 233
view 234
view 235
view 240
view 290
view 315
view 502
view 503
view 504
view 505
view 506
view 508
view 509
view 510
view 511
view 512
view 513
view 514
view 515
view 516
view 517
view 518
view 519
view 520
view 522
view 523
view 524
view 525
view 526
view 527
view 528
view 529
view 530
view 531
view 532
view 533
view 534
view 536
view 538
view 539
view 540
view 541
view 542
view 543
view 544
view 545
view 546
view 547
view 548
view 549
view 550
view 551
view 552
view 553
view 554
view 600
view 601
view 602
view 603
view 604
view 605
view 606
view 607
view 608
view 609
view 610
view 611
view 612
view 613
view 614
view 615
view 616
view 617
view 618
view 650
view 651
view 652
view 653
view 654
view 655
view 656
view 705
view 706
view 707
view 708
view 710
view 712
view 714
view 715
view 716
view 717
view 718
view 719
view 720
view 721
view 722
view 723
view 725
view 726
view 727
view 728
view 729
view 730
view 731
view 732
view 733
view 734
view 901
view 914
view 915
view 916
view 917
view 918
view 950
view 994
view 995
view 996
view 997
view 998

; Vocabulary
vocab 000
vocab 900
vocab 901
vocab 994
vocab 995
vocab 996
vocab 997
vocab 998
vocab 999
)

10
SCI Development Tools / Re: Sierra's Internal SCI Tools
« on: October 26, 2025, 06:14:36 PM »
It's either the fact you're using absolute paths where the example uses relative, or it's because you're using backslashes where the example uses forward slashes. Take your pick.

For the former, either specify it like ./view instead of C:\Studio\testcomp\INPUT\view, or as just view etc.

I've tried every combination. I don't think the issue comes from the paths being mal formed. Could it be certain versions of makevols.exe only work with SCI0 resources?
Regards,

11
SCI Development Tools / Re: Sierra's Internal SCI Tools
« on: October 26, 2025, 07:45:25 AM »
ok thanks,
I've added that to the start of my resource.txt and it seems it likes the paths and locations but fails with a runtime error:

Code: [Select]
C:\STUDIO\TESTCOMP\INPUT>makevols -f resource.txt volume
Volume.000 is 0 bytes long.

run-time error R6003
- integer divide by 0

C:\STUDIO\TESTCOMP\INPUT>

Running the -xv paramter does not show any errors. Could it be the path format I'm using to declare the resource location is not correct?

Code: [Select]
;**
;** Resource list for both 360K and 720K floppy-based games.
;**
;** LSL4:  Never Say Nontoonyt
;**        Copyright 2025
;** by Robbbo
;**
;** Last Update: October 26, 2025
;**

(setpaths
        resource        view            0x80    C:\Studio\testcomp\INPUT\view
        resource        pic             0x81    C:\Studio\testcomp\INPUT\pic
        resource        script  0x82    C:\Studio\testcomp\INPUT\script
        resource        text            0x83    C:\Studio\testcomp\INPUT\text
        resource        sound           0x84    C:\Studio\testcomp\INPUT\sound
;       resource memory 0x85    ;       (can not be loaded from disk)
        resource        vocab           0x86    C:\Studio\testcomp\INPUT\script\vocab
        resource        font            0x87   C:\Studio\testcomp\INPUT\font
        resource        cursor  0x88    C:\Studio\testcomp\INPUT\cursor
        resource        patch           0x89    C:\Studio\testcomp\INPUT\patch
)
(volume
; Cursors
cursor 768
cursor 992
cursor 997
cursor 999

; Fonts
font 000
font 001
font 004
font 007
font 009
font 100
font 200
font 300
font 600
font 601
font 603
font 999

; Patches
patch 001
patch 002
patch 003
patch 004
patch 007
patch 101

; Pictures
pic 001
pic 002
pic 003
pic 004
pic 005
pic 006
pic 007
pic 008
pic 009
pic 010
pic 011
pic 012
pic 013
pic 014
pic 015
pic 016
pic 017
pic 018
pic 019
pic 020
pic 021
pic 022
pic 023
pic 024
pic 025
pic 026
pic 027
pic 028
pic 029
pic 030
pic 031
pic 032
pic 033
pic 034
pic 035
pic 036
pic 037
pic 038
pic 039
pic 040
pic 041
pic 042
pic 043
pic 044
pic 045
pic 046
pic 047
pic 048
pic 050
pic 051
pic 052
pic 053
pic 055
pic 056
pic 057
pic 058
pic 059
pic 060
pic 061
pic 062
pic 063
pic 064
pic 065
pic 072
pic 073
pic 079
pic 080
pic 083
pic 089
pic 090
pic 091
pic 092
pic 093
pic 094
pic 095
pic 096
pic 097
pic 098
pic 099
pic 100
pic 101
pic 102
pic 103
pic 104
pic 105
pic 106
pic 107
pic 108
pic 109
pic 110
pic 111
pic 120
pic 121
pic 122
pic 123
pic 124
pic 140
pic 377
pic 500
pic 501
pic 502
pic 503
pic 505
pic 506
pic 507
pic 509
pic 510
pic 511
pic 512
pic 514
pic 515
pic 516
pic 517
pic 518
pic 520
pic 521
pic 522
pic 523
pic 524
pic 525
pic 650
pic 653
pic 654
pic 655
pic 656
pic 658
pic 800

; Scripts
script 000
script 001
script 002
script 003
script 004
script 005
script 006
script 007
script 008
script 009
script 010
script 011
script 012
script 013
script 014
script 015
script 016
script 017
script 018
script 019
script 020
script 021
script 022
script 023
script 024
script 025
script 026
script 027
script 028
script 029
script 030
script 031
script 032
script 033
script 034
script 035
script 036
script 037
script 038
script 039
script 040
script 041
script 042
script 043
script 044
script 045
script 046
script 047
script 048
script 050
script 051
script 052
script 053
script 055
script 056
script 057
script 058
script 059
script 060
script 061
script 062
script 063
script 064
script 065
script 072
script 073
script 079
script 080
script 083
script 089
script 090
script 091
script 092
script 093
script 094
script 095
script 096
script 097
script 098
script 100
script 101
script 102
script 103
script 104
script 105
script 106
script 107
script 108
script 109
script 110
script 111
script 120
script 121
script 122
script 123
script 124
script 265
script 290
script 300
script 301
script 302
script 303
script 304
script 305
script 306
script 500
script 501
script 503
script 505
script 506
script 507
script 508
script 509
script 510
script 511
script 512
script 514
script 515
script 516
script 517
script 518
script 521
script 522
script 523
script 524
script 525
script 526
script 600
script 650
script 651
script 652
script 653
script 654
script 655
script 656
script 797
script 799
script 800
script 809
script 810
script 811
script 969
script 970
script 971
script 972
script 973
script 974
script 975
script 976
script 977
script 978
script 979
script 980
script 981
script 982
script 983
script 984
script 985
script 986
script 987
script 988
script 989
script 990
script 991
script 992
script 993
script 994
script 995
script 996
script 997
script 998
script 999

; Sounds
sound 001
sound 002
sound 004
sound 005
sound 007
sound 010
sound 021
sound 022
sound 023
sound 024
sound 025
sound 026
sound 033
sound 100
sound 101
sound 107
sound 110
sound 120
sound 140
sound 141
sound 206
sound 207
sound 253
sound 261
sound 265
sound 299
sound 323
sound 330
sound 335
sound 340
sound 341
sound 395
sound 399
sound 431
sound 435
sound 452
sound 500
sound 540
sound 560
sound 599
sound 799
sound 800
sound 801
sound 802
sound 899
sound 900

; Text
text 000
text 001
text 002
text 003
text 004
text 005
text 006
text 007
text 008
text 009
text 010
text 011
text 012
text 013
text 014
text 015
text 016
text 017
text 020
text 021
text 022
text 023
text 024
text 025
text 026
text 027
text 028
text 029
text 030
text 032
text 033
text 034
text 035
text 039
text 040
text 055
text 057
text 058
text 070
text 071
text 094
text 100
text 102
text 104
text 105
text 107
text 108
text 120
text 124
text 140
text 141
text 142
text 143
text 144
text 145
text 146
text 147
text 148
text 149
text 150
text 151
text 152
text 153
text 154
text 155
text 156
text 157
text 158
text 159
text 160
text 161
text 162
text 163
text 164
text 165
text 166
text 265
text 290
text 301
text 306
text 341
text 503
text 506
text 507
text 509
text 510
text 512
text 514
text 515
text 516
text 517
text 518
text 522
text 523
text 525
text 655
text 656
text 797
text 809
text 976

; Views
view 000
view 001
view 003
view 004
view 005
view 006
view 007
view 008
view 009
view 010
view 011
view 012
view 013
view 017
view 018
view 020
view 021
view 023
view 024
view 026
view 027
view 028
view 029
view 030
view 031
view 032
view 033
view 034
view 035
view 036
view 037
view 038
view 039
view 040
view 041
view 042
view 043
view 044
view 045
view 046
view 047
view 048
view 050
view 051
view 052
view 053
view 055
view 056
view 057
view 058
view 072
view 073
view 079
view 080
view 083
view 090
view 091
view 092
view 093
view 094
view 095
view 096
view 097
view 098
view 100
view 101
view 102
view 103
view 104
view 105
view 106
view 107
view 108
view 109
view 110
view 111
view 112
view 120
view 121
view 122
view 123
view 124
view 125
view 126
view 140
view 200
view 201
view 202
view 203
view 204
view 205
view 206
view 207
view 208
view 209
view 210
view 211
view 212
view 213
view 214
view 215
view 216
view 217
view 218
view 219
view 220
view 221
view 222
view 223
view 224
view 225
view 226
view 227
view 228
view 229
view 230
view 231
view 232
view 233
view 234
view 235
view 240
view 290
view 315
view 502
view 503
view 504
view 505
view 506
view 508
view 509
view 510
view 511
view 512
view 513
view 514
view 515
view 516
view 517
view 518
view 519
view 520
view 522
view 523
view 524
view 525
view 526
view 527
view 528
view 529
view 530
view 531
view 532
view 533
view 534
view 536
view 538
view 539
view 540
view 541
view 542
view 543
view 544
view 545
view 546
view 547
view 548
view 549
view 550
view 551
view 552
view 553
view 554
view 600
view 601
view 602
view 603
view 604
view 605
view 606
view 607
view 608
view 609
view 610
view 611
view 612
view 613
view 614
view 615
view 616
view 617
view 618
view 650
view 651
view 652
view 653
view 654
view 655
view 656
view 705
view 706
view 707
view 708
view 710
view 712
view 714
view 715
view 716
view 717
view 718
view 719
view 720
view 721
view 722
view 723
view 725
view 726
view 727
view 728
view 729
view 730
view 731
view 732
view 733
view 734
view 901
view 914
view 915
view 916
view 917
view 918
view 950
view 994
view 995
view 996
view 997
view 998

; Vocabulary
vocab 000
vocab 900
vocab 901
vocab 994
vocab 995
vocab 996
vocab 997
vocab 998
vocab 999
)

12
SCI Development Tools / Re: Sierra's Internal SCI Tools
« on: October 24, 2025, 11:04:21 AM »
Just trying to run the makevols.exe on my extracted SCI0 resource files to see if this makes any difference to the size of my resource.001

I get the following errors for all resources. Is there a certain naming convention its looking for? Mine are for example:
fonts
font.000, font.004 etc etc

Code: [Select]
MAKEVOLS: (731) Object (vocab) not found.

I've created the sub directories and my where file
Code: [Select]
view    = C:\Studio\testcomp\INPUT\view\
pic     = C:\Studio\testcomp\INPUT\pic\
script  = C:\Studio\testcomp\INPUT\script\
text    = C:\Studio\testcomp\INPUT\text\
sound   = C:\Studio\testcomp\INPUT\sound\
vocab   = C:\Studio\testcomp\INPUT\vocab\
font    = C:\Studio\testcomp\INPUT\font\
cursor  = C:\Studio\testcomp\INPUT\cursor\
patch   = C:\Studio\testcomp\INPUT\patch\

I've created a resource.txt
Code: [Select]
(volumes
; Cursors
cursor 768
cursor 992
cursor 997
cursor 999

; Fonts
font 000
font 001
font 004
font 007
font 009
font 100
font 200
font 300
font 600
font 601
font 603
font 999

; Patches
patch 001
patch 002
patch 003
patch 004
patch 007
patch 101

; Pictures
pic 001
pic 002
pic 003
pic 004
pic 005
pic 006
pic 007
pic 008
pic 009
pic 010
pic 011
pic 012
pic 013
pic 014
pic 015
pic 016
pic 017
pic 018
pic 019
pic 020
pic 021
pic 022
pic 023
pic 024
pic 025
pic 026
pic 027
pic 028
pic 029
pic 030
pic 031
pic 032
pic 033
pic 034
pic 035
pic 036
pic 037
pic 038
pic 039
pic 040
pic 041
pic 042
pic 043
pic 044
pic 045
pic 046
pic 047
pic 048
pic 050
pic 051
pic 052
pic 053
pic 055
pic 056
pic 057
pic 058
pic 059
pic 060
pic 061
pic 062
pic 063
pic 064
pic 065
pic 072
pic 073
pic 079
pic 080
pic 083
pic 089
pic 090
pic 091
pic 092
pic 093
pic 094
pic 095
pic 096
pic 097
pic 098
pic 099
pic 100
pic 101
pic 102
pic 103
pic 104
pic 105
pic 106
pic 107
pic 108
pic 109
pic 110
pic 111
pic 120
pic 121
pic 122
pic 123
pic 124
pic 140
pic 377
pic 500
pic 501
pic 502
pic 503
pic 505
pic 506
pic 507
pic 509
pic 510
pic 511
pic 512
pic 514
pic 515
pic 516
pic 517
pic 518
pic 520
pic 521
pic 522
pic 523
pic 524
pic 525
pic 650
pic 653
pic 654
pic 655
pic 656
pic 658
pic 800

; Scripts
script 000
script 001
script 002
script 003
script 004
script 005
script 006
script 007
script 008
script 009
script 010
script 011
script 012
script 013
script 014
script 015
script 016
script 017
script 018
script 019
script 020
script 021
script 022
script 023
script 024
script 025
script 026
script 027
script 028
script 029
script 030
script 031
script 032
script 033
script 034
script 035
script 036
script 037
script 038
script 039
script 040
script 041
script 042
script 043
script 044
script 045
script 046
script 047
script 048
script 050
script 051
script 052
script 053
script 055
script 056
script 057
script 058
script 059
script 060
script 061
script 062
script 063
script 064
script 065
script 072
script 073
script 079
script 080
script 083
script 089
script 090
script 091
script 092
script 093
script 094
script 095
script 096
script 097
script 098
script 100
script 101
script 102
script 103
script 104
script 105
script 106
script 107
script 108
script 109
script 110
script 111
script 120
script 121
script 122
script 123
script 124
script 265
script 290
script 300
script 301
script 302
script 303
script 304
script 305
script 306
script 500
script 501
script 503
script 505
script 506
script 507
script 508
script 509
script 510
script 511
script 512
script 514
script 515
script 516
script 517
script 518
script 521
script 522
script 523
script 524
script 525
script 526
script 600
script 650
script 651
script 652
script 653
script 654
script 655
script 656
script 797
script 799
script 800
script 809
script 810
script 811
script 969
script 970
script 971
script 972
script 973
script 974
script 975
script 976
script 977
script 978
script 979
script 980
script 981
script 982
script 983
script 984
script 985
script 986
script 987
script 988
script 989
script 990
script 991
script 992
script 993
script 994
script 995
script 996
script 997
script 998
script 999

; Sounds
sound 001
sound 002
sound 004
sound 005
sound 007
sound 010
sound 021
sound 022
sound 023
sound 024
sound 025
sound 026
sound 033
sound 100
sound 101
sound 107
sound 110
sound 120
sound 140
sound 141
sound 206
sound 207
sound 253
sound 261
sound 265
sound 299
sound 323
sound 330
sound 335
sound 340
sound 341
sound 395
sound 399
sound 431
sound 435
sound 452
sound 500
sound 540
sound 560
sound 599
sound 799
sound 800
sound 801
sound 802
sound 899
sound 900

; Text
text 000
text 001
text 002
text 003
text 004
text 005
text 006
text 007
text 008
text 009
text 010
text 011
text 012
text 013
text 014
text 015
text 016
text 017
text 020
text 021
text 022
text 023
text 024
text 025
text 026
text 027
text 028
text 029
text 030
text 032
text 033
text 034
text 035
text 039
text 040
text 055
text 057
text 058
text 070
text 071
text 094
text 100
text 102
text 104
text 105
text 107
text 108
text 120
text 124
text 140
text 141
text 142
text 143
text 144
text 145
text 146
text 147
text 148
text 149
text 150
text 151
text 152
text 153
text 154
text 155
text 156
text 157
text 158
text 159
text 160
text 161
text 162
text 163
text 164
text 165
text 166
text 265
text 290
text 301
text 306
text 341
text 503
text 506
text 507
text 509
text 510
text 512
text 514
text 515
text 516
text 517
text 518
text 522
text 523
text 525
text 655
text 656
text 797
text 809
text 976

; Views
view 000
view 001
view 003
view 004
view 005
view 006
view 007
view 008
view 009
view 010
view 011
view 012
view 013
view 017
view 018
view 020
view 021
view 023
view 024
view 026
view 027
view 028
view 029
view 030
view 031
view 032
view 033
view 034
view 035
view 036
view 037
view 038
view 039
view 040
view 041
view 042
view 043
view 044
view 045
view 046
view 047
view 048
view 050
view 051
view 052
view 053
view 055
view 056
view 057
view 058
view 072
view 073
view 079
view 080
view 083
view 090
view 091
view 092
view 093
view 094
view 095
view 096
view 097
view 098
view 100
view 101
view 102
view 103
view 104
view 105
view 106
view 107
view 108
view 109
view 110
view 111
view 112
view 120
view 121
view 122
view 123
view 124
view 125
view 126
view 140
view 200
view 201
view 202
view 203
view 204
view 205
view 206
view 207
view 208
view 209
view 210
view 211
view 212
view 213
view 214
view 215
view 216
view 217
view 218
view 219
view 220
view 221
view 222
view 223
view 224
view 225
view 226
view 227
view 228
view 229
view 230
view 231
view 232
view 233
view 234
view 235
view 240
view 290
view 315
view 502
view 503
view 504
view 505
view 506
view 508
view 509
view 510
view 511
view 512
view 513
view 514
view 515
view 516
view 517
view 518
view 519
view 520
view 522
view 523
view 524
view 525
view 526
view 527
view 528
view 529
view 530
view 531
view 532
view 533
view 534
view 536
view 538
view 539
view 540
view 541
view 542
view 543
view 544
view 545
view 546
view 547
view 548
view 549
view 550
view 551
view 552
view 553
view 554
view 600
view 601
view 602
view 603
view 604
view 605
view 606
view 607
view 608
view 609
view 610
view 611
view 612
view 613
view 614
view 615
view 616
view 617
view 618
view 650
view 651
view 652
view 653
view 654
view 655
view 656
view 705
view 706
view 707
view 708
view 710
view 712
view 714
view 715
view 716
view 717
view 718
view 719
view 720
view 721
view 722
view 723
view 725
view 726
view 727
view 728
view 729
view 730
view 731
view 732
view 733
view 734
view 901
view 914
view 915
view 916
view 917
view 918
view 950
view 994
view 995
view 996
view 997
view 998

; Vocabulary
vocab 000
vocab 900
vocab 901
vocab 994
vocab 995
vocab 996
vocab 997
vocab 998
vocab 999
)

13
SCI Syntax Help / Re: SCI Tetris
« on: October 23, 2025, 06:20:04 PM »
hehe. The boss key will make you laugh... but you will have to wait for final release for that one. I've added your SCI Tetris to the Homebrew Komputer Klub scene. There are various arcade machines that you can play in the old movie theatre. The homebrew nerds have setup free play on them. No buckazoids required.

I was looking to get Doom working in a mini game in some form or another ...I was trying to do a Wizardry style 3D wireframe to save on memory... but I think its too complicated at this point of time for my SCI coding knowledge ...

14
SCI Syntax Help / Re: SCI Tetris
« on: October 23, 2025, 06:02:24 AM »
Thanks to sluicebox for the fix. I've updated the expresions based on his fix.

Quote
You can work around at least some of these compiler bugs in the older version, this particular problem is with the "+=" expressions. (Or -=, *=, /=, etc).

You can avoid this problem by expanding all of those lines like this:

(+= [ax t] 4)

becomes:

(= [ax t] (+ [ax t] 4))

Code: [Select]
;;; Sierra Script 1.0 - (do not remove this comment)
;**
;** Logics for room 524 -- SCI Tetris mini game. Code by Rainer De Temple.
;**
;** Leisure Suit Larry 4 - Never say Nontoonyt (AKA The Missing Floppies)
;**        Copyright 2025
;** by Robbbo
;**
;** Last Update: October 23rd, 2025
;**
(script# 524)
(include sci.sh)
(include game.sh)
(use main)
(use controls)
(use cycle)
(use game)
(use feature)
(use obj)
(use inv)
(use door)
(use jump)
(use dpath)

(public
rm524 0
)

(local
HEIGHT = 20
WIDTH = 10
[field 200] ; default value is zero
[figures 28] = [1 3 5 7 ; I
2 4 5 7 ; Z
3 5 4 6 ; S
3 5 4 7 ; T
2 3 5 7 ; L
3 5 7 6 ; J
2 3 4 5 ; O
   ]
[ax 4]
[bx 4]
[ay 4]
[by 4]
[nx 4]
[ny 4]

dx = 0
rotate = 0
colorNum = 1
n = 0
delay = 30

[displayString 80]

offsetx = 119
offsety = 12

elapsedTime = 0
lastFrameTime = 0

next = 0

clear = 0
cleared = 0
)


(instance block0 of Prop
(properties
view 617
x -10
y -10
loop 0
cel 0
priority 15
)
)
(instance block1 of Prop
(properties
view 617
x -10
y -10
loop 0
cel 0
priority 15
)
)
(instance block2 of Prop
(properties
view 617
x -10
y -10
loop 0
cel 0
priority 15
)
)
(instance block3 of Prop
(properties
view 617
x -10
y -10
loop 0
cel 0
priority 15
)
)

(instance block4 of View
(properties
view 617
x -10
y -10
loop 0
cel 0
priority 15
)
)

(instance alLowe of Act
(properties
view 618
x 260
y 165
loop 1
priority 15
)
)


(instance rm524 of Rm
(properties
picture 524
)

(method (init &tmp i)
(super init:)
(self setScript: RoomScript)

    (block0 init:)
    (block1 init:)
    (block2 init:)
    (block3 init:)
   
    ;; todo: encapsulate this in a procedure
    (= next (Random 0 6))
    (= n (Random 0 6))
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [ax i] (mod [figures (+ i (* n 4))] 2))
    (= [ay i] (/   [figures (+ i (* n 4))] 2))
    (= [ax i] (+ [ax i] 4)) ; move it to the centre
)
(= next (Random 0 6))
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [nx i] (mod [figures (+ i (* next 4))] 2))
    (= [ny i] (/   [figures (+ i (* next 4))] 2))
)
(= gSpeed 1)
(= lastFrameTime (GetTime))
(gTheMusic prevSignal: 0  stop: number: 100 loop: -1 play:)
(alLowe init: setCycle: Fwd cycleSpeed: 10)

)
)

(procedure (check &tmp i [tempString 500]) ; checks for collision returns 1 if true
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(if
(or (< [ax i] 0) ; left side check 0
(>= [ax i] WIDTH) ; right side check
(>= [ay i] HEIGHT)
)
(return 1)
else
(if [field (+ [ax i] (* [ay i] WIDTH))]
(if (== [ay i] 1)
((ScriptID DYING_SCRIPT) caller: 729)
(gGame setScript: (ScriptID DYING_SCRIPT))
)
(return 1) ; check with field
)
)
)
(return 0) ; no collision
)

(procedure (refresh)
; 10 lines cleared, level up!
(if (> clear (* gLevel 10))
(= gLevel (+ gLevel 1))
(= clear 0)
(alLowe cycleSpeed: (- 10 gLevel))
(SL doit:)
)

(DrawPic gRoomNumber)
(Display {Tetris} dsCOORD 206 12 dsCOLOUR clWHITE dsFONT 100)
(Display {Tetris} dsCOORD 205 11 dsCOLOUR clBLACK dsFONT 100)
(Display {Tetris} dsCOORD 204 10 dsCOLOUR clMAROON dsFONT 100)
(Display "Controls:" dsFONT 4 dsCOLOR clSILVER dsCOORD 205 40)
(Display "____W____Rotate" dsFONT 4 dsCOLOR clSILVER dsCOORD 205 50)
(Display "__A___D__Move Left/Right" dsFONT 4 dsCOLOR clSILVER dsCOORD 205 60)
(Display "____S____Move Down" dsFONT 4 dsCOLOR clSILVER dsCOORD 205 70)

(Display {Score:} dsFONT 4 dsCOLOR clBLACK dsCOORD 21 11)
(Display {Score:} dsFONT 4 dsCOLOR clSILVER dsCOORD 20 10)
(Format @displayString {%d} gScore)
(Display @displayString dsFONT 100 dsCOLOR clBLACK dsCOORD 21 21 dsALIGN alRIGHT dsWIDTH 90)
(Display @displayString dsFONT 100 dsCOLOR clWHITE dsCOORD 20 20 dsALIGN alRIGHT dsWIDTH 90)

(Display {Highest:} dsFONT 4 dsCOLOR clBLACK dsCOORD 21 41)
(Display {Highest:} dsFONT 4 dsCOLOR clSILVER dsCOORD 20 40)
(Format @displayString {%d} gMaxScore)
(Display @displayString dsFONT 100 dsCOLOR clBLACK dsCOORD 21 51 dsALIGN alRIGHT dsWIDTH 90)
(Display @displayString dsFONT 100 dsCOLOR clWHITE dsCOORD 20 50 dsALIGN alRIGHT dsWIDTH 90)

(Display {Next:} dsFONT 4 dsCOLOR clBLACK dsCOORD 21 96)
(Display {Next:} dsFONT 4 dsCOLOR clSILVER dsCOORD 20 95)

(Display {Lines Cleared:} dsFONT 4 dsCOLOR clBLACK dsCOORD 206 96)
(Display {Lines Cleared:} dsFONT 4 dsCOLOR clSILVER dsCOORD 205 95)
(Format @displayString {%d} cleared)
(Display @displayString dsCOLOR clBLACK dsCOORD 206 96 dsALIGN alRIGHT dsWIDTH 90)
(Display @displayString dsCOLOR clWHITE dsCOORD 205 95 dsALIGN alRIGHT dsWIDTH 90)
)


(instance RoomScript of Script
(properties)

(method (handleEvent pEvent)
    (switch (pEvent type?)
      (evKEYBOARD
        (if (== (pEvent message?) KEY_w)
        (= rotate 1)
              (pEvent claimed: 1)
)
(if (== (pEvent message?) KEY_a)
        (= dx -1)
              (pEvent claimed: 1)
)
(if (== (pEvent message?) KEY_d)
        (= dx 1)
              (pEvent claimed: 1)
)
(if (== (pEvent message?) KEY_s)
        (= delay 1)
              (pEvent claimed: 1)
)
)
)
)

(method (doit &tmp i cx cy x y j row count)
;;; timer stuff ;;;
(= elapsedTime (- (GetTime) lastFrameTime))

;;;; move ;;;;
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [bx i] [ax i]) ; store previous position
(= [by i] [ay i])
(= [ax i] (+ [ax i] dx)) ; move left or right
)
(if (check) ; stop and move back to previous position
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [ax i] [bx i])
(= [ay i] [by i])
)
)

;;;; rotate ;;;;
(if rotate
(= cx [ax 1]) ; center of rotation
(= cy [ay 1])
(for ((= i 0)) (< i 4) ((= i (+ i 1))) ; rotate the blocks
(= x (- [ay i] cy))
(= y (- [ax i] cx))
(= [ax i] (- cx x))
(= [ay i] (+ cy y))
)
(if (check) ; can't rotate this way, move back to previous
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [ax i] [bx i])
(= [ay i] [by i])
)
)
)

;;;; tick ;;;;
(if (> elapsedTime delay)
(= lastFrameTime (GetTime))
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [bx i] [ax i]) ; store previous position
(= [by i] [ay i])
(= [ay i] (+ [ay i] 1)) ; move down one block
)
(if (check) ; did we hit something?
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [field (+ [bx i] (* [by i] WIDTH))] colorNum)
)
(= colorNum (Random 1 6))
(= n next)
(= next (Random 0 6))
(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [ax i] (mod [figures (+ i (* n 4))] 2))
    (= [ay i] (/   [figures (+ i (* n 4))] 2))
    (= [ax i] (+ [ax i] 4)) ; move it to the centre
)

(for ((= i 0)) (< i 4) ((= i (+ i 1)))
(= [nx i] (mod [figures (+ i (* next 4))] 2))
    (= [ny i] (/   [figures (+ i (* next 4))] 2))
)
)
)

;;;; check lines ;;;;
(= row (- HEIGHT 1))
(for ((= i (- HEIGHT 1))) (> i 0) ((= i (- i 1)))
(= count 0)
(for ((= j 0)) (< j WIDTH) ((= j (+ j 1)))
(if [field (+ j (* i WIDTH))]
(= count (+ count 1))
)
(=
[field (+ j (* row WIDTH))]
[field (+ j (* i WIDTH))]
)
)
(if (< count WIDTH)
(= row (- row 1))
(refresh) ; clear the screen
)
)
(= clear (+ clear row)) ; cleared this level
(= cleared (+ cleared row)) ; cleared in total
(switch row
(4 (= gScore (+ gScore (* 1200 gLevel))))
(3 (= gScore (+ gScore (* 300 gLevel))))
(2 (= gScore (+ gScore (* 100 gLevel))))
(1 (= gScore (+ gScore (* 40 gLevel))))
)

(= dx 0)
(= rotate 0)
(= delay (- 33 (* gLevel 3)))

    ;;;; draw the set blocks ;;;;
    (for ((= i 0)) (< i HEIGHT) ((= i (+ i 1)))
    (for ((= j 0)) (< j WIDTH) ((= j (+ j 1)))
    (if [field (+ j (* i WIDTH))]
    (block4 init: loop: [field (+ j (* i WIDTH))] posn: (+ offsetx (* j 8)) (+ offsety (* i 8)))
    (gAddToPics add: block4 eachElementDo: #init doit:)
)
)
)
   
    (block0 loop: colorNum posn: (+ offsetx (* [ax 0] 8)) (+ offsety (* [ay 0] 8)))
    (block1 loop: colorNum posn: (+ offsetx (* [ax 1] 8)) (+ offsety (* [ay 1] 8)))
    (block2 loop: colorNum posn: (+ offsetx (* [ax 2] 8)) (+ offsety (* [ay 2] 8)))
    (block3 loop: colorNum posn: (+ offsetx (* [ax 3] 8)) (+ offsety (* [ay 3] 8)))
   
    (block4 init: colorNum posn: (+ 50 (* [nx 0] 8)) (+ 110 (* [ny 0] 8)))
    (gAddToPics add: block4 eachElementDo: #init doit:)
    (block4 init: colorNum posn: (+ 50 (* [nx 1] 8)) (+ 110 (* [ny 1] 8)))
    (gAddToPics add: block4 eachElementDo: #init doit:)
    (block4 init: colorNum posn: (+ 50 (* [nx 2] 8)) (+ 110 (* [ny 2] 8)))
    (gAddToPics add: block4 eachElementDo: #init doit:)
    (block4 init: colorNum posn: (+ 50 (* [nx 3] 8)) (+ 110 (* [ny 3] 8)))
    (gAddToPics add: block4 eachElementDo: #init doit:)

    (super doit:)
)
)

15
SCI Syntax Help / Re: SCI Tetris
« on: October 21, 2025, 09:21:49 AM »
ahh ok.. Yes, your fork works for the SCI Tetris but unfortunately breaks some of my other rooms.  I'll have to see what I do.
Thanks,

Pages: [1] 2 3 ... 13

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.063 seconds with 19 queries.