home *** CD-ROM | disk | FTP | other *** search
-
- Amnesia - Version 1.10
- ======================
-
- Overview
- --------
-
- Amnesia is a module which is part of a set of modules designed to speed up
- the process of game writing. At the basic level it provides memory
- management for the programmer where blocks of memory can be allocated,
- extended and released. Amnesia also provides a structure for handling tables
- of objects. An explanation follows later in this document.
-
- The module may be used under the following conditions:
- ------------------------------------------------------
-
- (1) The module may be freely included in commercial or non-commercial
- software with no liability for royalty payments.
-
- (2) My copyright notice and contact address should not be removed from the
- module.
-
- (3) The module is supplied as is, and no liabilty can be accepted for damage
- or loss resulting from the use or misuse of the software.
-
- The Module
- ----------
-
- Amnesia supplies a set of memory allocation routines which should serve for
- most purposes. It also contains versatile object handling routines. As far
- as Amnesia is concerned an object is a small chunk of memory, usually 40
- bytes or so. An object is very general in Amnesia, but will usually have the
- following properties:
-
- • It will represent a sprite on the screen, be it a moving ball, a missile
- or bullet, the player, stars in the background, scrolling text etc.
-
- • The object will usually be plotted by the module FastSpr.
-
- • The object may perform a wide variety of actions. It may move about, be
- animated, perform an action after a certain time, produce other objects etc.
-
- • It may be collision checked with a number of other objects.
-
- A table is the space allocated for a number of objects. All objects in the
- table are the same length, but they need not have the same properties. For
- example, aliens and explosions could be in the same table.
-
- Collision checking
- ------------------
-
- The module will collision check objects as instructed by the user. It has a
- notion of the size of an object (which it will deduce from the sprite file if
- necessary) and will usually check if the bounding boxes (rectangles which
- completely enclose the relevant sprite) overlap. The objects are then
- pointed out to the user who can deal with them.
-
- Coordinates
- -----------
-
- The module uses the same coordinates as FastSpr, but shifted left 12 places
- (ie multiplied by 4096). FastSpr uses memory-like coordinates. The top left
- of the screen is (0,0), and the bottom right of a mode 13 screen would be
- (320,256). Therefore to Amnesia the bottom right of the screen is
- (320<<12,256<<12).
-
- Versatility
- -----------
-
- All properties of an object can be disabled by the user. The use of the
- first eight bytes of an object is fixed, but the rest is up to you. If the
- features listed above are enabled, the module expects the first few words of
- an object to be in a standard form.
-
- Support
- -------
-
- Enquiries, bug reports and requests for help should be sent by post to Andy
- Southgate, at 14 Madingley Road, Cambridge until 10/95, and thereafter to 5
- Longview, Sutton, Cambs.
-