# VPW Studio – WWF No Mercy Notes

Return to Manual

## Table of Contents

1. Supported Versions/ROMs
2. General Notes
3. Notable File Types
4. Global Text
5. Default Wrestler IDs
6. Wrestler Data
   1. Profile
   2. Moves and Parameters
   3. Default Costumes
7. Stable Data
8. Costume Data
9. Arena Data

No Mercy docs archive: https://vpw.ajworld.net/nomercy/

## Supported Versions/ROMs

All data is for Z64 format ROMs only.

Friendly Name | Product Code | Region | Revision | MD5 | SHA-1 | Internal Checksums
--- | --- | --- | --- | --- | --- | ---
WWF No Mercy (U) v1.0 | NW4E | NTSC-U (North America) | 0 | `04c492be7f89fc6f425238bd67629544` | `3566d9b5723291937582453ad0453ce517cfc358` | `4E4B0640` `1B49BCFB`
WWF No Mercy (U) v1.1/Rev A | NW4E | NTSC-U (North America) | 1 | `66b8ec24557a50514a814f15429bd559` | `91cee3d096f4a76644d8b35b9aead6448909abd1` | `6C80F13B` `427EDEAA`
WWF No Mercy (E) v1.0 | NW4P | PAL (Europe, Australia) | 0 | `f58f64a8ad952459b2ee37f07004272b` | `cadbcd5361dffaf2aa17f0cb4c4cc799bdc8350a` | `6D8DF08E` `D008C3CF`
WWF No Mercy (E) v1.1/Rev A | NW4P | PAL (Europe, Australia) | 1 | `685ba168af8b7d4a9d31b17a1b432405` | `f49217cb9039212d2d779acb00222fb73c454f56` | `8CDB94C2` `CB46C6F0`

Most of the modern No Mercy hacking community's efforts have been put towards NTSC-U v1.0, despite it having a major save-erasing glitch. There are a few reasons why this particular revision is the focus of hacking efforts:

1. To obtain a bugfixed (v1.1/Rev A) version, you had to send in your WWF No Mercy cartridge to THQ. It's currently unknown how many people took THQ up on their offer.
2. The No Mercy GameShark hacking community of the early 2000s focused their efforts on NTSC-U v1.0, which meant anyone who wanted to use the "cool" codes (e.g. Hell in a Cell match, among various others) needed to use the original/bugged revision. Codes for NTSC-U v1.0 do not work on NTSC-U v1.1, and vice versa.

VPW Studio attempts to support all known revisions of WWF No Mercy equally, though until all known information is ported over to v1.1, you are recommended to use v1.0 in order to take advantage of the community's existing knowledge base.

### Prototype/Pre-Release Versions

Five prototype/pre-release versions of WWF No Mercy are known to exist. As of July 2024, four of them have been made publicly available.

Unlike the final versions, VPW Studio's support for the pre-release builds is read-only. I do not foresee anyone wanting to build a project off of an incomplete game, but having the ability to view and extract its contents is helpful.

As with the above table, all data is for Z64 ROMs (when available).

Friendly Name | Notes | MD5 | SHA-1 | Internal Checksums
--- | --- | --- | --- | ---
June 2000 E3 development build | Earliest known development build; largely built off of Virtual Pro-Wrestling 2. | `44572b3ad9a45569331c3b29ba8433fc` | `665d1306c9c6f5f70d3daf97e77ec5891956b7ad` | `7BFEE838` `AAC6603C`
July 19, 2000 development build |  | `42c33d518a4e8266720f1269b46d0a29` | `80645e8769d414cc2cdbffd415127da0dfaf2bf6` | `24784E97` `E0D245DB`
August 2000 development build |  | `de6304ba0a5b0fb0df7a54640d3aa14e` | `914f9409b0ee5e3709f9cd82567352981b19e5f7` | `24784E97` `E0D245DB`
September 11, 2000 development build | Released by Forest of Illusion in late 2022 Close to final version; still missing some files in filetable | `5ce490cf86cfeabf28c19b4c8afc3f24` | `1c2c5969f176a3a781cfc4d8a8e44daf3632ad64` | `8A0AE9D6` `CE038A9D`
PAL development build | Possibly based off of NTSC-U final version? |  |  |

## General Notes

WWF No Mercy features multiple internal changes that make porting data between games a little tricky. This primarily concerns textures, as the character models were changed to allow more texture variety.

There is a hidden Game Boy Color championship path that can be unlocked with the use of a GameShark. Other Game Boy-related screens and data may still exist, but have yet to be fully found and/or restored.

## Notable File Types

WWF No Mercy introduces a few new file types to deal with, and changes a few formats from previous games.

### `MenuBackground`

In WWF No Mercy, `MenuBackground` objects consist of multiple 64x30 chunks of an image, with a total of 5 columns and 8 rows.

### `Ci4Background`

A variant of `Ci4Texture` used for Smackdown Mall backgrounds. Image resolution is always 320x240, and the palette is stored in a separate file.

### `MenuItems_NoGroup`

Defines a list of menu items that doesn't contain multiple groups. Primarily used for the Titantron and Theme Music lists in the wrestler profile editor.

### `MenuItems_Shop`

Defines menu items for the Shop in the Smackdown Mall.

## Global Text

Game Variant → | NTSC-U v1.0 | NTSC-U v1.1 | PAL v1.0 | PAL v1.1 | June 2000 prototype | July 19, 2000 prototype | August 2000 prototype | September 11, 2000 prototype
--- | --- | --- | --- | --- | --- | --- | --- | ---
Z64 ROM address | `0x703B0` (strings) `0x70CB0` (pointer table) | `0x70340` (strings) `0x70C40` (pointer table) | `0x703B0` (strings) `0x70CB0` (pointer table) | `0x70240` (strings) `0x70B40` (pointer table) | `0x5BF40` (strings) `0x5CDA8` (pointer table) | `0x69CC0` (strings) `0x6AB78` (pointer table) | `0x69CC0` (strings) `0x6AB78` (pointer table) | `0x702A0` (strings) `0x70BA0` (pointer table)

While most of the strings are available in various AkiText archives, there are a few that are hardcoded in the ROM. freem calls this section "Global Text". Strings end with an `0x00` byte, though there may be extra padding for alignment purposes.

Global text strings are accessed via a pointer table found directly after the strings. (The truth is a bit more complicated than this; ignore it for now.) Making strings longer requires re-pointing the table, which is a very arduous task to take on manually. The recommended method is to use an assembler; information on this is beyond the scope of this manual.

In released versions of No Mercy, all of the global strings are ASCII encoded. Some are unused, and can be repurposed. Text control codes are supported, though some are of limited use.

Some prototype/pre-release versions of No Mercy also contain Shift-JIS encoded text.

## Default Wrestler IDs

Note: These values are only valid for the released versions of the game. Prototype versions have different values.

Wrestler | ID2 | ID4
--- | --- | ---
The Rock | 01 | 0001
Steve Austin | 02 | 0002
Undertaker | 03 | 0003
Kane | 04 | 0004
Steven Richards | 05 | 0005
Mankind | 06 | 0006
Cactus Jack | 07 | 0007
Mick Foley | 08 | 0008
Shawn Michaels | 09 | 0009
Triple H | 0A | 0101
X-Pac | 0B | 0102
Mr. Ass | 0C | 0103
Road Dogg | 0D | 0104
Chris Benoit | 0E | 0201
Dean Malenko | 0F | 0202
Perry Saturn | 10 | 0203
Eddie Guerrero | 11 | 0204
Chris Jericho | 12 | 0301
Kurt Angle | 13 | 0302
Tazz | 14 | 0303
Test | 15 | 0304
Godfather | 16 | 0305
D'Lo Brown | 17 | 0306
Val Venis | 18 | 0307
Ken Shamrock | 19 | 0308
Rikishi | 1A | 0401
Grandmaster Sexay | 1B | 0402
Scotty 2 Hotty | 1C | 0403
Edge | 1D | 0404
Christian | 1E | 0405
Matt Hardy | 1F | 0406
Jeff Hardy | 20 | 0407
Faarooq | 21 | 0501
Bradshaw | 22 | 0502
D-Von Dudley | 23 | 0503
Buh Buh Ray Dudley | 24 | 0504
Hardcore Holly | 25 | 0505
Crash Holly | 26 | 0506
Big Boss Man | 27 | 0507
Albert | 28 | 0508
Al Snow | 29 | 0601
Steve Blackman | 2A | 0602
British Bulldog | 2B | 0603
Mark Henry | 2C | 0604
Viscera | 2D | 0605
Andre the Giant | 2E | 0606
Bull Buchanan | 2F | 0607
Essa Rios | 30 | 0608
TAKA Michinoku/Funaki | 31 | 0609
Chyna | 32 | 0701
Stephanie McMahon | 33 | 0702
Tori | 34 | 0703
Terri/Debra | 35 | 0704
Trish Stratus | 36 | 0705
Lita | 37 | 0706
Ivory/Jacqueline | 38 | 0801
Linda McMahon | 39 | 0802
The Kat | 3A | 0803
Mae Young/Fabulous Moolah | 3B | 0804
Ho | 3C | 0805
Vince McMahon | 3D | 0901
Shane McMahon | 3E | 0902
Earl Hebner/Howard Finkel/Paul Bearer/Michael Cole | 3F | 0903
Jim Ross/Jerry Lawler/Pat Patterson/Gerald Brisco | 40 | 0904
Edit Slot 01 | 41 | 0A01
...
Edit Slot 18 | 52 | 0A12
Game Boy Color Championship Mode Wrestler | 53 | 0C00
Controller Pak Edit Slot 01 | 54 | 0B01
...
Controller Pak Edit Slot 18 | 65 | 0B12

A few of these entries require further explanation.

### Post-Match Celebrations

Some slots (signified in the above table with a light orange background color) have post-match celebrations tied to them. It is important to keep them in mind when creating a hack, if you don't plan on removing post-match celebrations entirely. (todo: how?)

### Controller Pak Edit Slot

These wrestlers are not normally available for use in matches. By default, they are only loaded when visiting the "Data" section of the Smackdown Mall, and are unloaded upon exiting.

### Game Boy Color Championship Mode Wrestler

This slot is the most complex and interesting of all, as it is tied to the removed GBC Championship Mode. If the Game Boy Color version of WWF No Mercy had been completed and released, you would have been able to bring your GBC character over to the N64 game via the Transfer Pak. There is an unused Championship path that can be accessed via GameShark codes, and upon completing it, the character you used becomes a permanent member of the roster under this slot. (And yes, even though it appears before the Controller Pak Edit slots in the normal/ID2 ordering, it has a higher ID4 value.)

## Wrestler Data

Game Variant → | NTSC-U v1.0 | NTSC-U v1.1 | PAL v1.0 | PAL v1.1
--- | --- | --- | --- | ---
Z64 ROM address | `0x46658` | `0x465B8` | `0x46658` | `0x464B8`

### Profile

(todo: explain ROM profile data)

Most Profile data is stored in the ROM, but wrestler names are stored in the FileTable as an `AkiText` archive (file ID `0002`).

Wrestler names are stored in the following order:

1. Long Name (max length 20 characters)
2. Short Name (max length 10 characters)
3. Nickname/Alias (max length 16 characters)

VPW Studio does not currently enforce name length limits, so you will have to manually ensure all strings fit.

Make sure the first three entries in the Wrestler Name `AkiText` archive remain blank. If you need to change a wrestler's Profile Index value, remember that the index should be a multiple of 3.

#### Portraits

When creating a No Mercy hack, it is very important to deal with both sets of portrait graphics. There are `Ci4Texture`/`Ci4Palette` and `AkiTexture` versions of the portraits. The `Ci4Texture` version is used in the Smackdown Mall/Edit Mode, and the `AkiTexture` version is used during the main wrestler selection.

### Moves and Parameters

Moves and Parameters are found in the FileTable, and are mapped to wrestlers via data in the ROM ("Moveset Index" and "Params Index" in the Wrestlers dialog). The data formats are not fully understood, but you can make a wrestler in Edit Mode (Smackdown Mall) and export the Moves and Parameters in the formats required.

### Default Costumes

Default costume data is also stored in the FileTable (file ID `0001`), and can be edited via the Wrestlers dialog. The "Appearance Index" in the Wrestler dialog maps to the entries in the default costume data.

#### Data Format

- Offset 0x00: Body Type
- Offset 0x01: Skin Color
- Offset 0x02: Ring Attire
- Offset 0x03: Ring Attire Color 1
- Offset 0x04: Ring Attire Color 2
- Offset 0x05: Upper Attire
- Offset 0x06: Upper Attire Color 1
- Offset 0x07: Upper Attire Color 2
- Offset 0x08: Entrance Attire
- Offset 0x09: Entrance Attire Color 1
- Offset 0x0A: Entrance Attire Color 2
- Offset 0x0B: Entrance Weapon
- Offset 0x0C: Gloves
- Offset 0x0D: Gloves Color
- Offset 0x0E: Tattoo
- Offset 0x0F: Wristband
- Offset 0x10: Wristband Color
- Offset 0x11: Left Elbow Pad
- Offset 0x12: Left Elbow Pad Color
- Offset 0x13: Right Elbow Pad
- Offset 0x14: Right Elbow Pad Color
- Offset 0x15: Left Knee Pad
- Offset 0x16: Left Knee Pad Color
- Offset 0x17: Right Knee Pad
- Offset 0x18: Right Knee Pad Color
- Offset 0x19: Boots
- Offset 0x1A: Boots Color 1
- Offset 0x1B: Boots Color 2
- Offset 0x1C: Head Shape
- Offset 0x1D: Face Number
- Offset 0x1E: Hair Type
- Offset 0x1F: Hair Color
- Offset 0x20: Front Hair
- Offset 0x21: Facial Hair
- Offset 0x22: Masks/Etc.
- Offset 0x23: Hats/Caps
- Offset 0x24: Hats/Caps Color
- Offset 0x25: Portrait

(todo: Copy/Paste uses format from offsets `80297250` and `8029728F` (SmackDown Mall, NTSC-U v1.0); clipboard data can be pasted at the latter address)

## Stable Data

Game Variant → | NTSC-U v1.0 | NTSC-U v1.1 | PAL v1.0 | PAL v1.1 | June 2000 Prototype
--- | --- | --- | --- | --- | ---
Z64 ROM address | `0x48424` | `0x48384` | `0x48424` | `0x48284` | `0x3CA1C`

Each stable entry consists of two values:

- Offset `0x00`: Pointer to wrestler definitions for this stable (4 bytes)
- Offset `0x04`: Stable name index (4 bytes)

(Note: The following paragraphs describe the released versions. The June 2000 prototype differs slightly from the below description, only offering 8 wrestlers maximum in a stable (like VPW2). Stable names come from a different `AkiText` file (file ID `006C`).)

Wrestler definitions are given as a list of ID2 values. Stables in WWF No Mercy hold up to 9 wrestlers maximum. As this is an odd number of values, three padding bytes (`0x00`) are always written after the last entry to ensure the next set of data falls on a four byte boundary.

Default stable names are found in the same `AkiText` archive that holds the default character names (file ID `0002`). The stable names start at entry number 295 by default. The two blank entries after each stable name should not be touched. (That's what happens when the original developers use the same file for multiple purposes.)

## Costume Data

This section describes the data for the available costume parts. If you are looking to edit the default wrestler costumes, please see the "Default Costumes" section.

### Costume Colors

Costume colors in Edit Mode are defined in file ID `10F5`.

## Arena Data