MenuSVG

Menus are desinged to be created and edited using the SVG format so you can use Inkscape as a GUI. Inside Inkscape just pres  and you can add, delete and set SVG tags and attributes. However you can edit them whitout Inkscape because SVG works the same way as XML.

Image description

 * The tags are colored in emerald.
 * The attributes are colored in violet.
 * The tag texts (not the attributes) are colored in orange.
 * [allows multiple] : The engine recognizes multiple tags declaration.
 * [integer] : The attribute is a numeric integer value. (examples: "128", "24", "53")
 * [string] : The attribute is a text string value. (example: "Basic bullet", "misc/winner/1.png", "Chuy")
 * [yes/no] : The attribute is a boolean "yes" or "no" vaule. (example: "yes", "no").
 * [mandatory] : The attribute is mandatory and has to be defined.
 * [default=X] : If the attribute is not defined, it will take the X value as default.

Tags description
Bold represents the Tags.

Italic represents the attributes.
 *   - Standard that let us know that we're using SVG.
 *  - SVG standard that indicates where are the graphics components.
 *  (no type) - Image displayed on the menu. Allows sonme effects as fade in or displacement.
 * ​xlink:href - Image path, select a relative path so the game can work on multiple PCs.
 * x - Image position x on the screen.
 * y - Image position y on the screen.
 * width - Image width.
 * height - Image height.
 * displacement_x - Each iteration, this value will be added to the position in the x axis of the image.
 * displacement_y - Each iteration, this value will be added to the position in the y axis of the image.
 * stop_displacement_x_at - Stops the displacement_x at this iteration.
 * stop_displacement_y_at - Stops the displacement_y at this iteration.
 * fade_in_initial - Initial transparency value from 0 to 255.
 * fade_in_speed - Each iteration, this value will be added to the tranparency of the image.
 *  (type="button") - Button that send us to another menu.
 * ​xlink:href - Button image path, select a relative path so the game can work on multiple PCs.
 * action - Action that will be executed when pressed. For now the only action available is "load" to load another menu.
 * load_menu - Menu to load path, select a relative path so the game can work on multiple PCs.
 * x - Button position x on the screen.
 * y - Button position y on the screen.
 * width - Image's width.
 * height - Image's height.
 * text_x - Text position x displayed in the menu, this is relative to the button position.
 * text_y - Text position y displayed in the menu, this is relative to the button position.
 * text - Text string displayed.
 * image_selected - Image displayed when the button is selected.
 * text_x_selected - Text position x when the button is selected, this is relative to the button position.
 * text_y_selected - Text position y when the button is selected, this is relative to the button position.
 * text_selected - Text displayed when the button is selected.
 *  (type="char_select") - Character selector.
 * x - Character selector position x on the screen.
 * y - Character selector position y on the screen.
 * size_x - Amounts of columns of selectable characters.
 * size_y - Amounts of rows of selectable characters.
 * box_size_x - Box width.
 * box_size_y - Box height.
 * box_separation_x - Amounts of pixels that separate each box in the x axis.
 * box_separation_y - Amounts of pixels that separate each box in the y axis.
 * chars_player1 - Amount of selectable characters for player 1.
 * chars_player2 - Amount of selectable character for player 2.
 * preview_player1_x - Player 1 preview position x on the screen.
 * preview_player1_y - Player 1 preview position y on the screen.
 * preview_player2_x - Player 2 preview position x on the screen.
 * preview_player2_y - Player 2 preview position y on the screen.
 * player_1_cursor_x - Player 1 cursor's initial position x.
 * player_1_cursor_y - Player 1 cursor's initial position y.
 * player_2_cursor_x - Player 2 cursor's initial position x.
 * player_2_cursor_y - Player 2 cursor's initial position y.
 * <​rect/> (type="stage_select") - Stage selector.
 * x - Stage selector position x on the screen.
 * y - Stage selector position y on the screen.
 * arrow_left_x - Left arrow position x, relative to the stage select position.
 * arrow_left_y - Left arrow position y, relative to the stage select position.
 * path_left - Left arrow image path.
 * arrow_right_x - Right arrow position x, relative to the stage select position.
 * arrow_right_y - Right arrow position y, relative to the stage select position.
 * path_right - Right arrow image path.
 * arrow_left_x_selected - Left arrow position x on selected, relative to the stage select position.
 * arrow_left_y_selected - Left arrow position y on selected, relative to the stage select position.
 * path_left_selected - Left arrow image path on selected.
 * arrow_right_x_selected - Right arrow position x on selected, relative to the stage select position.
 * arrow_right_y_selected - Right arrow position y on selected, relative to the stage select position.
 * path_right_selected - Left arrow image path on selected.
 *   - Text displayed in the menu
 * x - Text position in the screen's x axsis.
 * y - Text position in the screen's y axsis.
 *   - The text (not the attributes, the text) represents the text displayed.