Preset system

The Preset system controls the interface of Fighter Factory. Within this sysem, all buttons, sliders, ..., are placed in the desired position.

As all customizable files of the program, the preset file is a XML document that follows the syntax:

<!DOCTYPE VTKPresetML>
<preset iconset="preferred_iconset" stylesheet="preferred_stylesheet" colorset="preferred_colorset" panel-metric="width,title_top,title_height" extra-metric="width,title_top,title_height">
{interface widget list}
</preset>

Fighter Factory supports a large set of widgets, as described bellow:

Interface widgets

Panel

A panel that contains other widgets and has a title.

Definition:

<panel name="panel_name">
{control list}
</panel>

In the {control list} you can use only widgets of the type Control

Toolbar

A toolbar that contains a set of icons that can trigger functions.

Definition:

<toolbar name="toolbar_name" iconsize="size_of_the_icons">
{button list}
</toolbar>

In the {button list} you can use only widgets of the type Button

Button

A button used in a toolbar.

Definition:

<button name="action_name"/>

The "action_name" can be any action of Fighter Factory 3. To see all possible actions, go to Iconset.

Control

Any other supported interface widget.

Definition:

<control name="ctrl_name" position="left,top" size="width,height"/>

Some controls have additional options:

Button: flat="true_or_false" and/or icon="icon_size". Buttons are treated in the same way as the toolbar ones, then you can use any action supported by toolbars as 'ctrl_name' (except the ones prefixed with 'imgedit' or 'advpal').

Label: align="horizontal,vertical". Horizontal and vertical can be 'left', 'top', 'right', 'bottom' or 'center' and 'justify' for horizontal only

Slider: orientation="horizontal_or_vertical".

All supported controls are listed below, except those listed for buttons (see Button for more details).

Here, we will use the notation: "ctrl_name: Widget(max instances); Description". If omitted, 'max instances' is supposed to be 1.

For controls that are editor-dependent, we use a underlined ctrl_name. When the user activates one of these controls, the program will switch to the editor of the control's preffix. Eg.: 'spr_sel' will switch to the sprites editor even if used in another editor. Most of the actions listed in the Iconset section are editor-dependent.

def_tree: TreeView; Hierarchical list of groups in the definitions document.

cmd_tree: TreeView; Hierarchical list of groups in the commands document.

st_tree: TreeView; Hierarchical list of groups in the states document.

spr_sel: Slider; Current sprite selector.

spr_sel_lb: Label; Current sprite (current index / count).

spr_grp_lb: Label; Sprite group.

spr_grp: IntEdit; Sprite group.

spr_num_lb: Label; Sprite index.

spr_num: IntEdit; Sprite index.

spr_xaxis_lb: Label; Sprite x axis.

spr_xaxis: IntEdit; Sprite x axis.

spr_yaxis_lb: Label; Sprite y axis.

spr_yaxis: IntEdit; Sprite y axis.

spr_prev_grp: Button; Previous sprte group.

spr_next_grp: Button; Next sprite group.

spr_pos_left: Button; Move sprite 1px to the left.

spr_pos_up: Button; Move sprite 1px up.

spr_pos_right: Button; Move sprite 1px to the right.

spr_pos_down: Button; Move sprite 1px down.

spr_dec_load: CheckBox; Decompress sprite on load.

spr_trans_color: CheckBox; Displays the transparency color.

spr_switch_pal: CheckBox; Switch to the sprite palette.

spr_info_lb: Label; Sprite's image information (size, format and sharing).

spr_onion_skin: CheckBox(2); OnionSkin activation.

spr_onion_sel: Slider(2); Current OnionSkin sprite selector.

spr_onion_lb: Label(2); OnionSkin position.

pal_sel: Slider; Current palette selector.

pal_sel_lb: Label; Current palette (current index / count).

pal_grp_lb: Label; Palette group.

pal_grp: IntEdit; Palette group.

pal_num_lb: Label; Palette index.

pal_num: IntEdit; Palette index.

pal_prev_grp: Button; Previous group.

pal_next_grp: Button; Next group.

pal_view: Palette; Palette widget.

air_sel: Slider; Current animation selector.

air_sel_lb: Label; Current animation (current index / count).

air_number_lb: Label; Animation number.

air_number: IntEdit; Animation number.

air_name_lb: Label; Animation name.

air_name: TextEdit; Animation name.

air_frame_lb: Label; Animation frame.

air_frame_sel: Slider; Animation frame selector.

air_frame_sel_lb: Label; Current frame position (current index / count - tick count).

air_frame_grp_lb: Label; Frame's sprite group.

air_frame_grp: IntEdit; Frame's sprite group.

air_frame_num_lb: Label; Frame's sprite index.

air_frame_num:IntEdit; Frame's sprite index.

air_frame_xaxis_lb: Label; Frame's x axis.

air_frame_xaxis: IntEdit; Frame's x axis.

air_frame_yaxis_lb: Label; Frame's y axis.

air_frame_yaxis: IntEdit; Frame's y axis.

air_pos_left: Button; Move the frame's position 1px to the left.

air_pos_up: Button; Move the frame's position 1px up.

air_pos_right: Button; Move the frame's position 1px to the right.

air_pos_down: Button; Move the frame's position 1px down.

air_frame_time_lb: Label; Frame's time.

air_frame_time: IntEdit; Frame's time.

air_frame_flip_lb: Label; Frame's flip effect.

air_frame_flip: ComboBox; Frame's flip effect.

air_frame_trans_lb: Label; Frame's transparecy.

air_frame_trans: ComboBox; Frame's transparecy type.

air_frame_transsrc_lb: Label; Alpha source.

air_frame_transsrc: IntEdit; Alpha source.

air_frame_transdst_lb: Label; Alpha destination.

air_frame_transdst: IntEdit; Alpha destination.

air_frame_loop: CheckBox; Start loop in the current frame.

air_frame_xscale_lb: Label; Frame's x scale.

air_frame_xscale: FloatEdit; Frame's x scale.

air_frame_yscale_lb: Label; Frame's y scale.

air_frame_yscale: FlotEdit; Frame's y scale.

air_frame_angle_lb: Label; Frame's angle.

air_frame_angle: FloatEdit; Frame's angle.

air_frame_intp: Label; Frame interpolation.

air_frame_intp_offset: CheckBox; Interpolate offset.

air_frame_intp_blend: CheckBox; Interpolate blend.

air_frame_intp_scale: CheckBox; Interpolate scale.

air_frame_intp_angle: CheckBox; Interpolate angle.

snd_sel: Slider; Current sound selector.

snd_sel_lb: Label; Current sound position (current index / count).

snd_grp_lb: Label; Sound group.

snd_grp: IntEdit; Sound group.

snd_num_lb: Label; Sound index.

snd_num: IntEdit; Sound index.

snd_prev_grp: Button; Previous group.

snd_next_grp: Button; Next group.

snd_info_lb: Label; Sound information (Channels, sample rate, bit count, duration).

org_list: ListView; Orginizer list.

thumb_grp_list: ComboBox; Sprite group list.

thumb_view: ListView; Thumbnail container.