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 - MusicallyInspired

Pages: 1 ... 109 110 [111] 112 113 ... 118
1651
SCI Syntax Help / Re: "Look at <inventory item>"
« on: March 09, 2010, 02:33:41 PM »
This is still an annoying problem if anyone has any ideas to rectify it.

1652
The Games and other Sierra Adventure stuff / Gallery Images Uploaded
« on: March 09, 2010, 12:52:15 AM »
I've uploaded a couple screens from my KQ2SCI remake to the gallery section.

1653
Everything-Else / Re: We're back!
« on: March 09, 2010, 12:33:36 AM »
Indeed! I can't wait to see what everybody works on again.

1654
SCI Resource Viewer

Here is the SCI Resource Viewer program I was talking about. It'll view almost any resources (including sound resources!) from pretty much any SCI game out there. Straight from King's Quest IV all the way up to Torin's Passage, LSL7, Phantasmagoria I believe, and others.

This is a powerful tool for developers because it has several features that SCI Studio or SCI Companion doesn't have.

-The biggest one is the ability to preview sound resources. You can choose which PATCH to play them through (Tandy 3-voice, Adlib, Sound Blaster, MT-32, General MIDI (if the game supports it), PC Speaker, or even digital sound (again if the game or sound resources supports it) and after that you can choose which Windows MIDI interface you want to output it through. It also includes the loop trigger feature. Some sound resources in SCI games contain loop triggers that are used in conjunction with the game scripts to loop certain parts of a music theme while the game is busy doing something. Then when the game is finished it usually calls another sound resource and plays it. You really get the feel for how Sierra used their sound resources to their advantage. Almost as well as iMuse in LucasArts games. You can also save sound resources as MIDI files and save the digital audio sound resources as WAV files.

-It can view disassembled SCI scripts (for whoever can read them properly...I sure can't).

-It can view priority and control palettes of SCI1+ game picture resources.

-It's also a HECK of a lot more stable than SCI Studio could ever DREAM to be. that includes the unfinished VGA binaries.

There used to be a function in earlier releases to export resources in their native format but that seems to have since been removed for some reason. I seem to remember the author of the tool saying that it'll "try" to export resources in their native format with mixed results. Maybe he just never solved it.

Obviously the biggest and most useful tool in the program for SCI game developers is the ability to preview sound resources. And with the built-in set of features it has you can do that in any way possible exactly as the game would output it without having to launch the game itself! The only problem is that you can't really preview PC Speaker and Tandy 3-Voice sound resources very faithfully as the program doesn't utilize the PC Speaker and computers today obviously don't have Tandy 3-voice support anymore. In fact, if you don't have a true FM-Synth sound card then even playing back sound resources in Adlib won't work well either. And MT-32 is only useful if you actually have an MT-32 (or the MUNT emulator, which is coming along nicely I hear!).

But anyway, if nothing else you can check to make sure your properly ammended digital sound effect to a sound resource is working properly (this is done with the programs I have downloadable in the SCI Sound Tools thread).

1655
SCI Development Tools / SCI Sound Tools
« on: March 09, 2010, 12:14:06 AM »
SCI Sound Tools Pack (read below)

Adlib INSMaker (creates and edits custom Adlib BNK files. Read below)

Sierra MT-32 SysEx Banks (MT-32 sysex dumps from various Sierra games)

These tools are for people who don't want just simple slap-a-midi-file-in-soundbox-and-put-it-in-your-sci-game procedure. These tools will allow you to produce Adlib and Roland MT-32 soundtracks in your games. They will also allow you to use Digital Sound Effects in your game like Roger Wilco speaking in the SQ3 introduction sequence ("Where am I?") and the sound of the gate closing at the beginning of the KQ1 SCI remake.

For a description of each program and their functions, I've copy and pasted the following from an old post I made on the Mega-Tokyo forums just before the SCI Community website first went down.

===========

The tools that are now available are:

AddWav.exe - Ammends a digital WAV file to a sound resource. This will enable you to have digital sounds in your game. This is possible because we know that SQ3 as well as a couple other games had digital audio sounds. You'll need to use either the SNDBLAST.DRV or MTBLAST.DRV drivers for digital sounds to work. Some limitations: the WAV file must be 8-bit mono and the resulting sound resource must be no bigger than 65536 bytes.

Bnk2Pat - Converts the Adlib Instrument Maker INS file format to Sierra's SCI0 patch file format for use in SCI0 games. BNK files must be saved in "Melodic Mode" or it won't sound right in-game. The converter will warn you if the file is not in the right format. You're also limited to 96 total instruments (an SCI0 limitation).

Minor note: there's also a program out there called SBank that will convert Sound Blaster IBK files to InsMaker's BNK format if you need it. I have no idea where you could find it, though.

Pat2Bnk - Converts Sierra's SCI0 Adlib instrument patch resources into Adlib Instrument Maker's BNK file format. For use if you want to reuse Adlib instruments from another Sierra SCI0 game.

Syx2Pat - Converts an MT-32 custom instrument SysEx file into Sierra's MT-32 instrument patch resource format for use in SCI0 games. It will also create (with the use of a text file) the 3 text messages that you can have show on your MT-32's LCD display just like Sierra's games did.

Note: there's also programs out there that will convert the M32 file format to the SYX format. You can obtain one at the Quest Studios website in the MT-32 Resource Center section as well as a database of SysEx files from all of Sierra's games if you want to reuse some instruments you like from your favourite game. There's also a database of tons of other MT-32 instruments not used in Sierra's games that you could use as well. In addition to all this there are some MT-32 librarian program options you can select from as well to make your own instruments (you'll need one if you want to rip instruments out of existing Sierra games and create your own SYX instrument collection).

InsMaker - Adlib Instrument Maker. Creates BNK files of custom Adlib sounds. All BNK files you wish to convert to SCI0's patch format must be saved in "Melodic Mode" in the Options menu and must have no more than a maximum of 96 instruments. This program is best run inside DOSBox as it requires an FM Synth MIDI device which no modern sound card has, nor any modern OS supports.

SoundBox - This one we know of already. It creates a sound resource out of a standard MIDI file and allows you to assign channels to whatever output you want (Adlib, MT-32, PC Speaker, Tandy 3-voice, General MIDI, etc).

In addition to these tools, these sound drivers are also available:

SNDBLAST.DRV - This driver allows SCI0 games to have stereo Adlib music (ADL.DRV is mono-only) and digital sound effects, if any are ammended to a sound resource.

MTBLAST.DRV - The same as MT32.DRV except it also supports digital audio-ammended sound resources.

MPUMIDI.DRV - For use when you just want to convert a MIDI to a sound resource quickly with SoundBox and not worry about all that instrument-creation stuff. The difference between this and GM.DRV is this one just chooses the instruments based on what patch number they're using while GM.DRV is for games that have no GM mapped instruments and tries to guess the General MIDI instrument equivalent based on the MT-32 instrument names. Use this driver if you aren't planning on having Adlib or MT-32 support.

GM.DRV - General MIDI driver.  Used mainly with official Sierra SCI0 games. This driver guesses the General MIDI instruments by reading the MT-32 instrument names and choosing the closest-resembling General MIDI equivalent with mixed results depending on the game. Use this if you do plan on having Adlib and MT-32 support.

Unfortunately I don't have a GMBLAST.DRV that will allow you to have General MIDI music and digital sounds together for an SCI0 game. So currently the only way you can have digital sounds in your game is to use either MTBLAST.DRV or SNDBLAST.DRV and neither of those support General MIDI. I'm looking for one, though.

I'll also be using digital sound effects in my KQ2SCI remake!

1656
Forum Support and Suggestions / Re: Lost Password Email
« on: March 08, 2010, 07:11:22 PM »
Hah! Classic.

1657
Everything-Else / We're back!
« on: March 06, 2010, 11:12:21 PM »
It's good to be back!

1658
SCI Syntax Help / Re: Disallow access to menubar
« on: June 23, 2007, 10:04:31 PM »
Ah there we are. I was using the DISABLED code the same time I was using the hide() code. Which is why it crashed. All good now

1659
SCI Syntax Help / Re: Disallow access to menubar
« on: June 23, 2007, 05:06:30 PM »
I've recreated a short demo plug that plays when you look into the rock on from the cliff platform in KQ2. When it's initialized I hide the menubar and disable it. Once it's over it takes you back to the screen where you looked into the hole and I want the menubar to be re-enabled and shown again. I took out the menubar DISABLED code because it was crashing but if I just hide it for the duration of the sequence it crashes once it gets back to the room it came from and try to show() it again.

I'm just using it as a test Said statement in room one for now. the "case 117" in the gPreviousRoomNumber is where I've programmed the inits when you come back from the last screen in the sequence which is room 117.

It says "'show' is not a selector for TheMenuBar" when I run sciv.exe -d.

Code: [Select]
/******************************************************************************
 SCI Template Game
 By Brian Provinciano
 ******************************************************************************
 rm001.sc
 Contains the first room of your game.
 ******************************************************************************/
(include "sci.sh")
(include "game.sh")
/******************************************************************************/
(script 1)
/******************************************************************************/
(use "main")
(use "controls")
(use "cycle")
(use "game")
(use "feature")
(use "obj")
(use "inv")
(use "door")
(use "jump")
(use "dpath")
(use "menubar")
/******************************************************************************/
(instance public rm001 of Rm
(properties
picture scriptNumber
// Set up the rooms to go to/come from here
north 43
east 2
south 8
west 0
)
(method (init)
// same in every script, starts things up
  (super:init())
  (self:setScript(RoomScript))

  // Check which room ego came from and position it
  (switch(gPreviousRoomNumber)
            /******************************************************
             * Put the cases here for the rooms ego can come from *
             ******************************************************/ /*
            (case north
  (send gEgo:
  posn(210 110)
  loop(2)
  )
  )*/
            (case north
               (send gEgo:
               posn(220 38)
               loop(2)
   )
            )
            (case east
                (send gEgo:
                   posn(310 send gEgo:y)  //y is remembered
                   loop(1)
               )
            )
            (case west
                (send gEgo:
                    posn(10 send gEgo:y) //y is remembered
                    loop(0)
                )
            )
            (case south
                (send gEgo:
                    posn((send gEgo:x) 180) //x is remembered
                    loop(3)
                )
            )
            (case 117
            (send gEgo:
            posn((send gEgo:x) (send gEgo:y))
loop (send gEgo:loop())
)
(send gGame:setCursor(999 1))
PlayerControl()
= gProgramControl FALSE
(TheMenuBar:show())
)

            // Set up ego's position if it hasn't come from any room
  (default
                (Animate((DrawPic(1 dpCLOSEREOPEN_CHECKBOARD))))
                (send gEgo:
  posn(139 132)
  loop(0)
  )
)
  )

// Set up the ego
SetUpEgo()
(send gEgo:init())

        /****************************************
         * Set up the room's music to play here *
         ****************************************/ /*
(send gTheMusic:
prevSignal(0)
stop()
number(scriptNumber)
loop(-1)
play()
)*/

        /**************************************************
         * Add the rest of your initialization stuff here *
         **************************************************/
)

)
/******************************************************************************/
(instance RoomScript of Script
(properties)

(method (doit)
(if (== (send gEgo:onControl()) ctlGREEN)
(ankleWater:dispose())
(send gEgo:setCycle(StopWalk gEgoWading gEgoWading))
)
(if (& (send gEgo:onControl()) ctlTEAL)
(send gEgo:setCycle(StopWalk gEgoWadingDeep gEgoWadingDeep))
)
(if (& (send gEgo:onControl()) ctlMAROON)
(send gEgo:setCycle(StopWalk gEgoSwimming gEgoSwimming))
)
(if (& (send gEgo:onControl()) ctlNAVY)
(if (== (send gEgo:view()) (gEgoView))
(ankleWater:init()setCycle(Fwd))
)(else
(if (== (send gEgo:view()) (gEgoStoppedView))
(ankleWater:init()setCycle(CT))
)(else
(send gEgo:setCycle(StopWalk gEgoView gEgoStoppedView))
)
)
)
(if (== (send gEgo:onControl()) ctlBLACK)
(ankleWater:dispose())
(send gEgo:setCycle(StopWalk gEgoView gEgoStoppedView))
)
(if (& (send gEgo:onControl()) ctlPURPLE)
(send gRoom:newRoom(43))
)
)
(method (handleEvent pEvent)
        (super:handleEvent(pEvent))

        /*****************************************
         * Handle the possible said phrases here *
         *****************************************/
        (if(Said('look>'))
        (if(Said('/rock'))
            Print("The rocks are the usual sort of rocks, nothing special.")
        )
        (if(Said('/(palm<tree) , tree'))
            Print("The leaning palm trees sway in the ocean breeze.")
        )
        (if(Said('/wave'))
            Print("You see waves crashing upon the rocks.")
        )
        (if(Said('/water'))
            Print("The calm water of the clear blue ocean looks inviting.")
        )
        (if(Said('/plant'))
            Print("The plants grow well in the moist sea air.")
        )
        (if(Said('/flower'))
            Print("The flowers are a beautiful contrast to the blue ocean.")
        )
        (if(Said('/sky'))
            Print("The clouds in the sky float along slowly on this hot sunny day.")
        )
        (if(Said('[/around]'))
            Print("The glittering white sand of the beach feels warm from the sun.
                                      The azure water of the ocean laps up to its edge.")
        )
        (if(Said('/*'))
            Print("You don't see that here.")
)
)
        (if(Said('get>'))
        (if(Said('/sand'))
            Print("Sifting through the sand, you notice nothing of interest.")
        )
        (if(Said('/flower'))
            Print("The flowers are of no interest.")
        )
        (if(Said('/water'))
            Print("You have no need to carry water.")
        )
        (if(Said('/rock'))
            Print("The rocks are too large and heavy.")
        )
        (if(Said('/*'))
            Print("You can't get that")
        )
)
(if(Said('sqdemo'))
Print("Here we go!")
(send gRoom:newRoom(111))
)
     )
)
/******************************************************************************/
(instance ankleWater of Prop
    (properties
        x 0
        y 0
        view 2
        cel 0
)
    (method (init)
        (super:init())
        (self:z(-90))
        (self:setScript(anklewaterScript))
    )
)
 
(instance anklewaterScript of Script
    (properties)
    (method (doit)
        (ankleWater:
            posn((send gEgo:x) (- (send gEgo:y) 89))
            setPri(+ 1 (send gEgo:priority))
)
        (super:doit())
)
)

1660
SCI Syntax Help / Re: Disallow access to menubar
« on: June 23, 2007, 03:27:30 PM »
It works. But whenever I use
Code: [Select]
(TheMenuBar:state(ENABLED))the game crashes.

EDIT: Actually, whenever I use
Code: [Select]
(TheMenuBar:show())it always crashes, too. I've already got
Code: [Select]
(use "menubar")in there.

1661
SCI Syntax Help / Re: Disallow access to menubar
« on: June 23, 2007, 01:11:28 AM »
Yeah. And I, for one, would like to disable any means of saving or restoring a game in the middle of a introduction, cutscene, or ending sequence.

1662
SCI Syntax Help / Disallow access to menubar
« on: June 22, 2007, 06:04:04 PM »
How? I can make it hide but if I press ESC it brings it up anyway.

1663
SCI Syntax Help / Sprites on outside of GUI windows
« on: June 21, 2007, 01:28:37 AM »
I while ago when I was first starting KQ2SCI I was asking about altering the custom GUI for text/save/restore/whatever windows ingame. Brian's code allows you to have a custom GUI for windows but only on the inside of the window. This hindered design ability since the bigger your view cels are on the inside of the text box the more space they'd take up and could make your text unreadable and ugly if too big.

Sierra's KQ1SCI remake demonstrated the ability to have sprites on the outside of windows rather than on the inside and you could make your borders as big as you wanted them to be and it wouldn't affect the text.

I'd like to reopen the possibilities of doing a custom GUI in the style of KQ1SCI's windows. Where you can have sprites "sitting" on top of a window or "hanging" from the bottom or sides, if you get what I mean. I've looked at Brian's code and so far I can't make heads or tails out of it. It is more complicated than your average script. ;) It'd be cool if we could put our heads together to figure this mystery out. I'm thinking all that would be needed is to find the code that generates the window and make it put sprites along the sides of the OUTSIDE rather than altering the code that puts sprites on the INSIDE of the window. Am I on the right track?

1664
SCI Development Tools / Re: SCICompanion Prelease Testing!
« on: June 20, 2007, 03:36:18 AM »
I think he was making the smiley face "XD" (eyes shut and mouth open wide) but in the way that some people write "llololollololol" instead of just "lol" to make it seem like they're laughing a whole lot like "hahahaha" but it doesn't make any sense for "laugh out loud out loud out loud". Same deal.

1665
SCI Syntax Help / Re: "Look at <inventory item>"
« on: June 18, 2007, 06:27:51 PM »
Ah, I see. Yes, if anyone's done this please fill us in. :)

Pages: 1 ... 109 110 [111] 112 113 ... 118

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

Page created in 0.039 seconds with 21 queries.