home *** CD-ROM | disk | FTP | other *** search
/ Computer Installation Guide - Dragon Clan Series / CD2.iso / ucdos70 / 5 / SRC.ZIP / TX / C / TXAPI.C < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-25  |  17.4 KB  |  569 lines

  1. /*----------------------------------------------------------------------------
  2. ╬─╝■:    TXAPI.C
  3. ╣ª─▄:    ╠╪╩Γ╧╘╩╛┐Γ║»╩²
  4. ----------------------------------------------------------------------------*/
  5. #include        <stdlib.h>
  6. #include        <dos.h>
  7.  
  8. #define            FALSE        0
  9. #define            TRUE        1
  10.  
  11. /*----------------------------------------------------------------------------
  12.             ╝∞▓Θ UCDOS ╩╟╖±╥╤╛¡╘╦╨╨
  13. ----------------------------------------------------------------------------*/
  14. int CheckUCDOS(void)
  15. {
  16.    union REGS        regs;
  17.  
  18.    regs.x.ax=0xdb00;
  19.    int86(0x2f,®s,®s);
  20.    if (regs.h.al != 0xff || regs.x.bx != 0x5450 || regs.x.dx < 5) return FALSE;
  21.    else return TRUE;
  22. }
  23.  
  24. /*----------------------------------------------------------------------------
  25.             ╝∞▓Θ╠╪╩Γ╧╘╩╛│╠╨≥╩╟╖±╥╤╛¡╘╦╨╨
  26. ----------------------------------------------------------------------------*/
  27. int CheckTX(void)
  28. {
  29.    union REGS        regs;
  30.  
  31.    if (!CheckUCDOS()) return FALSE;
  32.  
  33.    regs.h.ah=0;
  34.    regs.h.al=0x11;
  35.    int86(0x79,®s,®s);
  36.    return(regs.x.flags & 0x40);
  37. }
  38.  
  39. /*----------------------------------------------------------------------------
  40.             ╝∞▓Θ─│╓╓─ú╩╜╩╟╖±╬¬╓╨╬─╧╘╩╛╖╜╩╜
  41. ▓╬╩²:    Mode        ╙√╝∞▓Θ╡──ú╩╜║┼
  42. ----------------------------------------------------------------------------*/
  43. int IsChineseMode(int Mode)
  44. {
  45.    struct REGPACK    regpack;
  46.  
  47.    if (!CheckUCDOS()) return FALSE;
  48.  
  49.    regpack.r_ax=0xff00;
  50.    regpack.r_bx=(Mode << 8) + 3;
  51.    intr(0x10,®pack);
  52.    return ((regpack.r_ax & 0xff) == 0);
  53. }
  54.  
  55. /*----------------------------------------------------------------------------
  56.             ╔Φ╓├╧╘╩╛╖╜╩╜
  57. ▓╬╩²:    Mode        ╧╘╩╛╖╜╩╜║┼
  58. ----------------------------------------------------------------------------*/
  59. void SetVideoMode(int Mode)
  60. {
  61.    printf("\16[m%d]",Mode);
  62. }
  63.  
  64. /*----------------------------------------------------------------------------
  65.             ╟σ╞┴
  66. ▓╬╩²:    Color        ╟σ╞┴║≤╞┴─╗╤╒╔½
  67. ----------------------------------------------------------------------------*/
  68. void Cls(int Color)
  69. {
  70.    if (Color > 0) printf("\16[CL%d]",Color << 4);
  71.    else printf("\16[CL]");
  72. }
  73.  
  74. /*----------------------------------------------------------------------------
  75.             ╔Φ╓├╥╘║≤╫≈═╝╤╒╔½
  76. ▓╬╩²:    Color        ╤╒╔½
  77. ----------------------------------------------------------------------------*/
  78. void SetColor(int Color)
  79. {
  80.    printf("\16[CO%d]",Color);
  81. }
  82.  
  83. /*----------------------------------------------------------------------------
  84.             ╔Φ╓├▒╚└²╥≥╫╙
  85. ▓╬╩²:    Scale        ▒╚└²╥≥╫╙
  86.             ▒╚└²╥≥╫╙╙δ╩╡╝╩╡─╣╪╧╡╣½╩╜╬¬:
  87.             ╩╡╝╩▒╚└² = ▒╚└²╥≥╫╙ / 16
  88. ----------------------------------------------------------------------------*/
  89. void SetScale(int Scale)
  90. {
  91.    printf("\16[SC%d]",Scale);
  92. }
  93.  
  94. /*----------------------------------------------------------------------------
  95.             ╔Φ╓├╫≈═╝╖╜╩╜
  96. ▓╬╩²:    WriteMode    ╫≈═╝╖╜╩╜
  97.             0        ╒²│ú╖╜╩╜╫≈═╝
  98.             1        ╥∞╗≥╖╜╩╜╫≈═╝
  99. ----------------------------------------------------------------------------*/
  100. void SetWriteMode(int WriteMode)
  101. {
  102.    printf("\16[X%d]",WriteMode);
  103. }
  104.  
  105. /*----------------------------------------------------------------------------
  106.             ╔Φ╓├╠ε│Σ└α╨═
  107. ▓╬╩²:    Style        ╠ε│Σ└α╨═
  108.             0-12        ─┌▓┐╢¿╥σ╩⌠╨╘└α╨═
  109.             13        ╙├╗º╫╘╢¿╥σ╠ε│Σ╩⌠╨╘
  110. ----------------------------------------------------------------------------*/
  111. void SetFillStyle(int Style)
  112. {
  113.    printf("\16[ST%d]",Style);
  114. }
  115.  
  116. /*----------------------------------------------------------------------------
  117.             ╔Φ╓├╙├╗º╠ε│Σ═╝░╕
  118. ▓╬╩²:    Pattern        ╠ε│Σ═╝░╕, ╣▓8╫╓╜┌
  119. ----------------------------------------------------------------------------*/
  120. void SetFillPattern(unsigned char *Pattern)
  121. {
  122.    int            i;
  123.  
  124.    printf("\16[DS");
  125.    for (i=0;i<8;i++) printf("%d,",Pattern[i]);
  126.    printf("]");
  127. }
  128.  
  129. /*----------------------------------------------------------------------------
  130.             ╗¡╡π
  131. ▓╬╩²:    x,y        ╡π╫°▒Ω
  132. ----------------------------------------------------------------------------*/
  133. void PutPixel(int x,int y)
  134. {
  135.    printf("\16[D%d,%d]",x,y);
  136. }
  137.  
  138. /*----------------------------------------------------------------------------
  139.             ╢┴╡π
  140. ▓╬╩²:    x,y        ╡π╫°▒Ω
  141. ----------------------------------------------------------------------------*/
  142. int GetPixel(int x,int y)
  143. {
  144.    union REGS        regs;
  145.  
  146.    regs.h.ah=0x0c;
  147.    regs.x.cx=x;
  148.    regs.x.dx=y;
  149.    int86(0x10,®s,®s);
  150.    return (regs.h.al);
  151. }
  152.  
  153. /*----------------------------------------------------------------------------
  154.             ╗¡╧▀
  155. ▓╬╩²:    (x1,y1)        ╓▒╧▀╫≤╔╧╜╟╫°▒Ω
  156.     (x2,y2)        ╓▒╧▀╙╥╧┬╜╟╫°▒Ω
  157. ----------------------------------------------------------------------------*/
  158. void Line(int x1,int y1,int x2,int y2)
  159. {
  160.    printf("\16[L%d,%d,%d,%d]",x1,y1,x2,y2);
  161. }
  162.  
  163. /*----------------------------------------------------------------------------
  164.             ╗¡┴¼╜╙╧▀
  165. ▓╬╩²:    (x,y)        ╓▒╧▀╓╒╡π╫°▒Ω
  166.             ╓▒╧▀╞≡╡π╫°▒Ω╬¬╔╧┤╬╓▒╧▀╡─╓╒╡π
  167. ----------------------------------------------------------------------------*/
  168. void LineTo(int x,int y)
  169. {
  170.    printf("\16[LT%d,%d]",x,y);
  171. }
  172.  
  173. /*----------------------------------------------------------------------------
  174.             ╗¡╛╪╨╬┐≥
  175. ▓╬╩²:    (x1,y1)        ╛╪╨╬┐≥╫≤╔╧╜╟╫°▒Ω
  176.     (x2,y2)        ╛╪╨╬┐≥╙╥╧┬╜╟╫°▒Ω
  177. ----------------------------------------------------------------------------*/
  178. void Rectangle(int x1,int y1,int x2,int y2)
  179. {
  180.    printf("\16[R%d,%d,%d,%d]",x1,y1,x2,y2);
  181. }
  182.  
  183. /*----------------------------------------------------------------------------
  184.             ╗¡╠⌡╨╬═╝
  185. ▓╬╩²:    (x1,y1)        ╠⌡╨╬═╝╫≤╔╧╜╟╫°▒Ω
  186.     (x2,y2)        ╠⌡╨╬═╝╙╥╧┬╜╟╫°▒Ω
  187. ----------------------------------------------------------------------------*/
  188. void Bar(int x1,int y1,int x2,int y2)
  189. {
  190.    printf("\16[B%d,%d,%d,%d]",x1,y1,x2,y2);
  191. }
  192.  
  193. /*----------------------------------------------------------------------------
  194.             ╗¡╘▓
  195. ▓╬╩²:    (x,y)        ╘▓╨─╫°▒Ω
  196.     r        ░δ╛╢
  197. ----------------------------------------------------------------------------*/
  198. void Circle(int x,int y,int r)
  199. {
  200.    printf("\16[C%d,%d,%d]",x,y,r);
  201. }
  202.  
  203. /*----------------------------------------------------------------------------
  204.             ╗¡═╓╘▓
  205. ▓╬╩²:    (x,y)        ═╓╘▓╨─╫°▒Ω
  206.     xr        ═╓╘▓X╓ß╖╜╧≥░δ╛╢
  207.     yr        ═╓╘▓Y╓ß╖╜╧≥░δ╛╢
  208.     StartAngle    ╞≡╩╝╜╟╢╚, ╡Ñ╬╗╢╚
  209.     EndAngle    ╓╒╓╣╜╟╢╚, ╡Ñ╬╗╢╚
  210. ----------------------------------------------------------------------------*/
  211. void Ellipse(int x,int y,int StartAngle,int EndAngle,int xr,int yr)
  212. {
  213.    printf("\16[E%d,%d,%d,%d,%d,%d,0]",x,y,StartAngle,EndAngle,xr,yr);
  214. }
  215.  
  216. /*----------------------------------------------------------------------------
  217.             ╗¡╘▓╗í
  218. ▓╬╩²:    (x,y)        ╘▓╨─╫°▒Ω
  219.     r        ░δ╛╢
  220.     StartAngle    ╞≡╩╝╜╟╢╚, ╡Ñ╬╗╢╚
  221.     EndAngle    ╓╒╓╣╜╟╢╚, ╡Ñ╬╗╢╚
  222. ----------------------------------------------------------------------------*/
  223. void Arc(int x,int y,int StartAngle,int EndAngle,int r)
  224. {
  225.    printf("\16[E%d,%d,%d,%d,%d,%d,0]",x,y,StartAngle,EndAngle,r,r);
  226. }
  227.  
  228. /*----------------------------------------------------------------------------
  229.             ╗¡╘▓▒²═╝
  230. ▓╬╩²:    (x,y)        ╘▓╨─╫°▒Ω
  231.     r        ░δ╛╢
  232.     StartAngle    ╞≡╩╝╜╟╢╚, ╡Ñ╬╗╢╚
  233.     EndAngle    ╓╒╓╣╜╟╢╚, ╡Ñ╬╗╢╚
  234.     FillColor    ▒²═╝╠ε│Σ╤╒╔½
  235.             ╙╔╙┌▒²═╝╩╟═¿╣²╓╓╫╙╠ε│Σ╖╜╩╜╩╡╧╓╡─, ╚τ╣√╘┌
  236. ----------------------------------------------------------------------------*/
  237. void PieSlice(int x,int y,int StartAngle,int EndAngle,int r,int FillColor)
  238. {
  239.    printf("\16[E%d,%d,%d,%d,%d,%d,2,%d]",x,y,StartAngle,EndAngle,r,r,FillColor);
  240. }
  241.  
  242. /*----------------------------------------------------------------------------
  243.             ╗¡╔╚╨╬
  244. ▓╬╩²:    (x,y)        ╘▓╨─╫°▒Ω
  245.     xr        X╓ß╖╜╧≥░δ╛╢
  246.     yr        Y╓ß╖╜╧≥░δ╛╢
  247.     StartAngle    ╞≡╩╝╜╟╢╚, ╡Ñ╬╗╢╚
  248.     EndAngle    ╓╒╓╣╜╟╢╚, ╡Ñ╬╗╢╚
  249. ----------------------------------------------------------------------------*/
  250. void Sector(int x,int y,int StartAngle,int EndAngle,int xr,int yr)
  251. {
  252.    printf("\16[E%d,%d,%d,%d,%d,%d,1]",x,y,StartAngle,EndAngle,xr,yr);
  253. }
  254.  
  255. /*----------------------------------------------------------------------------
  256.             ╓╓╫╙╠ε│Σ
  257. ▓╬╩²:    (x,y)        ╓╓╫╙╡π╫°▒Ω
  258.     FillColor    ╠ε│Σ╤╒╔½
  259.             ╠ε│Σ▒▀╜τ╤╒╔½╬¬╡▒╟░╫≈═╝╤╒╔½
  260. ----------------------------------------------------------------------------*/
  261. void FloodFill(int x,int y,int FillColor)
  262. {
  263.    printf("\16[F%d,%d,%d]",x,y,FillColor);
  264. }
  265.  
  266. /*----------------------------------------------------------------------------
  267.             ╢¿╥σ║Ω
  268. ▓╬╩²:    Str        ╠╪╩Γ╧╘╩╛├ⁿ┴ε┤«
  269. ----------------------------------------------------------------------------*/
  270. void DefineMacro(unsigned char *Str)
  271. {
  272.    printf("\16[MA%s]",Str);
  273. }
  274.  
  275. /*----------------------------------------------------------------------------
  276.             ╓┤╨╨║Ω
  277. ----------------------------------------------------------------------------*/
  278. void ExecuteMacro(void)
  279. {
  280.    printf("\16[ME]");
  281. }
  282.  
  283. /*----------------------------------------------------------------------------
  284.             ╔Φ╓├╬─╫╓╧╘╩╛╬╗╓├
  285. ▓╬╩²:    x,y        ╫°▒Ω
  286. ----------------------------------------------------------------------------*/
  287. void SetPosition(int x,int y)
  288. {
  289.    printf("\16[{-%d|%d}]",x,y);
  290. }
  291.  
  292. /*----------------------------------------------------------------------------
  293.             ╔Φ╓├╘ñ╢¿╥σ╫╓╨═
  294. ▓╬╩²:    Style        ╘ñ╢¿╥σ╫╓╨═├√│╞, ╬¬╥╗╕÷╫╓╖√
  295.             ╚í╓╡╖╢╬º╬¬ A - X, a - t
  296. ----------------------------------------------------------------------------*/
  297. void SetFontStyle(unsigned char Style)
  298. {
  299.    printf("\16[{@%c}]",Style);
  300. }
  301.  
  302. /*----------------------------------------------------------------------------
  303.             ╔Φ╓├╬─╫╓╧╘╩╛┤≤╨í
  304. ▓╬╩²:    Width        ║║╫╓┐φ╢╚, ╬≈╬─┐φ╢╚╬¬╕├╓╡╡─╥╗░δ
  305.     Height        ╬─╫╓╡─╕▀╢╚
  306. ----------------------------------------------------------------------------*/
  307. void SetFontSize(int Width,int Height)
  308. {
  309.    printf("\16[{@%d,%d}]",Height,Width);
  310. }
  311.  
  312. /*----------------------------------------------------------------------------
  313.             ╤í╘±╧╘╩╛╬─╫╓╡─╫╓┐Γ
  314. ▓╬╩²:    FontNo        ╫╓┐Γ▒α║┼, ╫╓┐Γ▒α║┼╙δ╫╓┐Γ├√│╞╢╘╒╒▒φ╟δ╘─╢┴╩╣╙├╩╓▓ß
  315. ----------------------------------------------------------------------------*/
  316. void SetFont(int FontNo)
  317. {
  318.    printf("\16[{=%d}]",FontNo);
  319. }
  320.  
  321. /*----------------------------------------------------------------------------
  322.             ╔Φ╓├╬─╫╓╧╘╩╛╡─╫╓╝Σ╛α
  323. ▓╬╩²:    CharSpace    ╫╓╝Σ╛α, ║║╫╓╡─╫╓╝Σ╛α╫╘╢»╝╙▒╢
  324. ----------------------------------------------------------------------------*/
  325. void SetCharSpace(int CharSpace)
  326. {
  327.    printf("\16[{^%d}]",CharSpace);
  328. }
  329.  
  330. /*----------------------------------------------------------------------------
  331.             ╔Φ╓├╬─╫╓╧╘╩╛╤╒╔½
  332. ▓╬╩²:    FrColor        ╬─╫╓╧╘╩╛╡─╟░╛░╤╒╔½
  333.     BgColor        ╬─╫╓╧╘╩╛╡─▒│╛░╤╒╔½
  334. ----------------------------------------------------------------------------*/
  335. void SetTextColor(int FrColor,int BgColor)
  336. {
  337.    printf("\16[{(%d)%d}]",FrColor,BgColor);
  338. }
  339.  
  340. /*----------------------------------------------------------------------------
  341.             ╔Φ╓├╬─╫╓╧╘╩╛╖╜╩╜
  342. ▓╬╩²:    WriteMode    ╧╘╩╛╖╜╩╜
  343.             0        ╒²│ú╖╜╩╜╧╘╩╛
  344.             1        ╥∞╗≥╖╜╩╜╧╘╩╛
  345. ----------------------------------------------------------------------------*/
  346. void SetTextWriteMode(int WriteMode)
  347. {
  348.    printf("\16[{%%%d}]",WriteMode);
  349. }
  350.  
  351. /*----------------------------------------------------------------------------
  352.             ╧╘╩╛╬─╫╓┤«
  353. ▓╬╩²:    Str        ╫╓╖√┤«
  354.             ╚τ╣√╧╘╩╛╡─╫╓╖√┤«╓╨░ⁿ║¼┴╦╬─╫╓╧╘╩╛├ⁿ┴ε╫╓╖√(╚τ╫╓╖√@),
  355.             ╘≥╧╘╩╛╜ß╣√┐╧╢¿╗ß┤φ╬≤
  356. ----------------------------------------------------------------------------*/
  357. void OutText(unsigned char *Str)
  358. {
  359.    printf("\16[{%s}]",Str);
  360. }
  361.  
  362. /*----------------------------------------------------------------------------
  363.             ╘┌╓╕╢¿╬╗╓├╧╘╩╛╬─╫╓┤«
  364. ▓╬╩²:    x,y        ╧╘╩╛╬─╫╓╡─╫°▒Ω
  365.     Str        ╫╓╖√┤«
  366.             ╚τ╣√╧╘╩╛╡─╫╓╖√┤«╓╨░ⁿ║¼┴╦╬─╫╓╧╘╩╛├ⁿ┴ε╫╓╖√(╚τ╫╓╖√@),
  367.             ╘≥╧╘╩╛╜ß╣√┐╧╢¿╗ß┤φ╬≤
  368. ----------------------------------------------------------------------------*/
  369. void OutTextxy(int x,int y,unsigned char *Str)
  370. {
  371.    SetPosition(x,y);
  372.    OutText(Str);
  373. }
  374.  
  375. /*----------------------------------------------------------------------------
  376.             ▒ú┤µ╞┴─╗═╝╧±─┌╚▌
  377. ▓╬╩²:    x1,y1        ╬¬╙√▒ú┤µ═╝╧±╫≤╔╧╜╟╫°▒Ω
  378.     x2,y2        ╬¬╙√▒ú┤µ═╝╧±╙╥╧┬╜╟╫°▒Ω
  379.     Name        ╬¬▒ú┤µ═╝╧±╡─╬─╝■├√, ═╝╧±└α╨═╬¬PCX╕±╩╜
  380. ----------------------------------------------------------------------------*/
  381. void GetImage(int x1,int y1,int x2,int y2,unsigned char *Name)
  382. {
  383.    printf("\16[SA%d,%d,%d,%d,%s]",x1,y1,x2,y2,Name);
  384. }
  385.  
  386. /*----------------------------------------------------------------------------
  387.             ╘┌╞┴─╗╔╧╧╘╩╛PCX═╝╧±
  388. ▓╬╩²:    x,y        ╧╘╩╛═╝╧±╡─╫≤╔╧╜╟╫°▒Ω
  389.     Name        ╬¬╙√╧╘╩╛═╝╧±╡─╬─╝■├√, ═╝╧±└α╨═╬¬PCX╕±╩╜
  390. ----------------------------------------------------------------------------*/
  391. void PutImage(int x,int y,unsigned char *Name)
  392. {
  393.    printf("\16[RE%d,%d,%s]",x,y,Name);
  394. }
  395.  
  396. /*----------------------------------------------------------------------------
  397.             ╘┌╞┴─╗╔╧╧╘╩╛PCX═╝╧±
  398. ▓╬╩²:    x,y        ╧╘╩╛═╝╧±╡─╫≤╔╧╜╟╫°▒Ω
  399.     w        ╧╘╩╛═╝╧±╡─┐φ╢╚, ╚τ╣√═╝╧±╩╡╝╩┐φ╢╚┤≤╙┌w, ═╝╧±▒╗╜╪╢╧
  400.     h        ╧╘╩╛═╝╧±╡─╕▀╢╚, ╚τ╣√═╝╧±╩╡╝╩╕▀╢╚┤≤╙┌h, ═╝╧±▒╗╜╪╢╧
  401.     Name        ╬¬╙√╧╘╩╛═╝╧±╡─╬─╝■├√, ═╝╧±└α╨═╬¬PCX╕±╩╜
  402. ----------------------------------------------------------------------------*/
  403. void PutPartImage(int x,int y,int w,int h,unsigned char *Name)
  404. {
  405.    printf("\16[RP%d,%d,%d,%d,%s]",x,y,w,h,Name);
  406. }
  407.  
  408. /*----------------------------------------------------------------------------
  409.             ╘┌╣╠╢¿┤░┐┌─┌╧╘╩╛╚╬╥Γ┤≤╨í═╝╧±
  410. ▓╬╩²:    x,y        ╧╘╩╛═╝╧±╡─╫≤╔╧╜╟╫°▒Ω
  411.     w        ╧╘╩╛═╝╧±╡─┐φ╢╚, ╚τ╣√═╝╧±╩╡╝╩┐φ╢╚▓╗╡╚╙┌w,═╝╧±╫╘╢»▒╗╦⌡╖┼
  412.     h        ╧╘╩╛═╝╧±╡─╕▀╢╚, ╚τ╣√═╝╧±╩╡╝╩╕▀╢╚▓╗╡╚╙┌h,═╝╧±╫╘╢»▒╗╦⌡╖┼
  413.     Name        ╬¬╙√╧╘╩╛═╝╧±╡─╬─╝■├√, ═╝╧±└α╨═╬¬PCX╕±╩╜
  414. ----------------------------------------------------------------------------*/
  415. void PutImageInWin(int x,int y,int w,int h,unsigned char *Name)
  416. {
  417.    printf("\16[RF%d,%d,%d,%d,%s]",x,y,w,h,Name);
  418. }
  419.  
  420. /*----------------------------------------------------------------------------
  421.             ╔Φ╓├═╝╧±╦⌡╖┼▒╚└²╥≥╫╙
  422. ▓╬╩²:    xScale        ╦«╞╜╖╜╧≥╡─╦⌡╖┼╥≥╫╙
  423.     yScale        ┤╣╓▒╖╜╧≥╡─╦⌡╖┼╥≥╫╙
  424.             ╦⌡╖┼▒╚└²╙δ╦⌡╖┼╥≥╫╙╝Σ╡─╣╪╧╡╩╜╬¬:
  425.             ╦⌡╖┼▒╚└² = ╦⌡╖┼╥≥╫╙ / 16
  426. ----------------------------------------------------------------------------*/
  427. void SetImageScale(int xScale,int yScale)
  428. {
  429.    printf("\16[IS%d,%d]",xScale,yScale);
  430. }
  431.  
  432. /*----------------------------------------------------------------------------
  433.             ╔Φ╓├═╝╧±╧╘╩╛╖╜╩╜
  434. ▓╬╩²:    Mode        ═╝╧±╧╘╩╛╖╜╩╜
  435.             0        ╕▓╕╟╖╜╩╜(COPY_PUT)
  436.             1        ╙δ╖╜╩╜(AND)
  437.             2        ╗≥╖╜╩╜(OR)
  438.             3        ╥∞╗≥╖╜╩╜(XOR)
  439. ----------------------------------------------------------------------------*/
  440. void SetPutImageMode(int Mode)
  441. {
  442.    printf("\16[PM%d]",Mode);
  443. }
  444.  
  445. /*----------------------------------------------------------------------------
  446.             ╔Φ╓├╡≈╔½░σ▒ú╗ñ╫┤╠¼
  447. ▓╬╩²:    Mode        0        ▓╗▒ú╗ñ╡≈╔½░σ
  448.             1        ▒ú╗ñ╡≈╔½░σ
  449.             ▒╛║»╩²╜÷╘┌256╔½╧╘╩╛╖╜╩╜╧┬╙╨╨º
  450.  
  451.             ╘┌╡≈╔½░σ▒ú╗ñ╫┤╠¼, ╧╘╩╛256═╝╧±╩▒╟░16╓╓╤╒╔½╡─╡≈╔½░σ,
  452.             ▓╗╗ß▒╗╨▐╕─
  453. ----------------------------------------------------------------------------*/
  454. void SetProtectPalette(int Mode)
  455. {
  456.    printf("\16[PP%d]",Mode);
  457. }
  458.  
  459. /*----------------------------------------------------------------------------
  460.             ╔Φ╓├╡≈╔½░σ╕ⁿ╕─╫┤╠¼
  461. ▓╬╩²:    Mode        0        ╘┌╧╘╩╛═╝╧±╩▒▓╗╨▐╕─╡≈╔½░σ
  462.             1        ╘┌╧╘╩╛═╝╧±╩▒╨▐╕─╡≈╔½░σ
  463. ----------------------------------------------------------------------------*/
  464. void SetPaletteMode(int Mode)
  465. {
  466.    printf("\16[SP%d]",Mode);
  467. }
  468.  
  469. /*----------------------------------------------------------------------------
  470.             ╥╞╢»═╝╧±
  471. ▓╬╩²:    x1,y1        ╘┤═╝╧±╫≤╔╧╜╟╫°▒Ω
  472.     x2,y2        ╘┤═╝╧±╙╥╧┬╜╟╫°▒Ω
  473.     x3,y3        ╥╞╢»║≤═╝╧±╫≤╔╧╜╟╫°▒Ω
  474. ----------------------------------------------------------------------------*/
  475. void MoveImage(int x1,int y1,int x2,int y2,int x3,int y3)
  476. {
  477.    printf("\16[MI%d,%d,%d,%d,%d,%d]",x1,y1,x2,y2,x3,y3);
  478. }
  479.  
  480. /*----------------------------------------------------------------------------
  481.             ╤▌╫α╥⌠└╓
  482. ▓╬╩²:    Str        ░┤╝≥╞╫╨╬╩╜╩Θ╨┤╡─└╓╞╫
  483.             ╣╪╙┌╝≥╞╫╡─╩Θ╨┤╖╜╩╜╟δ╘─╢┴╩╣╙├╩╓▓ß
  484. ----------------------------------------------------------------------------*/
  485. void Sound(unsigned char *Str)
  486. {
  487.    printf("\16[SO%s]",Str);
  488. }
  489.  
  490. /*----------------------------------------------------------------------------
  491.             ╓╒╓╣╥⌠└╓╤▌╫α
  492.             ╚τ╣√╠╪╧╘╗║│σ╟°─┌╡─╝≥╞╫╩²╛▌╬┤╤▌╫α═Ω, ┐╔╥╘╩╣╙├▒╛║»╩²╟┐
  493.             ╨╨╓╒╓╣╤▌╫α
  494. ----------------------------------------------------------------------------*/
  495. void EndSound(void)
  496. {
  497.    printf("\16[SE]");
  498. }
  499.  
  500. /*----------------------------------------------------------------------------
  501.             ╔Φ╓├╣Γ▒Ω╔┴╦╕╦┘╢╚
  502. ▓╬╩²:    n        ╔┴╦╕╡Ñ╬╗╬¬1/18├δ, ╚⌠n=0▒φ╩╛╜√╓╣╣Γ▒Ω╔┴╦╕
  503. ----------------------------------------------------------------------------*/
  504. void SetCursorSpeed(int n)
  505. {
  506.    printf("\16[CU0,%d]",n);
  507. }
  508.  
  509. /*----------------------------------------------------------------------------
  510.             ╘╩╨φ╣Γ▒Ω╧╘╩╛
  511. ----------------------------------------------------------------------------*/
  512. void EnableCursor(void)
  513. {
  514.    printf("\16[CU1,1]");
  515. }
  516.  
  517. /*----------------------------------------------------------------------------
  518.             ╜√╓╣╣Γ▒Ω╧╘╩╛
  519. ----------------------------------------------------------------------------*/
  520. void DisableCursor(void)
  521. {
  522.    printf("\16[CU1,0]");
  523. }
  524.  
  525. /*----------------------------------------------------------------------------
  526.             ╘╩╨φ╘┌═╝╨╬╖╜╩╜╧┬╧╘╩╛╣Γ▒Ω
  527. ----------------------------------------------------------------------------*/
  528. void EnableGraphCursor(void)
  529. {
  530.    printf("\16[CU2,1]");
  531. }
  532.  
  533. /*----------------------------------------------------------------------------
  534.             ╜√╓╣╘┌═╝╨╬╖╜╩╜╧┬╧╘╩╛╣Γ▒Ω
  535. ----------------------------------------------------------------------------*/
  536. void DisableGraphCursor(void)
  537. {
  538.    printf("\16[CU2,0]");
  539. }
  540.  
  541. /*----------------------------------------------------------------------------
  542.             ┤≥┐¬╠ß╩╛╨╨
  543. ----------------------------------------------------------------------------*/
  544. void EnablePrompt(void)
  545. {
  546.    printf("\16[KB1,1]");
  547. }
  548.  
  549. /*----------------------------------------------------------------------------
  550.             ╣╪▒╒╠ß╩╛╨╨
  551. ----------------------------------------------------------------------------*/
  552. void DisablePrompt(void)
  553. {
  554.    printf("\16[KB1,0]");
  555. }
  556.  
  557. /*----------------------------------------------------------------------------
  558.             ╤í╘±║║╫╓╩Σ╚δ╖¿
  559. ▓╬╩²:    n        ╩Σ╚δ╖¿▒α║┼
  560.             1            Alt-F1
  561.             2            Alt-F2
  562.             ...
  563.             0            Alt-F10
  564. ----------------------------------------------------------------------------*/
  565. void SelectPrompt(int n)
  566. {
  567.    printf("\16[KB0,%d]",n);
  568. }
  569.