PIC2PIC
An AGI to SCI picture converter by John Nickerson (Mokalus of Borg), mokalus@yahoo.com.au
(c) John Nickerson (Mokalus of Borg), September 2002
License Agreement
You are hereby granted the right to do whatever you like with this software
and it's source code, including redistribution and alteration, on the following
conditions:
- The author's name and contact details (John Nickerson (Mokalus of Borg), mokalus@yahoo.com.au)
are not removed or hidden.
- The author accepts no responsibility for any damage that may be caused
to your hardware, other software, or wetware, through use of the program.
- No warranty is given, either express or implied, including, but not limited
to, usability or fitness for a particular purpose, except where prohibited
by law, and on the planet Neptune ('coz we all know what they're like about
warranties).
Executive Summary of License Agreement
Go nuts, but don't bother me.
Current Version
2.1.1b
Using the Program
(The file "pic2pic.exe" has been compiled from "pic2pic.py" with "py2exe", available from Starship Python, and requires "python22.dll" to run.)
(The files with ".py" extensions require the Python interpreter, which can be downloaded for free at www.python.org for a variety of platforms.)
The graphical interface is only available in the source distribution, because of unwieldy file sizes: compiled Tkinter modules require two more DLLs to run, increasing the size of the binary distribution by over a megabyte.
The program is run either with command-line arguments or with a graphical interface. The command-line syntax is as follows:
pic2pic [options] (Win32 binary version)
OR
python pic2pic.py [options] (Source version)
Valid command-line options:
- -i[filename]
Set input file to 'filename'. Prompt if no filename given on command line. Note: no spaces between '-i' and filename argument.
- -o[filename]
Set output file to 'filename'. Same behaviour as '-i' if no argument given.
- -c[n]
'Clone mode'-c[n]\t\t'Clone mode', where 'n' is one of the following:
0: No cloning
1: Simple cloning (default when no argument given)
2: Advanced cloning
Sets the level of accuracy for rendering the AGI picture in SCI.
- -f
Enable fill: turns on translating of 'fill area' commands. Fills are off by default because fills in non-clone mode will overflow.
To print this summary from the command line, run the program without any options.
The graphical interface version is run as follows:
python gui.pyw (Source version)
The graphical interface consists of eight elements:
- Input file field
Type the name of the AGI source file here.
- Input file browse button
Click to browse for a source file.
- Output file field
Type the name of the SCI target file here.
- Output file browse button
Click to browse for a target file.
- Clone mode radiobuttons
Select 'No cloning', 'Basic cloning', or 'Advanced cloning'.
- Enable fill checkbox
Tick to turn fill commands on (will overflow without clone mode).
- GO! button
Click to perform the translation.
- Quit button
Click to quit the program.
The program works with AGIv2 pictures, and will not work with encrypted or compressed v3 pictures.
Further Information/Programs
To extract AGI pictures: http://www.nailhead.org/agistudio/
The AGI picture format: http://members.ozemail.com.au/~ptrkelly/agi/specs/picture/5-1.html
To view SCI pictures: http://www.bripro.com/scistudio/download.html
The SCI picture format: http://freesci.linuxgames.com/scihtml/x1748.html
The Python interpreter and language: http://www.python.org
Known Issues
- Some lines don't connect properly when not using cloning. The problem is SCI uses a slightly different line-drawing algorithm to AGI, so where AGI lines connect properly, some SCI ones won't.
Workaround: Try advanced cloning mode. If that doesn't work, use an SCI picture editor (such as is part of SCI Studio), step through the file one instruction at a time, looking for fills that overflow, and draw small lines to close the gaps.
- Some pictures using cloning don't load in either SCI Studio or the Sierra interpreter (SCIV.EXE). It is unknown at this stage whether the same pictures will load properly in other interpreters.
Workaround: Try using only basic cloning or no cloning in these cases.
Bug Reporting
To report a bug, please email me at mokalus@yahoo.com.au, with the following format:
Name:
Date:
Program version:
Command line used:
Description of error:
Error message (if any):