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.


Topics - EricOakford

Pages: [1]
1
I've done something impressive - I've ported KQ4, LSL2, and SQ3 to the SCI1 engine (1.000.172, from the Seasoned Professional). KQ4 and LSL2 have the digital audio from their Amiga versions. Ever wonder why you can't save or bring up the inventory in KQ4's organ room? It's because there's not enough memory to do so. The new engine's improved memory management fixes this.

LSL2 uses the codebase for the Amiga version 1.003, which overhauled all the scripts.

Also, SQ3 1.018 (the version included in collections and digital distribution) actually has a bug where the scripts refer to the wrong said specs. That was fixed for ScummVM., and I've applied that fix to my upgrade.

Now the main issue is actually distributing it. For the RESOURCE.001 and RESOURCE.MAP files, they'll have to be in binary patch form. The drivers and interpreter were from an officially freely available Christmas card, so no issues there.

My next goal is LSL3, with its Amiga-exclusive sound effects and slight script revisions. Maybe grab some decompiled code from the French and German versions as well...

2
SCI Development Tools / Convert SCI0 vocab to SCI1 vocab?
« on: July 18, 2022, 01:35:41 PM »
My KQ4 upgrade patch is looking good. Now I've ported the game to interpreter S.old.010 (from the KQ1SCI demo).
With the system scripts updated, everything carries over with little issue, and there's MUCH more heap space available! Except... the main vocab is incompatible. Saving it as vocab.900 doesn't help.
Could SCI0 vocabs be converted to SCI1 vocabs? I know they were just compiled differently; the original source dictionary files are structured the same.

In the future, I plan to update the interpreter to 1.000.172 (from The Seasoned Professional). I know about this project which VGA-ifies the game. The only other obstacle here would be updating the Sound files to a format that's compatible with the newer interpreter. SCICompanion doesn't correctly support creation of sound resources that work with the earliest SCI1 interpreters.

3
It turns out that the third Tex McPhilip was actually completed and released, but the full version was never made available elsewhere.

Fortunately, it can actually be downloaded here. It was released on February 8, 2009. I've already downloaded it for archival purposes. We'd best make sure it's preserved, even if it is rather offensive.

4
Everything-Else / SCUMM Nutcracker Utilities
« on: February 04, 2022, 04:54:39 PM »
I've just been informed on Mixnmojo of a set of utilities called Nutcracker. It's a set of tools for editing resources in SCUMM games. Its decompiler outputs code that very closely matches that of the original SCUMM syntax. If this were an IDE, it'd be really useful. Right now, v5 and v6 are supported.

Nutcracker

Here's an example script from Secret of Monkey Island:
Code: [Select]
room recipe {

exit { ; EXCD LECF_0001\LFLF_0084\ROOM\EXCD
local variable L.0

set-screen 0 to 144
start-script 17 (2)
for L.0 = 0 to 255 ++ {
palette intensity 255 in-slot L.0 to L.0
}
charset 2
end-object
}

enter { ; ENCD LECF_0001\LFLF_0084\ROOM\ENCD
local variable L.0

start-script 17 (1)
set-screen 0 to 200
for L.0 = 0 to 255 ++ {
palette 0 in-slot 0
}
break-here
charset 1
print-text center color 0
print-text at 160,25 "DIRECTIONS TO MONKEY ISLAND!!!"
print-text at 160,33 " "
print-text at 160,41 "Pre-heat pot to 450 degrees"
print-text at 160,49 "Add the following ingredients:"
print-text left at 74,57 " "
print-text left at 74,65 "     1 Cinnamon stick"
print-text left at 74,73 "     4 Leaves of Mint"
print-text left at 74,81 "     1 Human Skull (pressed)"
print-text left at 74,89 "     1 squirt Squid Ink"
print-text left at 74,97 "     2 pts Monkey Blood"
print-text left at 74,105 "     1 Live Chicken"
print-text left at 74,113 "     3 oz. Brimstone"
print-text left at 74,121 "     1 or more of the following:"
print-text left at 74,129 "       pyridoxine hydrochloride,"
print-text left at 74,137 "       zinc oxide, yellow 8,"
print-text left at 74,145 "       mine mononitrate and BHA."
print-text left at 74,153 " "
print-text at 160,161 "Let bubble over low flame until thickened."
print-text at 160,169 "Serves crew of four."
charset 2
for L.0 = 0 to 255 ++ {
palette intensity 255 in-slot L.0 to L.0
}
end-object
}
}

5
SCI Development Tools / SCI32 Templates
« on: November 27, 2021, 12:34:44 PM »
I have put together two template games for SCI32:
SCI2.0
SCI2.1

SCI2.0 Interpreter: Jul 01 1994 10:29:44 (KQ7 demo)
SCI2.1 Interpreter: Jul 11 1995 10:14:08 (Torin demo)

SCI2.0 still has support for 320x200 resolution, while SCI2.1 only supports 640x400.

The view editor does not properly edit SCI2 views, so any alterations can cause graphical glitches that don't appear in the view editor, but do appear in the game.

Still, these barebones templates are a good start.

6
So You Thought You Were a Hero? is an adaptation of the AGS fangame Quest for Glory 4 1/2 into SCI.
As the AGS game is horribly buggy and the Windows version (which is slightly more polished than the DOS version) does not work properly on modern Windows, I got the idea to remake the game in SCI11.
There was an attempt in 2013 to update the AGS game to newer AGS engines, but as of 2016 it seems to have been abandoned.
Since we've gained more knowledge of the SCI engine, and I've reverse-engineered the official QFG games, it only seems appropriate to put this knowledge to the test.
One criticism of the game is its offensive content. This will remain, but the game will have a setting to reduce this content (set to the lowest, Clean, by default). There will also be a content advisory at the start of the game noting this.
Another criticism is the fact that most of its graphics were mostly lifted from other Sierra games (notably, Conquests of the Longbow). Although I would like to replace these graphics with original ones, I am not an artist and have limited skill in graphics. For now, the Conquests graphics are being used as placeholders.

Ideally, I would like to upgrade this game to SCI32 and have SVGA graphics made. Then it would truly be the bridge between QFG4 and 5, and have all-original graphics.

7
It seems like Nintendo can't catch a break. A series of tweets with the highlights can be found here.

Mighty shady of them to extort a homebrew hacker in this way, and to even have a PR plan in place in case word of this got out.

Then again, it's not unusual for companies to sometimes hire members of the modding community to do official projects...

Obviously, it's not a good idea to link to any of these files here; I prefer not to know. Let's just say that they're out there, and leave it at that. :-X

8
SCI Syntax Help / Converting sciAudio to Sierra Script
« on: June 22, 2020, 06:55:11 PM »
I have taken the liberty of converting the sciAudio script to Sierra Script. Here is a basic game that serves one purpose only: test a sound then quit.

It's in both SCI0 and SCI01 form.

And no changes to the actual sciAudio program were needed.

6/24/2020 EDIT: Both AudTests work correctly now! I changed msgBuf from a local variable into a temp variable. Also, sciAudio is now an instance of Object (if no superclass is given, it's an instance of RootObj)

9
SCI Development Tools / QFG2 Decompilation
« on: March 14, 2019, 08:27:59 PM »
Here is my decompile of QFG2, version 1.105!
Everything compiles without error, and the debug mode is activated at startup -- this is made simple by changing the suckBlueFrog global to TRUE in script 2's SetGraphicsSoundInit procedure. The SetGameInit procedure actually has code for a preset Hero in this case, obviously intended to be used by QA. That also explains why the teleport function has Intro, New Hero, and Import buttons as well as the ability to set the day and time.

Now, while everything compiles without error, bugs abound throughout the game, especially after restoring a saved game. That's why the archive also has the interpreter from The Seasoned Professional, and a batch file that starts the interpreter with the -d parameter. Also, after compiling, it's a good idea to rebuild the resources to ensure that the newly-compiled scripts are used.

Two of the scripts I know to be buggy are 2 (QG2Events) and 23 (Talker). Maybe it's a decompilation error.

10
SCI Development Tools / Early doVerb functionality in SCI01
« on: March 10, 2019, 09:50:29 PM »
So I discovered something interesting in QFG2, KQ1SCI, and the Seasoned Professional. It's some evidence of an early point-and-click interface.
The following verbs are featured in script 950 (FEATURE.SC):
Look
Open
Close
Smell
Move
Eat
Get
Climb
Talk

Was Sierra originally going to use a LucasArts-style GUI? Many of them were merged into a single "Do" verb.
I know QFG2 regularly uses this early doVerb method, possibly forwarding parser commands to this.

11
SCI Development Tools / SCI1.0 Template Game
« on: January 28, 2019, 08:53:59 PM »
Here is my prototype of a SCI1.0 template game. It was built on top of Ms. Astro Chicken, believe it or not. That's because that game is really just a stripped down version of SQ4. With that, it was fairly simple to fully re-enable the icon bar and control panel.

Feel free to make additions, changes, and bug fixes. After all, that's why it's on Github in the first place.

12
SCI Development Tools / SCI01 Template Game
« on: November 26, 2018, 10:21:07 PM »
After a bit of work, here is my SCI01 template game!
I based it off the QFG2 demo, and used the interpreter from the EGA 1990 Christmas Card.

The choice of the interpreter was an important one - it's the last pre-1991 interpreter, and still has its internal debugger on top of that!

11/27/2018 EDIT: I solved the problem with the game not recognizing new words -- SCI Companion thought the parser vocab was 000 instead of 900. To fix this, I went into the version detector and set the parser vocab to 900. Now it recognizes new words!

1/16/2019 UPDATE: The template is now on Github! From now on, you can get it there and make updates to it.
TODO
Work on R44Q SCI01 remake (I can do the scripting, but I can't do the graphics all that well).

13
SCI Development Tools / System Logger found in QFG1VGA
« on: November 08, 2018, 08:49:56 PM »
Well, it turns out the original system logger is still intact in QFG1VGA. To access it, delete or rename 952.scr and 952.hep (these are dummy files meant to disable the logger). During gameplay, press Alt-N to bring up the logger.

It seems that this was supposed to be removed for shipping, but Sierra made a mistake and left the key combination in the Main script.

Code: [Select]
(KEY_ALT_n
((ScriptID 952) doit: @sysLogPath 0)
(return (pEvent claimed: 1))

Here is some output:
Code: [Select]
           GAME: Glory
        VERSION: 2.000
        QA-DATE: 11/08/118
        ANALYST: EO
       SEVERITY: S
    QA-COMMENT1: This is a test of the hidden System Logger found in QFG1VGA.
    QA-COMMENT2:
    QA-COMMENT3:
    QA-COMMENT4:
    QA-COMMENT5:
    QA-COMMENT6:
    QA-COMMENT7:
    QA-COMMENT8:
    QA-COMMENT9:
   QA-COMMENT10:
     DEPARTMENT: P
           ROOM: 300
    ROOM-SCRIPT: sEnter
     ROOM-STATE: 2
          EGO-X: 237
          EGO-Y: 181
          EGO-Z: 0
     EGO-SCRIPT:
      EGO-STATE: 0
       EGO-VIEW: 4
       EGO-LOOP: 6
        EGO-CEL: 0
   EGO-PRIORITY: 14
    EGO-HEADING: 45
         CYCLER: StopWalk
      EGO-MOVER:
        MOVER-X: 0
        MOVER-Y: 0
    EGO-MOVESPD: 6
    SIGNAL-BITS: 3002
   ILLEGAL-BITS: 8000
        HOWFAST: 3
        ICONBAR: mainIconBar
       CUR-ICON: iconTalk
   DETAIL-LEVEL: 3
       CD-AUDIO: 0
      VIDEO-DRV: VGA320
      SOUND-DRV: ADL
      AUDIO-DRV: AUDBLAST
   KEYBOARD-DRV: IBMKBD
        JOY-DRV: NO
          MOUSE: STDMOUSE
   LARGEST-HEAP: 12782
      FREE-HEAP: 12910
     TOTAL-HUNK: 294
   LARGEST-HUNK: 31824
      FREE-HUNK: 37
**********************************


14
SCI Development Tools / QFG1 Event Flags, Procedures, and Variables
« on: September 14, 2017, 12:20:33 PM »
After a bunch of work digging through the decompiled scripts of QFG1EGA, I was able to put together a few lists of variables, procedures, and event flags relating to the game. Some of the flags and variables are specific to QFG1VGA, and are noted as such.

9/30/2018 UPDATE: Thanks to Charles' work on the scripts here, I now have more complete and accurate lists! Also, there is now an extensive list of procedures and global variables for QFG1VGA.

Pages: [1]

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

Page created in 0.104 seconds with 20 queries.