Changeset 538
- Timestamp:
- Apr 23, 2011, 12:48:48 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
abuse/trunk/src/loadgame.cpp
r523 r538 34 34 extern JCFont *console_font; 35 35 36 #define MAX_SAVE_GAMES 5 36 #define MAX_SAVE_GAMES 15 37 #define MAX_SAVE_LINES 5 37 38 int last_save_game_number=0; 38 39 39 int save_buts[MAX_SAVE_GAMES *3];40 int save_buts[MAX_SAVE_GAMES * 3]; 40 41 41 42 42 43 void load_number_icons() 43 44 { 44 char name[100]; 45 int i; 46 for (i=0; i<MAX_SAVE_GAMES*3; i++) 47 { 48 sprintf(name,"nums%04d.pcx",i+1); 49 save_buts[i]=cache.reg("art/icons.spe",name,SPEC_IMAGE,1); 50 } 45 for (int i = 0; i < MAX_SAVE_GAMES * 3; i++) 46 { 47 char name[100]; 48 sprintf(name, "nums%04d.pcx", i % (5 * 3) + 1); // FIXME 49 save_buts[i] = cache.reg("art/icons.spe", name, SPEC_IMAGE, 1); 50 } 51 51 } 52 52 … … 58 58 } 59 59 60 Jwindow *create_num_window(int mx, int total_saved, i mage **thumb_nails)60 Jwindow *create_num_window(int mx, int total_saved, int lines, image **thumb_nails) 61 61 { 62 62 ico_button *buts[MAX_SAVE_GAMES]; 63 int y = 0, i; 63 int y = 0, x = 0, i; 64 int iw=cache.img(save_buts[0])->Size().x; 64 65 int ih=cache.img(save_buts[0])->Size().y; 65 int x=0; 66 int maxih = ih, maxiw = iw; 67 int n=0; 66 68 for (i=0; i<total_saved; i++,y+=ih) 67 69 { 68 if (thumb_nails) { while (!thumb_nails[x]) x++; } 69 buts[i]=new ico_button(0, y, ID_LOAD_GAME_NUMBER + x, 70 save_buts[x*3+0],save_buts[x*3+0],save_buts[x*3+1],save_buts[x*3+2],NULL); 71 buts[i]->set_act_id(ID_LOAD_GAME_PREVIEW+x); 72 x++; 70 maxih = Max(ih, maxih); 71 maxiw = Max(iw, maxiw); 72 if (y >= lines * ih) 73 { 74 y = 0; 75 x += iw; 76 } 77 if (thumb_nails) { while (!thumb_nails[n]) n++; } 78 buts[i]=new ico_button(x, y, ID_LOAD_GAME_NUMBER + n, 79 save_buts[n*3+0],save_buts[n*3+0],save_buts[n*3+1],save_buts[n*3+2],NULL); 80 buts[i]->set_act_id(ID_LOAD_GAME_PREVIEW+n); 81 n++; 73 82 } 74 83 … … 76 85 buts[i]->next=buts[i+1]; 77 86 78 return wm->new_window(mx,yres/2-(Jwindow::top_border()+ ih*5)/2,-1,-1,buts[0]);87 return wm->new_window(mx,yres/2-(Jwindow::top_border()+maxih*5)/2,-1,-1,buts[0]); 79 88 } 80 89 … … 100 109 if(mx < 0) mx = 0; 101 110 102 Jwindow *l_win=create_num_window(mx,MAX_SAVE_GAMES, NULL);111 Jwindow *l_win=create_num_window(mx,MAX_SAVE_GAMES,MAX_SAVE_LINES,NULL); 103 112 event ev; 104 113 int got_level=0; … … 222 231 223 232 224 Jwindow *l_win=create_num_window(0,total_saved, thumb_nails);233 Jwindow *l_win=create_num_window(0,total_saved,MAX_SAVE_LINES,thumb_nails); 225 234 Jwindow *preview=wm->new_window(l_win->x+l_win->l+5,l_win->y,max_w,max_h,NULL,title); 226 235
Note: See TracChangeset
for help on using the changeset viewer.