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 4 ... 103
16
Myself, I'd be interested in seeing the bootscripts/UI/lower level scripts.
Here's how Fate of Atlantis sets up its verb bar. LFLF #66, script 14:
Code: [Select]
VerbOps(50, [New(), SetXY(0, 144), SetToObject(0x04EE, 98), Off(), BackColor(0)]);
VerbOps(51, [New(), SetXY(0, 144), SetToObject(0x0548, 98), Off(), BackColor(0)]);
VerbOps(5, [New(), Text("Give"), Key(103), SetXY(15, 159)]);
VerbOps(3, [New(), Text("Open"), Key(111), SetXY(14, 173)]);
VerbOps(4, [New(), Text("Close"), Key(99), SetXY(12, 187)]);
VerbOps(11, [New(), Text("Pick up"), Key(112), SetXY(54, 159)]);
VerbOps(12, [New(), Text("Talk to"), Key(116), SetXY(53, 173)]);
VerbOps(9, [New(), Text("Look at"), Key(108), SetXY(53, 187)]);
VerbOps(8, [New(), Text("Use"), Key(117), SetXY(108, 159)]);
VerbOps(6, [New(), Text("Push"), Key(115), SetXY(106, 173)]);
VerbOps(7, [New(), Text("Pull"), Key(121), SetXY(108, 187)]);
VerbOps(10, [New(), Text("Walk to"), Key(119), SetXY(0, 210)]);
The first parameter to VerbOps is also what an object's VERB chunk uses:
Code: [Select]
LookAt {
print(1, ["It's a stone carving of Shiva."]);
}
This would be stored as a 9 byte, followed by a pointer to the script code for looking at it.

17
Y'know what's really cool?

I just confirmed I can load Monkey Island, immediately save it, and get a file that's exactly the same as the MONKEY.001 I started with.

Things I'd need to at least produce a proof-of-concept text hack:
  • Using and saving the LOFF chunk and index file.
  • Compiling scripts.

Both only so as to allow different string lengths.

Edit: I have altered the first playable screen. Pray I do not alter it any further.

18
Does .net stuff run on ok Mac/Linux these days?
Usually I try to use as few P/Invokes as I can so it will in fact run on Mono. Unfortunately there are some parts in here that break that rule: fetching system icons for folders and generic documents, and removing the bevel from the MDI window so the right hand panel in the explorer window and such looks like it's part of the parent, not the child.

I blame you.

Obvious solution: have the wrapper functions detect they are not in fact running on Windows and thus doomed. Return built-in icons and just don't remove the inner bevel in those cases, way before you try to do the thing.

Quote
I'm sure you'll get that working before too long.
Well, I do have a "save selected branch to separate file" test menu item, and it did manage to save an exact recreation of the "rowboat and oars" OBCD. And then an equally valid "roeiboot en riemen" after I renamed it.

Myself, I'd be interested in seeing the bootscripts/UI/lower level scripts.
Probably part of the first-seen LFLF/room and the last-stored. I'll find out soon enough.
Quote
Y'know, is SCUMM really as extensible as SCI, and how do the parts relate.
FT, S&M, but mostly Loom come to mind.

I do know with near certainty that the system window layouts are hardcoded, but their text is loaded in by startup scripts.

19
Yeah, imagine if it actually let you change more than just boxes, and anything in a property grid. And actually saved.

20
What tipped you off? 😸

21
I've been working on a thing, I guess.

Also have a long-belated attempt at a blonde Rog head.

22
AGI Development Tools / Re: agikit 0.4 + Visual Studio Code
« on: March 10, 2021, 08:20:55 PM »
Writing AGI games in VSCode.

Wow. That's pretty damn impressive, gotta admit.

23
SCI Development Tools / Re: Message file format?
« on: February 28, 2021, 06:34:40 PM »
Y'know what?

I could've known that. It says so right here in my copy of the sauce! But in the end it doesn't really matter, because lastMsgNum is unused.

24
SCI Development Tools / Re: Message file format?
« on: February 28, 2021, 03:02:50 PM »
There are three common formats in use. Their format is like this:

First, the resource identifier magic bytes as usual. Then two bytes for the version number (up to 2101 for lame, up to 3411 for okay, anything higher for best), then two pad bytes.

Then, if it's a lame version, you get two bytes for the amount of messages, then that many times you get a byte for the noun, a byte for the verb, and two bytes for the offset to the text. After all of that is the actual message strings, one after another. Anything after that is general use space for comments or whatever, which can be ignored.

If it's an okay version, you skip two bytes, then read the amount of messages. Each entry is a byte for the noun, verb, condition, sequence, and talker, then two bytes offset to the text, and three bytes of padding. Again, the actual text follows.

If it's the best version, you get two bytes as a pointer to the end (to quickly find the comment area?), two bytes of mystery that aren't actually used, then two bytes message count. Where the okay version has three padding bytes, the best version instead has four reference bytes, in the order noun/verb/cond/seq.

And that's the format!

I know for a fact that the end of version >4000 is used for optional comments because I've seen the actual Sierra Message Editor matching that version, and I know for a well-informed guess that the padding in the middle version is just that.

In SCI11+, the comment area ends with "UTF8" if the message text is to be interpreted that way. This is for my tools' use, not the interpreter itself. The interpreter doesn't give a rat's behind.

25
* to package their bads

26
AGI Development Tools / Re: WinAGI: feature request - batch mode
« on: February 14, 2021, 07:42:28 PM »
Right? The event model just seems to invite making the "actually create project" code a part of the form like goto allegedly invites spaghetti.

So hey, good on you. I ought to get over it and learn to do similar.

27
SCI Syntax Help / Re: SCI 1.1 - Refresh Inventory Screen
« on: February 14, 2021, 07:38:27 PM »
In my example I changed the cel but no matter which of the three you change -- view, loop, or cel -- the problem was refreshing its appearance in the inventory window.

28
AGI Development Tools / Re: WinAGI: feature request - batch mode
« on: February 14, 2021, 04:41:08 AM »
And in DOS, both approaches are valid.
To be fair, you don't generally have a GUI in DOS. Fun unrelated fact, QBASIC's user interface is written as if it runs on Windows, even though it's very much a DOS application. You figure out how that works... or how I know this.

29
AGI Development Tools / Re: WinAGI: feature request - batch mode
« on: February 13, 2021, 03:45:42 PM »
I read once someone (forgot who...) that said that Windows programmers first build a GUI, and then implement its functionality; while Linux programmers first implement the functionality, and then (perhaps) attach it to GUI.
@Kawa, the two paradigms that you wrote seems "Windows" to me, while I think in "Linux" terms...
You're not wrong, I guess.

30
SCI Syntax Help / Re: SCI 1.1 - Refresh Inventory Screen
« on: February 13, 2021, 03:44:37 PM »
In my quick experimentation, having the InvItem in question calling (self show:) was the easiest, most hassle-free method. The only problem is that it drew on top of the old icon.

Here's what I ended up doing:
Code: [Select]
(instance testItem of InvItem
;...
(method (doVerb theVerb)
(if (== theVerb V_OTHERITEM) ; or whatever, V_DO I don't care.
(++ cel) ; or whatever other way you want to turn the flashlight on I guess?

(Graph grFILL_BOX (- nsTop 1) (- nsLeft 1) (+ nsBottom 0) (+ nsRight 0) 1 backgroundColorOfTheInventoryPanel -1 -1)
(DrawCel view loop cel nsLeft nsTop -1)
(Graph grUPDATE_BOX (- nsTop 1) (- nsLeft 1) (+ nsBottom 1) (+ nsRight 1) 1)
)
)
)

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

SMF 2.0.14 | SMF © 2017, Simple Machines
Simple Audio Video Embedder

Page created in 0.099 seconds with 21 queries.