Phineas and Ferb: New Inventions
|Phineas and Ferb: New Inventions|
Also known as: финес и Ферб: новые изобретения/Phineas i Ferb: Novye Izobreteniya (RU)
This game has hidden development-related text.
|This article is a work in progress.|
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.
Notes: The game's files are still in the early stages of being parsed through and more hidden information will likely be revealed.
Phineas and Ferb: New Inventions is a game available on Steam for Windows, rendering it the only official Phineas and Ferb game currently available on Steam. New Inventions was developed by a Russian company and only translated to Russian, Polish, and Czech, letting it fly under the radar of the mostly English-speaking Phineas and Ferb fanbase. There is evidence, however, that an English translation was planned.
The game is mostly controlled by XML files, making it easy to pick apart.
It may have been released in December 2012 rather than February 2012.
Unfinished English Translation
The game begins with a language select menu, which is defined by sc_lang_menu.xml in the main resources folder /res/. Triggers are in this XML to load a button for English translation, but the line to create the button has been removed. Additionally, code exists in the obj.h file to load the English button image. Therefore, the single line of code to define the button, as well as the English translated resources, is all that is needed to recreate the English language option.
The following five lines are commented out in the file sc_lang_menu.xml, showing the original order of the languages.
<BUTTON id="BtnExit" visible="1" active="1" x="365" y="128" offset="0" texture="PIC_LANG_EXIT" tex_selected="PIC_LANG_EXIT_SEL" tex_pressed="PIC_LANG_EXIT_ACT" press="SND_CMN_PRESS" select="SND_CMN_SELECT" cursor="1" /> <BUTTON id="ru" texture="PIC_LANG_BUTTON_RU" tex_pressed="PIC_LANG_BUTTON_RU_PRS" tex_selected="PIC_LANG_BUTTON_RU_SLCT" active="1" visible="1" x="107" y="296" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" /> <BUTTON id="en" texture="PIC_LANG_BUTTON_EN" tex_pressed="PIC_LANG_BUTTON_EN_PRS" tex_selected="PIC_LANG_BUTTON_EN_SLCT" active="1" visible="1" x="107" y="359" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" /> <BUTTON id="pl" texture="PIC_LANG_BUTTON_PL" tex_pressed="PIC_LANG_BUTTON_PL_PRS" tex_selected="PIC_LANG_BUTTON_PL_SLCT" active="1" visible="1" x="107" y="420" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" /> <BUTTON id="cz" texture="PIC_LANG_BUTTON_CZ" tex_pressed="PIC_LANG_BUTTON_CZ_PRS" tex_selected="PIC_LANG_BUTTON_CZ_SLCT" active="1" visible="1" x="107" y="482" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" />
The used lines look like this
<BUTTON id="BtnExit" visible="1" active="1" x="365" y="128" offset="0" texture="PIC_LANG_EXIT" tex_selected="PIC_LANG_EXIT_SEL" tex_pressed="PIC_LANG_EXIT_ACT" press="SND_CMN_PRESS" select="SND_CMN_SELECT" cursor="1" /> <BUTTON id="ru" texture="PIC_LANG_BUTTON_RU" tex_pressed="PIC_LANG_BUTTON_RU_PRS" tex_selected="PIC_LANG_BUTTON_RU_SLCT" active="1" visible="1" x="107" y="300" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" /> <BUTTON id="pl" texture="PIC_LANG_BUTTON_PL" tex_pressed="PIC_LANG_BUTTON_PL_PRS" tex_selected="PIC_LANG_BUTTON_PL_SLCT" active="1" visible="1" x="107" y="375" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" /> <BUTTON id="cz" texture="PIC_LANG_BUTTON_CZ" tex_pressed="PIC_LANG_BUTTON_CZ_PRS" tex_selected="PIC_LANG_BUTTON_CZ_SLCT" active="1" visible="1" x="107" y="450" offset="0" press="SND_CMN_PRESS" select="SND_CMN_SELECT" />
To retrigger the English language option in Lang.exe, in sc_lang_menu.xml, uncomment the former five lines and comment the latter four lines. The following images illustrate how the language menu probably looked before the English translation was scrapped.
In the sc_333_data folder in the resources folder, there is a mysterious file named gamelog.txt. It appears to contain debug output of some form, but the timestamps are dated to mid-2012, after the game's February 2012 release. The first log entry reads:
Время старта: 15.05.2012 18:20:29 Уровень №: 1 Победа! Время финиша: 15.05.2012 18:20:53
Which roughly translates to:
Start time: 15.05.2012 18:20:29 Level #: 1 Winning! Finish Time: 05/15/2012 18:20:53
Similarly, there exist Log.txt files in the 00000312, 00000322, and 00000341 main resource folders. These all follow a similar format to gamelog.txt, with the most different being 00000312's, the first entry of which is reproduced below:
Время запуска сцены: 11:33:14 21.02.2012 Уровень №: 1 Выиграли. 10040=988/1000/10*1000+160 (Очки за уровень = Оставшееся время / Начальное время / 10 * параметр Time_score + очки за прохождение) 3=10040/1000 (Кол-во звезд = Очки за уровень/Параметр Star_score) Время окончания сцены: 11:33:38 21.02.2012
Which roughly translates to:
Stage Start Time: 11:33:14 21.02.2012 Level #: 1 Won. 10040=988/1000/10*1000+160 (Level Score = Time Remaining / Start Time / 10 * parameter Time_score + points for passing) 3=10040/1000 (Amount of stars = Points per level / Parameter Star_score) Score End Time: 11:33:38 21.02.2012
This suggests a potential star scoring method for the minigames (312 corresponds to Level 1's minigame), which was not present in the final version of the game, as only the quizzes give star scores.
There is also a log.txt (note the lack of capitalization) in the main 00000313 resource folder. It has a much more terse format than the other four log files, with just one line per entry. The first and tenth lines are reproduced below as examples:
level001: Fri May 25 Start:19:05:14 - End:19:05:46 Win!!! level004: Tue Jul 03 Start:13:00:09 - End:13:00:16 Loss
The levels range from 1 to 10. Given that 313 is the scene ID of the hovercar minigame, it is highly likely that these indicate completion of each level in that minigame. However, they do not go in sequential order, indicating that a developer tool may have been used to skip between levels. There also appears to be an error in the 57th-59th lines, where the level text is slightly corrupted:
vel001НН: Thu Jul 05 Start:11:11:32 - End:11:11:53 Win!!! vel001НН: Thu Jul 05 Start:11:13:55 - End:11:14:05 Win!!! vel001НН: Thu Jul 05 Start:11:16:58 - End:11:17:08 Win!!!
(Note that the Нs are Cyrillic characters, not Latin Hs.)
The game contains a fairly high-quality WAV of Perry's extended theme song in English (approximately equivalent to this version), which is not used in-game. It is possible that it would have been used if English was activated, but it is in the unlocalized resources and there are no localized versions.
Unused Translation Strings
In the translation files of the game, a number of strings exist which are not believed to be used in the final game. Some of these appear to relate to the debug menu, but others were likely cut late in development. For example, STR_340_WHIZBANG_MESS was split into two strings, STR_340_WHIZBANG_MESS_1 and STR_340_WHIZBANG_MESS_2, and the original STR_340_WHIZBANG_MESS was removed for Russian but not Polish or Czech. Other strings which are only in the Polish/Czech versions:
STR_SC311_PTR_SHOW_RESULT1 STR_SC311_PTR_SHOW_RESULT2 STR_SC311_PTR_SHOW_RESULT3 SND_332_ENTRANCE STR_332_TYPE_1_QUEST_3 STR_332_TYPE_3_ANSWER_5 STR_332_TYPE_3_ANSWER_6 STR_332_TYPE_3_ANSWER_7 STR_332_TYPE_3_ANSWER_8 STR_332_TYPE_3_ANSWER_9 STR_332_TYPE_3_ANSWER_10 STR_SC334_AFTER_TIME
Additionally, SND_332_ENTRANCE is listed in the XML files as having a corresponding voice line, 0135.wav, but this audio file is nonexistent.
An unknown number of other strings are likely unused in the game. As there are over one thousand translatable strings in the game, not each has been check to validate its use, but these are likely to be among them:
STR_PRC_FLY_LIVES STR_322_NOT_TAKE_PLACE STR_SLIDERS_CARS
Unused Voice Lines
A number of voice lines are believed to go unused in the game. Some can be confirmed by checking the relevant XML files. The following voice lines have been confirmed to be unused, noted with asset numbers and corresponding translation IDs where available:
311/397 311/398 311/399 311/400 311/414 334/234 (STR_SC334_LUSE1) 334/227 (STR_SC334_PHINEAS_WOW) 334/228 (STR_SC334_FERB_WOW) 502/467 (STR_FINDPART_FIND_2)
311/397-400 are each individual sentences which would have been combined by playing one of 311/398-400 after 311/397. Instead, each pair of sentences was given a single audio file in the final game, named like 311/397_0398. 311/414 is very similar, but not identical, to 313/417. 502/467 appears to be unused due to a typo causing 502/466 to be referenced twice rather than each of 502/466 and 502/567 once.
Significant evidence of a debug menu exists, including an sc_debug.xml file which would define its properties and functions, and several debug strings. It is not yet known if or how it can be re-activated. It would appear to allow the user to skip to any of the main sections in the game, the main menu, or the credits, with each option having a button.
The following strings are seen in texts.xml inside /res_ru/, /res_cz/, and /res_pl/. They are translated into all three languages.
Text ID Russian Czech Polish STR_DEBUG_MAIN ГЛАВНОЕ МЕНЮ HLAVNÍ NABÍDKA MENU GŁÓWNE STR_DEBUG_CHOOSE_LVL Выберите уровень: Vyber siúroveň: Wybierz poziom: STR_DEBUG_CHAPTER_1 Глава 1 Kapitola 1 Część 1 STR_DEBUG_CHAPTER_2 Глава 2 Kapitola 2 Część 2 STR_DEBUG_CHAPTER_3 Глава 3 Kapitola 3 Część 3 STR_DEBUG_THEORY ТЕОРИЯ TEORIE TEORIA STR_DEBUG_PRACTICE ПРАКТИКА PRAXE PRAKTYKA STR_DEBUG_MG_1 МИ_1 MI_1 MI_1 STR_DEBUG_BMG_1 БМИ_1 BMI_1 BMI_1 STR_DEBUG_EDITOR РЕДАКТОР EDITOR EDYTOR STR_DEBUG_MG_2 МИ_2 MI_2 MI_2 STR_DEBUG_BMG_2 БМИ_2 BMI_2 BMI_2 STR_DEBUG_MG_3_1 МИ_3_1 MI_3_1 MI_3_1 STR_DEBUG_MG_3_2 МИ_3_2 MI_3_2 MI_3_2 STR_DEBUG_BMG_3 БМИ_3 BMI_3 BMI_3
The following errors are known in the original translations:
- In Polish, pressing "4" on the keypad (the correct answer) for one Rollercoaster question can display a "3" instead, but the answer is accepted as correct. The affected string is STR_332_TYPE_4_ANSWER_4 (the instances of "4" in the string name are coincidental)
- In Czech and Polish, strings STR_332_TYPE_2_PART_3_1_02 and STR_332_TYPE_2_PART_3_2_01 are switched. As a result, in Rollercoaster, for the "There were x passengers, y boys/girls were found"-type questions, there is a 50% chance that the game will refer to boys instead of girls or vice versa when asking "How many boys/girls are missing?" in those languages.
The Phineas and Ferb series
|Wii||Across the 2nd Dimension|
|Nintendo DS||Ride Again|
|Nintendo 3DS||Quest for Cool Stuff|