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

Pages: 1 [2] 3 4 ... 38
SCI Development Tools / Re: Is there a SCI32 compiler? If not - why?
« on: July 01, 2021, 08:45:16 AM »
There are opcode differences in SCI32:
Code: [Select]
#ifdef ENABLE_SCI32
// In SCI32, some arguments are now words instead of bytes
if (getSciVersion() >= SCI_VERSION_2) {
g_sci->_opcode_formats[op_calle][2] = Script_Word;
g_sci->_opcode_formats[op_callk][1] = Script_Word;
g_sci->_opcode_formats[op_super][1] = Script_Word;
g_sci->_opcode_formats[op_send][0] = Script_Word;
g_sci->_opcode_formats[op_self][0] = Script_Word;
g_sci->_opcode_formats[op_call][1] = Script_Word;
g_sci->_opcode_formats[op_callb][1] = Script_Word;
I don't think anyone has a ready list of what it would take to make Companion compile SCI32 scripts.

SCI Development Tools / Wolfenstein 3D fizzlefade (SCI-related)
« on: May 05, 2021, 01:38:33 PM »
So today I learned why Sierra's DISSOLVE algorithm (aka dpOPEN_CHECKBOARD) works. Shame on me for not realizing earlier, but I'm not a graphics guy. It is described here in terms of Wolfenstein 3D, but it is easy to see that it is the same thing.

Some of the old Sierra games had WORDS.TOK with odd file sizes (KQ3 in particular). If WinAGI couldn't open them, we would have heard about it, right?

Hadn't seen the sluicebox blog before. Excellent!

OK, so I found the bootscripts for some SCUMM games. And I've decided that if I write a single line of Scumm code in my life, it will be this:
Code: [Select]
object sputm
name is "SCUMM interpreter"
verb use
shell-execute "SCIV.EXE"
and then over in SCI I'll do
Code: [Select]
(instance rickroll of Room ... code ...)Maybe I'll figure out how to fly a little banner across the screen in Scumm once SCIV exits: USE SCI INSTEAD

Myself, I'd be interested in seeing the bootscripts/UI/lower level scripts. Y'know, is SCUMM really as extensible as SCI, and how do the parts relate. Missed that in the Ron Gilbert video, but I realize it might not appeal to everyone.

Code: [Select]
(method (showSelf &tmp [buffer 40])
(Format @buffer "Test to see if I can see this.")
(IconPrint buffer view loop cel)
(if description
(IconPrint description view loop cel)
(IconPrint objectName view loop cel)
But it just yielded back the description as outlined in the Main script.
I am thinking the INV_TEST_OBJECT here is the issue. It's a constant, right - so why are you testing its value?
Either I'm misunderstanding completely, or you should just stick with one level of if.

Hmm, are you trying to put all this in the InvI base class? Because that was what I described how to avoid...

Every inventory object can have its own showSelf method. So inside your object instance you just say:
Code: [Select]
(method (showSelf &tmp [buffer 40]) ; or whatever size you need
(if foo
    (Format @buffer "This object is a foo")
    (Format @buffer "This object is a bar"))
(IconPrint buffer view loop cel)
You can also change the view/loop/cel properties from within the if statement if needed.
Colonel's Bequest and KQ4 derive a new class from InvI in order to not have a description string at all, but it's the same basic principle.

EDIT: Aaand I forgot the title. Easy to add if it is static, but if it needs to be dynamic also, that's slightly more difficult because it needs to show in the list. But again, CB1 actually does that.

AGI Development Tools / Re: WinAGI: feature request - batch mode
« on: February 13, 2021, 04:18:55 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.
And in DOS, both approaches are valid.

SCI Syntax Help / Re: Importing a Character (a la Quest for Glory)
« on: February 11, 2021, 09:08:22 AM »
Huh. Surprisingly small amount of green in QfG3 RIMPORT there...
I'm not sure what you mean there. But it's definitely not the latest version of that script; it doesn't use the message system at all, which the final one of course does.
and yes, I've seen those before. I can't believe I haven't noticed this until now.

SCI Syntax Help / Re: Importing a Character (a la Quest for Glory)
« on: February 10, 2021, 05:14:40 PM »
That just means the code needs lots of comments!
And/or a design doc.

Space Quest 2, 2.0f (2.0A OK and never contains Logic141 & Picture147)
03-févr-21: WARNING: Logic141 was skipped because it's location (131071) in the VOL file(VOL.0) is invalid.
03-févr-21: WARNING: Picture147 was skipped because it's location (196607) in the VOL file(VOL.0) is invalid.
Well, both of these offsets have a special form. They are equal to n×216-1 for n=2 and n=3, respectively.
I'd say it's more indicative of a bad DIR file. I have to believe AGKorson when he says this sort of thing is frequent... but the offsets sure are suspicious.

AGI Development Tools / Re: Original AGI code?
« on: February 03, 2021, 08:42:01 AM »
...It's actually not entirely unlike how Sierra's SCI scripts define their own kernel table in source, while SCI Companion uses the precompiled kernel vocab.
Except the AGI one has type definitions. This would be quite hard to do rigorously for some SCI kernel calls (and yes, we did it anyway in ScummVM  ;D).

AGI Development Tools / Re: Original AGI code?
« on: February 02, 2021, 04:29:28 AM »
First, there were snippets in books (even one that the author claimed to be SCI, which was really AGI).
Then, there was LSL1 on GitHub:

Everything-Else / Re: Dialogue Interface
« on: January 29, 2021, 07:38:10 AM »
If you want something like the inventory code, why not use the inventory code?

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

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

Page created in 0.104 seconds with 21 queries.