# VPW Studio – Virtual Pro-Wrestling 2 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

VPW2 docs archive: https://vpw.ajworld.net/vpw2/

## Supported Versions/ROMs

All data is for Z64 format ROMs only.

Friendly Name | Product Code | Region | Revision | MD5 | SHA-1 | Internal Checksums
--- | --- | --- | --- | --- | --- | ---
Virtual-Pro Wrestling 2 - Ōdō Keishō バーチャル・プロレス2 〜王道継承〜 | NA2J | NTSC-J (Japan) | 0 | `90002501777e3237739f5ed9b0e349e2` | `82dd25a044689eab57ab362fe10c0da6388c217a` | `CD094235` `88074B62`

## General Notes

Work on Virtual Pro-Wrestling 2 appears to have started around the time WCW/nWo Revenge was completed, as preview screenshots on AKI's website showed AKI man and Executioner fighting in Nippon Budokan, as well as a daytime version of the stadium.

Virtual Pro-Wrestling 2 is probably the most supported game in VPW Studio, as a significant portion of its development is tied to the development of the VPW2 freem Edition hack.

Most text is in Shift-JIS encoding. A few items require the use of fullwidth alphanumeric characters:

- Wrestler names
- Arena names
- Stable names
- Mic Appeal strings

Certain characters (e.g. the Roman numeral 2) do not get converted properly in `AkiText` archives. This is a VPW Studio-specific problem.

## Notable File Types

todo

### `MenuBackground`

In Virtual Pro-Wrestling 2, `MenuBackground` objects consist of multiple 64x30 chunks of an image, with a total of 5 columns and 8 rows.

## Global Text

Z64 ROM address: `0x69650` (start of strings); `0x6A4E0` (start of pointers)

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 Virtual Pro-Wrestling 2, most of the global strings are Shift-JIS encoded. Text control codes are supported, though some are of limited use.

## Default Wrestler IDs

Internal wrestler ordering generally matches the stables, though exceptions are made for unlocked characters (and some other oddities). There are no obvious gaps in ordering, unlike previous games.

Wrestler | ID2 | ID4
--- | --- | ---
三沢光晴 Mitsuharu Misawa | 01 | 0001
小川良成 Yoshinari Ogawa | 02 | 0002
川田利明 Toshiaki Kawada | 03 | 0003
田上　明 Akira Taue | 04 | 0004
小橋健太 Kenta Kobashi | 05 | 0005
秋山　準 Jun Akiyama | 06 | 0006
馳　浩 Hiroshi Hase | 07 | 0007
マウナケア・モスマン Maunakea Mossman | 08 | 0008
高山善廣 Yoshihiro Takayama | 09 | 0009
垣原賢人 Masahito Kakihara | 0A | 000A
ジャイアント馬場 Giant Baba | 0B | 000B
ボンバー塚本 Bomber Tsukamoto (Jumbo Tsuruta) | 0C | 000C
ダディ・ファング・Ｊｒ Daddy Fang Jr. (Dory Funk Jr.) | 0D | 000D
スタン・ハンセン Stan Hansen | 0E | 0101
べイダー Vader | 0F | 0102
ジョニー・エース Johnny Ace | 10 | 0103
マイク・バートン Mike Barton | 11 | 0104
ジャイアント・キマラ Giant Kimala | 12 | 0105
泉田　純 | 13 | 0106
ゲーリー・オブライト Gary Albright | 14 | 0107
ジョニー・スミス Johnny Smith | 15 | 0108
キングコング・フレディ King Kong Freddy (Bruiser Brody) | 16 | 0109
テディ・バリー | 17 | 010A
プロフェッサー・キル Professor Kill (Steve Williams) | 18 | 010B
大森隆男 Takao Omori | 19 | 010C
志賀賢太郎 Kentaro Shiga | 1A | 010D
林　静夫 | 1B | 0201
舟越拓郎 | 1C | 0202
佐久間慶太 | 1D | 0203
矢島貫太郎 | 1E | 0204
源流成一郎 | 1F | 0205
小堀茂三 | 20 | 0206
仲本勇太 | 21 | 0207
長瀬正雄 | 22 | 0208
山田貴史 | 23 | 0209
大山仲道 | 24 | 020A
アミーゴ稲村 | 25 | 020B
千葉倫太郎 | 26 | 020C
ゴードン・クライ | 27 | 020D
千倉真樹夫 | 28 | 0301
寺田久雄 | 29 | 0302
村田健一 | 2A | 0303
古坂　悟 | 2B | 0304
ゴロー斉木 | 2C | 0305
スコッチ・バーボン Scotch Bourbon (Scott Norton) | 2D | 0306
クレイジー・ジョーカー Crazy Joker (Great Muta) | 2E | 0307
マスク・ド・デンジャー | 2F | 0401
ザ・デスグリーン | 30 | 0402
メンドー・コテ・メン | 31 | 0403
大河原忍 | 32 | 0404
谷口龍彦 | 33 | 0405
梶田小次郎 | 34 | 0406
ドクターＪｒ． Doctor Jr. | 35 | 0407
ザ・ジャッカル The Jackal (Tiger Mask) | 36 | 0408
パイソンＴＯＫＩＯ Python TOKIO (Magnum TOKYO) | 37 | 0409
シーザー・マサカド | 38 | 040A
ハヤテ Hayate (Hayabusa) | 39 | 0501
風吹春道 | 3A | 0502
我狼 | 3B | 0503
下狼 | 3C | 0504
ミキサー鍛冶郎 | 3D | 0505
竹中雅史 | 3E | 0506
ザ・ラジエター The Radiator (The Gladiator) | 3F | 0507
ミニ・ドラグーン Mini Dragon (Dragon Kid) | 40 | 0508
仁王田剛 | 41 | 0509
テディ・ファング Teddy Fang (Terry Funk) | 42 | 050A
忍者タスケ Ninja Tasuke (Great Sasuke) | 43 | 0601
薪谷一世 | 44 | 0602
スペース・エルウィン Space Elwin (Super Delfin) | 45 | 0603
無乱難波 | 46 | 0604
ＭＩＣＨＩたかもく | 47 | 0605
エル・マスカレード | 48 | 0606
エイソン猪下 | 49 | 0607
納村仁志 | 4A | 0701
高中恒彦 | 4B | 0702
グルジャン・タムウェル | 4C | 0703
ウォルフ・マン Wolf Man (Volk Han) | 4D | 0704
松長飛鳥 | 4E | 0705
カサンドラ・ガリレイ | 4F | 0706
石塚有司 | 50 | 0801
カサンドラ鬼塚 | 51 | 0802
池波大吾 | 52 | 0803
竹中　充 | 53 | 0804
辻原嘉幸 | 54 | 0805
斎藤ナルミ | 55 | 0806
浦木利克 | 56 | 0901
滝橋芳信 | 57 | 0902
須崎ひかる | 58 | 0903
ラガー綿内 | 59 | 0904
ボウ・ラッセン Bo Rassen (Bas Rutten) | 5A | 0905
セイラ・シュミット | 5B | 0906
高間宣弘 | 5C | 0A01
笹木場一成 | 5D | 0A02
マイク・ケアンズ | 5E | 0A03
ニクソン・ブレイシー | 5F | 0A04
アンディ・ザ・ギガント | 60 | 0B01
アステカ・ドラグーン Azteca Dragon (Ultimo Dragon) | 61 | 0B02
アブダラ・ザ・ボッチャー | 62 | 0B03
オリジナルＡ Original A | 63 | 0C01
...
オリジナルＰ Original P | 72 | 0C10
Controller Pak Original A | 73 | 0D01
...
Controller Pak Original P | 82 | 0D10

The Controller Pak edit wrestler slots are not normally available for use in matches. By default, they are only loaded when visiting the Wrestler section of the Data menu in the Options.

Nobody's particularly sure why Enson Inoue is hanging out with the Michinoku Pro dudes (at ID4 0607), but given that Mil Mascaras is right before him in ID4 ordering (0606), his slot probably originally belonged to Dos Caras.

As for identities of people who could have been in the game, that's a lot less obvious. All we have to go by is how AKI supposedly named the files for moveset/parameters, as those seem to get added to the file table in alphabetical order.

- 0A03 – Belongs to Mark Kerr in the final game, but appears near the top of the file list. The most likely candidate is Andy Hug, as this appears after Andre the Giant, but before Giant Baba.
- 0409 – Belongs to Magnum TOKYO in the final game. Appears after Giant Baba, filename likely starts with a "b".
- 0806 – Belongs to Rumina Sato in the final game. Appears right after ID4 0409, filename likely starts with a "b" as well.
- 0607 – Belongs to Enson Inoue, as mentioned above. Appears right between the end of D and the start of F.
- 0508 – Belongs to Dragon Kid in the final game. Appears between Hansen and Hase, so filename likely starts with "ha".
- 0605 – Belongs to TAKA Michinoku in the final game. Appears between Hiro Saito and Daisuke Ikeda, so filename could start with either "h" or "i".
- 040A – Belongs to CIMA in the final game. Appears between Shinjiro Otani and Rickson Gracie. Starting letter can be anywhere from "o" to "r".
- 0B02 – Belongs to Ultimo Dragon in the final game. Appears between Minoru Suzuki and Nobuhiko Takada. Could start with "s" or "t".
- 010D – Belongs to Kentaro Shiga in the final game. Appears between Yoshihiro Takayama and Kiyoshi Tamura. Likely starts with "ta".

## Wrestler Data

Z64 ROM address: `0x3FBE4`

### Profile

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

All names are using Shift-JIS encoding, so full-width characters will need to be used when renaming characters. Japanese IME support is recommended, but you can also look for the relevant characters using the Character Map program provided with Windows. Search for "fullwidth" to find the correct characters.

- Long Name (max length 12 characters)
- Short Name (max length 7 characters)

### 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 and export the Moves and Parameters in the formats required.

### Default Costumes

Default costume data is also stored in the FileTable (file ID `006B`), 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 1
- Offset 0x0E: Gloves Color 2
- Offset 0x0F: Tattoo
- Offset 0x10: Wristband
- Offset 0x11: Wristband Color
- Offset 0x12: Left Elbow Pad
- Offset 0x13: Left Elbow PadColor
- Offset 0x14: Right Elbow Pad
- Offset 0x15: Right Elbow PadColor
- Offset 0x16: Left Knee Pad
- Offset 0x17: Left Knee Pad Color
- Offset 0x18: Right Knee Pad
- Offset 0x19: Right Knee Pad Color
- Offset 0x1A: Boots
- Offset 0x1B: Boots Color 1
- Offset 0x1C: Boots Color 2
- Offset 0x1D: Mask
- Offset 0x1E: Head Shape
- Offset 0x1F: Unknown 1
- Offset 0x20: Face Number
- Offset 0x21: Hair Type
- Offset 0x22: Hair Color
- Offset 0x23: Front Hair
- Offset 0x24: Unknown 2
- Offset 0x25: Facial Hair
- Offset 0x26: Facepaint
- Offset 0x27: Accessory
- Offset 0x28: Mask Head Shape
- Offset 0x29: Mask Number
- Offset 0x2A: Mask Color 1
- Offset 0x2B: Mask Color 2
- Offset 0x2C: Mask Color 3
- Offset 0x2D: Mask Color 4
- Offset 0x2E: Mask Hair Type
- Offset 0x2F: Mask Accessory 1
- Offset 0x30: Mask Accessory 2

(todo: Copy/Paste uses format from offsets `8024DE80` and `8024DEBE` (Edit Mode); clipboard data can be pasted at the latter address)

## Stable Data

Z64 ROM address: `0x408BC`

Stables in Virtual Pro-Wrestling 2 hold up to 8 wrestlers maximum. If all eight slots are used, a terminating value (four bytes of 0x00) must be written to separate the stables. VPW Studio does not always handle this case correctly.

## 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 `0E50`.

## Arena Data