Project Settings


Project Labels
Tilesets
Emulator
Script Settings
User Variables
User Constants
Object Variables
Zero Page RAM
Overflow RAM
Export Settings

Project Labels


Project Labels don’t do anything on their own. This is just a way to rename the default labels in NESmaker, in case you for example change a behavior of a tile type or a monster edge reaction.

Tile Types: Here you can change the name of a tile type. This name is displayed in the list of tiles when you paint with tile collision during screen design.

Change Tile Types: Unused

Shop Names: Unused

Game Items: Unused

Relics: Unused

Magic Types: Unused

Songs: Unused

Monster Solid Reactions: This is the labels for the Solid Object Reaction list you see in the Object Details for any object in NESmaker.

Monster Edge Reactions: Here you can change the labels for the list in Object Details called Edge Object Reaction.

Monster Hurt Reactions: Unused in NESmaker 4.5.9

Spawn Types: Unused

Animation Types: Unused

Action Types: Change the name that appears in the action (Action Steps) list for any object.

End Actions: The labels for the list of End Action in the Actions tab of any object.

End Animations: The labels for the list of End Animation in the Actions tab of any object.

Monster Action Step Flags: Labels for the checkboxes at the bottom of the Actions tab for any object.

Monster Flags: These are the labels for the checkboxes that appear for any object in the Details tab in Object Details.

Screen Flags: These are the labels for the checkboxes in the Screen Info tab in the Screen Details for a selected screen in the game.

Screen Bytes: This is where you can rename the User Screen Bytes (User Defined Bytes) in the Screen Info tab for Screen Details.

Special Screen Types 1: Unused

Special Screen Types 2: Unused

GameStates: This is where you change the names of game states in the list when designing a screen (like for example Main Game).

Monster Bits: Here you can change the name of the monster bits checkboxes that appear in the Details tab of Object Details for any object. PS! Monster bits are not enabled by default in NESmaker. See this tutorial for more information.


Tilesets


Here you can change what .bmp files are used for the different tilesets in NESmaker. You can also import and export tilesets. It is not recommended to change these settings unless you know exactly what you’re doing.


Emulator


These are the emulator settings. By default NESmaker uses the Mesen emulator. All settings are set by default, so you don’t have to make any changes here unless you want to use another emulator or use a custom directory for the game.nes file. These settings should look something like this:


Script Settings


In Script Settings you will find a lot of Assembly files linked to something NESmaker calls Script Defines. Script Settings is covered more in another section. PS! Not all the Assembly code files for your NESmaker game is located here.


User Variables


Here you can add or remove variables for your game. To add a new variable you must click add. The new variable will appear at the bottom of the list as NOT_SET. Select it to rename it. You can also set the initial value of this variable, and there’s a field to write a comment about what this variable does (optional).


User Constants


User Constants allows you to make a constant value for your code. This can be useful if you want to reference a certain value in several different places in the code. By using the constant name instead of the actual value you can easily change the value here, and it will then be updated in all the places in your code where you used this constant name. PS! To use the constant in code you must write a hash in front of it:

LDA #MY_CONSTANT

When you add a new constant, it will appear on the bottom of the list as NOT_SET. Select it to rename it.


Object Variables


Object Variables are variables that will act as a table. In other words you can make a variable that will be unique for every object. An example of this is Object_x_hi which keeps track of the X position of any object. Since this is a table we need to use the x or y registers to access the correct position in the table. If we for example want the X position of object 2 we need to do this:

LDX #2
LDA Object_x_hi,x


Zero Page RAM


Here you can add a variable with 1 byte, or make a table by selecting more than 1 byte. It is important to notice that “Total Bytes Used:” must not Exceed 256 bytes.


Overflow RAM


This Overflow RAM tab works very much like the Zero Page tab. You can make a variable here, or by selecting more than 1 byte you can make a table.


Export Settings


This tab is rarely used. It was made to easily export games to the Polymega game system.