GioGio's Bizarre Adventure Modding Info
This modding guide for GioGio's Bizarre Adventure has been adapted from a Google Doc written by penguino and Hudgyn Sasdarl.
How to Play the Game
GioGio's Bizarre Adventure (ジョジョの奇妙な冒険 黄金の旋風, JoJo no Kimyō na Bōken Ōgon no Kaze, lit. "GioGio's Bizarre Adventure: Golden Whirlwind") follows Giorno Giovanna and his allies as they seek to overthrow the boss of the corrupt gang Passione in order to reform the organization from the inside. The gameplay takes the form of a series of battles against varied Stand users, with each enemy and battlefield offering unique challenges and opportunities in combat.
通常攻撃
回避
必殺技
特殊行動
スタンドモード切替え
スタンドシュート
ポーズ
But you probably knew all of this already, right?
Getting Started
To begin modding GioGio's Bizarre Adventure, 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 AFSExplorer and a hex editor such as HxD. In addition, obtaining a PS2 emulator such as PCSX2 can be helpful for testing mods quickly.
AFS Editing
The GioGio's Bizarre Adventure game disc contains three AFS files: afs00.afs, afs01.afs, and afs_data.afs. The first file, afs00.afs, contains the music files used by the game, the cutscene audio tracks, and all of the mid-fight dialogue (excluding voice clips). The second AFS file, afs01.afs, contains the game's sound effects and character voice clips. The third and most interesting of the AFS files, afs_data.afs, hosts the entirety of the game's textures, models, character files, stage files, cutscenes, and dialogue text.
AFSExplorer is currently the most versatile way to open, overwrite, and export or import files from these archives. After downloading the program, launch the application and either open an extracted AFS file or use the "Import AFS file from CD image" option to access the disc image directly.
Text Editing
The text in GioGio's Bizarre Adventure, unlike many PS2 titles (including the later Phantom Blood adaptation), is stored in uncompressed Shift-JIS text format. Thus, changing the game's text is a simple procedure using a hex editor. All of the text used for a cutscene or stage is stored in its respective file. However, the menu, prologue, demo, and Gallery Mode text are not stored within a specific chapter's file; instead, they're located in another file on the disc, slpm_651.40, which can also be edited separately or directly from a disc image.
If there's simply not enough room to fit all of your text (or if there's no room at all, as in d0fh.pzz), then it is possible to expand the size of the text section. The header format is documented in this Github thread. The file can be kept the same size by removing areas of solid 00 from the tail ends of the other sections, but very few files actually have this distinction; thus, it's very likely that any edit to the file section sizes will change the total file size. In order to fit the bigger file into the AFS, you must either use the "Modify reserved space" function in AFSExplorer and take away data from unused files or allow the program to slowly rewrite the entire disc image to change the allocated space for the AFS file. If you're unsure of how to handle the header, use this edited file as a reference. A visual guide to the formatting can be found here.
Audio Editing
penguino
Sound effect and voice clip editing
- Download SNDBodge
You will need to have Python 3.7.8 installed for the tool to work.
- Unzip it and run the Python script
Now on the console window, write 'e' to extract and press Enter. You will then be prompted to enter the path to an SND file, simply drag the SND file you want to edit onto the console window and then press enter. Now you must create a folder where it'll save exported WAV files, and once again drag it onto the console window when asked for the path.
Once exported, you can begin editing the exported WAV audio files. Note that you must keep the formatting the same for the import to work.
- Number of clips in folder must not exceed the original in the .SND
- WAV names must be in the format "[SND_NAME]_XX.wav" with XX being the index number of the clip in the SND.
- WAV must be mono.
- The length and sample rate of the audio can be changed, but it's recommended to keep the length close to the original to prevent cut-offs.
Once you're done, delete all the WAV files from the folder that you didn't modify, and run the python script again to import. You will need to input paths for the SND file and WAV folder again and the script will start processing the WAV files. Now simply insert the modified SND file back into AFS01.AFS.
Music and cutscene audio editing
Download the PES Sound Converter and giogioadk.txt to locate the audio you want, then open PES Sound Converter, and convert the adx files into mp3 or wav, then when you're done editing jt just convert it back to adx and you're done, make sure to keep the bitrate and frequency low to keep file size the same as the original file (careful, game doesn't seem to like audio below 44100hz. In case you're trying to add a custom song, I recommend you use radx so you can specify loop points for the track. It's a command line tool, so you'll need to use it with CMD, the README file in the github page explains how to use it.
Texture Editing
In order to edit textures, you will need a program called rainbow, which can open TIM2 files, as well as a specialized PZZ file decompression script. (The Python script is recommended over the C executable due to its "unpack" command.) Use the script to unpack the PZZ file containing the texture you want to edit, and then use it to "decompress" the separate compressed files. (This is explained somewhat thoroughly in the github page's documentation.) Next, find the files with TIM2 headers in their data (often the second compressed file) and delete the data before the first header (usually 200 bytes). If you want to edit any TIM2 files that occur after the first instance, you will need to get rid of all data before the header of the TIM2 you want to edit. Now, at last, you can open the cut-down file in rainbow and click Export, allowing you to export the image and .xml metadata.
Edit the image however you want, then re-import the image and .xml into rainbow and save the output .tm2 file. Reinsert the output TIM2 into the decompressed file it originated from. After that, it's back to the command line in order to compress the new file using the PZZ script. Finally, find that same original compressed file in the PZZ you started with, insert your new compressed file over the original, and import your modded PZZ either into the AFS file or directly into the disc image. In case you are confused, a video explaining the process can be found here.
Font Editing
However, editing the font is much simpler! The font is stored in the file nec20rg04.pzz, and can be opened with the program Crystal Tile 2. After starting the program and opening the file, open the Tile Viewer by either selecting it in the View menu or pressing F5. Set the "Tile form" to "4 color 2bpp" and the offset to 800, and you should be able to view each character in the font in its own separate tile. Each tile can be exported with either the "Export image" or "1 1 Export" option under Edit, and you can import edited tiles by using the "Import image" option in the same menu. An image containing all 7,807 font tiles can be found here.
Palette Editing
Navigate to the ending of a texture, the hex color codes for the colors of the image are stored there, all you need to do is get a program to view these color codes and then just replace them with whatever you want in a HEX editor.
Corruption
penguino
Method Number 1: NOP
This method may bug the emulator's audio plugin, which may result in loud sounds. Go to Cheat engine and PCSX2, then click the magnifying glass icon (“Select a process to open” After selecting the PCSX2 process, search for a float with unknown value, when its finished search for an unknown float but this time change it to increased value and press Next Scan, scroll down to addresses that start with 21******* and add them to your address list, then in the address list select one address, right click, select Check what writes to this address and a new window will appear, then select all the values that appear, right click them and NOP them (which basically means that they will stop working. This method is pretty hit or miss, but you can get some interesting results.
Method Number 2: Texture Loading Break
At address 2059E0D0 on Cheat Engine's memory view, when you enter a menu cutscene chapter etc a bunch of 01s start to appear, if you change them to 00 mid-load the game gets confused and doesnt load a couple of textures.
How to NOT Play the Game (Cheating)
While testing out your edited files in-game, it helps to be able to manipulate the game in order to reach the thing you want to test quicker. Or you might simply want to mess around with the game in ways that can't be achieved by changing files. Either way, the best way to do this is by using Cheat Engine and the GioGio cheat table (also available through Cheat Engine's CEShare functionality). It is important to note that the cheat table currently only supports PCSX2 versions below 1.7. To begin, open Cheat Engine and your emulator of choice, then click the magnifying glass icon ("Select a process to open"). After selecting the emulator process, open the cheat table by selecting the folder icon ("Open a cheat table...") and navigating to the file. In addition, several codes for this game exist that can be used with PCSX2.
Mod Downloads
See the above sections, particularly the AFS section, for information on how to install these mods.
Texture Mods
Purple Gold Experience - penguino
Pink Giorno - Hudgyn Sasdarl
Shader Mod Collection - penguino
Green Giorno - penguino
Black Suit Giorno - penguino
Comic Sans Font - penguino
Italic Text - penguino
Xbox Buttons - MistaL
Green Fugo - Hudgyn Sasdarl
Anime Grateful Dead - GoofyG
Technical Difficulties Loading Screen - penguino
Random Cosplay Colors Diavolo - Hudgyn Sasdarl
Diavolo wit Da Gold on his Pants - Hudgyn Sasdarl
Audio Mods
Text-To-Speech Giorno Voice Clips - penguino
Dunkaccino Menu - penguino
il vento d'oro over Giorno's Theme (1-2) - Hudgyn Sasdarl
Fighting Gold over Gold Experience Requiem's Theme - Hudgyn Sasdarl
Vinny Voice Clips over Giorno - penguino
Sonic Voice Clips over Diavolo - penguino
Bucciarati's Arranged Theme over Menu - Waddle
Black Sabbath Normal Pitch Voice Lines - penguino
Mista is Defeated - penguino
Cutscene Edits
Improved Giorno Demo - penguino
Bucciarati is Formatting - Hudgyn Sasdarl
Credits Cutscene Subtitles - Hudgyn Sasdarl
Penguino Birthday Intro - Hudgyn Sasdarl
UNO Debate 4-2 - penguino
Full Translations
JoJo's Colored Adventure Translation (GioGio's Bizarre Adventure)
Hudgyn Sasdarl's Translation (JoJo's Bizarre Adventure: Golden Wind)
To install either of these extensive mods, you will need the program xdelta. Open the program, select the Patch, Source File, and Output File, and click the Patch button.
Other
Playable Turtle Polnareff - penguino
Frog Giorno - penguino
Troll-Face Black Sabbath - penguino
Mario Model Edit over Janitor - penguino
Resources
(sdplxx.txt is an unused template file.)
Menu 01 - Poster Viewer
Menu 02 - Concept Art
Menu 08 - Araki Sketches
Community
Join penguino's Discord server to stay up to date with the latest happenings in the GioGio modding scene. In addition, penguino is known to share developments in the modding scene (as well as the results of those developments) on his YouTube channel and Twitter feed.