/* macro.txt */
/* }N` */

#define TRUE  1
#define FALSE 0
#define NULL  0
#define if_jump(exp, label) &cmp(exp); &tjump(label)

#define if_then_else(exp, t, f) &cmp(exp); &tjump(t); &jump(f)
#define if_then(exp, t) &cmp(exp); &tjump(t)

#define _fcall    &fcall
#define _call     &call
#define _cmp      &cmp
#define _fload(f) f
#define _fjump    &fjump
#define _jump     &jump

/*  */
#define _frand(n) _fload(rnd = Random(n))
#define _handler_jump &handler_jump

/* \̒` */
#include "_struct.txt"

#define _p  &pause
#define _pc &pause; &clear

/* ------------------------------------------------------------------------ */
/* tH_` */

/* C[WtH_ */
#define _image_folder ".\\data\\image\\"
/* TEhtH_ */
#define _sound_folder ".\\data\\"
#define _bgm_folder   ".\\data\\bgm\\"
#define _se_folder   ".\\data\\se\\"

/* ------------------------------------------------------------------------ */
/* C[W */

/* C[Wǂݍ -> ްׯ */
#define _img_ol(n) &image(_image_folder n ".png"); &ol

/* C[Wǂݍ -> ްׯ -> ߰ -> ر */
#define _img_olpc(n) &image(_image_folder n); &ol; &pause; &clear

/* C[Wǂݍ -> ߰ -> ر */
#define _img_pc(n) &image(_image_folder n); &pause; &clear

/* ްׯ -> ߰ -> ر */
#define _olpc() &ol; &pause; &clear

/* }XNǂݍ */
#define _mask(n) &mask(_mask_folder n ".png")

/* ------------------------------------------------------------------------ */
/* TEh */

/* aflĐ */
#define _bgm(n) Sound_Stop(0); Sound_Sync(0); &sound(0, _bgm_folder n ".wav"); &play(0)
//#define _bgm(n) &sound(0, _bgm_folder n ".mp3"); &play(0)
/* afl~ */
#define _bgm_stop Sound_Stop(0)
//#define _bgm_fo(n) &timer_clear; Sound_FadeOut(0, n); &timer_wait(n)
#define _bgm_fi(n) Sound_SetFadeVolume(0, 0); Sound_FadeIn(0, n)

/* GtFNgĐ mp3*/
//#define _se(n) &sound(1, _se_folder n ".mp3"); &play(1)

/* GtFNgĐ wav*/
#define _se(n) Sound_Stop(1); Sound_Sync(1); &sound(1, _se_folder n ".wav"); &play(1)

/* Đ */
#define _voice(n) Sound_Stop(2); Sound_Sync(2); &sound(2, _sound_folder n ".mp3"); &play(2)

/* ----------------------------------------------------------------------- */
/* }N` */
#define _handler_clear &handler_clear
#define _handler       &handler
#define _handler_wait  &handler_wait
#define _cmp           &cmp

int System_SetMessageSpeed();
int System_SetOverlapSpeed();

/* XN[ */
int System_SetScrollSpeed();
int System_SetScrollRect();
int System_Scroll();

/* rfI */
int Video_Load();
int Video_Play();
int Video_Stop();

/*  */
int Sound_Stop();
int Sound_FadeOut();
int Sound_FadeIn();
int Sound_SetFadeVolume();
int Sound_Load();

/* ----------------------------------------------------------------------- */
/* XN[p */

#define Front 0 /* \ */
#define Back  1 /*  */
#define Scroll_SetSpeed System_SetScrollSpeed
#define Scroll_SetRect  System_SetScrollRect
#define Scroll_Start    System_Scroll

#define RECT_Set(me, l, t, r, b) me.left= l; me.top = t; me.right = r; me.bottom = b

RECT begin_r, end_r;

/* XN[ と */
#define _scroll_ud(n, h, t) Image_Load(_image_folder n ".png"); RECT_Set(begin_r, 0,     0, 640, 480); RECT_Set(end_r  , 0, h-480, 640, h  ); Scroll_SetSpeed(t); Scroll_SetRect(Back, &begin_r, &end_r); &ol; &timer_clear; Scroll_Start(Front); &timer_wait(t);

/* XN[  */
#define _scroll_du(n, h, t) Image_Load(_image_folder n ".png"); RECT_Set(begin_r, 0, h-480, 640, h  ); RECT_Set(end_r  , 0,     0, 640, 480); Scroll_SetSpeed(t); Scroll_SetRect(Back, &begin_r, &end_r); &ol; &timer_clear; Scroll_Start(Front); &timer_wait(t);

/* ----------------------------------------------------------------------- */
/* F` */
#define COLOR_BLACK  0x000000
#define COLOR_BLUE   0xFF0000
#define COLOR_RED    0x0000FF
#define COLOR_YELLOW 0x00FFFF
#define COLOR_GREEN  0x00FF00
#define COLOR_WHITE  0xFFFFFF

/* ----------------------------------------------------------------------- */
/* VXe֐` */
int System_GetScreen();      /* ʂ̎擾                 */
int SpriteLayer_LoadImage(); /* XvCgC[Wǂݍ */
int System_ChangeScreen();   /* ʂ̕ύX */
int System_TakeScreen();     /* ʂ̎Be */
int System_TimerWait();      /* EFCg */
int Random();                /*      */
/*  */
int System_Await();          /* ҋ@     */
int System_GetResult();      /* ʎ擾 */
/* ʐM */
int System_SetNetworkMode(); /*  */
int System_SetCurrentPlayer();
int System_GetPlayerNum();

int System_Goto();
int System_Call();

/*  */
int Fade_Out();
int Fade_In();
int Fade_SetColor();

/*  */
int Image_SetOrg();          /* C[W\_ݒ   */
int Image_Load();            /* C[W̒ړǂݍ */

/* }XN */
int Mask_Enable();
int Mask_Reverse();

/* C[ */
int FrameLayer_SetVisible();  /* \^\     */
int FrameLayer_GetItem();     /* qC[̎擾 */
int FrameLayer_SendMessage(); /* bZ[WM   */
int FrameLayer_SetEnable();   /* L^       */
int FrameLayer_SetPos();      /* ʒuw         */

/* CSV  */
int CSV_Open();
int CSV_Close();
int CSV_GetNumber();
int CSV_RefString();
int CSV_GetCount();

/* W֐ */
int sprintf();
int sscanf();
int strcpy();
int memcpy();

/* fobO֐ */
int out_debug();

/* ʂh炷 */
#define _shake(n, t) &timer_clear; Image_SetOrg(-(n), -(n)); &timer_wait(t); Image_SetOrg((n), (n)); &timer_wait(t); Image_SetOrg(0, 0);

/* ftHg̃I[o[bvXs[h */
#define _DefaultOverlapSpeed 1000
#define _flash(c, t) System_SetOverlapSpeed(0); Fade_SetColor(c); Fade_Out(); System_SetOverlapSpeed(t); Fade_In(); System_SetOverlapSpeed(_DefaultOverlapSpeed)

/* eof */