@csnvrag/act-parser
v1.1.3
Published
Parser for Ragnarok Online Act files
Downloads
2
Readme
Act Parser
Library for parsing and writing Act files in NodeJS.
Getting started
Prerequisites
- Install Node.js which includes Node Package Manager
Installation
Install act-parser directly from NPM
npm install @csnvrag/act-parser
Or from Github
npm install https://github.com/csnv/act-parser.git
API Reference
- fromFile(filepath)
static async function
- fromBuffer(buffer)
static function
- toFile(filepath)
async function
- toBuffer()
function
- header
string
- version
number
- events
array
- actions
array
- intervals
array
- fromFile(filepath)
- frames :
array
- frames :
- getEvent() :
function
- setEvent(eventName) :
function
- range1 :
array
- range2 :
array
- eventId :
number
- layers :
array
- anchorPoints :
array
- getEvent() :
ActFile class
ActFile is the top level class of this library. Along with the file information, actions, frames, events, etc can be accesed through this class.
fromFile(filepath) static async function
Reads file specified in filepath
and returns an ActFile instance. This is the most straightforward method for reading act files.
Example:
import { ActFile } from "@csnvrag/act-parser";
const monsterFile = await ActFile.fromFile('./monster.act');
fromBuffer(buffer) static function
Parses a Buffer
with the contents of an .act file into an ActFile instance. In contrast to fromFile
, this method does not read files directly.
Example:
import { ActFile } from "@csnvrag/act-parser";
import { readFile } from "fs/promises";
const fileBuffer = await readFile('./monster.act');
const monsterFile = ActFile.fromBuffer(fileBuffer);
toFile(filepath) async function
Writes current act file into a file, specified in filepath.
Example:
await monsterFile.toFile('./monster-copy.act');
toBuffer() function
Writes current act file into a buffer and returns the buffer for further processing. Example:
const buffer = monsterFile.toBuffer();
await writeFile('./monster-copy.act', buffer);
header string
Header information of the file. Must be AC
.
version number
Version of the file. Currently, this library supports from 0x200
to 0x205
.
Note: Act-parser saves files in version 0x205
.
events array
Dynamic list of events. Each event is a string of max 40 characters.
actions array
Dynamic list of Actions.
intervals array
Dynamic list of intervals, equal to the number of actions (one interval per action). Time in milliseconds after a certain action.
Action class
Action represents each direction in a sequence of frames.
frames array
Dynamic list of Frames
Frame class
Frame object in a sequence of frames. Tightly linked with sprites.
getEvent() function
Returns the name of the current frame event. Undefined
if none associated.
setEvent(eventName) function
Assigns the label in eventName
to the frame. If such label does not exist in ActFile.events
, it's added automatically.
range1 array
range2 array
layers array
Dynamic array of Layers
eventId number
0-based index of the assigned event of frame in ActFile.events
. -1
if no event is assigned.
anchorPoints array
Dynamic array of AnchorPoints
Layer class
Layer representation of a sprite's bitmap.
x number
Horizontal position in frame.
y number
Vertical position in frame.
sprId number
ID of sprite bitmap used in layer.
flags number
Bitflags of layer. Currently, only used for mirroring the layer on the y-axis.
color array
Tint of the layer in RGBA form: [0, 0, 0, 0] to [255, 255, 255, 255]
xScale number
Scale factor for width
yScale number
Scale factor for height
rotation number
Rotation of the layer around its center, in angle degrees.
sprType number
The type of the sprite used from SPR. 0 == Palette sprite, 1 == RGBA sprite.
width number
Width of the layer.
height number
Height of the layer.
AnchorPoint class
Anchor points of current frame.
x number
Horizontal position in frame.
y number
Vertical position in frame.
attr number
Attribute reference info