Will do, Captain!
Inset
I've already done some research into Inset, since I figured it'd be good for one of the shots in my game. Unfortunately it didn't work out without crashing at the end so I considered that the main screen was simple enough and just made the inset a different room. Now, what are insets? They can be full-screen images like the babe closeups in Larry 6, or they can be smaller views like the little chest on the beach in King's Quest 6. They allow you to show a separate scene as a "child" of sorts of the room, with its own cast, while leaving the original on pause in the background. If you were to look closely at the beach chest in KQ6, you'd find Alexander's knee is still visible behind the chest image.
I find the beach chest to be one of the simplest examples to study that I know of. It's in rm200 if you want it. (Note: global2 = gRoom)
AnimDialog
A bit of a file misnomer I think, since the important bit is the ChoiceTalker class in that same file. It's used for the dialogue trees in SQ5. I've tried studying it before but it was quite the maze. I personally find QFG3's Teller more interesting.
Tutorial
None of the games I have decompiles for seem to actually use this. A global search returns the same set of results for each game save the GK1 Demo, EcoQuest 2, and Hoyle's Classic Cards. And that last one is a false positive to boot! The rest (LB2, KQ6 (CD only), LSL6, SQ5, SQ6) are all the same results with maybe a temporary local set to gGame:script instead of gGame:script directly. They never seem to actually do anything with this functionality, leaving me with no examples to work from. Reminder: I have more SCI1/11 games than those I just listed, and decompiles for all.
RegionPath
Seems to be related to actors that follow a path through several rooms. I'm currently looking at the tram in LSL6, will update. The torpedo rays in Codename Iceman were easier to work with. What I've found so far is that RegionPath instances must provide their own (method (at param1)) that returns a particular value. Mostly, these are picked from a local array:
//Example from Codename ICEMAN, scubaRg.sc
(local
rayPath1Ats[13] = (
32767 //Start of a path node
57 //Room 57, westDeadEndRm
249 110 //Starting coordinates
340 110 //Exit stage right
32767
56 //Room 56, caveEntranceRm
-20 133 //Enter stage left
150 150
-32768 //End the path
)
)
(instance rayPath1 of RegionPath
(properties
endType 0
theRegion 305
)
(method (at param1)
return rayPath1Ats[param1]
)
)
The various endType values would probably be best figured out by experimentation.
But wait, there's smores! A given room entry needs not have only two coordinates -- some of these rays have three!