Emscripten Async #462

Merged
merged 29 commits into from May 2, 2015

Projects

None yet

2 participants

@Ghabry
Member
Ghabry commented May 1, 2015

This asynchifies the whole file loading code.

Start via
https://easy-rpg.org/play/index-pr.html?game=testgame-2000

In short this introduces a new class AsyncManager where file requests can be registred to. And when a file finishes downloading an EventHandler invokes that does the file access (e.g. assigning Bitmap or playing music).
On Desktop the event fires immediately so there is no change in code path compared to the old code.

At the moment I have debug code enabled that fakes async loading on Desktop, must be removed before merging.

This also adds a php script easyrpg-filefinder.php that handles the case insensitive file finding on server side.
Based on position of player.html place the games in "games/[gamename]", filefinder in "games". Needs a writable cache-dir at "games/cache" (For filelist)

TODO:

  • new Ib version @carstene1ns
  • Disable RTP not found warning
  • Use canvas zoom instead of SDL zoom
  • Document asyncManager file
  • Remove async debug code
Ghabry added some commits Feb 23, 2015
@Ghabry Ghabry SDL2: Reenable zoom always 0c31b12
@Ghabry Ghabry Emscripten: Cancel main loop after Error (prevent hang) c8e0d54
@Ghabry Ghabry Map: Add more sanity checks for x/y position 357e29e
@Ghabry Ghabry Asynchify some graphic loading and startup d02656b
@Ghabry Ghabry Emscripten async: Map loading, blocks interpreter until finished. 94ab8c8
@Ghabry Ghabry Emscripten Async: Add support for event handlers fb3290d
@Ghabry Ghabry Async support for Database/Maptree, FaceSet and Map loading fd76f0e
@Ghabry Ghabry Fix async handler compiling 3d543b5
@Ghabry Ghabry No file extension for emscripten 47fbd3b
@Ghabry Ghabry Asyncify Picture and Sprite 1440c38
@Ghabry Ghabry Async loading of maps 8f54b41
@Ghabry Ghabry Async loading of system graphic when changed by event. 8b0be11
@Ghabry Ghabry change signature of FileRequest func to FileRequestResult. Async all …
…remaining calls except ShopParty and Music/Sound
2bac059
@Ghabry Ghabry Async ShopParty e6e5607
@Ghabry Ghabry Async Music/Sound... That was the last one 29e3921
@Ghabry Ghabry Emscripten: Search without file extensions a00e357
@Ghabry Ghabry Emscripten: Support for ?game parameter 4a72548
@Ghabry Ghabry Async: Add Pending state to prevent multiple emscripten downloads of …
…same file
f61cb5b
@Ghabry Ghabry Add Filefinder for PHP/emscripten fbda13d
@Ghabry Ghabry Emscripten: Fix file download 17e4724
@Ghabry Ghabry Allow graphic update while waiting for files f38f60b
@Ghabry Ghabry Php filefinder: Passing no game uses 'default' directory now. Better …
…error handling. Add license.
ebbaa58
@Ghabry Ghabry Emscripten: Hardcode game_folder to "games". Window flag as default. b8964f0
@Ghabry Ghabry Async: Add docs, remove debug output bc66389
@Ghabry Ghabry Emscripten: No RTP support 967e5d8
@Ghabry Ghabry New approach for setting the System background color.
77db1cb
@Ghabry Ghabry make $GAME lower case. Rename to filefinder.php a209726
@Ghabry Ghabry Emscripten: Change rescale logic (browser does it faster then SDL2) 554ad59
@Ghabry Ghabry Emscripten: Add new shell with working rescale (thx fdela)
9913b96
@fdelapena fdelapena merged commit 25c89d0 into EasyRPG:master May 2, 2015

2 checks passed

default Merged build finished.
Details
player-js-pr Build #145 succeeded in 1 min 27 sec
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment