crossbridge-community / crossbridge

C/C++ Compiler for the ActionScript Virtual Machine (AVM2)
http://sourceforge.net/projects/crossbridge-community/
Other
151 stars 36 forks source link

URLVFSLoader #59

Closed JoeDupuis closed 10 years ago

JoeDupuis commented 10 years ago

The genfs allow the user to create an http vfs, which is great since it allow you to change the files after post build (not the case with embed vfs). This is especially useful while developing when using scripting (lua in our case).

The problem is that it require the user to prepackage the resources with genfs anyway. Which is tedious when done over and over.

My solution was to write a version of the http vfs that does not require a special bundled versions of the assets. Here is the code: https://github.com/twistedjoe/flascc-URLLoaderVFS

It is pretty old now and require a manifest, because flash prevent directory listing. I could add instruction on how to generate the manifest. I could also write a version that won't need a manifest, but it would be AIR only (which can list directories and I guess okay to use while developing).

We use it mainly to refresh the lua code without rebuilding/repackaging the app or assets. We hit a key and it re-read the code again on the real local filesystem.

Do you think that it's something that could be useful ?

vpmedia commented 10 years ago

It's already included because seemed useful and I wanted to test it later, sorry for not asking .. https://github.com/crossbridge-community/crossbridge/blob/master/posix/vfs/URLLoaderVFS.as

JoeDupuis commented 10 years ago

Lol no problem :+1:

vpmedia commented 10 years ago

AIR only manifest generation is not suitable I think, because our main target is Web. I've made some basic changes to allow to use airglobal.swc and the AIR API later, using the 'target-air' parameter (alongside with 'target-flash') but it's not a high priority feature right now, I think ( # 50 )

JoeDupuis commented 10 years ago

I see.

Though, if Air works one day, a use case for it (even for somebody that doesn't want to target air but web only) could be to use Air while developing for easier assets management (as a debug and dev platform) and package everything into an embed vfs before the release (without air).