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

Pages: 1 [2] 3 4 ... 12
16
SCI Syntax Help / Re: SCI0: Varibles and changestates
« on: November 26, 2024, 10:17:46 AM »
QFG1 EGA uses a StringEquals function in script 802.
Code: [Select]
;;; Sierra Script 1.0 - (do not remove this comment)
(script# INPUTCOMP) ;INPUTCOMP = 802
(include system.sh) (include sci2.sh) (include game.sh)
(use _User)

(public
ToLower 0
StringEquals 1
EventEqualsString 2
)

(procedure (ToLower param1)
(return
(if (or (< param1 65) (> param1 90))
(return param1)
else
(return (+ (- param1 65) 97))
)
)
)

(procedure (StringEquals param1 param2 &tmp temp0 temp1 temp2 temp3)
(= temp1 (StrLen param2))
(= temp0 (- (= temp0 (StrLen param1)) temp1))
(while (>= temp0 0)
(= temp3 0)
(= temp2 temp0)
(while (< temp3 temp1)
(if
(!=
(ToLower (StrAt param2 temp3))
(ToLower (StrAt param1 temp2))
)
(break)
)
(++ temp3)
(++ temp2)
)
(if (== temp3 temp1) (return (+ temp3 1)))
(-- temp0)
)
(return FALSE)
)

(procedure (EventEqualsString event param2 &tmp i userInputLineAddr)
(if
(and
(User canInput?)
(not (event claimed?))
(== (event type?) keyDown)
(or
(== (event message?) (User echo?))
(and
(<= 32 (event message?))
(<= (event message?) 127)
)
)
)
(event claimed: TRUE)
(if (User getInput: event)
(= userInputLineAddr (User inputLineAddr?))
(= i 1)
(while (< i argc)
(if
(StringEquals userInputLineAddr [param2 (- i 1)])
(return i)
)
(++ i)
)
(event type: speechEvent)
(event claimed: FALSE)
(Parse userInputLineAddr event)
(User said: event)
)
)
(return FALSE)
)


an example of it being used is in script 29.
Code: [Select]
(if
(or
(StringEquals (User inputLineAddr?) {purple})
(StringEquals (User inputLineAddr?) {pink})
)
(askQuestions changeState: 0)
else
(WrongAnswer)
)

17
SCI Development Tools / Re: Voice acting in Space Quest V - Part 2
« on: November 06, 2024, 08:46:34 PM »
I had to fiddle around with generating a RESOURCE.CFG since the patch does not copy any of the Sierra installer files or driver files. Simply copying INSTALL.EXE,  INSTALL.HLP, INSTALL.SCR and INSTALL.TXT does not work  because the installer fails with the inclusion of the GUS driver. since the INSTALL.HLP is missing the gmgus.drv entry.

The installer can read external driver.hlp files. I've attached one that can be just dropped into your SQ5 folder that will make the installer work properly.

18
SCI Development Tools / Re: Voice acting in Space Quest V - Part 2
« on: November 05, 2024, 08:52:30 AM »
Looks like he's completed his SQV Voice Acting mod.  I'm eager to try it out... not sure I ever finished SQ5 now that I think of it... seems like an excellent opportunity to try.

https://github.com/cdb-boop/Space-Quest-V-Voice-Acting-Mod

19
After years of them sitting in storage, I finally bought some shelves and put all my sierra game boxes on display in my office. And looking at the various doubles I have (especially around King's Quest games) it got me thinking.

I know Sierra released  at least 4 different big box versions of King's Quest 6: Red, Blue, Black, and White.  Did the different colors mean anything?  I know it's not platform, because I have 1 PC and 1 Mac copy, both blue. But did different retailers get different box colors, did Sierra make any fanfare about the different colors, was it a way to encourage multiple sales?

As far as I remember they weren't like later reissues or something... they just existed all at the same time.

So, what's the deal with them?

20
I'd seen that project. It looks really cool.  Feels like there's almost a 3rd wave resurgence of the Sierra-like games lately.  There's Betrayed Alliance, Crimson Diamond, the new King's Quest fangame: It Takes Two to Tangle.  All within the last year or couple months or so.

21
SCI Syntax Help / Re: SCI0: Events claimed Flags etc
« on: August 23, 2024, 08:36:21 AM »
Whoops. Man, that makes a lot more sense ? I felt like 255 was way too low to be the highest value a variable could hold. Thanks. Well I hope the visual still helps anybody who needs it.

22
SCI Syntax Help / Re: SCI0: Events claimed Flags etc
« on: August 22, 2024, 09:07:07 PM »
If it helps to see things a bit more visually, I made this quick infographic.


This show a hypothetical four global variables (in an 8-bit system, like SCI0) with their values in them. Each of the Decimal, of Hexadecimal, or Binary is the exact same value, just how it's represented in each of those number formats.

I think it's very easy to get the concept of a single variable. At it's simplest, you give it a name and you can put a number in there that you can refer to later or change or whatever.

The concept of a "flag" in SCI or programming in general is just that: a concept. It has no special construct in and of itself. It's just means a variable that is only ever binary. On/off, yes/no (or more commonly true/false i.e. 1/0). Kinda like a mailbox flag... it's either up or it's not.

You could use a full variable for your 1/0 value, but because each variable is really made up of bunch of bits, and memory space is oh so very precious, why not use each of those bits individually. That gives you 8 times as many yes/no variables (on an 8-bit system like SCI0, or 16 times as many yes/no's on a 16-bit system like SCI1).

The bitwise functions BTst, BSet, BClr do all the legwork to figure out which specific bit in which specific variable to manipulate, but essentially what it's doing is only changing a small part of one variable out of a bunch of variables set aside for the flags.

23
Surely this wouldn't be the case with the additional conditional check for this being specifically a evMOUSEBUTTON/evMOUSERELEASE event, right? The game shouldn't care about the keyboard modifiers even though they use the same bit values. At any rate, Activating/deactivating caps lock/numlock doesn't seem to change any behaviour in-game.

I don't know from checking the sci source, but I'm pretty sure that modifiers are the same regardless of event type. That's why holding shift and clicking is the same as a right-click. Hold Shift or press the right mouse button, get the same results.

I suspect this was more a feature than a bug... Don't forget, back in those days mice were a new novelty... not standard on every computer. They didn't all have right buttons either. And not just for macs. I can't find any evidence for it on a quick google search, but I'm pretty sure I remember an early box-shaped mouse for PC that only had one button.

24
What about instead of checking explicitly if the the left button is a modifier, check if the right button is NOT a modifier?

As you've no doubt already seen, here are the other event modifiers defined in sci.sh:
Code: [Select]
(define emRIGHT_SHIFT 1)
(define emLEFT_SHIFT 2)
(define emSHIFT 3)
(define emCTRL 4)
(define emALT 8)
(define emSCR_LOCK 16)
(define emNUM_LOCK 32)
(define emCAPS_LOCK 64)
(define emINSERT 128)
(define emLEFT_BUTTON 1)
(define emRIGHT_BUTTON 3)

So you're checking for modifier == 1, which logically means if you're holding shift, or have numlock, scroll lock, or caps lock on, or insert turned on, then the result will NOT be 1. and so the logic check will fail.  I've never checked that in code, if numlock, scroll lock, or caps lock are properly detected or cause havock with right-clicking.

I have checked that a right-click is the same as holding shift and left clicking.  So that's also something that may be messing with your debugging... seemingly random, but maybe you're accidentally pressing caps lock every other time you type or something.

25
One thing I'm certain should be avoided is the way in which SCI pauses the game while the text input window is open. Part of the nature of AGI is how you can type a command while things are also happening on screen.

I agree that typing without pausing sure gives me the AGI feels while playing, but it's important to note that the original interpreter did pause (at least some versions of it). My recollection is specifically the dos herc.mono version.  No clue why it did that... I always assumed it was because of some limitation of the hardware.

For what it's worth, ScummVM has also implemented this feature across all graphic modes as an optional toggle... not that ScummVM should be your model of reference.

26
How does it look now? If you don't see a difference, try doing a force refresh of the page. I've changed it to "Nearest" in the code. It was set to Linear before. I'm surprised that I didn't change this already, as this is clearly different from the C# version of AGILE. I think I just got used to it and didn't notice it until you pointed it out. Now that I've changed it to Nearest, it looks a lot more original AGI  :D

Oh much better. I don't see any need to do anything fancier than that for the classic chunky look. Others tastes may vary, but personally I think at a minimum this nearest neighbour look is better than a simple liner upscale.

And I think you were absolutely right about the folder name for the IIgs... it had to be that. Although it did auto add the KQ3 thumbnail which was surprising. Maybe it was because I clicked to add KQ3 to begin with, and duplicated that?

27
Strange that it recognised it actually. I have only added detection for DOS versions of the games so far. I assume that the DIR file it uses to calculate the MD5 hash from is identical in that IIgs version of KQ3 to one of the DOS versions. I'm not sure when I would get around to supporting the other platforms. I don't think it would be for quite a while, but it is something I'll add to the list for when time allows.
Oh, that's surprising... it added it as King's Quest 3 [Apple IIgs], but now that I look at it, the text is White (not grey) but the thumbnail picture is still dimmed. Honestly I was surprised that it recognized the IIgs version at all, but now I'm even more surprised knowing you didn't purposefully code it to recognize it.

28
Hey, I've just given it a quick try today, and gotta say it's very cool.

I only played around for a couple minutes so haven't really put it through its paces... running Firefox in Windows 10, so not really an edge-case scenario. The only things I noticed off the bat i was curious about: how much control do you have over the filters/scalers?  It looks like a simple bilinear upscale, which is really blurry... my personal preference is a nearest-neighbor overscale, then bilinear to down-sample to the desired size.

Also, ever since i learned the Apple IIgs versions have digitized sounds effects, those have been my goto in scummvm. I tried loading KQ3 IIgs and while it detected it, it only loaded a black screen. Are those unsupported?

Oh, and one minor thing... thanks to my goldfish memory, when I clicked a game to load, I'd forgotten which game I'd clicked on by the time it came for me to browse for it. Are you able to put the game name in the file dialog? Or is that too OS specific? Or maybe a different kind of highlight in the game selection window while I'm browsing.

Otherwise though, super impressive work. It looks fantastic!

29
This was probably one of the biggest pioneering moments in computer gaming history!

I agree completely.  Like, it's obvious to all of us, but it's really hard to overstate just how important/influential Sierra was to computer games in its infancy. But the most incredible thing to me is how far it's fallen out of the popular eye... like it feels like Sierra games and their franchises are little more than footnotes in most people's consciousnesses, that is if they've even heard of them at all.  King Graham is no Mario or Master Chief or heck even Pac-Man to the collective conscienceness, and is a precursor (or at least contemporary) to all of them.  So obscure that in the Wreck-It Ralph movie, there was nary an easter egg for anything Sierra. But they had a Qbert cameo. Arguably far more obscure.  Of course granted Wreck-It Ralph was a send-up of arcade games, not PC games... but they had a Sonic cameo and he's more console than arcade... so if it was more popular, it probably would have had some representation.  Sorry to hijack your thread for a sec for a rant, Lance. This history of AGI and Kings' Quest stuff is fascinating.

30
SCI Development Tools / Re: Voice acting in Space Quest V - Part 2
« on: February 26, 2024, 07:22:45 PM »
Hey, was this the project the original poster was talking about? I think that progress and potential is mind blowing!
https://www.facebook.com/groups/SierraGamingWorld/permalink/1354926355216962/?mibextid=W9rl1R

Pages: 1 [2] 3 4 ... 12

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

Page created in 0.036 seconds with 21 queries.