#ifndef NEOGEO_SPRITE_H
#define NEOGEO_SPRITE_H

#define MAKE_FIX_KEY(code, palno)		(code | (palno << 16))
#define MAKE_SPR_KEY(code, palno, atr)	(code | (palno << 16) | ((atr & 0x0c) << 28))

extern int neogeo_cacheclear;
extern int neogeo_paletterefresh;
extern int screen_is_dirty;

void neogeo_sprite_reset(void);

void blit_palette_mark_dirty(int palno);
void blit_palette_reset_mark(void);
void blit_fix_resetcache(void);
void blit_spr_resetcache(void);
void blit_clear_all_cache(void);

void blit_start(u32 fill_color);
void blit_finish(void);

void blit_partial_start(u32 fill_color);
void blit_partial_update(struct rectangle *clip);
void blit_partial_finish(void);

void blit_drawfix(int x, int y, u16 *pal, u32 *tex, u32 key);
void blit_drawspr(int x, int y, int w, int h, int att, u16 *pal, u32 *tex, u32 key);

#endif
