FFR Resource Packs
Starting in version 4.3, FFR supports loading resource packs. These are loaded with the "Import Resource Pack" button on the Presets tab.
A resource pack is a zip file containing various assets that the randomizer will load into the ROM. The currently supported assets are listed here. Every file is optional.
A fully worked example resource pack is "Dracula's Curse" used in the 2021 Halloween exhibition race: draculas_curse_ffr_resource_pack.zip.
Note: when providing custom graphics, they must be compatible with the technical limitations of the NES hardware. Each section will summarize the restrictions the apply to each specific kind of graphic import. For detailed discussion about the NES hardware, you can read about Pattern tables, Nametables, Attribute tables and Palettes.
When discussing graphics, "tiles" are squares on a 8x8 grid. "metatiles" are squares on a 16x16 grid. A "palette" is 3 colors + black.
battle_backdrops.png
The location backdrops displayed at the top of the battle screen. There are 16 locations. Each backdrop is 32x32 and they must be stacked vertically. In game, backdrops are logically split into two 16x32 columns, which are repeated across the top in a 1221 pattern. Backdrops can only use a single palette, but each backdrop can have a different palette.
The order of the locations is: Grass, Marsh Cave, Cave, Water, Forest, ToF, Desert, Marsh, Earth Cave, Castle, River, Tower, Sea Shrine, Ice Cave, Volcano, Waterfall.
bridge.txt
The text displayed when crossing the bridge for the first time. Monospace ASCII text. Each page is 8 lines of 16 characters. Total text size should be no greater than 300 bytes.
chaos.png
Chaos battle graphic. Size is 112x96. You can use two palattes for Chaos, but you can only use one palette within any given metatile (16x16 grid square). At least 58 of the tiles must be empty (all black). Reference image for Chaos.
dialogue.txt
NPC dialogue. Monospace ASCII text. There are 256 dialog entries. Format is dialog id in hexadecimal, followed by a dashed separator on the same line, followed by up to six lines of text with a maximum width of 24 characters. The total size of this file should be less than 1385 bytes. Example of Bikke's dialogue:
9 ---------------- Okay, you got me. Take my SHIP.
However, since this is a randomizer, he's probably going to give you something else. For quest NPCs, replace the item name with "#" (maximum name length is 8 characters, be sure to leave enough room):
9 ---------------- Okay, you got me. Take this. Received #Reference dialogue.
fiends.png
Fiend battle graphics. All four fiends together laid out in a square, Total size is 128x128. Left to right, top to bottom: Lich, Kary, Kraken, Tiamat. Each fiend is 64x64. Each fiend gets two palettes, however you can only use one palette within any given metatile. Lich and Kary share a pattern table, so between the two of them at least 58 of the tiles must be empty (all black). The same applies Kraken and Tiamat. Reference image for fiends.
flags.json
FFR flags in json format to be loaded at the same time that the resource pack is loaded.
gear_icons.png
Gear icons (the ones displayed in text, next to the name). 8x8 images lined up horizontally, white on black. Reference image for gear icons.
heroes.png
Character battle and mapmap graphics. See "Load custom player sprites" tooltip (Fun%) for character import details details.
intro.txt
Opening blue screen text. Monospace ASCII text. Up to 22 lines, 32 characters wide.
maptiles.png
Tiles graphics for the overworld. 256x128. Each map tile is a 16x16 metatile, laid out 16x8 for a total of 128 map tiles. Each map tile has its own palette, but there can only be a total of four distinct palettes among all map tiles. In addition, there can only be 245 distinct 8x8 tiles. Since each map tile consists of four 8x8 tiles, this means the some 8x8 tiles must be reused within map tiles. Reference image for overworld maptiles.
overworld.json
Overworld map that will be loaded at the same time that the resource pack is loaded, in the json format produced by the "export map" button on the "Overworld" tab.
towntiles.png
Tile graphics for towns. Same size and restrictions apply as for maptiles.png, except with the further limitation that the town graphics can only have 128 distinct 8x8 tiles. (However, towns have a lot of duplication, e.g. each door is a different map tile, but usually share the same graphic tiles). Reference image for town map tiles.
weapons.png
In-battle graphics when the character swings a weapon. Each weapon is a single 16x16 image lined up horizontally. Weapons must be white and two shades of grey, as they are re-colored in game. Reference image for weapons.
- Back to Resources