Internal FXR ID. This ID is used to refer to the effect in other effects, or in params, TAE, and possibly other parts of the game.
This ID must be between 1 and 999,999,999 (inclusive), and it must match the ID in the FXR's filename. If the internal ID does not match the filename, it may cause unexpected behavior.
Controls whether or not to add a state that causes the effect to terminate when external value 0 becomes 1.
A list of nodes to add as direct children of the root node.
Internal FXR ID. This ID is used to refer to the effect in other effects, or in params, TAE, and possibly other parts of the game.
This ID must be between 1 and 999,999,999 (inclusive), and it must match the ID in the FXR's filename. If the internal ID does not match the filename, it may cause unexpected behavior.
A duration for the effect. This is applied through a state with a condition that compares the state time to the duration value.
A list of nodes to add as direct children of the root node.
Internal FXR ID. This ID is used to refer to the effect in other effects, or in params, TAE, and possibly other parts of the game.
This ID must be between 1 and 999,999,999 (inclusive), and it must match the ID in the FXR's filename. If the internal ID does not match the filename, it may cause unexpected behavior.
A list of states for the effect.
A list of nodes to add as direct children of the root node.
Internal FXR ID. This ID is used to refer to the effect in other effects, or in params, TAE, and possibly other parts of the game.
This ID must be between 1 and 999,999,999 (inclusive), and it must match the ID in the FXR's filename. If the internal ID does not match the filename, it may cause unexpected behavior.
Controls whether or not to add a state that causes the effect to terminate when external value 0 becomes 1.
The root node of the effect.
Internal FXR ID. This ID is used to refer to the effect in other effects, or in params, TAE, and possibly other parts of the game.
This ID must be between 1 and 999,999,999 (inclusive), and it must match the ID in the FXR's filename. If the internal ID does not match the filename, it may cause unexpected behavior.
A duration for the effect. This is applied through a state with a condition that compares the state time to the duration value.
The root node of the effect.
Internal FXR ID. This ID is used to refer to the effect in other effects, or in params, TAE, and possibly other parts of the game.
This ID must be between 1 and 999,999,999 (inclusive), and it must match the ID in the FXR's filename. If the internal ID does not match the filename, it may cause unexpected behavior.
A list of states for the effect.
The root node of the effect.
The game hint is set by FXR.read to keep track of what game the FXR file it read was for. It is used by FXR.toArrayBuffer and FXR.saveAs when they are called with Game.Heuristic.
For FXR objects created in any other way, the game hint will always be Game.Generic.
This value can be checked to find out what game the FXR.read function read it as, which might be useful if it was called with Game.Heuristic.
True only if the effect contains an appearance action, and false otherwise. This may be useful for filtering FXR files that are "empty".
Note that this does not check if any referenced FXR files have appearance actions, so an effect that only contains a proxy will return false.
File name for this FXR.
Note that this is not necessarily the name of the file that was parsed. It
generates a new name based on the ID of the FXR. This follows the naming
convention used by the games (f<0-padded ID>.fxr
), so an FXR with 1 as
the ID would be f000000001.fxr
, for example.
Finds and returns a value at a given path. If the path does not match
anything, this returns null
.
For example, to get the appearance action in the second config in the first child node of the root node, you would use this path:
fxr.find(['root', 'nodes', 0, 'configs', 1, 'appearance'])
// Or in string form:
fxr.find('root/nodes/0/configs/1/appearance')
// Both are equivalent to this:
fxr.root.nodes[0].configs[1].appearance
The path to the value to look for.
Gets lists of various types of references in the FXR.
Lists all resources (textures, models, animations, sounds) used in the FXR. Useful for finding out what resources must exist for the effect to work correctly, which is often needed when converting from one game to another.
Creates a minified version of this FXR.
The minified FXR might result in a smaller file size, but should be functionally identical to the FXR it was made from.
Saves the FXR to a file using the fs module from Node.js.
The path to the file.
The game to write this FXR for.
Optional
options: FXRSerializeOptionsSerialize to the FXR file format.
The game to write this FXR for.
Defaults to Game.Heuristic, which means it will use the game hint, unless the hint is also Game.Heuristic, in which case it will check if the FXR contains anything AC6-specific, and then use Game.ArmoredCore6 if it does, and otherwise throw an error, because the game is unknowable.
ArrayBuffer containing the contents of the FXR file.
Static
fromJSONStatic
readParses an FXR file.
This uses the fs module from Node.js to read the file. If you are targeting browers, pass an ArrayBuffer or ArrayBufferView of the contents of the file instead.
A path to the FXR file to parse.
Optional
game: GameThe game the FXR file is for.
Optional
__namedParameters: FXRReadOptionsParses an FXR file.
ArrayBuffer or ArrayBufferView of the contents of the FXR file to parse.
Optional
game: GameThe game the FXR file is for. Defaults to Game.Heuristic, which will make the function try to figure out what it is for automatically.
Accuracy of Game.Heuristic (with valid FXRs):
For Elden Ring and Armored Core 6, it will still correctly parse the file, but gameHint will be very unreliable.
Optional
__namedParameters: FXRReadOptions
An effects resource (FXR, version 4 or 5) for FromSoftware's game engine. Used in Dark Souls III, Sekiro: Shadows Die Twice, Elden Ring, and Armored Core VI Fires of Rubicon.