AGIWiki/Base Logic Generator

From ScummVM :: Wiki
Jump to navigation Jump to search
AGIWiki


The Base Logic Generator, also known as the AGI Base Logic Generator, BLG, or AGIBLG, is a logic source code generator designed to reduce the tedium of writing the basic framework code for a new logic resource. It was created by Joel McCormick.

Overview

Based on parameters specified by the user, the BLG can generate code for loading and displaying the picture resource for a room, responding to the "look" command, sending the player to a new room when ego is touching the edges of the screen, positioning ego when coming from another room, and so on.

The BLG provides multiple options for importing the newly-generated logic code into AGI Studio. For example, the code can be sent to the Windows clipboard and then pasted into the AGI Studio logic editor, or a compiled logic file that can be imported to AGI Studio can be created.

Version History

Base Logic Generator 1.0

Released in 1998, this version of the BLG was written using the Microsoft Foundation Classes (MFC). It suffered from numerous flaws: its comment feature was insufficiently implemented, it did not indent code properly, the keyboard tab ordering was unpredictable, fields that the user didn't want to use required a -1 entry rather than simply being left blank, the user had to remember a precedence system for mutually exclusive options rather than those options being disabled, and so on.

Despite its flaws, the interface for the BLG 1.0 was integrated into Linux/QT AGI Studio, with a few enhancements and problem corrections.

The standalone BLG 1.0, due to a quirk in the AGI Studio import function, wrote its generated logic code to the Windows clipboard and required the user to paste the code into the AGI Studio logic editor. This was because the BLG generated a text file containing symbolic logic code, but AGI Studio was coded to handle a pre-compiled logic file only.

Base Logic Generator 2.0

Released in 2002, this version of the BLG shared no code with the original BLG. It featured an improved interface, improvements on most of the defects of the original BLG, and a few additional options that were not found in the BLG 1.0. As of this writing, this is the latest version of the Base Logic Generator.

It can be obtained from http://weremoose.tripod.com/agi/agiUtilities.html (archive.org) and from AGIDev.

Unlike the BLG 1.0, the BLG 2.0 can generate compiled logic files that can be imported to AGI Studio using the development environment's import functionality. However, in case the user decided that the clipboard method was still easier, the BLG 2.0 maintained support for this method.

Also, in contrast with the BLG 1.0, the BLG 2.0 was open-sourced.

Base Logic Generator 3.0

A vaporware version of the BLG that was intended to replace the tedious text-based ego positioning controls with a graphical editor that would allow the user to click where ego should be placed in the room. It was also to be expanded to handle local defines and positioning of any animated object or add.to.pic.

Although some progress was made in the development of this version of the BLG, it was never finished. However, similar functionality is expected to appear in the upcoming WinAGI development environment.