home *** CD-ROM | disk | FTP | other *** search
/ Phoenix Heaven Sunny 2 / APPARE2.BIN / oh_towns / ugoku / ugokulib / ugoku.h < prev    next >
Text File  |  1995-06-20  |  8KB  |  294 lines

  1. /***************************************************************/
  2. /*                                                             */
  3. /* UGOKU.H                                                     */
  4. /*                                                             */
  5. /*   MOVファイル, & V02ファイル 再生システムライブラリ用ヘッダ */
  6. /*                                            1993  9 29       */
  7. /*                                                             */
  8. /*                       戸田 浩                               */
  9. /*                                                             */
  10. /***************************************************************/
  11.  
  12.  
  13. #define MOV_ERR_ACCESS 1    /* ファイルの読み込みに失敗した */
  14. #define MOV_ERR_FORM 58        /* データの形式が不当 */
  15. #define MOV_ERR_MEMORY_OVER 7    /* メモリー不足 */
  16.  
  17.  
  18.  
  19. /*
  20. *
  21. *        MOV関連の関数
  22. *
  23. */
  24.  
  25. /***** オンメモリ用MOV再生イニシャライズ *****/
  26. int mov_memory_play_init(char *, int (*)(), int *,
  27.                          int *, int *, int *, int *, int * );
  28. /*
  29.     <<引数の説明>>
  30.     ファイル名,check関数,フレーム数,x0,y0,x1,y1,ワークサイズ
  31. */
  32.  
  33.  
  34. /***** オンメモリ用MOV再生 *****/
  35. int mov_memory_play( char *, char *, char *, int, int );
  36. /*
  37.     <<引数の説明>>
  38.     バッファ(153600Byte),ワークエリア(ワークサイズByte),ファイル名,
  39.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:VRAM1,2page使用 ),ウエイト
  40. */
  41.  
  42. /***** オンメモリ用MOV再生(リピート回数指定可能なタイプ) *****/
  43. int mov_memory_play_repeat( char *, char *, char *, int, int, int );
  44. /*
  45.     <<引数の説明>>
  46.     バッファ(153600Byte),ワークエリア(ワークサイズByte),ファイル名,
  47.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:VRAM1,2page使用 ),
  48.     ウエイト,リピート
  49. */
  50.  
  51. /***** ディスク読み込みMOV再生イニシャライズ *****/
  52. int mov_disk_play_init( char *, int (*)(), int *,
  53.                          int *, int *, int *, int *, int * );
  54. /*
  55.     <<引数の説明>>
  56.     ファイル名,check関数,フレーム数,x0,y0,x1,y1,ワークサイズ
  57. */
  58.  
  59. /***** ディスク読み込みMOV再生 *****/
  60. int mov_disk_play( char *, char *, char *, int, int );
  61. /*
  62.     <<引数の説明>>
  63.     バッファ(153600Byte),ワークエリア(ワークサイズByte),ファイル名,
  64.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:VRAM1,2page使用 ),ウエイト
  65. */
  66.  
  67. /***** ディスク読み込みMOV再生(リピート回数指定可能なタイプ) *****/
  68. int mov_disk_play_repeat( char *, char *, char *, int, int, int );
  69. /*
  70.     <<引数の説明>>
  71.     バッファ(153600Byte),ワークエリア(ワークサイズByte),ファイル名,
  72.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:VRAM1,2page使用 ),
  73.     ウエイト,リピート
  74. */
  75.  
  76.  
  77. /*      headを読み最初のframeを vram page = 0 ([0x104]:0x00000000)    */
  78. /*  または vram page = 1 ([0x104]:0x00040000) に表示                */
  79. mov_head_read_and_dsp( char *, int*,int*,int*,int*,int*,int*,
  80.                                  int, void *(*)(size_t),void (*)(void *) ) ;
  81. /*
  82.     <<引数の説明>>
  83.     char *name ;                        ファイル名
  84.     int *frm, *x0, *y0, *x1, *y1, *wt ;    フレーム,対角座標,ウェイト
  85.     int page ;                            表示ページ
  86.     void *(*TL_malloc)(size_t);            malloc関数
  87.     void (*TL_free)(void *);            free関数
  88.  
  89.     <<使用例>>
  90.     mov_head_read_and_dsp( "test.mov", &frame,&x0,&y0,&x1,&y1,&wait,
  91.                                 0, malloc, free ) ;
  92. */
  93.  
  94.  
  95.  
  96. /*
  97. *
  98. *        V02関連の関数
  99. *
  100. */
  101.  
  102. /* 画面モード5用 */
  103.  
  104. /***** オンメモリ用V02再生イニシャライズ *****/
  105. int V02_memory_play_init( char *, int (*)(), int *, int *, int *, int * );
  106. /*
  107.     <<引数の説明>>
  108.     ファイル名,check関数,フレーム数,xd,yd,ワークサイズ
  109. */
  110.  
  111. /***** オンメモリ用V02再生 *****/
  112. int V02_memory_play( char *, char *, int, int );
  113. /*
  114.     <<引数の説明>>
  115.     ワークエリア(ワークサイズByte),ファイル名,
  116.     モード( 0:VRAM0page使用 1:VRAM1page使用 ),ウエイト
  117. */
  118.  
  119. /***** オンメモリ用V02再生(リピート回数指定可能なタイプ) *****/
  120.                     /********** 1993 9 新規追加関数 **********/
  121. int V02_memory_play_repeat( char *, char *, int, int, int );
  122. /*
  123.     <<引数の説明>>
  124.     ワークエリア(ワークサイズByte),ファイル名,
  125.     モード( 0:VRAM0page使用 1:VRAM1page使用 ),
  126.     ウエイト,リピート回数( 例外事項: -1なら無限回リピート, 0なら1回 )
  127. */
  128.  
  129. /***** ディスク読み込みV02再生イニシャライズ *****/
  130. int V02_disk_play_init( char *, int (*)(), int *, int *, int *, int * );
  131. /*
  132.     <<引数の説明>>
  133.     ファイル名,check関数,フレーム数,xd,yd,ワークサイズ
  134. */
  135.  
  136.  
  137. /***** ディスク読み込みV02再生 *****/
  138. int V02_disk_play( char *, char *, int, int );
  139. /*
  140.     <<引数の説明>>
  141.     ワークエリア(ワークサイズByte),ファイル名,
  142.     モード( 0:VRAM0page使用 1:VRAM1page使用 ),ウエイト
  143. */
  144.  
  145. /*    V02 headを読み最初のframeを vram page = 0 ([0x104]:0x00000000)    */
  146. /*  または vram page = 1 ([0x104]:0x00040000) に表示                */
  147. int v02_head_read_and_dsp( char *, int*,int*,int*,int*,
  148.                          int, void *(*)(size_t), void (*)(void *) );
  149. /*
  150.     <<引数の説明>>
  151.     char *name;                    ファイル名
  152.     int *frm, *x, *y, *wt ;        フレーム数,画面横,画面縦,ウエイト
  153.     int page ;                    表示画面のページ
  154.     void *(*TL_malloc)(size_t);    malloc関数
  155.     void (*TL_free)(void *);    free関数
  156.  
  157.     <<使用例>>
  158.     v02_head_read_and_dsp("test.v02", &frame, &x, &y, &wait, 0,
  159.                                 malloc, free);
  160. */
  161.  
  162.  
  163.  
  164. /********** 1994 9 新規追加関数 画面モード10用 **********/
  165.  
  166. /***** オンメモリ用V02再生イニシャライズ *****/
  167. int V02_wide_memory_play_init( char *, int (*)(), int *, int *, int *, int * );
  168. /*
  169.     <<引数の説明>>
  170.     ファイル名,check関数,フレーム数,xd,yd,ワークサイズ
  171. */
  172.  
  173. /***** オンメモリ用V02再生 *****/
  174. int V02_wide_memory_play( char *, char *, int, int );
  175. /*
  176.     <<引数の説明>>
  177.     ワークエリア(ワークサイズByte),ファイル名,
  178.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:2page使用 ),ウエイト
  179. */
  180.  
  181. /***** オンメモリ用V02再生(リピート回数指定可能なタイプ) *****/
  182. int V02_wide_memory_play_repeat( char *, char *, int, int, int );
  183. /*
  184.     <<引数の説明>>
  185.     ワークエリア(ワークサイズByte),ファイル名,
  186.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:2page使用 ),ウエイト
  187.     ウエイト,リピート回数( 例外事項: -1なら無限回リピート, 0なら1回 )
  188. */
  189.  
  190. /***** ディスク読み込みV02再生イニシャライズ *****/
  191. int V02_wide_disk_play_init( char *, int (*)(), int *, int *, int *, int * );
  192. /*
  193.     <<引数の説明>>
  194.     ファイル名,check関数,フレーム数,xd,yd,ワークサイズ,
  195. */
  196.  
  197. /***** ディスク読み込みV02再生 *****/
  198. int V02_wide_disk_play( char *, char *, int, int );
  199. /*
  200.     <<引数の説明>>
  201.     ワークエリア(ワークサイズByte),ファイル名,
  202.     モード( 0:VRAM0page使用 1:VRAM1page使用 2:2page使用 ),ウエイト
  203. */
  204.  
  205. /*    V02 headを読み最初のframeを vram page = 0 ([0x104]:0x00000000)    */
  206. /*  または vram page = 1 ([0x104]:0x00040000) に表示                */
  207. int v02_wide_head_read_and_dsp( char *, int*,int*,int*,int*,
  208.                          int, void *(*)(size_t), void (*)(void *) );
  209. /*
  210.     <<引数の説明>>
  211.     char *name;                    ファイル名
  212.     int *frm, *x, *y, *wt ;        フレーム数,画面横,画面縦,ウエイト
  213.     int page ;                    表示画面のページ
  214.     void *(*TL_malloc)(size_t);    malloc関数
  215.     void (*TL_free)(void *);    free関数
  216.  
  217.     <<使用例>>
  218.     v02_wide_head_read_and_dsp("test.v02", &frame, &x, &y, &wait, 0,
  219.                                 malloc, free);
  220. */
  221.  
  222.  
  223.  
  224.  
  225. /*
  226. *
  227. *        マルチタスクを実現するための関数
  228. *
  229. */
  230.  
  231. /***** 割り込み禁止 *****/
  232. int interrupt_disable() ;
  233.  
  234. /***** 割り込み許可 *****/
  235. int interrupt_enable() ;
  236.  
  237. /***** VSYNC割り込みイニシャライズ *****/
  238. int VSYNC_init() ;
  239.  
  240. /***** VSYNC割り込み終了 *****/
  241. int VSYNC_end() ;
  242.  
  243. /***** VSYNC割り出し処理の登録 *****/
  244. void VSYNC_setEvent(void(*vsyncEvent)());
  245. /*
  246.     <<引数の説明>>
  247.     割り出し先の関数
  248. */
  249.  
  250. /***** VSYNC割り出し処理の取得 *****/
  251. void (*VSYNC_getEvent())();
  252. /*
  253.     <<引数の説明>>
  254.     割り出し先の関数
  255. */
  256.  
  257. /***** VSYNC割り込み処理の登録 *****/
  258. void VSYNC_setEvent2(void(*vsyncEvent)());
  259. /*
  260.     <<引数の説明>>
  261.     割り込み先の関数
  262. */
  263.  
  264. /***** VSYNC割り込み処理の取得 *****/
  265. void (*VSYNC_getEvent2())();
  266. /*
  267.     <<引数の説明>>
  268.     割り込み先の関数
  269. */
  270.  
  271. /***** VSYNCカウンター *****/
  272. extern unsigned int VSYNC_counter;
  273.  
  274.  
  275.  
  276. /*
  277. *
  278. *        その他
  279. *
  280. */
  281.  
  282. /***** vdsys圧縮ルーチンで使う それ以外の使い方は考えてない *****/
  283. int vd_01_2( char *para );
  284. /*
  285.     <<引数の説明>>
  286.     DWORD( para+0 ) = ycdataアドレス;
  287.     DWORD( para+4 ) = table_address;
  288.     DWORD( para+8 ) = wait;
  289.     DWORD( para+12) = page;
  290.     DWORD( para+16) = xd;
  291.     DWORD( para+20) = yd;
  292. */
  293.  
  294.