commit
ad86bc2a30
418 changed files with 34837 additions and 0 deletions
@ -0,0 +1,99 @@
|
||||
QT AGI Studio, release 1.3.0 |
||||
|
||||
About |
||||
===== |
||||
|
||||
AGI (Adventure Game Interpreter) is the adventure game engine used by |
||||
Sierra On-Line(tm) to create some of their early games. QT AGI Studio |
||||
(formerly known as Linux AGI Studio) is a program which allows you to |
||||
view, create and edit AGI games. Basically, it is an enhanced port of |
||||
the Windows AGI Studio developed by Peter Kelly. |
||||
|
||||
The program contains very little platform specific code so brave ones |
||||
are encouraged to try it on other operating systems that have QT |
||||
library support. |
||||
|
||||
|
||||
Availability |
||||
============ |
||||
|
||||
QT AGI Studio is available at http://agistudio.sourceforge.net/ |
||||
The project is licensed under the GPL, GNU General Public License. |
||||
See COPYING for details. |
||||
|
||||
|
||||
System requirements |
||||
=================== |
||||
|
||||
Linux: GNU make, g++, X Window System, QT library |
||||
|
||||
The program is now being developed with QT version 4 |
||||
|
||||
NAGI, Sarien or ScummVM AGI interpreter is recommended to run games. |
||||
Sarien is available at http://sarien.sourceforge.net/ |
||||
and NAGI at http://www.agidev.com/nagi.html |
||||
Sarien is more focused on portability and NAGI on compatibility |
||||
with Sierra's original AGI interpreter. Both are free. |
||||
ScummVM is actively developed, but does not integrate well |
||||
with QT AGI studio. |
||||
|
||||
WINDOWS NOTE: the code hasn't been tested on Windows lately. |
||||
If you are interested, please go ahead, make a working |
||||
Visual Studio project and send a patch! |
||||
|
||||
|
||||
Building |
||||
======== |
||||
|
||||
Run "make" in the src subdirectory. If the supplied Makefile doesn't work, |
||||
you can either fix it or use tmake to generate a makefile for your platform: |
||||
|
||||
qmake agistudio.pro -o Makefile |
||||
|
||||
If you don't have tmake, you can download it at http://www.trolltech.com |
||||
|
||||
Make assumes that QT4 is installed and working (in particular, the QTDIR |
||||
environment variable is properly set) |
||||
|
||||
|
||||
Installation and setup |
||||
====================== |
||||
|
||||
The binary is called agistudio and will be built in the src subdirectory; you |
||||
can copy it to any path convenient to use (e.g. /usr/local/bin). In order to |
||||
use the help and an example game template, copy them to any convenient place |
||||
and specify the appropriate paths in the "Settings" menu when you'll run |
||||
agistudio. |
||||
|
||||
AGI studio has its own help viewer, but you can also view the help with |
||||
any HTML browser. |
||||
|
||||
If agistudio complains that it can't load qt shared library, then set the |
||||
LD_LIBRARY_PATH environment variable to the path which contains libqt.so.*. |
||||
|
||||
Using |
||||
===== |
||||
|
||||
Please read the online help. Note that if you want to use existing games' |
||||
files, all the filenames must be in lower case. |
||||
|
||||
|
||||
Credits |
||||
======= |
||||
|
||||
* Helen Zommer <helen@cc.huji.ac.il> - primary development |
||||
* Jarno Elonen <elonen@iki.fi> - bitmap import, current maintainer |
||||
|
||||
* Nat Budin <natb@brandeis.edu> - Win32 port |
||||
* Claudio Matsuoka <claudio@helllabs.org> - sound support |
||||
* Peter Kelly <pmk@post.com> - the original Windows version |
||||
* Lance Ewing <lance.e@ihug.co.nz> - the original (DOS) Picedit |
||||
|
||||
|
||||
Feedback |
||||
======== |
||||
|
||||
Please visit project website at http://agistudio.sourceforge.net/ to |
||||
submit bug reports, comments, suggestions, etc. |
||||
|
||||
Hope you'll have as much fun using it as we've had developing it :-) |
@ -0,0 +1,34 @@
|
||||
.\" Hey, EMACS: -*- nroff -*- |
||||
.TH AGISTUDIO 1 "August 25, 2012" "agistudio" "QT AGI Studio 1.3.0" |
||||
.SH NAME |
||||
QT AGI Studio \- an AGI adventure game development environment |
||||
.SH SYNOPSIS |
||||
.B agistudio |
||||
.RI [ options ] |
||||
.br |
||||
.SH DESCRIPTION |
||||
AGI (Adventure Game Interpreter) is the adventure game engine used by |
||||
Sierra On-Line(tm) to create some of their early games. \fBQT AGI Studio\fP |
||||
is a program that allows you to view, create and edit AGI games with |
||||
a friendly GUI. |
||||
.PP |
||||
.nf |
||||
The user interface is documented in HTML format, see |
||||
.fi |
||||
.nh |
||||
.IR /usr/share/agistudio/help |
||||
.hy |
||||
.SH OPTIONS |
||||
.TP |
||||
.B \-help |
||||
.br |
||||
Show of options. |
||||
.TP |
||||
.B \-dir GAMEDIR |
||||
.br |
||||
Open an existing game in GAMEDIR. |
||||
.SH SEE ALSO |
||||
.BR nagi(6),sarien(6),scummvm(6) |
||||
.IR |
||||
.SH AUTHOR |
||||
(C) 2003-2012 by Jarno Elonen <elonen@iki.fi> |
@ -0,0 +1,19 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>About AGI</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>About AGI</h1> |
||||
AGI (Adventure Game Interpreter) is the adventure game engine used by Sierra On-Line(tm) to create some of their early games. With the release of King's Quest 1 in the early 80's, it introduced the |
||||
gaming world to the concept of a 3D graphical adventure game, where the player could move a character around the screen, behind, in front of and over objects. Other commands could be typed in, just |
||||
like a text adventure. A number of other games that used AGI were subsequently released, such as Space Quest 1 & 2, Police Quest 1 and Leisure Suit Larry 1 to name a few. |
||||
<p> |
||||
The graphics were rather blocky, using a 160x200 resolution, which I believe is because of the graphics mode used by the IBM PCjr, for which the interpreter was originally written. AGI used the |
||||
internal speaker for sound on PCs, but on pretty much every other system (Mac, Amiga, Tandy, PCjr) it was capable of doing 3 voices. |
||||
<p> |
||||
<img src="kq3.png" alt = "" ><p> |
||||
A screenshot from Kings Quest 3<p> |
||||
Since late 1996 a number of people around the world have been working together to figure out the data formats used by AGI, with the intention of being able to view and edit the data. It has taken a |
||||
while, but we are now at the point where we can do this, and even create our own adventure games using the system. |
||||
<p> |
||||
<a href="index.html">Back to contents</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,47 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>About QT AGI Studio</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>About QT AGI Studio</h1> |
||||
AGI Studio is a program which allows you to view, create and edit AGI games. |
||||
Its goal is to provide a friendly, easy to use interface to work with AGI games in a powerful, integrated environment. |
||||
<p> |
||||
Its features include:<p> |
||||
<ul> |
||||
<li>Viewing of view and picture resources |
||||
<li>Editing of view and picture resources and the WORDS.TOK and OBJECT files |
||||
<li>Listening to sound resources |
||||
<li>Compiling and decompiling of logic resources |
||||
<li>Adding, deleting, extracting and renumbering of resources |
||||
<li>Rebuilding of VOL files |
||||
</ul> |
||||
<p> |
||||
QT AGI studio is an enhanced port of the Windows AGI Studio v.1.31 developed by Peter Kelly. It is designed to closely resemble the original program, however some (hopefully non-critical) features are missing and some new features are added. |
||||
<p> |
||||
The picture editor is a port of the MSDOS Picedit developed by Lance Ewing. |
||||
<p> |
||||
The sound code was developed by Claudio Matsuoka. |
||||
<p> |
||||
QT AGI Studio is available from |
||||
<a href="http://agistudio.sourceforge.net/">http://agistudio.sourceforge.net/</a>. |
||||
<p> |
||||
Please submit bug reports, suggestions etc. to the support database. |
||||
<p> |
||||
Here is the <a href="todo.html">TODO list</a> for future development. |
||||
<p> |
||||
<hr> |
||||
This program is free software; you can redistribute it and/or modify it |
||||
under the terms of the <a href="gpl.txt">GNU General Public License</a>, version 2 or later, as published by the the Free Software Foundation. |
||||
<p> |
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
<p> |
||||
You should have received a copy of the GNU General Public License |
||||
along with this program; if not, write to the Free Software |
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
||||
<hr> |
||||
<p> |
||||
<a href="index.html">Back to contents</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,11 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>About this help</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>About this help</h1> |
||||
The QT AGI studio online help was converted from the original (Windows) AGI Studio online help. Therefore, "I" in this help almost everywhere refers to Peter Kelly - the author of the Windows AGI studio. |
||||
<p> |
||||
The name "AGI studio" refers to the QT AGI Studio. There are a few differences between the QT port and the native Windows version, the relevant help text has been changed, but there is no list of the differences. |
||||
<p> |
||||
<a href="index.html">Back to contents</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,16 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>accept.input</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>accept.input</h1> |
||||
<B>Category</B><p> |
||||
<a href="system_commands.html">System commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
accept.input();<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Allows the player to enter input, if they have been prevented from doing so. If the input prompt is hidden, it is displayed again (including any text that was on it).<p> |
||||
<B>See also</B><p> |
||||
<a href="prevent_input.html">prevent.input</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,20 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>add.to.pic</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>add.to.pic</h1> |
||||
<B>Category</B><p> |
||||
<a href="object_commands.html">Object/view commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
add.to.pic(VIEWNO,LOOPNO,CELNO,X,Y,PRI,MARGIN);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
This command allows you to add a view to the visual picture screen in memory. Cel CELNO of loop LOOPNO of view VIEWNO is drawn on the picture at X,Y with a priority of PRI. If MARGIN is 0, 1, 2 or 3, |
||||
the base line of the object (the bottom row of pixels of the cel) is given a priority of MARGIN. Since priority is taken into account, so you can use add.to.pic to add views behind other parts of the |
||||
picture. |
||||
<p> |
||||
Note that the view must be loaded before you use it with add.to.pic. This can be done with the <a href="load_view.html">load.view</a> command.<p> |
||||
<B>See also</B><p> |
||||
<a href="add_to_pic_v.html">add.to.pic.v</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,20 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>add.to.pic.v</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>add.to.pic.v</h1> |
||||
<B>Category</B><p> |
||||
<a href="object_commands.html">Object/view commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
add.to.pic.v(vVIEWNO,vLOOPNO,vCELNO,vX,vY,vPRI,vMARGIN);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
This command allows you to add a view to the visual picture screen in memory. Cel vCELNO of loop vLOOPNO of view vVIEWNO is drawn on the picture at vX,vY with a priority of vPRI. If vMARGIN is 0, 1, |
||||
2 or 3, the base line of the object (the bottom row of pixels of the cel) is given a priority of vMARGIN. Since priority is taken into account, so you can use add.to.pic.v to add views behind other |
||||
parts of the picture. |
||||
<p> |
||||
Note that the view must be loaded before you use it with add.to.pic.v. This can be done with the <a href="load_view.html">load.view</a> command.<p> |
||||
<B>See also</B><p> |
||||
<a href="add_to_pic.html">add.to.pic</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,11 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>Adding resources</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>Adding resources</h1> |
||||
To add a resource, select 'Add' from the 'Resource' menu. Select the file you want to add. Once a file is selected, you will be prompted for the |
||||
resource type and number (the program will attempt to determine this from the name of the file). |
||||
<p> |
||||
In version 3 games, resources added or saved to the game are not compressed.<p> |
||||
<a href="index.html">Back to contents</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,20 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>addn</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>addn</h1> |
||||
<B>Category</B><p> |
||||
<a href="math_commands.html">Mathematical commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
addn(vA,B);<p> |
||||
vA += B;<p> |
||||
vA = vA + B;<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
B is added to vA. Since a var can only be from 0-255, if the result is greater than 255, then the value wraps around, e.g. 250 + 10 would give 4.<p> |
||||
<p> |
||||
<B>See also</B><p> |
||||
<a href="addv.html">addv</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,19 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>addv</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>addv</h1> |
||||
<B>Category</B><p> |
||||
<a href="math_commands.html">Mathematical commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
addv(vA,vB);<p> |
||||
vA += vB;<p> |
||||
vA = vA + vB;<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
vB is added to vA. Since a var can only be from 0-255, if the result is greater than 255, then the value wraps around, e.g. 250 + 10 would give 4.<p> |
||||
<B>See also</B><p> |
||||
<a href="addn.html">addn</a><p> |
||||
</BODY></HTML> |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,17 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>allow.menu</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>allow.menu</h1> |
||||
<B>Category</B><p> |
||||
<a href="extra_commands.html">Extra commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
allow.menu(A);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
This command determines whether the menu is activated or not.<p> |
||||
If A = 0 then the menu is turned off.<br> |
||||
If A = 1 then the menu is turned on.<p> |
||||
<B>See also</B><p> |
||||
</BODY></HTML> |
@ -0,0 +1,17 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>animate.obj</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>animate.obj</h1> |
||||
<B>Category</B><p> |
||||
<a href="object_commands.html">Object/view commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
animate.obj(oA);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
This tells the interpreter to activate oA. You must do this before doing anything with the object.<p> |
||||
<B>See also</B><p> |
||||
<a href="unanimate_all.html">unanimate.all</a><p> |
||||
<a href="initializing_objects.html">Initializing objects</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,18 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>assignn</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>assignn</h1> |
||||
<B>Category</B><p> |
||||
<a href="math_commands.html">Mathematical commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
assignn(vA,B);<p> |
||||
vA = B;<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
The value of vA is set to B.<p> |
||||
<B>See also</B><p> |
||||
<a href="assignv.html">assignv</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,18 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>assignv</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>assignv</h1> |
||||
<B>Category</B><p> |
||||
<a href="math_commands.html">Mathematical commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
assignv(vA,vB);<p> |
||||
vA = vB;<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
The value of vA is set to the value of vB.<p> |
||||
<B>See also</B><p> |
||||
<a href="assignn.html">assignn</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,22 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>block</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>block</h1> |
||||
<B>Category</B><p> |
||||
<a href="object_commands.html">Object/view commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
block(X1,Y1,X2,Y2);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
This sets up an invisible rectangular block on the screen with top-left co-ordinates X1,Y1 and bottom-right co-ordinates X2,Y2. Objects are not allowed to cross the borders of this block (unless they |
||||
are told to ignore blocks). The block can be removed using the <a href="unblock.html">unblock</a> command. |
||||
<p> |
||||
Note: You can only have one block on the screen at a time. If a block already exists, and you use the block command again, the new block will be there but the old one will be gone.<p> |
||||
<B>See also</B><p> |
||||
<a href="unblock.html">unblock</a><p> |
||||
<a href="ignore_blocks.html">ignore.blocks</a><p> |
||||
<a href="observe_blocks.html">observe.blocks</a><p> |
||||
<a href="controlling_obstacles.html">Controlling obstacles</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,17 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>call</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>call</h1> |
||||
<B>Category</B><p> |
||||
<a href="control_commands.html">Control flow commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
call(A);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Logic A is executed once. If it is not already loaded into memory, it is loaded before being called and then unloaded again afterwards.<p> |
||||
<B>See also</B><p> |
||||
<a href="call_v.html">call.v</a><p> |
||||
<a href="load_logics.html">load.logics</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,17 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>call.v</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>call.v</h1> |
||||
<B>Category</B><p> |
||||
<a href="control_commands.html">Control flow commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
call.v(vA);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Logic vA is executed once. If it is not already loaded into memory, it is loaded before being called and then unloaded again afterwards.<p> |
||||
<B>See also</B><p> |
||||
<a href="call.html">call</a><p> |
||||
<a href="load_logics.html">load.logics</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,15 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>cancel.line</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>cancel.line</h1> |
||||
<B>Category</B><p> |
||||
<a href="system_commands.html">System commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
cancel.line();<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Clears any text that is on the input line.<p> |
||||
<B>See also</B><p> |
||||
</BODY></HTML> |
@ -0,0 +1,19 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>center.posn</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>center.posn</h1> |
||||
<B>Category</B><p> |
||||
<a href="test_commands.html">Test commands</a> / <a href="object_commands.html">Object/view commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
if (center.posn(oA,X1,Y1,X2,Y2)) { .....<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Returns true if the co-ordinates of the bottom-middle pixel of object oA are within the region (X1,Y1,X2,Y2).<p> |
||||
<B>See also</B><p> |
||||
<a href="posn.html">posn</a><p> |
||||
<a href="right_posn.html">right.posn</a><p> |
||||
<a href="obj_in_box.html">obj.in.box</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,16 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>clear.lines</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>clear.lines</h1> |
||||
<B>Category</B><p> |
||||
<a href="display_commands.html">Display commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
clear.lines(TOP,BOTTOM,COLOUR);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Clears the lines from TOP to BOTTOM with the colour COLOUR. I have found that it will only use black (if COLOUR is 0) or white (if COLOUR is greater than 0).<p> |
||||
<B>See also</B><p> |
||||
<a href="clear_text_rect.html">clear.text.rect</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,18 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>clear.text.rect</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>clear.text.rect</h1> |
||||
<B>Category</B><p> |
||||
<a href="display_commands.html">Display commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
clear.text.rect(Y1,X1,Y2,X2,COLOUR);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Clears the text rectangle with a top-left corner of X1,Y1 and a bottom-right corner of X2,Y2 with the colour COLOUR. I have found that it will only use black (if COLOUR is 0) or white (if COLOUR is |
||||
greater than 0). |
||||
<p> |
||||
<B>See also</B><p> |
||||
<a href="clear_lines.html">clear.lines</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,18 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>close.dialogue</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>close.dialogue</h1> |
||||
<B>Category</B><p> |
||||
<a href="display_commands.html">Display commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
close.dialogue();<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
This command supposedly disables the <a href="get_string.html">get.string</a> and <a href="get_num.html">get.num</a> commands when the <a href="prevent_input.html">prevent.input</a> command has been used, but it does not seem to do this so I am |
||||
not sure what the command actually does. |
||||
<p> |
||||
<B>See also</B><p> |
||||
<a href="open_dialogue.html">open.dialogue</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,19 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>close.window</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>close.window</h1> |
||||
<B>Category</B><p> |
||||
<a href="display_commands.html">Display commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
close.window();<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
If a window is left on the screen from a <a href="print.html">print</a> command, it is removed.<p> |
||||
<B>See also</B><p> |
||||
<a href="print.html">print</a><p> |
||||
<a href="print_v.html">print.v</a><p> |
||||
<a href="print_at.html">print.at</a><p> |
||||
<a href="print_at_v.html">print.at.v</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,20 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>Commands by category</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>Commands by category</h1> |
||||
<a href="test_commands.html">Test commands</a><p> |
||||
<a href="math_commands.html">Mathematical commands</a><p> |
||||
<a href="flag_commands.html">Flag commads</a><p> |
||||
<a href="control_commands.html">Control flow commands</a><p> |
||||
<a href="picture_commands.html">Picture commands</a><p> |
||||
<a href="debug_commands.html">Debugging commands</a><p> |
||||
<a href="object_commands.html">Object/view commands</a><p> |
||||
<a href="inventory_commands.html">Inventory item commands</a><p> |
||||
<a href="sound_commands.html">Sound commands</a><p> |
||||
<a href="display_commands.html">Display commands</a><p> |
||||
<a href="menu_commands.html">Menu/Key commands</a><p> |
||||
<a href="system_commands.html">System commands</a><p> |
||||
<a href="string_commands.html">String commands</a><p> |
||||
<a href="extra_commands.html">Extra commands</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,213 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>Commands by name</TITLE></HEAD> |
||||
<BODY> |
||||
|
||||
<h1>Commands by name</h1> |
||||
|
||||
<B>Test commands</B><p> |
||||
|
||||
<a href="equaln.html">equaln</a><p> |
||||
<a href="equalv.html">equalv</a><p> |
||||
<a href="lessn.html">lessn</a><p> |
||||
<a href="lessv.html">lessv</a><p> |
||||
<a href="greatern.html">greatern</a><p> |
||||
<a href="greaterv.html">greaterv</a><p> |
||||
<a href="isset.html">isset</a><p> |
||||
<a href="issetv.html">issetv</a><p> |
||||
<a href="has.html">has</a><p> |
||||
<a href="obj_in_room.html">obj.in.room</a><p> |
||||
<a href="posn.html">posn</a><p> |
||||
<a href="controller.html">controller</a><p> |
||||
<a href="have_key.html">have.key</a><p> |
||||
<a href="said.html">said</a><p> |
||||
<a href="compare_strings.html">compare.strings</a><p> |
||||
<a href="obj_in_box.html">obj.in.box</a><p> |
||||
<a href="center_posn.html">center.posn</a><p> |
||||
<a href="right_posn.html">right.posn</a><p> |
||||
|
||||
<B>Action commands</B><p> |
||||
|
||||
<a href="accept_input.html">accept.input</a><p> |
||||
<a href="add_to_pic_v.html">add.to.pic.v</a><p> |
||||
<a href="add_to_pic.html">add.to.pic</a><p> |
||||
<a href="addn.html">addn</a><p> |
||||
<a href="addv.html">addv</a><p> |
||||
<a href="allow_menu.html">allow.menu</a><p> |
||||
<a href="animate_obj.html">animate.obj</a><p> |
||||
<a href="assignn.html">assignn</a><p> |
||||
<a href="assignv.html">assignv</a><p> |
||||
<a href="block.html">block</a><p> |
||||
<a href="call_v.html">call.v</a><p> |
||||
<a href="call.html">call</a><p> |
||||
<a href="cancel_line.html">cancel.line</a><p> |
||||
<a href="clear_lines.html">clear.lines</a><p> |
||||
<a href="clear_text_rect.html">clear.text.rect</a><p> |
||||
<a href="close_dialogue.html">close.dialogue</a><p> |
||||
<a href="close_window.html">close.window</a><p> |
||||
<a href="configure_screen.html">configure.screen</a><p> |
||||
<a href="current_cel.html">current.cel</a><p> |
||||
<a href="current_loop.html">current.loop</a><p> |
||||
<a href="current_view.html">current.view</a><p> |
||||
<a href="cycle_time.html">cycle.time</a><p> |
||||
<a href="decrement.html">decrement</a><p> |
||||
<a href="disable_item.html">disable.item</a><p> |
||||
<a href="discard_pic.html">discard.pic</a><p> |
||||
<a href="discard_sound.html">discard.sound</a><p> |
||||
<a href="discard_view_v.html">discard.view.v</a><p> |
||||
<a href="discard_view.html">discard.view</a><p> |
||||
<a href="display_v.html">display.v</a><p> |
||||
<a href="display.html">display</a><p> |
||||
<a href="distance.html">distance</a><p> |
||||
<a href="div_n.html">div.n</a><p> |
||||
<a href="div_v.html">div.v</a><p> |
||||
<a href="draw_pic.html">draw.pic</a><p> |
||||
<a href="draw.html">draw</a><p> |
||||
<a href="drop.html">drop</a><p> |
||||
<a href="echo_line.html">echo.line</a><p> |
||||
<a href="enable_item.html">enable.item</a><p> |
||||
<a href="end_of_loop.html">end.of.loop</a><p> |
||||
<a href="erase.html">erase</a><p> |
||||
<a href="fence_mouse.html">fence.mouse</a><p> |
||||
<a href="fix_loop.html">fix.loop</a><p> |
||||
<a href="follow_ego.html">follow.ego</a><p> |
||||
<a href="force_update.html">force.update</a><p> |
||||
<a href="get_dir.html">get.dir</a><p> |
||||
<a href="get_num.html">get.num</a><p> |
||||
<a href="get_posn.html">get.posn</a><p> |
||||
<a href="get_priority.html">get.priority</a><p> |
||||
<a href="get_room_v.html">get.room.v</a><p> |
||||
<a href="get_string.html">get.string</a><p> |
||||
<a href="get_v.html">get.v</a><p> |
||||
<a href="get.html">get</a><p> |
||||
<a href="graphics.html">graphics</a><p> |
||||
<a href="hide_mouse.html">hide.mouse</a><p> |
||||
<a href="hold_key.html">hold.key</a><p> |
||||
<a href="ignore_blocks.html">ignore.blocks</a><p> |
||||
<a href="ignore_horizon.html">ignore.horizon</a><p> |
||||
<a href="ignore_objs.html">ignore.objs</a><p> |
||||
<a href="increment.html">increment</a><p> |
||||
<a href="init_disk.html">init.disk</a><p> |
||||
<a href="init_joy.html">init.joy</a><p> |
||||
<a href="last_cel.html">last.cel</a><p> |
||||
<a href="lindirectn.html">lindirectn</a><p> |
||||
<a href="lindirectv.html">lindirectv</a><p> |
||||
<a href="load_logics_v.html">load.logics.v</a><p> |
||||
<a href="load_logics.html">load.logics</a><p> |
||||
<a href="load_pic.html">load.pic</a><p> |
||||
<a href="load_sound.html">load.sound</a><p> |
||||
<a href="load_view_v.html">load.view.v</a><p> |
||||
<a href="load_view.html">load.view</a><p> |
||||
<a href="log.html">log</a><p> |
||||
<a href="menu_input.html">menu.input</a><p> |
||||
<a href="mouse_posn.html">mouse.posn</a><p> |
||||
<a href="move_obj_v.html">move.obj.v</a><p> |
||||
<a href="move_obj.html">move.obj</a><p> |
||||
<a href="mul_n.html">mul.n</a><p> |
||||
<a href="mul_v.html">mul.v</a><p> |
||||
<a href="new_room_v.html">new.room.v</a><p> |
||||
<a href="new_room.html">new.room</a><p> |
||||
<a href="normal_cycle.html">normal.cycle</a><p> |
||||
<a href="normal_motion.html">normal.motion</a><p> |
||||
<a href="number_of_loops.html">number.of.loops</a><p> |
||||
<a href="obj_status_v.html">obj.status.v</a><p> |
||||
<a href="object_on_anything.html">object.on.anything</a><p> |
||||
<a href="object_on_land.html">object.on.land</a><p> |
||||
<a href="object_on_water.html">object.on.water</a><p> |
||||
<a href="observe_blocks.html">observe.blocks</a><p> |
||||
<a href="observe_horizon.html">observe.horizon</a><p> |
||||
<a href="observe_objs.html">observe.objs</a><p> |
||||
<a href="open_dialogue.html">open.dialogue</a><p> |
||||
<a href="overlay_pic.html">overlay.pic</a><p> |
||||
<a href="parse.html">parse</a><p> |
||||
<a href="pause.html">pause</a><p> |
||||
<a href="player_control.html">player.control</a><p> |
||||
<a href="pop_script.html">pop.scrip</a><p> |
||||
<a href="position_v.html">position.v</a><p> |
||||
<a href="position.html">position</a><p> |
||||
<a href="prevent_input.html">prevent.input</a><p> |
||||
<a href="print_at_v.html">print.at.v</a><p> |
||||
<a href="print_at.html">print.at</a><p> |
||||
<a href="print_v.html">print.v</a><p> |
||||
<a href="print.html">print</a><p> |
||||
<a href="program_control.html">program.control</a><p> |
||||
<a href="push_script.html">push.script</a><p> |
||||
<a href="put_v.html">put.v</a><p> |
||||
<a href="put.html">put</a><p> |
||||
<a href="quit.html">quit</a><p> |
||||
<a href="random.html">random</a><p> |
||||
<a href="release_key.html">release.key</a><p> |
||||
<a href="release_loop.html">release.loop</a><p> |
||||
<a href="release_priority.html">release.priority</a><p> |
||||
<a href="reposition_to_v.html">reposition.to.v</a><p> |
||||
<a href="reposition_to.html">reposition.to</a><p> |
||||
<a href="reposition.html">reposition</a><p> |
||||
<a href="reset_scan_start.html">reset.scan.start</a><p> |
||||
<a href="reset_v.html">reset.v</a><p> |
||||
<a href="reset.html">reset</a><p> |
||||
<a href="restart_game.html">restart.game</a><p> |
||||
<a href="restore_game.html">restore.game</a><p> |
||||
<a href="return.html">return</a><p> |
||||
<a href="reverse_cycle.html">reverse.cycle</a><p> |
||||
<a href="reverse_loop.html">reverse.loop</a><p> |
||||
<a href="rindirect.html">rindirect</a><p> |
||||
<a href="save_game.html">save.game</a><p> |
||||
<a href="script_size.html">script.size</a><p> |
||||
<a href="set_cel_v.html">set.cel.v</a><p> |
||||
<a href="set_cel.html">set.cel</a><p> |
||||
<a href="set_cursor_char.html">set.cursor.char</a><p> |
||||
<a href="set_dir.html">set.dir</a><p> |
||||
<a href="set_game_id.html">set.game.id</a><p> |
||||
<a href="set_horizon.html">set.horizon</a><p> |
||||
<a href="set_key.html">set.key</a><p> |
||||
<a href="set_loop_v.html">set.loop.v</a><p> |
||||
<a href="set_loop.html">set.loop</a><p> |
||||
<a href="set_menu_item.html">set.menu.item</a><p> |
||||
<a href="set_menu.html">set.menu</a><p> |
||||
<a href="set_pri_base.html">set.pri.base</a><p> |
||||
<a href="set_priority_v.html">set.priority.v</a><p> |
||||
<a href="set_priority.html">set.priority</a><p> |
||||
<a href="set_scan_start.html">set.scan.start</a><p> |
||||
<a href="set_simple.html">set.simple</a><p> |
||||
<a href="set_string.html">set.string</a><p> |
||||
<a href="set_text_attribute.html">set.text.attribute</a><p> |
||||
<a href="set_upper_left.html">set.upper.left</a><p> |
||||
<a href="set_view_v.html">set.view.v</a><p> |
||||
<a href="set_view.html">set.view</a><p> |
||||
<a href="set_v.html">set.v</a><p> |
||||
<a href="set.html">set</a><p> |
||||
<a href="shake_screen.html">shake.screen</a><p> |
||||
<a href="show_mem.html">show.mem</a><p> |
||||
<a href="show_mouse.html">show.mouse</a><p> |
||||
<a href="show_obj_v.html">show.obj.v</a><p> |
||||
<a href="show_obj.html">show.obj</a><p> |
||||
<a href="show_pic.html">show.pic</a><p> |
||||
<a href="show_pri_screen.html">show.pri.screen</a><p> |
||||
<a href="sound.html">sound</a><p> |
||||
<a href="start_cycling.html">start.cycling</a><p> |
||||
<a href="start_motion.html">start.motion</a><p> |
||||
<a href="start_update.html">start.update</a><p> |
||||
<a href="status_line_off.html">status.line.off</a><p> |
||||
<a href="status_line_on.html">status.line.on</a><p> |
||||
<a href="status.html">status</a><p> |
||||
<a href="step_size.html">step.size</a><p> |
||||
<a href="step_time.html">step.time</a><p> |
||||
<a href="stop_cycling.html">stop.cycling</a><p> |
||||
<a href="stop_motion.html">stop.motion</a><p> |
||||
<a href="stop_sound.html">stop.sound</a><p> |
||||
<a href="stop_update.html">stop.update</a><p> |
||||
<a href="submit_menu.html">submit.menu</a><p> |
||||
<a href="subn.html">subn</a><p> |
||||
<a href="subv.html">subv</a><p> |
||||
<a href="text_screen.html">text.screen</a><p> |
||||
<a href="toggle_monitor.html">toggle.monitor</a><p> |
||||
<a href="toggle_v.html">toggle.v</a><p> |
||||
<a href="toggle.html">toggle</a><p> |
||||
<a href="trace_info.html">trace.info</a><p> |
||||
<a href="trace_on.html">trace.on</a><p> |
||||
<a href="unanimate_all.html">unanimate.all</a><p> |
||||
<a href="unblock.html">unblock</a><p> |
||||
<a href="version.html">version</a><p> |
||||
<a href="wander.html">wander</a><p> |
||||
<a href="word_to_string.html">word.to.string</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,16 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>compare.strings</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>compare.strings</h1> |
||||
<B>Category</B><p> |
||||
<a href="test_commands.html">Test commands</a> / <a href="string_commands.html">String commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
if (compare.strings(s1,s2)) { .....<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Compares strings s1 and s2 and returns true if they are the same. The comparison is not case-sensitive, and some characters such as space and exclamation marks are ignored.<p> |
||||
<B>See also</B><p> |
||||
</BODY></HTML> |
@ -0,0 +1,23 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>configure.screen</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>configure.screen</h1> |
||||
<B>Category</B><p> |
||||
<a href="display_commands.html">Display commands</a><p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
configure.screen(PLAYTOP,INPUTLINE,STATUSLINE);<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Sets the location of certain items on screen:<p> |
||||
PLAYTOP is the top line of the playing area. This is normally set to 1. It should always be set to something between 0 and 3, since the playing area is 168 pixels high (21 lines) and should not go |
||||
off the screen. |
||||
<p> |
||||
INPUTLINE is the line on which the player is prompted for input. This is normally set to 22.<p> |
||||
STATUSLINE is the line on which the current score and sound on/off status are displayed. This is normally set to 0.<p> |
||||
Note that the menu always appears on line 0.<p> |
||||
<B>See also</B><p> |
||||
<a href="status_line_on.html">status.line.on</a><p> |
||||
<a href="status_line_off.html">status.line.off</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,15 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>Control flow commands</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>Control flow commands</h1> |
||||
<a href="call_v.html">call.v</a><p> |
||||
<a href="call.html">call</a><p> |
||||
<a href="load_logics_v.html">load.logics.v</a><p> |
||||
<a href="load_logics.html">load.logics</a><p> |
||||
<a href="new_room_v.html">new.room.v</a><p> |
||||
<a href="new_room.html">new.room</a><p> |
||||
<a href="reset_scan_start.html">reset.scan.start</a><p> |
||||
<a href="return.html">return</a><p> |
||||
<a href="set_scan_start.html">set.scan.start</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,17 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>controller</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>controller</h1> |
||||
<B>Category</B><p> |
||||
<a href="test_commands.html">Test commands</a> / <a href="menu_commands.html">Menu/Key commands</a><p> |
||||
<p> |
||||
<B>Syntax</B><p> |
||||
<p> |
||||
if (controller(cA)) { .....<p> |
||||
<B>Description</B><p> |
||||
<p> |
||||
Returns true if the menu item or key assigned to controller cA has been selected or pressed during the current cycle.<p> |
||||
<B>See also</B><p> |
||||
<a href="setting_up_menus_and_keys.html">Setting up menus and keys</a><p> |
||||
</BODY></HTML> |
@ -0,0 +1,63 @@
|
||||
<HTML> |
||||
<HEAD> |
||||
<TITLE>Controlling obstacles</TITLE></HEAD> |
||||
<BODY> |
||||
<h1>Controlling obstacles</h1> |
||||
There are five main ways an object's movement around the screen can be limited:<p> |
||||
<ul> |
||||
<li>Control lines on the priority screen |
||||
<li>Blocks |
||||
<li>Land/water |
||||
<li>The horizon |
||||
<li>Other objects |
||||
</ul> |
||||
<p> |
||||
For any of these, no part of the object's baseline (the bottom row of pixels of the object) can be on a part of the screen the object is not allowed on.<p |