WinAGI

From AGI Wiki
Revision as of 21:45, 15 March 2022 by Andrew Korson (talk | contribs)
Jump to navigationJump to search
WinAGI Game Development System

Author: Andrew Korson

2022/02/14
WinAGI Game Development System
WinAGI Screenshot
Latest Version:  2.1.16
Release Date:  2022/03/15
Company: N/A
Publication Status:  Published
Developer(s): Andrew Korson
Interface: GUI
Language: VB6
Open Source: Open
Source Availability:  Yes
License: GPL
Type: IDE, AGI Development Tool
Platform: Windows
Localization: English
Website: AGI Forum



Description

WinAGI is a full featured game development system, that includes editors that provide full control over of all resources in an AGI game. It includes many new integrated tools to assist in game design and development, allowing you to create new AGI games more efficiently and with less effort.

The WinAGI Game Development System was created by Andrew Korson. It may be distributed under the terms of the GNU General Public License.

The current version of WinAGI is 2.1.16: Importing games with directory and resource errors will now load all other content correctly and provide feedback (warnings) about the invalid data. Decode logic now has two code styles to choose from (affects how if statements are structured). Renumbering now marks logics as uncompiled, and updates tooltips. Fixes a minor bug in compiler that would improperly concatenate strings in very specific situations. Cursor now gets restored correctly after compiler error. The splitter in View editor now works correctly (it used to have a border that would show the split icon, but not react to mouse movement). Resource tooltips now get refreshed when one game closes and another is opened. Words.tok editor now correctly saves an imported wordlist. Fixed a bug in exporting view loops as gifs that was incorrectly setting cel values. Hiding the resource tree panel will now also hide the preview window. Fixed bugs in View editor and sound editor so imported resources will save correctly. Fixed bug in compiler that would ignore a single quote instead of raising an error. Fixed the statusbar flicker problem when previewing pictures. Message cleanup tool improved to better handle non-standard placement of message declarations. Fixed the block-uncomment feature (it would skip lines in certain situations). Fixed a major bug in the richtext editor control undo/redo functions. The compile toolbar button is now disabled when editing a logic not in-game. Console updated; allows export/import(add) of individual resources. Fixed minor bug in the remove resource function, so checkboxes in the message boxes remain unchecked by default. Fixed a bug in the NewView and NewSound functions so they get initialized correctly when not immediately added to a game. The caption for logics that are not in-game now show filename like other resource types. Changing the gameid, aboutmsg, versionmsg define values now updates affected logics as uncompiled. Many updates, corrections, additions to help file. Compile option on treelist context menu works correctly now. Saving a logic now correctly updates the form caption. Undo/redo now set logic editor dirty status. The GameAbout and GameVersion properties now correctly display new line characters. Logic search function now works with extended characters. Added CTRL+DblClick to open a resource ID from within a logic editor. Files ending 'wag' with extra characters at the end (for example, *.wagx) no longer confuse the open/import game functions. Fixed major issue with 'new game from template' so copied files and directories get correctly renamed. New 'pointer' syntax option added to make indirect coding easier to manage. Max scale factors for view and picture editors increased (makes editing a lot easier on larger monitors). #define values that have a trailing semicolon now throw an error, instead of assuming the value is a string. The 'edit coordinate' form now shows centered in the main window. Fixed bug in picture editor that would show the priority frame over the palette in some resizing situations. Syncing menus with active form/control appears to be fixed for good this time.

Features

Most of WinAGI's features are customizable via the Settings command, allowing users to configure the design environment to suit individual preferences. Users can use menus, keyboard shortcuts or toolbars for most actions, depending on preferred input method.

WinAGI provides many enhancements to your AGI game to assist in development. These enhancements won't be part of the final game, but make the design process go much more quickly:

  • Resource List: A tree-based layout of your game, with easy access to key properties for your game, and individual resources
  • Resource IDs: Each resource can be given an ID to help identify it in logics. This improves readability. Changes to Resource IDs automatically updates all relevant logic scripts
  • Preview Window: All resources can be previewed
  • Import/Export: WinAGI allows you to import and export all resource types, and support several format types for each resource type.
  • Printing: All resources can be printed from within WinAGI.
  • Compiler: WinAGI includes a robust game compiler that allows you to do a full game compile; compile to a new directory; rebuild volume files to reduce slack space, and compile only those logics which have had their source code changed
  • New games can be created from templates or from scratch
  • Seamlessly integrate game engines, including ScummVM, NAGI and DOSBox (with original DOS files) to easily test games during development

Resource Editors

WinAGI includes highly capable editors for all AGI resource types. Every editor includes multiple levels of Undo.

Logic Editor

Features of the Logic Editor:

  • A rich text editor with customizable syntax highlighting
  • AutoText complete feature for AGI commands
  • Easily insert defines and reserved words by using the List Defines command
  • Supports the 'official' AGI syntax
  • Includes a tool to 'clean up' the message section, eliminating clutter and wasted space in compiled logics for unused messages
  • Hovering over defined words will show the variable/flag/string value assigned to the define
  • Easily change comment status for multiple lines of text using the block/unblock comment feature
  • Use the embedded character map tool to easily add extended characters to message text

Picture Editor

Features of the Picture Editor

  • Toolbar for easy access to common actions
  • Drawing tools for all standard picture draw commands
  • New tools for drawing circles, rectangles, trapezoids
  • Test mode that allows you to use any view to validate how the view interacts with the picture
  • Cut, copy and paste feature alllowing easy control over multiple drawing commands
  • drag-an-drop movement control over individual coordinates as well as selections of commands
  • Vertical and horizontal flipping of drawing commands
  • Split and Join feature allowing much finer control of the drawing action
  • Work in split screen mode, or toggle between visual and priority screens
  • Load background images to allow tracing of existing graphics images
  • Transparency setting allows background to be visible while drawing over it
  • Show or hide priority lines to help manage picture priority
  • Priority lines can be adjusted to match set.pri.base command options
  • Export pictures (or priority screen) as bitmap, jpeg or tiff image, individually or in bulk
  • Individual coordinates can be manually edited to fine tune coordinate position
  • Multi-level Undo capability

Sound Editor

Features of the Sound Editor:

  • Toolbar for easy access to common actions
  • Staff based graphical design window
  • Option to display graphical window for only the currently active track
  • Easy manipulation and complete control of each note property via propery window
  • Preview sounds as MIDI output
  • Choice of MIDI instruments when previewing sounds
  • Import and export sounds as Nick Sonneveld's sound script formatted files
  • Export sounds as MIDI files
  • Multi-level Undo capability

View Editor

Features of the View Editor:

  • Toolbar for easy access to common actions
  • Common pixel based editing tools; pencil, line, box, solid box, eraser
  • Selection tool to easily cut, copy, paste move cel data
  • Clipboard support to allow pasting of cel data, entire cels and entire loops among different views
  • A preview window is included in the editor to show effect of changes to cels in real time
  • Multi-level Undo capability

OBJECT Editor

Features of the OBJECT Editor:

  • A search-in-logic feature to easily find instances of an inventory object in your game logics
  • Ability to edit the Maximum Screen Objects value for your game, instead of being stuck with the default of 16
  • Automatic detection of duplicate items
  • Multi-level Undo capability

WORDS.TOK Editor

Features of the WORDS.TOK Editor:

  • A toolbar for easy access to common actions
  • Undo command
  • A search-in-logic feature to easily find instances of a word in your game logics
  • Drag-and-drop functionality to add words to logics

WinAGI Tools

Besides the editors for all resource types, WinAGI includes some additional tools to assist in game design.

Layout Editor

To assist in overall game design, WinAGI includes an graphical based Layout Editor. With this editor, you can set the overall design of your game by adding rooms and the exit conditions (i.e. new.room commands based on edge codes or other conditions). The layout editor is integrated with the Logic Editor, meaning that as you add, remove, edit various exits, WinAGI will automatically insert the correct code to move ego from room to room. The Help file provides detailed instructions on how to use the layout editor.

Menu Editor

Instead of manually creating menus, WinAGI offers a Menu Editor that allows you to design your menu in a graphic environment. You can see exactly how the menu will look while you are editing it. Once you have created your menu, WinAGI will automatically create the code and insert it into your logic source file.

Global Defines

WinAGI offers an alternative to the traditional #include file to manage defined names. The Global Defines editor provides a table based editor to easily manage your list of defines. Names defined in the Global Defines list are available to all logics. In addition, the names for reserved variables, flags and numerical constants are built in to WinAGI's compiler, and don't need to be explicitly defined for each logic.

Changes made to global defines automatically update all affected logic scripts

Reserved defines can be easily edited for individual preference

Custom Tools

WinAGI provides a custom Tool menu that allows you to easily launch other programs or utilities, link to web pages, or to documents, such as text files, etc.

Compatibility with AGI Studio

WinAGI can read AGI games that have been created with AGI Studio. However, certain features of WinAGI are not supported by AGI Studio, namely:

  • resource IDs (which affects resource file names)
  • WinAGI project properties, including layout information and other game level properties
  • built-in reserved define names and use of the global defines tool (in lieu of creating separate define.txt for every game)

Help File

The WinAGI help file provides documentation for all features available in the development system.

It also includes a detailed, up to date AGI reference section that explains all aspects of AGI.

For help with programming, a detailed logic command reference is also supplied that fully describes every single AGI command and includes programming notes and examples.


Download


References



Also See