diff --git a/basegraph.cpp b/basegraph.cpp index f579cea8..b85ead1d 100644 --- a/basegraph.cpp +++ b/basegraph.cpp @@ -1009,7 +1009,7 @@ EX void drawCircle(int x, int y, int size, color_t color, color_t fillcolor IS(0 #endif #if CAP_XGD - gdpush(4); gdpush(color); gdpush(x); gdpush(y); gdpush(size); + gdpush(4); gdpush(color); gdpush(fillcolor); gdpush(x); gdpush(y); gdpush(size); #elif CAP_SDLGFX if(pconf.stretch == 1) { if(fillcolor) filledCircleColor(srend, x, y, size, fillcolor); diff --git a/fake-mobile.cpp b/fake-mobile.cpp index 746dbcd9..b30451a2 100644 --- a/fake-mobile.cpp +++ b/fake-mobile.cpp @@ -204,11 +204,17 @@ int main(int argc, char **argv) { case 4: { int col = gdpop(); + int out = gdpop(); int x = gdpop(), y = gdpop(), rad = gdpop(); aacircleColor(s, x, y, rad, (col << 8) + 0xFF); } + case 5: { + int out = gdpop(); + /* not implemented */ + } + } } SDL_UpdateRect(s, 0, 0, vid.xres, vid.yres); diff --git a/graph.cpp b/graph.cpp index c32e7744..33fba103 100644 --- a/graph.cpp +++ b/graph.cpp @@ -5325,6 +5325,12 @@ EX void drawscreen() { if(vid.usingGL) setGLProjection(); #endif +#if CAP_XGD + if(!vid.usingGL) { + gdpush(5); gdpush(backcolor); + } +#endif + #if CAP_VR vrhr::clear(); #endif diff --git a/hyperroid/app/src/main/java/com/roguetemple/hyperroid/HyperView.java b/hyperroid/app/src/main/java/com/roguetemple/hyperroid/HyperView.java index 32cf122e..eb55f901 100644 --- a/hyperroid/app/src/main/java/com/roguetemple/hyperroid/HyperView.java +++ b/hyperroid/app/src/main/java/com/roguetemple/hyperroid/HyperView.java @@ -150,14 +150,26 @@ public class HyperView extends View { break; } + case 5: { + int col = gdpop(); + col = realpha(col); + col |= 0xFF000000; + dc.drawColor(col); + break; + } + case 4: { - int col = gdpop(); + int col = gdpop(); + int fil = gdpop(); int x = gdpop(); int y = gdpop(); int rad = gdpop(); - col += 0xFF000000; - pon.setColor(col); + pon.setColor(realpha(fil)); + pon.setStyle(Paint.Style.FILL); + dc.drawCircle(x, y, rad, pon); + + pon.setColor(realpha(col)); pon.setStyle(Paint.Style.STROKE); dc.drawCircle(x, y, rad, pon);