#ifndef CU
#define CU
typedef enum Curse Curse;
enum Curse{
    MMAND = 80,
    KEYS,    FGRS,  MRKS,
    SPRCHR,  SPRX,  SPRY,  SPRCLR,
    GHSTCHR, GHSTX, GHSTY, GHSTCLR
};

typedef enum Mmand Mand;
enum Mmand {
    LstTck,
    ScrW,
    ScrH,
    Clck,
    ClickX,
    ClickY,
    BGCOLS,
    BGROWS,
    BGDRAWN,
    Mmands
};

typedef enum Color Color;
enum Color {
    T,     TK,TR,TG,TB,TC,TP,TY,TW,
    Black, KK,KR,KG,KB,KC,KP,KY,KW,
    Red,   RK,RR,RG,RB,RC,RP,RY,RW,
    Green, GK,GR,GG,GB,GC,GP,GY,GW,
    Blue,  BK,BR,BG,BB,BC,BP,BY,BW,
    Cyan,  CK,CR,CG,CB,CC,CP,CY,CW,
    Purple,PK,PR,PG,PB,PC,PP,PY,PW,
    Yellow,YK,YR,YG,YB,YC,YP,YY,YW,
    White, WK,WR,WG,WB,WC,WP,WY,WW,
    Colors
};

typedef enum Symbol Symbol;
enum Symbol {
    Erase, Pixel, Bullet, Diamond,
    Left,  Right,  Up,    Down,
    Top,   Ninja,  Step,  Bottom,
    Vln,Hln,Pln,Llc,Ulc,Urc,Lrc,Uft,Rft,Bft,Lft,
    Symbols
};

#define W 80
#define H 25
#define FPS 12
#define Tkey 7

#include "co.h"
void CursesInit(Co);
void CursesExit(Co);
void CursesPlot(Let,Let,Let,Color);
void CursesRefresh(Co);
void CursesFlash(Co,Let,Color);
void CursesSay(Co,Let*,Let,Let,Color);
void Wait(Co);
void Control(Co);



/*
ACS_S1 to ACS_S7 fallback to "-"
ACS_S9 fallback to "_"
ACS_CKBOARD fallback to ^
*/

// feature request visual noise
// loudnoize is a background color flash, redifine the color palette of the background on and off
// onomatopeia are litle word who litterally walk arround and dissipate into sprite who can hear them (likely to be sprites)
// quiet are simply word comming out of a sprites (these should never over draw sprites)
// would really like to be able to shake the screen to


#endif
