No Mercy docs archive: https://vpw.ajworld.net/nomercy/
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:
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.
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? |
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.
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.
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.
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.
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?)
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.
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.)
Game Variant → | NTSC-U v1.0 | NTSC-U v1.1 | PAL v1.0 | PAL v1.1 |
---|---|---|---|---|
Z64 ROM address | 0x46658 |
0x465B8 |
0x46658 |
0x464B8 |
(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:
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.
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 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 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.
(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)
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:
0x00
: Pointer to wrestler definitions for this stable (4 bytes)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.)
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 in Edit Mode are defined in file ID 10F5
.