Necrofy project

From ZAMN Hacking

Asset filename format[edit]

name.skip@pointer#.extension
  • name: The name the will be used to reference the asset
  • .skip (optional): If this is present, the asset will be excluded from the build.
  • @pointer (optional): If this is present, the asset will be inserted at the specified location when building. "pointer" is a 6-digit hexadecimal PC address.
  • # (optional): If this is present, the file will be compressed before inserting when building.
  • .extension: The file extension

File types[edit]

Extension Description
asm Assembly patch. Will be applied with Asar at the end of the build.
bin Various binary data
col Tileset collision
gfx 4BPP graphics
gfx2 2BPP graphics
gfxs Extra sprite graphics. These are essentially the same as 4BPP graphics, except all extra sprite graphics will be placed in one contiguous chunk when building.
json Various json data
nfyp Necrofy project settings
nfyp.user Necrofy project user settings. Contains settings that are specific to the current user and do not affect building the project.
nfyz Compressed file. These are cached pre-compressed versions of assets that need to be compressed in the built ROM. These are saved in order to speed up build times.
plt Palette
spr Sprite tile data
tlm Tilemap
tlms Sized tilemap. The width and height of the tilemap is stored in the first 4 bytes of the file.

Special files and folders[edit]

Path Type Description
project.nfyp File The main project settings file. Other names for this file are possible, but this is the default.
project.nfyp.user File The main project user settings file. Must be the name of the project settings file with ".user" appended.
base.sfc File The base ROM. All project files will be applied to this ROM when building.
build Folder All project build artifacts are stored here.
Demos/demo#.json File Demo recording data. "#" can be any non-negative integer, but 0-3 are the only values that are supported by default.
Editor Folder Contains settings files for the various editors in Necrofy. Putting these files in a project will override the defaults.
Level Title Folder Various files in this directory are required for the level title editor. No special handling is applied to these files when building.
Levels/#.json File Level data. "#" can be any non-negative integer.
Misc/Passwords.json File Password data.
Sprites/Graphics@020000.gfx File Default sprite graphics data. Required for rendering sprites in the level editor and sprites editor. No special handling is applied to this file when building. The pointer in this filename can be changed without breaking this editor functionality. This file does not use the "gfxs" extension because these graphics do not need to be contiguous with the extra sprite graphics.
Sprites/GraphicsExtra.gfxs File First extra sprite graphics. These graphics will always be inserted at the start of the extra sprite graphics data. This is generated when the base ROM already contains extra sprite graphics.
Sprites/Sprites.spr File Default sprite tile data. Required for rendering sprites in the level editor. No special handling is applied to this file when building.
Tilesets Folder Tilesets must be stored here to be displayed in the level settings. No special handling is applied to these files when building.
Tilesets/*/Suggestions.json File Tileset suggestions data.