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

Angry Birds Friends (Adobe Flash)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Angry Birds Friends

Developer: Rovio
Publisher: Rovio
Platform: Adobe Flash
Released internationally: February 12, 2012


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


See, this is why game preservation is important.
This game is defunct.
Do note the game no longer works at all without modifications. This is most likely due to the game's servers being shut down. As a result, further official developments with the game are unlikely to happen.
Hmmm...
To do:
  • Find content in the PAKs, there may be more assets in them.
    • 2012's chaptergreenday.pak has unused objects
  • Explore the versions older than 2018. And maybe add multiple sub-pages for them?
    • April 4th 2013 was found.
  • Also maybe add a sub-page for the Error Messages.

Angry Birds, on everyday social media!

This was the first of the many official online Angry Birds Flash games from Rovio, being the one that replaced Angry Birds Flash in its development cycle and its finalized Flash engine was reused as a base for other titles, which explains why countless leftovers are present in them. The community made hard efforts to preserve releases of the game after the majority of content servers have been wiped and eventually made it possible to play archives of both the 2012 and 2017 versions of the game despite the discontinuation, the previous also with Green Day. The game itself didn't get discontinued, but got superseded into a Unity engine remake, removing some features and all exclusive levels many fans adore.

Sub-Pages

DevTextIcon.png
Unused Text
So many external assets, so many placeholders and comments...
AngryBirdsFB UltrabookAdv Lauri.png
Unused Graphics
Lauri.
AngryBirdsFB MightyEagleAvatar.png
Unused Avatar Items
Yes, the Mighty Eagle is here too.

Removed Time-Limited Powerups

Hmmm...
To do:
TNT Drop crashes the game, test after fixing. Santa Bomb is also present but with no references, try to reference it and see the results.

Assets and code for the TNT Drop and Pumpkin Drop powerup are still present in the game's files but disabled and work fine when forcefully added.

(Source: LolHacksRule)

Alternative REST API Access Token Request

Hmmm...
To do:
More info?

The game's com.rovio.skynest:RovioAccessToken class sends a request to /identity/2.0/facebook/weblogin from the root of the API server using Webform parameters consisting of the client ID, device ID and user's Facebook access token to login and generate an API access token, however an unused version exists under the flag USE_REST_API_LOGIN that does a request to /session/2/apps/*ClientID*/external using a JSON with a Base64 URL-safe encoded JSON body containing the provider, distribution channel, client ID as well as external attributes being the the Facebook user ID and Facebook access token instead, signed using SHA256 HMAC matched to the client secret.

ABTestingModel

Hmmm...
To do:
Find out more about this class.

A class called ABTestingModel is present in almost(?) all game versions so far.

From versions 4.0.0.0 to 9.0.0.0, these variables can be enabled in the login file by placing the abt variable inside the c variable, with abt is an array containing these testing modules and their options. For the August 25, 2016 version (r7751) (and possibly older), /abtesting/getabtestconfig was requested instead.

Below are the tests that are present throughout the versions found.

4.0.0.0 - 9.0.0.0

- WebStoryModeAbTestCase: Used to enable/disable Story Mode, presumably used for players that had the Piggy Tower when it was implemented.

Option Name/ID Explanation
webStoryModeOff_50 Disables Story Mode.
webStoryModeOn_50 Enables Story Mode.

If you are curious, here's what the main menu looks like if webStoryModeOff_50 is selected.
ABFriendsStoryModeDisabledScreenshot.png

- ChallengeAvailabilityAbTestCase2017: Unknown, speculated that it is for Star Cup (but seems like absolutely no progress was done other than TNT Drop's icon, and was only on mobile)

Option Name/ID Explanation
challengeEnabled Enables Star Cup(?).

r7751 and older

- ShopVisuals1: Shop layouts?

Option Name/ID Explanation
xTotalYFree Unknown (found as a default value in the main class)
xPlusYFreeR Unknown (found as a value in AngryBirdsFacebookTest)

- FreeMushroomIntroSampleEaster2013: Mushbloom amounts that you get as a gift for Pig Tales episode's release

Option Name/ID Explanation
sixFree1 6 + 1 Mushblooms? (found as a default value in the main class)
threeFree 3 Mushblooms (found as a value in AngryBirdsFacebookTest)

Removed LevelDataModel Class

In 2012-2013 (April 23) versions of the game, a class named LevelDataModel is present, directly from the final version of Angry Birds Social where recovering the obfuscated names proves this. While it is called in LevelMain, it only has one reference to load it and no functions or variables in it are referenced, likely a leftover from Social's code. As of the 2016(?) version, the class was removed.

(Source: LolHacksRule)

Angry Birds (Adobe Flash) Leftovers

The game has a portion of leftovers from the Flash Player 11 tech demo that was shown off at Adobe MAX. The demo shortly became this game.

Unused Text

Angry Birds
Flash Player 11 Demo
@Adobe MAX
© Rovio Entertainment Ltd.

Present in AngryBirdsFlashUI.swf in external_assets.

Flash Player 11 Animation Leftover

Hmmm...
To do:
The 2012 and 2013 versions (+ Embed) have code to load this state.

The file AngryBirdsGoesTo11.swf is present in external_assets, having no use by the game, it is used as a splash screen before loading the game.

(Source: https://youtu.be/yOtnRSaoK-c)

Powerup Tutorial Note

ABFriendsFlashPowerUpTutorialDefineShape2.png

A note on adding new powerup tutorials. It recommends you to ask Lauri for help on doing so when necessary.

Debugging Material

Hmmm...
To do:
If possible, find more debug stuff.
  • Values for obfuscated games.
Release Value
April 4th, 2013 (r106243) `Z
20121109-1447 (r101181) 4x
1.6.8.0 (r99607, 2012) +1
20130423-0931 (r10667, 2013) #V
Aug252016 (r7751, 2016) Not obfuscated.
4.0.0.0 (Mobile Server, r9678, December 2017) Not obfuscated.
4.1.0.0 (Mobile Server, r9708, 2017) Not obfuscated.
4.2.0.11 (Mobile Server, r9786, 2018) Not obfuscated.
4.2.0.16 (Mobile Server, r9820, 2018) Not obfuscated.

Unsurprisingly the same cheat keys and FPS display is present. As usual setting DEBUG_MODE_ENABLED in the AngryBirdsBase / AngryBirdsFP11 (Older) and AngryBirdsEngine class to true enables them. Interestingly level locks can also be ignored with that flag on, but Golden Eggs are unaffected. Strangely in the April 4th 2013 version, the FPS display is enabled while debug mode is disabled.

Key Function
k Kills all Pigs with a 1-star score. Removed in the 2013+ version.
w Kills all Pigs with a 3-star score.
b Explodes all TNT crates.
6 Goes to the next level. Dummied in the 2013+ version.
Right Advances the tip index by 1 to go ahead a tip and immediately displays it. Can only be done on a level failure.

Level Engine

Hmmm...
To do:
Values for obfuscated games.

Setting USE_DEBUG_SPRITE to true in LevelEngineBox2D makes the game render collision boxes overtop launched birds, materials and pigs. It's wise to scale the game to match the collision box offsets instead of using it in full screen as they become inaccurate.

Unused Shop Version

ABF Shop Update.png

Found in around the October 2012 version is an early version of the Angry Birds Shop that never went used. You would be able to buy Power Ups, Avatar Parts, and even Level Packs. The tab icon at the top left would likely not have appeared in game. It is speculated that the row of "Hot stuff" would contain items related to the color of their background. When viewed in a tool that lets you open SWF files, this shop would have different Power Ups appear where the gift boxes are located.

Unused Bird Rotation Functions

In the game's code, there are 2 functions for rotating birds based on the direction they are facing which doesn't get used. One is found in "LevelSlingshot.as" and is called "mRotateBird:Boolean" it isn't set to true or false, but it seems to default to false and when enabled it makes the bird face the direction they will be launched in. the other one is found in "LevelObjectBird.as" and is called "mIsFacingFlyingDirection:Boolean", it's set to false in the code and enabling it has the bird face the direction it is flying in.

In some versions of the game around 2014, "mRotateBird:Booolean" seems to have been set to true at some point, then disabled again.

It's possible this is a leftover from Angry Birds Star Wars Facebook and/or Angry Birds Space Tazos. Alternatively, they may have simply planned to add the functionality to this game.

Oddities

Level Cheat Functions

The game has code for detecting presses of "5" and "6" on your keyboard with debug mode enabled in a level, however both keys have the exact same function used, simply reloading the level. The 2012 version uses "4" and "5" instead.

AngryBirdsFacebookTests

In published asset lists of newer versions of the game, a file called AngryBirdsFacebookTests.swf is always listed and present on the related servers but not used by the game in any way. Manually downloading and exploring the file reveals it is another build of the game, however with extra classes and functions (minus the AngryBirdsFacebookCanvas class) and also entirely free of obfuscation with nearly all variable names, as well as source compilation directories for most scripts. * can be AngryBirdsFriends, RovioFramework, AngryBirdsEngineBase, AngryBirdsEngineSpace, AngryBirdsBase, Starling or Box2D.

/var/lib/jenkins/jobs/FACEBOOK-FLASH-player-release/workspace/*/src
/Users/claus/Projects/fzip/src

Another directory mentions a developer.

Revisional Differences

Error Popups

Acactussayswhat?
Please elaborate.
Having more detail is always a good thing.

Oops! (The pigs are causing some havoc in our server rooms!) (2012)

AB Facebook ErrorBox (Server).png

This error would appear if you had trouble connecting to the server.

It's the same error used in Angry Birds in Ultrabook Adventure.

Oops! (Messing with our servers) (2012)

AB Facebook WarningBox (Messing with server).png

Very similar to the other error popup, likely served a similar purpose.

Cookies? (2012)

AB Facebook ErrorBox (Cookies).png

This error would appear if 3rd Party cookies weren't enabled.

Tournament not found. (2012)

AB Facebook TurnamentNotFound.png

If for whatever reason a Tournament wasn't found, this error would likely appear.

Oops! Pig did it again! (pre-2012)

There also second error popup when game was updated but screenshot are lost.

Oops! Something went wrong! (post-2017)

ABF-OSWW.png

The third error popup was shown in latest Flash version before Unity version with mobile's error popup got ported.

Internal Project Name

The game internally is called Facebook with AngryBirds before that word, which makes sense considering the game's public beta title was Angry Birds for Facebook.

AngryBirdsFP11 Class

The game's code has a class called "AngryBirdsFP11" (Or "AngryBirdsBase" in newer versions), the class that the canvas usually loads is "AngryBirdsFacebook" (which is based on it). Upon swapping some assets to ones from other games that use the same engine, editing the XMLs inside the SWF and loading it reveals an unused menu, similar to the one shown in the Adobe MAX tech demo. It uses a different in-game HUD.

Main menu Chapter selection
ABFriendsFlashAngryBirdsBaseMainMenu.png ABFriendsFlashAngryBirdsBaseChapterSelection.png
Poached Eggs cutscene First Poached Eggs level
ABFriendsFlashAngryBirdsBasePoachedEggsCutscene.png ABFriendsFlashAngryBirdsFirstLevelPoachedEggs.png