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

Pages: [1] 2 3 ... 67
SCI Syntax Help / Re: color names
« on: October 20, 2017, 04:19:59 PM »
What even are the official names? What makes Wikipedia's so official? Can Wikipedia's be official when it lists multiple names for certain colors? Where did I put my IBM documentation!?

Ah, there it is.

SCI Syntax Help / Re: color names
« on: October 20, 2017, 10:39:35 AM »
Oh gods not Turbo Vision. What other framework lets you do this?

"~G~ree~t~ing...". It's a goddamned toggle :'(

SCI Syntax Help / Re: color names
« on: October 20, 2017, 04:59:57 AM »
It's what various other programs call them? For example, anything that uses the Font common dialog with colors enabled. And there's the KnownColors enum in .Net.

Though I'd like to note that while MS calls that one color "olive", Brian calls it "brown" which is in fact more correct for EGA.

Also, what is "actual" here? You'll notice #7 and 8 have two names. Plus, the MS naming scheme has short, one-word names for all 16.

Edit: Sierra calls them cBLACK cBLUE cGREEN cCYAN cRED cMAGENTA cBROWN cLGREY cGREY cLBLUE cLGREEN cLCYAN cLRED cLMAGENTA cYELLOW cWHITE. There's another two lists with v and p instead, being indices instead of bits.

SCI Development Tools / Re: Custom-building your own SSCI
« on: October 07, 2017, 02:42:44 PM »
I'm gonna need another field for those flags.

SCI Syntax Help / Re: SCI 1.1 view palettes
« on: September 15, 2017, 12:04:06 PM »
I delete them before packing up a release, leaving only 999.pal and whatever I actually need to load in-game. Which so far means I only keep 999.pal :P

This being a manual operation, it's very easy to forget to do and my demos may or may not contain views with embedded palettes and/or more pals than just 999.

SCI Syntax Help / Re: SCI 1.1 view palettes
« on: September 14, 2017, 09:09:19 PM »
Mind you, views' embedded palettes will overrule pics' so if, like me, you replace a pic and its palette changes, the views will force the older palette until they too are updated.

Personally, I prefer to save pics' palettes as pal resources instead of .pal files, and just select them in the view editor. This should prevent the above thing with the old palette.

SCI Development Tools / Re: QFG1 Event Flags, Procedures, and Variables
« on: September 14, 2017, 01:44:47 PM »
Nice! This could be useful.

I'm a bit surprised this works at all. It runs after the resource manager has been shut down, right?
I had exactly the same concern, so before I wrote even a single line I looked for calls to onexit. There's an InitResource call in main, but unlike many other subsystems like video and audio, there's no matching onexit call. I felt it safe enough.

Here's what you do.

In startasm.s, between ExitFromC endp and end Start, add this:
Code: [Select]
gotoxy proc row: byte, col: byte
mov ah, 2
xor bh, bh
mov dh, row
xor dl, col
int 10h
gotoxy endp
You'll need that because SCI doesn't include the standard library. In start.h, add void gotoxy(char, char); to match.

In start.c, find void exit(char code). Here's my reformatted version of it, with the new stuff marked:
Code: [Select]
void exit(char code)
int i;
/**/ Handle hB800;
/**/ volatile char far* vidya = (volatile char far*)0xB8000000;
/**/ char far* b800;

for (i = exitIndex - 1; i >= 0; i--)

if (panicStr)
/**/ else
/**/ {
/**/ if ((hB800 = ResLoad(RES_VOCAB, 184)))
/**/ {
/**/ //I would use memcpy or sumth but it's a shit.
/**/ b800 = (char far*)*hB800;
/**/ for (i = 0; i < 80*25*2; i++)
/**/ *vidya++ = *b800++;
/**/ gotoxy(23, 0);
/**/ }
/**/ else
/**/ WriteString("Couldn't load endscreen.");
/**/ }
/**/ //else if (quitStr)
/**/ // WriteString(quitStr);


Now you just get your favorite screen editor out, save your work in the appropriate format, and use a hex editor of your choice to add [86 00] in front so SCI and Companion can tell it's a vocab. You should have a 4002-byte file.

Another idea might be to have a vocab like the kernel name table that contains a selection of random quit messages to use instead of doing it in script. I propose to use vocab.004 for this.

Y'ever wonder what it'd be like if SCI had one of those textmode ending screens like so many other games? 8)

Version 0.991 is now up, with tweaked hardware detection -- the ThunderBoard is checked off together with the Sound Blaster -- and a thumb in the scrollbar so you can not only see that there's more items than shown, but roughly how many as well.

Looks just like the real thing, only better.

Made from scratch, runs in DOS. Mostly idempotent with Sierra's installer in all respects that matter, but nicer and smaller.

Smaller: The original, with the required HLP and TXT files, is 100 KB. This baby weighs in at 26 with every single string built in. Even unpacked at 49.5 KB it still has Sierra's beat. The original, when unpacked, is 167 KB for just the EXE.
Faster: No dots, no fuss. We mostly only scan for the most likely features and don't look up every single DRV file -- we only confirm which of those we know are there.
Clearer: When you only show 13 items at most and have 18 music hardware choices, Sierra's installer gives no indication that the list scrolls. As you can see above, we do.
Scripted: In the same sense as the original -- if there's an INSTALL.SCR file and you run from diskette or CD-ROM, "save configuration" becomes "begin installation" and the batch-like script is executed. Only two commands are unimplemented; IF ERRORLEVEL and TESTDIR.
But wait! If you run from diskette or CD-ROM and there's no script file, it'll fall back to a built-in generic install script that just copies what works for most games! If, that is, there is a SPACE setting in RESOURCE.CFG. (copies *.drv, resource.*, interp.*, install.exe, sierra.exe, and writes a new resource.cfg)
Full source: Because why not?

Tested positive on King's Quest VI CD and The Dating Pool.

Binary | Sauce

I said word wrap, not hyphenate :D

In fact, the output for the introduction message, if I change the company name back to "Sierra", ends up matching Sierra's with regards to wrap points, which is quite a feat when I set the maximum message width to 60 purely on a whim. Trying "Firrhna Productions" in both, the wrapping doesn't match anymore... but at 62 max, it does.

Anyway, I just about finished the script interpreter, added support for the SPACE configuration key (it conflicts with the SPACE command, as it does in Sierra's), made the CD command an internal one instead of shelling out to DOS (might be related to the nullpointer, doesn't match Sierra's), and basically only have more detection to consider. And maybe support for DAC*.DRV and such.

Current EXE size is 58.35 KB, packed to 32.56 KB, with no need for INSTALL.TXT/HLP files. Contrast Sierra's INSTALL.EXE at 74.4 KB, actually 167 KB unpacked, with another 26.5 KB for the TXT/HLP files as of KQ6.

MPU-401 detection only works if DOSBox is set to mpu401=intelligent, as opposed to Sierra detecting both that and UART mode. MPU-401 is now properly detected, checking off MT-32 and GM. Sound Blasters are "detected" by parsing the BLASTER environment variable instead of fiddling with DSP reset commands. Sound Blaster and AdLib are detected by fiddling with ports, or by parsing the BLASTER environment variable depending on #defines and command line parameters. EGA/VGA... I tried, but just check off VGA320, VGA320BW, and EGA640. EGA/VGA are properly detected, I hope. EMM and the mouse are detected in the proper ways.

I could release this now. I have it right here, ready for upload to the stash.

Implemented a wordwrapper. It's nice. Basically all that's left is that null pointer when copying game files and more capability detection.

No, but you can have the source to this installer and its binary by next week at the very latest if you want it.

Pages: [1] 2 3 ... 67

SMF 2.0.11 | SMF © 2015, Simple Machines
Simple Audio Video Embedder

Page created in 0.441 seconds with 26 queries.