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 Syntax Help / Re: Parser Syntax Problem
« on: March 31, 2020, 03:18:01 PM »
"pry open nose with finger"
aka 'pick / nose' . You could catch that case with some sort of allusion to QfG1 :D

AGI Syntax Help / Re: DOSBox fails to find smiley faces?
« on: March 02, 2020, 04:51:47 PM »
OK, so I'm no AGI expert, but all the code for AGI is in AGI(.EXE) and the data segment is contained in AGIDATA.OVL. These need to match, and if you're going to change them (I don't know whether WinAGI does this), you must have the right idea of which version it is. Now, the drop down box in one screenshot shows 3.002.149, but we have no data on your actual files. Could you give us the sizes of your AGI(.EXE) and AGIDATA.OVL files, please?

... I sure hope there's an adequate list somewhere once we get an answer  ::)

SCI Development Tools / Re: Decompilation Archive
« on: November 18, 2019, 05:05:30 PM »
I've thought about that one before, and I figure that could be mitigated with a difficulty setting. Easy uses maxxed out stats, hard uses new-character stats, etc... with extra magic potions... maybe a little play-testing to find the right balance between hard and impossible.
Or, if you're working on the formulae/at the source level, simply redo the formulae without any reference to player stats. Find something reasonable/playable.

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.

Pages: [1] 2 3 ... 31

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

Page created in 0.095 seconds with 22 queries.