Phantom Blood PS2 Modding Info

From JoJo's Bizarre Encyclopedia - JoJo Wiki
Revision as of 13:56, 27 December 2023 by HudgynS (talk | contribs)
Jump to navigation Jump to search

About the Author

avatar Short-sighted due to the intense motion blur applied to certain PS2 games.

Other recent contributors

Make this page better by editing it.
HudgynSPenguino

Other recent voters

If you like the article, vote for it.
avataravatar
3

This modding guide for the PlayStation 2 game Phantom Blood is primarily written with the assumption that the end user will be running Windows, as several of the programs involved do not work or have not been tested on other operating systems.


How to Play the Game

JoJo's Bizarre Adventure: Phantom Blood (ジョジョの奇妙な冒険 ファントムブラッド, JoJo no Kimyō na Bōken Fantomu Buraddo) tells the story of Jonathan Joestar, the virtuous son of an English nobleman, and Dio Brando, his adoptive brother with limitless ambition and malice. When the latter dons an ancient stone mask that transforms him into a bloodthirsty vampire, Jonathan is forced to master the art of the Ripple to destroy him before he conquers the world.

Controls
Command
Action
Description
PS Square.png
Light Attack
弱攻撃
Light attacks typically consist of a three-to-five-hit combo.
PS Triangle.png
Heavy Attack
強攻撃
Serves as a combo finisher. Automatically imbued with Ripple energy if it is available.
PS Circle.png
Evasive Action
回避
A dodge roll that can be used to escape tricky scenarios. If pressed while taking damage, Ripple users can perform a counter to stun all nearby enemies.
PS Cross.png
Ripple Breathing
波紋の呼吸
Charges your character's Ripple energy. If used during a combo, Ripple users can pose to temporarily increase their power, defense, health recovery, or speed.
PS RS.png
Camera Control
カメラ操作
Moves the camera around your player character. Useful for keeping track of enemy movements.
PS R1.png
Charge Attack
チャージ攻撃
An attack that can be charged by holding down the button. At the highest level, level 3, the game pauses while the attack is performed.
PS L1.png
Guard
ガード
Allows the player to block enemy attacks without taking damage. There is no limit on its usage, but it can only block attacks from the front.
PS R2.png
Activate Overdrive
覚醒発動 (lit. "Activate Awakening")
Can be used when the Heat Gauge is full. Rotating the right stick charges its full power, though the difficulty of the task depends on enemy health.
PS L2.png
Center Camera
ターゲット (lit. "Target")
Repositions the camera behind your character in the direction they are facing. Useful when an enemy is approaching from behind the camera.
PS R3.png
Camera Zoom
カメラズーム
Controls the distance the camera follows the player from.
PS Start.png
Pause
ポーズ
Also used to start the game from the title screen and skip cutscenes.
(Controls can be remapped in the options menu.)

If all of this comes as a revelation to you, strap in.

Getting Started

To begin modding Phantom Blood, you will need a backup of the game disc, ideally stored as an ISO file or in a similar format. No matter which aspects of the game you want to mod, you will also need Python 3.4 or newer, as well as a hex editor such as HxD (free) or 010 Editor (paid). In addition, obtaining a PS2 emulator such as PCSX2 can be helpful for testing mods quickly.

Host Filesystem

Under normal circumstances, an ISO editor would be necessary to access the files within the game backup. However, by extracting the files and editing the game's executable files to redirect file locations and bypass disc sanity checks, it is possible to run the game on the host filesystem. Doing so allows files to be easily altered or replaced, even while the game is running, and also improves the game's load times.

An IPS patch compatible with any retail executable can be found here and applied with any IPS ROM patcher. Note that after extracting files and patching the executable, you will need to enable Host Filesystem, which can be found in PCSX2's emulation settings menu. Finally, just for convenience, it is advised that you append the ".ELF" file extension to the modified executable, to allow for easier selection or detection from the emulator.

FILELINK.BIN Editing

Phantom Blood uses a specialized data storage method developed by CRI Middleware and ostensibly powered by ADX technology, which is known only as FILELINK.BIN.[a] All of the game's data and graphics files are stored within FILELINK.BIN, albeit compressed via the zlib algorithm. To unpack and rebuild FILELINK.BIN, the use of a specialized Python script is required. To unpack FILELINK, open a console window in the same folder as the script and type py pbps2bin.py -i [input]; drag and drop your file onto the console window to provide the input file. By default, the script will export files with their internal extensions, but QuickBMS's assumed extensions (which will be used throughout this guide) can be used instead by including the "-qb" argument. After running the command, a new folder should be created, housing the files within FILELINK within numbered subdirectories. If the system does not recognize the "py" command, replace it with the "python" command.

Rebuilding FILELINK is done much the same way, with the folder used as the input instead of the file itself. If you prefer, the "-nc" argument can be included to bypass the compression applied to files within FILELINK, creating a much larger file but allowing more direct access with a hex editor.

Texture Editing

Overlay Textures

In order to edit textures, you will need a program called Rainbow, which can open TIM2 files, as well as a specialized Python image conversion script.

Phantom Blood uses overlays to construct its 2D rendering layer, which it uses for everything that is not a 3D model. These overlays are usually stored within files labeled with the extension PGM,[b] though some are included in BTR files used for battle overlays. Start by locating the PGM or BTR file you want to edit: TIM2 bitmap graphics are roughly visible in a hex editor at the appropriate width, usually 128 or 256 bytes. Once you find the appropriate graphics file, open a console window in the same folder as the script and type py p2tx.py -i [input file] -o [output file]; drag and drop your file onto the console window to provide the input file, and make sure your output filename has the extension "tm2". After running the command, a new TM2 file should be created, which can then be opened and exported to PNG in Rainbow.

PBBlog Texture.png

Edit each image however you want, then re-import the images into rainbow via their respective XML files and save the output TM2 file. After making a backup of the original graphics file, return to the console window and use the same command as before, except with the input and output files swapped. Doing this should result in an updated PGM or BTR file, which can then be reinserted into FILELINK.BIN following the above process.

Model Textures

Model files use a similar format to FILELINK.BIN. The script used to extract and repack FILELINK.BIN does the same for model files, but the argument "-m" must be included in the command when doing so. From there, another Python script can be used to convert any included TEX2 textures[c] to and from TIM2 format. To perform either conversion, open a console window next to the script and run the command py tex2conv.py -i [input file] -o [output file], inserting the desired input and output filename as necessary. The latter Python script can also scan model files and directly extract TEX2 files within them, though this necessitates manual reinsertion of the edited file.

Overlay Editing

The accompanying DAT files[d] for overlays control their positions, UVs (rendered areas), triggered voice lines, effects for overlays, and more. With the use of a specialized Python script, these files can be edited in standard JSON format. To do so, open a console window in the same folder as the script and type py pbps2dat2json.py [input file]; as before, the input file can be dragged and dropped into the console window. The same command is used to convert the resulting JSON back to DAT after you are finished editing the file; note that there is no risk of overwriting the original file unless you specify an output filename.

It is also possible to edit BTR files[e] with this method. Use the same command as usual to export to JSON; the only difference should be a hexadecimal number automatically added to the output file's name. When converting the file back to DAT, instead of the normal command, type py pbps2dat2json.py [input file] -sf [source file] -so [source offset], inserting the appropriate source file and using the hexadecimal number in the input filename for the source offset.

SOUND.AFS Editing

You will need MF Audio to edit voice clip and sound effect files; Audacity, its FFmpeg extension, and ADX Encoder are required to edit music, cutscene audio, and character dialogue.

All of the audio files used in Phantom Blood are stored in DATA/SOUND/SOUND.AFS. While AFS, fortunately, is a standard format for PlayStation 2 games, and can easily be edited with AFSExplorer, the variant used in the game contains entirely zeroed-out file entries within its header, causing the program to misattribute the sizes of each file. A modified version of the file available here provides metadata for these entries, allowing the file to be correctly interpreted by both the game and AFSExplorer.

After applying the provided fix and downloading AFSExplorer, launch the application, open the "File" dropdown, and either open the extracted SOUND.AFS file or use the "Import AFS file from CD image..." option to access the disc image directly. Right-clicking a file will provide options to "Export" the original file, "Import" a modified file, or open the file in an external hex, texture, or sound editor that you can specify in the "Configuration..." option under File.

Not Enough Space Error

If your modified file is bigger than the original, you'll likely get an error message saying there's not enough room for it. This is because each file in the AFS archive has a very specific amount of space assigned to it. If AFS Explorer asks you to auto-arrange the files, select "No". Auto-arranging files is known to break the file and make it unable to be read by the game. A new window will appear asking if you want to set a new reserved space. While this allows the program to automatically determine the correct size to allocate for the file, user action is still required afterward. After selecting either option, close the last error window that pops up, then press Ctrl and R simultaneously. Doing so will bring up a menu where you can modify the reserved space for every file. If you allowed AFSExplorer to set a reserved space, the size allocated to the file in question here should match your modified file's size; if not, select the file and then press or hold the "+" button until the size in bytes can fit your modded file. Now click "Regenerate AFS" and save the edited AFS. Note that doing this will not result in the modified file being added to the newly-created AFS, so you will have to open the AFS and import the file yourself afterward.

Assuming you are not using the host filesystem, you must now put the new AFS file into the ISO. Simply using AFS Explorer's insert option won't work here, since inserting a file of a different size requires rebuilding (and consequently breaking) the ISO. Instead, use a program that can open and save ISOs directly, such as isomod. Upon downloading and opening isomod, you will see three fields. Browse to and select your ISO for the first field, then type the name of the AFS you're replacing in the field below it. For the third field, browse to and open the regenerated AFS file. After all three fields have been filled, press "Import!", and the program will insert the regenerated AFS file into the ISO.

Sound Effect and Voice Clip Editing

Upon opening SOUND.AFS, you will see several DAT files. Right-click the file you want to edit and select "Export", then save it wherever you want. Finding sounds within the file itself must be done manually, as no program designed to support these files in particular exists. To begin, open MFAudio and click Open, then select your extracted file. In the parameters below the file path and format, set "Channels" to 1 and "Frequency" to 24000 (except in the case of sound effects, which use 22050). Next, open the file in a hex editor and search for every instance of sixteen consecutive bytes of zeroes, which designate the beginning of an audio clip. Input each of these positions into the "Offset" parameter in MFAudio and click "Play" to test each of these audio clips one-by-one until you find the one you wish to edit. When you find the clip you want to edit, select WAV for the output's File Format, set the output "Frequency" and "Channels" parameters to match the input, and click Save As to select a location and name for the output. Finally, click Process! to extract the sound file.

PBBlog Sound.png

When you're finished editing, export your audio as a mono 16-bit WAV file. Make sure that your edited file remains the same length or shorter than the file you are replacing. Once the audio file is exported, open the exported WAV file in MFAudio, change the output File Format to "Raw Sound Data - Compressed ADPCM", set the output parameters to be the same as the previous input parameters, and select an output location and name before clicking Process!. MFAudio should convert your new WAV file into a RAW file in the same audio format as the original sound. Next, return to the hex editor, open your RAW file, and locate the position you found the audio clip at within the DAT file. Copy and paste the entire data of your RAW file over the original data, and fill the remainder with bytes of zeroes. Finally, save the DAT file and reimport it into SOUND.AFS.

Streamed Audio Editing

Scrolling further within SOUND.AFS, you will see hundreds of ADX files. Once you find the file you want to edit, export the file. With the FFmpeg extension installed (refer to the installation instructions on Audacity's website), Audacity is capable of opening and exporting ADX files natively, but does not support looping in any capacity. Thus, if your only goal is to edit non-looping audio (dialogue and cutscene audio), Audacity alone will suffice for converting to and from the format. There are a few things to keep in mind, however: due to a bug in the current version of Audacity, you will need to export your tracks with the "(external program)" format, with the command set to ffmpeg -i - "%f.adx". In addition, be careful to specify the correct sample rate in the export options menu.

In order to add loop points to your custom ADX file (important if you are editing music), you will need ADX Encoder. Upon opening the program, you will be presented with the following GUI:

GioGioBlog Sound1.png
  1. Import: Clicking the button displaying a folder and an arrow, pressing Insert, or selecting "Item->Add" in the window dropdown will allow you to select a WAV file to be converted. The selected WAV file will appear in the list, along with its sample rate, number of audio channels, and number of samples.
  2. Remove: Clicking the button displaying a red X over a file icon, pressing Delete, or selecting "Item->Delete" in the window dropdown will remove the highlighted WAV file from the list.
  3. Loop: Double-clicking a file in the list, clicking the button displaying a pair of arrows, pressing L, or selecting "Loop->Loop Settings..." in the window dropdown will allow you to set the loop information for the created ADX. You can choose to disable looping, have the file loop from the start of the audio to the end, or set loop points by sample number. The sample numbers of a given position or selection can be viewed in Audacity by clicking the arrow to the right of either value in the "Selection" panel at the bottom of the window, and then selecting "samples" in the resulting dropdown menu.
  4. Output Folder: Clicking the button displaying an empty folder or pressing O will prompt you for a folder to place the new ADX files in. If this is not set, the files will be deposited in the computer's root directory.
  5. Export: Clicking the "Encode" button or pressing E will convert each WAV file in the list into an ADX file with corresponding audio and loop information.


Note that if imported into the game as-is, the ADX files output by this program will not loop, due to using a different loop specification than the game expects. To remedy this, the use of a hex editor is required. Opening an exported ADX file in a hex editor should result in a similar view to the left side of the following image:

GioGioBlog Sound2.png
(Images taken with 010 Editor.)

In order to make the ADX file meet the game's standards, three actions are required in the hex editor:

  • Change the values at position 0x12 from "04 00" to "03 00".
  • Delete 12 (0x0C) bytes of zeroes from position 0x14 onward (the selection should end just before a value of "00 00 00 01").
  • Subtract 12 (0x0C) from the value at position 0x02, which indicates the start of the audio data.

After doing this and saving the ADX file, the game will be able to read it correctly, loop data included.

Mod Downloads

See the above sections, particularly the FILELINK.BIN section, for information on how to install these mods.

Audio Edits

Anime OST - Hudgyn Sasdarl

Full Translations

penguino + Sasdarl Translation
To install these mods, you will need the program xdelta. Open the program, select the Patch, Source File, and Output File, and click the Patch button.

Resources

SOUND.AFS Files
Filename
Frequency
Description
SYS.DAT - ENE_SNW.DAT
11025
Sound effects.
people.dat - osa.dat
11025
Character voice lines.
BGM01.adx
48000
Battle music #1. Used for some battles with humans.
BGM02.adx
48000
Battle music #2. Used for some battles with zombies.
BATTLE.adx
48000
Battle music #3. Used for the majority of the game's battles.
jojo22.adx
48000
Battle music #4. Used in both versions of Chapter 23.
end_roll.adx
48000
Credits music.
chrsel.adx
48000
Character select screen music.
kakusei.adx
48000
Awakening attack music.
gameover.adx
48000
Unused.
mainmenu.adx
48000
Main menu music.
TITLE.adx
24000
Title screen announcement.
XX_YY_ZZ.adx
48000
Cutscene background music. XX is the chapter number, YY is the event number, and ZZ is the cutscene section.
XX_YY_ZZvo.adx
24000
Cutscene voices and sound effects. XX is the chapter number, YY is the event number, and ZZ is the cutscene section.
cXX_YY_B_ZZ.adx
24000
Mid-fight voice lines. XX is the chapter number, YY is the event number, and ZZ is the voice line number.
k_XX_Y.adx
24000
Awakening move voice lines. XX is the character or stage and Y is the voice line number.
jojoXX.adx
48000
Profile background music.
FILELINK.BIN Folders
Folder
QuickBMS Extension(s)
Description
0
PGM
Contains the loading screen graphic.
1
RLE
Unused. Unknown intended purpose.
2
CHR
Contains character parameters and filenames.
3
STG
Contains stage parameters and filenames.
4
EVT
Contains the game's list of cutscenes, profiles included.
5
SCN
Group cutscenes by mode.
6
PGM/DAT
Contains graphics for memory card-related pop-ups.
7
PGM/DAT
Contains graphics for the main menu.
8
PGM/DAT
Contains graphics for the results screen.
9
DAT
Extension mislabeled. Contains effect parameters.
10
ENT
Contains an unused duplicate set of battle conditions.
11
BTR
Contains additional battle parameters, as well as DAT and PGM sections.
12
NFC
Contains the model for ripple effects on surfaces.
13
SDB
Contains the model for Chapter 22's fire effect.
14
PGM/DAT
Contains graphics for the game's heads-up display.
15
PGM/DAT
Contains graphics for character shadows.
16
PGM/DAT
Contains graphics for the game's startup logos and warnings.
17
PGM/DAT
Contains graphics for the battle start and end sequences.
18
NFC
Contains the game's character models.
19
VAP
Contains bone models used for dying enemy characters.
20
VAP
Contains the model used for pieces of zombies blown apart.
21
SDB
Contains character animation data.
22
CCL
Contains parameters for character models.
23
DAT/etc.
Extensions mislabeled. Contains hitbox data for projectile attacks.
24
PGM/DAT
Contains graphics for Awakening attack portraits.
25
SDB
Contains camera data for counters and poses.
26
SDB
Contains the game's stage models.
27
OBJ
Contains models for stage background objects.
28
EVS
Contains data for Story Mode cutscenes.
29
PGM/DAT/ENT/BTR
Contains data for Story Mode battles.
32
PGM/DAT/ENT/BTR
Contains data for Extra Battle Mode battles.
33
PGM/DAT/ENT/BTR
Contains data for Dio Mode battles.
34
PGM/DAT/ENT/BTR
Contains data for 77 Rings Knights Mode battles.
Character Info
Character
Internal Name
Audio File
Model/Bone File (18/19)
Jonathan Joestar (Young)
JONA1_SUITA_SH
young_jonathan
0
Jonathan Joestar (Young, vs. Dio)
JONA1_SUITB_SH
young_jonathan
1
Jonathan Joestar (Boxing)
JONA1_BOXING_SH
young_jonathan
2
Dio Brando (Young, vs. Jonathan)
DIO1_SUITB_SH
young_DIO
3
Dio Brando (Boxing)
DIO1_BOXING_SH
young_DIO
4
Brat A
FURYOUA_A_SH
furyou
5
Brat B
FURYOUA_B_SH
furyou
6
Jonathan Joestar (Adult)
JONA2_SUITA_MH
Jonasan_voice
7
Jonathan Joestar (Adult, Ogre Street)
JONA2_SUITB_MH
Jonasan_voice
8
Jonathan Joestar (Mansion)
JONA2_BATTLEA_MH
Jonasan_voice
9
Jonathan Joestar (Spear)
JONA2_BATTLEB_MH
Jonasan_voice
10
Jonathan Joestar (Training)
JONA2_BATTLEC_MH
Jonasan_voice
11
Jonathan Joestar (Post-Training)
JONA3_BATTLEA_MH
Jonasan_voice
12
Jonathan Joestar (Underwater)
JONA3_BATTLEA_SWM_MH
Jonasan_voice
12
Jonathan Joestar (Shirtless)
JONA3_NAKED_MH
Jonasan_voice
13
Jonathan Joestar
JONA3_BATTLEB_MH
Jonasan_voice
14
Jonathan Joestar (Luck and Pluck)
JONA3_BATTLEC_MH
sword_jonathan
15
Jonathan Joestar (Honeymoon)
JONA4_TUXEDOA_MH
Jonasan_voice
16
Jonathan Joestar (Wounded)
JONA4_TUXEDOB_MH
Jonasan_voice
17
Dio Brando (Adult)
DIO2_SUITA_MH
adult_DIO
18
Dio Brando (Mansion)
DIO3_COATA_MH
DIO
19
Dio Brando (Shirtless)
DIO3_NAKED_MH
DIO
20
Dio Brando
DIO3_BATTLEA_MH
DIO
21
Dio Brando (Styx's Body)
DIO3_STYX_MH
DIO
22
Wang Chan
WANGCHAN_CLAW_SZ
wanchen
23
Wang Chan w/ Dio
WANGCHAN_BODY_SZ
wanchen
24
Will Anthonio Zeppeli
ZEPPELI_B_SH
zeppeli
25
Robert E. O. Speedwagon
SPW_B2_MH
speedwagon
26
Robert E. O. Speedwagon (Hammer)
SPW_B3_MH
speedwagon
27
Robert E. O. Speedwagon (Zeppeli's Hat)
SPW_C2_MH
speedwagon
28
Jack the Ripper
JACK_ZMBA_MH
jack
29
Jack the Ripper (Pincer)
JACK_SCISSORS_MH
jack
30
Tarkus (vs. Zeppeli)
TARUKUS_A4_LLZ
tarukus
31
Tarkus (vs. Jonathan)
TARUKUS_A3_LLZ
tarukus
32
Bruford (Underwater)
BRUFORD_A_MH
bruford
33
Bruford (vs. Jonathan)
BRUFORD_A2_MH
bruford
34
Tattoo
IREZUMI_A_MH
irezumi
35
Kempo Fighter
KEMPO_A_SH
kenpo
36
Mr. Adams
ADAMS_ZMB
zonbieA
37
Dire (vs. Jonathan)
DIRE_A_ENM_MH
dire
38
Dire
DIRE_A_MH
dire
38
Tonpetty
TONPETTY_SH
tonpetty
39
Straizo
STRAIZO_MH
straizo
40
Doobie
DOOBIE_A_LZ
doobie
41
Sword Zombie
ZMBKKA_MH
kkzonbie
42/0
Claw Zombie
ZMBKKB_MH
kkzonbie
43/0
Page
PAGE
kkzonbie
44
Jones
JONES
kkzonbie
45
Plant
PLANT
kkzonbie
46
Bornnam
BONHAM
kkzonbie
47
Police Zombie A
POLICEA_ZMB_MZ
zonbieB
48/1
Police Zombie B
POLICEB_ZMB_MZ
zonbieB
49/1
Fisherman Zombie A
ZMBZAKOA_MZ
zonbieB
50/1
Fisherman Zombie B
ZMBZAKOB_MZ
zonbieB
51/1
Fisherman Zombie C
ZMBZAKOC_MZ
zonbieB
52/1
Armor Zombie A
ZMBLKNIGHTA_LZ
zonbieA
53/2
Armor Zombie B
ZMBLKNIGHTB_LZ
zonbieA
54/2
Armor Zombie C
ZMBLKNIGHTC_LZ
zonbieA
55/2
Knight Zombie A
ZMBMKNIGHTA_MZ
zonbieB
56/1
Knight Zombie B
ZMBMKNIGHTB_MZ
zonbieB
57/1
Knight Zombie C
ZMBMKNIGHTC_MZ
zonbieB
58/1
Hungry Zombie
ZMBNANKOTSU_MZ
zonbieB
59/1
Sailor Zombie A
ZMBSHIP_A_MZ
zonbieB
60/1
Sailor Zombie B
ZMBSHIP_B_MZ
zonbieB
61/1
Sailor Zombie C
ZMBSHIP_C_MZ
zonbieB
62/1
Cat-bird
NEKODORI
nekodori
63/3
Dog-man
JINMENKEN
jinmenken
64/4
Winzaleo
WINZALEO
winzaleo
65/0
Eijkman
IKEMAN
ikeman
66/0
Caineghis
CAINEGHIS
cainegis
67/0
Dio Brando (Adult, Live Subject Test)
DIO3_COATA_MH2
adult_DIO
19
Vagrant
GOROTSUKIB_KAMEN_MH2D
gorotsuki
68
Father Styx
STYX_MH_2D
stix
69
Police A
POLICE_A_MH
police
70
Police B
POLICE_B_MH
police
71
Tarkus
TARUKUS_A_LLZ_2D
tarukus
72/5
Bruford
BRUFORD_A2_MH_MELT
bruford
73/0
Dio Brando (Young)
young_DIO
DIO1_SUITA_SH
74
Aztec Chief
AZTEC_A_MH_P
osa
75
Aztec
AZTEC_MOBS
people
76
Dio's Head (Cutscene)
DIO3_HEAD
N/A
77
Sacrifical Maiden (Cutscene)
IKENIE_A
N/A
78
Aztec Chief (Cutscene)
AZTEC_A_MH
N/A
75
Danny (Cutscene)
DANNY_A
N/A
79
Will Anthonio Zeppeli (Rainbow Hat, Cutscene)
ZEPPELI_A_SH
N/A
82
Robert E. O. Speedwagon (Cutscene)
SPW_A_MH
N/A
83
Robert E. O. Speedwagon (Razor Hat, Cutscene)
SPW_A2_MH
N/A
84
Robert E. O. Speedwagon (No Hat, Cutscene)
SPW_B_MH
N/A
85
Jack the Ripper (Wounded, Cutscene)
JACK_ZMBA2_MH
N/A
86
Bruford (Sword Attached, Cutscene)
BRUFORD_B2_MH
N/A
88
Erina Joestar (Cutscene)
ERINA2_DRESS2_SW
N/A
89
Poco (Hat, Cutscene)
POCOB_SSH
N/A
90
Poco (Cutscene)
POCO_SSH
N/A
91
Dire (Frozen, Cutscene)
DIRE_B_MH
N/A
92
Doobie (No Mask, Cutscene)
DOOBIE_B_LZ
N/A
93
Doobie Snake A (Cutscene)
SNAKEA
N/A
94
Doobie Snake B (Cutscene)
SNAKEB
N/A
95
Doobie Snake C (Cutscene)
SNAKEC
N/A
96
Frog (Cutscene)
FROGA
N/A
97
Jonathan Joestar (Casual, Cutscene)
JONA2_SUITC_MH_2D
N/A
100
Erina Pendleton (Cutscene)
ERINA2_A_SW_2D
N/A
103
Hungry Zombie (Unused)
ZMBNANKOTSU_MZ_2D
N/A
59
Wang Chan (Red Suit, Unused)
WANGCHAN_INJURED_SZ
N/A
80
Wang Chan w/ Dio (Unused)
WANGCHAN_CHINA_SZ
N/A
81
Bruford (Danse Macab-Hair, Unused)
BRUFORD_B_MH
N/A
87
Erina Joestar (Unused)
ERINA2_DRESS_SW_2D
N/A
89
Jonathan Joestar (Meeting Erina, Unused)
JONA1_SUITC_SH_2D
N/A
98
Erina Pendleton (Young, Unused)
ERINA1_A_SW_2D
N/A
99
Speedwagon (Zeppeli's Hat, Unused)
SPW_C_MH_2D
N/A
101
Erina Pendleton (Nurse, Unused)
ERINA2_NURSE_SW_2D
N/A
102
Poco's Sister (Unused)
POCOSISTER_SW_2D
N/A
104
Vagrant (Human, Unused)
GOROTSUKIB_MH_2D
N/A
105
Vagrant (Vampire, Unused)
GOROTSUKIB_ZMB_MH_2D
N/A
106
Stage Info
Stage Name
Stage ID
Stage File (26)
Object File (27)
Aztec Temple
map00
0
0
Near Joestar Mansion
map01
1
1
Boxing Ring
map02
2
2
Joestar Mansion (Lower Lobby)
map03
3
N/A
Joestar Mansion (Upper Lobby)
map04
4
3
Ogre Street
map05
5
N/A
Joestar Mansion (Hallway)
map06
6
4
Joestar Mansion (Roof)
map07
7
5
English Plains (Cloudy)
map08
8
N/A
Windknight's Lot Entrance (Tunnel)
map09
9
N/A
Windknight's Lot Entrance (Maze)
map10
10
N/A
Windknight's Lot Graveyard (Entrance)
map11
11
N/A
Windknight's Lot Graveyard (Pillars)
map12
12
N/A
Windknight's Lot Graveyard (Underwater)
map13
13
6
Windknight's Lot Graveyard (Lakeside)
map14
14
N/A
Knights' Ruins (Cliffside)
map15
15
7
Knights' Ruins (Dragon's Chamber, Jonathan)
map16
16
8
Knights' Ruins (Dragon's Chamber)
map17
16
N/A
Windknight's Lot (Outskirts)
map18
17
N/A
Windknight's Lot (Town Gate)
map19
18
N/A
Dio's Castle (Side Chamber)
map20
19
9
Dio's Castle (Great Hall)
map21
20
10
Dio's Castle (Great Hall)
map22
20
10
Dio's Castle (Great Hall 2)
map23
21
10
Dio's Castle (Great Hall 2)
map24
21
10
Ship's Hold
map25
22
11
Ship's Hold
map26
22
11
Near Joestar Mansion (Front Gate)
map01_event
23
N/A
Joestar Mansion (Complete Lobby)
map04_event
24
N/A
English Plains (Clear Day)
map08_event
25
N/A
Dio's Castle (Great Hall, No Chandelier)
map21_event
26
10
Port Town
map05_dio
27
N/A
English Plains (Cloudy Day)
map08_extra
28
N/A
Aztec Temple (No Crowd)
map00_extra
29
12
Near Joestar Mansion (No Erina)
map01_extra
1
N/A
Cutscene Info
Story Mode
Cutscene Name
Audio Track
EVS File (28)
Cutscene Files (28)
People of the Sun (Prologue)
00_01_01
0
221-254
Dario's Will (Dario's Story)
01_01_01
1
255-256
Dario's Will (Dario's Grave)
01_01_02
1
257-258
Erina Bullied
01_02_01
2
259-260
A Gentleman's Courage
01_04_01
3
261-262
To Become a True Gentleman
01_05_01
4
263-264
Meeting Dio
01_06_01
5
265-319
Meeting Dio ("Nani o suru da")
01_06_01a
6
320-374
Boxing
02_01_01
7
375-376
The Boxing Booth Technique
02_03_01
8
377-409
Deliberately! On Purpose!
02_04_01
9
410-411
But I Didn't Do It!
02_05_01
10
412-413
Gentle Curiosity
03_01_01
11
414-415
Muddy Water and Pride
03_02_01
12
416-417
Regaining Erina's Honor
03_03_01
13
418-419
I'll Beat You Until You Cry!
03_06_01
14
420-441
The Stone Mask Activates
03_07_01
15
442-443
Dario's Letter (George's Illness)
04_01_01
16
444-445
Dario's Letter (Jonathan's Research)
04_01_02
16
446-447
Dario's Letter (Dio's Honor)
04_01_03
16
448-449
I'll Protect the Joestar Family!
04_04_01
17
450-468
Dio's Intent to Kill
04_05_01
18
469-470
A Study of the Stone Mask
05_01_01
19
471-472
To Ogre Street
05_02_01
20
473-474
Speedwagon's Entrance
05_03_01
21
475-535
He's a Real Gentleman, All Right
05_05_01
22
536-537
The Live Subject Test of the Mask (Method)
05_06_01
23
538-539
The Live Subject Test of the Mask (Result)
05_06_02
23
540-541
This Guy Was Born Evil! (Dio's Confession)
06_01_00
24
542-543
This Guy Was Born Evil! (Speedwagon's Rebuttal)
06_01_01
24
544-560
I Reject My Humanity!
06_03_01
25
561-562
The Death of Sir Joestar
06_04_01
26
563-564
A Vampire is Born
06_05_01
27
565-566
The Immortal DIO
06_08_01
28
567-568
Come On Up, Dio!
07_01_01
29
569-607
Statue of the Goddess of Love
07_04_01
30
608-609
Reuniting with Erina (Speedwagon's Visit)
07_05_01
31
610-611
Reuniting with Erina (Wang Chan's Theft)
07_05_02
31
612-613
Jack the Ripper
08_01_01
32
614-615
Zeppeli the Strange
08_02_01
33
616-617
This is Sendo!
08_03_01
34
618-704
Destined to Fight the Stone Mask
08_04_01
35
705-706
Wang Chan Attacks
08_05_01
36
707-708
I Have to Remove the Joint!
08_08_01
37
709-710
To Windknight's Lot
09_02_01
38
711-712
Songs of Courage
09_05_01
39
713-723
Do You See the Wine's Meaning?
09_06_01
40
724-725
Chapter 10 Title Card
N/A
41
726-727
Sendo Ripple Overdrive!
10_04_01
42
728-757
I Wanna Help You Guys Out!
10_05_01
43
758-759
I Can't Forgive His Human Self! (Poco's Technique)
11_01_01
44
760-822
I Can't Forgive His Human Self! (Dio's Entrance)
11_01_02
44
823-867
The Blood-Chilling Mask
11_04_01
45
868-977
Chapter 12 Title Card
N/A
46
978-979
Tarkus and Bruford
12_03_01
47
980-981
Danse Macab-Hair
13_01_01
48
982-983
Turquoise Blue Overdrive (Unused)
13_04_01
49
984-1000
Fight Me with All of Your Being!
13_05_01
50
1001-1002
Chapter 14 Title Card
N/A
51
1003-1004
Metal Silver Overdrive!
14_03_01
52
1005-1043
Having Reached a Bizarre Peace
14_04_01
53
1044-1045
Life Magnetism Overdrive!
15_01_01
54
1046-1047
The Training Grounds for Murder
15_04_01
55
1048-1049
Tarkus's Onslaught
16_01_01
56
1050-1051
Tomorrow is Now!
16_02_01
57
1052-1053
The Master's Prophecy
16_03_01
58
1054-1055
Hell Heaven Snake Kill!
16_06_01
59
1056-1057
Ultimate Deep Pass Overdrive!
17_01_01
60
1058-1059
Goodbye, Mr. Zeppeli...
17_04_01
61
1060-1061
This Man is Already a Zombie!
18_01_01
62
1062-1063
Thunder Split Attack!
18_06_01
63
1064-1101
Zeppeli's Letter
18_07_01
64
1102-1103
Doobie, the Monster
19_01_01
65
1104-1105
Through Their Blood!
19_04_01
66
1106-1165
I'm Back from Hell!
19_05_01
67
1166-1167
Chapter 20 Title Card
N/A
68
1168-1169
For the Sake of Revenge
20_03_01
69
1170-1171
Thunder Cross Split Attack!
20_04_01
70
1172-1225
A Ripple-Infused Rose
20_05_01
71
1226-1227
I, Straizo, Will Show You No Mercy!
21_01_01
72
1228-1229
Straizo's Beauty
21_04_01
73
1230-1288
I'll Purge Your Ambition!
21_05_01
74
1289-1290
Slash with Luck and Pluck!
21_08_01
75
1291-1292
Chapter 22 Title Card
22_01_01
76
1293-1294
The Fiery Fists
22_03_01
77
1295-1343
A Demon's End
22_04_01
78
1344-1345
Overture to the Dreadful Storm (Departure)
23_01_01
79
1346-1347
Overture to the Dreadful Storm (Dio's Jar)
23_01_02
79
1348-1349
The Final Ripple! (Unused)
23_04_01
80
1350-1379
I Will Die with You
23_05_01
81
1380-1381
Nightmare on Board (Departure)
23_01_01
82
1382-1383
Nightmare on Board (Dio's Priest)
24_01_02
82
1384-1385
This Lowly Ripple...
24_03_01
83
1386-1387
The Final Ripple!
24_04_01
84
1388-1419
I Will Die with You (Chapter 23 Reverse)
23_05_01
85
1420-1421
It's Begun... to Explode...
25_01_01
86
1422-1423
The Death of Jonathan
25_02_01
87
1424-1486
Into Oblivion
25_03_01
88
1487-1488
Theater Mode
No.
Cutscene Name
Audio Track
EVS File (28)
Cutscene Files (28)
01
People of the Sun (Prologue)
00_01_01
141
2228-2261
02
Dario's Will (Dario's Story)
01_01_01
142
2262-2263
02
Dario's Will (Dario's Grave)
01_01_02
142
2264-2265
03
Erina Bullied
01_02_01
143
2266-2267
04
A Gentleman's Courage
01_04_01
144
2268-2269
05
To Become a True Gentleman
01_05_01
145
2270-2271
06
Meeting Dio
01_06_01
146
2272-2326
07
Boxing
02_01_01
147
2327-2328
08
The Boxing Booth Technique
02_03_01
148
2329-2361
09
Deliberately! On Purpose!
02_04_01
149
2362-2363
10
But I Didn't Do It!
02_05_01
150
2364-2365
11
Gentle Curiosity
03_01_01
151
2366-2367
12
Muddy Water and Pride
03_02_01
152
2368-2369
13
Regaining Erina's Honor
03_03_01
153
2370-2371
14
I'll Beat You Until You Cry!
03_06_01
154
2372-2393
15
The Stone Mask Activates
03_07_01
155
2394-2395
16
Dario's Letter (George's Illness)
04_01_01
156
2396-2397
16
Dario's Letter (Jonathan's Research)
04_01_02
156
2398-2399
16
Dario's Letter (Dio's Honor)
04_01_03
156
2400-2401
17
I'll Protect the Joestar Family!
04_04_01
157
2402-2420
18
Dio's Intent to Kill
04_05_01
158
2421-2422
19
A Study of the Stone Mask
05_01_01
159
2423-2424
20
To Ogre Street
05_02_01
160
2425-2426
21
Speedwagon's Entrance
05_03_01
161
2427-2487
22
He's a Real Gentleman, All Right
05_05_01
162
2488-2489
23
The Live Subject Test of the Mask (Method)
05_06_02
163
2490-2491
23
The Live Subject Test of the Mask (Result)
05_06_02
163
2492-2493
24
This Guy Was Born Evil! (Dio's Confession)
06_01_00
164
2494-2495
24
This Guy Was Born Evil! (Speedwagon's Rebuttal)
06_01_01
164
2496-2512
25
I Reject My Humanity!
06_03_01
165
2513-2514
26
The Death of Sir Joestar
06_04_01
166
2515-2516
27
A Vampire is Born
06_05_01
167
2517-2518
28
The Immortal DIO
06_08_01
168
2519-2520
29
Come On Up, Dio!
07_01_01
169
2521-2559
30
Statue of the Goddess of Love
07_04_01
170
2560-2561
31
Reuniting with Erina (Speedwagon's Visit)
07_05_01
171
2562-2563
31
Reuniting with Erina (Wang Chan's Theft)
07_05_02
171
2564-2565
32
Jack the Ripper
08_01_01
172
2566-2567
33
Zeppeli the Strange
08_02_01
173
2568-2569
34
This is Sendo!
08_03_01
174
2570-2656
35
Destined to Fight the Stone Mask
08_04_01
175
2657-2658
36
Wang Chan Attacks
08_05_01
176
2659-2660
37
I Have to Remove the Joint!
08_08_01
177
2661-2662
38
To Windknight's Lot
09_02_01
178
2663-2664
39
Songs of Courage
09_05_01
179
2665-2675
40
Do You See the Wine's Meaning?
09_06_01
180
2676-2677
41
Sendo Ripple Overdrive!
10_04_01
181
2678-2707
42
I Wanna Help You Guys Out!
10_05_01
182
2708-2709
43
I Can't Forgive His Human Self! (Poco's Technique)
11_01_01
183
2710-2772
43
I Can't Forgive His Human Self! (Dio's Entrance)
11_01_02
183
2773-2817
44
The Blood-Chilling Mask
11_04_01
184
2818-2927
45
Tarkus and Bruford
12_03_01
185
2928-2929
46
Danse Macab-Hair
13_01_01
186
2930-2931
47
Fight Me with All of Your Being!
13_05_01
187
2932-2933
48
Metal Silver Overdrive!
14_03_01
188
2934-2972
49
Having Reached a Bizarre Peace
14_04_01
189
2973-2974
50
Life Magnetism Overdrive!
15_01_01
190
2975-2976
51
The Training Grounds for Murder
15_04_01
191
2977-2978
52
Tarkus's Onslaught
16_01_01
192
2979-2980
53
Tomorrow is Now!
16_02_01
193
2981-2982
54
The Master's Prophecy
16_03_01
194
2983-2984
55
Hell Heaven Snake Kill!
16_06_01
195
2985-2986
56
Ultimate Deep Pass Overdrive!
17_01_01
196
2987-2988
57
Goodbye, Mr. Zeppeli...
17_04_01
197
2989-2990
58
This Man is Already a Zombie!
18_01_01
198
2991-2992
59
Thunder Split Attack!
18_06_01
199
2993-3030
60
Zeppeli's Letter
18_07_01
200
3031-3032
61
Doobie, the Monster
19_01_01
201
3033-3034
62
Through Their Blood!
19_04_01
202
3035-3094
63
I'm Back from Hell!
19_05_01
203
3095-3096
64
For the Sake of Revenge
20_03_01
204
3097-3098
65
Thunder Cross Split Attack!
20_04_01
205
3099-3152
66
A Ripple-Infused Rose
20_05_01
206
3153-3154
67
I, Straizo, Will Show You No Mercy!
21_01_01
207
3155-3156
68
Straizo's Beauty
21_04_01
208
3157-3215
69
I'll Purge Your Ambition!
21_05_01
209
3216-3217
70
Slash with Luck and Pluck!
21_08_01
210
3218-3219
71
The Fiery Fists
22_03_01
211
3220-3268
72
A Demon's End
22_04_01
212
3269-3270
73
Overture to the Dreadful Storm (Departure)
23_01_01
213
3271-3272
73
Overture to the Dreadful Storm (Dio's Jar)
23_01_02
213
3273-3274
74
I Will Die with You
23_05_01
214
3275-3276
75
Nightmare on Board (Departure)
23_01_01
215
3277-3278
75
Nightmare on Board (Dio's Priest)
24_01_02
215
3279-3280
76
This Lowly Ripple...
24_03_01
216
3281-3282
77
The Final Ripple!
24_04_01
217
3283-3314
78
It's Begun... to Explode...
25_01_01
218
3315-3316
79
The Death of Jonathan
25_02_01
219
3317-3379
80
Into Oblivion
25_03_01
220
3380-3381
Profiles
Profile Name
Audio Track
EVS File (28)
Profile Files (28)
Aztec Chief
jojo02
109
2110-2111
Stone Mask
jojo02
109
2112-2113
Jonathan Joestar (Young)
jojo11
110
2114-2115
Dio Brando (Young)
jojo10
110
2116-2117
Brat A
bgm01
111
2118-2119
Brat B
bgm01
111
2120-2121
Erina Pendleton (Young)
jojo13
111
2122-2123
Jonathan Joestar (Young, Boxing)
bgm01
112
2124-2125
Dio Brando (Young, Boxing)
bgm01
112
2126-2127
Jonathan Joestar (Young, vs. Dio)
bgm01
113
2128-2129
Dio Brando (Young, vs. Jonathan)
bgm01
113
2130-2131
Jonathan Joestar (Adult)
jojo12
114
2132-2133
Dio Brando (Adult)
jojo12
114
2134-2135
Jonathan Joestar (Adult, Ogre Street)
jojo05
115
2136-2137
Robert E. O. Speedwagon
jojo04
116
2138-2139
Tattoo
jojo04
116
2140-2141
Kempo Fighter
jojo04
116
2142-2143
Dio Brando (Mansion)
jojo16
117
2144-2145
Jonathan Joestar (Spear)
jojo16
117
2146-2147
Police Zombie
jojo16
117
2148-2149
Dio Brando (Shirtless)
battle
118
2150-2151
Jonathan Joestar (Mansion)
battle
118
2152-2153
Will Anthonio Zeppeli
jojo19
119
2154-2155
Jonathan Joestar (Training)
jojo19
119
2156-2157
Erina Pendleton
jojo13
119
2158-2159
Wang Chan
battle
120
2160-2161
Jonathan Joestar (Post-Training)
jojo09
121
2162-2163
Robert E. O. Speedwagon (Hammer)
jojo09
121
2164-2165
Jack the Ripper
battle
122
2166-2167
Knight Zombies
bgm02
123
2168-2169
Dio Brando (Cemetery)
jojo16
124
2170-2171
Jonathan Joestar (Underwater)
battle
125
2172-2173
Bruford
battle
126
2174-2175
Hungry Zombie
battle
127
2176-2177
Poco
jojo09
128
2178-2179
Tarkus
battle
129
2180-2181
Mr. Adams
jojo16
130
2182-2183
Dire
jojo19
131
2184-2185
Straizo
jojo19
131
2186-2187
Tonpetty
jojo19
131
2188-2189
Doobie
bgm02
132
2190-2191
Cat-bird and Dog-man
bgm02
132
2192-2193
Poco's Sister
jojo09
132
2194-2195
Sword Zombie
bgm02
133
2196-2197
Claw Zombie
bgm02
133
2198-2199
Page
bgm02
134
2200-2201
Jones
bgm02
134
2202-2203
Plant
bgm02
134
2204-2205
Bornnam
bgm02
134
2206-2207
Jonathan Joestar (Luck and Pluck)
kakusei
135
2208-2209
Dio Brando
battle
136
2210-2211
Jonathan Joestar (Wounded)
jojo22
137
2212-2213
Wang Chan w/ Dio
jojo22
137
2214-2215
Jonathan Joestar (Honeymoon)
jojo22
138
2216-2217
Dio Brando (Styx's Body)
jojo22
138
2218-2219
Winzaleo
battle
139
2220-2221
Eijkman
battle
139
2222-2223
Caineghis
battle
139
2224-2225
Erina Joestar
jojo17
140
2226-2227
Other
Scene Name
Audio Track
EVS File (28)
Scene Files (28)
Jonathan's Sunlight Yellow Overdrive (Awakening)
k_18_0-2
89
1489-1522
Turquoise Blue Overdrive (Awakening)
k_13_0-1
90
1523-1543
The Final Ripple! (Awakening)
k_23_0-1
91
1544-1577
Thunder Split Attack (Awakening)
k_dir_0-2
92
1578-1615
Metal Silver Overdrive (Awakening)
k_jos_0-2
93
1616-1655
Cyclone Swing (Awakening)
k_spw_0-2
94
1656-1690
I, Straizo, Will Show You No Mercy! (Awakening)
k_str_0-2
95
1691-1727
Tonpetty's Sunlight Yellow Overdrive (Awakening)
k_tmp_0-2
96
1728-1760
Zeppeli's Sunlight Yellow Overdrive (Awakening)
k_zep_0-2
97
1761-1796
Placeholder (Awakening)
N/A
98
N/A
Title Screen (Normal)
title
99
1797-1803
Title Screen (Post-Story)
title
100
1804-1810
Title Screen (Completion)
title
101
1811-1817
People of the Sun (Title Demo)
00_01_01
102
1818-1851
Meeting Dio (Title Demo)
01_06_01
103
1852-1906
The Boxing Booth Technique (Title Demo)
02_03_01
104
1907-1939
Through Their Blood! (Title Demo)
19_04_01
105
1940-1999
Straizo's Beauty (Title Demo)
21_04_01
106
2000-2058
The Fiery Fists (Title Demo)
22_03_01
107
2059-2107
Credits
end_roll
108
2108-2109

Community

Though there is no formal community for Phantom Blood, any forthcoming developments in the modding scene (unlikely as they may be) will likely be posted to penguino's YouTube channel and Twitter feed.

Notes

  1. The format of FILELINK.BIN is also applied to the game's model files, which QuickBMS typically applies "nfc" or "sdb" extensions to. In internal filenames, however, they share the same "bin" extension as FILELINK.
  2. PGM is an extension assumed and applied by QuickBMS. The header of each file begins with the string "P2TX", and internal filenames for these files use the extension "tex".
  3. TEX2 files are only known to exist within model file containers, and as such are only known by the "TEX2" string at the beginning of their headers. In addition, some model files use PGM files instead.
  4. DAT is an extension assumed and applied by QuickBMS. Internal filenames for these files use the extension "lxe". Note that these files are unrelated to the DAT files in SOUND.AFS, which are given the "dat" extension within the game proper.
  5. BTR files contain data for a certain battle scene, including both PGM and DAT data for mid-battle dialogue.
Loading comments...