proton:flash_setup
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| proton:flash_setup [2012/12/11 14:31] – seth | proton:flash_setup [2015/09/09 02:00] (current) – seth | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===Compiling the examples for Flash from Windows === | + | NOTE: Well, Flash is more or less dead so this probably won't be updated. |
| + | |||
| + | ====Compiling the examples for Flash from Windows | ||
| Adobe' | Adobe' | ||
| + | |||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <div id=" | ||
| + | < | ||
| + | <param name=" | ||
| + | <!--[if !IE]> | ||
| + | <object type=" | ||
| + | < | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <div> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | <!--[if !IE]> | ||
| + | </ | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | [[http:// | ||
| ==Features== | ==Features== | ||
| - | * Games run in Flash with 0 source | + | * Games run in Flash without |
| * Graphics are hardware accelerated, | * Graphics are hardware accelerated, | ||
| * Converts GL_TRIANGLE_FAN and GL_TRIANGLE_STRIP to normal triangles on the fly | * Converts GL_TRIANGLE_FAN and GL_TRIANGLE_STRIP to normal triangles on the fly | ||
| Line 15: | Line 44: | ||
| * Uses Adobe' | * Uses Adobe' | ||
| * Can also run in a simple text console only mode, see RTConsole example for that | * Can also run in a simple text console only mode, see RTConsole example for that | ||
| - | |||
| - | |||
| - | Ok, it's assumed you've already built things on Windows and understand how Proton works. | ||
| It's not a perfect emulation (it's still a work in progress), but all the Proton examples run fine, so it ain't bad either. | It's not a perfect emulation (it's still a work in progress), but all the Proton examples run fine, so it ain't bad either. | ||
| Line 24: | Line 50: | ||
| Flascc works for OSX or Windows, but I'm only going to cover the Windows setup as that's what I use. It uses Cygwin, which is sort of a fake linux for Windows. | Flascc works for OSX or Windows, but I'm only going to cover the Windows setup as that's what I use. It uses Cygwin, which is sort of a fake linux for Windows. | ||
| + | |||
| + | === Step 1: Install some sdks and verify your setup === | ||
| Before you whip out .swf's of the Proton examples and amaze everyone, make sure the SDK is working. | Before you whip out .swf's of the Proton examples and amaze everyone, make sure the SDK is working. | ||
| + | |||
| + | Ok, it's assumed you've already built things on Windows and understand how Proton works. | ||
| * Install the Adobe Flash C++ Compiler (It's free, but Adobe makes you create an account [[https:// | * Install the Adobe Flash C++ Compiler (It's free, but Adobe makes you create an account [[https:// | ||
| Line 33: | Line 63: | ||
| * Follow [[http:// | * Follow [[http:// | ||
| - | **Note**: If you get error "LLVM ERROR: Error: Unable to launch the Java Virtual Machine." | + | **Note**: If you get error "LLVM ERROR: Error: Unable to launch the Java Virtual Machine." |
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | If that doesn' | ||
| < | < | ||
| T01: check | T01: check | ||
| Line 49: | Line 84: | ||
| </ | </ | ||
| - | Now it should work. | + | But that's not a great solution, because later you really WILL need more memory when you compile debug mode versions of bugger stuff, |
| + | |||
| + | === Step 2: Compiling RTBareBones example === | ||
| + | |||
| + | * Edit **RTBareBones/ | ||
| + | * Double click BuildRelease.bat. | ||
| + | * If it works, you will see RTBareBones.swf in the same directory. | ||
| + | * Same thing to compile the RTSimpleApp example | ||
| + | |||
| + | |||
| + | === Step 3: How to add a Flash target to your existing Proton game === | ||
| + | |||
| + | * Copy the /flash folder from RTSimpleApp into your own project | ||
| + | * Use [[: | ||
| + | * Edit the / | ||
| + | * To change the render size of your .swf, change the SWF_SIZE setting in the makefile, | ||
| + | * Look at App.cpp in RTSimpleApp and notice a subtle change | ||
| + | * That should be it! If you have nonstandard media folders to copy from, you can fix it by editing build_prepare.bat | ||
| ===Misc Notes & Gotchas=== | ===Misc Notes & Gotchas=== | ||
| + | * -O4, the best Flascc G++ optimization setting has weird freezes making it useless. | ||
| + | * Non pod globals that get intialized right away act funky in some cases. | ||
| * Don't try to rename Console.as, the default preloader that Adobe ships hardcodes this name, we'd better keep it. (At first I tried to rename it FlashMain.as, | * Don't try to rename Console.as, the default preloader that Adobe ships hardcodes this name, we'd better keep it. (At first I tried to rename it FlashMain.as, | ||
| * shared/ | * shared/ | ||
| * If you get reference errors in release builds you need to add the names of those functions to your project/ | * If you get reference errors in release builds you need to add the names of those functions to your project/ | ||
| * printf will act like LogMsg, both will go to debug output | * printf will act like LogMsg, both will go to debug output | ||
| - | * Some MSVC examples have a Flash GLES Debug profile setup, it compiles and renders with MSVC, but there is no video as it's all going through a crippled GLFlashAdaptor - you can't see anything, but it's useful to me for debugging and seeing which GLES things aren't handled yet. | ||
| * Only 128kz stereo mp3 audio is supported | * Only 128kz stereo mp3 audio is supported | ||
| - | * SetVolume, SetPan, IsPlaying | + | * The SetVolume, SetPan, |
| * Not all GL functions supported | * Not all GL functions supported | ||
| - | * Only one light is supported and it must be ambient | + | |
| + | | ||
| * LaunchURL works, but only when loading the swf from a real website, otherwise you get a security error | * LaunchURL works, but only when loading the swf from a real website, otherwise you get a security error | ||
| - | * It's slow.. I get 60 fps but only because I have a top of the line machine.. there are many optimizations I can still make, especially in the GLES1Adaptor | + | * It's slow.. I get 60 fps but only because I have a top of the line machine.. there are many optimizations I can still make, especially in the GLESAdaptor |
| - | * Compiling is slowish. | + | * Compiling is slowish. |
| + | * I get Java memory errors if I try to compile a full -g debug version of the larger examples (RTSimpleApp) even with trying to hack everything to use 4gb of java memory, it just won't work. So RTSimpleApp doesn' | ||
| + | * You can do full GDB debugging with this - edit BuildDebug.bat and change **set RUN_GDB_DEBUGGER=0** to 1 | ||
proton/flash_setup.1355236277.txt.gz · Last modified: by seth
