Skip to content

gamesaucer/CustomiZ3-Core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CustomiZ3-Core

Build Status Coverage Status NPM Version Code Style: Standard

Description

CustomiZ3 is a tool for customizing Zelda 3 roms. It relies fully on the contents of the provided rom, as most of its editing capability consists of pointing to other parts of the rom and copying over values.

The tool has an internal map of where to find certain game data, and by providing instructions, it becomes possible swap or copy the behaviour of things such as holes, bird locations and whirlpools to other objects of the same type.

Installation

You can use Node package manager to install CustomiZ3.

npm install @gamesaucer/customiz3-core

Usage

Use CustomiZ3 in a project as follows:

const CustomiZ3 = require('@gamesaucer/customiz3-core')
// or:
const { getPatcher, getRomVersion, getDomainList } = require('@gamesaucer/customiz3-core')

Retrieve the version data of a rom by calling getRomVersion and providing the path to the rom file:

const version = await CustomiZ3.getRomVersion('path/to/rom')

Get a list of Domain objects for a set of changes by calling getDomainList and providing the changes:

const domainList = await CustomiZ3.getDomainList(changes)

Get a PatcherFactory by calling getPatcher and providing the Domain list and the rom version. Then call the PatcherFactory with the desired type of patch to get a Patcher.

const patcherFactory = await CustomiZ3.getPatcher(domainList, version)
const patcher = await patcherFactory('native')

Call the patch method on the Patcher with the path to the rom file and a target location:

await patcher.patch('path/to/rom', 'path/to/target')

The target file will now be a copy of the rom, but with the changes applied to it.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published