# Fighter Factory Studio - Reference Documentation

For problems and bug report, go to VirtuallTek Game Studios web site. For doubts related to some specific engine, go to their own web pages or community forums.

# Menu Sprites

The Sprites menu is used to manipulate the sprites (images) of the project.

## New

Create a new empty file.

## Open

Open an existing file. Note: When loading a SFF 1.0.1.0 (character), all external palettes must be opened later to preserve all SFF 2.x possibilities.

## Save

Overwrite the last saved file, if it exist. Else, execute 'Save as...'.

## Save as...

Save the sprites on a new file. This function asks for the output format.

## Add

Add one or more sprites, starting on the next position from the current.

First, you must select all files you want to add. After it, the 'Add sprites...' window will be shown. In this window, you can choose some options used to define all the sprite information. The options are:

Detect group/index from filename: sprite's group/index detected from the filename. Supported patterns are "group_index", "group-index" and "group,index".

Group: sprite's group.

Index: sprite's index within the group, defined by the field value. You can choose the increment by selecting the appropriate option below the field (one by one or ten by ten).

Axis: sprite's axis. You can choose the axis position clicking in one of the buttons. If none button is pressed, the custom X/Y values will be used.

Palette: sprite's palette. The 'Reversed' option determines if the image indexes will be inverted or not (only on 8-bit images). Below it, you can choose the source of the palette, that can be:

Image's own palette, that will be added to the editor if doesn't exist any equal palette.

Force the specified palette. The image indexes will be changed to match with the closest color (starting from the index 0) in the palette (group, index) specified in the fields below. Note: the target palette must be present in the editor.

Exchange with the specified palette. The image indexes will be kept, but the sprite will point to the palette (group, index) specified in the fields below. Note: the target palette must be present in the editor.

Crop options: defines if the image will be cropped and the method (before or after the axis calculation).

If you hit OK, the options above will be applied. Else, the default options will be used (group: 0, index: 0, axis: 0,0, image's own palette, don't crop).

## Delete

Removes the current sprite. Note: A confirmation will be shown if is defined in the Options window. The sprite palette will be kept.

## Duplicate

Duplicate current sprite.

## Change image...

Change the current sprite image. Note: The palette of the sprite will be kept in the editor, but the new image will point to your own palette if it is different from the old one.

## Save image changes

Save changes made in current sprite. Note: Only on Image editor mode.

## Save image...

Save one or more sprite to a file (image). This function displays the 'Items' window that defines what sprites will be saved.

## Save image (aligned)...

Save one or more sprites to a file (image), with a fixed axis that reflects the alignment of all sprites (perfect axis). This function displays the 'Range' window that defines what sprites will be saved. See Save image...

## Resize

Resize one one or more sprites. This function displays the 'Resize' window that defines what sprites will be resized.

The options are:

Current: only the current one.

All: all sprites.

Group: all sprites of this group.

Intervall: only the indexes from Start to End.

Width scale: scale factor for image width.

Height scale: scale factor for image height

Filter: scaling filter:

Nearest neighbor: simple filter that catch nearest colors.

Bilinear: bilinear filter that samples nearest colors.

EPX + Nearest neighbor: Eric's Pixel Expansion (EPX) is an algorithm developed by Eric Johnston at LucasArts around 1992. This filter scales to 2X, 3X and 4X. Nearest neighbor will be used after it to reach desired scaling factor.

EPX + Bilinear: Eric's Pixel Expansion (EPX) is an algorithm developed by Eric Johnston at LucasArts around 1992. This filter scales to 2X, 3X and 4X. Bilinear will be used after it to reach desired scaling factor.

HQ + Nearest neighbor: hqx is an algorithm developed by Maxim Stepin's. This filter scales to 2X, 3X and 4X. Nearest neighbor will be used after it to reach desired scaling factor.

HQ + Bilinear: hqx is an algorithm developed by hqx is an algorithm developed by Maxim Stepin's. This filter scales to 2X, 3X and 4X. Bilinear will be used after it to reach desired scaling factor.

Note: On Image editor mode resizes only the current sprite.

## Crop image

Removes all empty pixels in the borders of the current image. This function displays the 'Range' window that defines what sprites will be cropped.

The options are:

Current: only the current sample.

All: all samples.

Group: only the specified group.

Intervall: only the interval from Start to End (sample index within the group).

## Delete group

Displays a window to the user choose a group to delete.

The options are:

Group: the group to delete.

Entire group: all sprites of this group.

Intervall: only the indexes from Start to End.

Note: No confirmation will be shown if you hit OK. The sprite palette will be kept.

## Rename group

Displays a window to the user choose a group to rename (entire group or intervall) and the new group number.

The options are:

Group: the group to rename.

New group: the new group number.

Entire group: all sprites of this group.

Intervall: only the indexes from Start to End.

Note: No confirmation will be shown if you hit OK.

## Alignment tool

Displays the sprite alignment window. In this window, you can adjust the axis of all selected sprites in the list.

The X and Y fields are used to define the increment. You can also enter a negative number to decrement.

To select a sprite, click on the list. For more than one sprite you can use Ctrl+Click (add the item to the curret selecton) or Shift+Click (range selection).

On the bottom-right you have three buttons to manipulate the current selection (Select all, Clear selection and Inverse).

Every time you hit Apply, the increment will be applied.

## Image editor

Switch to Image editor mode. Note: Some functions will be disable while other ones will become available.

## Split channels

Split the RGB channels of the current sprite into three new sprites, one for each channel. Note: The current sprite will be replaced by the Red channel.

## Layers

Layers menu. The options are:

Add: Add a new empty layer.

Delete: Remove current layer.

Duplicate: Duplicate current layer.

Merge visible: Merge all visible layers.

Merge all: Merge all layers.

## Image

Image menu. The options are:

Original: View zoomed and original image side by side.

Properties: Change image properties, like size and pixel format.

## Select

Select menu. The options are:

All: Select the entire canvas.

Deselect: Clear selection.

Invert: Invert selection.

## Rotation

Rotation menu. The options are:

Rotate: Rotate canvas by degrees, clockwise.

Flip horizontally: Flip all pixels horizontally.

Flip vertically: Flip all pixels vertically.

## Export...

Exports a group or all sprites. The 'Export' window will be shown to define the sprites that will be exported. After it, you must define the output and format (Fighter Factory or SprMaker2). Then, the sprites will be saved (PNG format) and a text file will be generated with the sprite information.

## Import...

Import one or more sprites to the editor from a Fighter Factory Export file. All sprites and palettes described in the file will be imported.

You may be prompted to resolve collisions.

Note: The sprites will be placed in the next position from the current sprite.

## Import from another project...

Import one or more sprites from another project in the same Fighter Factory instance.

The options are:

Source

Project: the source project.

You must select the sprites you want to import, and add them to the destination list.

Destination

Besides the list of sprites to import, you can rename items to avoid conflicts and/or choose conflict resolution option:

Replace existing: replace sprites with the same identifier.

Skip (don't add): ignore sprites who identifier already exists.

Note: The sprites will be placed in the next position from the current sprite.

Palette

Is this section you can choose the source of the palette, that can be:

Image's own palette, that will be added to the editor if doesn't exist any equal palette.

Force the specified palette. The image indexes will be changed to match with the closest color (starting from the index 0) in the palette (group, index) specified in the fields below. Note: the target palette must be present in the editor.

Exchange with the specified palette. The image indexes will be kept, but the sprite will point to the palette (group, index) specified in the fields below. Note: the target palette must be present in the editor.

## Switch to the frame's sprite...

Everytime you go back from Animations editor, the current sprite will be set to the current frame in that editor.