Merge branch 'panlord-colour'
[crawl.git] / crawl-ref / source / tilemcache.cc
index 5a809ce..85af623 100644 (file)
@@ -25,7 +25,7 @@ enum mcache_type
     MCACHE_DEMON,
     MCACHE_MAX,
 
-    MCACHE_NULL,
+    MCACHE_nullptr,
 };
 
 struct demon_data
@@ -205,10 +205,10 @@ mcache_entry *mcache_manager::get(tileidx_t tile)
 {
     tileidx_t idx = tile & TILE_FLAG_MASK;
     if (idx < TILEP_MCACHE_START)
-        return NULL;
+        return nullptr;
 
     if (idx >= TILEP_MCACHE_START + m_entries.size())
-        return NULL;
+        return nullptr;
 
     mcache_entry *entry = m_entries[idx - TILEP_MCACHE_START];
     return entry;
@@ -225,7 +225,7 @@ mcache_monster::mcache_monster(const monster_info& mon)
     m_mon_tile = tileidx_monster(mon) & TILE_FLAG_MASK;
 
     const item_info* mon_weapon = mon.inv[MSLOT_WEAPON].get();
-    m_equ_tile = (mon_weapon != NULL) ? tilep_equ_weapon(*mon_weapon) : 0;
+    m_equ_tile = (mon_weapon != nullptr) ? tilep_equ_weapon(*mon_weapon) : 0;
     if (mons_class_wields_two_weapons(mon.type))
     {
         const item_info* mon_weapon2 = mon.inv[MSLOT_ALT_WEAPON].get();
@@ -287,7 +287,7 @@ mcache_monster::mcache_monster(const monster_info& mon)
     else
     {
         const item_info* mon_shield = mon.inv[MSLOT_SHIELD].get();
-        m_shd_tile = (mon_shield != NULL) ? tilep_equ_shield(*mon_shield) : 0;
+        m_shd_tile = (mon_shield != nullptr) ? tilep_equ_shield(*mon_shield) : 0;
     }
 }
 
@@ -314,7 +314,6 @@ bool mcache_monster::get_weapon_offset(tileidx_t mon_tile,
     case TILEP_MONS_WIGLAF:
     case TILEP_MONS_RAKSHASA:
     case TILEP_MONS_VAMPIRE_KNIGHT:
-    case TILEP_MONS_SERAPH:
     case TILEP_MONS_CHERUB:
     case TILEP_MONS_MENNAS:
     case TILEP_MONS_PROFANE_SERVITOR:
@@ -508,6 +507,7 @@ bool mcache_monster::get_weapon_offset(tileidx_t mon_tile,
     case TILEP_MONS_MASTER_ELEMENTALIST:
     case TILEP_MONS_JESSICA:
     case TILEP_MONS_ANGEL:
+    case TILEP_MONS_DAEVA:
     case TILEP_MONS_MERFOLK_WATER:
     case TILEP_MONS_MERFOLK_JAVELINEER_WATER:
     case TILEP_MONS_MERFOLK_AQUAMANCER_WATER:
@@ -577,6 +577,10 @@ bool mcache_monster::get_weapon_offset(tileidx_t mon_tile,
         *ofs_x = -3;
         *ofs_y = 1;
         break;
+    case TILEP_MONS_SERAPH:
+        *ofs_x = -1;
+        *ofs_y = -10;
+        break;
     // Shift downwards and to the right.
     case TILEP_MONS_OGRE:
     case TILEP_MONS_OGRE_MAGE:
@@ -1052,6 +1056,8 @@ bool mcache_monster::get_shield_offset(tileidx_t mon_tile,
         break;
 
     case TILEP_MONS_PANDEMONIUM_LORD:
+    case TILEP_MONS_ANGEL:
+    case TILEP_MONS_DAEVA:
         *ofs_x = 1;
         *ofs_y = 1;
         break;
@@ -1155,6 +1161,11 @@ bool mcache_monster::get_shield_offset(tileidx_t mon_tile,
         *ofs_y = 2;
         break;
 
+    case TILEP_MONS_SERAPH:
+        *ofs_x = -2;
+        *ofs_y = -7;
+        break;
+
     case TILEP_MONS_SPRIGGAN_RIDER: // shield covered, out of picture
     default:
         // This monster cannot be displayed with a shield.
@@ -1218,8 +1229,8 @@ bool mcache_monster::valid(const monster_info& mon)
     bool have_shield_offs = (mon.type == MONS_PLAYER
                              && Options.tile_shield_offsets.first != INT_MAX)
         || get_shield_offset(mon_tile, &ox, &oy);
-    return (mon.inv[MSLOT_WEAPON].get() != NULL && have_weapon_offs)
-        || (mon.inv[MSLOT_SHIELD].get() != NULL && have_shield_offs);
+    return (mon.inv[MSLOT_WEAPON].get() != nullptr && have_weapon_offs)
+        || (mon.inv[MSLOT_SHIELD].get() != nullptr && have_shield_offs);
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -1233,9 +1244,9 @@ mcache_draco::mcache_draco(const monster_info& mon)
     m_mon_tile = draco ? tileidx_draco_base(mon)
                        : tileidx_demonspawn_base(mon);
     const item_info* mon_wep = mon.inv[MSLOT_WEAPON].get();
-    m_equ_tile = (mon_wep != NULL) ? tilep_equ_weapon(*mon_wep) : 0;
+    m_equ_tile = (mon_wep != nullptr) ? tilep_equ_weapon(*mon_wep) : 0;
     mon_wep = mon.inv[MSLOT_SHIELD].get();
-    m_shd_tile = (mon_wep != NULL) ? tilep_equ_shield(*mon_wep) : 0;
+    m_shd_tile = (mon_wep != nullptr) ? tilep_equ_shield(*mon_wep) : 0;
     m_job_tile = draco ? tileidx_draco_job(mon)
                        : tileidx_demonspawn_job(mon);
 }