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 ... 37
SCI Development Tools / Re: Decompilation Archive
« on: July 05, 2021, 03:25:30 PM »
Well, it's quite easy to write a vocab file from scratch without the original tools. And the system classes are known, for the most part. So if these weren't just ripped-out parts of games that we can decompile, a custom tool to fill in parts of the puzzle would be quite doable. As it is, I'm not sure it's worth the trouble.

EricOakford's new comment in the other thread pretty much settles it, doesn't it? If the KQ7 demo can be compiled from scratch, then with some huffing and puffing, GK1 should as well. I dunno why GKNarrator is broken.

SCI Development Tools / Re: Is there a SCI32 compiler? If not - why?
« on: July 04, 2021, 05:11:39 AM »
There are minor changes to the script format in SCI2 (which may or may not prevent SCI Companion from generating code for it as is). SCI3 is a major overhaul of the script format but only comprises the last few games (not GK1).

SCI Development Tools / Re: Is there a SCI32 compiler? If not - why?
« on: July 02, 2021, 06:09:03 PM »
I was thinking of descriptions here and here (ok, so the latter one is more like an honorable mention...).

If all you want is to mess around with the GK1 class library, I guess you could grab the demo and work with that. It's SCI1.1.

SCI Development Tools / Re: Is there a SCI32 compiler? If not - why?
« on: July 02, 2021, 12:09:01 PM »
V56/P56 definitely changed. Kawa has some blog entries about it. CSC is the new script format in SCI3. Very different format, the main advantage seems to be that you can have huge scripts in it (> 64K), somewhat counterbalanced by the fact that scripts simply are bigger in that format. Makes you wonder if it was worthwhile to change it. We used to have a complete list of huge scripts (there aren't many) in ScummVM because we couldn't load them.

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.

Pages: [1] 2 3 ... 37

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

Page created in 0.108 seconds with 21 queries.