In gameplay terms, moves can be visualized as nodes in a graph, and cancels are the edges connecting them. A cancel determines how and when a move transitions into another move, based on specific inputs and conditions.
Every move includes at least one cancel. A cancel list ends with a command value of 0x8000.
A cancel resource consists of the following components:
struct tk_cancel
{
uint64_t command;
tk_requirement* requirements;
tk_cancel_extradata* extradata;
uint32_t input_window_start;
uint32_t input_window_end;
uint32_t starting_frame;
uint16_t move_id;
uint16_t type;
};
This structure has remained consistent since Tekken 6.
The type field determines how a cancel behaves. Types include:
The command field specifies the input required to trigger the cancel. It consists of:
forward, down-forward, neutral)LP, RP, Rage Art, Heat)For detailed breakdowns, refer to the Input Extradata resource.
Cancels may refer to external resources using pre-defined command values:
| Value | Meaning |
|---|---|
0x8000 |
End of cancel list |
0x8001 |
Double Tap Forward |
0x8002 |
Double Tap Back |
0x8003 |
Double Tap Forward (alternate) |
0x8004 |
Double Tap Back (alternate) |
0x8005 |
Double Tap Up |
0x8006 |
Double Tap Down |
0x8012 |
Start of Group Cancel (Tekken 8 v2.01) |
0x8013 |
End of Group Cancel (Tekken 8 v2.01) |
0x8014+ |
Input Sequence ID (e.g., 0x8014 = Sequence 0) |
These are the conditions that must be met for the cancel to trigger. See Requirement for details.
Used to specify additional behavior during the cancel transition. For example:
Frame Retention: Allows a move to retain its current frame when canceling.
CD+4), the move visually looks identical whether it's standalone or part of CD+4,1. But internally, they’re separate moves. Using a Cancel Extra Data value of 1024 ensures the frame continuity between the two.Airborne Cancels: Prevents the game from resetting the character’s position to the ground.
Cancel Extra Data value of 128.Throw Mechanic Triggers: Attaches both characters together and simultaneously plays the action and reaction animations on the player and the opponent respectively. The reactions are applied from Hit Condition.
6876 (0x1ADC).More information is available in Cancel Extra Data.
Specifies the timeframe during the current move in which the cancel input can be registered.
input_window_start: The starting frame (inclusive).input_window_end: The ending frame (inclusive).Example: If start = 10 and end = 27, you have 17 frames to input the cancel.
A value of 32767 indicates that the input is valid during the entire move duration.
Specifies the exact frame at which the cancel is applied. If this is set to 0 along with input detection values, it means the cancel occurs at the end of the animation.
Example: EWGF (Electric Wind God Fist) has a 50-frame animation, but cancels back to idle at frame 36.
Defines the destination move to transition into when the cancel occurs.
Move ID >= 32768 (0x8000)
Refers to generic moves.
32769 → Default standing stance32770 → Default crouching stance
Refer to the Generic IDs tab in your spreadsheet.Group Cancels (command == 0x8012)
move_id points to the starting index in the group cancel array.0x8013 is encountered.move_id == 0
Indicates a self-looping cancel — the move continues to cancel into itself.
The type value determines the nature of the cancel:
This distinction allows the engine to differentiate between player-controlled and system-triggered transitions.