Summer's over and Airsoft Softwair, the hardest working men in code business, are back on your screen with a brand-new plugin for Hollywood: RebelSDL. RebelSDL is a plugin for Hollywood that allows you to use SDL (Simple DirectMedia Layer) from Hollywood. This makes it possible to write scripts that utilize the host system's graphics hardware to create high-performance, butter-smooth 2D animation that is produced completely in hardware by the GPU of your graphics board. This leads to a huge performance boost over the classic Hollywood graphics API which is mostly implemented in software for maximum portability and compatibility. Especially systems with slower CPUs (like the Raspberry Pi) will benefit greatly from hardware-accelerated drawing, scaling, and transformation offered by SDL.

SDL is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games. More information about SDL can be obtained from http://www.libsdl.org. You can find good tutorials about learning SDL all over the web.

RebelSDL transparently replaces Hollywood's inbuilt display handler with its own display handler managed by SDL. Whenever RebelSDL is activated, Hollywood displays are automatically mapped to SDL windows and hardware brushes are mapped directly to SDL textures so that they can be drawn, scaled, and transformed in an extremely quick way on all supported systems. This is especially useful on Windows, Mac OS X, and Linux because Hollywood doesn't support hardware double buffers and hardware brushes on these platforms by default. With RebelSDL, however, hardware double buffers and hardware brushes can be used on these platforms now too. So RebelSDL can also act as a helper plugin here which adds this functionality to Hollywood without having you write a single line of SDL code to utilize it!

On top of that, RebelSDL offers wrapper functions for some useful commands of the SDL API, for example RebelSDL allows you to call SDL's joystick and game controller functions which are much more flexible than Hollywood's inbuilt joystick library. RebelSDL also allows you to access Hollywood hardware brushes as SDL textures and modify their properties via some dedicated SDL calls exposed by RebelSDL.

Finally, RebelSDL also replaces Hollywood's inbuilt audio driver with the audio driver offered by SDL. In contrast to the graphics driver SDL's audio driver probably doesn't have any advantage over Hollywood's inbuilt audio driver but by using it RebelSDL will turn your program into a complete SDL application which doesn't only use SDL for graphics output but also for audio output.

RebelSDL utilizes the new display adapter plugin interface introduced with Hollywood 6.0. It was actually written as a test case 3 years ago when Hollywood 6.0's display and audio adapter plugin interfaces were designed. Because RebelSDL uses these new Hollywood 6 plugin interfaces it will not work with any older versions of Hollywood. It requires at least Hollywood 6.0. Whenever RebelSDL is activated, all graphics and audio output will automatically be routed through SDL. To benefit from hardware-accelered drawing, however, Hollywood scripts have to follow some rules as described in the manual.

RebelSDL comes with extensive documentation in various formats like PDF, HTML, AmigaGuide, and CHM that contains information about how to use this plugin. The manual is also available online for quick access. On top of that, many example scripts are included in the distribution archive to get you started really quickly.

All of this makes RebelSDL the ultimate scripting experience for all you SDL rebels by combining the best of both worlds into one powerful plugin: Hollywood's extensive and convenient multimedia function set and SDL's raw graphics power!

Amiga users please note that currently only MorphOS is supported. There are no SDL2 ports for OS3 and AROS and the OS4 version of RebelSDL is currently on hold due to technical difficulties. The MorphOS version is also rather unstable but this is because MorphOS' SDL2 port seems to be in alpha state.

This release was brought to you by Airsoft Softwair, the hardest working men in code business.

Checked the download page,indeed no Android version. When I read this announcement I thought this plugin would be ideal for Android, as the GL galore plugin is not available (because od OpenGL ES), and this would be an alternative way to speed up gfx.

Generally SDL2 is available for Android - what's the issue actually preventing this plugin for Android?

zylesea wrote:Generally SDL2 is available for Android - what's the issue actually preventing this plugin for Android?

Everything is different on Android. Hollywood for Android is a weird mixture of Java and C and there is no easy way to completely replace Hollywood's inbuilt display handler with something completely new because there is still the Java code which has to interact with the C code. It's all rather ugly because Android apps should normally be written in Java. I'm not even sure it would be possible to do on Android what RebelSDL does on desktop systems...

zylesea wrote:Generally SDL2 is available for Android - what's the issue actually preventing this plugin for Android?

Everything is different on Android. Hollywood for Android is a weird mixture of Java and C and there is no easy way to completely replace Hollywood's inbuilt display handler with something completely new because there is still the Java code which has to interact with the C code. It's all rather ugly because Android apps should normally be written in Java. I'm not even sure it would be possible to do on Android what RebelSDL does on desktop systems...

By the way, is anyone having serious performance issues on Android? That shouldn't be the case unless you're doing extreme stuff. Hollywood's Android backend uses OpenGLES already and the autoscaling engine is hardware-accelerated as well. So if you draw your script in 640x480 and let Hollywood autoscale it to fit the device's dimensions that should be very quick. Also, drawing on Android is synchronized with the vertical refresh because of OpenGLES so scrollers should also be really smooth.