views:

1943

answers:

5

I have some educational flash games for Windows (legally bought), that I would like for my daughter to be able to use on her OLPC.

I know that some users have been able to run them under Linux by using wine, but that is really not an option on the OLPC as they need the cd in the drive to run, and the OLPC does not have a cd drive.

The games are installed from cd, and then run from an exe file. They need the cd to be in the drive while in use.

I have seen that there are some flash decompilers available, so I was thinking if it might be possible to decompile the the game and then recompile it for Linux?

Update

After some further research and experimentation, I have gotten a bit closer to running the games.

It turns out that the exe is a projector (made with Director), and all it does is run a dxr file in a subdirectory. I can open this file directly in the flash player, but it is only the initial menu from which you can choose the various activities.

The problem is that when you select an activity, you get an error like 'Unable to find file: "\SUBDIR\ACTIVITY"'.

The subdirs from the activities are on the same level as the subdir with the menu. So I have tried making a stub movie that just runs the menu, and starting it from the root dir (same as the original projector). I runs the menu just fine, but it still gives the same error for activities.

+1  A: 

Check out the OLPC wiki for help.

They have this page for installing Adobe Flash Player, which is probably the best place to start.

Feet
I don't think installing Flash was the question..
fenomas
+3  A: 

It probably depends on what you mean by a "Windows Flash" game. Flash content normally exists as a SWF, which is platform-independent and can be played on any OS (in theory - the actual quality of Linux flash players has been inconsistent). So if you can find the SWF content of these games, then simply copying them where you want may do the trick.

However if these games are normally executed off a CD, then there may likely be more to it. If the CDs appear to have the game content in EXE form, then you may be looking at projector files. A projector is basically an EXE that wraps together the Flash player and the SWF content to be played, giving you an EXE of your content that can be run on a system without Flash installed. If this is what you have, then copying that EXE to the target system and running it under wine may work. However, the projector may have some sort of logic in it to prevent it from running except of a CD drive. I'm not sure what can be done with that. I believe there are tools that can extract the SWF content out of a projector, but I can't vouch for any of them. (That would probably also violate the license you bought the games under, for what that's worth.)

Finally, all the above is assuming that these games exist as something that is run directly off the CD. If these are things with install/uninstall functionality, then even if parts were developed in Flash, getting them to work under linux is probably no different than any other application.

fenomas
Even if you can extract the SWF from the projector, it may use other files on the CD. Projectors add extra functionality that isn't available to normal players, like filesystem access.
Herms
A: 

New answer for the updated info that the games run from an EXE. In this case, it sounds like your problem isn't running these games on Linux, your problem is running them without the CD.

As for the possibility of recompiling, if the games are installed from a CD, then even if the content of the game is Flash it sounds like the container is a regular installable Windows application. (Unless it's an Adobe AIR app, but I'm assuming you'd have mentioned.) In this case, recompiling the Flash content wouldn't do anything, because the CD check would surely be part of the win app logic, and not be done from inside Flash.

fenomas
A: 

Try making and iso image of the disk and mounting it on a virtual drive then try and run it under wine

A: 

Install wine, then swift flash player. That is the best way for swf files.

Ivan