initial 1.3.0
commit
ad86bc2a30
@ -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>
|
||||
<B>Control lines on the priority screen</B><p>
|
||||
<p>
|
||||
On the priority screen, the first four colours (0-3) have special meaning. Colour 0 (black) is an unconditional barrier. No object is ever allowed to be on parts of the screen with a pixel of this
|
||||
colour in the priority screen.
|
||||
<p>
|
||||
Colour 1 (dark blue) is a conditional barrier. Objects are not normally allowed to be on a conditional barrier, unless the <a href="ignore_blocks.html">ignore.blocks</a> command is used to allow them to do so.<p>
|
||||
Colour 2 (dark green) is a signal barrier. This can be used to test if ego is walking into a certain place. Whenever ego is touching a signal barrier, flag 3 is set.<p>
|
||||
Colour 3(dark cyan) signifies water. This is explained shortly.<p>
|
||||
<B>Blocks</B><p>
|
||||
<p>
|
||||
You can set up an invisible rectangular block on the screen using the <a href="block.html">block</a> command. The interpreter will not allow objects to cross the borders of the block (unless they are told to ignore
|
||||
blocks). You can remove the block using the <a href="unblock.html">unblock</a> command. Objects can be told to ignore blocks using the <a href="ignore_blocks.html">ignore.blocks</a> command and be told to observe blocks by using
|
||||
the <a href="observe_blocks.html">objserve.blocks</a> command.
|
||||
<p>
|
||||
<B>Land/water</B><p>
|
||||
<p>
|
||||
Parts of the priority screen which are colour 3 (dark cyan) are considered to be "water". If you look at the priority screen of rooms that have lakes or rivers in them, you will usually see this. Parts
|
||||
of the priority screen which are not colour 3 are considered to be "land". You do not have to use colour 3 to represent water - it could also represent some other surface such as ice, lava, sand, a
|
||||
slippery floor, or whatever you need for that particular room.
|
||||
<p>
|
||||
Objects can be allowed only on water, only on land or on both. This is set be the <a href="object_on_water.html">object.on.water</a>, <a href="object_on_land.html">object.on.land</a> and <a href="object_on_anything.html">object.on.anything</a>
|
||||
commands.
|
||||
<p>
|
||||
Whenever ego's baseline is completely on water, flag 0 is set.<p>
|
||||
<B>The horizon</B><p>
|
||||
<p>
|
||||
The horizon is an invisible horizontal line, usually near the top of the screen. Its position is set using the <a href="set_horizon.html">set.horizon</a> command.<p>
|
||||
Normally, objects can not go above the horizon. This can be changed using the <a href="ignore_horizon.html">ignore.horizon</a> and <a href="observe_horizon.html">observe.horizon</a> commands.<p>
|
||||
<B>Other objects</B><p>
|
||||
<p>
|
||||
Objects are normally blocked by other objects on screen - that is, the baselines of objects are not allowed to touch each other. This can be changed, however, with the <a href="ignore_objs.html">ignore.objs</a> and
|
||||
<a href="observe_objs.html">observe.objs</a> commands.
|
||||
<p>
|
||||
<B>See also</B><p>
|
||||
<a href="block.html">block</a><p>
|
||||
<a href="unblock.html">unblock</a><p>
|
||||
<a href="ignore_blocks.html">ignore.blocks</a><p>
|
||||
<a href="observe_blocks.html">objserve.blocks</a><p>
|
||||
<a href="object_on_water.html">object.on.water</a><p>
|
||||
<a href="object_on_land.html">object.on.land</a><p>
|
||||
<a href="object_on_anything.html">object.on.anything</a><p>
|
||||
<a href="set_horizon.html">set.horizon</a><p>
|
||||
<a href="ignore_horizon.html">ignore.horizon</a><p>
|
||||
<a href="observe_horizon.html">observe.horizon</a><p>
|
||||
<a href="ignore_objs.html">ignore.objs</a><p>
|
||||
<a href="observe_objs.html">observe.objs</a><p>
|
||||
<a href="objects.html">Objects</a><p>
|
||||
</BODY></HTML>
|
@ -0,0 +1,23 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Creating new games</TITLE></HEAD>
|
||||
<BODY>
|
||||
<h1>Creating new games</h1>
|
||||
To create a new game, select "New" from the game menu. You can choose whether you want to create a completely "empty" game, or a game based on the template. Once you have done this, select the directory
|
||||
you want the game to be in (if this directory already contains an AGI game, the program will ask if you want to erase it).
|
||||
<p>
|
||||
The template game is a game with only one room, and all the menus, keys etc. already set up for you, along with names for most variables used and comments here and there. It is recommended you choose
|
||||
this option, as you can jump straight in and start programming your first room from here. For more information on the template game, see the readme.txt file in the template directory.
|
||||
<p>
|
||||
When you create a game, only the data files (and source code, if based on the template game) are placed in the directory you chose.
|
||||
There is no interpreter there. To run the game, you will need to install an AGI interpreter and specify the interpreter command line in the "Settings" menu. You don't have to install it in the same directory with your game - enough that it will be accessible by PATH, or just specify the full path in the "Settings". The interpreter must be version 2.915 or higher (but not version 3). You can usually find out the version number of an interpreter when
|
||||
you enter debug mode in a game.
|
||||
<p>
|
||||
See the <a href="files_used.html">files used by AGI</a> section to see what files you need to copy into the game directory. If you copy the files into the template directory, then whenever you create a new game from
|
||||
the template these will be copied also.
|
||||
<p>
|
||||
Note: If you are using a newly written AGI interpreter, then the version number will probably be different but new interpreters should
|
||||
support this format. The files you have to copy over will also be different.
|
||||
<p>
|
||||
<a href="index.html">Back to contents</a><p>
|
||||
</BODY></HTML>
|
@ -0,0 +1,19 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>current.cel</TITLE></HEAD>
|
||||
<BODY>
|
||||
<h1>current.cel</h1>
|
||||
<B>Category</B><p>
|
||||
<a href="object_commands.html">Object/view commands</a><p>
|
||||
<B>Syntax</B><p>
|
||||
<p>
|
||||
current.cel(oA,vB);<p>
|
||||
<B>Description</B><p>
|
||||
<p>
|
||||
vB is set to the number of the current cel of object oA.<p>
|
||||
<B>See also</B><p>
|
||||
<a href="last_cel.html">last.cel</a><p>
|
||||
<a href="set_cel.html">set.cel</a><p>
|
||||
<a href="set_cel_v.html">set.cel.v</a><p>
|
||||
<a href="current_loop.html">current.loop</a><p>
|
||||
</BODY></HTML>
|
@ -0,0 +1,19 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>current.loop</TITLE></HEAD>
|
||||
<BODY>
|
||||
<h1>current.loop</h1>
|
||||
<B>Category</B><p>
|
||||
<a href="object_commands.html">Object/view commands</a><p>
|
||||
<B>Syntax</B><p>
|
||||
<p>
|
||||
current.loop(oA,vB);<p>
|
||||
<B>Description</B><p>
|
||||
<p>
|
||||
vB is set to the number of the current loop of object oA.<p>
|
||||
<B>See also</B><p>
|
||||
<a href="number_of_loops.html">number.of.loops</a><p>
|
||||
<a href="set_loop.html">set.loop</a><p> |