Red Falcon - User Guide

This file is a guide to using Red Falcon, an editor for Contra on the NES.

--------

Main Window

When you launch Red Falcon, the main window appears first, with the controls disabled. You need to first load a valid ROM of Contra, by choosing the menu "File" -> "Open ROM...". Once you selected your ROM, the first level is loaded in the main window. This editor can only edit the US version of Contra.

----

Level Editor

This is the main area of the main window. On the right, there is a matrix of tiles that you can use to create the layout of the levels. Each tile is a square of 32x32 pixels. When you click on a tile on the right, the selected tile appears under the tiles matrix. Left click in the level editor to change a tile. If you right click in the level editor, the selected tile (the "brush") will change to the tile you clicked.

Each level is separated into sections. Each section is made of 8 columns of tiles. Rows vary according to the type of level. Horizontal levels and indoor levels have 7 rows, for a total of 56 tiles per section. Vertical levels have 7.5 rows, which means the top half of the top row of each section is truncated. That's why there is a black bar between each section in the editor. The bar will not be part of the level in the game.

Level Popup Button

The level popup button lets you select the level you want to edit.

Level Size Field

The level length field on the left represents the number of sections in the level. This number can be changed to any value, in hexadecimal. If you input a lower value, you may lose some data in the process. If you increase the value, new sections will be created at the end.

Load Boss Field

All scrolling levels (this excludes indoor levels) have a point where a part of the graphics are changed for the boss to show up properly. The value in this field represents the section that triggers such change. In the level editor, the section separator where the trigger occurs is drawn in red. During gameplay, when the right side of the screen coincides with the red line, the graphics change.

Section Popup Button

This popup button lets you select the current section for enemy edition. Note that enemy sections start at the second section of the level. This means the first section cannot have enemies. When you select a section, the first enemy (Enemy 0) of that section is shown under the popup button, along with the enemy's name.

Enemy Attributes Matrix

This is where you edit enemies' type, position and attributes. Select the enemy you want to modify using the left and right arrows, and then enter new values in the fields on the right. To confirm a change in any field, either press the Return key or simply leave the field.

The first row is for enemy position. All enemies have a X position and Y position. The first field is the X position, which can be any number between 0x00 and 0xFF, i.e. on a pixel basis. The second field is the Y position, which works in multiples of 8. For example, a Y position of "04" means 32 pixels from the top.

The second row is for type and attributes. The first field is the enemy type. Values between 0x00 and 0x0F are for "common" enemies, which means each code is associated to the same enemy in all levels. Note that it doesn't mean you can effectively use the enemy anywhere you want. Enemies that were not meant to appear in certain levels may appear as glitched garbage, while still remain functional. Enemies with code 0x10 or higher are level-specific enemies, and the same code will generate different enemies according to the level.

The second field is for enemy attributes, which are specific to each enemy. Some enemies may have no attribute at all, so changing the value will have no effect in the game. Some enemies have one or more attributes that can be combined in various ways to make them behave differently. For example, the Rifle Man (type 0x05) can be standing or hiding in bushes. The Weapon Box (type 0x02) and the Weapon Zeppelin (type 0x03) both have an attribute that determines the type of weapon that is generated when shot.

Please refer to the companion file "Enemy Attributes" to learn about all the enemies and the attributes they can have.

The second row only has one field, called the repeat field. This field can contain the values 00 to 03, and it makes an enemy repeat itself up to 3 times. This feature was made to save space. When an enemy is repeated, the X position remains the same, but you can set a different Y position, using the other fields, that become enabled or disabled according to the value inserted in the repeat field. Likewise, the type remains the same, but the attributes can be different.

Show Collision Matrix

Each 8x8 pixel tile in the game can have one of four different collision parameters, which defines the kind of interaction it has with the player. Use the checkboxes to highlight the tiles with a specific behavior. Code 0 (white) means the tile is part of the background: no interaction at all with the player. Code 1 (red) means the tile is a platform: it blocks the player from the top only. The player can go through from other directions and can also drop from it (hold down + A). Code 2 (green) is for water: the player can't jump and is invulnerable while ducking. Code 3 (brown) is for solid tiles: they block the player from all directions.

Alternate Graphics Button

All levels can have part of their graphics change at a certain point to the graphics needed to display the boss. Click this button to toggle between normal graphics and the alternate ones.

Show Enemies Checkbox

This checkbox lets you display or hide all enemies on the screen, when you want to clearly see the tiles underneath.

Section Same As / Enemies Same As Checkboxes and Fields

These fields are mostly used in indoor levels, where many screens are repeated. If you check the box, the currently selected section or enemy group associated to it will be the same as the section number entered in the field. This is a strategy to save space in the ROM, as a "copy" screen simply uses the same data as the original screen.

----

Menus

File Menu

Open ROM...

Brings up the Open Panel for you to choose a ROM. If there's already an opened ROM, it will be replaced by the new one. Make sure you have saved your changes before opening another ROM. You can't have more than one ROM opened at the same time.

Save

Saves all the changes you made on the current ROM since initial loading or last save. If you want to discard the last changes, simply quit Red Falcon without saving and launch it again.

Export Image...

Exports the currently selected level to a PNG image file. The contents of the image as exactly what is displayed in the editor area, including all the secondary view elements: grids, indexes, outlines and overlays.

Export as Data...

Exports the currently selected level to a data file containing level data and enemy data.

----

Edit Menu

This menu has the standard edit menu options: cut, copy, paste, delete, select all. These actions are reserved to any view that displays text. The level editor area is not associated to these menu items.

----

Action Menu

Add Enemy / Insert Enemy / Remove Enemy

The menu "Add Enemy" creates a new enemy at the end of the enemy list for the currently selected section. If you want to create an enemy somewhere else in the list, you should use "Insert Enemy". This way, the newly created enemy is inserted before the currently selected enemy. The menu "Remove Enemy" removes the currently selected enemy, and reorders the remaining enemies. It is possible to have no enemies in a section.

Enemy order within a section is important. Enemies should be ordered according to their X position in horizontal levels, and their Y position in vertical levels. Any enemy coming first in the list, i.e. having a lower index number, should have an X position lower or equal to the next index. Not doing that can result in enemies "popping out" in the middle of the screen.

Add Section

The menu "Add Section" creates a new section at the end of the level.

Increase / Decrease Enemy Index

These two menus are used to change the order of the enemies in the currently selected section. The Increase Enemy Index menu will swap the currently selected enemy with the one next to it in the list, i.e. the enemy with an index one higher. The Decrease Enemy Index menu will do the opposite: the currently selected enemy will go down in the list and be swapped with the preceding enemy.

Switch Enemy Cycles

This menu switches the level editor matrix to the list of enemy cycles. Only indoor levels have enemy cycles, which are looped sequences of different types of Green Guys.

When in this mode, you can use the Add / Insert / Remove Enemy menus, as well as the Increase / Decrease Enemy Index menus in the same way as with the regular level enemies. To change a Guy Type, click on the button with the type icon and name. Each click cycles through the 4 types of Green Guys. You can change the moving direction by clicking on the arrow. You can also change the attribute(s) of each Green Guy. The Delay field is a value that represents the number of frames of delay before the next Guy appears. A value of 60 equals to a delay of 1 second.

Please refer to the companion file "Enemy Attributes" to learn about each Green Guy's possible attributes.

Find Enemies Window

You can search for any enemy code in the currently selected level. This tool helps to better visualize where certain types of enemies are located in the level. For example, you can use the search tool to find out the spread of the weapon items throughout the level. Type any enemy code in the field and click the Find button, or hit the Return key. All matching enemies will be represented by a little red tick mark in the scroll bar. Scroll to a mark to find the enemy.

You can also search for multiple enemy codes, by separating them with commas. For example, if you want to search for Weapon Items, Weapon Boxes and Weapon Zeppelins all at once, enter "0,2,3" in the search field. This will search for codes 0, 2 and 3.

Click the Reset button to empty the search field and remove all ticks marks in the scroll bar.

----

View Menu

Show Sections Grid

This option draws white vertical lines between sections, which are 256 pixels wide in horizontal levels, and 240 pixels high (not counting the black bars) in vertical levels.

Show Tiles Grid

This option draws a 32x32 grid of white lines, which is the size of a single level tile. This grid is 50% transparent.

Enemy Indexes

This option draws a little white hexadecimal number over the top-left corner of each enemy. It helps visualize the order of the enemies in each section.

Enemy Outlines

This option draws a white frame around each enemy.

Player View

This option draws a semi-transparent black sheet with red vertical lines on each side, and a sprite of the player character in the middle. This sheet can assist you in enemy placement. The sheet represents the portion of the level the player sees during gameplay. The right red line is where an enemy is supposed to be generated, relative to the player. Use the slider on the top right corner of the editor window to adjust the position of the sheet in the level editor area.

----

Palettes

Use the menu "Window" -> "Show Palettes" to bring up the Palettes Window. In this window, all the palettes (groups of 4 colors) available in the entire game are gathered on the right. On the left, there are three groups of 4 palettes. The first one is for background, the level tiles. The second is for the cycling colors of background palette 3 during gameplay. The last one is for sprites.

By default, the first palette of the first group is selected, as indicated by the black arrow on the right of the color squares. You can click any of the 12 palettes to select it. Any subsequent click in the right matrix will set the selected palette to the one you clicked. All changes made to palettes are immediately updated in the level editor.

----

Do menu "Red Falcon" -> "About Red Falcon" to see an animated version of the Red Falcon icon.

----

For any question, comment or bug report, contact me at this address:

trax@bwass.org

Red Falcon web page:

www.bwass.org/romhack/contra/redfalcon