The goal of this specification is to
- Introduce the concept of a note file
- Define the structure of a note file
- Standardize the use of note files across scripts
An External Note File, or simply "note file" for short, is a file that is stored separately from the project data. It serves as an extension to the note box that is available to many objects in the project, such as Actors, Classes, Weapons, or Maps.
Classes that support notes
The following classes by default support notes, and have a notebox built into the editor
In addition to the above classes, the following classes will also support notes, using note files as the primary source of note tags.
- Enemy DropItems
- Enemy Actions
- Class Learning
- Skill Damage
- Item Damage
- Troop pages
- Common Events
- Common Event Pages
- Map Events
- Map Event pages
There is currently no defined structure for the note file. It should be treated the same way as a note box and allow arbitrary tags. The note file should be stored as a plain text file (this includes Unicode).
Note Directory Structure
The note directory structure defines how note files should be arranged in a project so that they can be automatically loaded without requiring the user to specify which note to use.
Each note file path is composed of 5 parts
- Root note folder
- Object type
- object ID
Each part is described below.
Root note folder
In order to uniformly handle note files for all classes listed above, all notes should be stored in a standard way in a pre-defined location. To allow users to encrypt their project and still be able to load note files from within the rgss3a archive, all notes will be stored in a folder called Notes. This folder will be placed inside the Data folder.
Each class listed above will have their own subfolder inside the Notes folder. The name of the folder will be the same as the name of the class. For example,
- weapon note files will be stored in a folder called Weapons
- armor note files will be stored in a folder called Armors
- map note files will be stored in a folder called Maps
Loading Note Files
Scripts should simply concatenate the contents of the note file into the `note` attribute stored with the object.