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

Pages: [1] 2 3 ... 6
SCI Development Tools / Re: Decompilation Archive
« on: November 11, 2019, 08:39:35 PM »
And here are decompilations of PQ2, both the full game (1.002.011) and demo!

The demo plays through to completion.

In the full game, I've gotten up to the Cotton Cove, but haven't gotten farther than that. Other than a "Memory Fragmented" warning at the beginning, the game seems to play okay so far, and debugging has been enabled.

Next up is SQ3...

SCI Syntax Help / Re: Police Quest 1 VGA
« on: November 07, 2019, 11:13:43 AM »
I am taking the liberty to reapproach you regarding this topic (topic above, Conquest of the longbow).
It is possible to import ".txt" files that have numbered over 999?
Or It is not possible ?
I thank you for answer and help.

Text resources actually have the .TEX extension. And yes, it should be possible, as the game already has text resources numbered in the 1000 rang. However, they apparently need to be called through the "GetFarText" kernel function.

SCI Development Tools / Re: Decompilation Archive
« on: October 27, 2019, 01:35:09 PM »
And now here are decompiles of the LSL2 demo and full game (version 1.002.000, interpreter 0.000.409)

The demo plays through to completion.

The full game starts up and plays normally. Unlike KQ4, LSL2 uses heap much more efficiently. There have been cases of views vanishing and other graphical glitches, which appear to be priority bugs. This should not affect gameplay.

Next up, PQ2!

I would have done the 1988 Christmas Card, but that game was never upgraded to the newer SCI0 format. SCICompanion does not properly support the older SCI0 format, so you get things like "BAD_SELECTOR" errors in decompiled scripts (this seems to be due to the two-bit selectors, whereas later SCI games used one-bit selectors). I already posted this issue here.

SCI Development Tools / Re: Decompilation Archive
« on: October 21, 2019, 08:26:05 PM »
Here are decompiles of the KQ4 demo and full game (version 1.006.004, interpreter 0.000.502)

The demo plays through without issue. Since it has no VOCAB.997, I had to use the one from the full game. The demo is pretty much just a stripped-down version of the full game anyway.

The full game starts up and plays normally... but there is a high risk of the game crashing with "Out of Heap space" errors, particularly when cleaning the dwarves' house.
Man, this game does not use memory efficiently! Of course, it is the first-ever SCI game, and the programmers were still used to AGI, so we can't blame them for that.

Next on my agenda is LSL2...

SCI Development Tools / Re: SCI01 Template Game
« on: October 15, 2019, 09:15:08 PM »
Hmm... it seems I'd made a commit a month ago, but I'd forgotten to push it! Oops!    :-[

Most of the changes were in the system scripts, thankfully.
The big change here? Support for sorted features! They were used in QFG2.

Now this is as as complete as it can get. Have fun.

SCI Development Tools / Re: SCI01 Template Game
« on: September 24, 2019, 09:32:06 PM »
Why use a demo or minigame at all? The SCI0 template game used LSL3 as a base, IIRC. The SCI11 template game is based on a stripped SQ5. I don't see the issue with basing it on a full game, unless you're just thinking it would be easier to start with less and not have to strip stuff out?

In both of those templates, they have clear signs of their origins.

SCI0 had the option of window colors (which is specific to LSL3) and the "Order Hintbook" joke option in the death dialog (again, this is only in LSL2 and 3).

SCI1.1 has SQ5's specific fonts, subclasses, and status code.

My main focus was to make my templates as generic and minimalist as possible, and mainly use the stock SCI resources that can be found in game demos. Since they're officially freely available and have minimal game-specific scripts, it makes perfect sense to repurpose those.

An idea could be to move to SCI0.1 (which is what QFG2 uses).
This is an interesting idea, and I have to say the addtional heap and path functions are of interest to me. I wonder how cumbersome the transcription of my project to that would be?

In fact, I don't really know how to do that at all, as the options when creating a game with Companion is SCI0 or SCI1.1.

Am I missing something?

No, you just need to download the template here. As Kawa said, you can then put it in the TemplateGame folder, and it'll be there in the New Game dialog.

I wonder how cumbersome the transcription of my project to that would be?

You'd have to change from Studio to Sierra script. I designed my templates to be as close to the original Sierra source as possible.
Also, keep in mind that the 900 script range and script 255 are specifically intended for system scripts, which should not be edited (except for the Menu script). If you need to make custom properties for things like the inventory or ego, you should instead create subclasses and instances in the game-specific scripts.

Why not also move onto SCI1.1 for it?
My primary reason is just that those were my favorites of the Sierra games. I always liked the parser and I enjoy the limited palate.

Secondary reasons would be that I will get to reuse a ton of resources from the previous game and that I'm already very familiar with the tools.

An idea could be to move to SCI0.1 (which is what QFG2 uses). It fully supports SCI0 views and pics, but sounds will need to be upgraded to the SCI1 format. It also manages memory much more efficiently - between my SCI0 and SCI01 templates, SCI0 has 20618 bytes of free heap space in the test room, while SCI01 has 29456 bytes of free heap - nearly a 9000 byte difference!
SCI01 also has the doVerb method, which can be mapped to parser commands, as used in KQ1SCI and QFG2, as well as support for polygon-based paths.

Just an idea if it turns out heap space will be a problem.

Major update on the SCI1.0 template: it has been redone, using the Mixed-Up Fairy Tales demo as the base. That means the interpreter and system scripts are newer, and it has separate drivers for music and digital audio! With that, GMBLAST is not needed any longer. Ego is now played by the white boy from MUFT, and his head moves normally in real-time (as opposed to using cycle speed like in SQ1VGA and SQ4).

Now I see why those timer bugs were present in the CD-ROM version of SQ4, but not the floppy version - it all comes down to the Game class's doit:, which had things like a "gameTime" global added in around late 1991. Unfortunately, the game-specific scripts were not adapted for this upgrade, thus you get things like Roger's head moving super-fast, for example.

You know, I think the SCI16 series of game templates is ready for action.

SCI Syntax Help / Re: Loading External Scripts on the Fly?
« on: August 12, 2019, 11:57:15 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?

They will still be initialized in the game's init using the ScriptID kernel function (so they will still be loaded in heap at startup), so I don't think that will be a problem.
I just thought it was a good idea given that by the time of SCI1, it became standard for the inventory to be placed in its own script, and the control panel soon followed, then the icon bar in the SCI32 era.

Though, admittedly, from SCI01 on, the way heap was stored had been changed.

08/13/2019 UPDATE: I've decided to just move the inventory for SCI0 and SCI01 back into MAIN.SC. It's more memory-efficient that way.
I've further been making sure that the free heap and largest pointer are as close as possible (only a 2 byte difference!)

SCI Syntax Help / Re: Loading External Scripts on the Fly?
« on: August 10, 2019, 09:33:40 PM »
Loading external scripts on the fly... that's the approach that I've been using for my templates recently. Instead of cramming things like the game's icon bar, control panel, and inventory into MAIN.SC, why not just put them in their own individual scripts? That's what Sierra did later on, and it makes the main script (which will always be loaded in memory) use significantly less memory. In the case of a game intialization script (so long as it doesn't need to use objects in the main script), it can just erase itself from memory afterwards, since it will not need to be used again.

My memory must be faulty then because I thought I remembered interchanging sound files between SCI0 and SCI1 games without an issue but ran into problems with SCI1.1. I'm assuming the SCI0 format is also used by/compatible with SCI01.

If by SCI01 you mean QFG2 or Seasoned Professional, those games actually use the newer SCI1 sound format, if SCI Resource Viewer is right. The DOS version of KQ1SCI does still use the older SCI0 sound format, though that was upgraded to the SCI1 format for the Amiga version.

SCI Development Tools / Re: Decompilation Archive
« on: July 29, 2019, 08:26:22 PM »
Here's a new and improved decompile for QFG1EGA!

A major change here is that all of the system scripts and globals are based on the original SCI0 source, which is much more accurate. As a result, there should be no compatibility or decompiler issues on that side

The game generally seems to work okay, but the game crashes in certain areas (entering Meep's Peep, working at the stables, dispelling the bear), which seem to be related to decompilation errors.

Oh, yeah, there's also new decompiles for Seasoned Professional (EGA and VGA use exactly the same scripts) and the QFG2 demo. Both have been fully tested to completion.
7/31/2019 EDIT: Oops! I goofed up with the SCI01 decompiles, as I worked at adapting the original SCI0 header files for them, but uploaded incomplete versions. That has been fixed. Now they really have been tested to completion.

And here it is - SCI0 Template Redux! Fully in Sierra Script, built off of the Codename Iceman demo, and no assembly blocks anywhere!

Feel free to fix any bugs that you may notice - that's why I put it up on GitHub in the first place.

I've created a github repo for the SCI0 system scripts:

It has 2 commits for the 2 versions I have.
You can use that to create better SCI0 template.

Cool! I'd better examine these scripts. One set's from November 30, 1988 (close match to LSL2), the other's from October 25, 1989 (close match to LSL3).
I guess I'd better start working on that SCI0 template and touch up the SCI01 and SCI10 templates, since it may be a while before SCICompanion properly supports SCI2.1.

Pages: [1] 2 3 ... 6

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

Page created in 0.101 seconds with 21 queries.