GioGio's Bizarre Adventure Modding Info

From JoJo's Bizarre Encyclopedia - JoJo Wiki
Jump to navigation Jump to search

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.

Controls
Command
Action
Description
PS Square.png
Normal Attack
通常攻撃
While Stand Mode is active, the attack differs depending on which direction is held on the control stick. It is also possible to attack out of a roll.
PS Circle.png
Evasive Action
回避
If pressed while hitting a wall, the player can catch themselves with their Stand. Trish can use this button to counter while guarding.
PS Cross.png
Special Attack
必殺技
A heavy attack that changes depending on whether Stand Mode is active.
PS Triangle.png
Signature Move
特殊行動
A technique that provides an advantage in combat. Usually not a direct attack.
PS L1.png
Stand Summon
スタンドモード切替え
If the Stand Mode Switch option is set to Hold Mode, the button must be held to stay in Stand Mode.
PS R1.png
Stand Shoot
スタンドシュート
An attack that can be charged up by holding down the button. This move is often used as a trigger for Secret Factors.
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. Cutscenes can be automatically skipped in any previously-cleared stage by holding L1 and R1 while selecting the stage.

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

  1. Download SNDBodge

You will need to have Python 3.7.8 installed for the tool to work.

  1. 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

Streamed Audio
Filename
Description
sXX_Y.adx
Stage music. XX is the chapter number and Y is the sub-chapter number. Tracks with the "b" suffix are used for Secret Factors.
demoX.adx
Cutscene music. X is the track number.
d0XX_Y.adx
Mid-fight cutscene audio tracks. XX is the stage number and Y is the cutscene number.
dXXY0.adx
3D cutscene audio tracks. XX is the stage number and Y is the cutscene letter.
dXX_YY.adx
Gameplay dialogue. XX is the character ID and YY is the line number.
kXXY_ZZ.adx
Manga cutscene dialogue. XX is the stage number, Y is the cutscene number, and ZZ is the line number.
sdXX_YY.adx
Story Drama dialogue. XX is the drama number (starting from 4), and YY is the line number.
dcXX.adx
Title screen demo audio tracks. XX is the cutscene number.
open.adx
Title screen music.
over.adx
Demo end track. Used in taikenban demo.
select.adx
Main menu music.
s_select.adx
Duplicate of results screen theme, unused.
s_start.adx
Super Story map screen music.
OP_NAxx.adx
Prologue cutscene audio tracks. Only 00 is used.
result.adx
Results screen music.
staff.adx
A singular beep. Unused.
coming.adx
Narrator announcing the game's release date. Unused.

Compressed Audio
Filename
Description
XXY_se.snd
Manga cutscene sound effects. XX is the stage number and Y is the cutscene number.
st0XX_Y.snd
Stage sound effects. XX is the chapter number and Y is the sub-chapter number.
snd_plXX.snd
Character sound effects and voice lines. XX is the character ID.
title_c.snd
Title screen stand calls. Used for when the player presses Start.
snd_com.snd
General-use sound effects (Gameplay, menu, timer, etc.).
snd_op.snd
Unused sound bank. Possibly intended for the prologue, which instead uses streamed audio.
snd_men.snd
Unused sound bank. Meant for the menu, which instead uses snd_com.snd.
jo_moji.snd
General-use manga cutscene sound effects.
pitch.snd
A series of beeps played at different pitches. Unused.

Game Assets
Filename
Description
plXX.hit
Character collision data. XX is the character ID.
plXX.pzz
Character model, texture, and animation data. XX is the character ID.
plXXp.pzz
Assets for character-specific models (eg. Bucciarati's zippers). XX is the character ID.
pXX_ef_tbl.bin
Animation data for character-specific models. XX is the character ID.
icon.bin
Memory card save file template data.
rcXXY_tbl.bin
Stage camera control data.
cXX_tbl.bin
Super Story map screen camera animations. XX is the chapter number.
scXXY_tbl.bin
Stage opening camera animation. XX is the chapter number, and Y is the sub-chapter number.
sdplYY.txt
Another Story dialogue subtitles. YY is the player ID.
(sdplxx.txt is an unused template file.)
sdXXY.txt
Super Story dialogue subtitles. XX is the chapter number and Y is the sub-chapter number.
pcmn_tbl.pzz
General-use player animations.
scmn_tbl.pzz
General-use stand animations.
gal_mot_tbl.pzz
Gallery Model Viewer animations.
npc_XXX.pzz
NPC model, texture, and animation data. XXX is the NPC ID.
npc000_tbl.pzz
NPC general-use animations used in Chapter 1-2.
stXXY.pzz
Stage model data. XX is the chapter number, and Y is the sub-chapter number.
stXXYt.pzz
Stage texture data. XX is the chapter number, and Y is the sub-chapter number.
seXXY.pzz
Stage objects (pillars, rubble, etc.). XX is the chapter number, and Y is the sub-chapter number.
lwXXY.pzz
Stage collision data. XX is the chapter number, and Y is the sub-chapter number
eff00.pzz
General use visual effects (Explosions, splashes, etc.).
me00p.pzz
Assets for the main menu and options menu.
me01p.pzz
Assets for the main menu and options menu.
me02p.pzz
Assets for the Super Story menu.
me02p.pzz
Assets for the Another Story menu.
re00.pzz
Assets for the results screen.
ga00p.pzz
Models and textures for Gallery Mode's menu.
gaXX_YY.pzz
Assets for menus in Gallery Mode. XX is the menu, and YY is the asset number.
Menu 01 - Poster Viewer
Menu 02 - Concept Art
Menu 08 - Araki Sketches
cock.pzz
Textures for special symbols (controller buttons, reversed "trash can" text, etc.).
cockpit.pzz
GUI textures.
wipe.pzz
Model used for screen wipe transitions.

Character IDs
ID
Character Name
00
Giorno Giovanna
01
Bruno Bucciarati
02
Guido Mista
03
Narancia Ghirga
04
Leone Abbacchio
05
Pannacotta Fugo
06
Trish Una
07
Jean Pierre Polnareff
08
Leaky Eye Luca
0A
Polpo
0B
Mario Zucchero
0D
Formaggio
0E
Illuso
0F
Pesci
10
Prosciutto
12
Ghiaccio (White Album)
13
Vinegar Doppio
14
Diavolo
15
Squalo
16
Tiziano
18
Risotto Nero
19
Cioccolata
1A
Secco
1B
Gold Experience
1C
Gold Experience Requiem
1D
Sticky Fingers
1E
Sex Pistols
1F
Aerosmith
20
Moody Blues
21
Purple Haze
22
Spice Girl
23
Silver Chariot
24
Chariot Requiem
27
Black Sabbath
2A
Little Feet
2B
Man in the Mirror
2C
Grateful Dead
2F
King Crimson
31
Clash
32
Notorious B.I.G (Small)
33
Notorious B.I.G (Large)
34
Green Day
35
Ghiaccio
36
Beach Boy
37
Man in the Mirror (Beta Model)
38
Shadow Diavolo
3A
Shadow Prosciutto
3B
Diavolo (Bucciarati's Soul)
3D
Requiem's Sticky Fingers
3E
Small Formaggio
3F
Huge Formaggio
40
Small Little Feet
41
Huge Little Feet
42
Highway Ghiaccio
44
Moody Blues (Replay)
45
Moody Blues (Stand Shoot)
43
Giorno with Gold Experience Requiem
46
Vinegar Doppio (Soccer Uniform)

Note: Player IDs 3C, 3E, 3F, 40, 41, 43, 44 and 45 do not have player files, but instead function as movesets for other player files.
NPC IDs
Filename
NPC Name
Chapter
npc_000
Beanie Hat Civilian
Chapter 1-2
npc_001
Neapolitan Civilian 1
Chapter 1-2
npc_002
Neapolitan Civilian 2
Chapter 1-2
npc_003
Neapolitan Civilian 3
Chapter 1-2
npc_004
Larger Neapolitan Civilian 3 Duplicate
Unused
npc_005
Woman
Unused
npc_006
School Girl
Unused
npc_007
Old Man
Chapter 5-1
npc_008
Old Woman
Chapter 5-1
npc_009
Soccer Player 1
Chapter 9-1
npc_00a
Soccer Player 2
Chapter 9-1
npc_00d
Pericolo
Model Viewer
npc_00e
Janitor
Chapter 2-1
npc_011
Sewer Hobo
Chapter 11-3
npc_012
Old Dog Owner
Chapter 11-3
npc_013
Little Girl
Chapter 11-3
npc_014
Mafioso
Chapter 11-3
npc_102
Fly
Chapter 1-2
npc_103
Crow
Unused
npc_104
Cat
Unused
npc_105
Giant Rat
Unused
npc_106
Spider
Unused
npc_107
Coco Jumbo (Polnareff's Soul)
Chapter 11
npc_108
Beetle
Unused
npc_10a
Dog
Unused
npc_203
Bucciarati's Tooth
Chapter 1
npc_204
Polpo's Lighter
Chapter 2-1
npc_207
Coco Jumbo
Chapter 5
npc_209
Bucciarati's Laptop
Unused
npc_211
Hand Brooch
Chapter 8-1

Stage List
Filename
Stage Name
Chapter
st020
Cablecar Interior
Chapter 1-1
st021
Naples Plaza
Chapter 1-2
st030
Naples Secondary School
Chapter 2-1
st060
Formaggio's Bottle
Unused
st061
Naples Street
Chapter 3-1
st070
Pompeii Ruins
Chapter 4-1
st071
Pompeii Ruins ~Dog Mosaic~
Chapter 4-2
st072
Pompeii Ruins
Chapter 4-3
st080
Super Express Dining Car
Chapter 5-1
st081
Outside the Train, Near Rome
Chapter 5-2
st0a0
Highway to Venice
Chapter 6-1
st0a1
Santa Lucia Station
Chapter 6-2
st0b0
Church Basement
Chapter 7
st0d0
Airplane Interior
Chapter 8
st0e0
Fishing Village Near Rome
Chapter 10-1
st0e2
Building Rooftop Near Rome
Chapter 10-2
st0e3
Colosseum Front
Chapter 10-3
st0f0
Colosseum Interior
Chapter 11-1
st0f1
Near the Colosseum Entrance
Chapter 11-2
st0f2
Bridge Over Tiber
Chapter 11-3
st100
Sardinia Emerald Coast
Chapter 9-1 (Cutscene)
st110
Colosseum First Floor
Chapter 11 (Cutscene)
st120
Diavolo's Death Loop
Chapter 11-3 (Cutscene)
st130
Santa Lucia Station and Boss's Room
Chapter 6-2 (Cutscene)
st150
Super Express
Chapter 5-1 (Cutscene)
st160
San Giorgio Maggiore Coast
Chapter 7-2 (Cutscene)
st170
Roman Street and Giorno's Room
Chapter 11-3 (Cutscene)

Loading Screens
Filename
Description
Origin
ld000
Demo
Volume 59 cover
ld001
2-1 Cutscene 3
Volume 55 cover, zoomed out
ld002
Unused
Volume 58 cover, zoomed out
ld003
10-3 Cutscene 1
Volume 60 cover, zoomed out
ld004
Unused
Volume 63 cover, zoomed out
ld005
Unused
Volume 53 cover, zoomed out
ld006
Unused
Chapter 579 cover, zoomed out
ld007
Unused
Chapter 589 cover, zoomed out
ld008
Unused
1997 Araki illustration, zoomed out
ld009
10-2 Cutscene 2
Volume 54 cover, zoomed out
ld010
Unused
Volume 56 cover, zoomed out
ld011
4-2 Cutscene 2
Chapter 475 cover, zoomed out
ld012
Unused
Volume 57 cover, zoomed out
ld013
Unused
Volume 50 cover, zoomed out
ld014
Unused
Chapter 537 cover, zoomed out
ld015
Unused
2000 Araki illustration, zoomed out
ld016
11-3 Cutscene 6
Volume 59 cover, zoomed in
ld017
11-2 Cutscene 2
Volume 58 cover
ld018
1-2 Cutscene 2
Volume 55 cover
ld019
1-2 Cutscene 1
Volume 60 cover
ld020
11-2 Cutscene 4
Volume 63 cover
ld021
5-2 Cutscene 2
Volume 53 cover
ld022
7-2 Cutscene 3
ld023
11-3 Cutscene 7
ld024
2-1 Cutscene 2
1997 Araki illustration
ld025
1-1 Cutscene 1
Volume 54 cover
ld026
7-1 Cutscene 2
Volume 56 cover
ld027
3-1 Cutscene 2
ld028
10-1 Cutscene 2
Volume 57 cover
ld029
6-2 Cutscene 2
Volume 50 cover
ld030
4-1 Cutscene 2
ld031
8-1 Cutscene 2
2000 Araki illustration
ld032
1-1 Battle
Possibly based on Bucciarati's glare at Giorno during his interrogation
ld033
1-2 Battle
Based on Bucciarati turning to face Giorno before hiding
ld034
2-1 Battle
Possibly based on Black Sabbath staring at Giorno
ld035
3-1 Battle
Possibly based on Formaggio standing on Narancia's car while shrunk
ld036
4-1 Battle
Based on Illuso revealing himself in the dog mosaic room
ld037
4-2 Battle
Based on Abbacchio's appearance when forcibly merged with Moody Blues
ld038
4-3 Battle
Based on Purple Haze sitting during its first reveal
ld039
5-1 Cutscene 2
Possibly based on Prosciutto and Pesci approaching Bucciarati
ld040
5-1 Battle
Possibly based on Prosciutto shooting Mista
ld041
5-2 Battle
Possibly based on Pesci explaining his ability to Mista
ld042
6-1 Battle
Based on Ghiaccio skating toward Mista and Giorno's car
ld043
6-2 Battle
Based on a different panel of Ghiaccio skating
ld044
7-1 Battle
Based on The Boss standing behind a pillar Bucciarati zips apart
ld045
7-2 Cutscene 1
King Crimson based on Volume 56's cover, The Boss reused from prior loading screen
ld046
7-2 Battle
Based on Bucciarati's appearance after he is impaled by King Crimson
ld047
8-1 Battle
Based on Spice Girl's first full appearance to Trish
ld048
8-2 Battle
Based on Notorious B.I.G after consuming the plane engines
ld049
9-1 Cutscene 2
Based on Moody Blues's timer's appearance when rewinding time
ld050
10-1 Battle
Based on Secco's appearance while recording video
ld051
10-2 Battle
Based on Cioccolata's pose in The Boss's exposition
ld052
10-3 Battle
Based on Secco chasing Bucciarati underground
ld053
11-1 Cutscene 2
Based on Diavolo in Doppio's body prior to revealing himself
ld054
11-1 Battle
Based on Diavolo hearing Chariot Requiem's footsteps
ld055
11-2 Battle
Based on Chariot Requiem descending the Colosseo stairs
ld056
11-3 Cutscene 2
Based on King Crimson emerging to cut off Giorno's hand
ld057
11-3 Cutscene 4
Based on the Arrow's appearance
ld058
11-3 Battle
Based on Diavolo proclaiming victory after destroying Gold Experience
ld059
11-3 Cutscene 5
Based on Gold Experience Requiem explaining its ability

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.