From 10f115192305cd1845abbc304b5c8ea7db5cb84d Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Mon, 14 Apr 2014 21:18:04 -0400 Subject: [PATCH] Re-indent draw_map() --- osx/boe.town.cpp | 320 +++++++++++++++++++++++------------------------ 1 file changed, 160 insertions(+), 160 deletions(-) diff --git a/osx/boe.town.cpp b/osx/boe.town.cpp index 55df667f..3a1e56cf 100644 --- a/osx/boe.town.cpp +++ b/osx/boe.town.cpp @@ -1347,8 +1347,7 @@ void clear_map() } -void draw_map(bool need_refresh) -{ +void draw_map(bool need_refresh) { if(!map_visible) return; short i,j,pic,pic2; RECT the_rect,map_world_rect = {0,0,384,384}; @@ -1358,8 +1357,8 @@ void draw_map(bool need_refresh) RECT dlogpicrect = {6,6,42,42}; bool draw_pcs = true,out_mode; RECT view_rect= {0,0,48,48},tiny_rect = {0,0,32,32}, - redraw_rect = {0,0,48,48},big_rect = {0,0,64,64}; // Rectangle visible in view screen - + redraw_rect = {0,0,48,48},big_rect = {0,0,64,64}; // Rectangle visible in view screen + RECT area_to_draw_from,area_to_draw_on = {29,47,269,287}; short small_adj = 0; ter_num_t what_ter,what_ter2; @@ -1368,15 +1367,15 @@ void draw_map(bool need_refresh) RECT area_to_put_on_map_rect; RECT custom_from; - draw_surroundings = true; + draw_surroundings = true; if(need_refresh) { for (i = 0; i < 8; i++) for (j = 0; j < 64; j++) map_graphic_placed[i][j] = 0; // TODO: I suspect we don't need to save this info - } - + } + town_map_adj.x = 0; town_map_adj.y = 0; @@ -1392,48 +1391,48 @@ void draw_map(bool need_refresh) view_rect.top = minmax(0,8,univ.party.loc_in_sec.y - 20); view_rect.bottom = view_rect.top + 40; redraw_rect = view_rect; + } + else { + switch (town_type) { + case 0: + view_rect.left = minmax(0,24,univ.town.p_loc.x - 20); + view_rect.right = view_rect.left + 40; + view_rect.top = minmax(0,24,univ.town.p_loc.y - 20); + view_rect.bottom = view_rect.top + 40; + redraw_rect = big_rect; + total_size = 64; + break; + case 1: + view_rect.left = minmax(0,8,univ.town.p_loc.x - 20); + view_rect.right = view_rect.left + 40; + view_rect.top = minmax(0,8,univ.town.p_loc.y - 20); + view_rect.bottom = view_rect.top + 40; + redraw_rect = view_rect; + break; + case 2: + view_rect = tiny_rect; + redraw_rect = view_rect; + //InsetRect(&area_to_draw_to,48,48); + total_size = 32; + break; } - else { - switch (town_type) { - case 0: - view_rect.left = minmax(0,24,univ.town.p_loc.x - 20); - view_rect.right = view_rect.left + 40; - view_rect.top = minmax(0,24,univ.town.p_loc.y - 20); - view_rect.bottom = view_rect.top + 40; - redraw_rect = big_rect; - total_size = 64; - break; - case 1: - view_rect.left = minmax(0,8,univ.town.p_loc.x - 20); - view_rect.right = view_rect.left + 40; - view_rect.top = minmax(0,8,univ.town.p_loc.y - 20); - view_rect.bottom = view_rect.top + 40; - redraw_rect = view_rect; - break; - case 2: - view_rect = tiny_rect; - redraw_rect = view_rect; - //InsetRect(&area_to_draw_to,48,48); - total_size = 32; - break; - } - } + } if ((is_out()) || ((is_combat()) && (which_combat_type == 0)) || ((overall_mode == MODE_TALKING) && (store_pre_talk_mode == 0)) || ((overall_mode == MODE_SHOPPING) && (store_pre_shop_mode == 0)) || (((is_town()) || (is_combat())) && (town_type != 2))) { - area_to_draw_from = view_rect; - area_to_draw_from.left *= 6; - area_to_draw_from.right *= 6; - area_to_draw_from.top *= 6; - area_to_draw_from.bottom *= 6; - } - else { - area_to_draw_from = area_to_draw_on; - area_to_draw_from.offset(-area_to_draw_from.left,-area_to_draw_from.top); - small_adj = 0; - } - + area_to_draw_from = view_rect; + area_to_draw_from.left *= 6; + area_to_draw_from.right *= 6; + area_to_draw_from.top *= 6; + area_to_draw_from.bottom *= 6; + } + else { + area_to_draw_from = area_to_draw_on; + area_to_draw_from.offset(-area_to_draw_from.left,-area_to_draw_from.top); + small_adj = 0; + } + if (is_combat()) draw_pcs = false; @@ -1441,35 +1440,35 @@ void draw_map(bool need_refresh) bool canMap = true; if ((is_combat()) && (which_combat_type == 0)) { - title_string = "No map in combat."; - canMap = false; - } + title_string = "No map in combat."; + canMap = false; + } else if ((is_town()) && ((univ.town.num == -1) || (univ.town.num == -1))) - { - title_string = "No map here."; - canMap = false; - }else if((is_town() && univ.town->defy_mapping)) { - title_string = "This place defies mapping."; - canMap = false; - } + { + title_string = "No map here."; + canMap = false; + }else if((is_town() && univ.town->defy_mapping)) { + title_string = "This place defies mapping."; + canMap = false; + } else if(need_refresh) { map_gworld.setActive(); - + fill_rect(map_gworld, map_world_rect, sf::Color::Black); - - // Now, if shopping or talking, just don't touch anything. - if ((overall_mode == MODE_SHOPPING) || (overall_mode == MODE_TALKING)) - redraw_rect.right = -1; - - if ((is_out()) || - ((is_combat()) && (which_combat_type == 0)) || - ((overall_mode == MODE_TALKING) && (store_pre_talk_mode == 0)) || - ((overall_mode == MODE_SHOPPING) && (store_pre_shop_mode == 0))) - out_mode = true; + + // Now, if shopping or talking, just don't touch anything. + if ((overall_mode == MODE_SHOPPING) || (overall_mode == MODE_TALKING)) + redraw_rect.right = -1; + + if ((is_out()) || + ((is_combat()) && (which_combat_type == 0)) || + ((overall_mode == MODE_TALKING) && (store_pre_talk_mode == 0)) || + ((overall_mode == MODE_SHOPPING) && (store_pre_shop_mode == 0))) + out_mode = true; else out_mode = false; - - area_to_put_on_map_rect = redraw_rect; - area_to_put_on_map_rect.top = area_to_put_on_map_rect.left = 0; + + area_to_put_on_map_rect = redraw_rect; + area_to_put_on_map_rect.top = area_to_put_on_map_rect.left = 0; area_to_put_on_map_rect.right = area_to_put_on_map_rect.bottom = total_size; for (where.x= area_to_put_on_map_rect.left; where.x < area_to_put_on_map_rect.right; where.x++) @@ -1478,20 +1477,20 @@ void draw_map(bool need_refresh) { draw_rect = orig_draw_rect; draw_rect.offset(6 * where.x + small_adj, 6 * where.y + small_adj); - + if (out_mode == true) what_ter = univ.out[where.x + 48 * univ.party.i_w_c.x][where.y + 48 * univ.party.i_w_c.y]; - else what_ter = univ.town->terrain(where.x,where.y); + else what_ter = univ.town->terrain(where.x,where.y); ter_temp_from = orig_draw_rect; if (out_mode == true) expl = univ.out.out_e[where.x + 48 * univ.party.i_w_c.x][where.y + 48 * univ.party.i_w_c.y]; - else expl = is_explored(where.x,where.y); - + else expl = is_explored(where.x,where.y); + if (expl != 0) { - map_graphic_placed[where.x / 8][where.y] = - map_graphic_placed[where.x / 8][where.y] | (unsigned char)(s_pow(2,where.x % 8)); + map_graphic_placed[where.x / 8][where.y] = + map_graphic_placed[where.x / 8][where.y] | (unsigned char)(s_pow(2,where.x % 8)); pic = scenario.ter_types[what_ter].picture; if (pic >= 1000) { if (spec_scen_g) { @@ -1501,137 +1500,138 @@ void draw_map(bool need_refresh) graf_pos_ref(src_gw, custom_from) = spec_scen_g.find_graphic(pic); custom_from.offset(-13,-13); rect_draw_some_item(*src_gw,custom_from,map_gworld,draw_rect); - } } + } else switch ((pic >= 400) ? anim_map_pats[pic - 400] : map_pats[pic]) { case 0: case 10: case 11: if (scenario.ter_types[what_ter].picture < 400) - ter_temp_from.offset( - 6 * (scenario.ter_types[what_ter].picture % 10),6 * (scenario.ter_types[what_ter].picture / 10)); - else ter_temp_from.offset( - 24 * ((scenario.ter_types[what_ter].picture - 400) / 5),6 * ((scenario.ter_types[what_ter].picture - 400) % 5) + 156); + ter_temp_from.offset(6 * (scenario.ter_types[what_ter].picture % 10), + 6 * (scenario.ter_types[what_ter].picture / 10)); + else ter_temp_from.offset(24 * ((scenario.ter_types[what_ter].picture - 400) / 5), + 6 * ((scenario.ter_types[what_ter].picture - 400) % 5) + 156); rect_draw_some_item(small_ter_gworld.getTexture(),ter_temp_from,map_gworld,draw_rect); break; - + default: if (((pic >= 400) ? anim_map_pats[pic - 400] : map_pats[pic]) < 30) { // Try a little optimization if ((pic < 400) && (where.x < area_to_put_on_map_rect.right - 1)) { if (out_mode == true) what_ter2 = univ.out[(where.x + 1)+ 48 * univ.party.i_w_c.x][where.y + 48 * univ.party.i_w_c.y]; - else what_ter2 = univ.town->terrain(where.x + 1,where.y); + else what_ter2 = univ.town->terrain(where.x + 1,where.y); if (out_mode == true) expl2 = univ.out.out_e[(where.x + 1) + 48 * univ.party.i_w_c.x][where.y + 48 * univ.party.i_w_c.y]; - else expl2 = is_explored(where.x + 1,where.y); + else expl2 = is_explored(where.x + 1,where.y); pic2 = scenario.ter_types[what_ter2].picture; if ((map_pats[pic2] == map_pats[pic]) && (expl2 != 0)) { draw_rect.right += 6; - kludge = where; kludge.x++; // I don't know why I need to - // do this, but it seems I do - map_graphic_placed[kludge.x / 8][kludge.y] = - map_graphic_placed[kludge.x / 8][kludge.y] | (unsigned char)(s_pow(2,kludge.x % 8)); - } + kludge = where; kludge.x++; // I don't know why I need to + // do this, but it seems I do + map_graphic_placed[kludge.x / 8][kludge.y] = + map_graphic_placed[kludge.x / 8][kludge.y] | (unsigned char)(s_pow(2,kludge.x % 8)); } + } tileImage(mini_map, draw_rect,bg_gworld,map_pat[((pic >= 400) ? anim_map_pats[pic - 400] : map_pats[pic]) - 1]); break; - } + } //OffsetRect(&ter_temp_from, // 24 * ((map_pats[pic] - 30) / 5), // 138 + 6 * ((map_pats[pic] - 30) % 5)); //rect_draw_some_item(small_ter_gworld,ter_temp_from, // map_gworld,draw_rect,0,0); - break; - } + break; } + } } - + map_gworld.display(); - } + } - mini_map.setActive(); + mini_map.setActive(); // Now place terrain map gworld - TEXT.font = "Silom"; - TEXT.pointSize = 10;; - TEXT.style = sf::Text::Regular; - - the_rect = RECT(mini_map); - tileImage(mini_map, the_rect,bg_gworld,bg[4]); - cPict theGraphic(mini_map); - theGraphic.setBounds(dlogpicrect); - theGraphic.setPict(21, PIC_DLOG); - theGraphic.setFormat(TXT_FRAME, false); - theGraphic.draw(); - TEXT.colour = sf::Color::White; - win_draw_string(mini_map, map_title_rect,title_string,0,12); - win_draw_string(mini_map, map_bar_rect,"(Hit Escape to close.)",0,12); - TEXT.colour = sf::Color::Black; + TEXT.font = "Silom"; + TEXT.pointSize = 10;; + TEXT.style = sf::Text::Regular; - /*SetPort( mini_map); - GetDialogItem(mini_map, 1, &the_type, &the_handle, &the_rect); - - PenSize(3,3); - InsetRect(&the_rect, -4, -4); - FrameRoundRect(&the_rect, 16, 16); - PenSize(1,1); */ + the_rect = RECT(mini_map); + tileImage(mini_map, the_rect,bg_gworld,bg[4]); + cPict theGraphic(mini_map); + theGraphic.setBounds(dlogpicrect); + theGraphic.setPict(21, PIC_DLOG); + theGraphic.setFormat(TXT_FRAME, false); + theGraphic.draw(); + TEXT.colour = sf::Color::White; + win_draw_string(mini_map, map_title_rect,title_string,0,12); + win_draw_string(mini_map, map_bar_rect,"(Hit Escape to close.)",0,12); + TEXT.colour = sf::Color::Black; + + /*SetPort( mini_map); + GetDialogItem(mini_map, 1, &the_type, &the_handle, &the_rect); + + PenSize(3,3); + InsetRect(&the_rect, -4, -4); + FrameRoundRect(&the_rect, 16, 16); + PenSize(1,1); */ if(canMap) { rect_draw_some_item(map_gworld.getTexture(),area_to_draw_from,mini_map,area_to_draw_on); - - // Now place PCs and monsters - if(draw_pcs) { - if ((is_town()) && (PSD[SDF_PARTY_DETECT_LIFE] > 0)) - for (i = 0; i < univ.town->max_monst(); i++) - if (univ.town.monst[i].active > 0) { - where = univ.town.monst[i].cur_loc; - if ((is_explored(where.x,where.y)) && - ((where.x >= view_rect.left) && (where.x < view_rect.right) - && (where.y >= view_rect.top) && (where.x < view_rect.bottom))){ - - draw_rect.left = area_to_draw_on.left + 6 * (where.x - view_rect.left); - draw_rect.top = area_to_draw_on.top + 6 * (where.y - view_rect.top); - //if ((!is_out()) && (town_type == 2)) { - // draw_rect.left += 48; - // draw_rect.top += 48; - // } - draw_rect.right = draw_rect.left + 6; - draw_rect.bottom = draw_rect.top + 6; - - map_graphic_placed[where.x / 8][where.y] = - map_graphic_placed[where.x / 8][where.y] & ~((unsigned char)(s_pow(2,where.x % 8))); - fill_rect(mini_map, draw_rect, sf::Color::Green); - frame_circle(mini_map, draw_rect, sf::Color::Blue); - } - } - if ((overall_mode != MODE_SHOPPING) && (overall_mode != MODE_TALKING)) { - where = (is_town()) ? univ.town.p_loc : global_to_local(univ.party.p_loc); - - draw_rect.left = area_to_draw_on.left + 6 * (where.x - view_rect.left); - draw_rect.top = area_to_draw_on.top + 6 * (where.y - view_rect.top); - //if ((!is_out()) && (town_type == 2)) { - // draw_rect.left += 48; - // draw_rect.top += 48; - // } - draw_rect.right = draw_rect.left + 6; - draw_rect.bottom = draw_rect.top + 6; - map_graphic_placed[where.x / 8][where.y] = - map_graphic_placed[where.x / 8][where.y] & ~((unsigned char)(s_pow(2,where.x % 8))); - fill_rect(mini_map, draw_rect, sf::Color::Red); - frame_circle(mini_map, draw_rect, sf::Color::Black); - - } + + // Now place PCs and monsters + if(draw_pcs) { + if ((is_town()) && (PSD[SDF_PARTY_DETECT_LIFE] > 0)) + for (i = 0; i < univ.town->max_monst(); i++) + if (univ.town.monst[i].active > 0) { + where = univ.town.monst[i].cur_loc; + if ((is_explored(where.x,where.y)) && + ((where.x >= view_rect.left) && (where.x < view_rect.right) + && (where.y >= view_rect.top) && (where.x < view_rect.bottom))){ + + draw_rect.left = area_to_draw_on.left + 6 * (where.x - view_rect.left); + draw_rect.top = area_to_draw_on.top + 6 * (where.y - view_rect.top); + //if ((!is_out()) && (town_type == 2)) { + // draw_rect.left += 48; + // draw_rect.top += 48; + // } + draw_rect.right = draw_rect.left + 6; + draw_rect.bottom = draw_rect.top + 6; + + map_graphic_placed[where.x / 8][where.y] = + map_graphic_placed[where.x / 8][where.y] & ~((unsigned char)(s_pow(2,where.x % 8))); + fill_rect(mini_map, draw_rect, sf::Color::Green); + frame_circle(mini_map, draw_rect, sf::Color::Blue); + } + } + if ((overall_mode != MODE_SHOPPING) && (overall_mode != MODE_TALKING)) { + where = (is_town()) ? univ.town.p_loc : global_to_local(univ.party.p_loc); + + draw_rect.left = area_to_draw_on.left + 6 * (where.x - view_rect.left); + draw_rect.top = area_to_draw_on.top + 6 * (where.y - view_rect.top); + //if ((!is_out()) && (town_type == 2)) { + // draw_rect.left += 48; + // draw_rect.top += 48; + // } + draw_rect.right = draw_rect.left + 6; + draw_rect.bottom = draw_rect.top + 6; + map_graphic_placed[where.x / 8][where.y] = + map_graphic_placed[where.x / 8][where.y] & ~((unsigned char)(s_pow(2,where.x % 8))); + fill_rect(mini_map, draw_rect, sf::Color::Red); + frame_circle(mini_map, draw_rect, sf::Color::Black); + + } } } - + TEXT.colour = sf::Color::Black; mini_map.display(); // Now exit gracefully mainPtr.setActive(); - + } + bool is_door(location destination) {