A Git based version of Magic Lantern, for those unwilling or unable to work using Mercurial. The vast majority of branches have been removed, with those thought to be important brought in individually and merged.
GNU General Public License v2.0
147
stars
51
forks
source link
D678: Arkanoid erase background with transparent color #32
Arkanoid uses index 0 as background color. For example
// erase elements that changed their position (to minimize flicker)
if (e->old_x != e->x || e->old_y != e->y)
{
//kitor: color index 0 is transparent on D45, we draw it as #00000000
arkanoid_draw_elem(e, e->old_x, e->old_y, 0);
This works on D45 and allows to play over LV.
With how we implemented opacity handling I see no easy way out for D678.
Only thing that comes to mind so far is replace hardcoded index 0 with constant: COLOR_TRANSPARENT for D45 and COLOR_BLACK for D6+ and replace clrscr() on D6+ with COLOR_BLACK fill. Feature to play over LV won't work anymore (it will be always black background) but at least it would work properly.
Connected with #31 (visible due to that).
Arkanoid uses index 0 as background color. For example
This works on D45 and allows to play over LV.
With how we implemented opacity handling I see no easy way out for D678. Only thing that comes to mind so far is replace hardcoded index 0 with constant:
COLOR_TRANSPARENT
for D45 andCOLOR_BLACK
for D6+ and replaceclrscr()
on D6+ withCOLOR_BLACK
fill. Feature to play over LV won't work anymore (it will be always black background) but at least it would work properly.