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 ... 17
1
At this point, I've given up trying to get SQ0 running on the original AGI interpreter. The game is simply too advanced. It's better off just getting an SCI0 remake, which I'd started work on a while ago. Maybe if the AGI pics can be converted to SCI format, I could easily adapt the AGI logic code to SCI script code.

On the plus side, I've had much better luck getting other fan games ported to AGI3.

2
Do you have an account for the AGI Wiki?

No, I don't.

3
I'd like to note that the third Tex McPhilip game actually was completed and released. I was able to download it here. For that matter, newer versions of Goodman were released here (note the version labeled 4.0T; it's more suited for developers!) I even reported these releases to ScummVM, so they'll work on that just fine.

For the sake of preservation, I've attached the games in question.

Finally, I've been working on doing AGI3 remasters of some of the fan games. You already know about SQ:TLC, for example. I've also discovered that the real reason SQ0 doesn't work on the original interpreter is because the game is so inefficiently coded!
What I've been doing for the AGI3 remasters is designating 220-239 for local flags/variables, and 240-255 for dynamic flags/variables (which are automatically cleared, thanks to a special logic that is executed on room change), similarly to the original Sierra games. I can understand why the original AGI template (on which these games are based) didn't implement this trick; it wasn't well-known at the time.
For that matter, I've been trimming each room down so that redundant code has been moved into new dynamic logics. While SQ:TLC had barely any room for dynamic logics, SQ0 has much more space available.

4
SCI Development Tools / Re: SCI11+ now has working pathfinding
« on: April 14, 2023, 12:18:14 PM »
Great! I'll have to go through SCIQuest and the QFG1VGA upgrade with the new interpreter. I shouldn't have to worry about fragmentation now.

5
SCI Development Tools / Re: SCI1.0 Template Game
« on: March 03, 2023, 10:58:17 AM »
And now I've looked through the code for foreign versions, and added the control panel views for Spanish, French, German, and Italian languages, as well as code to switch between English and one of the other languages.
The standard fonts and INTERP.ERR for each language are included in their own directories.
I'll be adding the updated script code and views to the EGA version soon.

6
SCI Development Tools / Re: SCI1.0 Template Game
« on: February 25, 2023, 08:09:02 AM »
And here it is, Circus Quest in SCI1.0!

7
SCI Development Tools / Re: SCI1.0 Template Game
« on: February 21, 2023, 08:01:44 PM »
It's done! The EGA version of the SCI1.0 template is now here! SCI0 views and pics are fully compatible, and SCICompanion's importer works better than Sierra's original tools. The script code between the EGA and VGA versions is identical - the game checks the video driver's capabilities, and sets the appropriate global colors.

I think this can replace the old SCI0 point-and-click template, since this is MUCH more elegantly designed. I've even been working to bring Circus Quest to the new engine as a proof of concept, but the code is a huge mess that I'll need to clean up. Good thing there's only four real rooms.

8
SCI Development Tools / Re: SCI1.0 Template Game
« on: February 18, 2023, 11:39:46 PM »
Here are all the specialized EGA versions I own: https://drive.google.com/drive/folders/0B5j-_ZMS8_UoUzAyVEg0NnZKUVE?resourcekey=0-0YAJ6GVxwOeQIn0RPOJ3nw&usp=share_link

You can find Conquests of the Longbow EGA in there as well.

Thanks. I'll be putting out an EGA version when I find the time to.

9
SCI Development Tools / Re: SCI1.0 Template Game
« on: February 18, 2023, 11:36:13 AM »
So I've managed to do over the SCI1.0 template, using the interpreter and drivers from the Mixed-Up Fairy Tales demo. That game supports separate music and audio drivers, so GMBLAST is not needed.
Next step is to do an EGA version. The closest compatible interpreter and drivers are from the EGA version of Conquests of the Longbow. Unfortunately, I haven't been able to track that one down.
I know that MAKEP16 and MAKEV16 were the original tools used to convert the VGA graphics to EGA.

10
Everything-Else / Re: LSL1 AGI Source Code Released
« on: January 09, 2023, 11:22:47 AM »
Hopefully, the SCI games will follow soon. I've been wanting to get more original procedure and global names, as well as earlier versions of the header files.

No interpreter code? That code doesn't interest me. I'm more interested in the scripts and headers.

What do you know? More source was released this Christmas. LSL5 here. I'm most interested in the system script directory. Here's more here..

11
Well, it turns out the synonyms block is no longer supported from SCI01 on. LSL2 and SQ3 didn't use it much, if at all, so it doesn't affect them. KQ4 and LSL3, on the other hand, use it quite often, so I'll have to adjust the said specs to not use it.

By the way, I've managed to test LSL3 to completion using the S.old.010 interpreter. Next step is to port to version 1.000.172. As with SQ3, there is actually a German Amiga version of LSL3 that uses SCI1, and has SCI1 sound resources... but they have no Adlib tracks. Nothing Sounder can't fix.

The only things that don't work are rm140's RoomScript (the age quiz) and rm340's ComicScript (the Comedy Hut's inputting of ethnic groups). For the former, I just couldn't decompile it ("Couldn't find DUP source: 20"). For the latter, I had to do some tricks to generate workable code, but it doesn't work right (fortunately, the sequence is still completable, so you still can get the full 4000 points)

12
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...

13
SCI Development Tools / Re: "Sounder" tool - alpha version is ready
« on: August 03, 2022, 08:21:13 PM »
Great! Now I've just found that the sounds converted from SCI0 to SCI1 are not converted right, leading to notes playing in the wrong place!

To see what I'm talking about, I've put here a little program that tests SCI1 sounds. The menu has an option to play a sound, and you can input the resource number you want to play. I've included three sounds as an example. Please excuse the wrong instruments; that's just because the patch files are from the INN demo (at which point General MIDI was the standard).

14
SCI Development Tools / Re: "Sounder" tool - alpha version is ready
« on: August 02, 2022, 05:20:51 PM »
Okay, so I've tested it with LSL2 (1.002). The music tracks (those in the 100 range) all converted from SCI0 to SCI1 without error. However, some of the sounds would not convert.
For example: sound.005...
Code: [Select]
C:\SCICompanion\Sierra\LSL2\original_sounds\sound.005 SCI0
Device FB_01 uses [{'ch': 1, 'voices': 8}]
Device ADLIB uses [{'ch': 1, 'voices': 8}]
Device PC_JR uses [{'ch': 1, 'voices': 8}]
Device SPEAKER uses [{'ch': 1, 'voices': 8}]
Device MT_32 uses [{'ch': 2, 'voices': 0}]
Midi length: 1.9 seconds
SAVE SCI1: Ignoring device FB_01, doesn't have a SCI1 counterpart
SAVE SCI1+: Adding GM device, as duplication of MT-32
Traceback (most recent call last):
  File "sounder.py", line 873, in <module>
  File "gooey\python_bindings\gooey_decorator.py", line 134, in <lambda>
  File "sounder.py", line 860, in main
  File "sounder.py", line 617, in save_sci1
KeyError: 1
[12824] Failed to execute script 'sounder' due to unhandled exception!

Sounds 7 and 12 have the same issue.

And I tested the 1988 Christmas Card, for converting from early SCI0 to newer SCI0...

Code: [Select]
C:\SCICompanion\Sierra\demos\88xmas\original_sounds\sound.001 SCI0_EARLY
Device PC_JR uses [{'ch': 1, 'voices': 0}, {'ch': 11, 'voices': 0}, {'ch': 12, 'voices': 0}]
Device SPEAKER uses [{'ch': 1, 'voices': 0}]
Device MT_32 uses [{'ch': 1, 'voices': 0}, {'ch': 2, 'voices': 1}, {'ch': 3, 'voices': 1}, {'ch': 4, 'voices': 6}, {'ch': 10, 'voices': 0}, {'ch': 11, 'voices': 0}, {'ch': 12, 'voices': 0}]
Device ADLIB uses [{'ch': 2, 'voices': 1}, {'ch': 3, 'voices': 1}, {'ch': 4, 'voices': 6}]
Device CONTROL_CHANNEL uses [{'ch': 10, 'voices': 0}]
Midi length: 67.0 seconds
Traceback (most recent call last):
  File "sounder.py", line 873, in <module>
  File "gooey\python_bindings\gooey_decorator.py", line 134, in <lambda>
  File "sounder.py", line 857, in main
  File "sounder.py", line 450, in save_sci0
  File "sounder.py", line 450, in <listcomp>
TypeError: unsupported operand type(s) for -: 'dict' and 'int'
[4636] Failed to execute script 'sounder' due to unhandled exception!

None of the sounds would convert at all. However, all of them do convert to SCI1.

Then tested KQ4, converting the SCI0 sounds to SCI1...
Code: [Select]
C:\SCICompanion\Sierra\KQ4\original_sounds\sound.007 SCI0
Device PC_JR uses [{'ch': 1, 'voices': 0}, {'ch': 11, 'voices': 0}, {'ch': 12, 'voices': 0}]
Device SPEAKER uses [{'ch': 1, 'voices': 0}]
Device MT_32 uses [{'ch': 2, 'voices': 8}]
Device FB_01 uses [{'ch': 2, 'voices': 8}]
Device ADLIB uses [{'ch': 2, 'voices': 8}]
Midi length: 6.6 seconds
SAVE SCI1: Ignoring device FB_01, doesn't have a SCI1 counterpart
SAVE SCI1+: Adding GM device, as duplication of MT-32
Traceback (most recent call last):
  File "sounder.py", line 873, in <module>
  File "gooey\python_bindings\gooey_decorator.py", line 134, in <lambda>
  File "sounder.py", line 860, in main
  File "sounder.py", line 617, in save_sci1
KeyError: 10
[15684] Failed to execute script 'sounder' due to unhandled exception!

Sounds 12, 14, 20, 22, 34, 36, 38, 47, 50, 57, 64, 104, and 203 have similar issues.

15
SCI Development Tools / Re: Convert SCI0 vocab to SCI1 vocab?
« on: July 21, 2022, 11:01:22 AM »
It worked! Exported the original vocab, imported the CSV file back into vocab.900. Compiled all scripts, and the game recognizes commands now! I'll have to play through and check for any bugs.

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.

Export as MIDI and reimport?

Another problem is that currently there is no way to assign # of voices values to channels for SCI1+ sound resources (Adlib needs this). And you'd have to reimplement all the cue & loop points by hand.

I had similar issues with the QFG1VGA upgrade. I exported the Mac version's sound files' General MIDI tracks as MIDI files and re-imported them. I had to manually re-insert the loop points, and the PC Speaker driver doesn't play any of the music.

Maybe I'll give LSL2 the same treatment, since I've fully decompiled that one, too. It'll give both games better compatibility for fan translations.

Pages: [1] 2 3 ... 17

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

Page created in 0.053 seconds with 21 queries.