diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/audio.texi | 98 | ||||
-rw-r--r-- | doc/graphics.texi | 23 | ||||
-rw-r--r-- | doc/graphics/animation.texi | 84 | ||||
-rw-r--r-- | doc/graphics/color.texi | 64 | ||||
-rw-r--r-- | doc/graphics/font.texi | 70 | ||||
-rw-r--r-- | doc/graphics/sprite.texi | 121 | ||||
-rw-r--r-- | doc/graphics/texture.texi | 65 | ||||
-rw-r--r-- | doc/graphics/tileset.texi | 41 | ||||
-rw-r--r-- | doc/math.texi | 17 | ||||
-rw-r--r-- | doc/scripting.texi | 21 |
10 files changed, 0 insertions, 604 deletions
diff --git a/doc/audio.texi b/doc/audio.texi deleted file mode 100644 index 20d3085..0000000 --- a/doc/audio.texi +++ /dev/null @@ -1,98 +0,0 @@ -@node Audio -@chapter Audio - -Sly provides a simple wrapper over SDL's mixer API for working -with music and sound effects. - -@menu -* Music:: -* Samples:: -@end menu - -@node Music -@section Music - -Music objects are used for a game's background music. Only one music -object is playing at any given time. - -@anchor{2d audio make-music}@defspec make-music -@end defspec - -@anchor{2d audio load-music}@defun load-music filename -Load music from FILENAME. Return #f on failure. - -@end defun - -@anchor{2d audio music?}@defspec music? -@end defspec - -@anchor{2d audio music-audio}@defspec music-audio -@end defspec - -@anchor{2d audio music-pause}@defun music-pause -@end defun - -@anchor{2d audio music-paused?}@defun music-paused? -@end defun - -@anchor{2d audio music-play}@defun music-play music -Play MUSIC. - -@end defun - -@anchor{2d audio music-playing?}@defun music-playing? -@end defun - -@anchor{2d audio music-resume}@defun music-resume -@end defun - -@anchor{2d audio music-rewind}@defun music-rewind -@end defun - -@anchor{2d audio music-stop}@defun music-stop -@end defun - -@anchor{2d audio music-volume}@defun music-volume -Return the volume that music is played at. - -@end defun - -@node Samples -@section Samples - -Samples are short audio clips, typically sound effects. Many samples -can be played at the same time. - -@anchor{2d audio make-sample}@defspec make-sample -@end defspec - -@anchor{2d audio load-sample}@defun load-sample filename -Load audio sample from FILENAME. Return #f on failure. - -@end defun - -@anchor{2d audio sample?}@defspec sample? -@end defspec - -@anchor{2d audio sample-audio}@defspec sample-audio -@end defspec - -@anchor{2d audio sample-play}@defun sample-play sample -Play audio SAMPLE. - -@end defun - -@anchor{2d audio sample-volume}@defun sample-volume -Return volume that samples are played at. - -@end defun - -@anchor{2d audio set-music-volume}@defun set-music-volume volume -Set the volume that music is played at. - -@end defun - -@anchor{2d audio set-sample-volume}@defun set-sample-volume volume -Set the volume that samples are played at to VOLUME. - -@end defun diff --git a/doc/graphics.texi b/doc/graphics.texi deleted file mode 100644 index 671754b..0000000 --- a/doc/graphics.texi +++ /dev/null @@ -1,23 +0,0 @@ -@node Graphics -@chapter Graphics - -Graphics are a fundamental part of most computer games. Sly makes -it easy to make sprite-based games by providing all of the necessary -primitives. Graphics are rendered via OpenGL to take advantage of -hardware acceleration. - -@menu -* Sprites:: -* Textures:: -* Animations:: -* Colors:: -* Tilesets:: -* Fonts:: -@end menu - -@include graphics/sprite.texi -@include graphics/texture.texi -@include graphics/animation.texi -@include graphics/color.texi -@include graphics/tileset.texi -@include graphics/font.texi diff --git a/doc/graphics/animation.texi b/doc/graphics/animation.texi deleted file mode 100644 index c872263..0000000 --- a/doc/graphics/animation.texi +++ /dev/null @@ -1,84 +0,0 @@ -@node Animations -@section Animations - -Animations are sequences of textures and/or texture regions. Common -uses for animations are to give the illusion that a character is -walking across the screen or swinging their sword at a -monster. Animator objects are used to control the playback of an -animation. - -@anchor{2d animation animation-frame-duration}@defspec animation-frame-duration -@end defspec - -@anchor{2d animation animation-frames}@defspec animation-frames -@end defspec - -@anchor{2d animation animation-loop?}@defspec animation-loop? -@end defspec - -@anchor{2d animation animation?}@defspec animation? -@end defspec - -@anchor{2d animation animator-animation}@defspec animator-animation -@end defspec - -@anchor{2d animation animator-frame}@defspec animator-frame -@end defspec - -@anchor{2d animation animator-playing?}@defspec animator-playing? -@end defspec - -@anchor{2d animation animator-time}@defspec animator-time -@end defspec - -@anchor{2d animation animator?}@defspec animator? -@end defspec - -@anchor{2d animation make-animation}@defspec make-animation -@end defspec - -@anchor{2d animation animation-duration}@defun animation-duration animation -Return the total duration of ANIMATION in ticks. - -@end defun - -@anchor{2d animation animation-frame}@defun animation-frame animation index -Return the texture for the given frame INDEX of ANIMATION. - -@end defun - -@anchor{2d animation animation-length}@defun animation-length animation -Return the number of frames in ANIMATION. - -@end defun - -@anchor{2d animation animator-frame-complete?}@defun animator-frame-complete? animator -Return #t when ANIMATOR is done displaying the current frame. - -@end defun - -@anchor{2d animation animator-next!}@defun animator-next! animator -Advance ANIMATOR to the next frame of its animation. - -@end defun - -@anchor{2d animation animator-next-frame}@defun animator-next-frame animator -Return the next frame index for ANIMATOR. - -@end defun - -@anchor{2d animation animator-texture}@defun animator-texture animator -Return a texture for the ANIMATOR's current frame. - -@end defun - -@anchor{2d animation animator-update!}@defun animator-update! animator -Increment the frame time for the ANIMATOR and advance to the next frame -when necessary. - -@end defun - -@anchor{2d animation make-animator}@defun make-animator animation -Create a new animator for ANIMATION. - -@end defun diff --git a/doc/graphics/color.texi b/doc/graphics/color.texi deleted file mode 100644 index 99e69ba..0000000 --- a/doc/graphics/color.texi +++ /dev/null @@ -1,64 +0,0 @@ -@node Colors -@section Colors - -Colors store RGBA data in OpenGL format. Each color channel has a -value in the range [0, 1]. - -@anchor{2d color make-color}@defspec make-color -@end defspec - -@anchor{2d color color?}@defspec color? -@end defspec - -@anchor{2d color color-r}@defspec color-r -@end defspec - -@anchor{2d color color-g}@defspec color-g -@end defspec - -@anchor{2d color color-b}@defspec color-b -@end defspec - -@anchor{2d color color-a}@defspec color-a -@end defspec - -@anchor{2d color use-color}@defun use-color color -Set the current OpenGL color state to the contents of COLOR. - -@end defun - -A lot of people are used to working with colors as hexadecimal values, -so the following procedures are provided to convert hexadecimal color -codes into color objects. - -@anchor{2d color rgba}@defun rgba color-code -Translate an RGBA format string COLOR-CODE into a color object. For -example: #xffffffff will return a color with RGBA values 1, 1, 1, 1. - -@end defun - -@anchor{2d color rgb}@defun rgb color-code -Translate an RGB format string COLOR-CODE into a color object. For -example: #xffffff will return a color with RGBA values 1, 1, 1, 1. - -@end defun - -Commonly used colors are predefined for convenience. - -@anchor{2d color white}@defvar white -@end defvar - -@anchor{2d color black}@defvar black -@end defvar - -@anchor{2d color red}@defvar red -@end defvar - -@anchor{2d color green}@defvar green -@end defvar - -@anchor{2d color blue}@defvar blue -@end defvar - -@anchor{2d color magenta}@defvar magenta -@end defvar diff --git a/doc/graphics/font.texi b/doc/graphics/font.texi deleted file mode 100644 index 150a74e..0000000 --- a/doc/graphics/font.texi +++ /dev/null @@ -1,70 +0,0 @@ -@node Fonts -@section Fonts - -Sly can render TTF fonts via the FTGL library. - -@anchor{2d font font-ftgl-font}@defspec font-ftgl-font -@end defspec - -@anchor{2d font font-size}@defspec font-size -@end defspec - -@anchor{2d font font?}@defspec font? -@end defspec - -@anchor{2d font make-font}@defspec make-font -@end defspec - -@anchor{2d font set-textbox-color!}@defspec set-textbox-color! -@end defspec - -@anchor{2d font set-textbox-position!}@defspec set-textbox-position! -@end defspec - -@anchor{2d font set-textbox-text!}@defspec set-textbox-text! -@end defspec - -@anchor{2d font textbox-alignment}@defspec textbox-alignment -@end defspec - -@anchor{2d font textbox-color}@defspec textbox-color -@end defspec - -@anchor{2d font textbox-font}@defspec textbox-font -@end defspec - -@anchor{2d font textbox-layout}@defspec textbox-layout -@end defspec - -@anchor{2d font textbox-line-length}@defspec textbox-line-length -@end defspec - -@anchor{2d font textbox-position}@defspec textbox-position -@end defspec - -@anchor{2d font textbox-text}@defspec textbox-text -@end defspec - -@anchor{2d font textbox?}@defspec textbox? -@end defspec - -@anchor{2d font draw-font}@defun draw-font font text -Renders the string text using the given font. - -@end defun - -@anchor{2d font draw-textbox}@defun draw-textbox textbox -Draw TEXTBOX. - -@end defun - -@anchor{2d font load-font}@defun load-font filename size -Load a font from FILENAME with the given SIZE in points. - -@end defun - -@anchor{2d font make-textbox}@defun make-textbox font text position color alignment line-length -Create a textbox that will draw TEXT with the given FONT, at vector -POSITION, with ALIGNMENT, and a maximum LINE-LENGTH. - -@end defun diff --git a/doc/graphics/sprite.texi b/doc/graphics/sprite.texi deleted file mode 100644 index 9b20e3f..0000000 --- a/doc/graphics/sprite.texi +++ /dev/null @@ -1,121 +0,0 @@ -@node Sprites -@section Sprites - -Sprites are typically the most important part of a 2D game. Sprites -represent a texture with a specific color, position, rotation and -scale. Sprites can render texture objects or animations. - -@anchor{2d sprite set-sprite-batch-size!}@defspec set-sprite-batch-size! -@end defspec - -@anchor{2d sprite set-sprite-batch-texture!}@defspec set-sprite-batch-texture! -@end defspec - -@anchor{2d sprite set-sprite-drawable!}@defspec set-sprite-drawable! -@end defspec - -@anchor{2d sprite set-sprite-vertices!}@defspec set-sprite-vertices! -@end defspec - -@anchor{2d sprite sprite-anchor}@defspec sprite-anchor -@end defspec - -@anchor{2d sprite sprite-batch-max-size}@defspec sprite-batch-max-size -@end defspec - -@anchor{2d sprite sprite-batch-size}@defspec sprite-batch-size -@end defspec - -@anchor{2d sprite sprite-batch-texture}@defspec sprite-batch-texture -@end defspec - -@anchor{2d sprite sprite-batch-vertices}@defspec sprite-batch-vertices -@end defspec - -@anchor{2d sprite sprite-batch?}@defspec sprite-batch? -@end defspec - -@anchor{2d sprite sprite-color}@defspec sprite-color -@end defspec - -@anchor{2d sprite sprite-drawable}@defspec sprite-drawable -@end defspec - -@anchor{2d sprite sprite-position}@defspec sprite-position -@end defspec - -@anchor{2d sprite sprite-rotation}@defspec sprite-rotation -@end defspec - -@anchor{2d sprite sprite-scale}@defspec sprite-scale -@end defspec - -@anchor{2d sprite sprite-vertices}@defspec sprite-vertices -@end defspec - -@anchor{2d sprite sprite?}@defspec sprite? -@end defspec - -@anchor{2d sprite with-sprite-batch}@defspec with-sprite-batch batch body ... -@end defspec - -@anchor{2d sprite animated-sprite?}@defun animated-sprite? sprite -Return #t if SPRITE has an animation as its drawable object. - -@end defun - -@anchor{2d sprite draw-sprite}@defun draw-sprite sprite -Render SPRITE to the screen. A sprite batch will be used if one is -currently bound. - -@end defun - -@anchor{2d sprite load-sprite}@defun load-sprite filename [#:position] [#:scale] [#:rotation] [#:color] [#:anchor] -Load a sprite from the file at FILENAME. See make-sprite for optional -keyword arguments. - -@end defun - -@anchor{2d sprite make-sprite}@defun make-sprite drawable [#:position] [#:scale] [#:rotation] [#:color] [#:anchor] -Create a new sprite object. DRAWABLE is either a texture or animation -object. All keyword arguments are optional. POSITION is a vector2 -object with a default of (0, 0). SCALE is a vector2 object that -describes how much DRAWABLE should be strected on the x and y axes, with -a default of 1x scale. ROTATION is an angle in degrees with a default -of 0. COLOR is a color object with a default of white. ANCHOR is -either a vector2 that represents the center point of the sprite, or -'center which will place the anchor at the center of DRAWABLE. Sprites -are centered by default. - -@end defun - -@anchor{2d sprite make-sprite-batch}@defun make-sprite-batch [max-size] -Creates a new sprite batch. The default max-size is 1000. - -@end defun - -@anchor{2d sprite set-sprite-anchor!}@defun set-sprite-anchor! sprite value -@end defun - -@anchor{2d sprite set-sprite-color!}@defun set-sprite-color! sprite value -@end defun - -@anchor{2d sprite set-sprite-position!}@defun set-sprite-position! sprite value -@end defun - -@anchor{2d sprite set-sprite-rotation!}@defun set-sprite-rotation! sprite value -@end defun - -@anchor{2d sprite set-sprite-scale!}@defun set-sprite-scale! sprite value -@end defun - -@anchor{2d sprite sprite-batch-draw}@defun sprite-batch-draw . args -Add a textured quad to the current sprite batch. X, Y, WIDTH, and -HEIGHT represent the quad in pixels. ORIGIN-X and ORIGIN-Y represent -the center point of the quad which is used for rotation. SCALE-X and -SCALE-Y are the scaling factors for the x and y axis, respectively. -ROTATION is the angle in degrees to rotate the quad. U, V, U2, and V2 -represent the texture coordinate region to texture the quad with. COLOR -is a color object. - -@end defun diff --git a/doc/graphics/texture.texi b/doc/graphics/texture.texi deleted file mode 100644 index b7da0f8..0000000 --- a/doc/graphics/texture.texi +++ /dev/null @@ -1,65 +0,0 @@ -@node Textures -@section Textures - -Textures are images loaded in graphics memory. Sly supports many -texture formats via the FreeImage library. A texture object can -describe a full image or a rectangular section of an image. - -@anchor{2d texture make-texture}@defun make-texture id parent width height s1 t1 s2 t2 -Create a new texture object. ID is the OpenGL texture id. PARENT is a -texture object (if this texture only represents a region of another -texture) or #f. WIDTH and HEIGHT are the texture dimensions in pixels. -S1, T1, S2, and T2 are the OpenGL texture coordinates representing the -area of the texture that will be rendered. - -@end defun - -@anchor{2d texture make-texture-region}@defun make-texture-region texture x y width height -Creates new texture region object. TEXTURE is the region's parent -texture. X, Y, WIDTH, and HEIGHT represent the region of the texture -that will be rendered, in pixels. - -@end defun - -@anchor{2d texture load-texture}@defun load-texture filename -Load a texture from an image file at FILENAME. - -@end defun - -@anchor{2d texture texture?}@defspec texture? -@end defspec - -@anchor{2d texture texture-region?}@defun texture-region? texture -Return #t if TEXTURE has a parent texture. - -@end defun - -@anchor{2d texture texture-id}@defspec texture-id -@end defspec - -@anchor{2d texture texture-width}@defspec texture-width -@end defspec - -@anchor{2d texture texture-height}@defspec texture-height -@end defspec - -@anchor{2d texture texture-s1}@defspec texture-s1 -@end defspec - -@anchor{2d texture texture-t1}@defspec texture-t1 -@end defspec - -@anchor{2d texture texture-s2}@defspec texture-s2 -@end defspec - -@anchor{2d texture texture-t2}@defspec texture-t2 -@end defspec - -@anchor{2d texture surface->texture}@defvar surface->texture -[unbound!] -@end defvar - -@anchor{2d texture draw-texture}@defun draw-texture texture x y [color] -Render a textured quad in GL immediate mode. - -@end defun diff --git a/doc/graphics/tileset.texi b/doc/graphics/tileset.texi deleted file mode 100644 index 96aab67..0000000 --- a/doc/graphics/tileset.texi +++ /dev/null @@ -1,41 +0,0 @@ -@node Tilesets -@section Tilesets - -In most 2D games, the game world is composed of many small, -rectangular pieces called tiles. In Sly, tilesets are used to -encapsulate a group of uniformly sized texture regions that come from -a single parent texture. - -@anchor{2d tileset make-tileset}@defun make-tileset texture width height [#:margin] [#:spacing] -Return a new tileset that is built by splitting TEXTURE into tiles. - -@end defun - -@anchor{2d tileset load-tileset}@defun load-tileset filename width height [#:margin] [#:spacing] -Return a new tileset that is built by loading the texture at FILENAME -and splitting the texture into tiles. - -@end defun - -@anchor{2d tileset tileset?}@defspec tileset? -@end defspec - -@anchor{2d tileset tileset-tiles}@defspec tileset-tiles -@end defspec - -@anchor{2d tileset tileset-width}@defspec tileset-width -@end defspec - -@anchor{2d tileset tileset-height}@defspec tileset-height -@end defspec - -@anchor{2d tileset tileset-margin}@defspec tileset-margin -@end defspec - -@anchor{2d tileset tileset-spacing}@defspec tileset-spacing -@end defspec - -@anchor{2d tileset tileset-ref}@defun tileset-ref tileset i -Return the tile texture of TILESET at index I. - -@end defun diff --git a/doc/math.texi b/doc/math.texi deleted file mode 100644 index 6e92cc0..0000000 --- a/doc/math.texi +++ /dev/null @@ -1,17 +0,0 @@ -@node Math -@chapter Math - -Games typically require a lot of linear algebra and trigonometry in -order to function. Sly provides modules to perform 2D vector -math, degree to/from radian conversions, and axis-aligned bounding box -collision tests. - -@menu -* Vectors:: -* Rectangles:: -* Miscellaneous:: -@end menu - -@include math/vector2.texi -@include math/rect.texi -@include math/math.texi diff --git a/doc/scripting.texi b/doc/scripting.texi deleted file mode 100644 index be748c5..0000000 --- a/doc/scripting.texi +++ /dev/null @@ -1,21 +0,0 @@ -@node Scripting -@chapter Scripting - -The ability to write scripts is very important for most games. Scripts -are short programs that modify game state. In an RPG, one might want -to write a script that causes an NPC to walk up to the player and -begin a conversation with them. Sly allows for easy, linear -script writing by using cooperative multitasking, also known as -coroutines. Agendas are used to schedule scripts to be run at distinct -points in game time, and actions provide an API to describe -transformations that happen over a period of game time. - -@menu -* Coroutines:: -* Agendas:: -* Actions:: -@end menu - -@include scripting/coroutine.texi -@include scripting/agenda.texi -@include scripting/actions.texi |