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 ... 31
SCI Development Tools / Re: SCI01 Template Game
« on: September 17, 2019, 10:25:21 AM »
I assume there'd be a hint in the table view? A bunch of patches lying around would be the most likely.

The Games and other Sierra Adventure stuff / Re: What are we working on?
« on: September 09, 2019, 01:36:10 PM »
If this had been SCI1.0 you could have called the result SCIDHUVLFN.EXE, but I guess you are left with RESOURCES.000 or AwesomeDriver.DRV ...

I don't know what Shivers 2 ran on but I know SCI32 is C++.
Shivers 2 used external (C++) DLLs for all the rooms, but was actually SCI32 underneath. They had a glue layer making the innards of the interpreter callable from the DLLs. Shivers 2 is one of the reasons why I don't believe for a minute that
But SCI needed to be recoded in order to get the Duck [movie] player into it. [Which is why it is in version 3 whereas the previous game in the Phantasmagoria series used version 2.]
here. It is much more likely that it was being rewritten because they needed to shoehorn that in. Some of the internal changes corroborate it.

SCI Syntax Help / Re: Loading External Scripts on the Fly?
« on: August 14, 2019, 02:00:49 AM »
Though, admittedly, from SCI01 on, the way heap was stored had been changed.
Let alone SCI1.1 (file format redesign) and SCI32 (complete memory manager redesign).

SCI Syntax Help / Re: Loading External Scripts on the Fly?
« on: August 12, 2019, 03:19:24 PM »
cramming things like the game's icon bar, control panel, and inventory
All of these will be required often to semi-often in normal use. There's a risk in not being able to pull them up if you're low on memory because their memory footprint was not accounted for earlier. What if you're prevented from saving/restoring/quitting? Putting up a death message? Using a critical object?

Sad that there wasn't any dev related stuff on the hard drive... otoh, we know most of it already.

SCI Development Tools / Re: Decompilation Archive
« on: July 14, 2019, 02:09:17 PM »
I wonder why the demos for GK1, QFG4, and PQ4 used SCI1.1 instead of SCI2? My guess is that the 32-bit engine was not yet ready to be used, so the designers used the older 16-bit engine during development, then ported it to SCi2 when the full games were completed.
Well, things like the polygon editor do not work in SCI2. If you try, you're told to use SCI16 (i.e. SCI1.1), so they definitely had to use it for some things. And we all know how buggy QfG4 was on release (we are getting script patches for the QfG4 bugs in ScummVM, but the number of patches is crazy).

SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 13, 2019, 10:41:04 AM »
Just for fun, here's what Companion decompiles its own broken Bset to:
Code: [Select]
(procedure (localproc_003a param1 &tmp temp0)
(= [gameFlags (==
(/ param1 16)
[gameFlags (/ param1 16)]
(>> $8000 (mod param1 16))
(= temp0 (localproc_0028 param1))
(return temp0)
I'm surprised it doesn't resort to assembly to explain this mess...

SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 13, 2019, 08:33:16 AM »
No, that's not quite it. SCI Companion generates this weird code for Bset:
Code: [Select]
procedure proc_003a
; (= oldState (Btst flagEnum))
  003a:3f 01             link 1 // (var $1)
  003c:78               push1
  003d:8f 01              lsp param1
  003f:41 e6 02          call proc_0028 2
  0042:a5 00              sat temp0

; Take flagEnum and divide it by 16
  0044:8f 01              lsp param1
  0046:35 10              ldi 10
  0048:08                 div
  0049:36                push
  004a:9b 06             lsli local6

; Similarly, get the remainder
  004c:38 8000          pushi 8000 // $8000 sel_32768
  004f:8f 01              lsp param1
  0051:35 10              ldi 10
  0053:0a                 mod
; Compute $8000 >> that remainder
  0054:0c                 shr
; OR the bit in
  0055:14                  or
; but wait, wtf is this?
  0056:1a                 eq?
  0057:3a                toss
  0058:60               pprev
; Store the corrupted result back
  0059:bb 06             ssli local6
; (return oldState)
  005b:85 00              lat temp0
  005d:48                 ret
Yay stack corruption: Companion seems confused about when (/ flagEnum 16) is on the stack, and when it's not, and starts throwing away random stack values (at code offset 0057). So you are right that the code ends up storing into the wrong variable, but it is due to improper stack handling. The eq?/pprev idiom could be quite clever under the right circumstances, but I don't see how it helps here.

SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 12, 2019, 09:38:27 PM »
Phil, there seems to be a problem with compiling the |= operator.
If I replace this:
Code: [Select]
(|= [gameFlags (/ flagEnum 16)] (>> $8000 (mod flagEnum 16)))
with this
Code: [Select]
(= [gameFlags (/ flagEnum 16)] (| [gameFlags (/ flagEnum 16)] (>> $8000 (mod flagEnum 16))))
then it works. For good measure, let's change Bclr as well:
Code: [Select]
(&= [gameFlags (/ flagEnum 16)] (~ (>> $8000 (mod flagEnum 16))))
Code: [Select]
(= [gameFlags (/ flagEnum 16)] (& [gameFlags (/ flagEnum 16)] (~ (>> $8000 (mod flagEnum 16)))))

Everything-Else / Re: Deluxe Paint Amiga Source Released on GitHub
« on: July 12, 2019, 05:14:22 AM »
Source code to stuff is always of interest to me.

SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 09, 2019, 10:47:47 PM »
Also make sure that your enum declarations don't have duplicate numbers. It's easy to do this by accident.

Forum Support and Suggestions / Re: Trouble with SCI Companion
« on: July 06, 2019, 04:51:51 PM »
Palette insertion vs. replacement... somewhere in your workflow you have a palette that contains the old palette entries (most likely the ego view?), and since it is loaded later than the pic, its old entries replace the altered ones in the pic.

Forum Support and Suggestions / Re: Trouble with SCI Companion
« on: June 29, 2019, 12:34:27 AM »
This looks like a weird mix of SCI Studio and Sierra syntax. In particular, the expression that's throwing an error is in SCI Studio syntax. You can change it as follows:
Code: [Select]
          setOnMeCheck: omcPOLYGON (CreateNewPolygon @P_Painting)
(oh, I see it comes from the page you linked to...)
I haven't tested this btw, I just rewrote it mechanically in the new syntax.

SCI Development Tools / Re: Robot Transcoding with Alpha Channel
« on: June 22, 2019, 06:14:42 PM »
Eh? Both KQ7 and Phant1 use Robot version 5. PQ SWAT DEMO uses version 4 (the full version uses version 5).

re AVIROBOT: Strange how it's packaged with runtime files from BC++ 4.0, but compiled with those from 4.5. I may try to find the files from 4.5 to run it, but it only generates Robot version 4, so its use would be quite limited.

Pages: [1] 2 3 ... 31

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

Page created in 0.118 seconds with 20 queries.