If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
🎄 Merry Christmas, TCRF! 🎄

Shantae: Risky's Revenge (DSiWare)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Shantae: Risky's Revenge

Developer: WayForward Technologies
Publishers: WayForward Technologies
Platforms: DSiWare, Nintendo 3DS, iOS
Released in US: October 4, 2010 (DSi), June 6, 2011 (3DS)
Released in EU: February 11, 2011 (DSi), June 6, 2011 (3DS)


GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
Carts.png This game has revisional differences.


NotesIcon.png This game has a notes page

Shantae: Risky's Revenge is the long awaited sequel to Shantae, and WayForward's 3rd DSiWare game after Mighty Flip Champs! and Mighty Milky Way

Hmmm...
To do:
Research the 38 or so recently discovered prototypes of this game

Sub-Pages

Miscellaneous tidbits that are interesting enough to point out here.
Notes

Unused Text

The games header refers to itself as:

SHANTAE EP1

The game also refers to itself as ShantaeDSi for example:

ShantaeDSi::EntityBase

EP1 most likely stands for episode 1 since originally Risky's Revenge was going to be released episodically

Matt Bozon (Co-Creator of Shantae and director on Risky's Revenge) stated in a Discord AMA on the WayForward Discord server that there would have been 3 episodes in total. Episode 2 would have been an underwater episode, and 3 would have taken place in a sky world. Some of these ideas were eventually repurposed for Shantae and the Pirate's Curse [1]


Compilation Error Strings

For some reason the game has a bunch of left over strings in the code for compilation errors

zlauncher.cpp

ZLauncher.cpp, 134 (0): LEVEL DESIGN ISSUE! Launcher designed to launch to nowhere!
Zlauncher.cpp, 174 (0): LEVEL DESIGN ISSUE! Launcher designed to launch to nowhere!

JugObject.cpp

JugObject.cpp, 50 (startData.data2 < COLOR_COUNT): <<LEVEL DESIGN FIX NEEDED!>>JugObject (@ x:%d, y:%d) has invalid Color Data data2:%d
JugObject.cpp, 51 (startData.data3 < 20): <<LEVEL DESIGN FIX NEEDED!>>JugObject (@ x:%d, y:%d) has invalid Count  data3:%d
JugObject.cpp, 55 (startData.data1 < 2): <<LEVEL DESIGN FIX NEEDED!>>JugObject (@ x:%d, y:%d) has invalid data1 data1 >1

Enemies

Most Enemies had strings of errors. They mostly share similar ones, which you can see below with MergirlEnemyBehavoir.cpp

MergirlEnemyBehavoir.cpp, 33 (0): Check HLS to make sure it’s valid and handled appropriately -HLS %d not handled
MergirlEnemyBehavoir.cpp, 38 (0): void BehavoirBaseEnemy: :LoadDefaultBehavoirsForHighLevelSate() - No Items enqueued!

There is also a EnemyBase.cpp

 EnemyBase.cpp, 633 ((m_pBehavoirManager != 0)): ASSERT	VOID EntityBase::PlayStandardAnimationSequence(W2d::SEQUENCE& play, W2d::SEQUENCE& play, W2d::SEQUENCE& whenDone)  -  m_pActionManager == 0

ScriptedEntityBase.cpp

 ScriptedEntityBase.cpp, 23 (startData.Roation != SCRIPT_OBJECT_ID_SHANTAE): .. ScriptedEntityBase ctor -SCRIPT OBJECT ID IS OVERRIDING SHANTAE’S SCRIPT ID. 


Unused Dialogue

Looking at the script in a hex editor nets the following unused texts and dialogue. These have all been removed from the European version of the game, which came out a few months later.

Ingame Debug Text

All the unused text is found just above the game's actual script.

New game
crash
Ok, let me know when you're ready.
Hey, come back!
This is a test
Skeleton Was Phone?!?
You should not see this.
I'll show you a test!
Do you like this test?
in Italian
Ok, I'm out.

Early Dialogue for the Chef Girl

The script then directly continues with unused early dialog for the Chef Girl who lives in a house on the outskirts of Tangle Forest. Interesting to note is that she calls herself Ms Chef, as in the final game there is no dialog telling you what her name is. It also appears that the player would have had to collect all the ingredients to create a Tasty Meal, instead of just having to return the Chef Girl's dog from RottyTops.

HI I'm Ms Chef! 
It looks like you have the ingredients for a TASTY MEAL!
clang!
Are you ready for another?
Here's youre TASTY MEAL!
hm... 
Would you like me to create a TASTY MEAL for you?

Random French Texts

The unused text finishes with some weird french dialogue that doesn't seem to match with any actual dialogue in game. The text also mentions other languages, such as Spanish and German, even though the DSi game was only ever available in English.

crash!
Ou est le fromage?
je m'appelle Shantae!
Tu es stupide
Les filles, Ils aiment!
Vous aimez? Vous achetez?
Bonjour!
in French
Vous pouvez bruler votre amis!
Vous sommes le bombe!
Au revoir!
in Spanish
don't leave
in German
 

The french dialogue has grammatical errors in it and seems to be machine-translated. Translations of the phrases can be found below.

French Text Translation
Ou est le fromage? Where is the cheese?
je m'appelle Shantae! My name is Shantae!
Tu es stupide You are stupid
Les filles, Ils aiment! The girls, they like [it]! (T/N: the french sentence is very unnatural)
Vous aimez? Vous achetez? Do you like [it]? Do you buy [it]? (T/N: 'you' can be singular or plural here)
Bonjour! Hello!
Vous pouvez bruler votre amis! You can burn your friend! (T/N: 'votre' refers to a singular masculine friend, but 'amis' is the plural form which should've been preceded by 'vos')
Vous sommes le bombe! You are the bomb! (T/N: 'sommes' translates to '[we] are', but vous is 'you', singular or plural. 'la bombe' has the same meaning as the english slang 'bomb' when referring to a situation, but when referring to people and especially women it carries more sexist connotations. Given the crude translation it is likely the former definition was intended)
Au revoir! Goodbye!

Unused Graphics

Hmmm...
To do:
  • Find out if a palette exists for these sprites. The palette that is being used currently is just the default Title Layer Pro palette

Near the beginning of the game's ROM, an unused sheet of sprites sits next to the graphics for the fonts. They appear to have been shifted around, as reassembling them in a software such as Tile Layer Pro creates graphics with a line going through its center. However in earlier builds for the game that were apart of the recent release of Wayforward beta content, it is possible to reassemble them fully:

Final Proto
Shantae Riskys Revenge Weird Sprite Sheet Final.png Shantae Riskys Revenge Weird Sprite Sheet Proto.png

These sprites make a bunch of different things, such as clothing, peoples faces, Dollar Signs, a Music Note, etc


Version Differences

Risky's Revenge received a port to iPhone in 2011 and later on got a Director's Cut version that is currently available on all major platforms.

The major difference between all the versions is the function of the import room. In the original DSi release, the game would scan your system for Mighty Flip Champs! or Mighty Milky Way and then give you gems depending on how far you got in either game. In the iOS version of the game, the room was repurposed to allow Shantae to switch into her princess outfit from Shantae and the Pirate's Curse[2]. The Director's Cut edition removed this feature and the princess outfit was relegated to the new Magic Mode. The import room is still accessible in Directors Cut although it serves no function in game, with the shop keeper stating that pirates had put a stop to all her shipments causing the store to be empty.