Author Topic: Custom-building your own SSCI  (Read 24330 times)

0 Members and 1 Guest are viewing this topic.

Offline Kawa

Custom-building your own SSCI
« on: April 12, 2017, 05:48:34 PM »
I just managed to compile my own copy of sierra.exe. It doesn't actually run anything yet, but at least I got the right compiler! Lemme just rename it so it can coexist with the one that came with the archive...


Yeah okay, I'll accept that.

Edit: got a new development environment set up in a DOSbox. Two minor changes to startasm.s and info.c later, I have an SCI.EXE (debug) that manages to run the template game, albeit without the ability to initialize my sound hardware, and a SIERRA.EXE that actively refuses because it's not been stamped.
« Last Edit: April 13, 2017, 07:50:32 PM by Kawa »



Offline Collector

Re: Custom-building your oe
« Reply #1 on: April 12, 2017, 11:44:06 PM »
What compiler?
KQII Remake Pic

Offline OmerMor

Re: Custom-building your oe
« Reply #2 on: April 13, 2017, 05:59:32 AM »
VC++ v1.52 I guess?  :)

Offline Kawa

Re: Custom-building your oe
« Reply #3 on: April 13, 2017, 06:06:34 AM »
Yeah. Who wantsHere's a ZIP with all you need to compile this?: http://helmet.kafuka.org/sci/scibuild.zip run it in DOSBox, with SCIBUILD as C:, invoke GO to set up the env. Run it at least INSTALL once for initial setup to remove stamping and such.

Things I feel like doing:
1. Fix the issues cl warns about
2. Add a novel subcommand, palette inversion most likely.

Changelog: EXISTS is shit, split up the setup batch files instead. Added -nologo and @ to clean up compiler invocations.
« Last Edit: April 13, 2017, 09:44:12 AM by Kawa »

Offline Kawa

Re: Custom-building your own SSCI
« Reply #4 on: April 13, 2017, 07:59:15 PM »
I've been going through the code, fixing warnings and mildly updating formatting style -- it's full of old-style function definitions with the types listed separately -- and I'm wondering what kind of features could feasibly be added.

So far I've got that palette inversion thing, (RemapColors rcZAWARUDO [range]), which needs more testing, and an optional fourth arg for DisplayPic to control transition speeds, confirmed to work on dsOPEN_CHECKBOARD and dsOPEN_FADEPALETTE (names from memory because lolphone).

Phil has suggested:
* Savegame thumbnails, though I've no idea where to even start, plus there's the whole palette thing.
* Masked sprites.
* Coroutines, so very likely.

Offline Collector

Re: Custom-building your own SSCI
« Reply #5 on: April 13, 2017, 08:47:32 PM »
Port to Win32 ;)
KQII Remake Pic

Offline troflip

Re: Custom-building your own SSCI
« Reply #6 on: April 14, 2017, 12:07:56 AM »
Masked sprites seem like the easiest (and biggest bang for the buck). In Cascade Quest, I use them for: having a waterfall "dry up", making the ego partially submerged in water (at different levels), making the ego partially transparent, and fading from one tv screen to another.

Savegame thumbnails and coroutines would be a ton of work.
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline Kawa

Re: Custom-building your own SSCI
« Reply #7 on: April 14, 2017, 04:15:31 AM »
If the cel drawing routine is ASM, I'm not going there.

Edit: phucking fone
« Last Edit: April 14, 2017, 09:22:30 AM by Kawa »

Offline Kawa

Re: Custom-building your own SSCI
« Reply #8 on: April 14, 2017, 09:27:28 AM »
New kernel call, so as to not foul up what's already there:

(Kawa 0 {...}) wraps DoAlert(), basically.
(Kawa 1 [from] [to]) inverts the specified range in the palette. Here's (Kawa 1 0 63).
(Kawa 2 [back] [text]) sets the title bar color of the uncustomized system window. To wit.
(Kawa 3) returns 1 if we're running a debug terp. Might extend this to &2 if we have menu bar support, I dunno.


Offline troflip

Re: Custom-building your own SSCI
« Reply #9 on: April 14, 2017, 11:06:22 AM »
Haha...

When I still cared about running (or was able to run) on Sierra SCI, I was overloading DoAvoider for my kernel extensibility, since it does nothing (on SCI0 anyway).
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline Kawa

Re: Custom-building your own SSCI
« Reply #10 on: April 14, 2017, 11:14:51 AM »
Why overload when you can extend, right?

Offline lskovlun

Re: Custom-building your own SSCI
« Reply #11 on: April 14, 2017, 01:41:21 PM »
(Kawa 1 [from] [to]) inverts the specified range in the palette.
Ilira on shrooms?

Offline troflip

Re: Custom-building your own SSCI
« Reply #12 on: April 15, 2017, 12:24:50 AM »
From what I recall, you can only modify the intensity of a palette right? How about adding color channel multipliers, or saturation adjustment, or hue shifting? Should be pretty straightforward (although I guess there's already a function to transition gradually between 2 palettes, so maybe that's not needed).
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline MusicallyInspired

Re: Custom-building your own SSCI
« Reply #13 on: April 15, 2017, 01:37:12 AM »
Well, having the ability to adjust a palette by hue, saturation, etc would negate the need to have extra palette resources....though that's not really a huge issue. Maybe just easier to deal with commands than remembering which palettes are which?
Brass Lantern Prop Competition

Offline Kawa

Re: Custom-building your own SSCI
« Reply #14 on: April 16, 2017, 04:02:13 AM »
Palette adjustments like that, without using floats? Should be fun. And you could always use some defines in your PalVary call to identify the targets.

Anyway, here's a control renderer that listens to the back and color properties. Normally it only cares about text and font.

Shown here on a one-pixel bevel window. Where and how these colors are set is up to you.


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

Page created in 0.03 seconds with 23 queries.