Cannot run game Botanicula

Bug #991199 reported by Jack Leigh
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Lightspark
Confirmed
Medium
Unassigned
lightspark (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Recently downloaded Botanicula game which requires Adobe AIR to run. Naturally wanted an alternative.

Unpacked the .air file.

Tried to run BotaniculaLinux.swf

Says the file is unsupported

lightspark -l 3 log attached

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: lightspark 0.5.5-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-24.37-generic-pae 3.2.14
Uname: Linux 3.2.0-24-generic-pae i686
ApportVersion: 2.0.1-0ubuntu7
Architecture: i386
Date: Sun Apr 29 16:57:59 2012
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5)
SourcePackage: lightspark
UpgradeStatus: Upgraded to precise on 2012-03-04 (55 days ago)

Revision history for this message
Jack Leigh (leighman) wrote :
Revision history for this message
Jack Leigh (leighman) wrote :
description: updated
Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

The error is caused by Lightspark having poor support for MorphShape. Sorry about that, we are improving the supported features over time

tags: added: morph
Changed in lightspark:
status: New → Confirmed
importance: Undecided → Medium
tags: added: gamesupport
Revision history for this message
Jack Leigh (leighman) wrote :

Thanks for your reply.
I will have more free time in about a week and would like to try and help work on this.
Could you provide any pointers for good places to start/relevant code sections?

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

Sorry for my late response, I got my master degree this week.

So, basically flash supports the concept of MorphShapes, which are vector drawings that includes information about how they change over time. Lightspark currently partially parses the data structure for MorphShape, but does not attempt to render them.

The error you get comes from the parsing code for such morph shape, you can take a look at src/parsing/tags.cpp and src/swftypes.cpp as those files contains most code related to parsing, in particular the following classes:

DefineMorphShapeTag
MORPHFILLSTYLE

This method:
std::istream& lightspark::operator>>(std::istream& s, MORPHFILLSTYLE& v)

is the one where the error happens, it should be fixed to support the other fill styles, you can take a look at the parsing of FILLSTYLE and the official swf10 spec to understand the meaning of the fields.
http://www.adobe.com/devnet/swf.html

Please drop by in #lightspark IRC channel on Freenode if you have other questions

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in lightspark (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.