We just released a prototype of the cancelled SNES port of Puggsy! Take a look!
As always, thank you for supporting The Cutting Room Floor on Patreon!

Angry Birds Transformers

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Angry Birds Transformers

Developers: Rovio, Exient Entertainment
Publisher: Rovio
Platforms: Android, iOS
Released internationally: September 25, 2014


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


Hmmm...
To do:
  • Compare Chinese SKU versions and their data, there may be more interesting things in them.
  • Decrypt and decompress store2.pak, there's a few assets no one knows about yet.
  • Test event definitions for example:
    • There's test levels from V1.
  • A command to promote a TF by +50%.
  • There's a LOT of strings with _ALT in their name, double check which are used and unused.
  • Lots of concept art, make a Prerelease page.
https://www.artstation.com/artwork/bbR3r
https://www.artstation.com/artwork/KR9KW
https://www.artstation.com/artwork/xdYGO
https://www.artstation.com/artwork/Lym9R
https://www.artstation.com/artwork/zAe4gq
https://www.artstation.com/artwork/V2w1b
https://www.artstation.com/artwork/JlxK9D
https://www.artstation.com/artwork/nQoA24
http://www.ibux.design/work/portfolio.pdf
  • Unfinished cutscenes in Version 1.1.25 (Android)/1.0.23 (iOS).
  • Brake/Boost placeholders in ui/ui_core/uicharacterscreen, for I think v1.1.25 (Android)/v1.023 (iOS)?
  • A version with xmladditional.pak has .meta files, find it and document.

Angry Birds Transformers is a robotic shooter built off Exient's XGS engine. The game was good at launch but was and continuing to be very hefty with premium content and ways to try to hook you into the said material and also premium currency.

Sub-Pages

Blank.png
Unused Text
There's so much unused text so we're gonna need a subpage to cover all of the entries!

Debugging Utilities

In the game's XML holding PAK and library file, there are mentions of a Debug Menu similar to the one in Angry Birds Go!, as well as other debugging features. Some functions, mostly in modern versions are either stripped or dummied out from public releases so not every single thing works intended on them.

UI

Battle Pass

  • Choose Side: Stripped.
  • Exit Screen: Stripped.
  • Prime Pass: Stripped.
  • Team name test: Stripped.
  • Unclaim All Rewards: Stripped.
  • Claim All Rewards: Stripped.
  • Add Level: Stripped.
  • Remove Level: Stripped.

Character Missions

  • Chance To Win: Stripped.

Daily Reward/+Crate/Mission Results

  • Advert Boost Debug: Allows you to fake watching an AD and get double the daily rewards, empty square.

Endless Leaderboard

  • Do FTUE: Stripped.
  • Clear Profile: Stripped.
  • Clear Leagues: Stripped.
  • Refresh Data: Stripped.
  • End Day: Stripped.
  • Fake Score: Stripped.
  • Fake Friends: Stripped.
  • Skip Next Day: Stripped.
  • Skip Next Day Promoted: Stripped.
  • Skip Next Day Remain: Stripped.

Enter Player Name

Hmmm...
To do:
The window is stripped, but the function is not. Enable if possible.
  • Debug Wipe Profile: Clears the player's profile.

Facebook Login

  • Debug Text: Unknown.

Feature Test

The screen provides a number in the middle that is your energy count.

  • Add Energy: Adds 1 energy.
  • Spend Energy: Spends 1 energy.
  • Fill Energy: Seems to crash the game. Dummied?

Gacha

  • Toggle Award Items: Stripped.
  • Toggle Skip Countdown: Stripped.
  • Toggle Daily Gacha Limit: Stripped.
  • Show Maxed Out Text: Stripped.
  • Force Rarity: Stripped.
  • Force Item Type: Stripped.

In-Game

  • Debug Washing Machine Button: Stripped.
  • Debug Stats Window: A window for showing Debug Stats in this format. The string can be coins or score, depending on the game mode.
%s: %d
Pause
  • Debug Enable Panel: Stripped.
  • Debug Menu: Stripped.
  • Restart: Restarts the level and heals the TF.
  • AutoComplete: Dummied, mutes all in-game music and returns to the game.
  • Exit: Exits the level without keeping damage on the used character.
  • Metrics: ?
  • Screens: Loads the Debug Menu.

Map

  • Debug: Loads the Debug Menu.
  • SHOW: Stripped.
  • HIDE: Hides the debug panel and all debugging content for the session.
  • Dev: Loads the Developer Menu, see above, a button.
  • Live Event Timer: Stripped.

When choosing an event:

  • Emulate Play Button: Emulates the event, empty square.
  • Terraform: Unknown.
  • Toggle Tier: Unknown.
  • World++: Increases the World marker by 1.
  • World--: Decreases the World marker by 1.
  • Event++: Increases the Event marker by 1.
  • Event--: Decreases the Event marker by 1.
  • Seed++: Increases the Seed marker by 1.
  • Seed--: Decreases the Seed marker by 1.
  • Index++: Increases the Index marker by 1.
  • Index--: Decreases the Index marker by 1.
  • Rarity: Unknown.
  • Emulate Boss Play Button: Unknown.

Dr. Pig's Lab

Three debug monitors with associated textures, it seems this was stripped.

Quests

  • New: Generates new quests.
  • Complete: Completes all quests.

Popup Gacha Upsell

Hmmm...
To do:
The window was stripped but the text entry was not stripped. Investigate.
  • Debug Text: Unknown.

Silo

  • Material Add: Adds 1 material, empty rectangle, this is near icons of any resource, you cannot go beyond limits.
  • Upgrade: Located on the bottom of the popup is a button that upgrades the Silo. Going beyond level 25 will reset it to level 1. This also maxes the Silo's resources a bit after the upgrade trigger. oddly, this function spends coins and resources when used so you cannot use this when you don't have enough or none at all.
  • Fill: Maxes the Silo's resources, located on the bottom of the popup.
  • Clear: Empties the Silo's resources, located on the bottom of the popup.
Revisions

???-2.14.2: Material Add adds coins equal to the amount when used when the max of the resource is reached.

Shockwave's Spire

  • Toggle Award Items: Stripped.
  • Skip 5 Floors: Stripped.
  • Show Reward Backgrounds: Stripped.
  • Get stuff now: Stripped.
  • Exit screen: Stripped.
  • Pause Flow: Stripped.
  • Show Vignette: Stripped.
  • Show Tool Tips: Stripped.
  • Pause: Stripped.
  • Wait at end: Stripped.
  • Proceed: Stripped.
  • -: Stripped.
  • Speed=100%: Stripped.
  • +: Stripped.
  • 1: Stripped.
  • 0%: Stripped.
  • -: Stripped.
  • 0: Stripped.
  • Card: Stripped.
  • -: Stripped.
  • OffsetX=0: Stripped.
  • OffsetY=0: Stripped.
  • Ignore Factors: Stripped.

Shop

  • Debug Offer: Stripped.
  • Debug Time Advance: Stripped
  • Debug Live Event Timelapse Start/Stop: Stripped.

Splash

Hmmm...
To do:
Get these visible, somehow...
  • Debug Facebook Button: ?
  • Debug Cloud Saves: ?

Telepods

  • Debug Scan: A cogwheel button that simulates a successful scan of any Telepod chosen, choosing none will crash the game.

Token Shop

  • Add/Remove Tokens: Stripped.

Debug Menu

This menu allowing you to select any screen in the game if the file is/are present and has a call in the library and XML files.

  • Metrics Seems to crash the game.
  • Cycle Loc: Changes the language locale for a session, you cannot change back to the default one for the session due to that changes into the same language but with a different text format (unicode?), the Current value displays the current.
  • Back: Returns to Map.

ABTF DebugScreenSelectorMenu.png

After choosing a screen, an overlay exists with the following options.

  • Reload: No effect, the function is dummied out.
  • Back to Debug: Goes back to the Debug Menu.

Developer Cheat Menu

A developer cheat menu is also present in the game's files and library and it can do many things, in the game's files, it's referred to as CheatScreen, most likely meaning the Developer Cheat Screen.

  • Add Currency: Adds 10 thousand of each currency to your save. This excludes Bat Pigs, Plasma and Tokens. The use of this is capped with Coins/Sparks at 1 million and Gems/Pigs at 100 thousand.
  • Reset Data: Wipes most of your save data, you may modify the beginning values for the new save before the next boot after.
Hmmm...
To do:
This one doesn't seem to work... Try online?
  • Live Event: %s: Changes the local live event.
  • Change Mode: Changes the very right column to load game data. Defaulted to Event.
    • Event: Event definition files (events).
    • Procedural: Automatic generation of level data.
    • Cutscene: Cutscene files.
    • Layout: Level layout files, the Buddy table is changed to Tiles (%s) to load tile definitions.
  • Debug Menu: No known effect.
  • Unlock Characters: Unlocks all locked characters at level 1 for a save, unreleased characters are also unlocked this way.
Hmmm...
To do:
This one doesn't seem to work... Try online?
  • Reset Live Events: Resets the local live event.
  • Show Ver. Info.: Shows various info on the hardware, the extra string in the Data Version entry is the ABGroupID value.

ABTF DebugDeveloperMenu VerInfo.png

  • Lock/Unlock: Locks/unlocks a TF for a save with its accessories and level, does not add/remove a containment unit for them on the map, changes to Unlock if a TF is locked, unlocking TFs early can mess up the achievement status for them, you may also manage unreleased characters this way.
  • Clear X Accessory/ies: Removes all accessories from a character.
  • Character Level: X: Shows character's level and has up and down arrows below to alter, often capped at level 25, unreleased characters are normally capped at level 15.
  • Enter Folder: Views the events directory in the PAK filesystem, Default is from xml.pak, and other directories are in events/liveevents from xml_additional.pak. This changes to Play when a file is selected, only select XML files and not XML.META files to avoid crashes.

ABTF DebugDeveloperMenu.png

Changes in Revisions

Hmmm...
To do:
Figure out what versions added these.
  • 1.??.?: added up and down arrows for toggling Live Events separately in clockwise and counterclockwise ordering, due to this, the Live Event button no longer has any effect when tapped but is still clickable however, it is now used as a display for the event.
  • 1.??.? - 2.0.5.0: A difficulty scaling setting was added in the Procedural tab. Unlock Characters now can be toggled rather than a one-click.

Feature Config

Accessible from the settings screen is a menu allowing you to toggle the use of these in-game features for the next bootup.

  • Elite Enemies = Makes the game use Elite Enemies, defaulted to off.
Hmmm...
To do:
Document this. It has known effects.
  • Alternate Event Flow = Allow you to choose characters for events.
  • Auto Fire AI Uses Buttons = The autofire AI can use buttons.
  • Character Promotion/Prestige = Characters can promote.
  • Sign Posting = Allows you to sign post?
  • Force Release Live Events = Forces release live events.
  • Enable Spark Run = Allows Spark Run to be done.

These options below cannot be toggled in the above menu, manually hacking them by adding a onScreen flag set to true and a displayName node in entries to show their name in xml.pak/global/featureconfig.xml won't work as toggling them there doesn't trigger their effects.

  • GameDamageModifier: ?
  • GameSpeedModifier: ?
  • CharacterBuyForGems: Allows you to buy characters in the Barracks for Gems, enabled in the Chinese version but still works fine in the worldwide version.
  • CharacterUpgradeOnFail: ?
  • InstantCharacterRepair: Immediately repairs Transformers after payment, enabled in the Chinese version but still works fine in the worldwide version.
  • MaxUpgrade: Allows you to upgrade Transformers in the barracks to the maximum level from a singular payment of 1500 gems, enabled in the Chinese version but still works fine in the worldwide version.
  • InstantEventSpawnBeforeSoundwave: ?
  • JengaForGemsAndMoney: ?
  • JengaWithCode: Allows you to use codes to unlock Jenga.
  • SiloUpgrade: Allows you to upgrade the Silo.
  • ToonsTV: Removed.
  • RefreshLabel: ?
  • PostEventPopup: ?
  • DailyReward: Use of daily rewards.
  • DoubleRewardsForGems: ?
  • BuddyBoostForGems: Allows you to boost buddies for 2 gems, granting them 5+ seconds of active time, enabled in the Chinese version but still works fine in the worldwide version.
  • RegionalAds: ?
  • SoundtrackAdvert: Use of the soundtrack advert, disabled in the Chinese version.
  • SiloAdvert: Use of the video offering in the Silo, disabled in the Chinese version.
  • ExpandedShop: ?, enabled in the Chinese version but still works fine in the worldwide version, this seems to make the game use different text strings for gem offers.
  • BuyRegions: Makes you pay coins to explore regions, enabled in the Chinese/legacy versions but doesn't work in the worldwide version.
  • StarterBundle: Shows a starter pack on bootup, enabled in the Chinese version but still works fine in the worldwide version.
  • UseChinaTextures: Crashes on the worldwide version.
  • RestorePurchases: Toggles visibility of the Restore Purchases button, disabled in the Chinese version.
  • UseReducedSettingsMenu: Uses a smaller slide-up settings menu, enabled in the Chinese version.
  • Telepods: Toggles the use of Telepods, disabled in the Chinese version.
  • MapAccessoryButton: Shows a button on the map to open the Accessory shop, enabled in the Chinese version but still works fine in the worldwide version.
  • AccessoryCharacterArrows: Shows arrows in the Accessory shop to change character targets.
  • FacebookEnabled: Shows the Facebook button.
  • PlatformEnabled: Shows the platform-specific buttons.
  • SnapshotEnabled: ?
  • RateGamePopup: ?
  • AllowSeasonalContent: ?
  • ChinaMiscSettings: Crashes on the worldwide version.
  • MiniconLevelBasedOnRarity: ?
  • ShockwavesSpire: ?
  • BuyItemAfterGemIAP: ?
  • CombinerRun: ?
  • WarForCybertronSpire: ?

Debug Tweakables XML

A debugging feature tweak list is present in xml.pak/global and is named: DebugTweakables.xml. It has a LOT of tweaks that are enabled (aside from true debugging tweaks) on every game bootup, even for a retail build, some code isn't present in the library and/or the XML logically, anything in XMLs ONLY from the Library can be used as settings are called from it and not the XMLs alone.


(Pastebin: http://pastebin.com/raw/tgcxr7n1)

Internal Character Names

The game simply doesn't always name the character like it's seen in-game internally, They follow these unique names below:

Hmmm...
To do:
Get all languages.
Internal Name/String ID In-Game Name (English)
optimusRed Red as Optimus Prime
BumbleChuck Chuck as Bumblebee
SoundWave Chef Pig as Soundwave
bludgeon King Pig as Bludgeon
heatWave Terrence as Heatwave
LockDown Mustache Pig as Lockdown
ultraMagnus Red as Ultra Magnus
galvatron Corporal Pig as Galvatron
SoundBlaster Chef Pig as Soundblaster
sentinelPrime Terrence as Sentinel Prime
thunderCracker Minion Pig as Thundercracker
Jazz Bubbles as Jazz
SoundWave Chef Pig as Soundwave
brawl King Pig as Brawl
grimLock Hal as Grimlock
starScream Minion Pig as Energon Starscream
SoundWaveEnergon Chef Pig as Energon Soundwave
grimLockEnergon Hal as Energon Grimlock
LockDownEnergon Mustache Pig as Energon Lockdown
galvatronEnergon Corporal Pig as Energon Galvatron
optimusRedEnergon Red as Energon Optimus Prime
megaPorkUltimate King Pig as Ultimate Megatron
optimusRedUltimate Red as Ultimate Optimus Prime
BumbleChuckHighOctane Chuck as High Octane Bumblebee
grimLockGoldBite Hal as Goldbite Grimlock
megaPork King Pig as Dark Megatron
arcee Stella as Arcee
airachnid Stella as Airachnid
ratchet Terrence as Ratchet
BlueStreak The Blues as Bluestreak
NemesisPrime Red as Nemesis Prime
AcidStorm Minion Pig as Acidstorm
EpicOptimus Red as Epic Optimus
BumbleChuckFire Chuck as Rodimus
Hmmm...
To do:
Is this an unused duplicate character ID?
Shockwave King Pig as Shockwave
Prowl The Blues as Prowl
hotRod Chuck as Rodimus
Richochet Bomb as Richochet
Deadend Mustache Pig as Dead End
Drift Bomb as Drift
WindBlade Silver as Windblade
skywarp Minion Pig as Skywarp
g1starscream Minion Pig as Starscream
sunstorm Minion Pig as Sunstorm
wheelJack Bomb as Wheeljack
Smokescreen The Blues as Smokescreen
chromia Stella as Chromia
blaster Bubbles as Blaster
trypticon Hal as Trypticon
scorponok Corporal Pig as Scorponok
Barricade Mustache Pig as Barricade
Sideswipe Bubbles as Sideswipe
EnergonWindBlade Silver as Energon Windblade
Nautica Matilda as Nautica
RedAlert Bubbles as Red Alert
EnergonShockwave King Pig as Energon Shockwave
EnergonNautica Matilda as Energon Nautica
Hound Terrence as Hound
Elita Silver as Elita One
Sunstreaker Bubbles as Sunstreaker
Strongarm Silver as Strongarm
EnergonWindBlade Minion Pig as Energon Windblade
MotorMaster Mustache Pig as Motormaster
Beachcomber The Blues as Beachcomber
EnergonMegatron King Pig as Energon Megatron
CliffJumper Chuck as Cliffjumper?
Hmmm...
To do:
Is this an unused duplicate character ID?
Moonracer Stella as Moonracer
EnergonBumblebee Chuck as Energon Bumblebee
NemesisHotRod Chuck as Nemesis Hot Rod
Novastar Stella as Novastar
ClassicBumblebee Chuck as Classic Bumblebee
Ironhide Terrence as Ironhide
Mirage Bubbles as Mirage
Alphatrion Mighty Eagle as Alpha Trion
Breakdown Chef Pig as Breakdown
Grapple Bomb as Grapple
superion Terrence as Superion
Dragstrip Bubbles as Dragstrip
Devastator Minion Pig as Devastator
Greenlight Stella as Greenlight

Internal Project Name

The game library is named ABBS and some of the game's files have bs or abbs in the name, AB is obviously Angry Birds but what about BS? The Rovio cloud CDN URL mentions BlueSteel when looking for assets and concept art mentions the same term with a dash so the game's internal project name is proven to be "Angry Birds:/- Blue Steel".

Development Leftovers

Note

In xml_additional.pak, a file at the root directory called changethispak.xml is present with no references in the game, it only says the below text.

</ChangeThisPakThough>

Leftover Console Log

In ui_additional.pak on iOS/the Chinese distribution or in the OBB file on Android, a file called xgsconsole_log.html similar to the one in Angry Birds Go! is present in seasonal/thanksgiving/ui/textures, it shows an error message log regarding XGSCore. The line number was changed from 1051 to 635 in the latest.

XGSConsole::Open() - debug console opened
*********************************
******* ASSERTION FAILED *******
*********************************
FILE : XGSCore\Common\XGSFileSystem\XGSFileSystem.cpp
LINE : 1051
CONDITION : (eErr == EXGSError::OK) || (eErr == EXGSError::FileNotFound)
DETAILS : Error 14 (00000020) received by filesystem code

Uncompiled Localization File

The game's localization.pak file has a file named locdb_global.xml. It is serialized by (possibly automatically) by Exient's XML serializer but it being here suggests it is uncompiled from Exient's localization tool(s) as the game doesn't call a file with this name but instead, an .xlc file with related strings.

XAL Compilation Metadata

Similar to GO!, partial compilation metadata exists in asset list files.

v1.0.23 (iOS):

S_Staging\ABBS\Scratch\Temp\iPhone_EU_OPTS\publisher\
pY19jb3JlLnBhay4w/36df66a5d25c215eeec12d7
6086f5

Probably ABBS_Staging.

v1.9.39 (Android, EGame SKU):

dlc_core
XGS-HttpClient/1.0
Host: abtf-assets.ta
dlc_additional
634025317_data-characters-bumblechuck.pak.1

v2.13.0 (Android):

s_staging\abbs\built\android_eu\data\characters\shared.

Probably abbs_staging with shared.pak.

Source File Directories

map.tmx in iOS v1.0.23 mentions two source files of map assets with directories.

F:/Work/ABBS/ABBS/Data/XML/Global/MapBackground.png
F:/Work/ABBS/ABBS/Data/XML/Global/MapRegionTiles.png

Unused Textures

Hmmm...
To do:
There's some hand drawn textures. Are they used?

Height Map

Simply a height map.

ABTF bs height.png

Astrotrain Override Tests

Simply the Angry Birds GO! logo for promotions but with TEST plastered over it. Another for sponsors also exists.

ABTF bs buddyicon astrotrainoverridetest.png

ABTF bs sponsor astrotrainoverridetest.png

ABTF bs advert logos astrotrainoverridetest.png

ABTF bs advert metal astrotrainoverridetest.png

Powersave

Hmmm...
To do:
The game has a string reference for the button but no actual code for it, maybe check an older version?

Two textures for a setting on page 2 named PowerSave are present and unused, rough images of the buttons as they would appear as buttons in the settings screen are here.

ABTF BS power icon.png

ABTF BS power iconoff.png

Missing Texture Handlers

Character Icon

If an expected character icon sprite is missing in the game's files, a ball with purple and pink squares will replace it, this could happen when using unreleased characters with the same partner from using the Developer Menu.

ABTF bs placeholder.png

Misc. Textures

If an expected texture is missing, it will show the game logo instead.

Executable Launch Commands

Hmmm...
To do:
Test these if possible.

The game's library on Android mentions these commands:

  • --ignoreRovioLogo = Jumps to splash screen at bootup.
  • --ignoreDownloads = Skips downloading/updating of assets.
  • --ignoreSplashScreen = Ignores splash screen, directly boots game.
  • --level= Forces the game to boot a specific level, sets all above parameters except the first one.
  • --enable-profile-test Loads EventDef_World00_EventProfile.xml to test the deviceconfig being used, such a file does not exist.
  • --nopak = Makes the game not use PAKs but use direct data folders.
  • --testnews = Simulates a news broadcast? Also uses ignoreDownloads.
  • --difficulty-bot = Chooses the difficulty bot character?
  • --sparkrun-bot = Unknown.

Unused PC DRM

The unused code from Angry Birds Go! made it here, but with slight additions. The game was likely planned for some time to be on computers (or Steam) but it was cancelled likely for the favor of mobile devices, the game library mentions PC DRM, including the DRM server URL, links and protocols.


(Source: LolHacksRule)