Added new functions to documentation

This commit is contained in:
n00b87
2025-08-13 19:20:25 -05:00
parent 6ad655f40d
commit 4b2f517de4
152 changed files with 8947 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

View File

@@ -0,0 +1,673 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D API </h2></p>
<p>
This API is what allows developers to access objects created in the Nirvana2D editor inside RCBasic.
</p>
<p>
<h3><u>Nirvana Types</u></h3>
</p>
<p>
<b>Type Nirvana_Vector2D</b>
</p>
<ul>
<li>
Dim X
</li>
<li>
Dim Y
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Size2D</b>
</p>
<ul>
<li>
Dim Width
</li>
<li>
Dim Height
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Sprite</b>
</p>
<ul>
<li>
Dim Name$
</li>
<li>
Dim BaseName$
</li>
<li>
Dim Sprite_ID
</li>
<li>
Dim Animation_Name_Index
</li>
<li>
Dim Animation_Count
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_TileMap</b>
</p>
<ul>
<li>
Dim TilesetName$
</li>
<li>
Dim Tileset_ID
</li>
<li>
Dim TileMap_ID
</li>
<li>
Dim Mask_Index
</li>
<li>
Dim Mask_Count
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Background</b>
</p>
<ul>
<li>
Dim Image_ID
</li>
<li>
Dim RenderSetting
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Shape</b>
</p>
<ul>
<li>
Dim Sprite_ID
</li>
<li>
Dim ShapeType
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Layer</b>
</p>
<ul>
<li>
Dim Name$
</li>
<li>
Dim LayerType
</li>
<li>
Dim Visible
</li>
<li>
Dim Alpha
</li>
<li>
Dim Scroll_Speed As Nirvana_Vector2D
</li>
<li>
Dim Ref_Canvas
</li>
<li>
Dim Layer_TileMap As Nirvana_TileMap
</li>
<li>
Dim Layer_Sprite_Count
</li>
<li>
Dim Layer_Shape_Count
</li>
<li>
Dim Bkg As Nirvana_Background
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Stage</b>
</p>
<ul>
<li>
Dim Active
</li>
<li>
Dim Name$
</li>
<li>
Dim Tile_Size As Nirvana_Size2D
</li>
<li>
Dim Stage_Size As Nirvana_Size2D
</li>
<li>
Dim Layer_Count
</li>
<li>
Dim Viewport_Size As Nirvana_Size2D
</li>
<li>
Dim Stage_Offset As Nirvana_Vector2D
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateVector2D(x, y) As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Create a 2D Vector
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateSize2D(w, h) As Nirvana_Size2D</b>
</p>
<ul>
<li>
Create a 2D Size
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateSprite(spriteDefinition_name$, sprite_name$) As Nirvana_Sprite</b>
</p>
<ul>
<li>
Create a Nirvana Sprite
<ul>
<li>
NOTE: spriteDefinition_name$ is the name of the base sprite created in the Sprite Editor
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateTileMap(tset_name$, tmap_width, tmap_height) As Nirvana_TileMap</b>
</p>
<ul>
<li>
Create a Nirvana TileMap
</li>
</ul>
<p>
<br>
</p>
<p>
<br> <h3><u>Nirvana Stages</u></h3>
</p>
<p>
<b>Function Nirvana_LoadStage(stage_name$, viewport_x, viewport_y, viewport_w, viewport_h)</b>
</p>
<ul>
<li>
Loads a stage and sets the part of the window to render it to
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Sub Nirvana_Update()</b>
</p>
<ul>
<li>
This update function must be used in place of Update() when using Nirvana2D
</li>
</ul>
<p>
<br>
</p>
<p>
<br> <h3><u>Nirvana Layers</u></h3>
</p>
<p>
<b>Function Nirvana_GetLayerIndex(layer_name$)</b>
</p>
<ul>
<li>
Returns the internal nirvana index associated with the given layer name or -1 if layer name is not an existing layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerCanvasID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic canvas of the given nirvana layer index or -1 if layer_index is not a valid layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerType(layer_index)</b>
</p>
<ul>
<li>
Returns the layer type or -1 if layer_index is not a valid layer
</li>
<li>
Possible Layer Types
<ul>
<li>
NIRVANA_LAYER_TYPE_TILEMAP
</li>
<li>
NIRVANA_LAYER_TYPE_SPRITE
</li>
<li>
NIRVANA_LAYER_TYPE_CANVAS_2D
</li>
<li>
NIRVANA_LAYER_TYPE_CANVAS_3D
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerName$(layer_index)</b>
</p>
<ul>
<li>
Returns the name of the given layer or an empty string if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerAlpha(layer_index)</b>
</p>
<ul>
<li>
Returns the layer alpha value set in the layer settings in Nirvana
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerScrollSpeed(layer_index) As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Returns the HScroll and VScroll speed as a vector
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileSetName$(layer_index)</b>
</p>
<ul>
<li>
Returns the name of tileset associated with the given layer or empty string if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileSetID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic tileset associated with the given Nirvana layer or -1 if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileMapID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic tile map associated with the given layer or -1 if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileMaskCount(layer_index)</b>
</p>
<ul>
<li>
Returns the number of tile mask on a layers tileset
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileMaskIndex(layer_index, mask_num)</b>
</p>
<ul>
<li>
Returns the Nirvana tile mask index for the given mask number in a layer or -1 if not a valid layer or mask number
<ul>
<li>
mask_num should be a number from 0 to Nirvana_GetLayerTileMaskCount(layer_index)-1
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerSpriteCount(layer_index)</b>
</p>
<ul>
<li>
Returns the number of sprites in a layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerSpriteIndex(layer_index, sprite_name$)</b>
</p>
<ul>
<li>
Returns the Nirvana sprite index of the given sprite name in the given layer or -1 if sprite is not found
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerShapeCount(layer_index)</b>
</p>
<ul>
<li>
Returns the number of stage collision shapes in the given layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerBackgroundImageID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic image id of the image set on the given layer or -1 if no image is set
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_SetLayerBackgroundImage(layer_index, image_id)</b>
</p>
<ul>
<li>
Sets a new image on the given layer (NOTE: Layer must be a Canvas2D layer)
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerBackgroundRenderType(layer_index)</b>
</p>
<ul>
<li>
Returns the render type of the layer image set in Nirvana2D
</li>
<li>
Possible Render Types
<ul>
<li>
NIRVANA_IMG_RENDER_SETTING_NORMAL
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_STRETCHED
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_TILED
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_SetLayerBackgroundRenderType(layer_index, render_type)</b>
</p>
<ul>
<li>
Sets the render type of the layer image (NOTE: Layer must be a Canvas2D layer)
</li>
<li>
Possible Render Types
<ul>
<li>
NIRVANA_IMG_RENDER_SETTING_NORMAL
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_STRETCHED
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_TILED
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<br> <h3><u>TILE MASK</u></h3>
</p>
<p>
<b>Function Nirvana_GetTileMaskName$(mask_index)</b>
</p>
<ul>
<li>
Returns the name of the given tile mask or an empty string if the mask index is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetTileMaskMatrix(mask_index)</b>
</p>
<ul>
<li>
Returns the RCBasic matrix id of the given mask or -1 if the mask is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerMaskHit(layer_index, mask_index, x, y)</b>
</p>
<ul>
<li>
Returns TRUE if the tile at the given position is flagged in the given mask
<ul>
<li>
NOTE: (x, y) is a world position and not a row and column position in the tile map
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<br> <h3><u>SPRITES</u></h3>
</p>
<p>
<b>Function Nirvana_GetSpriteID(sprite_index)</b>
</p>
<ul>
<li>
Returns the RCBasic sprite id of the given Nirvana sprite index or -1 if the sprite index is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteName$(sprite_index)</b>
</p>
<ul>
<li>
Returns the sprite name of the given Nirvana sprite index or an empty string if sprite index is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteDefinitionName$(sprite_index)</b>
</p>
<ul>
<li>
Returns the sprite definition name of the given sprite index
<ul>
<li>
NOTE: Sprite Definition name is the name of the base sprite created in the Sprite Editor and not the name of the sprite in the stage
</li>
<li>
NOTE: There is almost no reason to get this definition name unless you wanted to look up sprites in the stage by the base sprite
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteAnimationCount(sprite_index)</b>
</p>
<ul>
<li>
Returns the number of animations for the given Nirvana sprite index
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteAnimationName$(sprite_index, animation_num)</b>
</p>
<ul>
<li>
Returns the name of the given Nirvana Sprite Index animation number
</li>
</ul>
<p>
<br>
</p>
<p>
<br> <h3><u>CAMERA</u></h3> <b>Sub Nirvana_SetStageOffset(offset As Nirvana_Vector2D)</b>
</p>
<ul>
<li>
Sets the camera position
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetStageOffset() As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Returns the camera position
</li>
</ul>
<p>
<br>
</p>
<p>
<br> <h3><u>VIEWPORT</u></h3> <b>Sub Nirvana_SetStageViewport(v_position As Nirvana_Vector2D, v_size As Nirvana_Size2D)</b>
</p>
<ul>
<li>
Returns the current viewport position and size
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetViewportPosition() As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Returns the current viewport position
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetViewportSize() As Nirvana_Size2D</b>
</p>
<ul>
<li>
Returns the current viewport size
</li>
</ul>
<p>
</body>
</html>

View File

@@ -0,0 +1,86 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D Background API </h2></p>
<p>
<b>Function Nirvana_GetLayerBackgroundImageID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic image id of the image set on the given layer or -1 if no image is set
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_SetLayerBackgroundImage(layer_index, image_id)</b>
</p>
<ul>
<li>
Sets a new image on the given layer (NOTE: Layer must be a Canvas2D layer)
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerBackgroundRenderType(layer_index)</b>
</p>
<ul>
<li>
Returns the render type of the layer image set in Nirvana2D
</li>
<li>
Possible Render Types
<ul>
<li>
NIRVANA_IMG_RENDER_SETTING_NORMAL
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_STRETCHED
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_TILED
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_SetLayerBackgroundRenderType(layer_index, render_type)</b>
</p>
<ul>
<li>
Sets the render type of the layer image (NOTE: Layer must be a Canvas2D layer)
</li>
<li>
Possible Render Types
<ul>
<li>
NIRVANA_IMG_RENDER_SETTING_NORMAL
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_STRETCHED
</li>
<li>
NIRVANA_IMG_RENDER_SETTING_TILED
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,39 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D Background API
<b>Function Nirvana_GetLayerBackgroundImageID(layer_index)</b>
#list ul
#li Returns the RCBasic image id of the image set on the given layer or -1 if no image is set
#/list
<br>
<b>Function Nirvana_SetLayerBackgroundImage(layer_index, image_id)</b>
#list ul
#li Sets a new image on the given layer (NOTE: Layer must be a Canvas2D layer)
#/list
<br>
<b>Function Nirvana_GetLayerBackgroundRenderType(layer_index)</b>
#list ul
#li Returns the render type of the layer image set in Nirvana2D
#li Possible Render Types
#list ul
#li NIRVANA_IMG_RENDER_SETTING_NORMAL
#li NIRVANA_IMG_RENDER_SETTING_STRETCHED
#li NIRVANA_IMG_RENDER_SETTING_TILED
#/list
#/list
<br>
<b>Function Nirvana_SetLayerBackgroundRenderType(layer_index, render_type)</b>
#list ul
#li Sets the render type of the layer image (NOTE: Layer must be a Canvas2D layer)
#li Possible Render Types
#list ul
#li NIRVANA_IMG_RENDER_SETTING_NORMAL
#li NIRVANA_IMG_RENDER_SETTING_STRETCHED
#li NIRVANA_IMG_RENDER_SETTING_TILED
#/list
#/list
<br>

View File

@@ -0,0 +1,100 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D API </h2></p>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerIndex(layer_name$)</b>
</p>
<ul>
<li>
Returns the internal nirvana index associated with the given layer name or -1 if layer name is not an existing layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerCanvasID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic canvas of the given nirvana layer index or -1 if layer_index is not a valid layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerType(layer_index)</b>
</p>
<ul>
<li>
Returns the layer type or -1 if layer_index is not a valid layer
</li>
<li>
Possible Layer Types
<ul>
<li>
NIRVANA_LAYER_TYPE_TILEMAP
</li>
<li>
NIRVANA_LAYER_TYPE_SPRITE
</li>
<li>
NIRVANA_LAYER_TYPE_CANVAS_2D
</li>
<li>
NIRVANA_LAYER_TYPE_CANVAS_3D
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerName$(layer_index)</b>
</p>
<ul>
<li>
Returns the name of the given layer or an empty string if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerAlpha(layer_index)</b>
</p>
<ul>
<li>
Returns the layer alpha value set in the layer settings in Nirvana
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerScrollSpeed(layer_index) As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Returns the HScroll and VScroll speed as a vector
</li>
</ul>
<p>
<br>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,48 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D API
<br>
<b>Function Nirvana_GetLayerIndex(layer_name$)</b>
#list ul
#li Returns the internal nirvana index associated with the given layer name or -1 if layer name is not an existing layer
#/list
<br>
<b>Function Nirvana_GetLayerCanvasID(layer_index)</b>
#list ul
#li Returns the RCBasic canvas of the given nirvana layer index or -1 if layer_index is not a valid layer
#/list
<br>
<b>Function Nirvana_GetLayerType(layer_index)</b>
#list ul
#li Returns the layer type or -1 if layer_index is not a valid layer
#li Possible Layer Types
#list ul
#li NIRVANA_LAYER_TYPE_TILEMAP
#li NIRVANA_LAYER_TYPE_SPRITE
#li NIRVANA_LAYER_TYPE_CANVAS_2D
#li NIRVANA_LAYER_TYPE_CANVAS_3D
#/list
#/list
<br>
<b>Function Nirvana_GetLayerName$(layer_index)</b>
#list ul
#li Returns the name of the given layer or an empty string if layer is not valid
#/list
<br>
<b>Function Nirvana_GetLayerAlpha(layer_index)</b>
#list ul
#li Returns the layer alpha value set in the layer settings in Nirvana
#/list
<br>
<b>Function Nirvana_GetLayerScrollSpeed(layer_index) As Nirvana_Vector2D</b>
#list ul
#li Returns the HScroll and VScroll speed as a vector
#/list
<br>

View File

@@ -0,0 +1,195 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D API </h2></p>
<p>
<b>Type Nirvana_Sprite</b>
</p>
<ul>
<li>
Dim Name$
</li>
<li>
Dim BaseName$
</li>
<li>
Dim Sprite_ID
</li>
<li>
Dim Animation_Name_Index
</li>
<li>
Dim Animation_Count
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Shape</b>
</p>
<ul>
<li>
Dim Sprite_ID
</li>
<li>
Dim ShapeType
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateSprite(spriteDefinition_name$, sprite_name$) As Nirvana_Sprite</b>
</p>
<ul>
<li>
Create a Nirvana Sprite
<ul>
<li>
NOTE: spriteDefinition_name$ is the name of the base sprite created in the Sprite Editor
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerSpriteCount(layer_index)</b>
</p>
<ul>
<li>
Returns the number of sprites in a layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerSpriteIndex(layer_index, sprite_name$)</b>
</p>
<ul>
<li>
Returns the Nirvana sprite index of the given sprite name in the given layer or -1 if sprite is not found
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerShapeCount(layer_index)</b>
</p>
<ul>
<li>
Returns the number of stage collision shapes in the given layer
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteID(sprite_index)</b>
</p>
<ul>
<li>
Returns the RCBasic sprite id of the given Nirvana sprite index or -1 if the sprite index is not valid
<ul>
<li>
NOTE: If the sprite is detached then this will return the ID of the render sprite
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteName$(sprite_index)</b>
</p>
<ul>
<li>
Returns the sprite name of the given Nirvana sprite index or an empty string if sprite index is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteDefinitionName$(sprite_index)</b>
</p>
<ul>
<li>
Returns the sprite definition name of the given sprite index
<ul>
<li>
NOTE: Sprite Definition name is the name of the base sprite created in the Sprite Editor and not the name of the sprite in the stage
</li>
<li>
NOTE: There is almost no reason to get this definition name unless you wanted to look up sprites in the stage by the base sprite
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteIsDetached(sprite_index)</b>
</p>
<ul>
<li>
Returns true if the sprite has a detached render body and dynamics body
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetDetachedSpriteID(sprite_index)</b>
</p>
<ul>
<li>
Returns the sprite dynamics body ID
<ul>
<li>
NOTE: This is the body that should be used for physics operations
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteAnimationCount(sprite_index)</b>
</p>
<ul>
<li>
Returns the number of animations for the given Nirvana sprite index
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetSpriteAnimationName$(sprite_index, animation_num)</b>
</p>
<ul>
<li>
Returns the name of the given Nirvana Sprite Index animation number
</li>
</ul>
<p>
<br>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,104 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D API
<b>Type Nirvana_Sprite</b>
#list ul
#li Dim Name$
#li Dim BaseName$
#li Dim Sprite_ID
#li Dim Animation_Name_Index
#li Dim Animation_Count
#/list
<br>
<b>Type Nirvana_Shape</b>
#list ul
#li Dim Sprite_ID
#li Dim ShapeType
#/list
<br>
<b>Function Nirvana_CreateSprite(spriteDefinition_name$, sprite_name$) As Nirvana_Sprite</b>
#list ul
#li Create a Nirvana Sprite
#list ul
#li NOTE: spriteDefinition_name$ is the name of the base sprite created in the Sprite Editor
#/list
#/list
<br>
<b>Function Nirvana_GetLayerSpriteCount(layer_index)</b>
#list ul
#li Returns the number of sprites in a layer
#/list
<br>
<b>Function Nirvana_GetLayerSpriteIndex(layer_index, sprite_name$)</b>
#list ul
#li Returns the Nirvana sprite index of the given sprite name in the given layer or -1 if sprite is not found
#/list
<br>
<b>Function Nirvana_GetLayerShapeCount(layer_index)</b>
#list ul
#li Returns the number of stage collision shapes in the given layer
#/list
<br>
<b>Function Nirvana_GetSpriteID(sprite_index)</b>
#list ul
#li Returns the RCBasic sprite id of the given Nirvana sprite index or -1 if the sprite index is not valid
#list ul
#li NOTE: If the sprite is detached then this will return the ID of the render sprite
#/list
#/list
<br>
<b>Function Nirvana_GetSpriteName$(sprite_index)</b>
#list ul
#li Returns the sprite name of the given Nirvana sprite index or an empty string if sprite index is not valid
#/list
<br>
<b>Function Nirvana_GetSpriteDefinitionName$(sprite_index)</b>
#list ul
#li Returns the sprite definition name of the given sprite index
#list ul
#li NOTE: Sprite Definition name is the name of the base sprite created in the Sprite Editor and not the name of the sprite in the stage
#li NOTE: There is almost no reason to get this definition name unless you wanted to look up sprites in the stage by the base sprite
#/list
#/list
<br>
<b>Function Nirvana_GetSpriteIsDetached(sprite_index)</b>
#list ul
#li Returns true if the sprite has a detached render body and dynamics body
#/list
<br>
<b>Function Nirvana_GetDetachedSpriteID(sprite_index)</b>
#list ul
#li Returns the sprite dynamics body ID
#list ul
#li NOTE: This is the body that should be used for physics operations
#/list
#/list
<br>
<b>Function Nirvana_GetSpriteAnimationCount(sprite_index)</b>
#list ul
#li Returns the number of animations for the given Nirvana sprite index
#/list
<br>
<b>Function Nirvana_GetSpriteAnimationName$(sprite_index, animation_num)</b>
#list ul
#li Returns the name of the given Nirvana Sprite Index animation number
#/list
<br>

View File

@@ -0,0 +1,91 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D Stages API </h2></p>
<p>
<b>Function Nirvana_LoadStage(stage_name$, viewport_x, viewport_y, viewport_w, viewport_h)</b>
</p>
<ul>
<li>
Loads a stage and sets the part of the window to render it to
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Sub Nirvana_SetStageViewport(v_position As Nirvana_Vector2D, v_size As Nirvana_Size2D)</b>
</p>
<ul>
<li>
Returns the current viewport position and size
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetViewportPosition() As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Returns the current viewport position
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetViewportSize() As Nirvana_Size2D</b>
</p>
<ul>
<li>
Returns the current viewport size
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Sub Nirvana_SetStageOffset(offset As Nirvana_Vector2D)</b>
</p>
<ul>
<li>
Sets the camera position
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetStageOffset() As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Returns the camera position
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Sub Nirvana_Update()</b>
</p>
<ul>
<li>
This update function must be used in place of Update() when using Nirvana2D
</li>
</ul>
<p>
<br>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,46 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D Stages API
<b>Function Nirvana_LoadStage(stage_name$, viewport_x, viewport_y, viewport_w, viewport_h)</b>
#list ul
#li Loads a stage and sets the part of the window to render it to
#/list
<br>
<b>Sub Nirvana_SetStageViewport(v_position As Nirvana_Vector2D, v_size As Nirvana_Size2D)</b>
#list ul
#li Returns the current viewport position and size
#/list
<br>
<b>Function Nirvana_GetViewportPosition() As Nirvana_Vector2D</b>
#list ul
#li Returns the current viewport position
#/list
<br>
<b>Function Nirvana_GetViewportSize() As Nirvana_Size2D</b>
#list ul
#li Returns the current viewport size
#/list
<br>
<b>Sub Nirvana_SetStageOffset(offset As Nirvana_Vector2D)</b>
#list ul
#li Sets the camera position
#/list
<br>
<b>Function Nirvana_GetStageOffset() As Nirvana_Vector2D</b>
#list ul
#li Returns the camera position
#/list
<br>
<b>Sub Nirvana_Update()</b>
#list ul
#li This update function must be used in place of Update() when using Nirvana2D
#/list
<br>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D API </h2></p>
<p>
<br>
</p>
<p>
<b>Type Nirvana_TileMap</b>
</p>
<ul>
<li>
Dim TilesetName$
</li>
<li>
Dim Tileset_ID
</li>
<li>
Dim TileMap_ID
</li>
<li>
Dim Mask_Index
</li>
<li>
Dim Mask_Count
</li>
</ul>
<p>
<br><br>
</p>
<p>
<b>Function Nirvana_CreateTileMap(tset_name$, tmap_width, tmap_height) As Nirvana_TileMap</b>
</p>
<ul>
<li>
Create a Nirvana TileMap
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileSetName$(layer_index)</b>
</p>
<ul>
<li>
Returns the name of tileset associated with the given layer or empty string if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileSetID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic tileset associated with the given Nirvana layer or -1 if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileMapID(layer_index)</b>
</p>
<ul>
<li>
Returns the RCBasic tile map associated with the given layer or -1 if layer is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileMaskCount(layer_index)</b>
</p>
<ul>
<li>
Returns the number of tile mask on a layers tileset
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerTileMaskIndex(layer_index, mask_num)</b>
</p>
<ul>
<li>
Returns the Nirvana tile mask index for the given mask number in a layer or -1 if not a valid layer or mask number
<ul>
<li>
mask_num should be a number from 0 to Nirvana_GetLayerTileMaskCount(layer_index)-1
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetTileMaskName$(mask_index)</b>
</p>
<ul>
<li>
Returns the name of the given tile mask or an empty string if the mask index is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetTileMaskMatrix(mask_index)</b>
</p>
<ul>
<li>
Returns the RCBasic matrix id of the given mask or -1 if the mask is not valid
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_GetLayerMaskHit(layer_index, mask_index, x, y)</b>
</p>
<ul>
<li>
Returns TRUE if the tile at the given position is flagged in the given mask
<ul>
<li>
NOTE: (x, y) is a world position and not a row and column position in the tile map
</li>
</ul>
</li>
</ul>
<p>
<br>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,77 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D API
<br>
<b>Type Nirvana_TileMap</b>
#list ul
#li Dim TilesetName$
#li Dim Tileset_ID
#li Dim TileMap_ID
#li Dim Mask_Index
#li Dim Mask_Count
#/list
<br><br>
<b>Function Nirvana_CreateTileMap(tset_name$, tmap_width, tmap_height) As Nirvana_TileMap</b>
#list ul
#li Create a Nirvana TileMap
#/list
<br>
<b>Function Nirvana_GetLayerTileSetName$(layer_index)</b>
#list ul
#li Returns the name of tileset associated with the given layer or empty string if layer is not valid
#/list
<br>
<b>Function Nirvana_GetLayerTileSetID(layer_index)</b>
#list ul
#li Returns the RCBasic tileset associated with the given Nirvana layer or -1 if layer is not valid
#/list
<br>
<b>Function Nirvana_GetLayerTileMapID(layer_index)</b>
#list ul
#li Returns the RCBasic tile map associated with the given layer or -1 if layer is not valid
#/list
<br>
<b>Function Nirvana_GetLayerTileMaskCount(layer_index)</b>
#list ul
#li Returns the number of tile mask on a layers tileset
#/list
<br>
<b>Function Nirvana_GetLayerTileMaskIndex(layer_index, mask_num)</b>
#list ul
#li Returns the Nirvana tile mask index for the given mask number in a layer or -1 if not a valid layer or mask number
#list ul
#li mask_num should be a number from 0 to Nirvana_GetLayerTileMaskCount(layer_index)-1
#/list
#/list
<br>
<b>Function Nirvana_GetTileMaskName$(mask_index)</b>
#list ul
#li Returns the name of the given tile mask or an empty string if the mask index is not valid
#/list
<br>
<b>Function Nirvana_GetTileMaskMatrix(mask_index)</b>
#list ul
#li Returns the RCBasic matrix id of the given mask or -1 if the mask is not valid
#/list
<br>
<b>Function Nirvana_GetLayerMaskHit(layer_index, mask_index, x, y)</b>
#list ul
#li Returns TRUE if the tile at the given position is flagged in the given mask
#list ul
#li NOTE: (x, y) is a world position and not a row and column position in the tile map
#/list
#/list
<br>

View File

@@ -0,0 +1,205 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D API </h2></p>
<p>
<b>Type Nirvana_Vector2D</b>
</p>
<ul>
<li>
Dim X
</li>
<li>
Dim Y
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Size2D</b>
</p>
<ul>
<li>
Dim Width
</li>
<li>
Dim Height
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Sprite</b>
</p>
<ul>
<li>
Dim Name$
</li>
<li>
Dim BaseName$
</li>
<li>
Dim Sprite_ID
</li>
<li>
Dim Animation_Name_Index
</li>
<li>
Dim Animation_Count
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_TileMap</b>
</p>
<ul>
<li>
Dim TilesetName$
</li>
<li>
Dim Tileset_ID
</li>
<li>
Dim TileMap_ID
</li>
<li>
Dim Mask_Index
</li>
<li>
Dim Mask_Count
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Background</b>
</p>
<ul>
<li>
Dim Image_ID
</li>
<li>
Dim RenderSetting
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Shape</b>
</p>
<ul>
<li>
Dim Sprite_ID
</li>
<li>
Dim ShapeType
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Layer</b>
</p>
<ul>
<li>
Dim Name$
</li>
<li>
Dim LayerType
</li>
<li>
Dim Visible
</li>
<li>
Dim Alpha
</li>
<li>
Dim Scroll_Speed As Nirvana_Vector2D
</li>
<li>
Dim Ref_Canvas
</li>
<li>
Dim Layer_TileMap As Nirvana_TileMap
</li>
<li>
Dim Layer_Sprite_Count
</li>
<li>
Dim Layer_Shape_Count
</li>
<li>
Dim Bkg As Nirvana_Background
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Type Nirvana_Stage</b>
</p>
<ul>
<li>
Dim Active
</li>
<li>
Dim Name$
</li>
<li>
Dim Tile_Size As Nirvana_Size2D
</li>
<li>
Dim Stage_Size As Nirvana_Size2D
</li>
<li>
Dim Layer_Count
</li>
<li>
Dim Viewport_Size As Nirvana_Size2D
</li>
<li>
Dim Stage_Offset As Nirvana_Vector2D
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateVector2D(x, y) As Nirvana_Vector2D</b>
</p>
<ul>
<li>
Create a 2D Vector
</li>
</ul>
<p>
<br>
</p>
<p>
<b>Function Nirvana_CreateSize2D(w, h) As Nirvana_Size2D</b>
</p>
<ul>
<li>
Create a 2D Size
</li>
</ul>
<p>
<br>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,93 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D API
<b>Type Nirvana_Vector2D</b>
#list ul
#li Dim X
#li Dim Y
#/list
<br>
<b>Type Nirvana_Size2D</b>
#list ul
#li Dim Width
#li Dim Height
#/list
<br>
<b>Type Nirvana_Sprite</b>
#list ul
#li Dim Name$
#li Dim BaseName$
#li Dim Sprite_ID
#li Dim Animation_Name_Index
#li Dim Animation_Count
#/list
<br>
<b>Type Nirvana_TileMap</b>
#list ul
#li Dim TilesetName$
#li Dim Tileset_ID
#li Dim TileMap_ID
#li Dim Mask_Index
#li Dim Mask_Count
#/list
<br>
<b>Type Nirvana_Background</b>
#list ul
#li Dim Image_ID
#li Dim RenderSetting
#/list
<br>
<b>Type Nirvana_Shape</b>
#list ul
#li Dim Sprite_ID
#li Dim ShapeType
#/list
<br>
<b>Type Nirvana_Layer</b>
#list ul
#li Dim Name$
#li Dim LayerType
#li Dim Visible
#li Dim Alpha
#li Dim Scroll_Speed As Nirvana_Vector2D
#li Dim Ref_Canvas
#li Dim Layer_TileMap As Nirvana_TileMap
#li Dim Layer_Sprite_Count
#li Dim Layer_Shape_Count
#li Dim Bkg As Nirvana_Background
#/list
<br>
<b>Type Nirvana_Stage</b>
#list ul
#li Dim Active
#li Dim Name$
#li Dim Tile_Size As Nirvana_Size2D
#li Dim Stage_Size As Nirvana_Size2D
#li Dim Layer_Count
#li Dim Viewport_Size As Nirvana_Size2D
#li Dim Stage_Offset As Nirvana_Vector2D
#/list
<br>
<b>Function Nirvana_CreateVector2D(x, y) As Nirvana_Vector2D</b>
#list ul
#li Create a 2D Vector
#/list
<br>
<b>Function Nirvana_CreateSize2D(w, h) As Nirvana_Size2D</b>
#list ul
#li Create a 2D Size
#/list
<br>

View File

@@ -0,0 +1,139 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D Sprite Editor </h2></p>
<p>
The sprite editor allows you to edit sprite definitions used to create sprites in the stage editor. A definition can have animations and the collider shapes uses in physics simulations.
</p>
<p>
At the far left of the screen there are 2 buttons:
</p>
<ul>
<li>
Load Sprite - Loads a sprite sheet into the definition list.
<ul>
<li>
NOTE: This will also load any existing animation and collision data for the sheet as well.
</li>
</ul>
</li>
<li>
Delete Sprite - Removes a sprite definition from the editor.
<ul>
<li>
NOTE: This will remove any sprites in the stage that use this definition.
</li>
</ul>
</li>
</ul>
<p>
At the top of the Sprite Editor is a text field labeled "Sprite ID" where you can change the name of the Sprite. To the right of the Sprite ID field, the dimensions of the sprite frame are shown.
</p>
<p>
<h2>Animation Editor</h2>
</p>
<p><img src="images/nirvana_sprite_animation_editor.png" width=640 height=380></p>
<p>
<p>#1 - Animation List - This is the list of animations for the selected Sprite. Above the list are buttons for adding an animation and removing the selected animation.</p>
</p>
<p>
<p>#2 - Animation ID - This is the name of the current selected animation. You can change it from this field.</p>
</p>
<p>
<p>#3 - Sprite Sheet - This is where you can view the current sprite sheet and select a sheet frame to set as the currently selected animation frame in the Animation Frames Panel (#4).
</p>
<ul>
<li>
Movement - With the mouse hovered over the Sprite Sheet, you can use W/A/S/D to move around the sheet
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#4 - Animation Frames - A horizontal layout of each frame in the animation.
</p>
<ul>
<li>
Setting a frame - To set a frame, first select the animation frame on the frame panel then select the desired frame on the sprite sheet
</li>
<li>
Long Animations - If the number of frames in the animation exceed the viewable frames on the frame panel, use the buttons to the left and right of the panel to scroll the panel
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#5 - Frame Count - Sets the number of frames in the current animation</p>
</p>
<p>
<p>#6 - Speed - Sets the number of frames per second the animation plays at</p>
</p>
<p>
<p>#7 - Preview - Plays the selected animation.</p>
</p>
<p>
<h2>Shape Editor</h2>
</p>
<p><img src="images/nirvana_sprite_shape_editor.png" width=720 height=440></p>
<p>
<p>#1 - Editor Viewport - Here you can draw a polygon shape or move and resize box and circle shapes.</p>
</p>
<p>
<p>#2 - Tool Bar - Tools for editing the shape.
</p>
<ul>
<li>
Select - Selects a single point
<ul>
<li>
NOTE: Hold Ctrl to keep previous points selected
</li>
</ul>
</li>
<li>
Box Select - Selects multiple points
</li>
<li>
Select - Selects a single point
<ul>
<li>
NOTE: Hold Ctrl to keep previous points selected
</li>
</ul>
</li>
<li>
Move - Moves the selected points
</li>
<li>
Draw Polygon - When polygon shape is selected, this allows you to draw points
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#3 - Shape Selection - Select the shape type</p>
</p>
<p>
<p>#4 - Shape Parameters - Change Parameters for the shape
</p>
<ul>
<li>
NOTE: Parameters are different depending on shape type
</li>
</ul>
<p>
</p>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,75 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D Sprite Editor
The sprite editor allows you to edit sprite definitions used to create sprites in the stage editor. A definition can have animations and the collider shapes uses in physics simulations.
At the far left of the screen there are 2 buttons:
#list ul
#li Load Sprite - Loads a sprite sheet into the definition list.
#list ul
#li NOTE: This will also load any existing animation and collision data for the sheet as well.
#/list
#li Delete Sprite - Removes a sprite definition from the editor.
#list ul
#li NOTE: This will remove any sprites in the stage that use this definition.
#/list
#/list
At the top of the Sprite Editor is a text field labeled "Sprite ID" where you can change the name of the Sprite. To the right of the Sprite ID field, the dimensions of the sprite frame are shown.
<h2>Animation Editor</h2>
#image "images/nirvana_sprite_animation_editor.png", w=640, h=380
<p>#1 - Animation List - This is the list of animations for the selected Sprite. Above the list are buttons for adding an animation and removing the selected animation.</p>
<p>#2 - Animation ID - This is the name of the current selected animation. You can change it from this field.</p>
<p>#3 - Sprite Sheet - This is where you can view the current sprite sheet and select a sheet frame to set as the currently selected animation frame in the Animation Frames Panel (#4).
#list ul
#li Movement - With the mouse hovered over the Sprite Sheet, you can use W/A/S/D to move around the sheet
#/list
</p>
<p>#4 - Animation Frames - A horizontal layout of each frame in the animation.
#list ul
#li Setting a frame - To set a frame, first select the animation frame on the frame panel then select the desired frame on the sprite sheet
#li Long Animations - If the number of frames in the animation exceed the viewable frames on the frame panel, use the buttons to the left and right of the panel to scroll the panel
#/list
</p>
<p>#5 - Frame Count - Sets the number of frames in the current animation</p>
<p>#6 - Speed - Sets the number of frames per second the animation plays at</p>
<p>#7 - Preview - Plays the selected animation.</p>
<h2>Shape Editor</h2>
#image "images/nirvana_sprite_shape_editor.png", w=720, h=440
<p>#1 - Editor Viewport - Here you can draw a polygon shape or move and resize box and circle shapes.</p>
<p>#2 - Tool Bar - Tools for editing the shape.
#list ul
#li Select - Selects a single point
#list ul
#li NOTE: Hold Ctrl to keep previous points selected
#/list
#li Box Select - Selects multiple points
#li Select - Selects a single point
#list ul
#li NOTE: Hold Ctrl to keep previous points selected
#/list
#li Move - Moves the selected points
#li Draw Polygon - When polygon shape is selected, this allows you to draw points
#/list
</p>
<p>#3 - Shape Selection - Select the shape type</p>
<p>#4 - Shape Parameters - Change Parameters for the shape
#list ul
#li NOTE: Parameters are different depending on shape type
#/list
</p>

View File

@@ -0,0 +1,461 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D Stage Editor </h2></p>
<p><img src="images/nirvana_stage_editor_full_display.png" width=480 height=240></p>
<p>
The stage editor is where tiles, sprites, and background layers are brought together to form the stages that you load into your game.
</p>
<p>
<br> <h2>The Viewport</h2> The main part of the stage editor you will interact with is the viewport.
</p>
<p><img src="images/nirvana_stage_editor_section1.png" width=640 height=380></p>
<p>
<p>#1 - Layer Selection - Select the active layer
</p>
<ul>
<li>
The active layer type will determine which tools are usable
</li>
<li>
Tile Layers are the only layers where the tile info in #6 and #7 are shown
</li>
<li>
Sprites and Collision shapes are only able to be added or edited on a Sprite Layer
</li>
<li>
If the grid is shown, it will be aligned with the active layer.
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Set Camera - You can use this to move instantly to a desired position in the stage</p>
</p>
<p>
<p>#3 - Placement Mode - The left button is for free placement and the second button is for grid snapping</p>
</p>
<p>
<p>#4 - Editor Viewport - This is where a majority of editing is done
</p>
<ul>
<li>
Movement - While the mouse is hovered over the viewport, use W/A/S/D to navigate. The speed of this movement can be changed from settings.
</li>
<li>
If a select tool (ie. tile select, sprite select, or shape select) is active, you can hold Ctrl to select multiple items
</li>
<li>
Multiple selections can also be made by holding Ctrl with Box select
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#5 - Screen Mouse Info - The position of the mouse on the screen</p>
</p>
<p>
<p>#6 - Stage Mouse Info - The position of the mouse in the stage
</p>
<ul>
<li>
The Tile Positions are the top left corner of the tile the mouse is located in
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#7 - Camera Info - The position of the camera in the stage
</p>
<ul>
<li>
The Tile Positions are the top left corner of the tile at the top left corner of the screen
</li>
</ul>
<p>
</p>
</p>
<p>
<br> <h2>Stage Manager</h2>
</p>
<p>
This is where you create stages and manage stage properties
</p>
<p><img src="images/nirvana_project_stage_tab.png" ></p>
<ul>
<li>
<image src="images/new_stage_button.png"> - Create new Stage
</li>
<li>
<image src="images/yeet_stage_button.png"> - Delete highlighted stage
</li>
<li>
<image src="images/nirvana_stage_properties_button.png"> - Edit the properties for a stage
</li>
<li>
<image src="images/nirvana_stage_copy_button.png"> - Copy a stage
</li>
</ul>
<p>
<br> <h2>Layer Settings</h2>
</p>
<p>
This is where you create layers and edit layer settings
</p>
<p><img src="images/nirvana_layer_settings.png" ></p>
<p>
<p>#1 - Tool Bar
</p>
<ul>
<li>
New Layer - Create a new layer
</li>
<li>
Copy Layer - Copies a layer
</li>
<li>
Show All - Makes all layers visible
</li>
<li>
Hide All - Hides all layers
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Organizer - Change the order of layers or delete layers</p>
</p>
<p>
<p>#3 - Layer List - Select a layer in the list to edit its properties and toggle the check box to view/hide individual layer</p>
</p>
<p>
<p>#4 - Layer Settings
</p>
<ul>
<li>
Type - The type of layer selected. There are 4 types of layers: sprite, tile, canvas 2d, and canvas 3d.
</li>
<li>
Name - The name of the layer
</li>
<li>
HScroll - The speed the layer scrolls horizontally
</li>
<li>
VScrol - The speed the layer scrolls vertically
</li>
<li>
Alpha - The transparency value
</li>
</ul>
<p>
</p>
</p>
<p>
<br> <h2>Editor Settings</h2>
</p>
<p>
This is where you can change editor settings
</p>
<p>
<p>#1 - Viewport
</p>
<ul>
<li>
Show Shapes - This determines whether stage collision shapes are viewable when the layer they are created on is not active
</li>
<li>
Show Grid - Show the tile grid
<ul>
<li>
NOTE: Tile grid is aligned to the active layer so layers with different HScroll and VScroll speeds will have different grid alignments
</li>
</ul>
</li>
<li>
Grid Color - The color of the grid
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Camera
</p>
<ul>
<li>
Move Speed - The speed the viewport scrolls at when using W/A/S/D movement
</li>
</ul>
<p>
</p>
</p>
<p>
<br> <h2>Tile Map Tools</h2>
</p>
<p>
These tools are only usable when a tile layer is selected.
</p>
<p><img src="images/nirvana_tilemap_tools.png" ></p>
<p>
<p>#1 - Tools
</p>
<ul>
<li>
Select - Select a single tile
<ul>
<li>
Hold Ctrl to do multiple selections
</li>
</ul>
</li>
<li>
Box Select - Select all tiles in box
<ul>
<li>
Hold Ctrl to do multiple selections
</li>
</ul>
</li>
<li>
Move - Move the selected tiles
</li>
<li>
Set Tile - Place selected tiles in stage
<ul>
<li>
You can select multiple tiles in the tile select viewport
</li>
<li>
Right click to delete the tile at the mouse position in stage viewport
</li>
</ul>
</li>
<li>
Copy Tile - Copies the selected tiles
</li>
<li>
Fill Tile - Flood fills with a selected tile
</li>
<li>
Delete Selected Tiles - Delete selected tiles
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Tileset - Shows the tileset for the current layer</p>
</p>
<p>
<p>#3 - Viewport - Tileset Selection</p>
</p>
<p>
<br> <h2>Sprite Tools</h2>
</p>
<p>
These tools are only usable when a sprite layer is selected.
</p>
<p><img src="images/nirvana_sprite_tools.png" ></p>
<p>
<p>#1 - Sprite Tools
</p>
<ul>
<li>
Select - Select a single sprite
<ul>
<li>
Hold Ctrl to do multiple selections
</li>
</ul>
</li>
<li>
Box Select - Select all tiles in box
<ul>
<li>
Hold Ctrl to do multiple selections
</li>
</ul>
</li>
<li>
Move - Move the selected sprites
<ul>
<li>
If Placement mode is set to Tile Snap then the sprite will snap to the closest tile position
</li>
</ul>
</li>
<li>
Rotate - Rotates the selected sprites
</li>
<li>
Scale - Scale the selected sprites
</li>
<li>
New Sprite - Add a sprite to the current layer
</li>
<li>
Delete Sprite - Delete the selected sprite
</li>
<li>
Copy Sprite - Copy the selected sprite
</li>
<li>
Center on sprite - Center the viewport on the selected sprite
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Sprite List - Select a sprite</p>
</p>
<p>
<p>#3 - Sprite Properties
</p>
<ul>
<li>
Sprite ID - Name of the selected sprite
</li>
<li>
Body Type - Type of physics body
</li>
<li>
Animation - The default animation set on the sprite when stage first loads
</li>
<li>
Position - The position of the sprite
</li>
<li>
Rotation - The angle the sprite is rotated by
</li>
<li>
Scale - The scale of the sprite
</li>
<li>
Render Settings - Additional render settings
</li>
</ul>
<p>
</p>
</p>
<p>
<br> <h2>Collision Shape Tools</h2>
</p>
<p>
These tools are only usable when a sprite layer is selected.
</p>
<p><img src="images/nirvana_collision_shapes.png" ></p>
<p>
<p>#1 - Shape Tools
</p>
<ul>
<li>
Select - Select a single point
<ul>
<li>
Hold Ctrl to do multiple selections
</li>
<li>
NOTE: While Ctrl is down, only points on the selected shape will be selected
</li>
</ul>
</li>
<li>
Box Select - Select all points in box
<ul>
<li>
Hold Ctrl to do multiple selections
</li>
<li>
NOTE: While Ctrl is down, only points on the selected shape will be selected
</li>
</ul>
</li>
<li>
Move - Move the selected points
<ul>
<li>
If Placement mode is set to Tile Snap then the points will snap to the closest tile position
</li>
</ul>
</li>
<li>
Draw Shape - Draw the shape in the stage viewport
</li>
<li>
Create Shapes
<ul>
<li>
Box - An axis aligned rectangle
</li>
<li>
Polygon - A closed polygon
</li>
<li>
Chain - A shape made of connected points
</li>
<li>
Circle - A circle
</li>
</ul>
</li>
<li>
Delete Shape - Deletes the selected shape
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Shape List - List of shapes in the current layer</p>
</p>
<p>
<p>#3 - Shape Properties - Different properties are available for different shapes</p>
</p>
<p>
<br> <h2>Background Image</h2>
</p>
<p>
A background image can only be set for a Canvas 2D layer.
</p>
<p><img src="images/nirvana_image_settings.png" ></p>
<p>
<p>#1 - Render Type - Determines how the image will be drawn
</p>
<ul>
<li>
Normal - Draw the image at its native resolution
</li>
<li>
Stretched - Stretch the image to the size of the viewport
</li>
<li>
Tiled - Tile the image as the stage scrolls
<ul>
<li>
NOTE: Background tile will scroll at layer scroll speed
</li>
</ul>
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Layer Image - The image to draw on the layer</p>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,250 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D Stage Editor
#image "images/nirvana_stage_editor_full_display.png", w=480, h=240
The stage editor is where tiles, sprites, and background layers are brought together to form the stages that you load into your game.
<br>
<h2>The Viewport</h2>
The main part of the stage editor you will interact with is the viewport.
#image "images/nirvana_stage_editor_section1.png", w=640, h=380
<p>#1 - Layer Selection - Select the active layer
#list ul
#li The active layer type will determine which tools are usable
#li Tile Layers are the only layers where the tile info in #6 and #7 are shown
#li Sprites and Collision shapes are only able to be added or edited on a Sprite Layer
#li If the grid is shown, it will be aligned with the active layer.
#/list
</p>
<p>#2 - Set Camera - You can use this to move instantly to a desired position in the stage</p>
<p>#3 - Placement Mode - The left button is for free placement and the second button is for grid snapping</p>
<p>#4 - Editor Viewport - This is where a majority of editing is done
#list ul
#li Movement - While the mouse is hovered over the viewport, use W/A/S/D to navigate. The speed of this movement can be changed from settings.
#li If a select tool (ie. tile select, sprite select, or shape select) is active, you can hold Ctrl to select multiple items
#li Multiple selections can also be made by holding Ctrl with Box select
#/list
</p>
<p>#5 - Screen Mouse Info - The position of the mouse on the screen</p>
<p>#6 - Stage Mouse Info - The position of the mouse in the stage
#list ul
#li The Tile Positions are the top left corner of the tile the mouse is located in
#/list
</p>
<p>#7 - Camera Info - The position of the camera in the stage
#list ul
#li The Tile Positions are the top left corner of the tile at the top left corner of the screen
#/list
</p>
<br>
<h2>Stage Manager</h2>
This is where you create stages and manage stage properties
#image "images/nirvana_project_stage_tab.png"
#list ul
#li <image src="images/new_stage_button.png"> - Create new Stage
#li <image src="images/yeet_stage_button.png"> - Delete highlighted stage
#li <image src="images/nirvana_stage_properties_button.png"> - Edit the properties for a stage
#li <image src="images/nirvana_stage_copy_button.png"> - Copy a stage
#/list
<br>
<h2>Layer Settings</h2>
This is where you create layers and edit layer settings
#image "images/nirvana_layer_settings.png"
<p>#1 - Tool Bar
#list ul
#li New Layer - Create a new layer
#li Copy Layer - Copies a layer
#li Show All - Makes all layers visible
#li Hide All - Hides all layers
#/list
</p>
<p>#2 - Organizer - Change the order of layers or delete layers</p>
<p>#3 - Layer List - Select a layer in the list to edit its properties and toggle the check box to view/hide individual layer</p>
<p>#4 - Layer Settings
#list ul
#li Type - The type of layer selected. There are 4 types of layers: sprite, tile, canvas 2d, and canvas 3d.
#li Name - The name of the layer
#li HScroll - The speed the layer scrolls horizontally
#li VScrol - The speed the layer scrolls vertically
#li Alpha - The transparency value
#/list
</p>
<br>
<h2>Editor Settings</h2>
This is where you can change editor settings
<p>#1 - Viewport
#list ul
#li Show Shapes - This determines whether stage collision shapes are viewable when the layer they are created on is not active
#li Show Grid - Show the tile grid
#list ul
#li NOTE: Tile grid is aligned to the active layer so layers with different HScroll and VScroll speeds will have different grid alignments
#/list
#li Grid Color - The color of the grid
#/list
</p>
<p>#2 - Camera
#list ul
#li Move Speed - The speed the viewport scrolls at when using W/A/S/D movement
#/list
</p>
<br>
<h2>Tile Map Tools</h2>
These tools are only usable when a tile layer is selected.
#image "images/nirvana_tilemap_tools.png"
<p>#1 - Tools
#list
#li Select - Select a single tile
#list ul
#li Hold Ctrl to do multiple selections
#/list
#li Box Select - Select all tiles in box
#list ul
#li Hold Ctrl to do multiple selections
#/list
#li Move - Move the selected tiles
#li Set Tile - Place selected tiles in stage
#list ul
#li You can select multiple tiles in the tile select viewport
#li Right click to delete the tile at the mouse position in stage viewport
#/list
#li Copy Tile - Copies the selected tiles
#li Fill Tile - Flood fills with a selected tile
#li Delete Selected Tiles - Delete selected tiles
#/list
</p>
<p>#2 - Tileset - Shows the tileset for the current layer</p>
<p>#3 - Viewport - Tileset Selection</p>
<br>
<h2>Sprite Tools</h2>
These tools are only usable when a sprite layer is selected.
#image "images/nirvana_sprite_tools.png"
<p>#1 - Sprite Tools
#list ul
#li Select - Select a single sprite
#list ul
#li Hold Ctrl to do multiple selections
#/list
#li Box Select - Select all tiles in box
#list ul
#li Hold Ctrl to do multiple selections
#/list
#li Move - Move the selected sprites
#list ul
#li If Placement mode is set to Tile Snap then the sprite will snap to the closest tile position
#/list
#li Rotate - Rotates the selected sprites
#li Scale - Scale the selected sprites
#li New Sprite - Add a sprite to the current layer
#li Delete Sprite - Delete the selected sprite
#li Copy Sprite - Copy the selected sprite
#li Center on sprite - Center the viewport on the selected sprite
#/list
</p>
<p>#2 - Sprite List - Select a sprite</p>
<p>#3 - Sprite Properties
#list ul
#li Sprite ID - Name of the selected sprite
#li Body Type - Type of physics body
#li Animation - The default animation set on the sprite when stage first loads
#li Position - The position of the sprite
#li Rotation - The angle the sprite is rotated by
#li Scale - The scale of the sprite
#li Render Settings - Additional render settings
#/list
</p>
<br>
<h2>Collision Shape Tools</h2>
These tools are only usable when a sprite layer is selected.
#image "images/nirvana_collision_shapes.png"
<p>#1 - Shape Tools
#list ul
#li Select - Select a single point
#list ul
#li Hold Ctrl to do multiple selections
#li NOTE: While Ctrl is down, only points on the selected shape will be selected
#/list
#li Box Select - Select all points in box
#list ul
#li Hold Ctrl to do multiple selections
#li NOTE: While Ctrl is down, only points on the selected shape will be selected
#/list
#li Move - Move the selected points
#list ul
#li If Placement mode is set to Tile Snap then the points will snap to the closest tile position
#/list
#li Draw Shape - Draw the shape in the stage viewport
#li Create Shapes
#list ul
#li Box - An axis aligned rectangle
#li Polygon - A closed polygon
#li Chain - A shape made of connected points
#li Circle - A circle
#/list
#li Delete Shape - Deletes the selected shape
#/list
</p>
<p>#2 - Shape List - List of shapes in the current layer</p>
<p>#3 - Shape Properties - Different properties are available for different shapes</p>
<br>
<h2>Background Image</h2>
A background image can only be set for a Canvas 2D layer.
#image "images/nirvana_image_settings.png"
<p>#1 - Render Type - Determines how the image will be drawn
#list ul
#li Normal - Draw the image at its native resolution
#li Stretched - Stretch the image to the size of the viewport
#li Tiled - Tile the image as the stage scrolls
#list ul
#li NOTE: Background tile will scroll at layer scroll speed
#/list
#/list
</p>
<p>#2 - Layer Image - The image to draw on the layer</p>

View File

@@ -0,0 +1,117 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Nirvana2D [RCBasic Doc] </title>
</head>
<body>
<p><h2>Nirvana2D Tile Editor </h2></p>
<p>
The Tile editor allows you to edit tile sets used to create tile maps in the stage editor. A tile set can have animations and tile mask which are ways of flaging tiles.
</p>
<p>
At the far left of the screen there are 2 buttons:
</p>
<ul>
<li>
Load Tileset - Loads a tile sheet into the tile set list.
<ul>
<li>
NOTE: This will also load any existing animation and mask data for the sheet as well.
</li>
</ul>
</li>
<li>
Delete Tileset - Removes a tile set from the editor.
<ul>
<li>
NOTE: This will remove any layer in the stage that uses this tile set.
</li>
</ul>
</li>
</ul>
<p>
At the top of the Tile Editor is a text field labeled "Tileset ID" where you can change the name of the Tileset. To the right of the Tileset ID field, the dimensions of the tile selected.
</p>
<p>
<h2>Animation Editor</h2>
</p>
<p><img src="images/nirvana_tile_animation_editor.png" width=640 height=380></p>
<p>
<p>#1 - Tile Sheet - View and select tiles
</p>
<ul>
<li>
Movement - With the mouse hovered over the Sprite Sheet, you can use W/A/S/D to move around the sheet
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Frame Panel - Select the animation frame to set
</p>
<ul>
<li>
NOTE: Must be in animate mode to change a frame from the tile sheet. Otherwise selecting a tile on the tile sheet will change the base tile to animate.
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#3 - Select Base Tile - Switches to Base Tile Select Mode</p>
</p>
<p>
<p>#4 - Animate Tile - Switches to Animate Mode</p>
</p>
<p>
<p>#5 - Frame Count - Sets the number of frames in the base tile animation</p>
</p>
<p>
<p>#6 - Speed - Sets the frames per second the base tile animation plays at</p>
</p>
<p>
<p>#7 - Preview - Play the sprite animation</p>
</p>
<p>
<h2>Mask Editor</h2>
</p>
<p><img src="images/nirvana_tile_mask_editor.png" width=720 height=440></p>
<p>
<p>#1 - Mask List - Select a mask to edit
</p>
<ul>
<li>
New Mask - Create a new mask in the current tile set
</li>
<li>
Delete Mask - Delete the selected mask
</li>
</ul>
<p>
</p>
</p>
<p>
<p>#2 - Mask ID - Change the mask ID from this field</p>
</p>
<p>
<p>#3 - Tile Sheet - View and select tiles
</p>
<ul>
<li>
Movement - With the mouse hovered over the Sprite Sheet, you can use W/A/S/D to move around the sheet
</li>
<li>
Flag Tile - To flag a tile in the mask, left click the tile. To unflag a tile, Right Click on it.
</li>
</ul>
<p>
</p>
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,64 @@
#title Nirvana2D [RCBasic Doc]
#header Nirvana2D Tile Editor
The Tile editor allows you to edit tile sets used to create tile maps in the stage editor. A tile set can have animations and tile mask which are ways of flaging tiles.
At the far left of the screen there are 2 buttons:
#list ul
#li Load Tileset - Loads a tile sheet into the tile set list.
#list ul
#li NOTE: This will also load any existing animation and mask data for the sheet as well.
#/list
#li Delete Tileset - Removes a tile set from the editor.
#list ul
#li NOTE: This will remove any layer in the stage that uses this tile set.
#/list
#/list
At the top of the Tile Editor is a text field labeled "Tileset ID" where you can change the name of the Tileset. To the right of the Tileset ID field, the dimensions of the tile selected.
<h2>Animation Editor</h2>
#image "images/nirvana_tile_animation_editor.png", w=640, h=380
<p>#1 - Tile Sheet - View and select tiles
#list ul
#li Movement - With the mouse hovered over the Sprite Sheet, you can use W/A/S/D to move around the sheet
#/list
</p>
<p>#2 - Frame Panel - Select the animation frame to set
#list ul
#li NOTE: Must be in animate mode to change a frame from the tile sheet. Otherwise selecting a tile on the tile sheet will change the base tile to animate.
#/list
</p>
<p>#3 - Select Base Tile - Switches to Base Tile Select Mode</p>
<p>#4 - Animate Tile - Switches to Animate Mode</p>
<p>#5 - Frame Count - Sets the number of frames in the base tile animation</p>
<p>#6 - Speed - Sets the frames per second the base tile animation plays at</p>
<p>#7 - Preview - Play the sprite animation</p>
<h2>Mask Editor</h2>
#image "images/nirvana_tile_mask_editor.png", w=720, h=440
<p>#1 - Mask List - Select a mask to edit
#list ul
#li New Mask - Create a new mask in the current tile set
#li Delete Mask - Delete the selected mask
#/list
</p>
<p>#2 - Mask ID - Change the mask ID from this field</p>
<p>#3 - Tile Sheet - View and select tiles
#list ul
#li Movement - With the mouse hovered over the Sprite Sheet, you can use W/A/S/D to move around the sheet
#li Flag Tile - To flag a tile in the mask, left click the tile. To unflag a tile, Right Click on it.
#/list
</p>

View File

@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title><title>[arg]</title></title>
</head>
<body>
<p><h2>[arg]</h2></p>
<p>
./nirvana_stage_editor.html ./nirvana_stage_editor.html
</p>
<p>
</body>
</html>

View File

@@ -0,0 +1,2 @@
./nirvana_stage_editor.html
./nirvana_stage_editor.html

6
doc/nirvana_docs/update_doc.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
export PATH=~/Programs/rcbasic3
export RC_DOC_HOME=/home/n00b/Projects/rc_docs/RCDocs
rcbasic_run --version
cd /home/n00b/Projects/rc_docs/RCDocs/rc_doc_run
rcbasic_run /home/n00b/Projects/rc_docs/RCDocs/rc_doc_run . .