Phantom Blood PS2 Modding Info

From JoJo's Bizarre Encyclopedia - JoJo Wiki
Revision as of 23:55, 1 December 2023 by HudgynS (talk | contribs) (Cutscene data)
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
Overdrive 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.
01_06_01avo.adx
24000
Voices and sound effects for the alternate "nani o suru da" cutscene unlocked after beating the game.
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
Overdrive 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
Extension(s)
Description
0
PGM
Contains the loading screen graphic.
1
RLE
Unknown 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 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 character select screens and battle introductions.
18
NFC
Contains the game's character models.
19
VAP
Contains Danny's model and skeleton models used for dying undead.
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. Contain hitbox data for projectile attacks.
24
PGM/DAT
Contains graphics for Overdrive attack portraits.
25
SDB
Unknown purpose.
26
SDB
Contains the game's stage models.
27
OBJ
Contains models for stage background objects.
28
EVS
Contains cutscene conditions.
29
PGM/DAT/ENT/BTR
Contains data for Story Mode cutscenes and 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 IDs
Internal Name
Character
JONA1_SUITA_SH
Jonathan Joestar (12)
JONA1_SUITB_SH
Jonathan Joestar (13)
JONA1_BOXING_SH
Jonathan (Boxing Ring)
DIO1_SUITB_SH
Dio Brando (13)
DIO1_BOXING_SH
Dio (Boxing Ring)
FURYOUA_A_SH
Brat A
FURYOUA_B_SH
Brat B
JONA2_SUITA_MH
Jonathan Joestar (20)
JONA2_SUITB_MH
Jonathan (Ogre Street)
JONA2_BATTLEA_MH
Jonathan (Mansion Battle)
JONA2_BATTLEB_MH
Jonathan (Spear)
JONA2_BATTLEC_MH
Jonathan (vs. Wang Chan)
JONA3_BATTLEA_MH
Jonathan (Ripple Training)
JONA3_BATTLEA_SWM_MH
Jonathan (Underwater)
JONA3_NAKED_MH
Jonathan (vs. Tarkus)
JONA3_BATTLEB_MH
Jonathan Joestar
JONA3_BATTLEC_MH
Jonathan (Luck & Pluck)
JONA4_TUXEDOA_MH
Jonathan (Honeymoon)
JONA4_TUXEDOB_MH
Jonathan (Wounded)
DIO2_SUITA_MH
Dio Brando (21)
DIO3_COATA_MH
Dio (Vampire)
DIO3_NAKED_MH
Dio (Mansion Battle)
DIO3_BATTLEA_MH
DIO
DIO3_STYX_MH
DIO (Styx's Body)
WANGCHAN_CLAW_SZ
Wang Chan
WANGCHAN_BODY_SZ
Wang Chan and DIO
ZEPPELI_B_SH
Will Anthonio Zeppeli
SPW_B2_MH
Robert E.O. Speedwagon
SPW_B3_MH
Speedwagon (Hammer)
SPW_C2_MH
Speedwagon (Zeppeli's Hat)
JACK_ZMBA_MH
Jack the Ripper
JACK_SCISSORS_MH
Jack the Ripper (Pincer)
TARUKUS_A4_LLZ
Tarkus (vs. Zeppeli)
TARUKUS_A3_LLZ
Tarkus (vs. Jonathan)
BRUFORD_A_MH
Bruford (Underwater)
BRUFORD_A2_MH
Bruford (vs. Jonathan)
IREZUMI_A_MH
Tattoo
KEMPO_A_SH
Kempo Fighter
ADAMS_ZMB
Mr. Adams
DIRE_A_ENM_MH
Dire (vs. Jonathan)
DIRE_A_MH
Dire
TONPETTY_SH
Tonpetty
STRAIZO_MH
Straizo
DOOBIE_A_LZ
Doobie
ZMBKKA_MH
Sword Zombie
ZMBKKB_MH
Claw Zombie
PAGE
Page
JONES
Jones
PLANT
Plant
BONHAM
Bonham
POLICEA_ZMB_MZ
Police Zombie A
POLICEB_ZMB_MZ
Police Zombie B
ZMBZAKOA_MZ
Fisherman Zombie A
ZMBZAKOB_MZ
Fisherman Zombie B
ZMBZAKOC_MZ
Fisherman Zombie C
ZMBLKNIGHTA_LZ
Armor Zombie A
ZMBLKNIGHTB_LZ
Armor Zombie B
ZMBLKNIGHTC_LZ
Armor Zombie C
ZMBMKNIGHTA_MZ
Knight Zombie A
ZMBMKNIGHTB_MZ
Knight Zombie B
ZMBMKNIGHTC_MZ
Knight Zombie C
ZMBNANKOTSU_MZ
Hungry Zombie
ZMBSHIP_A_MZ
Sailor Zombie A
ZMBSHIP_B_MZ
Sailor Zombie B
ZMBSHIP_C_MZ
Sailor Zombie C
NEKODORI
Owlcat
JINMENKEN
Dogman
WINZALEO
Winzaleo
IKEMAN
Eijkman
CAINEGHIS
Caineghis
DIO3_COATA_MH2
Dio (Live Subject Test)
GOROTSUKIB_KAMEN_MH2D
Mask Live Subject Test
STYX_MH_2D
Father Styx
POLICE_A_MH
Police A
POLICE_B_MH
Police B
TARUKUS_A_LLZ_2D
Tarkus
BRUFORD_A2_MH_MELT
Bruford
DIO1_SUITA_SH
Dio Brando (12)
AZTEC_A_MH_P
Aztec Chief
AZTEC_MOBS
Aztec
DANNY_A
Danny (Cutscene)
WANGCHAN_INJURED_SZ
Wang Chan (Red Suit, Cutscene)
WANGCHAN_CHINA_SZ
Wang Chan and Dio (Glass Intact, Cutscene)
ZEPPELI_A_SH
Zeppeli (Rainbow Hat, Cutscene)
SPW_A_MH
Speedwagon (Hat Attached, Cutscene)
SPW_A2_MH
Speedwagon (Razor Hat Attached, Cutscene)
SPW_B_MH
Speedwagon (No Hat, Cutscene)
JACK_ZMBA2_MH
Jack the Ripper (Wounded, Cutscene)
BRUFORD_B_MH
Bruford (Danse Macabre Hair, Cutscene)
BRUFORD_B2_MH
Bruford (Sword Attached, Cutscene)
ERINA2_DRESS2_SW
Erina Joestar (Cutscene)
POCOB_SSH
Poco (Hat, Cutscene)
POCO_SSH
Poco (Cutscene)
DIRE_B_MH
Dire (Frozen, Cutscene)
DOOBIE_B_LZ
Doobie (No Mask, Cutscene)
SNAKEA
Doobie Snake A (Cutscene)
SNAKEB
Doobie Snake B (Cutscene)
SNAKEC
Doobie Snake C (Cutscene)
FROGA
Frog (Cutscene)
JONA1_SUITC_SH_2D
Jonathan (Meeting Erina, Cutscene)
ERINA1_A_SW_2D
Erina Pendleton (Child, Cutscene)
JONA2_SUITC_MH_2D
Jonathan (Casual, Cutscene)
SPW_C_MH_2D
Speedwagon (Zeppeli's Hat, No Hammer, Cutscene)
ERINA2_NURSE_SW_2D
Erina Pendleton (Nurse, Cutscene)
ERINA2_A_SW_2D
Erina Pendleton (Cutscene)
ERINA2_DRESS_SW_2D
Erina Pendleton (Dress, Cutscene)
GOROTSUKIB_MH_2D
Mask Live Test Subject (No Mask, Cutscene)
GOROTSUKIB_ZMB_MH_2D
Mask Live Test Subject (Vampire, Cutscene)
ZMBNANKOTSU_MZ_2D
Hungry Zombie (Cutscene)
Stage IDs
ID
Stage Name
map00
Aztec Temple
map01
Near Joestar Mansion
map02
Boxing Ring
map03
Joestar Mansion (Lower Lobby)
map04
Joestar Mansion (Upper Lobby)
map05
Ogre Street
map06
Joestar Mansion (Hallway)
map07
Joestar Mansion (Roof)
map08
English Plains (Cloudy)
map09
Windknight's Lot Entrance (Tunnel)
map10
Windknight's Lot Entrance (Maze)
map11
Windknight's Lot Graveyard (Entrance)
map12
Windknight's Lot Graveyard (Pillars)
map13
Windknight's Lot Graveyard (Underwater)
map14
windknight's Lot Graveyard (Lakeside)
map15
Knights' Ruins (Cliffside)
map16
Knights' Ruins (Dragon's Chamber, Jonathan)
map17
Knights' Ruins (Dragon's Chamber)
map18
Windknight's Lot (Outskirts)
map19
Windknight's Lot (Town Gate)
map20
Dio's Castle (Side Chamber)
map21
Dio's Castle (Great Hall)
map22
Dio's Castle (Great Hall)
map23
Dio's Castle (Great Hall 2)
map24
Dio's Castle (Great Hall 2)
map25
Ship's Hold
map26
Ship's Hold
map01_event
Near Joestar Mansion (Front Gate)
map04_event
Joestar Mansion (Complete Lobby)
map08_event
English Plains (Clear Day)
map21_event
Dio's Castle (Great Hall, No Chandelier)
map05_dio
Port Town
map08_extra
English Plains (Cloudy Day)
map00_extra
Aztec Temple (No Crowd)
map01_extra
Near Joestar Mansion (No Erina)
Cutscene IDs
Story Mode
Cutscene Name
Audio Track
EVS File
Cutscene Files
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_02
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 Lord 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 Macabre 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
Cutscene Name
Audio Track
EVS File
Cutscene Files
People of the Sun (Prologue)
00_01_01
141
2228-2261
Dario's Will (Dario's Story)
01_01_01
142
2262-2263
Dario's Will (Dario's Grave)
01_01_02
142
2264-2265
Erina Bullied
01_02_01
143
2266-2267
A Gentleman's Courage
01_04_01
144
2268-2269
To Become a True Gentleman
01_05_01
145
2270-2271
Meeting Dio
01_06_01
146
2272-2326
Boxing
02_01_01
147
2327-2328
The Boxing Booth Technique
02_03_01
148
2329-2361
Deliberately! On Purpose!
02_04_01
149
2362-2363
But I Didn't Do It!
02_05_01
150
2364-2365
Gentle Curiosity
03_01_01
151
2366-2367
Muddy Water and Pride
03_02_01
152
2368-2369
Regaining Erina's Honor
03_03_01
153
2370-2371
I'll Beat You Until You Cry!
03_06_01
154
2372-2393
The Stone Mask Activates
03_07_01
155
2394-2395
Dario's Letter (George's Illness)
04_01_01
156
2396-2397
Dario's Letter (Jonathan's Research)
04_01_02
156
2398-2399
Dario's Letter (Dio's Honor)
04_01_03
156
2400-2401
I'll Protect the Joestar Family!
04_04_01
157
2402-2420
Dio's Intent to Kill
04_05_01
158
2421-2422
A Study of the Stone Mask
05_01_01
159
2423-2424
To Ogre Street
05_02_01
160
2425-2426
Speedwagon's Entrance
05_03_01
161
2427-2487
He's a Real Gentleman, All Right
05_05_01
162
2488-2489
The Live Subject Test of the Mask (Method)
05_06_02
163
2490-2491
The Live Subject Test of the Mask (Result)
05_06_02
163
2492-2493
This Guy Was Born Evil! (Dio's Confession)
06_01_00
164
2494-2495
This Guy Was Born Evil! (Speedwagon's Rebuttal)
06_01_01
164
2496-2512
I Reject My Humanity!
06_03_01
165
2513-2514
The Death of Lord Joestar
06_04_01
166
2515-2516
A Vampire is Born
06_05_01
167
2517-2518
The Immortal DIO
06_08_01
168
2519-2520
Come On Up, Dio!
07_01_01
169
2521-2559
Statue of the Goddess of Love
07_04_01
170
2560-2561
Reuniting with Erina (Speedwagon's Visit)
07_05_01
171
2562-2563
Reuniting with Erina (Wang Chan's Theft)
07_05_02
171
2564-2565
Jack the Ripper
08_01_01
172
2566-2567
Zeppeli the Strange
08_02_01
173
2568-2569
This is Sendo!
08_03_01
174
2570-2656
Destined to Fight the Stone Mask
08_04_01
175
2657-2658
Wang Chan Attacks
08_05_01
176
2659-2660
I Have to Remove the Joint!
08_08_01
177
2661-2662
To Windknight's Lot
09_02_01
178
2663-2664
Songs of Courage
09_05_01
179
2665-2675
Do You See the Wine's Meaning?
09_06_01
180
2676-2677
Sendo Ripple Overdrive!
10_04_01
181
2678-2707
I Wanna Help You Guys Out!
10_05_01
182
2708-2709
I Can't Forgive His Human Self! (Poco's Technique)
11_01_01
183
2710-2772
I Can't Forgive His Human Self! (Dio's Entrance)
11_01_02
183
2773-2817
The Blood-Chilling Mask
11_04_01
184
2818-2927
Tarkus and Bruford
12_03_01
185
2928-2929
Danse Macabre Hair
13_01_01
186
2930-2931
Fight Me with All of Your Being!
13_05_01
187
2932-2933
Metal Silver Overdrive!
14_03_01
188
2934-2972
Having Reached a Bizarre Peace
14_04_01
189
2973-2974
Life Magnetism Overdrive!
15_01_01
190
2975-2976
The Training Grounds for Murder
15_04_01
191
2977-2978
Tarkus's Onslaught
16_01_01
192
2979-2980
Tomorrow is Now!
16_02_01
193
2981-2982
The Master's Prophecy
16_03_01
194
2983-2984
Hell Heaven Snake Kill!
16_06_01
195
2985-2986
Ultimate Deep Pass Overdrive!
17_01_01
196
2987-2988
Goodbye, Mr. Zeppeli...
17_04_01
197
2989-2990
This Man is Already a Zombie!
18_01_01
198
2991-2992
Thunder Split Attack!
18_06_01
199
2993-3030
Zeppeli's Letter
18_07_01
200
3031-3032
Doobie, the Monster
19_01_01
201
3033-3034
Through Their Blood!
19_04_01
202
3035-3094
I'm Back from Hell!
19_05_01
203
3095-3096
For the Sake of Revenge
20_03_01
204
3097-3098
Thunder Cross Split Attack!
20_04_01
205
3099-3152
A Ripple-Infused Rose
20_05_01
206
3153-3154
I, Straizo, Will Show You No Mercy!
21_01_01
207
3155-3156
Straizo's Beauty
21_04_01
208
3157-3215
I'll Purge Your Ambition!
21_05_01
209
3216-3217
Slash with Luck and Pluck!
21_08_01
210
3218-3219
The Fiery Fists
22_03_01
211
3220-3268
A Demon's End
22_04_01
212
3269-3270
Overture to the Dreadful Storm (Departure)
23_01_01
213
3271-3272
Overture to the Dreadful Storm (Dio's Jar)
23_01_02
213
3273-3274
I Will Die with You
23_05_01
214
3275-3276
Nightmare on Board (Departure)
23_01_01
215
3277-3278
Nightmare on Board (Dio's Priest)
24_01_02
215
3279-3280
This Lowly Ripple...
24_03_01
216
3281-3282
The Final Ripple!
24_04_01
217
3283-3314
It's Begun... to Explode...
25_01_01
218
3315-3316
The Death of Jonathan
25_02_01
219
3317-3379
Into Oblivion
25_03_01
220
3380-3381
Profiles
Profile Name
Audio Track
EVS File
Cutscene Files
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
Cutscene Files
Jonathan's Sunlight Yellow Overdrive (Overdrive)
k_18_0-2
89
1489-1522
Turquoise Blue Overdrive (Overdrive)
k_13_0-1
90
1523-1543
The Final Ripple! (Overdrive)
k_23_0-1
91
1544-1577
Thunder Split Attack (Overdrive)
k_dir_0-2
92
1578-1615
Metal Silver Overdrive (Overdrive)
k_jos_0-2
93
1616-1655
Cyclone Swing (Overdrive)
k_spw_0-2
94
1656-1690
I, Straizo, Will Show You No Mercy! (Overdrive)
k_str_0-2
95
1691-1727
Tonpetty's Sunlight Yellow Overdrive (Overdrive)
k_tmp_0-2
96
1728-1760
Zeppeli's Sunlight Yellow Overdrive (Overdrive)
k_zep_0-2
97
1761-1796
Placeholder (Overdrive)
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
staffroll
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...