1 /* 2 * OpenBOR - http://www.chronocrash.com 3 * ----------------------------------------------------------------------- 4 * All rights reserved, see LICENSE in OpenBOR root for details. 5 * 6 * Copyright (c) 2004 - 2014 OpenBOR Team 7 */ 8 9 #ifndef SPRITE_H 10 #define SPRITE_H 11 12 #ifndef TRANSPARENT_IDX 13 #define TRANSPARENT_IDX 0x00 14 #endif 15 16 unsigned fakey_encodesprite(s_bitmap *bitmap); 17 unsigned encodesprite(int offsx, int offsy, s_bitmap *bitmap, s_sprite *dest); 18 19 // common sprite draw function, dispatch all formats 20 void putsprite(int x, int y, s_sprite *frame, s_screen *screen, s_drawmethod *drawmethod); 21 22 // Normal putsprite 23 void putsprite_8(int x, int y, int is_flip, s_sprite *frame, s_screen *screen, unsigned char *remap, unsigned char *blend); 24 //with speical effects 25 void putsprite_ex(int x, int y, s_sprite *frame, s_screen *screen, s_drawmethod *drawmethod); 26 /* 27 // 8bit pixel transpixel functions 28 unsigned char remapcolor(unsigned char* table, unsigned char color, unsigned char unused); 29 unsigned char blendcolor(unsigned char* table, unsigned char color1, unsigned char color2); 30 unsigned char blendfillcolor(unsigned char* table, unsigned char unused, unsigned char color); 31 */ 32 //---------------------------------------------------------------------------------------------------- 33 // 16/24/32bit palette version 34 /////////////////////////////////////////////////////////////////////////////////////////////////////// 35 // Normal putsprite 36 void putsprite_x8p16(int x, int y, int is_flip, s_sprite *frame, s_screen *screen, unsigned short *remap, unsigned short(*fp)(unsigned short, unsigned short)); 37 //with speical effects 38 void putsprite_ex_x8p16(int x, int y, s_sprite *frame, s_screen *screen, s_drawmethod *drawmethod); 39 40 // Normal putsprite 41 void putsprite_x8p24(int x, int y, int is_flip, s_sprite *frame, s_screen *screen, unsigned char *remap, unsigned(*fp)(unsigned, unsigned)); 42 //with speical effects 43 void putsprite_ex_x8p24(int x, int y, s_sprite *frame, s_screen *screen, s_drawmethod *drawmethod); 44 45 // Normal putsprite 46 void putsprite_x8p32(int x, int y, int is_flip, s_sprite *frame, s_screen *screen, unsigned *remap, unsigned(*fp)(unsigned, unsigned)); 47 //with speical effects 48 void putsprite_ex_x8p32(int x, int y, s_sprite *frame, s_screen *screen, s_drawmethod *drawmethod); 49 50 /* 51 unsigned blend_multiply(unsigned color1, unsigned color2); 52 unsigned blend_screen(unsigned color1, unsigned color2); 53 unsigned blend_overlay(unsigned color1, unsigned color2); 54 unsigned blend_hardlight(unsigned color1, unsigned color2); 55 unsigned blend_dodge(unsigned color1, unsigned color2); 56 unsigned blend_half(unsigned color1, unsigned color2); 57 */ 58 unsigned blend_channel32(register unsigned color1, register unsigned color2, register unsigned a); 59 unsigned short blend_channel16(unsigned short color1, unsigned short color2, register unsigned a); 60 #endif 61