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

Pages: [1]
1
AGI Development Tools / AGI v1 resource extractor and sound converter
« on: November 04, 2016, 02:23:32 AM »
I have written a little extracting utility for AGI v1/v2.001 PC disk images (as well as the usual v2 and v3 volume files), and a converter that converts both GAL, AGI v1 and AGI v2/v3 sound files to VGM format for convenient listening. For later v2 and v3 games, you need to specify the --envelopes2 or --envelopes3 command line option to get the same result as in the games, as AGIsnd2vgm has no way of knowing whether envelopes should be applied (AGI v2.9xx) or not (AGI v2.4xx/v2.272/v2.089), and which shape the envelopes should have. Run AGIsnd2vgm without options or file names to see a list of supported options. The "stuck notes" option can best be seen action in King's Quest II's SND.1, which is the wedding music.

I have noticed that AGI v1 files that were converted by Sierra to v2 format sound faster when played back in the latter format. For example, the music in The Black Cauldron versions 2.0 and 2.10 sounds faster than in v1.1J/K/M. The reason is that the playback routine for the v1 format used the PC's default 18.2 MHz timer, while AGI v2 uses a 60 Hz timer, and Sierra's CNVRTSND.EXE multiplies all time values only by three instead of the correct 3.2967. CNVRTSND.EXE is Sierra's utility to convert v1 to v2 format files and what accidently included on the Space Quest I version 1.1A disk #1.

2
I have finished my small extractor and decompiler for the "Game Adaptation Language" logic resources used in the early King's Quest releases. I'm sharing my work-in-progress.

GALextract.exe requires a 360K disk image, its name specified as a command-line argument; all known versions of the game should be supported. If specifically the gnome/beanstalk messages are corrupt, then your disk image is the badly-cracked version of the game that is floating around the internet.

GALdecompile takes the name of the logic resource as a command-line argument and outputs the decompiled script to the standard output. WORDS.BIN must be in the current directory; this is the equivalent to AGIv2's WORDS.TOK, which in the case of GAL is hard-coded into the main executable file, like so many things.

Being a work-in-progress, it's far from perfect --- some opcode meanings are unknown, some may have their lengths misidentified, and I may have made an incorrect guess at what some of them mean. I'm also a bit stumped by the meaning of "FB FE 00 00" in the test command blocks. I have started filling in preliminary object and variable names; they are only valid for the "PCjr/Tandy 1000 disk" of the Sierra On-Line release; their names will be off for the IBM PCjr release. Still, it's not bad for a first effort, I would say.


Pages: [1]

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

Page created in 0.034 seconds with 18 queries.