Canon Collision Manual

Controller Setup

Controller Support

You cannot use a keyboard as a controller, you must setup a controller as below.

WiiU adapter setup

Follow the steps for your OS, found under Installation at this Dolphin Wiki page. There is no need to perform the steps listed under Dolphin Setup.

Make sure your adapter is set to Wii U mode.

There is no need to perform any mapping.

Other Controller Setup

Your controller may or may not be already mapped to a Gamecube controller. If Canon Collision isn't responding to your controller you may need to create a map for your controller.

Gameplay

Use a on your GC controller to: select package, select local, select characters, select stages and FIGHT! Use b on your GC controller to go to previous menus (keep pressing to reach package select screen)

The player outlines are used to signify which team they belong to, you can change teams on the character select screen.

Camera

Middle click to pan the camera. Scroll to zoom the camera. Press Backspace to return control of the camera to the game.

Editor

Always backup any changes you are working on. Due to the nature of the interface it is super easy to accidentally destroy work without realising.

To work through some examples check out the editor-tutorial.

The pause screen is where all the editing action occurs. Make sure you are on the pause screen to make use of the following tools.

Game Flow

Use the following keys to alter the flow of the game

Editor Selector

Before editing anything you must first select what you wish to edit:

Element Selection

Sometimes you need to make ANOTHER selection with your mouse. In different editor modes you can select different elements to modify them.

Modifiers

Debug Displays

While in the relevant editor mode (keys 0-9) you can toggle various debug displays. Textual debug output is also written to stdout every time a frame is changed or modified. Use F1-F12 to toggle them.

Fighter Editor (1-9)

Debug Displays

Frame editing

Collision Box editing

Most of these operations will apply to all selected colboxes:

Linking collision boxes allows them to be pivoted in pivot mode. Meld links combines collisionboxes into a single collisionbox.

Stage Editor (0)

Debug Displays

Element Editing

The following operations apply to all selected platforms and re/spawn points

Command line

Press '~' to open the command line in Canon Collision. Alternatively you can use the cc_cli binary to send commands via your OS's terminal to Canon Collision. Note that when using cc_cli you will need to escape characters that have special meaning to your shell. e.g. quotes

The Canon Collision command line is very powerful, at the price of complexity. We recommend you work through the Command Line section of the Editor Tutorial if you have not yet worked with the Canon Collision command line tool. You can then come back here if you ever need a reference.

Breakdown

Lets give a quick breakdown of an example command. This command sets the weight of someFighter in the package myPackage to 1.2:

package.fighters[base_fighter.json].weight:set 1.2

A command consists of:

  1. properties, indexes and keys to select an object.
  2. A command to do something to the selected object.
  3. Some commands require extra values to tell it what to do.

Actions

Different objects support different commands:

All objects support the following commands:

Getter

Get object properties with dot notation.

object.property

Indexing

Sometimes an objects properties require an index or key to access them.

Context

There are many contexts available that allow you to quickly access the object you want to modify. Setting a colbox to radius 10 can be done the primitive way. Objects are chained together with '.' and indexed by [] like this:

package.fighters["fighter.json"].actions[0].frames[0].colboxes[2].radius:set 10

However how are you supposed to know all of these indexes? o.0 Instead you can let Canon Collision use context to know what you want to modify. Select the hitboxes you want in game then run:

cc package.fighters[?].actions[?].frames[?].colboxes[?].radius:set 10