home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / GAMES / BOINKO21 / SRC / SRC / DIALOGS.C < prev    next >
C/C++ Source or Header  |  2000-11-27  |  4KB  |  186 lines

  1. /*  dialogs.c
  2.  *
  3.  *   This program is free software; you can redistribute it and/or modify
  4.  *   it under the terms of the GNU General Public License as published by
  5.  *   the Free Software Foundation; either version 2 of the License, or
  6.  *   (at your option) any later version.
  7.  *
  8.  *   This program is distributed in the hope that it will be useful,
  9.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.  *   GNU General Public License for more details.
  12.  *
  13.  *   You should have received a copy of the GNU General Public License
  14.  *   along with this program; if not, write to the Free Software
  15.  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  16.  *
  17.  *   Electronic contact can be made via the following web address
  18.  *      http://www.netset.com/~baldrick/
  19.  *
  20.  * These are all the routines that handle what happens when
  21.  * the user attempts to use one of the pretty windowed dialogs
  22.  */
  23.  
  24. #include <stdio.h>
  25.  
  26. #include "boink.h"
  27.  
  28. int
  29. do_title(void)
  30. {
  31.     int pxy[8];
  32.     int x,y,wh;
  33.  
  34.     wh = new_window(about_dial,title_bar,0);
  35.  
  36.     if (wh >= 0)
  37.     {
  38.         win[ABOUT_WIN].handle = wh;
  39.         win[ABOUT_WIN].window_obj = about_dial;
  40.         win[ABOUT_WIN].title = title_bar;
  41.         win[ABOUT_WIN].cur_item = -1;
  42.         win[ABOUT_WIN].text_block = NULL;
  43.         win[ABOUT_WIN].buf_size = 0;
  44.         win[ABOUT_WIN].status = 1;
  45.         win[ABOUT_WIN].edit = 0;
  46.         win[ABOUT_WIN].type = 0;
  47.             
  48.         win[ABOUT_WIN].icon_obj = icons_dial;
  49.  
  50.         wind_get(wh, WF_CURRXYWH, ELTR(win[ABOUT_WIN].curr));
  51.     }
  52.  
  53.     objc_offset(about_dial,RTITLE,&x,&y);
  54.  
  55.     pxy[0] = pxy[1] = 0;
  56.     pxy[2] = tit_buf.fd_w - 1;
  57.     pxy[3] = tit_buf.fd_h - 1;
  58.     pxy[4] = x;
  59.     pxy[5] = y;
  60.     pxy[6] = x + pxy[2];
  61.     pxy[7] = y + pxy[3];
  62.  
  63.     vro_cpyfm(vdi_handle,S_ONLY,pxy,&tit_buf,&screen_fdb);
  64.  
  65.     if (remap_pal == 0)
  66.         load_about_colors();
  67.  
  68.     return(wh);
  69. }
  70.  
  71. int
  72. do_scorelist(void)
  73. {
  74.     int wh;
  75.  
  76.     reset_colors();
  77.  
  78.     wh = new_window(scorelist_dial,title_bar,0);
  79.  
  80.     if (wh >= 0)
  81.     {
  82.         win[SCORE_WIN].handle = wh;        
  83.         win[SCORE_WIN].window_obj = scorelist_dial;
  84.         win[SCORE_WIN].title = title_bar;
  85.         win[SCORE_WIN].cur_item = -1;
  86.         win[SCORE_WIN].text_block = NULL;
  87.         win[SCORE_WIN].buf_size = 0;
  88.         win[SCORE_WIN].status = 1;
  89.         win[SCORE_WIN].edit = 0;
  90.         win[SCORE_WIN].type = 0;
  91.         
  92.         win[SCORE_WIN].icon_obj = icons_dial;
  93.  
  94.         wind_get(wh, WF_CURRXYWH, ELTR(win[SCORE_WIN].curr));
  95.     }
  96.  
  97.     return(wh);
  98. }
  99.  
  100. int
  101. do_loading(void)
  102. {
  103.     int wh;
  104.  
  105.     wh = new_window(loading_dial,title_bar,2);
  106.  
  107.     if (wh >= 0)
  108.     {
  109.         win[LOADING_WIN].handle = wh;
  110.         win[LOADING_WIN].window_obj = loading_dial;
  111.         win[LOADING_WIN].title = title_bar;
  112.         win[LOADING_WIN].cur_item = -1;
  113.         win[LOADING_WIN].text_block = NULL;
  114.         win[LOADING_WIN].buf_size = 0;
  115.         win[LOADING_WIN].status = 1;
  116.         win[LOADING_WIN].edit = 0;
  117.         win[LOADING_WIN].type = 2;
  118.             
  119.         win[LOADING_WIN].icon_obj = icons_dial;
  120.  
  121.         wind_get(wh, WF_CURRXYWH, ELTR(win[LOADING_WIN].curr));
  122.     }
  123.  
  124.     return(wh);
  125. }
  126.  
  127. int
  128. do_jumpdial(void)
  129. {
  130.     int wh;
  131.     char ft[80];
  132.  
  133.     wh = new_window(jump_dial,title_bar,0);
  134.  
  135.     if (wh >= 0)
  136.     {
  137.         win[JUMP_WIN].handle = wh;
  138.         win[JUMP_WIN].window_obj = jump_dial;
  139.         win[JUMP_WIN].title = title_bar;
  140.         win[JUMP_WIN].cur_item = JUMP_SELECT;
  141.         win[JUMP_WIN].text_block = NULL;
  142.         win[JUMP_WIN].buf_size = 0;
  143.         win[JUMP_WIN].status = 1;
  144.         win[JUMP_WIN].edit = 1;
  145.         win[JUMP_WIN].type = 2;
  146.             
  147.         win[JUMP_WIN].icon_obj = icons_dial;
  148.  
  149.         wind_get(wh, WF_CURRXYWH, ELTR(win[JUMP_WIN].curr));
  150.  
  151.         set_tedinfo(win[JUMP_WIN].window_obj, JUMP_LEVEL_NAME, name);
  152.  
  153.         sprintf(ft,"%d",file_levels);
  154.         set_tedinfo(win[JUMP_WIN].window_obj, JUMP_LEVEL_NUM, ft);
  155.     }
  156.  
  157.     return(wh);
  158. }
  159.  
  160. int
  161. do_objcolorsdial(void)
  162. {
  163.     int wh;
  164.  
  165.     wh = new_window(objcolor_dial,title_bar,0);
  166.  
  167.     if (wh >= 0)
  168.     {
  169.         win[OBJCOLOR_WIN].handle = wh;
  170.         win[OBJCOLOR_WIN].window_obj = objcolor_dial;
  171.         win[OBJCOLOR_WIN].title = title_bar;
  172.         win[OBJCOLOR_WIN].cur_item = -1;
  173.         win[OBJCOLOR_WIN].text_block = NULL;
  174.         win[OBJCOLOR_WIN].buf_size = 0;
  175.         win[OBJCOLOR_WIN].status = 1;
  176.         win[OBJCOLOR_WIN].edit = 0;
  177.         win[OBJCOLOR_WIN].type = 0;
  178.             
  179.         win[OBJCOLOR_WIN].icon_obj = icons_dial;
  180.  
  181.         wind_get(wh, WF_CURRXYWH, ELTR(win[OBJCOLOR_WIN].curr));
  182.     }
  183.  
  184.     return(wh);
  185. }
  186.