Reorder more field layering

This commit is contained in:
2025-03-19 08:55:27 -05:00
parent 8ae88a4ce6
commit 7980af7c31

View File

@@ -390,32 +390,15 @@ void draw_fields(location where){
if(univ.town.is_rubble(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(7,3),terrain_screen_gworld(),where_draw,1,0);
// In space/foreground:
// TODO some of these could still be reordered, maybe.
if(univ.town.is_force_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(0,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_fire_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(1,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_antimagic(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(2,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_scloud(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(3,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_ice_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(4,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_blade_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(5,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_sleep_cloud(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(6,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_block(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(3,0),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_spot(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(4,0),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_web(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(5,0),terrain_screen_gworld(),where_draw,1,0);
// In space/foreground, somewhat permanent:
if(univ.town.is_crate(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(6,0),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_barrel(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(7,0),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_block(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(3,0),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_web(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(5,0),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_fire_barr(where.x,where.y) || univ.town.is_force_barr(where.x,where.y))
Draw_Some_Item(*ResMgr::graphics.get("teranim"),calc_rect(8+(anim_ticks%4),4),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_quickfire(where.x,where.y))
@@ -424,6 +407,26 @@ void draw_fields(location where){
Draw_Some_Item(fields_gworld,calc_rect(1,0),terrain_screen_gworld(),where_draw,1,0);
forcecage_locs.push_back(where_draw);
}
// In space/foreground, transient:
if(univ.town.is_force_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(0,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_fire_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(1,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_ice_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(4,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_blade_wall(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(5,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_antimagic(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(2,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_scloud(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(3,1),terrain_screen_gworld(),where_draw,1,0);
if(univ.town.is_sleep_cloud(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(6,1),terrain_screen_gworld(),where_draw,1,0);
// Special spot is non-diegetic and should always be visible:
if(univ.town.is_spot(where.x,where.y))
Draw_Some_Item(fields_gworld,calc_rect(4,0),terrain_screen_gworld(),where_draw,1,0);
}
void draw_party_symbol(location center) {