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

Pages: 1 ... 3 4 [5] 6 7 8
61
SCI Syntax Help / SCI1.1 Print - Change default text display colours?
« on: June 17, 2015, 11:25:22 PM »
I'm trying to alter the colours to my GUI. I've done all this perfectly but I cannot for some reason change the colours of the text or the background behind the text. It remains black for foreground and grey for background. I've looked through the Print class but I'm not seeing anything related to colours (and there's a lot of strangely named variables, like a million "theTheTheGModNum"'s). The printed text seems to ignore the colour settings I set for "back" and "colour" in the BorderWindow class.

62
SCI Syntax Help / SCI1.1 Code Disambiguation
« on: June 17, 2015, 01:47:42 PM »
EDIT: Maybe we should make another thread for Tutorial Game Script disambiguation?

I worked out some vague variables in the BorderWindow script. I managed to succeed in drawing a window to replicate KQ5 so I don't use the SQ5 code anymore, but here's what I had worked out before I abandoned it. The only thing I can't figure out is what temp1 in BorderWindow and temp0 in InsetWindow are for. Not surprising as they're both involved in bit calculations which always throw me right off. Here's the localproc_0203 procedure which I renamed to drawWindow. I just can't figure out what param13 represents, it's only used in the Graph(grFILL_BOX) command but it seems to take different values from SCI0's version of the command (it takes 7 values instead of SCI0's 8 ):

Code: [Select]
(procedure (drawWindow top left bottom right back topBordColor lftBordColor botBordColor rgtBordColor bevelWid shadowWid priority param13)
    (var oldPort, bevelWidCounter)
    = oldPort GetPort()
    SetPort(0)
    Graph(grFILL_BOX top left + bottom 1 + right 1 param13 back priority)
    = top (- top bevelWid)
    = left (- left bevelWid)
    = right (+ right bevelWid)
    = bottom (+ bottom bevelWid)
    Graph(grFILL_BOX top left + top bevelWid right param13 topBordColor priority)
    Graph(grFILL_BOX - bottom bevelWid left bottom right param13 botBordColor priority)
    = bevelWidCounter 0   
    (while (< bevelWidCounter bevelWid)
        Graph(grDRAW_LINE + top bevelWidCounter + left bevelWidCounter - bottom (+ bevelWidCounter 1) + left bevelWidCounter lftBordColor priority -1)
        Graph(grDRAW_LINE + top bevelWidCounter - right (+ bevelWidCounter 1) - bottom (+ bevelWidCounter 1) - right (+ bevelWidCounter 1) rgtBordColor priority -1)
        ++bevelWidCounter
    )
    (if (shadowWid)
        Graph(grFILL_BOX + top shadowWid right + bottom shadowWid + right shadowWid param13 0 priority)
        Graph(grFILL_BOX bottom + left shadowWid + bottom shadowWid right param13 0 priority)
    )
    SetPort(oldPort)
)

Here's the BorderWindow's open method (what's temp1?):

Code: [Select]
    (method (open)
        (var oldPort, temp1)
        SetPort(0)
        = temp1 1
        (if (<> priority -1)
            = temp1 (| temp1 $0002)
        )
        = lsTop (- top bevelWid)
        = lsLeft (- left bevelWid)
        = lsRight (+ (+ right bevelWid) shadowWid)
        = lsBottom (+ (+ bottom bevelWid) shadowWid)
        = type 128
        (super:open())
        drawWindow(top left bottom right back topBordColor lftBordColor botBordColor rgtBordColor bevelWid shadowWid priority temp1)
        = temp0 GetPort()
        SetPort(0)
        Graph(grUPDATE_BOX lsTop lsLeft lsBottom lsRight 1)
        SetPort(oldPort)
    )

And InsetWindow's open method (what's temp0?):

Code: [Select]
    (method (open)
        (var temp0, oldPort, theTop, theLeft, theBottom, theRight)
        = temp0 1
        (if (<> priority -1)
            = temp0 (| temp0 $0002)
        )
        = theTop top
        = theLeft left
        = theBottom bottom
        = theRight right
        = top (- top (+ bevelWid topBordHgt))
        = left (- left (+ bevelWid sideBordWid))
        = bottom (+ bottom (+ bevelWid botBordHgt))
        = right (+ right (+ bevelWid sideBordWid))
        = xOffset (+ bevelWid sideBordWid)
        = yOffset (+ bevelWid topBordHgt)
        (super:open())
        localproc_0203(theTop theLeft theBottom theRight insideColor topBordColor2 lftBordColor2 botBordColor2 rgtBordColor2 bevWid shadWid priority temp0)
        = oldPort GetPort()
        SetPort(0)
        Graph(grUPDATE_BOX - theTop bevWid - theLeft bevWid + theBottom bevWid + theRight bevWid 1)
        SetPort(oldPort)
    )

Much of this can also be copied into the ScollInsetWindow script.

63
SCI Syntax Help / SCI1.1 Palette Error? *solved*
« on: June 17, 2015, 12:41:21 AM »
I've replaced the SQ5 palette everywhere I've seen it with the KQ5 palette, but for some reason when I start a new game and go to the first room it initializes the SQ5 palette from somewhere. I've even forced initializing the 999 palette (which is now the KQ5 palette) with "Palette(palSET_FROM_RESOURCE 999 2)" in the first room's init method but it doesn't seem to make a difference. When I hover over the icon bar it finally initializes the proper palette.

Never mind, it was the Ego sprite. It had an embedded palette from SQ5 which is what was causing it. All good now.

64
SCI Syntax Help / SCI1.1 Where are the icon verbs set up?
« on: June 17, 2015, 12:37:29 AM »
1) I'm trying to get rid of the Command verb icon. I'm commenting it out everywhere I see it in the scripts but it still exists as a global verb in Messages that I can't get rid of. How can you delete global verbs?

2) Also, even though I've removed all references to V_COMMAND and icon4 from the scripts, when cycling through icons with rightclick it gets to the arrow for some reason and then when I go to click something with it I get an Oops! error message crash.

3) Also after removing V_COMMAND and icon4 everywhere I could find, when I hover over the iconbar the icons all line up properly nicely but the inventory bag button is masked/greyed out, even though I have an inventory object. Clicking on it does nothing. Looking through the icon verb mask codes but not making sense of it yet...

65
SCI Syntax Help / SCI1.1 Picture transition speeds?
« on: June 16, 2015, 12:31:27 PM »
Is there a way to slow down a picture transition speed? Like a slow fadeout/fadein? I know it's possible because King's Quest 6 did it on the Sierra logo and title stone wall. Or is that maybe a function of palette transitioning rather than DrawPic?

66
Forum Support and Suggestions / Mobile Layout Problem
« on: April 30, 2015, 09:24:32 AM »
Anything we can do about this?

67
Everything-Else / AdventureJam
« on: March 02, 2015, 11:47:01 AM »
Anybody hear about this? Starting in April, developers have two weeks to construct an adventure game from scratch and everybody votes on them in the end. There is no specific engine required so SCI games count! You can write your story and game design documents any time but the actual programming, graphics, other resource assets, etc must not start development until the two-week period. Some of you should enter, there's a lot of talent here. SCI games can be easily bundled with DOSBox for play on any system, obviously.

http://jams.gamejolt.io/adventurejam

68
SCI Development Tools / Opening the SCI Studio VGA project source in BC++
« on: November 24, 2014, 09:51:30 AM »
I'm pulling my hair out. I'm trying to open the SCI Studio VGA source project file (scistudio.bpr) with the old Borland C++ 5.02 IDE. Problem is, it doesn't know what a BPR file is. I open the BPR file in notepad and it says it was created with BC 5.03. I've looked everywhere and there doesn't seem to have ever been a 5.03 IDE. I'm at somewhat of a loss as to how to continue. The other thing is I clearly remember opening the source in a Borland IDE of some kind ages ago. I was sure it was 5.02, as I still have it archived. Or maybe I was opening the SCI Studio 3 source, but I can't see why I'd do that...I don't know. The other thing is that the source project references a VCL.H header, which is apparently Borland-specific, but which is not included with BC++ 5.02. I must just have an outdated IDE.

Anyway, how on earth do I open this BPR file? Which version of Borland C++ Builder would work with it? I just want to be able to successfully compile the source as it is in the environment it was originally built for so I can try to make some changes. Which version comes with VCL.H?

69
SCI Development Tools / The quest for custom SCI1 picture resources
« on: October 30, 2014, 08:57:42 PM »
So, I can't find any information on SCI1 (specifically SC1.0) picture resource files (*.p56, ie- SQ1VGA, KQ5Disk, PQ3, etc). I've been after something to create custom SCI1 backgrounds for a long time, but I've never found anything. So I decided to try and do something myself with what limited knowledge I have. I recall trying to look through the SCI Studio VGA source code for clues on the format and even comparing BMPs to P56s in a hex editor. Back then I had no luck because I had no idea what I was doing.

I still don't know what I'm doing. However, I'm just looking through comparisons of a P56 and its BMP equivalent and I've nailed down where the palette is store in each file. Beyond that I'm lost. Is there anybody here that has experience with reverse engineering file formats like this? Brian obviously knew how to create them as he did so when he created that first SCI Studio VGA demo game before he disappeared from the community. I know that NewRisingSun was a guru in this area (he helped me with some SCI0 sound/patch conversion tools way back), but I'm not sure how to get in touch with him or if he's even interested in this kind of thing anymore. I was thinking of posting on VOGONS to attract someone who might know (including NRS, as I know he's frequented there before, perhaps he still does).

Regardless, I'm still interested in attempting this myself. Any tips from anyone who's done this sort of thing? I've been looking up information on the BMP format to try and wrap my head around the random characters I'm seeing in a hex editor to spot patterns and such. What I really need, though, is some information on the picture resource format. I know there is information for SCI0 resources but not SCI1. Regardless, this information still might be useful as Sierra would have obviously followed some of the same formulas when upgrading their formats and updating the interpreter over time. Can anyone point me in the direction of anything like this? I've been Googling but all I've found are the SCI wikis (ScummVM's and SierraHelp's) and they don't really go into the nitty gritty detail I'm looking for, sadly. For all I know it could be as simple as taking the hex data that pertains to the image itself from a BMP and plopping it into the space between the header information and the priority/control data of a PIC resource (the visual hex data, wherever that is supposed to be in the hex structure of a PIC resource), but I doubt it.

Any help is appreciated. Even general advice in this area.

70
Everything-Else / How LucasArts Fell Apart
« on: October 02, 2013, 11:09:38 PM »
Not sure if this has been posted, or how new this is. Filled with a lot of interesting information that basically confirms what I'd guessed all along. The higher ups just never cared about games. I'm truly sad to read about what 1313 was going to be and what it didn't have the chance to become. This kind of behaviour is so rampant in the entire gaming industry today and is why I still kind of believe that the market will crash again as a result. You can only destroy good projects and screw over loyal fanbases so long before finally they'll wake up and get sick of it. At least, I'd hope so. Good developers and names that were gaming's biggest and best disappear as a result and in their place we have snobby douchebag companies (really, the suits and higher ups/execs) that couldn't give a care about any of it as long as it follows marketing research enough to not be too big a risk so they can make money. It's truly sad and astonishing that this type of leadership, the lies, the betrayal, and the apathy is allowed to continue. It's truly disgusting and I almost feel like we should all be boycotting it entirely until it fixes itself. But I know that's just being naive as to how the industry works and, really, has always worked. It's just that every now and then good things are allowed to happen (Monkey Island, Duke Nukem 3D, Space Quest, tons of other great titles and franchises) and slip under the radar, past the clutches of the great hungry corporate monster and the greedy intruding fingers of the manipulators and meddlers.

It's all so disgusting. I'm glad I've never been buying that many games lately in the past few years. I'd shudder to think that I'd actually purchased Sim City after what happened to that. I'm too afraid to buy anything anymore because you never know what will happen.

http://kotaku.com/ho...part-1401731043

A particular quote of painful news:

Quote
In news that will certainly crush anyone who enjoyed LucasArts-branded adventure games, the team at LucasArts Singapore was working on a remastered version of the classic point-and-click game Day of the Tentacle, according to three people familiar with that project. Like the special editions of the first two Monkey Island games, released in 2009 and 2010, the remastered Day of the Tentacle would be pseudo-3D, with remade background art and cut-scenes redone to run at 30 frames per second.7

Although this Day of the Tentacle remake was never officially greenlit, two sources say it was almost finished. One person familiar with the project pegs it at 80% done. But it was never approved, and the company's higher-ups had no interest in continuing to make what they called "legacy" titles like this one. So the game remains unreleased

71
AGI Development Tools / Peter Kelly comes out of the woodwork
« on: June 09, 2012, 08:57:19 PM »
In our Space Quest Superfan Hangout (using Google Hangouts) today Peter Kelly appeared (original author of early AGI tools including AGI Studio) and shared a lot of his history with creating AGI tools and what he's up to nowadays. He's heavily involved in developing iOS apps which are pretty neat.

He also revealed that he created AGI Tetris way back when. I directed him to this website and he uploaded it to the fan games section. There's already an AGI Tetris there, but it's different to the one Peter made. Apparently this was one of the first projects he made so this one was the original that came first. :)

72
Everything-Else / Fund SpaceVenture (by The 2 Guys from Andromeda)
« on: June 05, 2012, 01:09:59 AM »
In case none of you have heard yet, the Two Guys From Andromeda (creators of Space Quest) are on Kickstarter with a new space-themed comedy adventure game! Crowd funded! Pledge your amount and pick a reward tier! The rewards are awesome. We've got 7 days left now and we've raised, so far, 65% of the goal which is $500,000. It uses Amazon for payments so PayPal is not supported. But it will not charge your credit card until after the countdown runs out and the Kickstarter meets its goal. If it doesn't meet the goal the project doesn't get funded and you are not charged. But check out the cool reward tiers! Let's get this thing made!

TGAKICK.COM



2 Guys' New Website

The Two Guys have also been doing live streams over the past couple weeks, most recently, of commentary while playing through the original Space Quest games. The audio hasn't come through on a couple of them and is being fixed. Tomorrow, they do SQ5 which will be quite interesting, seeing as how it was designed by Mark Crowe and Scott wasn't involved. It'll be great to hear his opinion on that. Ken and Roberta showed up in the chat during the SQ3 commentary which made for a nice surprise as well.

Two Guys Streams

73
SCI Syntax Help / Point & Click (click events)
« on: January 24, 2012, 12:53:24 PM »
Cloudee, this is moreso directed to you, since you created a viable point & click interface already.

I picked up my old point & click SCI template I was working on ages ago and I've been trying to refine it for fun. I don't mean it as way to replace yours or anything since it works swimmingly, I'm just doing this for practice.

I'm having a problem handling interactions with objects. When I click on an object or hotspot with a certain action the proper message comes up, however if I keep the cursor over the hotspot and click to remove the Print message, it comes up again as if I've clicked on the hotspot again (which technically I have). How did you go about designing interactions to keep this from happening?

74
Ever wanted a clock displayed in your status bar like in King's Quest III? Well it's relatively simple. First we'll need to add an additional global variable to the Main script here:

Code: [Select]
gTimeSeconds /* the seconds */
gTimeMinutes /* the minutes */
gTimeHours /* the hours */

Add a variable named "gTimeTicks" before these variables like so:

Code: [Select]
gTimeTicks
gTimeSeconds /* the seconds */
gTimeMinutes /* the minutes */
gTimeHours /* the hours */

The reason we need this extra variable is so we can have room to update the seconds counter on the clock, which is normally done within the if statement condition below:

Code: [Select]
(if(<> gCurrentTime (= gCurrentTime GetTime(gtTIME_OF_DAY)))
    (if(>= ++gTimeSeconds 60)
    = gTimeSeconds 0
    ++ gTimeMinutes
    (SL:doit())
    (if(>= gTimeMinutes 60)
    = gTimeMinutes 0
    ++ gTimeHours
    (SL:doit())
    )
    )
)

Change this block of code by adding an additional nested if statement utilizing the new gTimeTicks variable and adding "(SL:doit())" to each of the statements as expressed below. Also make sure to change the line "(if(>= ++gTimeSeconds 60)" to read "(if(>= gTimeSeconds 60)" instead or else it will increment the seconds counter by two instead of one. Now that the gTimeTicks variable is incremented in the if statement condition, the gTimeSeconds variable does not need to be incremented (within the condition).

Code: [Select]
(if(<> gCurrentTime (= gCurrentTime GetTime(gtTIME_OF_DAY)))
    (if(>= ++gTimeTicks 1)
    = gTimeTicks 0
    ++ gTimeSeconds
    (SL:doit())
    (if(>= gTimeSeconds 60)
    = gTimeSeconds 0
    ++ gTimeMinutes
    (SL:doit())
    (if(>= gTimeMinutes 60)
    = gTimeMinutes 0
    ++ gTimeHours
    (SL:doit())
    )
)
    )
)

Now this new block of code will update the status line each time the seconds, minutes, and hours counter is updated. One more thing that is required is to go to the Initrooms script and scroll down to the doit method to the line that reads:

Code: [Select]
= gTimeSeconds 0
= gTimeMinutes 0
= gTimeHours 0
= gEgoView 0

Add "= gTimeTicks 0" like so:

Code: [Select]
= gTimeTicks 0
= gTimeSeconds 0
= gTimeMinutes 0
= gTimeHours 0
= gEgoView 0

This will reset the clock each time the Initrooms script is called (each time the game is restarted from the beginning).

Almost done. There's still one more thing left to do. All this is for nothing if we can't see the actual clock on the status line. So we have to go back to the Main script and alter the statusCode instance to read:

Code: [Select]
(instance statusCode  of Code
(properties)
  (method (doit param1)
  Format(param1 " Score: %d of %-3d       Template Game      %02d:%02d:%02d " gScore gMaxScore gTimeHours gTimeMinutes gTimeSeconds)
  )
)

You can move the lines around but I recommend keeping the clock to the right unless you're using a unicode font, otherwise every time the clock updates anything to the right of the clock will shift slightly to the left or right due to the font character widths being different each time.

There is a slight bug worth noting, which doesn't impair the operation but is visually kind of jarring. When the seconds counter reaches 59 it does not go directly back to 0. It first updates to 60 and then suddenly within a split-second reverts to zero and the minute counter updates. The same thing happens with the minute counter reaches 60. I'm not sure of the workaround. If anyone else can figure out a way to fix this little glitch please update my code!

75
SCI Syntax Help / Displaying the Game Clock in the Status Bar
« on: September 20, 2011, 02:17:37 PM »
A la KQ3. I know it's possible. I've tried it before by adding variables pointing to gTimeSeconds, gTimeMinutes, and gTimeHours but I can't figure out how to get the status bar to update each time the clock is updated. Any ideas? Perhaps this involves altering the clock updating code a bit and examining how the changescore method updates the status bar for the score and copy that somehow.

Pages: 1 ... 3 4 [5] 6 7 8

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

Page created in 0.051 seconds with 18 queries.