diff options
author | Franklin Wei <frankhwei536@gmail.com> | 2016-11-03 22:27:01 -0400 |
---|---|---|
committer | Gerrit Rockbox <gerrit@rockbox.org> | 2016-11-19 19:17:14 +0100 |
commit | 05733649bce2623acfad7b163501c6fdefea985a (patch) | |
tree | 8db235af25ae7e72f9793879bd1119db90990cf4 /apps/plugins/xworld/resource.c | |
parent | deaeb73912c1bb9fd4d3498e59d1789761f3e322 (diff) | |
download | rockbox-05733649bce2623acfad7b163501c6fdefea985a.tar.gz rockbox-05733649bce2623acfad7b163501c6fdefea985a.zip |
XWorld: some fixes
Fixes sound on most platforms, original root cause was bad menu code
as well as DMA callbacks taking too long. Worked around with smaller
chunk sizes. Permanent fix would include moving mixing out of the
callback. Rewrites input with code from rockboy/doom. Cherry-picks a
change from Gregory Montoir's `rawgl' to patch the code wheel
screen. Finally, adds a motion blur filter on select targets.
Change-Id: I8df549c923c5075800c6625c36c8202e53de1d27
Diffstat (limited to 'apps/plugins/xworld/resource.c')
-rw-r--r-- | apps/plugins/xworld/resource.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/apps/plugins/xworld/resource.c b/apps/plugins/xworld/resource.c index 2820dcb998..4bd93f0616 100644 --- a/apps/plugins/xworld/resource.c +++ b/apps/plugins/xworld/resource.c | |||
@@ -354,12 +354,14 @@ void res_allocMemBlock(struct Resource* res) { | |||
354 | rb->audio_stop(); | 354 | rb->audio_stop(); |
355 | /* steal the audio buffer */ | 355 | /* steal the audio buffer */ |
356 | size_t sz; | 356 | size_t sz; |
357 | /* memory usage is as follows: | 357 | /* memory usage is first statically allocated, then the remainder is used dynamically: |
358 | [VM memory - 600K] | 358 | * static: |
359 | [Framebuffers - 128K] | 359 | * [VM memory - 600K] |
360 | [Temporary framebuffer - 192K] | 360 | * [Framebuffers - 128K] |
361 | [String table buffer] | 361 | * [Temporary framebuffer - 192K] |
362 | */ | 362 | * dynamic: |
363 | * [String table buffer] | ||
364 | */ | ||
363 | res->_memPtrStart = rb->plugin_get_audio_buffer(&sz); | 365 | res->_memPtrStart = rb->plugin_get_audio_buffer(&sz); |
364 | if(sz < MEM_BLOCK_SIZE + (4 * VID_PAGE_SIZE) + 320 * 200 * sizeof(fb_data)) | 366 | if(sz < MEM_BLOCK_SIZE + (4 * VID_PAGE_SIZE) + 320 * 200 * sizeof(fb_data)) |
365 | { | 367 | { |