Skip to content

csnv/act-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Act Parser

Library for parsing and writing Act files in NodeJS.

Getting started

Prerequisites

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


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

About

Act parser for NodeJS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published