Making the API simpler, the blend modes are "none, blend, add" and are supported by all renderers.
--HG-- extra : rebase_source : f06ea01caa64c8ad14170c723e5af52dad64d779
This commit is contained in:
parent
372693d86f
commit
825e1da54d
31 changed files with 193 additions and 2686 deletions
|
@ -43,12 +43,8 @@ extern "C" {
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SDL_BLENDMODE_NONE = 0x00000000, /**< No blending */
|
SDL_BLENDMODE_NONE = 0x00000000, /**< No blending */
|
||||||
SDL_BLENDMODE_MASK = 0x00000001, /**< dst = A ? src : dst
|
SDL_BLENDMODE_BLEND = 0x00000001, /**< dst = (src * A) + (dst * (1-A)) */
|
||||||
(alpha is mask) */
|
SDL_BLENDMODE_ADD = 0x00000002, /**< dst = (src * A) + dst */
|
||||||
|
|
||||||
SDL_BLENDMODE_BLEND = 0x00000002, /**< dst = (src * A) + (dst * (1-A)) */
|
|
||||||
SDL_BLENDMODE_ADD = 0x00000004, /**< dst = (src * A) + dst */
|
|
||||||
SDL_BLENDMODE_MOD = 0x00000008 /**< dst = src * dst */
|
|
||||||
} SDL_BlendMode;
|
} SDL_BlendMode;
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
|
|
|
@ -187,7 +187,6 @@ typedef struct SDL_RendererInfo
|
||||||
const char *name; /**< The name of the renderer */
|
const char *name; /**< The name of the renderer */
|
||||||
Uint32 flags; /**< Supported ::SDL_RendererFlags */
|
Uint32 flags; /**< Supported ::SDL_RendererFlags */
|
||||||
Uint32 mod_modes; /**< A mask of supported channel modulation */
|
Uint32 mod_modes; /**< A mask of supported channel modulation */
|
||||||
Uint32 blend_modes; /**< A mask of supported blend modes */
|
|
||||||
Uint32 num_texture_formats; /**< The number of available texture formats */
|
Uint32 num_texture_formats; /**< The number of available texture formats */
|
||||||
Uint32 texture_formats[50]; /**< The available texture formats */
|
Uint32 texture_formats[50]; /**< The available texture formats */
|
||||||
int max_texture_width; /**< The maximimum texture width */
|
int max_texture_width; /**< The maximimum texture width */
|
||||||
|
|
|
@ -1423,7 +1423,7 @@ SDL_RLESurface(SDL_Surface * surface)
|
||||||
/* Pass on combinations not supported */
|
/* Pass on combinations not supported */
|
||||||
if ((flags & SDL_COPY_MODULATE_COLOR) ||
|
if ((flags & SDL_COPY_MODULATE_COLOR) ||
|
||||||
((flags & SDL_COPY_MODULATE_ALPHA) && surface->format->Amask) ||
|
((flags & SDL_COPY_MODULATE_ALPHA) && surface->format->Amask) ||
|
||||||
(flags & (SDL_COPY_ADD | SDL_COPY_MOD)) ||
|
(flags & SDL_COPY_ADD) ||
|
||||||
(flags & SDL_COPY_NEAREST)) {
|
(flags & SDL_COPY_NEAREST)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,9 +37,6 @@ SDL_BlendFillRect_RGB555(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_ADD_RGB555);
|
FILLRECT(Uint16, DRAW_SETPIXEL_ADD_RGB555);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_MOD_RGB555);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_RGB555);
|
FILLRECT(Uint16, DRAW_SETPIXEL_RGB555);
|
||||||
break;
|
break;
|
||||||
|
@ -60,9 +57,6 @@ SDL_BlendFillRect_RGB565(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_ADD_RGB565);
|
FILLRECT(Uint16, DRAW_SETPIXEL_ADD_RGB565);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_MOD_RGB565);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_RGB565);
|
FILLRECT(Uint16, DRAW_SETPIXEL_RGB565);
|
||||||
break;
|
break;
|
||||||
|
@ -83,9 +77,6 @@ SDL_BlendFillRect_RGB888(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_RGB888);
|
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_RGB888);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_MOD_RGB888);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_RGB888);
|
FILLRECT(Uint32, DRAW_SETPIXEL_RGB888);
|
||||||
break;
|
break;
|
||||||
|
@ -106,9 +97,6 @@ SDL_BlendFillRect_ARGB8888(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_ARGB8888);
|
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_ARGB8888);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_MOD_ARGB8888);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_ARGB8888);
|
FILLRECT(Uint32, DRAW_SETPIXEL_ARGB8888);
|
||||||
break;
|
break;
|
||||||
|
@ -132,9 +120,6 @@ SDL_BlendFillRect_RGB(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_ADD_RGB);
|
FILLRECT(Uint16, DRAW_SETPIXEL_ADD_RGB);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_MOD_RGB);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint16, DRAW_SETPIXEL_RGB);
|
FILLRECT(Uint16, DRAW_SETPIXEL_RGB);
|
||||||
break;
|
break;
|
||||||
|
@ -148,9 +133,6 @@ SDL_BlendFillRect_RGB(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_RGB);
|
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_RGB);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_MOD_RGB);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_RGB);
|
FILLRECT(Uint32, DRAW_SETPIXEL_RGB);
|
||||||
break;
|
break;
|
||||||
|
@ -178,9 +160,6 @@ SDL_BlendFillRect_RGBA(SDL_Surface * dst, const SDL_Rect * rect,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_RGBA);
|
FILLRECT(Uint32, DRAW_SETPIXEL_ADD_RGBA);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_MOD_RGBA);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
FILLRECT(Uint32, DRAW_SETPIXEL_RGBA);
|
FILLRECT(Uint32, DRAW_SETPIXEL_RGBA);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -53,9 +53,6 @@ SDL_BlendLine_RGB2(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
HLINE(Uint16, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_MOD_RGB, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_RGB, draw_end);
|
HLINE(Uint16, DRAW_SETPIXEL_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -68,9 +65,6 @@ SDL_BlendLine_RGB2(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
VLINE(Uint16, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_MOD_RGB, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_RGB, draw_end);
|
VLINE(Uint16, DRAW_SETPIXEL_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -83,9 +77,6 @@ SDL_BlendLine_RGB2(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
DLINE(Uint16, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_MOD_RGB, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_RGB, draw_end);
|
DLINE(Uint16, DRAW_SETPIXEL_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -102,11 +93,6 @@ SDL_BlendLine_RGB2(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY2_ADD_RGB, DRAW_SETPIXELXY2_ADD_RGB,
|
DRAW_SETPIXELXY2_ADD_RGB, DRAW_SETPIXELXY2_ADD_RGB,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY2_MOD_RGB, DRAW_SETPIXELXY2_MOD_RGB,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY2_RGB, DRAW_SETPIXELXY2_BLEND_RGB,
|
DRAW_SETPIXELXY2_RGB, DRAW_SETPIXELXY2_BLEND_RGB,
|
||||||
|
@ -145,9 +131,6 @@ SDL_BlendLine_RGB555(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_ADD_RGB555, draw_end);
|
HLINE(Uint16, DRAW_SETPIXEL_ADD_RGB555, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_MOD_RGB555, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_RGB555, draw_end);
|
HLINE(Uint16, DRAW_SETPIXEL_RGB555, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -160,9 +143,6 @@ SDL_BlendLine_RGB555(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_ADD_RGB555, draw_end);
|
VLINE(Uint16, DRAW_SETPIXEL_ADD_RGB555, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_MOD_RGB555, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_RGB555, draw_end);
|
VLINE(Uint16, DRAW_SETPIXEL_RGB555, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -175,9 +155,6 @@ SDL_BlendLine_RGB555(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_ADD_RGB555, draw_end);
|
DLINE(Uint16, DRAW_SETPIXEL_ADD_RGB555, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_MOD_RGB555, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_RGB555, draw_end);
|
DLINE(Uint16, DRAW_SETPIXEL_RGB555, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -194,11 +171,6 @@ SDL_BlendLine_RGB555(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY_ADD_RGB555, DRAW_SETPIXELXY_ADD_RGB555,
|
DRAW_SETPIXELXY_ADD_RGB555, DRAW_SETPIXELXY_ADD_RGB555,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY_MOD_RGB555, DRAW_SETPIXELXY_MOD_RGB555,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY_RGB555, DRAW_SETPIXELXY_BLEND_RGB555,
|
DRAW_SETPIXELXY_RGB555, DRAW_SETPIXELXY_BLEND_RGB555,
|
||||||
|
@ -237,9 +209,6 @@ SDL_BlendLine_RGB565(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_ADD_RGB565, draw_end);
|
HLINE(Uint16, DRAW_SETPIXEL_ADD_RGB565, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_MOD_RGB565, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint16, DRAW_SETPIXEL_RGB565, draw_end);
|
HLINE(Uint16, DRAW_SETPIXEL_RGB565, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -252,9 +221,6 @@ SDL_BlendLine_RGB565(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_ADD_RGB565, draw_end);
|
VLINE(Uint16, DRAW_SETPIXEL_ADD_RGB565, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_MOD_RGB565, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint16, DRAW_SETPIXEL_RGB565, draw_end);
|
VLINE(Uint16, DRAW_SETPIXEL_RGB565, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -267,9 +233,6 @@ SDL_BlendLine_RGB565(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_ADD_RGB565, draw_end);
|
DLINE(Uint16, DRAW_SETPIXEL_ADD_RGB565, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_MOD_RGB565, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint16, DRAW_SETPIXEL_RGB565, draw_end);
|
DLINE(Uint16, DRAW_SETPIXEL_RGB565, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -286,11 +249,6 @@ SDL_BlendLine_RGB565(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY_ADD_RGB565, DRAW_SETPIXELXY_ADD_RGB565,
|
DRAW_SETPIXELXY_ADD_RGB565, DRAW_SETPIXELXY_ADD_RGB565,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY_MOD_RGB565, DRAW_SETPIXELXY_MOD_RGB565,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY_RGB565, DRAW_SETPIXELXY_BLEND_RGB565,
|
DRAW_SETPIXELXY_RGB565, DRAW_SETPIXELXY_BLEND_RGB565,
|
||||||
|
@ -329,9 +287,6 @@ SDL_BlendLine_RGB4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_MOD_RGB, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_RGB, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -344,9 +299,6 @@ SDL_BlendLine_RGB4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_MOD_RGB, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_RGB, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -359,9 +311,6 @@ SDL_BlendLine_RGB4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_ADD_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_MOD_RGB, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_RGB, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_RGB, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -378,11 +327,6 @@ SDL_BlendLine_RGB4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY4_ADD_RGB, DRAW_SETPIXELXY4_ADD_RGB,
|
DRAW_SETPIXELXY4_ADD_RGB, DRAW_SETPIXELXY4_ADD_RGB,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY4_MOD_RGB, DRAW_SETPIXELXY4_MOD_RGB,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY4_RGB, DRAW_SETPIXELXY4_BLEND_RGB,
|
DRAW_SETPIXELXY4_RGB, DRAW_SETPIXELXY4_BLEND_RGB,
|
||||||
|
@ -421,9 +365,6 @@ SDL_BlendLine_RGBA4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_ADD_RGBA, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_ADD_RGBA, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_MOD_RGBA, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_RGBA, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_RGBA, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -436,9 +377,6 @@ SDL_BlendLine_RGBA4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_ADD_RGBA, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_ADD_RGBA, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_MOD_RGBA, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_RGBA, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_RGBA, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -451,9 +389,6 @@ SDL_BlendLine_RGBA4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_ADD_RGBA, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_ADD_RGBA, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_MOD_RGBA, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_RGBA, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_RGBA, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -470,11 +405,6 @@ SDL_BlendLine_RGBA4(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY4_ADD_RGBA, DRAW_SETPIXELXY4_ADD_RGBA,
|
DRAW_SETPIXELXY4_ADD_RGBA, DRAW_SETPIXELXY4_ADD_RGBA,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY4_MOD_RGBA, DRAW_SETPIXELXY4_MOD_RGBA,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY4_RGBA, DRAW_SETPIXELXY4_BLEND_RGBA,
|
DRAW_SETPIXELXY4_RGBA, DRAW_SETPIXELXY4_BLEND_RGBA,
|
||||||
|
@ -513,9 +443,6 @@ SDL_BlendLine_RGB888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_ADD_RGB888, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_ADD_RGB888, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_MOD_RGB888, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_RGB888, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_RGB888, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -528,9 +455,6 @@ SDL_BlendLine_RGB888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_ADD_RGB888, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_ADD_RGB888, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_MOD_RGB888, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_RGB888, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_RGB888, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -543,9 +467,6 @@ SDL_BlendLine_RGB888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_ADD_RGB888, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_ADD_RGB888, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_MOD_RGB888, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_RGB888, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_RGB888, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -562,11 +483,6 @@ SDL_BlendLine_RGB888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY_ADD_RGB888, DRAW_SETPIXELXY_ADD_RGB888,
|
DRAW_SETPIXELXY_ADD_RGB888, DRAW_SETPIXELXY_ADD_RGB888,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY_MOD_RGB888, DRAW_SETPIXELXY_MOD_RGB888,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY_RGB888, DRAW_SETPIXELXY_BLEND_RGB888,
|
DRAW_SETPIXELXY_RGB888, DRAW_SETPIXELXY_BLEND_RGB888,
|
||||||
|
@ -605,9 +521,6 @@ SDL_BlendLine_ARGB8888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_ADD_ARGB8888, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_ADD_ARGB8888, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_MOD_ARGB8888, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
HLINE(Uint32, DRAW_SETPIXEL_ARGB8888, draw_end);
|
HLINE(Uint32, DRAW_SETPIXEL_ARGB8888, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -620,9 +533,6 @@ SDL_BlendLine_ARGB8888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_ADD_ARGB8888, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_ADD_ARGB8888, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_MOD_ARGB8888, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
VLINE(Uint32, DRAW_SETPIXEL_ARGB8888, draw_end);
|
VLINE(Uint32, DRAW_SETPIXEL_ARGB8888, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -635,9 +545,6 @@ SDL_BlendLine_ARGB8888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_ADD_ARGB8888, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_ADD_ARGB8888, draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_MOD_ARGB8888, draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DLINE(Uint32, DRAW_SETPIXEL_ARGB8888, draw_end);
|
DLINE(Uint32, DRAW_SETPIXEL_ARGB8888, draw_end);
|
||||||
break;
|
break;
|
||||||
|
@ -654,11 +561,6 @@ SDL_BlendLine_ARGB8888(SDL_Surface * dst, int x1, int y1, int x2, int y2,
|
||||||
DRAW_SETPIXELXY_ADD_ARGB8888, DRAW_SETPIXELXY_ADD_ARGB8888,
|
DRAW_SETPIXELXY_ADD_ARGB8888, DRAW_SETPIXELXY_ADD_ARGB8888,
|
||||||
draw_end);
|
draw_end);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
AALINE(x1, y1, x2, y2,
|
|
||||||
DRAW_SETPIXELXY_MOD_ARGB8888, DRAW_SETPIXELXY_MOD_ARGB8888,
|
|
||||||
draw_end);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AALINE(x1, y1, x2, y2,
|
AALINE(x1, y1, x2, y2,
|
||||||
DRAW_SETPIXELXY_ARGB8888, DRAW_SETPIXELXY_BLEND_ARGB8888,
|
DRAW_SETPIXELXY_ARGB8888, DRAW_SETPIXELXY_BLEND_ARGB8888,
|
||||||
|
|
|
@ -36,9 +36,6 @@ SDL_BlendPoint_RGB555(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY_ADD_RGB555(x, y);
|
DRAW_SETPIXELXY_ADD_RGB555(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY_MOD_RGB555(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY_RGB555(x, y);
|
DRAW_SETPIXELXY_RGB555(x, y);
|
||||||
break;
|
break;
|
||||||
|
@ -59,9 +56,6 @@ SDL_BlendPoint_RGB565(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY_ADD_RGB565(x, y);
|
DRAW_SETPIXELXY_ADD_RGB565(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY_MOD_RGB565(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY_RGB565(x, y);
|
DRAW_SETPIXELXY_RGB565(x, y);
|
||||||
break;
|
break;
|
||||||
|
@ -82,9 +76,6 @@ SDL_BlendPoint_RGB888(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode,
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY_ADD_RGB888(x, y);
|
DRAW_SETPIXELXY_ADD_RGB888(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY_MOD_RGB888(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY_RGB888(x, y);
|
DRAW_SETPIXELXY_RGB888(x, y);
|
||||||
break;
|
break;
|
||||||
|
@ -105,9 +96,6 @@ SDL_BlendPoint_ARGB8888(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY_ADD_ARGB8888(x, y);
|
DRAW_SETPIXELXY_ADD_ARGB8888(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY_MOD_ARGB8888(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY_ARGB8888(x, y);
|
DRAW_SETPIXELXY_ARGB8888(x, y);
|
||||||
break;
|
break;
|
||||||
|
@ -131,9 +119,6 @@ SDL_BlendPoint_RGB(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode, Uin
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY2_ADD_RGB(x, y);
|
DRAW_SETPIXELXY2_ADD_RGB(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY2_MOD_RGB(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY2_RGB(x, y);
|
DRAW_SETPIXELXY2_RGB(x, y);
|
||||||
break;
|
break;
|
||||||
|
@ -147,9 +132,6 @@ SDL_BlendPoint_RGB(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode, Uin
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY4_ADD_RGB(x, y);
|
DRAW_SETPIXELXY4_ADD_RGB(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY4_MOD_RGB(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY4_RGB(x, y);
|
DRAW_SETPIXELXY4_RGB(x, y);
|
||||||
break;
|
break;
|
||||||
|
@ -177,9 +159,6 @@ SDL_BlendPoint_RGBA(SDL_Surface * dst, int x, int y, SDL_BlendMode blendMode, Ui
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
DRAW_SETPIXELXY4_ADD_RGBA(x, y);
|
DRAW_SETPIXELXY4_ADD_RGBA(x, y);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
DRAW_SETPIXELXY4_MOD_RGBA(x, y);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DRAW_SETPIXELXY4_RGBA(x, y);
|
DRAW_SETPIXELXY4_RGBA(x, y);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -181,9 +181,7 @@ SDL_ChooseBlitFunc(Uint32 src_format, Uint32 dst_format, int flags,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check blend flags */
|
/* Check blend flags */
|
||||||
flagcheck =
|
flagcheck = (flags & (SDL_COPY_BLEND | SDL_COPY_ADD));
|
||||||
(flags &
|
|
||||||
(SDL_COPY_MASK | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD));
|
|
||||||
if ((flagcheck & entries[i].flags) != flagcheck) {
|
if ((flagcheck & entries[i].flags) != flagcheck) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,10 +52,8 @@
|
||||||
/* SDL blit copy flags */
|
/* SDL blit copy flags */
|
||||||
#define SDL_COPY_MODULATE_COLOR 0x00000001
|
#define SDL_COPY_MODULATE_COLOR 0x00000001
|
||||||
#define SDL_COPY_MODULATE_ALPHA 0x00000002
|
#define SDL_COPY_MODULATE_ALPHA 0x00000002
|
||||||
#define SDL_COPY_MASK 0x00000010
|
#define SDL_COPY_BLEND 0x00000010
|
||||||
#define SDL_COPY_BLEND 0x00000020
|
#define SDL_COPY_ADD 0x00000020
|
||||||
#define SDL_COPY_ADD 0x00000040
|
|
||||||
#define SDL_COPY_MOD 0x00000080
|
|
||||||
#define SDL_COPY_COLORKEY 0x00000100
|
#define SDL_COPY_COLORKEY 0x00000100
|
||||||
#define SDL_COPY_NEAREST 0x00000200
|
#define SDL_COPY_NEAREST 0x00000200
|
||||||
#define SDL_COPY_RLE_DESIRED 0x00001000
|
#define SDL_COPY_RLE_DESIRED 0x00001000
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
||||||
/* DO NOT EDIT! This file is generated by sdlgenblit.pl */
|
/* DO NOT EDIT! This file is generated by sdlgenblit.pl */
|
||||||
/*
|
/*
|
||||||
SDL - Simple DirectMedia Layer
|
SDL - Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2010 Sam Lantinga
|
Copyright (C) 1997-2011 Sam Lantinga
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Lesser General Public
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
|
|
@ -117,22 +117,13 @@ SDL_Blit_Slow(SDL_BlitInfo * info)
|
||||||
srcB = (srcB * srcA) / 255;
|
srcB = (srcB * srcA) / 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch (flags &
|
switch (flags & (SDL_COPY_BLEND | SDL_COPY_ADD)) {
|
||||||
(SDL_COPY_MASK | SDL_COPY_BLEND | SDL_COPY_ADD |
|
|
||||||
SDL_COPY_MOD)) {
|
|
||||||
case 0:
|
case 0:
|
||||||
dstR = srcR;
|
dstR = srcR;
|
||||||
dstG = srcG;
|
dstG = srcG;
|
||||||
dstB = srcB;
|
dstB = srcB;
|
||||||
dstA = srcA;
|
dstA = srcA;
|
||||||
break;
|
break;
|
||||||
case SDL_COPY_MASK:
|
|
||||||
if (srcA) {
|
|
||||||
dstR = srcR;
|
|
||||||
dstG = srcG;
|
|
||||||
dstB = srcB;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SDL_COPY_BLEND:
|
case SDL_COPY_BLEND:
|
||||||
dstR = srcR + ((255 - srcA) * dstR) / 255;
|
dstR = srcR + ((255 - srcA) * dstR) / 255;
|
||||||
dstG = srcG + ((255 - srcA) * dstG) / 255;
|
dstG = srcG + ((255 - srcA) * dstG) / 255;
|
||||||
|
@ -149,11 +140,6 @@ SDL_Blit_Slow(SDL_BlitInfo * info)
|
||||||
if (dstB > 255)
|
if (dstB > 255)
|
||||||
dstB = 255;
|
dstB = 255;
|
||||||
break;
|
break;
|
||||||
case SDL_COPY_MOD:
|
|
||||||
dstR = (srcR * dstR) / 255;
|
|
||||||
dstG = (srcG * dstG) / 255;
|
|
||||||
dstB = (srcB * dstB) / 255;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
if (dst_fmt->Amask) {
|
if (dst_fmt->Amask) {
|
||||||
ASSEMBLE_RGBA(dst, dstbpp, dst_fmt, dstR, dstG, dstB, dstA);
|
ASSEMBLE_RGBA(dst, dstbpp, dst_fmt, dstR, dstG, dstB, dstA);
|
||||||
|
|
|
@ -70,16 +70,6 @@ do { \
|
||||||
setpixel; \
|
setpixel; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD(getpixel, setpixel) \
|
|
||||||
do { \
|
|
||||||
unsigned sr, sg, sb, sa; sa; \
|
|
||||||
getpixel; \
|
|
||||||
sr = DRAW_MUL(sr, r); \
|
|
||||||
sg = DRAW_MUL(sg, g); \
|
|
||||||
sb = DRAW_MUL(sb, b); \
|
|
||||||
setpixel; \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY(x, y, type, bpp, op) \
|
#define DRAW_SETPIXELXY(x, y, type, bpp, op) \
|
||||||
do { \
|
do { \
|
||||||
type *pixel = (type *)((Uint8 *)dst->pixels + (y) * dst->pitch \
|
type *pixel = (type *)((Uint8 *)dst->pixels + (y) * dst->pitch \
|
||||||
|
@ -102,10 +92,6 @@ do { \
|
||||||
DRAW_SETPIXEL_ADD(RGB_FROM_RGB555(*pixel, sr, sg, sb), \
|
DRAW_SETPIXEL_ADD(RGB_FROM_RGB555(*pixel, sr, sg, sb), \
|
||||||
RGB555_FROM_RGB(*pixel, sr, sg, sb))
|
RGB555_FROM_RGB(*pixel, sr, sg, sb))
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD_RGB555 \
|
|
||||||
DRAW_SETPIXEL_MOD(RGB_FROM_RGB555(*pixel, sr, sg, sb), \
|
|
||||||
RGB555_FROM_RGB(*pixel, sr, sg, sb))
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_RGB555(x, y) \
|
#define DRAW_SETPIXELXY_RGB555(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_RGB555)
|
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_RGB555)
|
||||||
|
|
||||||
|
@ -115,9 +101,6 @@ do { \
|
||||||
#define DRAW_SETPIXELXY_ADD_RGB555(x, y) \
|
#define DRAW_SETPIXELXY_ADD_RGB555(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_ADD_RGB555)
|
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_ADD_RGB555)
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_MOD_RGB555(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_MOD_RGB555)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define draw operators for RGB565
|
* Define draw operators for RGB565
|
||||||
*/
|
*/
|
||||||
|
@ -133,10 +116,6 @@ do { \
|
||||||
DRAW_SETPIXEL_ADD(RGB_FROM_RGB565(*pixel, sr, sg, sb), \
|
DRAW_SETPIXEL_ADD(RGB_FROM_RGB565(*pixel, sr, sg, sb), \
|
||||||
RGB565_FROM_RGB(*pixel, sr, sg, sb))
|
RGB565_FROM_RGB(*pixel, sr, sg, sb))
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD_RGB565 \
|
|
||||||
DRAW_SETPIXEL_MOD(RGB_FROM_RGB565(*pixel, sr, sg, sb), \
|
|
||||||
RGB565_FROM_RGB(*pixel, sr, sg, sb))
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_RGB565(x, y) \
|
#define DRAW_SETPIXELXY_RGB565(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_RGB565)
|
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_RGB565)
|
||||||
|
|
||||||
|
@ -146,9 +125,6 @@ do { \
|
||||||
#define DRAW_SETPIXELXY_ADD_RGB565(x, y) \
|
#define DRAW_SETPIXELXY_ADD_RGB565(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_ADD_RGB565)
|
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_ADD_RGB565)
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_MOD_RGB565(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_MOD_RGB565)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define draw operators for RGB888
|
* Define draw operators for RGB888
|
||||||
*/
|
*/
|
||||||
|
@ -164,10 +140,6 @@ do { \
|
||||||
DRAW_SETPIXEL_ADD(RGB_FROM_RGB888(*pixel, sr, sg, sb), \
|
DRAW_SETPIXEL_ADD(RGB_FROM_RGB888(*pixel, sr, sg, sb), \
|
||||||
RGB888_FROM_RGB(*pixel, sr, sg, sb))
|
RGB888_FROM_RGB(*pixel, sr, sg, sb))
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD_RGB888 \
|
|
||||||
DRAW_SETPIXEL_MOD(RGB_FROM_RGB888(*pixel, sr, sg, sb), \
|
|
||||||
RGB888_FROM_RGB(*pixel, sr, sg, sb))
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_RGB888(x, y) \
|
#define DRAW_SETPIXELXY_RGB888(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_RGB888)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_RGB888)
|
||||||
|
|
||||||
|
@ -177,9 +149,6 @@ do { \
|
||||||
#define DRAW_SETPIXELXY_ADD_RGB888(x, y) \
|
#define DRAW_SETPIXELXY_ADD_RGB888(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_RGB888)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_RGB888)
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_MOD_RGB888(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_MOD_RGB888)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define draw operators for ARGB8888
|
* Define draw operators for ARGB8888
|
||||||
*/
|
*/
|
||||||
|
@ -195,10 +164,6 @@ do { \
|
||||||
DRAW_SETPIXEL_ADD(RGBA_FROM_ARGB8888(*pixel, sr, sg, sb, sa), \
|
DRAW_SETPIXEL_ADD(RGBA_FROM_ARGB8888(*pixel, sr, sg, sb, sa), \
|
||||||
ARGB8888_FROM_RGBA(*pixel, sr, sg, sb, sa))
|
ARGB8888_FROM_RGBA(*pixel, sr, sg, sb, sa))
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD_ARGB8888 \
|
|
||||||
DRAW_SETPIXEL_MOD(RGBA_FROM_ARGB8888(*pixel, sr, sg, sb, sa), \
|
|
||||||
ARGB8888_FROM_RGBA(*pixel, sr, sg, sb, sa))
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_ARGB8888(x, y) \
|
#define DRAW_SETPIXELXY_ARGB8888(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ARGB8888)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ARGB8888)
|
||||||
|
|
||||||
|
@ -208,9 +173,6 @@ do { \
|
||||||
#define DRAW_SETPIXELXY_ADD_ARGB8888(x, y) \
|
#define DRAW_SETPIXELXY_ADD_ARGB8888(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_ARGB8888)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_ARGB8888)
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY_MOD_ARGB8888(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_MOD_ARGB8888)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define draw operators for general RGB
|
* Define draw operators for general RGB
|
||||||
*/
|
*/
|
||||||
|
@ -226,10 +188,6 @@ do { \
|
||||||
DRAW_SETPIXEL_ADD(RGB_FROM_PIXEL(*pixel, fmt, sr, sg, sb), \
|
DRAW_SETPIXEL_ADD(RGB_FROM_PIXEL(*pixel, fmt, sr, sg, sb), \
|
||||||
PIXEL_FROM_RGB(*pixel, fmt, sr, sg, sb))
|
PIXEL_FROM_RGB(*pixel, fmt, sr, sg, sb))
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD_RGB \
|
|
||||||
DRAW_SETPIXEL_MOD(RGB_FROM_PIXEL(*pixel, fmt, sr, sg, sb), \
|
|
||||||
PIXEL_FROM_RGB(*pixel, fmt, sr, sg, sb))
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY2_RGB(x, y) \
|
#define DRAW_SETPIXELXY2_RGB(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_RGB)
|
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_RGB)
|
||||||
|
|
||||||
|
@ -248,12 +206,6 @@ do { \
|
||||||
#define DRAW_SETPIXELXY4_ADD_RGB(x, y) \
|
#define DRAW_SETPIXELXY4_ADD_RGB(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_RGB)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_RGB)
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY2_MOD_RGB(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint16, 2, DRAW_SETPIXEL_MOD_RGB)
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY4_MOD_RGB(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_MOD_RGB)
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define draw operators for general RGBA
|
* Define draw operators for general RGBA
|
||||||
|
@ -270,10 +222,6 @@ do { \
|
||||||
DRAW_SETPIXEL_ADD(RGBA_FROM_PIXEL(*pixel, fmt, sr, sg, sb, sa), \
|
DRAW_SETPIXEL_ADD(RGBA_FROM_PIXEL(*pixel, fmt, sr, sg, sb, sa), \
|
||||||
PIXEL_FROM_RGBA(*pixel, fmt, sr, sg, sb, sa))
|
PIXEL_FROM_RGBA(*pixel, fmt, sr, sg, sb, sa))
|
||||||
|
|
||||||
#define DRAW_SETPIXEL_MOD_RGBA \
|
|
||||||
DRAW_SETPIXEL_MOD(RGBA_FROM_PIXEL(*pixel, fmt, sr, sg, sb, sa), \
|
|
||||||
PIXEL_FROM_RGBA(*pixel, fmt, sr, sg, sb, sa))
|
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY4_RGBA(x, y) \
|
#define DRAW_SETPIXELXY4_RGBA(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_RGBA)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_RGBA)
|
||||||
|
|
||||||
|
@ -283,9 +231,6 @@ do { \
|
||||||
#define DRAW_SETPIXELXY4_ADD_RGBA(x, y) \
|
#define DRAW_SETPIXELXY4_ADD_RGBA(x, y) \
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_RGBA)
|
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_ADD_RGBA)
|
||||||
|
|
||||||
#define DRAW_SETPIXELXY4_MOD_RGBA(x, y) \
|
|
||||||
DRAW_SETPIXELXY(x, y, Uint32, 4, DRAW_SETPIXEL_MOD_RGBA)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define line drawing macro
|
* Define line drawing macro
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -83,8 +83,6 @@ static int GL_SetTextureColorMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int GL_SetTextureAlphaMod(SDL_Renderer * renderer,
|
static int GL_SetTextureAlphaMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int GL_SetTextureBlendMode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int GL_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
static int GL_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels,
|
const SDL_Rect * rect, const void *pixels,
|
||||||
int pitch);
|
int pitch);
|
||||||
|
@ -122,8 +120,6 @@ SDL_RenderDriver GL_RenderDriver = {
|
||||||
SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED),
|
SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
||||||
SDL_TEXTUREMODULATE_ALPHA),
|
SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK |
|
|
||||||
SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
15,
|
15,
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_INDEX1LSB,
|
SDL_PIXELFORMAT_INDEX1LSB,
|
||||||
|
@ -175,7 +171,6 @@ typedef struct
|
||||||
PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
|
PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
|
||||||
|
|
||||||
/* (optional) fragment programs */
|
/* (optional) fragment programs */
|
||||||
GLuint fragment_program_mask;
|
|
||||||
GLuint fragment_program_UYVY;
|
GLuint fragment_program_UYVY;
|
||||||
} GL_RenderData;
|
} GL_RenderData;
|
||||||
|
|
||||||
|
@ -298,7 +293,6 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)
|
||||||
renderer->GetTexturePalette = GL_GetTexturePalette;
|
renderer->GetTexturePalette = GL_GetTexturePalette;
|
||||||
renderer->SetTextureColorMod = GL_SetTextureColorMod;
|
renderer->SetTextureColorMod = GL_SetTextureColorMod;
|
||||||
renderer->SetTextureAlphaMod = GL_SetTextureAlphaMod;
|
renderer->SetTextureAlphaMod = GL_SetTextureAlphaMod;
|
||||||
renderer->SetTextureBlendMode = GL_SetTextureBlendMode;
|
|
||||||
renderer->UpdateTexture = GL_UpdateTexture;
|
renderer->UpdateTexture = GL_UpdateTexture;
|
||||||
renderer->LockTexture = GL_LockTexture;
|
renderer->LockTexture = GL_LockTexture;
|
||||||
renderer->UnlockTexture = GL_UnlockTexture;
|
renderer->UnlockTexture = GL_UnlockTexture;
|
||||||
|
@ -545,18 +539,6 @@ compile_shader(GL_RenderData * data, GLenum shader_type, const char *_code)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fragment program that implements mask semantics
|
|
||||||
*/
|
|
||||||
static const char *fragment_program_mask_source_code = "!!ARBfp1.0\n"
|
|
||||||
"OUTPUT output = result.color;\n"
|
|
||||||
"TEMP value;\n"
|
|
||||||
"TEX value, fragment.texcoord[0], texture[0], %TEXTURETARGET%;\n"
|
|
||||||
"MUL value, fragment.color, value;\n"
|
|
||||||
"SGE value.a, value.a, 0.001;\n"
|
|
||||||
"MOV output, value;\n"
|
|
||||||
"END";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fragment program that renders from UYVY textures.
|
* Fragment program that renders from UYVY textures.
|
||||||
* The UYVY to RGB equasion is:
|
* The UYVY to RGB equasion is:
|
||||||
|
@ -977,23 +959,6 @@ GL_SetTextureAlphaMod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
GL_SetTextureBlendMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
switch (texture->blendMode) {
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
texture->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
GL_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
GL_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels, int pitch)
|
const SDL_Rect * rect, const void *pixels, int pitch)
|
||||||
|
@ -1054,7 +1019,7 @@ GL_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture, int numrects,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
GL_SetBlendMode(GL_RenderData * data, int blendMode, int isprimitive)
|
GL_SetBlendMode(GL_RenderData * data, int blendMode)
|
||||||
{
|
{
|
||||||
if (blendMode != data->blendMode) {
|
if (blendMode != data->blendMode) {
|
||||||
switch (blendMode) {
|
switch (blendMode) {
|
||||||
|
@ -1062,18 +1027,6 @@ GL_SetBlendMode(GL_RenderData * data, int blendMode, int isprimitive)
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||||
data->glDisable(GL_BLEND);
|
data->glDisable(GL_BLEND);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
if (isprimitive) {
|
|
||||||
/* The same as SDL_BLENDMODE_NONE */
|
|
||||||
blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
|
||||||
data->glDisable(GL_BLEND);
|
|
||||||
} else {
|
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
|
||||||
data->glEnable(GL_BLEND);
|
|
||||||
data->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
data->glEnable(GL_BLEND);
|
data->glEnable(GL_BLEND);
|
||||||
|
@ -1084,11 +1037,6 @@ GL_SetBlendMode(GL_RenderData * data, int blendMode, int isprimitive)
|
||||||
data->glEnable(GL_BLEND);
|
data->glEnable(GL_BLEND);
|
||||||
data->glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
data->glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
|
||||||
data->glEnable(GL_BLEND);
|
|
||||||
data->glBlendFunc(GL_ZERO, GL_SRC_COLOR);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
data->blendMode = blendMode;
|
data->blendMode = blendMode;
|
||||||
}
|
}
|
||||||
|
@ -1116,7 +1064,7 @@ GL_RenderDrawPoints(SDL_Renderer * renderer, const SDL_Point * points,
|
||||||
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
GL_SetBlendMode(data, renderer->blendMode, 1);
|
GL_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -1139,7 +1087,7 @@ GL_RenderDrawLines(SDL_Renderer * renderer, const SDL_Point * points,
|
||||||
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
GL_SetBlendMode(data, renderer->blendMode, 1);
|
GL_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -1207,7 +1155,7 @@ GL_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count)
|
||||||
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
||||||
int i, x, y;
|
int i, x, y;
|
||||||
|
|
||||||
GL_SetBlendMode(data, renderer->blendMode, 1);
|
GL_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -1245,7 +1193,7 @@ GL_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count)
|
||||||
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
GL_SetBlendMode(data, renderer->blendMode, 1);
|
GL_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -1267,7 +1215,6 @@ GL_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
{
|
{
|
||||||
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
|
||||||
GL_TextureData *texturedata = (GL_TextureData *) texture->driverdata;
|
GL_TextureData *texturedata = (GL_TextureData *) texture->driverdata;
|
||||||
GLuint shader = 0;
|
|
||||||
int minx, miny, maxx, maxy;
|
int minx, miny, maxx, maxy;
|
||||||
GLfloat minu, maxu, minv, maxv;
|
GLfloat minu, maxu, minv, maxv;
|
||||||
|
|
||||||
|
@ -1319,28 +1266,12 @@ GL_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
data->glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
data->glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
GL_SetBlendMode(data, texture->blendMode, 0);
|
GL_SetBlendMode(data, texture->blendMode);
|
||||||
|
|
||||||
/* Set up the shader for the copy, we have a special one for MASK */
|
/* Set up the shader for the copy, if any */
|
||||||
shader = texturedata->shader;
|
if (texturedata->shader) {
|
||||||
if (texture->blendMode == SDL_BLENDMODE_MASK && !shader) {
|
|
||||||
if (data->fragment_program_mask == 0) {
|
|
||||||
data->fragment_program_mask =
|
|
||||||
compile_shader(data, GL_FRAGMENT_PROGRAM_ARB,
|
|
||||||
fragment_program_mask_source_code);
|
|
||||||
if (data->fragment_program_mask == 0) {
|
|
||||||
/* That's okay, we'll just miss some of the blend semantics */
|
|
||||||
data->fragment_program_mask = ~0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (data->fragment_program_mask != ~0) {
|
|
||||||
shader = data->fragment_program_mask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shader) {
|
|
||||||
data->glEnable(GL_FRAGMENT_PROGRAM_ARB);
|
data->glEnable(GL_FRAGMENT_PROGRAM_ARB);
|
||||||
data->glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader);
|
data->glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, texturedata->shader);
|
||||||
}
|
}
|
||||||
|
|
||||||
data->glBegin(GL_TRIANGLE_STRIP);
|
data->glBegin(GL_TRIANGLE_STRIP);
|
||||||
|
@ -1354,7 +1285,7 @@ GL_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
data->glVertex2f((GLfloat) maxx, (GLfloat) maxy);
|
data->glVertex2f((GLfloat) maxx, (GLfloat) maxy);
|
||||||
data->glEnd();
|
data->glEnd();
|
||||||
|
|
||||||
if (shader) {
|
if (texturedata->shader) {
|
||||||
data->glDisable(GL_FRAGMENT_PROGRAM_ARB);
|
data->glDisable(GL_FRAGMENT_PROGRAM_ARB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1494,11 +1425,6 @@ GL_DestroyRenderer(SDL_Renderer * renderer)
|
||||||
if (data->GL_ARB_fragment_program_supported) {
|
if (data->GL_ARB_fragment_program_supported) {
|
||||||
data->glDisable(GL_FRAGMENT_PROGRAM_ARB);
|
data->glDisable(GL_FRAGMENT_PROGRAM_ARB);
|
||||||
data->glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, 0);
|
data->glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, 0);
|
||||||
if (data->fragment_program_mask &&
|
|
||||||
data->fragment_program_mask != ~0) {
|
|
||||||
data->glDeleteProgramsARB(1,
|
|
||||||
&data->fragment_program_mask);
|
|
||||||
}
|
|
||||||
if (data->fragment_program_UYVY &&
|
if (data->fragment_program_UYVY &&
|
||||||
data->fragment_program_UYVY != ~0) {
|
data->fragment_program_UYVY != ~0) {
|
||||||
data->glDeleteProgramsARB(1,
|
data->glDeleteProgramsARB(1,
|
||||||
|
|
|
@ -71,8 +71,6 @@ static int GLES_SetTextureColorMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int GLES_SetTextureAlphaMod(SDL_Renderer * renderer,
|
static int GLES_SetTextureAlphaMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int GLES_SetTextureBlendMode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int GLES_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
static int GLES_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels,
|
const SDL_Rect * rect, const void *pixels,
|
||||||
int pitch);
|
int pitch);
|
||||||
|
@ -108,8 +106,6 @@ SDL_RenderDriver GL_ES_RenderDriver = {
|
||||||
SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED),
|
SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
||||||
SDL_TEXTUREMODULATE_ALPHA),
|
SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK |
|
|
||||||
SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
{
|
{
|
||||||
/* OpenGL ES 1.x supported formats list */
|
/* OpenGL ES 1.x supported formats list */
|
||||||
SDL_PIXELFORMAT_RGBA4444,
|
SDL_PIXELFORMAT_RGBA4444,
|
||||||
|
@ -237,7 +233,6 @@ GLES_CreateRenderer(SDL_Window * window, Uint32 flags)
|
||||||
renderer->GetTexturePalette = GLES_GetTexturePalette;
|
renderer->GetTexturePalette = GLES_GetTexturePalette;
|
||||||
renderer->SetTextureColorMod = GLES_SetTextureColorMod;
|
renderer->SetTextureColorMod = GLES_SetTextureColorMod;
|
||||||
renderer->SetTextureAlphaMod = GLES_SetTextureAlphaMod;
|
renderer->SetTextureAlphaMod = GLES_SetTextureAlphaMod;
|
||||||
renderer->SetTextureBlendMode = GLES_SetTextureBlendMode;
|
|
||||||
renderer->UpdateTexture = GLES_UpdateTexture;
|
renderer->UpdateTexture = GLES_UpdateTexture;
|
||||||
renderer->LockTexture = GLES_LockTexture;
|
renderer->LockTexture = GLES_LockTexture;
|
||||||
renderer->UnlockTexture = GLES_UnlockTexture;
|
renderer->UnlockTexture = GLES_UnlockTexture;
|
||||||
|
@ -513,23 +508,6 @@ GLES_SetTextureAlphaMod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
GLES_SetTextureBlendMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
switch (texture->blendMode) {
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
texture->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
GLES_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
GLES_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels, int pitch)
|
const SDL_Rect * rect, const void *pixels, int pitch)
|
||||||
|
@ -612,7 +590,7 @@ GLES_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
GLES_SetBlendMode(GLES_RenderData * data, int blendMode, int isprimitive)
|
GLES_SetBlendMode(GLES_RenderData * data, int blendMode)
|
||||||
{
|
{
|
||||||
if (blendMode != data->blendMode) {
|
if (blendMode != data->blendMode) {
|
||||||
switch (blendMode) {
|
switch (blendMode) {
|
||||||
|
@ -620,15 +598,6 @@ GLES_SetBlendMode(GLES_RenderData * data, int blendMode, int isprimitive)
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||||
data->glDisable(GL_BLEND);
|
data->glDisable(GL_BLEND);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
if (isprimitive) {
|
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
|
||||||
data->glDisable(GL_BLEND);
|
|
||||||
/* The same as SDL_BLENDMODE_NONE */
|
|
||||||
blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* fall through */
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
data->glEnable(GL_BLEND);
|
data->glEnable(GL_BLEND);
|
||||||
|
@ -639,11 +608,6 @@ GLES_SetBlendMode(GLES_RenderData * data, int blendMode, int isprimitive)
|
||||||
data->glEnable(GL_BLEND);
|
data->glEnable(GL_BLEND);
|
||||||
data->glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
data->glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
data->glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
|
||||||
data->glEnable(GL_BLEND);
|
|
||||||
data->glBlendFunc(GL_ZERO, GL_SRC_COLOR);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
data->blendMode = blendMode;
|
data->blendMode = blendMode;
|
||||||
}
|
}
|
||||||
|
@ -657,7 +621,7 @@ GLES_RenderDrawPoints(SDL_Renderer * renderer, const SDL_Point * points,
|
||||||
int i;
|
int i;
|
||||||
GLshort *vertices;
|
GLshort *vertices;
|
||||||
|
|
||||||
GLES_SetBlendMode(data, renderer->blendMode, 1);
|
GLES_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -684,7 +648,7 @@ GLES_RenderDrawLines(SDL_Renderer * renderer, const SDL_Point * points,
|
||||||
int i;
|
int i;
|
||||||
GLshort *vertices;
|
GLshort *vertices;
|
||||||
|
|
||||||
GLES_SetBlendMode(data, renderer->blendMode, 1);
|
GLES_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -717,7 +681,7 @@ GLES_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata;
|
GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
GLES_SetBlendMode(data, renderer->blendMode, 1);
|
GLES_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -754,7 +718,7 @@ GLES_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata;
|
GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
GLES_SetBlendMode(data, renderer->blendMode, 1);
|
GLES_SetBlendMode(data, renderer->blendMode);
|
||||||
|
|
||||||
data->glColor4f((GLfloat) renderer->r * inv255f,
|
data->glColor4f((GLfloat) renderer->r * inv255f,
|
||||||
(GLfloat) renderer->g * inv255f,
|
(GLfloat) renderer->g * inv255f,
|
||||||
|
@ -853,7 +817,7 @@ GLES_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
data->glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
data->glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLES_SetBlendMode(data, texture->blendMode, 0);
|
GLES_SetBlendMode(data, texture->blendMode);
|
||||||
|
|
||||||
if (data->GL_OES_draw_texture_supported && data->useDrawTexture) {
|
if (data->GL_OES_draw_texture_supported && data->useDrawTexture) {
|
||||||
/* this code is a little funny because the viewport is upside down vs SDL's coordinate system */
|
/* this code is a little funny because the viewport is upside down vs SDL's coordinate system */
|
||||||
|
|
|
@ -49,8 +49,6 @@ static int SW_SetTextureColorMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int SW_SetTextureAlphaMod(SDL_Renderer * renderer,
|
static int SW_SetTextureAlphaMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int SW_SetTextureBlendMode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int SW_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
static int SW_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels,
|
const SDL_Rect * rect, const void *pixels,
|
||||||
int pitch);
|
int pitch);
|
||||||
|
@ -86,8 +84,6 @@ SDL_RenderDriver SW_RenderDriver = {
|
||||||
SDL_RENDERER_PRESENTDISCARD | SDL_RENDERER_PRESENTVSYNC),
|
SDL_RENDERER_PRESENTDISCARD | SDL_RENDERER_PRESENTVSYNC),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
||||||
SDL_TEXTUREMODULATE_ALPHA),
|
SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK |
|
|
||||||
SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
14,
|
14,
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_INDEX8,
|
SDL_PIXELFORMAT_INDEX8,
|
||||||
|
@ -176,14 +172,12 @@ Setup_SoftwareRenderer(SDL_Renderer * renderer)
|
||||||
renderer->GetTexturePalette = SW_GetTexturePalette;
|
renderer->GetTexturePalette = SW_GetTexturePalette;
|
||||||
renderer->SetTextureColorMod = SW_SetTextureColorMod;
|
renderer->SetTextureColorMod = SW_SetTextureColorMod;
|
||||||
renderer->SetTextureAlphaMod = SW_SetTextureAlphaMod;
|
renderer->SetTextureAlphaMod = SW_SetTextureAlphaMod;
|
||||||
renderer->SetTextureBlendMode = SW_SetTextureBlendMode;
|
|
||||||
renderer->UpdateTexture = SW_UpdateTexture;
|
renderer->UpdateTexture = SW_UpdateTexture;
|
||||||
renderer->LockTexture = SW_LockTexture;
|
renderer->LockTexture = SW_LockTexture;
|
||||||
renderer->UnlockTexture = SW_UnlockTexture;
|
renderer->UnlockTexture = SW_UnlockTexture;
|
||||||
renderer->DestroyTexture = SW_DestroyTexture;
|
renderer->DestroyTexture = SW_DestroyTexture;
|
||||||
|
|
||||||
renderer->info.mod_modes = SW_RenderDriver.info.mod_modes;
|
renderer->info.mod_modes = SW_RenderDriver.info.mod_modes;
|
||||||
renderer->info.blend_modes = SW_RenderDriver.info.blend_modes;
|
|
||||||
renderer->info.num_texture_formats =
|
renderer->info.num_texture_formats =
|
||||||
SW_RenderDriver.info.num_texture_formats;
|
SW_RenderDriver.info.num_texture_formats;
|
||||||
SDL_memcpy(renderer->info.texture_formats,
|
SDL_memcpy(renderer->info.texture_formats,
|
||||||
|
@ -564,8 +558,7 @@ SW_RenderDrawPoints(SDL_Renderer * renderer, const SDL_Point * points,
|
||||||
data->surface.clip_rect.h = data->surface.h = rect.h;
|
data->surface.clip_rect.h = data->surface.h = rect.h;
|
||||||
|
|
||||||
/* Draw the points! */
|
/* Draw the points! */
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
Uint32 color = SDL_MapRGBA(data->surface.format,
|
Uint32 color = SDL_MapRGBA(data->surface.format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -629,8 +622,7 @@ SW_RenderDrawLines(SDL_Renderer * renderer, const SDL_Point * points,
|
||||||
data->surface.clip_rect.h = data->surface.h = rect.h;
|
data->surface.clip_rect.h = data->surface.h = rect.h;
|
||||||
|
|
||||||
/* Draw the points! */
|
/* Draw the points! */
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
Uint32 color = SDL_MapRGBA(data->surface.format,
|
Uint32 color = SDL_MapRGBA(data->surface.format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -678,8 +670,7 @@ SW_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
clip.w = texture->w;
|
clip.w = texture->w;
|
||||||
clip.h = texture->h;
|
clip.h = texture->h;
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
color = SDL_MapRGBA(data->surface.format,
|
color = SDL_MapRGBA(data->surface.format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -705,8 +696,7 @@ SW_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
data->surface.clip_rect.w = data->surface.w = rect.w;
|
data->surface.clip_rect.w = data->surface.w = rect.w;
|
||||||
data->surface.clip_rect.h = data->surface.h = rect.h;
|
data->surface.clip_rect.h = data->surface.h = rect.h;
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
status = SDL_DrawRect(&data->surface, NULL, color);
|
status = SDL_DrawRect(&data->surface, NULL, color);
|
||||||
} else {
|
} else {
|
||||||
status = SDL_BlendRect(&data->surface, NULL,
|
status = SDL_BlendRect(&data->surface, NULL,
|
||||||
|
@ -736,8 +726,7 @@ SW_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
clip.w = texture->w;
|
clip.w = texture->w;
|
||||||
clip.h = texture->h;
|
clip.h = texture->h;
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
color = SDL_MapRGBA(data->surface.format,
|
color = SDL_MapRGBA(data->surface.format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -762,8 +751,7 @@ SW_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
data->surface.clip_rect.w = data->surface.w = rect.w;
|
data->surface.clip_rect.w = data->surface.w = rect.w;
|
||||||
data->surface.clip_rect.h = data->surface.h = rect.h;
|
data->surface.clip_rect.h = data->surface.h = rect.h;
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
status = SDL_FillRect(&data->surface, NULL, color);
|
status = SDL_FillRect(&data->surface, NULL, color);
|
||||||
} else {
|
} else {
|
||||||
status = SDL_BlendFillRect(&data->surface, NULL,
|
status = SDL_BlendFillRect(&data->surface, NULL,
|
||||||
|
|
|
@ -448,23 +448,16 @@ SDL_SetSurfaceBlendMode(SDL_Surface * surface, SDL_BlendMode blendMode)
|
||||||
|
|
||||||
status = 0;
|
status = 0;
|
||||||
flags = surface->map->info.flags;
|
flags = surface->map->info.flags;
|
||||||
surface->map->info.flags &=
|
surface->map->info.flags &= ~(SDL_COPY_BLEND | SDL_COPY_ADD);
|
||||||
~(SDL_COPY_MASK | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD);
|
|
||||||
switch (blendMode) {
|
switch (blendMode) {
|
||||||
case SDL_BLENDMODE_NONE:
|
case SDL_BLENDMODE_NONE:
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
surface->map->info.flags |= SDL_COPY_MASK;
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
surface->map->info.flags |= SDL_COPY_BLEND;
|
surface->map->info.flags |= SDL_COPY_BLEND;
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
surface->map->info.flags |= SDL_COPY_ADD;
|
surface->map->info.flags |= SDL_COPY_ADD;
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
surface->map->info.flags |= SDL_COPY_MOD;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
SDL_Unsupported();
|
SDL_Unsupported();
|
||||||
status = -1;
|
status = -1;
|
||||||
|
@ -496,21 +489,13 @@ SDL_GetSurfaceBlendMode(SDL_Surface * surface, SDL_BlendMode *blendMode)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (surface->map->
|
switch (surface->map->info.flags & (SDL_COPY_BLEND | SDL_COPY_ADD)) {
|
||||||
info.flags & (SDL_COPY_MASK | SDL_COPY_BLEND | SDL_COPY_ADD |
|
|
||||||
SDL_COPY_MOD)) {
|
|
||||||
case SDL_COPY_MASK:
|
|
||||||
*blendMode = SDL_BLENDMODE_MASK;
|
|
||||||
break;
|
|
||||||
case SDL_COPY_BLEND:
|
case SDL_COPY_BLEND:
|
||||||
*blendMode = SDL_BLENDMODE_BLEND;
|
*blendMode = SDL_BLENDMODE_BLEND;
|
||||||
break;
|
break;
|
||||||
case SDL_COPY_ADD:
|
case SDL_COPY_ADD:
|
||||||
*blendMode = SDL_BLENDMODE_ADD;
|
*blendMode = SDL_BLENDMODE_ADD;
|
||||||
break;
|
break;
|
||||||
case SDL_COPY_MOD:
|
|
||||||
*blendMode = SDL_BLENDMODE_MOD;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
*blendMode = SDL_BLENDMODE_NONE;
|
*blendMode = SDL_BLENDMODE_NONE;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1703,7 +1703,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
|
||||||
} else {
|
} else {
|
||||||
if (surface->format->Amask
|
if (surface->format->Amask
|
||||||
|| !(surface->map->info.flags &
|
|| !(surface->map->info.flags &
|
||||||
(SDL_COPY_COLORKEY | SDL_COPY_MASK | SDL_COPY_BLEND))) {
|
(SDL_COPY_COLORKEY | SDL_COPY_BLEND))) {
|
||||||
Uint32 it;
|
Uint32 it;
|
||||||
int pfmt;
|
int pfmt;
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,6 @@ static int DirectFB_SetTextureAlphaMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int DirectFB_SetTextureColorMod(SDL_Renderer * renderer,
|
static int DirectFB_SetTextureColorMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int DirectFB_SetTextureBlendMode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int DirectFB_UpdateTexture(SDL_Renderer * renderer,
|
static int DirectFB_UpdateTexture(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture,
|
SDL_Texture * texture,
|
||||||
const SDL_Rect * rect,
|
const SDL_Rect * rect,
|
||||||
|
@ -100,8 +98,6 @@ SDL_RenderDriver DirectFB_RenderDriver = {
|
||||||
SDL_RENDERER_ACCELERATED),
|
SDL_RENDERER_ACCELERATED),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
||||||
SDL_TEXTUREMODULATE_ALPHA),
|
SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK | SDL_BLENDMODE_BLEND |
|
|
||||||
SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
14,
|
14,
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_INDEX4LSB,
|
SDL_PIXELFORMAT_INDEX4LSB,
|
||||||
|
@ -194,12 +190,6 @@ SetBlendMode(DirectFB_RenderData * data, int blendMode,
|
||||||
SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_ONE));
|
SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_ONE));
|
||||||
SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_ZERO));
|
SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_ZERO));
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL;
|
|
||||||
data->drawFlags = DSDRAW_BLEND;
|
|
||||||
SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_SRCALPHA));
|
|
||||||
SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_INVSRCALPHA));
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL;
|
data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL;
|
||||||
data->drawFlags = DSDRAW_BLEND;
|
data->drawFlags = DSDRAW_BLEND;
|
||||||
|
@ -218,12 +208,6 @@ SetBlendMode(DirectFB_RenderData * data, int blendMode,
|
||||||
SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_ONE));
|
SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_ONE));
|
||||||
SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_ONE));
|
SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_ONE));
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL;
|
|
||||||
data->drawFlags = DSDRAW_BLEND;
|
|
||||||
SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DESTCOLOR));
|
|
||||||
SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_ZERO));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
data->lastBlendMode = blendMode;
|
data->lastBlendMode = blendMode;
|
||||||
}
|
}
|
||||||
|
@ -293,7 +277,6 @@ DirectFB_CreateRenderer(SDL_Window * window, Uint32 flags)
|
||||||
renderer->GetTexturePalette = DirectFB_GetTexturePalette;
|
renderer->GetTexturePalette = DirectFB_GetTexturePalette;
|
||||||
renderer->SetTextureAlphaMod = DirectFB_SetTextureAlphaMod;
|
renderer->SetTextureAlphaMod = DirectFB_SetTextureAlphaMod;
|
||||||
renderer->SetTextureColorMod = DirectFB_SetTextureColorMod;
|
renderer->SetTextureColorMod = DirectFB_SetTextureColorMod;
|
||||||
renderer->SetTextureBlendMode = DirectFB_SetTextureBlendMode;
|
|
||||||
renderer->UpdateTexture = DirectFB_UpdateTexture;
|
renderer->UpdateTexture = DirectFB_UpdateTexture;
|
||||||
renderer->LockTexture = DirectFB_LockTexture;
|
renderer->LockTexture = DirectFB_LockTexture;
|
||||||
renderer->UnlockTexture = DirectFB_UnlockTexture;
|
renderer->UnlockTexture = DirectFB_UnlockTexture;
|
||||||
|
@ -664,40 +647,6 @@ DirectFB_SetTextureColorMod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
DirectFB_SetTextureBlendMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
switch (texture->blendMode) {
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
texture->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
DirectFB_SetDrawBlendMode(SDL_Renderer * renderer)
|
|
||||||
{
|
|
||||||
switch (renderer->blendMode) {
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
renderer->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
DirectFB_SetTextureScaleMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
DirectFB_SetTextureScaleMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
{
|
{
|
||||||
|
@ -852,11 +801,9 @@ PrepareDraw(SDL_Renderer * renderer)
|
||||||
|
|
||||||
switch (renderer->blendMode) {
|
switch (renderer->blendMode) {
|
||||||
case SDL_BLENDMODE_NONE:
|
case SDL_BLENDMODE_NONE:
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_ADD:
|
case SDL_BLENDMODE_ADD:
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
r = ((int) r * (int) a) / 255;
|
r = ((int) r * (int) a) / 255;
|
||||||
g = ((int) g * (int) a) / 255;
|
g = ((int) g * (int) a) / 255;
|
||||||
b = ((int) b * (int) a) / 255;
|
b = ((int) b * (int) a) / 255;
|
||||||
|
|
|
@ -150,8 +150,7 @@ SDL_DUMMY_RenderDrawPoints(SDL_Renderer * renderer,
|
||||||
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
||||||
SDL_Surface *target = data->screens[data->current_screen];
|
SDL_Surface *target = data->screens[data->current_screen];
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
Uint32 color = SDL_MapRGBA(target->format,
|
Uint32 color = SDL_MapRGBA(target->format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -172,8 +171,7 @@ SDL_DUMMY_RenderDrawLines(SDL_Renderer * renderer,
|
||||||
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
||||||
SDL_Surface *target = data->screens[data->current_screen];
|
SDL_Surface *target = data->screens[data->current_screen];
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
Uint32 color = SDL_MapRGBA(target->format,
|
Uint32 color = SDL_MapRGBA(target->format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -194,8 +192,7 @@ SDL_DUMMY_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
||||||
SDL_Surface *target = data->screens[data->current_screen];
|
SDL_Surface *target = data->screens[data->current_screen];
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
Uint32 color = SDL_MapRGBA(target->format,
|
Uint32 color = SDL_MapRGBA(target->format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
@ -217,8 +214,7 @@ SDL_DUMMY_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
|
||||||
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
(SDL_DUMMY_RenderData *) renderer->driverdata;
|
||||||
SDL_Surface *target = data->screens[data->current_screen];
|
SDL_Surface *target = data->screens[data->current_screen];
|
||||||
|
|
||||||
if (renderer->blendMode == SDL_BLENDMODE_NONE ||
|
if (renderer->blendMode == SDL_BLENDMODE_NONE) {
|
||||||
renderer->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
Uint32 color = SDL_MapRGBA(target->format,
|
Uint32 color = SDL_MapRGBA(target->format,
|
||||||
renderer->r, renderer->g, renderer->b,
|
renderer->r, renderer->g, renderer->b,
|
||||||
renderer->a);
|
renderer->a);
|
||||||
|
|
|
@ -54,8 +54,6 @@ static int NDS_SetTextureColorMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int NDS_SetTextureAlphaMod(SDL_Renderer * renderer,
|
static int NDS_SetTextureAlphaMod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int NDS_SetTextureBlendMode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int NDS_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
static int NDS_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels,
|
const SDL_Rect * rect, const void *pixels,
|
||||||
int pitch);
|
int pitch);
|
||||||
|
@ -79,7 +77,6 @@ SDL_RenderDriver NDS_RenderDriver = {
|
||||||
{"nds", /* char* name */
|
{"nds", /* char* name */
|
||||||
(SDL_RENDERER_SINGLEBUFFER | SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTDISCARD | SDL_RENDERER_PRESENTVSYNC), /* u32 flags */
|
(SDL_RENDERER_SINGLEBUFFER | SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTDISCARD | SDL_RENDERER_PRESENTVSYNC), /* u32 flags */
|
||||||
(SDL_TEXTUREMODULATE_NONE), /* u32 mod_modes */
|
(SDL_TEXTUREMODULATE_NONE), /* u32 mod_modes */
|
||||||
(SDL_BLENDMODE_MASK), /* u32 blend_modes */
|
|
||||||
3, /* u32 num_texture_formats */
|
3, /* u32 num_texture_formats */
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_INDEX8,
|
SDL_PIXELFORMAT_INDEX8,
|
||||||
|
@ -180,14 +177,12 @@ NDS_CreateRenderer(SDL_Window * window, Uint32 flags)
|
||||||
renderer->GetTexturePalette = NDS_GetTexturePalette;
|
renderer->GetTexturePalette = NDS_GetTexturePalette;
|
||||||
renderer->SetTextureColorMod = NDS_SetTextureColorMod;
|
renderer->SetTextureColorMod = NDS_SetTextureColorMod;
|
||||||
renderer->SetTextureAlphaMod = NDS_SetTextureAlphaMod;
|
renderer->SetTextureAlphaMod = NDS_SetTextureAlphaMod;
|
||||||
renderer->SetTextureBlendMode = NDS_SetTextureBlendMode;
|
|
||||||
renderer->UpdateTexture = NDS_UpdateTexture;
|
renderer->UpdateTexture = NDS_UpdateTexture;
|
||||||
renderer->LockTexture = NDS_LockTexture;
|
renderer->LockTexture = NDS_LockTexture;
|
||||||
renderer->UnlockTexture = NDS_UnlockTexture;
|
renderer->UnlockTexture = NDS_UnlockTexture;
|
||||||
renderer->DestroyTexture = NDS_DestroyTexture;
|
renderer->DestroyTexture = NDS_DestroyTexture;
|
||||||
|
|
||||||
renderer->info.mod_modes = NDS_RenderDriver.info.mod_modes;
|
renderer->info.mod_modes = NDS_RenderDriver.info.mod_modes;
|
||||||
renderer->info.blend_modes = NDS_RenderDriver.info.blend_modes;
|
|
||||||
renderer->info.num_texture_formats =
|
renderer->info.num_texture_formats =
|
||||||
NDS_RenderDriver.info.num_texture_formats;
|
NDS_RenderDriver.info.num_texture_formats;
|
||||||
SDL_memcpy(renderer->info.texture_formats,
|
SDL_memcpy(renderer->info.texture_formats,
|
||||||
|
@ -576,11 +571,4 @@ NDS_SetTextureAlphaMod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
NDS_SetTextureBlendMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
/* stub! */
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -58,8 +58,6 @@ static int photon_settexturecolormod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int photon_settexturealphamod(SDL_Renderer * renderer,
|
static int photon_settexturealphamod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int photon_settextureblendmode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int photon_settexturescalemode(SDL_Renderer * renderer,
|
static int photon_settexturescalemode(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int photon_updatetexture(SDL_Renderer * renderer,
|
static int photon_updatetexture(SDL_Renderer * renderer,
|
||||||
|
@ -74,7 +72,6 @@ static void photon_dirtytexture(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture, int numrects,
|
SDL_Texture * texture, int numrects,
|
||||||
const SDL_Rect * rects);
|
const SDL_Rect * rects);
|
||||||
static int photon_setdrawcolor(SDL_Renderer * renderer);
|
static int photon_setdrawcolor(SDL_Renderer * renderer);
|
||||||
static int photon_setdrawblendmode(SDL_Renderer * renderer);
|
|
||||||
static int photon_renderpoint(SDL_Renderer * renderer, int x, int y);
|
static int photon_renderpoint(SDL_Renderer * renderer, int x, int y);
|
||||||
static int photon_renderline(SDL_Renderer * renderer, int x1, int y1, int x2,
|
static int photon_renderline(SDL_Renderer * renderer, int x1, int y1, int x2,
|
||||||
int y2);
|
int y2);
|
||||||
|
@ -102,8 +99,6 @@ SDL_RenderDriver photon_renderdriver = {
|
||||||
SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_PRESENTDISCARD |
|
SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_PRESENTDISCARD |
|
||||||
SDL_RENDERER_ACCELERATED),
|
SDL_RENDERER_ACCELERATED),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_ALPHA),
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK | SDL_BLENDMODE_BLEND |
|
|
||||||
SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
10,
|
10,
|
||||||
{SDL_PIXELFORMAT_INDEX8,
|
{SDL_PIXELFORMAT_INDEX8,
|
||||||
SDL_PIXELFORMAT_RGB555,
|
SDL_PIXELFORMAT_RGB555,
|
||||||
|
@ -151,13 +146,11 @@ photon_createrenderer(SDL_Window * window, Uint32 flags)
|
||||||
renderer->GetTexturePalette = photon_gettexturepalette;
|
renderer->GetTexturePalette = photon_gettexturepalette;
|
||||||
renderer->SetTextureAlphaMod = photon_settexturealphamod;
|
renderer->SetTextureAlphaMod = photon_settexturealphamod;
|
||||||
renderer->SetTextureColorMod = photon_settexturecolormod;
|
renderer->SetTextureColorMod = photon_settexturecolormod;
|
||||||
renderer->SetTextureBlendMode = photon_settextureblendmode;
|
|
||||||
renderer->UpdateTexture = photon_updatetexture;
|
renderer->UpdateTexture = photon_updatetexture;
|
||||||
renderer->LockTexture = photon_locktexture;
|
renderer->LockTexture = photon_locktexture;
|
||||||
renderer->UnlockTexture = photon_unlocktexture;
|
renderer->UnlockTexture = photon_unlocktexture;
|
||||||
renderer->DirtyTexture = photon_dirtytexture;
|
renderer->DirtyTexture = photon_dirtytexture;
|
||||||
renderer->SetDrawColor = photon_setdrawcolor;
|
renderer->SetDrawColor = photon_setdrawcolor;
|
||||||
renderer->SetDrawBlendMode = photon_setdrawblendmode;
|
|
||||||
renderer->RenderPoint = photon_renderpoint;
|
renderer->RenderPoint = photon_renderpoint;
|
||||||
renderer->RenderLine = photon_renderline;
|
renderer->RenderLine = photon_renderline;
|
||||||
renderer->RenderFill = photon_renderfill;
|
renderer->RenderFill = photon_renderfill;
|
||||||
|
@ -580,14 +573,6 @@ int _photon_set_blending(SDL_Renderer* renderer, uint32_t blendmode, uint32_t gl
|
||||||
/* Switch on requested graphics context modifiers */
|
/* Switch on requested graphics context modifiers */
|
||||||
switch (blendmode)
|
switch (blendmode)
|
||||||
{
|
{
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
/* Enable and set chroma key */
|
|
||||||
if (blendsource==SDL_PHOTON_TEXTURE_BLEND)
|
|
||||||
{
|
|
||||||
PgSetChromaCx(rdata->gc, PgRGB(255, 255, 255), Pg_CHROMA_SRC_MATCH | Pg_CHROMA_NODRAW);
|
|
||||||
PgChromaOnCx(rdata->gc);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
/* Enable and set chroma key and alpha blending */
|
/* Enable and set chroma key and alpha blending */
|
||||||
if (blendsource==SDL_PHOTON_TEXTURE_BLEND)
|
if (blendsource==SDL_PHOTON_TEXTURE_BLEND)
|
||||||
|
@ -608,11 +593,6 @@ int _photon_set_blending(SDL_Renderer* renderer, uint32_t blendmode, uint32_t gl
|
||||||
PgSetAlphaCx(rdata->gc, Pg_ALPHA_OP_SRC_GLOBAL | Pg_BLEND_SRC_As | Pg_BLEND_DST_1, NULL, NULL, globalalpha, 0);
|
PgSetAlphaCx(rdata->gc, Pg_ALPHA_OP_SRC_GLOBAL | Pg_BLEND_SRC_As | Pg_BLEND_DST_1, NULL, NULL, globalalpha, 0);
|
||||||
PgAlphaOnCx(rdata->gc);
|
PgAlphaOnCx(rdata->gc);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
/* Enable and set alpha blending */
|
|
||||||
PgSetAlphaCx(rdata->gc, Pg_BLEND_SRC_0 | Pg_BLEND_DST_S, NULL, NULL, 0, 0);
|
|
||||||
PgAlphaOnCx(rdata->gc);
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_NONE:
|
case SDL_BLENDMODE_NONE:
|
||||||
/* Do nothing */
|
/* Do nothing */
|
||||||
break;
|
break;
|
||||||
|
@ -630,13 +610,6 @@ int _photon_reset_blending(SDL_Renderer* renderer, uint32_t blendmode, uint32_t
|
||||||
/* Switch off graphics context modifiers */
|
/* Switch off graphics context modifiers */
|
||||||
switch (blendmode)
|
switch (blendmode)
|
||||||
{
|
{
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
/* Disable chroma key */
|
|
||||||
if (blendsource==SDL_PHOTON_TEXTURE_BLEND)
|
|
||||||
{
|
|
||||||
PgChromaOffCx(rdata->gc);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
/* Disable chroma key and alpha blending */
|
/* Disable chroma key and alpha blending */
|
||||||
if (blendsource==SDL_PHOTON_TEXTURE_BLEND)
|
if (blendsource==SDL_PHOTON_TEXTURE_BLEND)
|
||||||
|
@ -653,10 +626,6 @@ int _photon_reset_blending(SDL_Renderer* renderer, uint32_t blendmode, uint32_t
|
||||||
}
|
}
|
||||||
PgAlphaOffCx(rdata->gc);
|
PgAlphaOffCx(rdata->gc);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
/* Disable chroma key and alpha blending */
|
|
||||||
PgAlphaOffCx(rdata->gc);
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_NONE:
|
case SDL_BLENDMODE_NONE:
|
||||||
/* Do nothing */
|
/* Do nothing */
|
||||||
break;
|
break;
|
||||||
|
@ -931,33 +900,6 @@ photon_settexturealphamod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
photon_settextureblendmode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata;
|
|
||||||
|
|
||||||
/* Check, if it is not initialized */
|
|
||||||
if (rdata->surfaces_type==SDL_PHOTON_SURFTYPE_UNKNOWN)
|
|
||||||
{
|
|
||||||
SDL_SetError("Photon: can't set texture blend mode for OpenGL ES window");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (texture->blendMode)
|
|
||||||
{
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
texture->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
photon_updatetexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
photon_updatetexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels, int pitch)
|
const SDL_Rect * rect, const void *pixels, int pitch)
|
||||||
|
@ -1109,35 +1051,6 @@ photon_setdrawcolor(SDL_Renderer * renderer)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
photon_setdrawblendmode(SDL_Renderer * renderer)
|
|
||||||
{
|
|
||||||
SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata;
|
|
||||||
|
|
||||||
/* Check, if it is not initialized */
|
|
||||||
if (rdata->surfaces_type==SDL_PHOTON_SURFTYPE_UNKNOWN)
|
|
||||||
{
|
|
||||||
SDL_SetError("Photon: can't set texture blend mode for OpenGL ES window");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (renderer->blendMode)
|
|
||||||
{
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
renderer->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
photon_renderpoint(SDL_Renderer * renderer, int x, int y)
|
photon_renderpoint(SDL_Renderer * renderer, int x, int y)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,8 +52,6 @@ static int gf_settexturecolormod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int gf_settexturealphamod(SDL_Renderer * renderer,
|
static int gf_settexturealphamod(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int gf_settextureblendmode(SDL_Renderer * renderer,
|
|
||||||
SDL_Texture * texture);
|
|
||||||
static int gf_settexturescalemode(SDL_Renderer * renderer,
|
static int gf_settexturescalemode(SDL_Renderer * renderer,
|
||||||
SDL_Texture * texture);
|
SDL_Texture * texture);
|
||||||
static int gf_updatetexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
static int gf_updatetexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
|
@ -85,8 +83,6 @@ SDL_RenderDriver gf_renderdriver = {
|
||||||
SDL_RENDERER_ACCELERATED),
|
SDL_RENDERER_ACCELERATED),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
||||||
SDL_TEXTUREMODULATE_ALPHA),
|
SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK |
|
|
||||||
SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
13,
|
13,
|
||||||
{
|
{
|
||||||
SDL_PIXELFORMAT_INDEX8,
|
SDL_PIXELFORMAT_INDEX8,
|
||||||
|
@ -147,7 +143,6 @@ gf_createrenderer(SDL_Window * window, Uint32 flags)
|
||||||
renderer->GetTexturePalette = gf_gettexturepalette;
|
renderer->GetTexturePalette = gf_gettexturepalette;
|
||||||
renderer->SetTextureAlphaMod = gf_settexturealphamod;
|
renderer->SetTextureAlphaMod = gf_settexturealphamod;
|
||||||
renderer->SetTextureColorMod = gf_settexturecolormod;
|
renderer->SetTextureColorMod = gf_settexturecolormod;
|
||||||
renderer->SetTextureBlendMode = gf_settextureblendmode;
|
|
||||||
renderer->UpdateTexture = gf_updatetexture;
|
renderer->UpdateTexture = gf_updatetexture;
|
||||||
renderer->LockTexture = gf_locktexture;
|
renderer->LockTexture = gf_locktexture;
|
||||||
renderer->UnlockTexture = gf_unlocktexture;
|
renderer->UnlockTexture = gf_unlocktexture;
|
||||||
|
@ -342,16 +337,6 @@ gf_settexturealphamod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
gf_settextureblendmode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
gf_settexturescalemode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
gf_updatetexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
gf_updatetexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels, int pitch)
|
const SDL_Rect * rect, const void *pixels, int pitch)
|
||||||
|
|
|
@ -83,7 +83,7 @@ sub open_file {
|
||||||
/* DO NOT EDIT! This file is generated by sdlgenblit.pl */
|
/* DO NOT EDIT! This file is generated by sdlgenblit.pl */
|
||||||
/*
|
/*
|
||||||
SDL - Simple DirectMedia Layer
|
SDL - Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2009 Sam Lantinga
|
Copyright (C) 1997-2011 Sam Lantinga
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Lesser General Public
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -238,14 +238,7 @@ __EOF__
|
||||||
${s}B = (${s}B * ${s}A) / 255;
|
${s}B = (${s}B * ${s}A) / 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch (flags & (SDL_COPY_MASK|SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
|
switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
|
||||||
case SDL_COPY_MASK:
|
|
||||||
if (${s}A) {
|
|
||||||
${d}R = ${s}R;
|
|
||||||
${d}G = ${s}G;
|
|
||||||
${d}B = ${s}B;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SDL_COPY_BLEND:
|
case SDL_COPY_BLEND:
|
||||||
${d}R = ${s}R + ((255 - ${s}A) * ${d}R) / 255;
|
${d}R = ${s}R + ((255 - ${s}A) * ${d}R) / 255;
|
||||||
${d}G = ${s}G + ((255 - ${s}A) * ${d}G) / 255;
|
${d}G = ${s}G + ((255 - ${s}A) * ${d}G) / 255;
|
||||||
|
@ -256,11 +249,6 @@ __EOF__
|
||||||
${d}G = ${s}G + ${d}G; if (${d}G > 255) ${d}G = 255;
|
${d}G = ${s}G + ${d}G; if (${d}G > 255) ${d}G = 255;
|
||||||
${d}B = ${s}B + ${d}B; if (${d}B > 255) ${d}B = 255;
|
${d}B = ${s}B + ${d}B; if (${d}B > 255) ${d}B = 255;
|
||||||
break;
|
break;
|
||||||
case SDL_COPY_MOD:
|
|
||||||
${d}R = (${s}R * ${d}R) / 255;
|
|
||||||
${d}G = (${s}G * ${d}G) / 255;
|
|
||||||
${d}B = (${s}B * ${d}B) / 255;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
__EOF__
|
__EOF__
|
||||||
}
|
}
|
||||||
|
@ -410,7 +398,7 @@ __EOF__
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( $blend ) {
|
if ( $blend ) {
|
||||||
$flag = "SDL_COPY_MASK | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD";
|
$flag = "SDL_COPY_BLEND | SDL_COPY_ADD";
|
||||||
if ( $flags eq "" ) {
|
if ( $flags eq "" ) {
|
||||||
$flags = $flag;
|
$flags = $flag;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -146,8 +146,6 @@ SDL_RenderDriver D3D_RenderDriver = {
|
||||||
SDL_RENDERER_ACCELERATED),
|
SDL_RENDERER_ACCELERATED),
|
||||||
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
(SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
|
||||||
SDL_TEXTUREMODULATE_ALPHA),
|
SDL_TEXTUREMODULATE_ALPHA),
|
||||||
(SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK |
|
|
||||||
SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD),
|
|
||||||
0,
|
0,
|
||||||
{0},
|
{0},
|
||||||
0,
|
0,
|
||||||
|
@ -160,7 +158,6 @@ typedef struct
|
||||||
IDirect3DDevice9 *device;
|
IDirect3DDevice9 *device;
|
||||||
UINT adapter;
|
UINT adapter;
|
||||||
D3DPRESENT_PARAMETERS pparams;
|
D3DPRESENT_PARAMETERS pparams;
|
||||||
LPDIRECT3DPIXELSHADER9 ps_mask;
|
|
||||||
SDL_bool beginScene;
|
SDL_bool beginScene;
|
||||||
} D3D_RenderData;
|
} D3D_RenderData;
|
||||||
|
|
||||||
|
@ -603,45 +600,6 @@ D3D_CreateRenderer(SDL_Window * window, Uint32 flags)
|
||||||
IDirect3DDevice9_SetTextureStageState(data->device, 1, D3DTSS_ALPHAOP,
|
IDirect3DDevice9_SetTextureStageState(data->device, 1, D3DTSS_ALPHAOP,
|
||||||
D3DTOP_DISABLE);
|
D3DTOP_DISABLE);
|
||||||
|
|
||||||
{
|
|
||||||
#ifdef ASSEMBLE_SHADER
|
|
||||||
const char *shader_text =
|
|
||||||
"ps_1_1\n"
|
|
||||||
"def c0, 0, 0, 0, 0.496\n"
|
|
||||||
"def c1, 0, 0, 0, 1\n"
|
|
||||||
"def c2, 0, 0, 0, -1\n"
|
|
||||||
"tex t0\n"
|
|
||||||
"mul r1, t0, v0\n"
|
|
||||||
"add r0, r1, c0\n"
|
|
||||||
"cnd r0, r0.a, c1, c2\n"
|
|
||||||
"add r0, r0, r1\n";
|
|
||||||
LPD3DXBUFFER pCode; // buffer with the assembled shader code
|
|
||||||
LPD3DXBUFFER pErrorMsgs; // buffer with error messages
|
|
||||||
LPDWORD shader_data;
|
|
||||||
DWORD shader_size;
|
|
||||||
result = D3DXAssembleShader( shader_text, SDL_strlen(shader_text), NULL, NULL, 0, &pCode, &pErrorMsgs );
|
|
||||||
if (FAILED(result)) {
|
|
||||||
D3D_SetError("D3DXAssembleShader()", result);
|
|
||||||
}
|
|
||||||
shader_data = (DWORD*)pCode->lpVtbl->GetBufferPointer(pCode);
|
|
||||||
shader_size = pCode->lpVtbl->GetBufferSize(pCode);
|
|
||||||
#else
|
|
||||||
const DWORD shader_data[] = {
|
|
||||||
0xffff0101,0x00000051,0xa00f0000,0x00000000,0x00000000,0x00000000,
|
|
||||||
0x3efdf3b6,0x00000051,0xa00f0001,0x00000000,0x00000000,0x00000000,
|
|
||||||
0x3f800000,0x00000051,0xa00f0002,0x00000000,0x00000000,0x00000000,
|
|
||||||
0xbf800000,0x00000042,0xb00f0000,0x00000005,0x800f0001,0xb0e40000,
|
|
||||||
0x90e40000,0x00000002,0x800f0000,0x80e40001,0xa0e40000,0x00000050,
|
|
||||||
0x800f0000,0x80ff0000,0xa0e40001,0xa0e40002,0x00000002,0x800f0000,
|
|
||||||
0x80e40000,0x80e40001,0x0000ffff
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
result = IDirect3DDevice9_CreatePixelShader(data->device, shader_data, &data->ps_mask);
|
|
||||||
if (FAILED(result)) {
|
|
||||||
D3D_SetError("CreatePixelShader()", result);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return renderer;
|
return renderer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -781,23 +739,6 @@ D3D_SetTextureAlphaMod(SDL_Renderer * renderer, SDL_Texture * texture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
D3D_SetTextureBlendMode(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
||||||
{
|
|
||||||
switch (texture->blendMode) {
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
SDL_Unsupported();
|
|
||||||
texture->blendMode = SDL_BLENDMODE_NONE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
D3D_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
D3D_UpdateTexture(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
const SDL_Rect * rect, const void *pixels, int pitch)
|
const SDL_Rect * rect, const void *pixels, int pitch)
|
||||||
|
@ -975,7 +916,6 @@ D3D_SetBlendMode(D3D_RenderData * data, int blendMode)
|
||||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_ALPHABLENDENABLE,
|
IDirect3DDevice9_SetRenderState(data->device, D3DRS_ALPHABLENDENABLE,
|
||||||
FALSE);
|
FALSE);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
case SDL_BLENDMODE_BLEND:
|
||||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_ALPHABLENDENABLE,
|
IDirect3DDevice9_SetRenderState(data->device, D3DRS_ALPHABLENDENABLE,
|
||||||
TRUE);
|
TRUE);
|
||||||
|
@ -992,14 +932,6 @@ D3D_SetBlendMode(D3D_RenderData * data, int blendMode)
|
||||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_DESTBLEND,
|
IDirect3DDevice9_SetRenderState(data->device, D3DRS_DESTBLEND,
|
||||||
D3DBLEND_ONE);
|
D3DBLEND_ONE);
|
||||||
break;
|
break;
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_ALPHABLENDENABLE,
|
|
||||||
TRUE);
|
|
||||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_SRCBLEND,
|
|
||||||
D3DBLEND_ZERO);
|
|
||||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_DESTBLEND,
|
|
||||||
D3DBLEND_SRCCOLOR);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1316,10 +1248,6 @@ D3D_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
|
||||||
|
|
||||||
D3D_SetBlendMode(data, texture->blendMode);
|
D3D_SetBlendMode(data, texture->blendMode);
|
||||||
|
|
||||||
if (texture->blendMode == SDL_BLENDMODE_MASK) {
|
|
||||||
shader = data->ps_mask;
|
|
||||||
}
|
|
||||||
|
|
||||||
IDirect3DDevice9_SetSamplerState(data->device, 0, D3DSAMP_MINFILTER,
|
IDirect3DDevice9_SetSamplerState(data->device, 0, D3DSAMP_MINFILTER,
|
||||||
D3DTEXF_LINEAR);
|
D3DTEXF_LINEAR);
|
||||||
IDirect3DDevice9_SetSamplerState(data->device, 0, D3DSAMP_MAGFILTER,
|
IDirect3DDevice9_SetSamplerState(data->device, 0, D3DSAMP_MAGFILTER,
|
||||||
|
|
|
@ -1055,921 +1055,6 @@ static const SurfaceImage_t img_blendBlend = {
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
|
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const SurfaceImage_t img_blendMask = {
|
|
||||||
80, 60, 3,
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377"
|
|
||||||
"\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0"
|
|
||||||
"\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377"
|
|
||||||
"\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\377\377\0\377\377\0"
|
|
||||||
"\377\377\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377"
|
|
||||||
"\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0"
|
|
||||||
"\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0"
|
|
||||||
"\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377"
|
|
||||||
"\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377"
|
|
||||||
"\0\0\0\0\0\0\0\377\377\0\377\377\0\0\0\0\0\0\0\377\377\0\377\377\0\377\377"
|
|
||||||
"\0\377\377\0\377\377\0\377\377\0\377\377\0\377\377\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0",
|
|
||||||
};
|
|
||||||
|
|
||||||
static const SurfaceImage_t img_blendMod = {
|
|
||||||
80, 60, 3,
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
|
||||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
|
|
||||||
};
|
|
||||||
|
|
||||||
static const SurfaceImage_t img_blendNone = {
|
static const SurfaceImage_t img_blendNone = {
|
||||||
80, 60, 3,
|
80, 60, 3,
|
||||||
"\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
|
"\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
|
||||||
|
|
|
@ -188,24 +188,6 @@ static int render_hasBlendModes (void)
|
||||||
if (!render_isSupported(ret))
|
if (!render_isSupported(ret))
|
||||||
fail = 1;
|
fail = 1;
|
||||||
ret = (mode != SDL_BLENDMODE_ADD);
|
ret = (mode != SDL_BLENDMODE_ADD);
|
||||||
if (!render_isSupported(ret))
|
|
||||||
fail = 1;
|
|
||||||
ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_MOD );
|
|
||||||
if (!render_isSupported(ret))
|
|
||||||
fail = 1;
|
|
||||||
ret = SDL_GetRenderDrawBlendMode( &mode );
|
|
||||||
if (!render_isSupported(ret))
|
|
||||||
fail = 1;
|
|
||||||
ret = (mode != SDL_BLENDMODE_MOD);
|
|
||||||
if (!render_isSupported(ret))
|
|
||||||
fail = 1;
|
|
||||||
ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_MASK );
|
|
||||||
if (!render_isSupported(ret))
|
|
||||||
fail = 1;
|
|
||||||
ret = SDL_GetRenderDrawBlendMode( &mode );
|
|
||||||
if (!render_isSupported(ret))
|
|
||||||
fail = 1;
|
|
||||||
ret = (mode != SDL_BLENDMODE_MASK);
|
|
||||||
if (!render_isSupported(ret))
|
if (!render_isSupported(ret))
|
||||||
fail = 1;
|
fail = 1;
|
||||||
ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_NONE );
|
ret = SDL_SetRenderDrawBlendMode( SDL_BLENDMODE_NONE );
|
||||||
|
@ -858,13 +840,6 @@ static int render_testBlitBlend (void)
|
||||||
&img_blendNone, ALLOWABLE_ERROR_OPAQUE ))
|
&img_blendNone, ALLOWABLE_ERROR_OPAQUE ))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* Test Mask. */
|
|
||||||
if (render_testBlitBlendMode( tface, SDL_BLENDMODE_MASK ))
|
|
||||||
return -1;
|
|
||||||
if (render_compare( "Blit blending output not the same (using SDL_BLENDMODE_MASK).",
|
|
||||||
&img_blendMask, ALLOWABLE_ERROR_OPAQUE ))
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
/* Test Blend. */
|
/* Test Blend. */
|
||||||
if (render_testBlitBlendMode( tface, SDL_BLENDMODE_BLEND ))
|
if (render_testBlitBlendMode( tface, SDL_BLENDMODE_BLEND ))
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -879,13 +854,6 @@ static int render_testBlitBlend (void)
|
||||||
&img_blendAdd, ALLOWABLE_ERROR_BLENDED ))
|
&img_blendAdd, ALLOWABLE_ERROR_BLENDED ))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* Test Mod. */
|
|
||||||
if (render_testBlitBlendMode( tface, SDL_BLENDMODE_MOD ))
|
|
||||||
return -1;
|
|
||||||
if (render_compare( "Blit blending output not the same (using SDL_BLENDMODE_MOD).",
|
|
||||||
&img_blendMod, ALLOWABLE_ERROR_BLENDED ))
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
/* Clear surface. */
|
/* Clear surface. */
|
||||||
if (render_clearScreen())
|
if (render_clearScreen())
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -906,10 +874,10 @@ static int render_testBlitBlend (void)
|
||||||
|
|
||||||
/* Crazy blending mode magic. */
|
/* Crazy blending mode magic. */
|
||||||
mode = (i/4*j/4) % 4;
|
mode = (i/4*j/4) % 4;
|
||||||
if (mode==0) mode = SDL_BLENDMODE_MASK;
|
if (mode==0) mode = SDL_BLENDMODE_NONE;
|
||||||
else if (mode==1) mode = SDL_BLENDMODE_BLEND;
|
else if (mode==1) mode = SDL_BLENDMODE_BLEND;
|
||||||
else if (mode==2) mode = SDL_BLENDMODE_ADD;
|
else if (mode==2) mode = SDL_BLENDMODE_ADD;
|
||||||
else if (mode==3) mode = SDL_BLENDMODE_MOD;
|
else if (mode==3) mode = SDL_BLENDMODE_NONE;
|
||||||
ret = SDL_SetTextureBlendMode( tface, mode );
|
ret = SDL_SetTextureBlendMode( tface, mode );
|
||||||
if (SDL_ATassert( "SDL_SetTextureBlendMode", ret == 0))
|
if (SDL_ATassert( "SDL_SetTextureBlendMode", ret == 0))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -480,13 +480,6 @@ static void surface_testBlitBlend( SDL_Surface *testsur )
|
||||||
surface_compare( testsur, &img_blendNone, 0 )==0 ))
|
surface_compare( testsur, &img_blendNone, 0 )==0 ))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Test Mask. */
|
|
||||||
if (surface_testBlitBlendMode( testsur, face, SDL_BLENDMODE_MASK ))
|
|
||||||
return;
|
|
||||||
if (SDL_ATassert( "Blitting blending output not the same (using SDL_BLENDMODE_MASK).",
|
|
||||||
surface_compare( testsur, &img_blendMask, 0 )==0 ))
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Test Blend. */
|
/* Test Blend. */
|
||||||
if (surface_testBlitBlendMode( testsur, face, SDL_BLENDMODE_BLEND ))
|
if (surface_testBlitBlendMode( testsur, face, SDL_BLENDMODE_BLEND ))
|
||||||
return;
|
return;
|
||||||
|
@ -501,13 +494,6 @@ static void surface_testBlitBlend( SDL_Surface *testsur )
|
||||||
surface_compare( testsur, &img_blendAdd, 0 )==0 ))
|
surface_compare( testsur, &img_blendAdd, 0 )==0 ))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Test Mod. */
|
|
||||||
if (surface_testBlitBlendMode( testsur, face, SDL_BLENDMODE_MOD ))
|
|
||||||
return;
|
|
||||||
if (SDL_ATassert( "Blitting blending output not the same (using SDL_BLENDMODE_MOD).",
|
|
||||||
surface_compare( testsur, &img_blendMod, 0 )==0 ))
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Clear surface. */
|
/* Clear surface. */
|
||||||
ret = SDL_FillRect( testsur, NULL,
|
ret = SDL_FillRect( testsur, NULL,
|
||||||
SDL_MapRGB( testsur->format, 0, 0, 0 ) );
|
SDL_MapRGB( testsur->format, 0, 0, 0 ) );
|
||||||
|
@ -530,10 +516,10 @@ static void surface_testBlitBlend( SDL_Surface *testsur )
|
||||||
|
|
||||||
/* Crazy blending mode magic. */
|
/* Crazy blending mode magic. */
|
||||||
mode = (i/4*j/4) % 4;
|
mode = (i/4*j/4) % 4;
|
||||||
if (mode==0) mode = SDL_BLENDMODE_MASK;
|
if (mode==0) mode = SDL_BLENDMODE_NONE;
|
||||||
else if (mode==1) mode = SDL_BLENDMODE_BLEND;
|
else if (mode==1) mode = SDL_BLENDMODE_BLEND;
|
||||||
else if (mode==2) mode = SDL_BLENDMODE_ADD;
|
else if (mode==2) mode = SDL_BLENDMODE_ADD;
|
||||||
else if (mode==3) mode = SDL_BLENDMODE_MOD;
|
else if (mode==3) mode = SDL_BLENDMODE_NONE;
|
||||||
ret = SDL_SetSurfaceBlendMode( face, mode );
|
ret = SDL_SetSurfaceBlendMode( face, mode );
|
||||||
if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
|
if (SDL_ATassert( "SDL_SetSurfaceBlendMode", ret == 0))
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -356,31 +356,6 @@ PrintRendererFlag(Uint32 flag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
PrintBlendMode(Uint32 flag)
|
|
||||||
{
|
|
||||||
switch (flag) {
|
|
||||||
case SDL_BLENDMODE_NONE:
|
|
||||||
fprintf(stderr, "None");
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_MASK:
|
|
||||||
fprintf(stderr, "Mask");
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_BLEND:
|
|
||||||
fprintf(stderr, "Blend");
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_ADD:
|
|
||||||
fprintf(stderr, "Add");
|
|
||||||
break;
|
|
||||||
case SDL_BLENDMODE_MOD:
|
|
||||||
fprintf(stderr, "Mod");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fprintf(stderr, "0x%8.8x", flag);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
PrintPixelFormat(Uint32 format)
|
PrintPixelFormat(Uint32 format)
|
||||||
{
|
{
|
||||||
|
@ -503,21 +478,6 @@ PrintRenderer(SDL_RendererInfo * info)
|
||||||
}
|
}
|
||||||
fprintf(stderr, ")\n");
|
fprintf(stderr, ")\n");
|
||||||
|
|
||||||
fprintf(stderr, " Blend: 0x%8.8X", info->blend_modes);
|
|
||||||
fprintf(stderr, " (");
|
|
||||||
count = 0;
|
|
||||||
for (i = 0; i < sizeof(info->blend_modes) * 8; ++i) {
|
|
||||||
Uint32 flag = (1 << i);
|
|
||||||
if (info->blend_modes & flag) {
|
|
||||||
if (count > 0) {
|
|
||||||
fprintf(stderr, " | ");
|
|
||||||
}
|
|
||||||
PrintBlendMode(flag);
|
|
||||||
++count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fprintf(stderr, ")\n");
|
|
||||||
|
|
||||||
fprintf(stderr, " Texture formats (%d): ", info->num_texture_formats);
|
fprintf(stderr, " Texture formats (%d): ", info->num_texture_formats);
|
||||||
for (i = 0; i < (int) info->num_texture_formats; ++i) {
|
for (i = 0; i < (int) info->num_texture_formats; ++i) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
|
|
|
@ -190,18 +190,12 @@ main(int argc, char *argv[])
|
||||||
if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
|
if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_NONE;
|
blendMode = SDL_BLENDMODE_NONE;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "mask") == 0) {
|
|
||||||
blendMode = SDL_BLENDMODE_MASK;
|
|
||||||
consumed = 2;
|
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
|
} else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_BLEND;
|
blendMode = SDL_BLENDMODE_BLEND;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
|
} else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_ADD;
|
blendMode = SDL_BLENDMODE_ADD;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "mod") == 0) {
|
|
||||||
blendMode = SDL_BLENDMODE_MOD;
|
|
||||||
consumed = 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
|
} else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
|
||||||
|
@ -217,7 +211,7 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
if (consumed < 0) {
|
if (consumed < 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Usage: %s %s [--blend none|mask|blend|add|mod] [--cyclecolor] [--cyclealpha]\n",
|
"Usage: %s %s [--blend none|blend|add] [--cyclecolor] [--cyclealpha]\n",
|
||||||
argv[0], CommonUsage(state));
|
argv[0], CommonUsage(state));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -231,18 +231,12 @@ main(int argc, char *argv[])
|
||||||
if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
|
if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_NONE;
|
blendMode = SDL_BLENDMODE_NONE;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "mask") == 0) {
|
|
||||||
blendMode = SDL_BLENDMODE_MASK;
|
|
||||||
consumed = 2;
|
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
|
} else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_BLEND;
|
blendMode = SDL_BLENDMODE_BLEND;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
|
} else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_ADD;
|
blendMode = SDL_BLENDMODE_ADD;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "mod") == 0) {
|
|
||||||
blendMode = SDL_BLENDMODE_MOD;
|
|
||||||
consumed = 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
|
} else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
|
||||||
|
@ -258,7 +252,7 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
if (consumed < 0) {
|
if (consumed < 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Usage: %s %s [--blend none|mask|blend|add|mod] [--cyclecolor] [--cyclealpha]\n",
|
"Usage: %s %s [--blend none|blend|add] [--cyclecolor] [--cyclealpha]\n",
|
||||||
argv[0], CommonUsage(state));
|
argv[0], CommonUsage(state));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ static int current_color = 0;
|
||||||
static SDL_Rect *positions;
|
static SDL_Rect *positions;
|
||||||
static SDL_Rect *velocities;
|
static SDL_Rect *velocities;
|
||||||
static int sprite_w, sprite_h;
|
static int sprite_w, sprite_h;
|
||||||
static SDL_BlendMode blendMode = SDL_BLENDMODE_MASK;
|
static SDL_BlendMode blendMode = SDL_BLENDMODE_BLEND;
|
||||||
|
|
||||||
/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
|
/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
|
||||||
static void
|
static void
|
||||||
|
@ -237,18 +237,12 @@ main(int argc, char *argv[])
|
||||||
if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
|
if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_NONE;
|
blendMode = SDL_BLENDMODE_NONE;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "mask") == 0) {
|
|
||||||
blendMode = SDL_BLENDMODE_MASK;
|
|
||||||
consumed = 2;
|
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
|
} else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_BLEND;
|
blendMode = SDL_BLENDMODE_BLEND;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
|
} else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
|
||||||
blendMode = SDL_BLENDMODE_ADD;
|
blendMode = SDL_BLENDMODE_ADD;
|
||||||
consumed = 2;
|
consumed = 2;
|
||||||
} else if (SDL_strcasecmp(argv[i + 1], "mod") == 0) {
|
|
||||||
blendMode = SDL_BLENDMODE_MOD;
|
|
||||||
consumed = 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
|
} else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
|
||||||
|
@ -264,7 +258,7 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
if (consumed < 0) {
|
if (consumed < 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Usage: %s %s [--blend none|mask|blend|add|mod] [--cyclecolor] [--cyclealpha]\n",
|
"Usage: %s %s [--blend none|blend|add] [--cyclecolor] [--cyclealpha]\n",
|
||||||
argv[0], CommonUsage(state));
|
argv[0], CommonUsage(state));
|
||||||
quit(1);
|
quit(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue