#ifndef NEOGEO_SPRITE_H
#define NEOGEO_SPRITE_H

#define MAKE_HASH_KEY(code, palno)	(code | (palno << 16))

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_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);

#ifdef SAVE_STATE
void state_save_screen(u8 *state_buf);
#endif

#endif
