npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@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

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