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 ... 14
1
Your game should still on on scummvm. Not sure what licenses are around that? Can you ship it with a commercial product?

I really would like to use MSDOS as the main OS, so SummVM is not an option at this point. Do your builds run on MSDOS?
I'm thinking if its possible to re-write SCIV.EXE so its a little different but 100% compatible that way get around the copyright issues?

2
It must be in the air :)

I did try and approach Microsoft to see if they hold the rights but I was not successful. Do we really know who owns the rights to the system code?

3
Yeah that's what I was worried about. Everything under the hood. :( Anyone know how Icefall Games is doing it. Phil seems to has his for sale on Steam.

I was going to try a Adventure / RPG style game. I've always loved those.

4
I believe it's the MT-32 ROM that would be a copyright concern, just don't include it. MT32.DRV and SCIV.EXE are in the SCICompanion template games, so I wouldn't worry about those.

Yeah, I've seen Roland actively requesting people to no include their roms in bundles.

Is SCIV.EXE reverse engineered or is it the original EXE compiled at Sierra? The driver .DRV files do look originals so they might be a concern.

I'm not worried with my LSL4 as will be Freeware but was thinking of commercially realising a new game/IP later on.

5
Hi guys,
What is the accepted/legal practice for distributing original games made with SCICompanion? If you bundle with the drivers like mt32.drv etc and the sciv.exe would this breach copyright? I'm not sure who now holds the copyright for the drivers files and sciv.exe?

6
SCI Development Tools / Re: snd to wav ?
« on: January 16, 2026, 04:45:35 AM »
I just downloaded it. Its very cool. Just what the doctor ordered :)

7
SCI Development Tools / Re: snd to wav ?
« on: January 15, 2026, 05:35:40 PM »
<Robbo007 bows>..thanks :)

SV?
I've got code and tools all over my brain. Wine does not help...

8
SCI Development Tools / snd to wav ?
« on: January 15, 2026, 04:53:03 PM »
Hi guys,
Sorry if this has been asked. Is there a way to convert a .snd to wav or extract the .smp to .wav? I'm trying to extract the open and close door SoundbBaster sounds from 40.snd and 41.snd LSL5. The LSL5 source shows its formed of two parts?

Code: [Select]
;(40.snd (-p10)          ;sDoorOpen             matjsx
;        (seq\DoorO1.mid)
;        (savesmp\DoorO1.smp[mat])
;)
;
;(41.snd (-p10)          ;sDoorClose             matjsx
;        (seq\DoorC1.mid)
;        (savesmp\DoorC1.smp[mat])

9
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

10
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

11
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
)

12
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
        )
    )
)

13
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,

14
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)
        )
    )
)

15
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)
)
)

Pages: [1] 2 3 ... 14

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

Page created in 0.05 seconds with 19 queries.