Documentation (2.0.3)

This page attempts to provide exhaustive documentation of all the of features advASCIIdraw. If you believe you know a feature that is missing or if you find any mistakes, please let us know, so we can fix it.

This is the offline documentation. The online documentation can be found at amulware.net/advASCIIdraw/documentation.

Index

  1. Main Menu
  2. Tools
    1. View
    2. Select
    3. Brush
    4. Type
  3. Charset Window
  4. Palette Window
  5. Layer Window
  6. Keyboard Shortcuts
    1. Interface
    2. Tools
  7. Console
  8. File Formats
    1. Settings (.ini)
    2. Presets (.cps)
    3. Charsets (.chr)
    4. Colour Palette (.pal)
    5. ASCII Image Format (.ascii)

Main Menu

up

File

View

Presets

Windows

Export

Help

Tools

up

Tools are selected by clicking their icon in the tool bar to the right, or by using the appropriate shortcut. The status bar at the bottom of the screen shows which tool is selected and some tools use it to show additional useful information about their status.
Most tools also have an additional options bar that appears at the top of the screen when the tool is selected. It features additional functions and settings to modify how the tool works.
While most of the tools functions are accessible with the mouse, there are some features that require the use of the keyboard.

Lastly, there are certain features that are always available regardless of the selected tool:

View Tool (V)

Using the view tool is synonymous with having no tool selected. The user can pan around the image using either mouse button and zoom in and out.

Select Tool (S)

With the selection tool, the user can select rectangular areas of the image by dragging the primary mouse button. Selected areas can be deleted, filled, moved or copied.

Options

  • Select All
    Selects the entire image.
  • Deselect All
    Deselects the entire image.
  • Copy to new Layer
    Copies the selected area of the currently active layer into a new and otherwise empty layer that is created above it.

Modifying Selection

Note that the statusbar shows which of the following modes is currently active, whenever the tool is selected.

  • Selecting
    The user can select an area by dragging with the primary mouse button.
  • Moving Selection (ALT)
    By holding the ALT key while dragging the user can move the selected area, without modifying the image.
  • Cutting (SHIFT)
    When holding the SHIFT key while starting to drag, the selected area is cut from the currently selected layer. Once the mouse button is released the area is merged back into the layer at the new position.
  • Copying (CTRL)
    Using the CTRL key serves a function very similar to that of the SHIFT key. But instead of cutting out the selected area, the originally selected area is left intact. The user can drag around the created copy of that area and merge it into the layer at any position by releasing the mouse button.

Shortcuts

  • Fill (F/INS)
    Fills the selected area with the currently active brush.
  • Delete (X/DEL)
    Removes all characters from the selected area.
  • Copy (CTRL+C)
    Copies the selected area into the clipboard.
  • Cut (CTRL+X)
    Cuts the selected area from the active layer and copies it into the clipboard.
  • Paste (CTRL+V)
    If the last thing to be copied or cut to the clipboard was a selection from advASCIIdraw, that selection is pasted from the clipboard into the active layer. When pasting, the selected area does not matter, the entire clipboard content is always pasted to the image, provided the image is large enough. However, the top left corners of the selection and of the pasted area will always coincide. Also note, that advACIIdraw uses the system wide clipboard. This means that the user can paste not only within a layer, or an image, but even between images opened after one another, or images opened at the same time in seperate instances of advASCIIdraw.
    Be aware that the copying, cutting and pasting shortcuts are fully functional, no matter which tool is active, as long as some area is selected.

Brush Tool (B)

The brush tool is the main editing tool of advASCIIdraw. With it the user can draw characters and/or colour by simply holding down the primary mouse button. The tool supports different sizes and shapes and has several other options, modifying how it can be used.
Note that the brush tool can also act as an eraser, when the erasing character is drawn.

Options

  • Draw Character
    Toggles whether or not brush strokes can change the characters of the active layer.
  • Draw Colour
    Toggles whether or not brush strokes can change the colour of the active layer.
  • Size
    Select the size of the brush.
  • Shape
    Select the shape of the brush.
  • Air Brush
    Toggles whether or not the brush continues to change the symbols under it while painting, or if each symbol is changed only once per stroke.
  • Fill Rate
    Change the fill rate of the brush. Note that the displayed fill rate is only accurate when the air brush is turned off. With the air brush, the brush continues to paint for as long as the primary mouse button is held down, so that even low fill rates can fill most of an area very quickly.

Shortcuts

  • Pipette (CTRL)
    Holding down the CTRL key with the brush tool selected switches to the pipette mode. In this mode the brush does not draw but instead pick up the character and/or colour (depending on the tools settings) directly at the cursor and selects them in the single selection area.

Type Tool (T)

The type tool enables simple text input directly in advASCIIdraw, as well as pasting of text prepared in an outside program.
Note, that before any text can be input or pasted, the user has to set a cursor in the image with the primary mouse button.

Options

  • Draw Character
    Toggles whether or not typing can change the characters of the active layer.
  • Draw Colour
    Toggles whether or not typing can change the colour of the active layer.
  • Paste Text
    Pastes any text currently in the system wide clipboard at the tools cursor. Note, that this function can only paste text in the extended ASNI format, and that control characters are ignored, with the exception of the new line character which forces a new line. Also be aware that pasting behaves the same way as if the pasted text was typed in manually, including automatic line breaks and cutting off of text if the end of the image is reached.

Inputting Text

Once a cursor is placed, inputting text behaves naturally, except for in specific cases. Both the backspace and return key are functional and the cursor can be moved with the arrow keys. However, if the cursor is moved the tool looses track of the lengths of previous lines and will not be able to jump back to the end of the line correctly. Note also, that the tool automatically jumps to the next line when the right border of the image is reached and will be unable to perform after reaching the bottom of the image.

Shortcuts

  • Move cursor (,,,)
    Moves the cursor one symbol in the given direction.
  • Insert (INS)
    Inserts a character from the active brush at the cursor. By holding down the INS key while moving the cursor, each selected tile is filled.
  • Delete (DEL)
    Clears the character at the cursor. By holding down the DEL key while moving the cursor, each selected tile is cleared.

Charset Window

up

Note that the charset window functions very similarly to the palette window and their documentation is virtually identical

The charset window lets the user select which character or characters they want to draw. One can either draw a specific character, or use modifyable presets to create customised brushes. Whether single characters or presets are used depends on which tab in the window is active.

Single Tab

Preset Tab

The preset tab allows for the creation and use of customisable brushes. A preset consists of any number of characters, each of them associated with a percentage, all of them adding up to 100%. When the preset is used to draw, characters are selected from it at random, according to these percentages.

Palette Window

up

Note that the palette window functions very similarly to the charset window and their documentation is virtually identical

The palette window lets the user select which colour or colours they want to draw. One can either draw a specific colour, or use modifyable presets to create customised brushes. Whether single colours or presets are used depends on which tab in the window is active.

Single Tab

Preset Tab

The preset tab allows for the creation and use of customisable brushes. A preset consists of any number of colours, each of them associated with a percentage, all of them adding up to 100%. When the preset is used to draw, colours are selected from it at random, according to these percentages.

Layer Window

up

The layer window holds an overview over all the layers in an image, and lets the user select, create, delete and merge layers, hide or show layers, and change a layer's name and other settings.

Layers can be selected by clicking on them, and reorded by dragging them up or down the list with the primary mouse button. Note, that for the purpose of this documentation, the selected layer and the active layer are synonymous.

Layer Management

Layer Options

Keyboard Shortcuts

up

While shortcuts corresponsing to specific tool or interface options are mentioned above with the corresponding feature, here is a complete list of all keyboard shortcuts and controls in advASCIIdraw:

Interface

Files

Copy & Paste

Other

Tools

Select Tools

These keys select their respective tool. Note that you cannot select a different tool with these while the typing tool is selected.

Tool Modifiers

These keys change the function of the primary mouse button when using tools.

Other Tool Shortcuts

Console

up

The console of advASCIIdraw has two main functions. First, it confirms certain user actions that do not necessarily have visible effects, like copying into the clipboard. The second function are commands that the user can enter to force certain actions or modify the behaviour of the program in certain ways. Note that when the console displays any status message, entered command or anything else the last line will be shown towards the bottom of the editing area for a few seconds. This is especially useful to confirm that using a shortcut had the desired effect.

The console commands of advASCIIdraw are a feature that most users do not need to worry about. It features mainly commands that are not reachable using the normal user interface and serves purposes of debugging and error reporting. The console can be opened from the View item in the main menu.
A command can be entered into the input field of the console and confirmed by pressing ENTER or with the submit button. Previous commands can be selected, changed and resubmitted by the UP and DOWN arrow keys.

Note that console commands are meant for the experienced user only and have few saveguards to prevent them from causing harm to the running program. The available commands are as follows.

File Formats

up

Most files used by advASCIIdraw are plain text files and can be edited with any regular text editor. All these plain text files allow for comments marked by the # symbol. Anything in a line after a # is ignored for any of these files. Further, whitespace at the beginning and end of lines as well as empty lines or lines containing only whitespace are also ignored. For all files that represent an entity in the application (like a preset or colour palette) the filename without the extension is also used as a name when displaying that entity.

Unless otherwise specified, all paths below are to be taken with respect to the advASCIIdraw executable.

Settings (.ini)

The advASCIIdraw settings file is located at data/settings.ini. Any line in it will be executed in the applications console upon start of the program. This means that all console commands are valid settings, though not all of them are useful and some of these, like quit may be disallowed in the future.

This file is particularly useful for setting different default settings for the interface or rendering to fix glitches or set user preferred preferences. For changes to the settings file to take effect, the program has to be restarted. The most useful console commands for the settings file are:

Presets (.cps)

Saved character and colour preset files can be found in data/gfx/charpresets/ and data/gfx/colorpresets/ respectively. As both charsets and colour palettes have 256 entries, these files are of the same format, though in which folder they are placed changes their meaning.

Each preset can contain any number of lines, each corresponding to an entry in the preset. Each line contains two values seperated by a comma. The first is an integer between 0 and 255 (inclusive), the index of the character or colour. Note that for standard charsets, the character index is equal to the ASCII/ASNI value of that character. The second value, an integer or floating point number, is the freqency of that entry in the preset. These frequencies do not have to be fractions and do not have to sum up to 1, 100 or any other particular number. The program will automatically adjust the preset so that the total percentage of all items will sum to 100%.

Presets are allowed to contain multiple entries with the same index, however there is no intrinsic reason for this being a useful feature.

Charsets (.chr)

Charsets are defined by two files, which should both be placed in data/gfx/charsets/. One of them is an image file that contains the actual symbols in an equally spaced 16x16 grid, counted row first, starting from the top-left corner of the image. Note here that a standard charset should have the appearance of a character coincide with the appropriate ASCII/ANSI character of the same index. However, non-text based charsets are entirely possible.

Note that the allowed image formats are .bmp, .jpg and .png, the last being preferred for its lossless compression and for providing an alpha channel. In fact, if no alpha channel is provided in the image, the lightness will determine the image's transparency, with lighter pixels being more opaque and darker pixels being more transparent. Also note that the image file should be square and have dimensions that are powers of two(128x128, 256x256, ..). Otherwise there might be display errors.

The second file is a plain text file with extension .chr that contains three lines of assignments of the form "attribute = parameter". The three attributes are image, charwidth and charheight. The first takes the filename of the charsets image as parameter, while the other two define the size of a single character in the image, in pixels.

The name used for charsets in the application is the name of the .chr file.

Colour Palette (.pal)

Colour palette files are placed in data/gfx/palettes/ and contain a set of colours used for drawing in ascASCIIdraw.

A palette file can contain up to 256 lines, that each specify one colour of the palette and do so in the order given. Any more than 256 non-empty, non-comment lines will be ignored and if less than 256 colours are specified, the rest will default to Gray (808080). Each line contains its 24bit RGB colour value as a hexadecimal string. For example FFA500 for Orange, or 0000FF for Blue. The three character shorthands, like C40 instead of CC4400, common in web development, are not supported and will be interpreted as 000C40 instead.

ASCII Image Format (.ascii)

The binary .ascii file format used by advASCIIdraw is custom made for the purpose of storing ASCII image information. It is highly flexible with regards to extension in the future and both backwards and forwards compatible.

A detailed description of the format may be added in the future.