Please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Dragon Ball Z: The Legacy of Goku II

From The Cutting Room Floor
Jump to: navigation, search

Title Screen

Dragon Ball Z: The Legacy of Goku II

Also known as: Dragon Ball Z: The Legacy of Goku II International (JP)
Developer: Webfoot Technologies
Publishers: Atari, SA (US), Infogrames (EU), Banpresto (JP)
Platform: Game Boy Advance
Released in JP: July 23, 2004
Released in US: June 17, 2003
Released in EU: August 1, 2003


DevTextIcon.png This game has hidden development-related text.
DebugIcon.png This game has debugging material.
SoundtestIcon.png This game has a hidden sound test.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.
PiracyIcon.png This game has anti-piracy features.


Probably one of Webfoot Technology's best Dragon Ball Z titles. Definitely a major improvement from the previous game. Like its prequel, it is an RPG but follows the anime series storyline a lot more closely. It later got a rerelease in a double pack with Dragon Ball Z: The Legacy of Goku.

Hmmm...
To do:
  • Codebreaker/Action Replay/GameShark codes for double pack version.

Debug Menu

DBZ TLOGII debug.png

A debug menu exists which can be accessed by using the Codebreaker code 0202B32D:02 (US version) or 0202B371:02 (Japanese version) while the game is starting up and then pressing Start at the title screen. The player can listen to music tracks and sound effects, as well as teleport to any level. When going to any level, all six characters will be available, with each one of them being upgraded to a certain degree.


(Source: Mezmorize)

Anti-Piracy Measure

Acactussayswhat?
Please elaborate.
Having more detail is always a good thing.
Specifically: What exactly does the anti-piracy check for? What's the savetype that the game uses?
Oh, bollocks. あなたがお粗末な横柄な縮退このゲームを購入する。

The anti-piracy triggers at the point Gohan presses A to go to the world map for the first time from East District 439. The US and EU versions show up dead center of the screen by default whilst the Japanese version has it appear on the bottom. You are then booted back to the title screen. It could be checking for the save type used like in Buu's Fury.

Development-Related Text

Debugging Text

Various text strings related to errors and the developers' hard drive can be found in the ROM in each version of the game. The Japanese version, which came out later, contains a lot more of it than the other two versions. While nothing special, it does reveal the game was coded in C++ Language, since ".cpp" files are associated with the C++ programming language. The same is true with the next game in the series, Buu's Fury.

US Version
0042F4 K:\Source\CharacterData.cpp
Unable to find a sprite index in character display data
00A0F4 K:\Source\ByteCodeInterpreter\ByteCodeFunctionList.cpp
CharacterSpecialAttack() is deprecated
00A714 CharacterFollow() is deprecated
(...) ShowImage() is deprecated
00B148 K:\Source\ByteCodeInterpreter\ByteCodeVariableList.cpp
Unable to set variable
00EBDC K:\Source\AreaEntry.cpp
Unable to find area
01F984 Assertion Failure!
File _
Line _
Condition _
Error _
022E48 Invalid Operation
Divide By Zero
Overflow
Underflow
Inexact Result
Heap memory corrupted
Unknown signal
Japanese Version
001E74 K:\Source\SaveOptionsManager.cpp
003E98 K:\Source\GameData.cpp
Index < NumberOfTriggers
0043E8 K:\Source\CharacterData.cpp
Level
004DA0 K:\Source\GameStates\State_JournalMenu.cpp
Interpreter HasReturnValue()
0053E0 K:\Source\TileManager.cpp
006764 K:\Source\MapManager.cpp
SaveState == NULL Savestate
006A2C K:\Source\SpriteSystem\SpriteSystem.cpp
Process -> Used == 0xFF
(...) Process -> Used == 0
(...) Process -> Used <= 1
(...) FreeMemory1 == FreeMemory2
(...) TotalMemory == 512
006E16 (Location & 1)
SpriteFreeListIndex == 0xFF
0070F8 (RequiredLength & 63) == 0
Index != -1
007980 SaveState
00852C CurrentFrame
009C34 K:\Source\ByteCodeInterpreter\ByteCodeInstructions.cpp
RepeatCount > 0
009F40 K:\Source\ByteCodeInterpreter\ByteCodeFunctionList.cpp
Character
00B0D0 "ShowImage() is deprecated"
00B3F8 SpriteIndex
00BB90 K:\Source\ByteCodeInterpreter\ByteCodeVariableList.cpp
"Unable to set variable"
00C238 PlayerCharacter
00C86C K:\Source\SpriteSystem\SpriteHandler_Dialog.cpp
ScaleCounter != 0
00C938 K:\Data\Portraits\PortraitList.cpp
00CCFC K:\Source\TrapManager.cpp
(...) Index != -1
00D428 K:\Source\AreaManager.cpp
Index < Entry->NumberOfItems
Index < Entry->NumberOfNPCs
00EA04 K:\Source\GameStates\State_ScriptMapFader.cpp
FadeTime
PulseTime
00EBE8 K:\Source\CameraControllers\CameraController_Shake.cpp
00EEFA Reference == this
 !IsBatched
IsBatched
00FC4C K:\Source\AreaEntry.cpp
Interpreter HasReturnValue()
(...) "Unable to find area"
0101F4 K:\Source\SpriteSystem\SpriteHandler_DestructibleTile.cpp
Sprite
0107A4 K:\Source\Items\ItemHandlers.cpp
0116DC K:\Source\SpriteSystem\SpriteHandler_CharacterGateNumber.cpp
StaticSprite
011B38 Fader == NULL
(...) Fader
011CA0 !Finished
012264 K:\Source\GameStates\State_SwitchCharacters.cpp
Player
0137B0 K:\Source\MapHandlers\PerspectiveMapLayer.cpp
EndY <= 64
EndX <= 32
Width != 0
01963C K:\Source\GameStates\State_Scouter_Minimap.cpp
CurrentMap
TileIndex != -1
01A970 CurrentFrame
01B230 K:\Source\GameStates\State_Scouter_Database.cpp
DatabaseList GetCount()
01C2E8 K:\Source\AIFiles\AIBehaviourManager.cpp
BehaviourStack GetCount()
020E24 K:\WinGBACore\GBARam.cpp
Header
Header->Used == 0
AvailableBlock != NULL
FreeListHead == NULL
021780 Assertion Failure!
(...)File _
(...)Line _
(...)Condition _
(...)Error _
021ACC K:\WinGBACore\SoundChannel.cpp
SamplePosition >= 0
SamplePosition < SampleLoopEnd
NumberOfSamples > 0
023000 K:\WinGBACore\FrameBuffer.cpp
(iBufferWidth & 7) == 0
(iBufferHeight & 7) == 0
0236D0 K:\WinGBACore\GBABackupRAM.cpp
((int) Destination & 1) == 0
(DestinationOfset & 7) == 0
(Length & 7) == 0
((int) Source & 1) == 0
(SourceOffset & 7) == 0
02462C Invalid Operation
Divide By Zero
Overflow
Underflow
Inexact Result
Heap memory corrupted
Unknown signal
7BEF60 NumberOfSamplesToStart > 0 && NumberOfSamplesToStart <= NumberOfSamples
NumberOfSamplesToEnd > 0 && NumberOfSamplesToEnd <= NumberOfSamples
NumberOfSamplesToEnd > 0 && NumberOfSamplesToEnd <= NumberOfSamplesToEnd
7BFCE4 SourceOffset >= 0 && SourceOffset+Length <= BackupRamSize
DestinationOffset >= 0 && DestinationOffset+Length <= BackupRamSize
SourceOffset >= 0 && SourceOffset < BackupRamSize

Abnormal termination
Arithmetic exception:
Illegal instruction
Interrupt received
Illegal address
Termination request
Stack overflow
Redirect:
can't open:
Out of heap memory
User-defined signal 1
User-defined signal 2
Pure virtual fn called
C++ Library exception
TableSize < n
K:\WinGBACore\StaticTable.h

TableSize < n
K:\WinGBACore\StaticTable.h
(These two lines are present 15 times)

AnimationIndex < Sprite->NumberOfAnimations
K:\Source\SpriteSystem\CharacterSpriteHandlers\SpriteHandler_Character.h
Index != -1
\Source\SpriteSystem\SpriteSystem.h
EEPROM_V124

Crash Handler

There is a crash handler that seems to only work on the Japanese version.

Dragon Ball Z - The Legacy of Goku II International J GBA ASS. ERROR.png This sound error message can be triggered by enabling the code 03007D510E during the opening cutscene.
(Source: nensondubois)
Dragon Ball Z - The Legacy of Goku II International J GBA ASS. ERROR2.png This message can be triggered by enabling the debug screen on the Japanese version, warping to zone 10, area 16, and then progressing with the dialogue. It can be assumed that the error occurs because the game attempted to move a character that was not currently loaded.
Dragon Ball Z - The Legacy of Goku II International J GBA ASS. ERROR3.png

Dragon Ball Z - The Legacy of Goku II International J GBA ASS. ERROR4.png
If you attempt a glitch that involves shooting several ki blasts simultaneously, you could get one of these two screens.

Regional Differences

Intro Movie

In the European version, the opening FMV played in the US and JP (International) versions is removed to make room for the other languages.

Character Portraits

For some reason, all the story-relevant characters had their portraits changed when the game was localized in Japan. This does fix mistakes with Gohan's Super Saiyan 2 portrait and Imperfect Cell's portrait.

US Japan
DBZLOG2 Goku1 US.png DBZLOG2 Goku1 JP.png
DBZLOG2 Goku2 US.png DBZLOG2 Goku2 JP.png
DBZLOG2 Goku3 US.png DBZLOG2 Goku3 JP.png
DBZLOG2 Goku4 US.png DBZLOG2 Goku4 JP.png
DBZLOG2 Gohan1 US.png DBZLOG2 Gohan1 JP.png
DBZLOG2 Gohan2 US.png DBZLOG2 Gohan2 JP.png
DBZLOG2 Gohan3 US.png DBZLOG2 Gohan3 JP.png
DBZLOG2 Gohan4 US.png DBZLOG2 Gohan4 JP.png
DBZLOG2 Gohan5 US.png DBZLOG2 Gohan5 JP.png
DBZLOG2 Piccolo1 US.png DBZLOG2 Piccolo1 JP.png
DBZLOG2 Piccolo2 US.png DBZLOG2 Piccolo2 JP.png
DBZLOG2 Krillin US.png DBZLOG2 Krillin JP.png
DBZLOG2 Tien US.png DBZLOG2 Tien JP.png
DBZLOG2 Yamcha US.png DBZLOG2 Yamcha JP.png
DBZLOG2 Vegeta1 US.png DBZLOG2 Vegeta1 JP.png
DBZLOG2 Vegeta2 US.png DBZLOG2 Vegeta2 JP.png
DBZLOG2 Puar US.png DBZLOG2 Puar JP.png
DBZLOG2 Oolong US.png DBZLOG2 Oolong JP.png
DBZLOG2 MasterRoshi US.png DBZLOG2 MasterRoshi JP.png
DBZLOG2 Maron US.png DBZLOG2 Maron JP.png
DBZLOG2 Chiaotzu US.png DBZLOG2 Chiaotzu JP.png
DBZLOG2 Chichi US.png DBZLOG2 Chichi JP.png
DBZLOG2 Bulma US.png DBZLOG2 Bulma JP.png
DBZLOG2 MrsBriefs US.png DBZLOG2 MsBriefs JP.png
DBZLOG2 DrBriefs US.png DBZLOG2 DrBriefs JP.png
DBZLOG2 FutureTrunks1 US.png DBZLOG2 FutureTrunks1 JP.png
DBZLOG2 FutureTrunks2 US.png DBZLOG2 FutureTrunks2 JP.png
DBZLOG2 FutureTrunks3 US.png DBZLOG2 FutureTrunks3 JP.png
DBZLOG2 FutureTrunks4 US.png DBZLOG2 FutureTrunks4 JP.png
DBZLOG2 FutureGohan US.png DBZLOG2 FutureGohan JP.png
DBZLOG2 Frieza1 US.png DBZLOG2 Frieza1 JP.png
DBZLOG2 Frieza2 US.png DBZLOG2 Frieza2 JP.png
DBZLOG2 KingCold US.png DBZLOG2 KingCold JP.png
DBZLOG2 Cooler US.png DBZLOG2 Cooler JP.png
DBZLOG2 GeneralTao US.png DBZLOG2 GeneralTao JP.png
DBZLOG2 Android16-1 US.png DBZLOG2 Android16-1 JP.png
DBZLOG2 Android16-2 US.png DBZLOG2 Android16-2 JP.png
DBZLOG2 Android17 US.png DBZLOG2 Android17 JP.png
DBZLOG2 Android18 US.png DBZLOG2 Android18 JP.png
DBZLOG2 Android19 US.png DBZLOG2 Android19 JP.png
DBZLOG2 Hercule US.png DBZLOG2 Hercule JP.png
DBZLOG2 Cell1 US.png DBZLOG2 Cell1 JP.png
DBZLOG2 Cell3 US.png DBZLOG2 Cell3 JP.png
DBZLOG2 Kami US.png DBZLOG2 Kami JP.png
DBZLOG2 MrPopo US.png DBZLOG2 MrPopo JP.png
DBZLOG2 Korin US.png DBZLOG2 Korin JP.png
DBZLOG2 Yajirobe US.png DBZLOG2 Yajirobe JP.png
DBZLOG2 Dende US LowQuality.png DBZLOG2 Dende JP LowQuality.png
Hmmm...
To do:
Replace Dende's portrait with good quality version.
Hmmm...
To do:
Add missing portraits, though I'm not sure if they all exist: Long-hair Super Saiyan Trunks, Android 20, Semi-Perfect Cell, Lunch, ...