Browse Source

Merge pull request #3139 from malortie/assimp-viewer-nullptr

Replaced NULL with nullptr for pointers in Assimp viewer.
Kim Kulling 5 years ago
parent
commit
bb7212c46a

+ 16 - 16
tools/assimp_view/Background.cpp

@@ -101,7 +101,7 @@ void CBackgroundPainter::SetColor (D3DCOLOR p_clrNew)
     if (pcTexture)
     if (pcTexture)
     {
     {
         pcTexture->Release();
         pcTexture->Release();
-        pcTexture = NULL;
+        pcTexture = nullptr;
     }
     }
 }
 }
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
@@ -135,7 +135,7 @@ void CBackgroundPainter::SetCubeMapBG (const char* p_szPath)
     if (pcTexture)
     if (pcTexture)
     {
     {
         pcTexture->Release();
         pcTexture->Release();
-        pcTexture = NULL;
+        pcTexture = nullptr;
         if(TEXTURE_CUBE ==eMode)bHad = true;
         if(TEXTURE_CUBE ==eMode)bHad = true;
     }
     }
 
 
@@ -199,7 +199,7 @@ void CBackgroundPainter::SetTextureBG (const char* p_szPath)
     if (pcTexture)
     if (pcTexture)
     {
     {
         pcTexture->Release();
         pcTexture->Release();
-        pcTexture = NULL;
+        pcTexture = nullptr;
     }
     }
 
 
     eMode = TEXTURE_2D;
     eMode = TEXTURE_2D;
@@ -223,12 +223,12 @@ void CBackgroundPainter::OnPreRender()
         // the color buffer )
         // the color buffer )
         if (g_sOptions.eDrawMode == RenderOptions::WIREFRAME)
         if (g_sOptions.eDrawMode == RenderOptions::WIREFRAME)
         {
         {
-            g_piDevice->Clear(0,NULL,D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET,
+            g_piDevice->Clear(0,nullptr,D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET,
                 D3DCOLOR_ARGB(0xff,100,100,100),1.0f,0);
                 D3DCOLOR_ARGB(0xff,100,100,100),1.0f,0);
         }
         }
         else
         else
         {
         {
-            g_piDevice->Clear(0,NULL,D3DCLEAR_ZBUFFER,0,1.0f,0);
+            g_piDevice->Clear(0,nullptr,D3DCLEAR_ZBUFFER,0,1.0f,0);
         }
         }
 
 
         if (TEXTURE_2D == eMode)
         if (TEXTURE_2D == eMode)
@@ -293,7 +293,7 @@ void CBackgroundPainter::OnPreRender()
         return;
         return;
     }
     }
     // clear both the render target and the z-buffer
     // clear both the render target and the z-buffer
-    g_piDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
+    g_piDevice->Clear(0,nullptr,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
         clrColor,1.0f,0);
         clrColor,1.0f,0);
 }
 }
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
@@ -342,12 +342,12 @@ void CBackgroundPainter::ReleaseNativeResource()
     if ( piSkyBoxEffect)
     if ( piSkyBoxEffect)
     {
     {
         piSkyBoxEffect->Release();
         piSkyBoxEffect->Release();
-        piSkyBoxEffect = NULL;
+        piSkyBoxEffect = nullptr;
     }
     }
     if (pcTexture)
     if (pcTexture)
     {
     {
         pcTexture->Release();
         pcTexture->Release();
-        pcTexture = NULL;
+        pcTexture = nullptr;
     }
     }
 }
 }
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
@@ -377,8 +377,8 @@ void CBackgroundPainter::RecreateNativeResource()
             D3DX_DEFAULT,
             D3DX_DEFAULT,
             D3DX_DEFAULT,
             D3DX_DEFAULT,
             0,
             0,
-            NULL,
-            NULL,
+            nullptr,
+            nullptr,
             (IDirect3DCubeTexture9**)&pcTexture)))
             (IDirect3DCubeTexture9**)&pcTexture)))
         {
         {
             const char* szEnd = strrchr(szPath.c_str(),'\\');
             const char* szEnd = strrchr(szPath.c_str(),'\\');
@@ -411,8 +411,8 @@ void CBackgroundPainter::RecreateNativeResource()
             D3DX_DEFAULT,
             D3DX_DEFAULT,
             D3DX_DEFAULT,
             D3DX_DEFAULT,
             0,
             0,
-            NULL,
-            NULL,
+            nullptr,
+            nullptr,
             (IDirect3DTexture9**)&pcTexture)))
             (IDirect3DTexture9**)&pcTexture)))
         {
         {
             const char* szEnd = strrchr(szPath.c_str(),'\\');
             const char* szEnd = strrchr(szPath.c_str(),'\\');
@@ -433,15 +433,15 @@ void CBackgroundPainter::RecreateNativeResource()
     }
     }
     if (!piSkyBoxEffect)
     if (!piSkyBoxEffect)
     {
     {
-        ID3DXBuffer* piBuffer = NULL;
+        ID3DXBuffer* piBuffer = nullptr;
         if(FAILED( D3DXCreateEffect(
         if(FAILED( D3DXCreateEffect(
             g_piDevice,
             g_piDevice,
             g_szSkyboxShader.c_str(),
             g_szSkyboxShader.c_str(),
             (UINT)g_szSkyboxShader.length(),
             (UINT)g_szSkyboxShader.length(),
-            NULL,
-            NULL,
+            nullptr,
+            nullptr,
             AI_SHADER_COMPILE_FLAGS,
             AI_SHADER_COMPILE_FLAGS,
-            NULL,
+            nullptr,
             &piSkyBoxEffect,&piBuffer)))
             &piSkyBoxEffect,&piBuffer)))
         {
         {
             // failed to compile the shader
             // failed to compile the shader

+ 62 - 62
tools/assimp_view/Display.cpp

@@ -158,8 +158,8 @@ int CDisplay::AddNodeToDisplayList(
     aiNode* pcNode,
     aiNode* pcNode,
     HTREEITEM hRoot)
     HTREEITEM hRoot)
 {
 {
-    ai_assert(NULL != pcNode);
-    ai_assert(NULL != hRoot);
+    ai_assert(nullptr != pcNode);
+    ai_assert(nullptr != hRoot);
 
 
     char chTemp[MAXLEN];
     char chTemp[MAXLEN];
 
 
@@ -269,10 +269,10 @@ int CDisplay::AddMeshToDisplayList(unsigned int iIndex, HTREEITEM hRoot)
 // Replace the currently selected texture by another one
 // Replace the currently selected texture by another one
 int CDisplay::ReplaceCurrentTexture(const char* szPath)
 int CDisplay::ReplaceCurrentTexture(const char* szPath)
 {
 {
-    ai_assert(NULL != szPath);
+    ai_assert(nullptr != szPath);
 
 
     // well ... try to load it
     // well ... try to load it
-    IDirect3DTexture9* piTexture = NULL;
+    IDirect3DTexture9* piTexture = nullptr;
     aiString szString;
     aiString szString;
     strcpy(szString.data,szPath);
     strcpy(szString.data,szPath);
     szString.length = static_cast<ai_uint32>(strlen(szPath));
     szString.length = static_cast<ai_uint32>(strlen(szPath));
@@ -301,8 +301,8 @@ int CDisplay::ReplaceCurrentTexture(const char* szPath)
             continue;
             continue;
 
 
         AssetHelper::MeshHelper* pcMesh = g_pcAsset->apcMeshes[i];
         AssetHelper::MeshHelper* pcMesh = g_pcAsset->apcMeshes[i];
-        IDirect3DTexture9** tex = NULL;
-        const char* tex_string  = NULL;
+        IDirect3DTexture9** tex = nullptr;
+        const char* tex_string  = nullptr;
 
 
         switch (this->m_pcCurrentTexture->iType)
         switch (this->m_pcCurrentTexture->iType)
         {
         {
@@ -378,7 +378,7 @@ int CDisplay::AddTextureToDisplayList(unsigned int iType,
     aiTextureOp eTextureOp      /*= aiTextureOp_Multiply*/,
     aiTextureOp eTextureOp      /*= aiTextureOp_Multiply*/,
     unsigned int iMesh      /*= 0*/)
     unsigned int iMesh      /*= 0*/)
 {
 {
-    ai_assert(NULL != szPath);
+    ai_assert(nullptr != szPath);
 
 
     char chTemp[512];
     char chTemp[512];
     char chTempEmb[256];
     char chTempEmb[256];
@@ -436,15 +436,15 @@ int CDisplay::AddTextureToDisplayList(unsigned int iType,
         szType = "Lightmap";
         szType = "Lightmap";
         break;
         break;
     case aiTextureType_DISPLACEMENT:
     case aiTextureType_DISPLACEMENT:
-        piTexture = NULL;
+        piTexture = nullptr;
         szType = "Displacement";
         szType = "Displacement";
         break;
         break;
     case aiTextureType_REFLECTION:
     case aiTextureType_REFLECTION:
-        piTexture = NULL;
+        piTexture = nullptr;
         szType = "Reflection";
         szType = "Reflection";
         break;
         break;
     case aiTextureType_UNKNOWN:
     case aiTextureType_UNKNOWN:
-        piTexture = NULL;
+        piTexture = nullptr;
         szType = "Unknown";
         szType = "Unknown";
         break;
         break;
     default: // opacity + opacity | mask
     default: // opacity + opacity | mask
@@ -521,7 +521,7 @@ int CDisplay::AddTextureToDisplayList(unsigned int iType,
 int CDisplay::AddMaterialToDisplayList(HTREEITEM hRoot,
 int CDisplay::AddMaterialToDisplayList(HTREEITEM hRoot,
     unsigned int iIndex)
     unsigned int iIndex)
 {
 {
-    ai_assert(NULL != hRoot);
+    ai_assert(nullptr != hRoot);
 
 
     aiMaterial* pcMat = g_pcAsset->pcScene->mMaterials[iIndex];
     aiMaterial* pcMat = g_pcAsset->pcScene->mMaterials[iIndex];
 
 
@@ -583,7 +583,7 @@ int CDisplay::AddMaterialToDisplayList(HTREEITEM hRoot,
         while (true)
         while (true)
         {
         {
             if (AI_SUCCESS != aiGetMaterialTexture(pcMat,(aiTextureType)i,iNum,
             if (AI_SUCCESS != aiGetMaterialTexture(pcMat,(aiTextureType)i,iNum,
-                &szPath,NULL, &iUV,&fBlend,&eOp))
+                &szPath,nullptr, &iUV,&fBlend,&eOp))
             {
             {
                 break;
                 break;
             }
             }
@@ -658,23 +658,23 @@ int CDisplay::LoadImageList(void)
 
 
         // Load the bitmaps and add them to the image lists.
         // Load the bitmaps and add them to the image lists.
         HBITMAP hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BFX));
         HBITMAP hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BFX));
-        m_aiImageList[AI_VIEW_IMGLIST_MATERIAL] = ImageList_Add(hIml, hBmp, NULL);
+        m_aiImageList[AI_VIEW_IMGLIST_MATERIAL] = ImageList_Add(hIml, hBmp, nullptr);
         DeleteObject(hBmp);
         DeleteObject(hBmp);
 
 
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BNODE));
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BNODE));
-        m_aiImageList[AI_VIEW_IMGLIST_NODE] = ImageList_Add(hIml, hBmp, NULL);
+        m_aiImageList[AI_VIEW_IMGLIST_NODE] = ImageList_Add(hIml, hBmp, nullptr);
         DeleteObject(hBmp);
         DeleteObject(hBmp);
 
 
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BTX));
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BTX));
-        m_aiImageList[AI_VIEW_IMGLIST_TEXTURE] = ImageList_Add(hIml, hBmp, NULL);
+        m_aiImageList[AI_VIEW_IMGLIST_TEXTURE] = ImageList_Add(hIml, hBmp, nullptr);
         DeleteObject(hBmp);
         DeleteObject(hBmp);
 
 
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BTXI));
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BTXI));
-        m_aiImageList[AI_VIEW_IMGLIST_TEXTURE_INVALID] = ImageList_Add(hIml, hBmp, NULL);
+        m_aiImageList[AI_VIEW_IMGLIST_TEXTURE_INVALID] = ImageList_Add(hIml, hBmp, nullptr);
         DeleteObject(hBmp);
         DeleteObject(hBmp);
 
 
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BROOT));
         hBmp = LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BROOT));
-        m_aiImageList[AI_VIEW_IMGLIST_MODEL] = ImageList_Add(hIml, hBmp, NULL);
+        m_aiImageList[AI_VIEW_IMGLIST_MODEL] = ImageList_Add(hIml, hBmp, nullptr);
         DeleteObject(hBmp);
         DeleteObject(hBmp);
 
 
         // Associate the image list with the tree.
         // Associate the image list with the tree.
@@ -778,7 +778,7 @@ int CDisplay::OnRender()
 
 
     // present the back-buffer
     // present the back-buffer
     g_piDevice->EndScene();
     g_piDevice->EndScene();
-    g_piDevice->Present(NULL,NULL,NULL,NULL);
+    g_piDevice->Present(nullptr,nullptr,nullptr,nullptr);
 
 
     // don't remove this, problems on some older machines (AMD timing bug)
     // don't remove this, problems on some older machines (AMD timing bug)
     Sleep(10);
     Sleep(10);
@@ -788,9 +788,9 @@ int CDisplay::OnRender()
 // Update UI
 // Update UI
 void UpdateColorFieldsInUI()
 void UpdateColorFieldsInUI()
 {
 {
-    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR1),NULL,TRUE);
-    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR2),NULL,TRUE);
-    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR3),NULL,TRUE);
+    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR1),nullptr,TRUE);
+    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR2),nullptr,TRUE);
+    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR3),nullptr,TRUE);
 
 
     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR1));
     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR1));
     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR2));
     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR2));
@@ -859,7 +859,7 @@ int CDisplay::Reset(void)
     m_asNodes.clear();
     m_asNodes.clear();
     m_asMeshes.clear();
     m_asMeshes.clear();
 
 
-    m_hRoot = NULL;
+    m_hRoot = nullptr;
 
 
     return OnSetupNormalView();
     return OnSetupNormalView();
 }
 }
@@ -896,9 +896,9 @@ int CDisplay::OnSetupNormalView()
     SetViewMode(VIEWMODE_FULL);
     SetViewMode(VIEWMODE_FULL);
 
 
     // for debugging
     // for debugging
-    m_pcCurrentMaterial = NULL;
-    m_pcCurrentTexture = NULL;
-    m_pcCurrentNode = NULL;
+    m_pcCurrentMaterial = nullptr;
+    m_pcCurrentTexture = nullptr;
+    m_pcCurrentNode = nullptr;
 
 
     // redraw the color fields in the UI --- their purpose has possibly changed
     // redraw the color fields in the UI --- their purpose has possibly changed
     UpdateColorFieldsInUI();
     UpdateColorFieldsInUI();
@@ -908,7 +908,7 @@ int CDisplay::OnSetupNormalView()
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CDisplay::OnSetupNodeView(NodeInfo* pcNew)
 int CDisplay::OnSetupNodeView(NodeInfo* pcNew)
 {
 {
-    ai_assert(NULL != pcNew);
+    ai_assert(nullptr != pcNew);
 
 
     if (m_pcCurrentNode == pcNew)return 2;
     if (m_pcCurrentNode == pcNew)return 2;
 
 
@@ -955,7 +955,7 @@ int CDisplay::OnSetupNodeView(NodeInfo* pcNew)
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CDisplay::OnSetupMaterialView(MaterialInfo* pcNew)
 int CDisplay::OnSetupMaterialView(MaterialInfo* pcNew)
 {
 {
-    ai_assert(NULL != pcNew);
+    ai_assert(nullptr != pcNew);
 
 
     if (m_pcCurrentMaterial == pcNew)return 2;
     if (m_pcCurrentMaterial == pcNew)return 2;
 
 
@@ -973,7 +973,7 @@ int CDisplay::OnSetupMaterialView(MaterialInfo* pcNew)
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CDisplay::OnSetupTextureView(TextureInfo* pcNew)
 int CDisplay::OnSetupTextureView(TextureInfo* pcNew)
 {
 {
-    ai_assert(NULL != pcNew);
+    ai_assert(nullptr != pcNew);
 
 
     if (this->m_pcCurrentTexture == pcNew)return 2;
     if (this->m_pcCurrentTexture == pcNew)return 2;
 
 
@@ -1099,7 +1099,7 @@ int CDisplay::OnSetup(HTREEITEM p_hTreeItem)
         MaterialInfo* pcNew3;
         MaterialInfo* pcNew3;
     };
     };
 
 
-    pcNew = NULL;
+    pcNew = nullptr;
     for (std::vector<TextureInfo>::iterator i =  m_asTextures.begin();i != m_asTextures.end();++i){
     for (std::vector<TextureInfo>::iterator i =  m_asTextures.begin();i != m_asTextures.end();++i){
         if (p_hTreeItem == (*i).hTreeItem)  {
         if (p_hTreeItem == (*i).hTreeItem)  {
             pcNew = &(*i);
             pcNew = &(*i);
@@ -1136,12 +1136,12 @@ int CDisplay::OnSetup(HTREEITEM p_hTreeItem)
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CDisplay::ShowTreeViewContextMenu(HTREEITEM hItem)
 int CDisplay::ShowTreeViewContextMenu(HTREEITEM hItem)
 {
 {
-    ai_assert(NULL != hItem);
+    ai_assert(nullptr != hItem);
 
 
-    HMENU hDisplay = NULL;
+    HMENU hDisplay = nullptr;
 
 
     // search in our list for the item
     // search in our list for the item
-    TextureInfo* pcNew = NULL;
+    TextureInfo* pcNew = nullptr;
     for (std::vector<TextureInfo>::iterator
     for (std::vector<TextureInfo>::iterator
         i =  m_asTextures.begin();
         i =  m_asTextures.begin();
         i != m_asTextures.end();++i)
         i != m_asTextures.end();++i)
@@ -1158,7 +1158,7 @@ int CDisplay::ShowTreeViewContextMenu(HTREEITEM hItem)
     }
     }
 
 
     // search in the material list for the item
     // search in the material list for the item
-    MaterialInfo* pcNew2 = NULL;
+    MaterialInfo* pcNew2 = nullptr;
     for (std::vector<MaterialInfo>::iterator
     for (std::vector<MaterialInfo>::iterator
         i =  m_asMaterials.begin();
         i =  m_asMaterials.begin();
         i != m_asMaterials.end();++i)
         i != m_asMaterials.end();++i)
@@ -1173,7 +1173,7 @@ int CDisplay::ShowTreeViewContextMenu(HTREEITEM hItem)
         HMENU hMenu = LoadMenu(g_hInstance,MAKEINTRESOURCE(IDR_MATPOPUP));
         HMENU hMenu = LoadMenu(g_hInstance,MAKEINTRESOURCE(IDR_MATPOPUP));
         hDisplay = GetSubMenu(hMenu,0);
         hDisplay = GetSubMenu(hMenu,0);
     }
     }
-    if (NULL != hDisplay)
+    if (nullptr != hDisplay)
     {
     {
         // select this entry (this should all OnSetup())
         // select this entry (this should all OnSetup())
         TreeView_Select(GetDlgItem(g_hDlg,IDC_TREE1),hItem,TVGN_CARET);
         TreeView_Select(GetDlgItem(g_hDlg,IDC_TREE1),hItem,TVGN_CARET);
@@ -1185,7 +1185,7 @@ int CDisplay::ShowTreeViewContextMenu(HTREEITEM hItem)
         POINT sPoint;
         POINT sPoint;
         GetCursorPos(&sPoint);
         GetCursorPos(&sPoint);
         TrackPopupMenu(hDisplay, TPM_LEFTALIGN, sPoint.x, sPoint.y, 0,
         TrackPopupMenu(hDisplay, TPM_LEFTALIGN, sPoint.x, sPoint.y, 0,
-            g_hDlg,NULL);
+            g_hDlg,nullptr);
     }
     }
     return 1;
     return 1;
 }
 }
@@ -1260,8 +1260,8 @@ int CDisplay::HandleTreeViewPopup(WPARAM wParam,LPARAM lParam)
             clamp<unsigned char>(clrOld.g * 255.0f),
             clamp<unsigned char>(clrOld.g * 255.0f),
             clamp<unsigned char>(clrOld.b * 255.0f));
             clamp<unsigned char>(clrOld.b * 255.0f));
         clr.lpCustColors = g_aclCustomColors;
         clr.lpCustColors = g_aclCustomColors;
-        clr.lpfnHook = NULL;
-        clr.lpTemplateName = NULL;
+        clr.lpfnHook = nullptr;
+        clr.lpTemplateName = nullptr;
         clr.lCustData = 0;
         clr.lCustData = 0;
 
 
         ChooseColor(&clr);
         ChooseColor(&clr);
@@ -1318,7 +1318,7 @@ int CDisplay::HandleTreeViewPopup2(WPARAM wParam,LPARAM /*lParam*/)
     case ID_HEY_REPLACE:
     case ID_HEY_REPLACE:
         {
         {
         // get a path to a new texture
         // get a path to a new texture
-        if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"ReplaceTextureSrc",NULL,NULL,
+        if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"ReplaceTextureSrc",nullptr,nullptr,
             (BYTE*)szFileName,&dwTemp))
             (BYTE*)szFileName,&dwTemp))
         {
         {
             // Key was not found. Use C:
             // Key was not found. Use C:
@@ -1335,13 +1335,13 @@ int CDisplay::HandleTreeViewPopup2(WPARAM wParam,LPARAM /*lParam*/)
         }
         }
         OPENFILENAME sFilename1 = {
         OPENFILENAME sFilename1 = {
             sizeof(OPENFILENAME),
             sizeof(OPENFILENAME),
-            g_hDlg,GetModuleHandle(NULL),
+            g_hDlg,GetModuleHandle(nullptr),
             "Textures\0*.png;*.dds;*.tga;*.bmp;*.tif;*.ppm;*.ppx;*.jpg;*.jpeg;*.exr\0*.*\0",
             "Textures\0*.png;*.dds;*.tga;*.bmp;*.tif;*.ppm;*.ppx;*.jpg;*.jpeg;*.exr\0*.*\0",
-            NULL, 0, 1,
-            szFileName, MAX_PATH, NULL, 0, NULL,
+            nullptr, 0, 1,
+            szFileName, MAX_PATH, nullptr, 0, nullptr,
             "Replace this texture",
             "Replace this texture",
             OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
             OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-            0, 1, ".jpg", 0, NULL, NULL
+            0, 1, ".jpg", 0, nullptr, nullptr
         };
         };
         if(GetOpenFileName(&sFilename1) == 0) return 0;
         if(GetOpenFileName(&sFilename1) == 0) return 0;
 
 
@@ -1353,7 +1353,7 @@ int CDisplay::HandleTreeViewPopup2(WPARAM wParam,LPARAM /*lParam*/)
 
 
     case ID_HEY_EXPORT:
     case ID_HEY_EXPORT:
         {
         {
-        if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"TextureExportDest",NULL,NULL,
+        if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"TextureExportDest",nullptr,nullptr,
             (BYTE*)szFileName,&dwTemp))
             (BYTE*)szFileName,&dwTemp))
         {
         {
             // Key was not found. Use C:
             // Key was not found. Use C:
@@ -1370,12 +1370,12 @@ int CDisplay::HandleTreeViewPopup2(WPARAM wParam,LPARAM /*lParam*/)
         }
         }
         OPENFILENAME sFilename1 = {
         OPENFILENAME sFilename1 = {
             sizeof(OPENFILENAME),
             sizeof(OPENFILENAME),
-            g_hDlg,GetModuleHandle(NULL),
-            "Textures\0*.png;*.dds;*.bmp;*.tif;*.pfm;*.jpg;*.jpeg;*.hdr\0*.*\0", NULL, 0, 1,
-            szFileName, MAX_PATH, NULL, 0, NULL,
+            g_hDlg,GetModuleHandle(nullptr),
+            "Textures\0*.png;*.dds;*.bmp;*.tif;*.pfm;*.jpg;*.jpeg;*.hdr\0*.*\0", nullptr, 0, 1,
+            szFileName, MAX_PATH, nullptr, 0, nullptr,
             "Export texture to file",
             "Export texture to file",
             OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
             OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-            0, 1, ".png", 0, NULL, NULL
+            0, 1, ".png", 0, nullptr, nullptr
         };
         };
         if(GetSaveFileName(&sFilename1) == 0) return 0;
         if(GetSaveFileName(&sFilename1) == 0) return 0;
 
 
@@ -1397,9 +1397,9 @@ int CDisplay::HandleTreeViewPopup2(WPARAM wParam,LPARAM /*lParam*/)
         }
         }
 
 
         // get a pointer to the first surface of the current texture
         // get a pointer to the first surface of the current texture
-        IDirect3DSurface9* pi = NULL;
+        IDirect3DSurface9* pi = nullptr;
         (*this->m_pcCurrentTexture->piTexture)->GetSurfaceLevel(0,&pi);
         (*this->m_pcCurrentTexture->piTexture)->GetSurfaceLevel(0,&pi);
-        if(!pi || FAILED(D3DXSaveSurfaceToFile(szFileName,eFormat,pi,NULL,NULL)))
+        if(!pi || FAILED(D3DXSaveSurfaceToFile(szFileName,eFormat,pi,nullptr,nullptr)))
         {
         {
             CLogDisplay::Instance().AddEntry("[ERROR] Unable to export texture",
             CLogDisplay::Instance().AddEntry("[ERROR] Unable to export texture",
                 D3DCOLOR_ARGB(0xFF,0xFF,0,0));
                 D3DCOLOR_ARGB(0xFF,0xFF,0,0));
@@ -1495,7 +1495,7 @@ int CDisplay::HandleTreeViewPopup2(WPARAM wParam,LPARAM /*lParam*/)
 // Setup stereo view
 // Setup stereo view
 int CDisplay::SetupStereoView()
 int CDisplay::SetupStereoView()
 {
 {
-    if (NULL != g_pcAsset && NULL != g_pcAsset->pcScene->mRootNode)
+    if (nullptr != g_pcAsset && nullptr != g_pcAsset->pcScene->mRootNode)
     {
     {
         // enable the RED, GREEN and ALPHA channels
         // enable the RED, GREEN and ALPHA channels
         g_piDevice->SetRenderState(D3DRS_COLORWRITEENABLE,
         g_piDevice->SetRenderState(D3DRS_COLORWRITEENABLE,
@@ -1513,7 +1513,7 @@ int CDisplay::SetupStereoView()
 int CDisplay::RenderStereoView(const aiMatrix4x4& m)
 int CDisplay::RenderStereoView(const aiMatrix4x4& m)
 {
 {
     // and rerender the scene
     // and rerender the scene
-    if (NULL != g_pcAsset && NULL != g_pcAsset->pcScene->mRootNode)
+    if (nullptr != g_pcAsset && nullptr != g_pcAsset->pcScene->mRootNode)
     {
     {
         // enable the BLUE, GREEN and ALPHA channels
         // enable the BLUE, GREEN and ALPHA channels
         g_piDevice->SetRenderState(D3DRS_COLORWRITEENABLE,
         g_piDevice->SetRenderState(D3DRS_COLORWRITEENABLE,
@@ -1522,7 +1522,7 @@ int CDisplay::RenderStereoView(const aiMatrix4x4& m)
             D3DCOLORWRITEENABLE_BLUE);
             D3DCOLORWRITEENABLE_BLUE);
 
 
         // clear the z-buffer
         // clear the z-buffer
-        g_piDevice->Clear(0,NULL,D3DCLEAR_ZBUFFER,0,1.0f,0);
+        g_piDevice->Clear(0,nullptr,D3DCLEAR_ZBUFFER,0,1.0f,0);
 
 
         // move the camera a little bit to the right
         // move the camera a little bit to the right
         g_sCamera.vPos += g_sCamera.vRight * 0.06f;
         g_sCamera.vPos += g_sCamera.vRight * 0.06f;
@@ -1751,7 +1751,7 @@ int CDisplay::RenderFullScene()
 
 
     // draw all opaque objects in the scene
     // draw all opaque objects in the scene
     aiMatrix4x4 m;
     aiMatrix4x4 m;
-    if (NULL != g_pcAsset && NULL != g_pcAsset->pcScene->mRootNode)
+    if (nullptr != g_pcAsset && nullptr != g_pcAsset->pcScene->mRootNode)
     {
     {
         HandleInput();
         HandleInput();
         m =  g_mWorld * g_mWorldRotate;
         m =  g_mWorld * g_mWorldRotate;
@@ -1766,7 +1766,7 @@ int CDisplay::RenderFullScene()
     CBackgroundPainter::Instance().OnPostRender();
     CBackgroundPainter::Instance().OnPostRender();
 
 
     // draw all non-opaque objects in the scene
     // draw all non-opaque objects in the scene
-    if (NULL != g_pcAsset && NULL != g_pcAsset->pcScene->mRootNode)
+    if (nullptr != g_pcAsset && nullptr != g_pcAsset->pcScene->mRootNode)
     {
     {
         // disable the z-buffer
         // disable the z-buffer
         if (!g_sOptions.bNoAlphaBlending) {
         if (!g_sOptions.bNoAlphaBlending) {
@@ -1784,7 +1784,7 @@ int CDisplay::RenderFullScene()
         RenderStereoView(m);
         RenderStereoView(m);
 
 
     // render the skeleton if necessary
     // render the skeleton if necessary
-    if (g_sOptions.bSkeleton && NULL != g_pcAsset && NULL != g_pcAsset->pcScene->mRootNode) {
+    if (g_sOptions.bSkeleton && nullptr != g_pcAsset && nullptr != g_pcAsset->pcScene->mRootNode) {
         // disable the z-buffer
         // disable the z-buffer
         g_piDevice->SetRenderState(D3DRS_ZWRITEENABLE,FALSE);
         g_piDevice->SetRenderState(D3DRS_ZWRITEENABLE,FALSE);
 
 
@@ -2098,14 +2098,14 @@ int CDisplay::RenderPatternBG()
         {
         {
             // seems we have not yet compiled this shader.
             // seems we have not yet compiled this shader.
             // and NOW is the best time to do that ...
             // and NOW is the best time to do that ...
-            ID3DXBuffer* piBuffer = NULL;
+            ID3DXBuffer* piBuffer = nullptr;
             if(FAILED( D3DXCreateEffect(g_piDevice,
             if(FAILED( D3DXCreateEffect(g_piDevice,
                 g_szCheckerBackgroundShader.c_str(),
                 g_szCheckerBackgroundShader.c_str(),
                 (UINT)g_szCheckerBackgroundShader.length(),
                 (UINT)g_szCheckerBackgroundShader.length(),
-                NULL,
-                NULL,
+                nullptr,
+                nullptr,
                 D3DXSHADER_USE_LEGACY_D3DX9_31_DLL,
                 D3DXSHADER_USE_LEGACY_D3DX9_31_DLL,
-                NULL,
+                nullptr,
                 &g_piPatternEffect,&piBuffer)))
                 &g_piPatternEffect,&piBuffer)))
             {
             {
                 if( piBuffer)
                 if( piBuffer)
@@ -2118,7 +2118,7 @@ int CDisplay::RenderPatternBG()
             if( piBuffer)
             if( piBuffer)
             {
             {
                 piBuffer->Release();
                 piBuffer->Release();
-                piBuffer = NULL;
+                piBuffer = nullptr;
             }
             }
         }
         }
         else
         else
@@ -2126,14 +2126,14 @@ int CDisplay::RenderPatternBG()
             // clear the color buffer in magenta
             // clear the color buffer in magenta
             // (hopefully this is ugly enough that every ps_2_0 cards owner
             // (hopefully this is ugly enough that every ps_2_0 cards owner
             //  runs to the next shop to buy himself a new card ...)
             //  runs to the next shop to buy himself a new card ...)
-            g_piDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
+            g_piDevice->Clear(0,nullptr,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
                 D3DCOLOR_ARGB(0xFF,0xFF,0,0xFF), 1.0f,0 );
                 D3DCOLOR_ARGB(0xFF,0xFF,0,0xFF), 1.0f,0 );
             return 1;
             return 1;
         }
         }
     }
     }
 
 
     // clear the depth buffer only
     // clear the depth buffer only
-    g_piDevice->Clear(0,NULL,D3DCLEAR_ZBUFFER,
+    g_piDevice->Clear(0,nullptr,D3DCLEAR_ZBUFFER,
         D3DCOLOR_ARGB(0xFF,0xFF,0,0xFF), 1.0f,0 );
         D3DCOLOR_ARGB(0xFF,0xFF,0,0xFF), 1.0f,0 );
 
 
     // setup the colors to be used ...
     // setup the colors to be used ...

+ 2 - 2
tools/assimp_view/HelpDialog.cpp

@@ -53,8 +53,8 @@ INT_PTR CALLBACK HelpDialogProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM ) {
         case WM_INITDIALOG:
         case WM_INITDIALOG:
         {
         {
             // load the help file ...
             // load the help file ...
-            HRSRC res = FindResource(NULL,MAKEINTRESOURCE(IDR_TEXT1),"TEXT");
-            HGLOBAL hg = LoadResource(NULL,res);
+            HRSRC res = FindResource(nullptr,MAKEINTRESOURCE(IDR_TEXT1),"TEXT");
+            HGLOBAL hg = LoadResource(nullptr,res);
             void* pData = LockResource(hg);
             void* pData = LockResource(hg);
 
 
             SETTEXTEX sInfo;
             SETTEXTEX sInfo;

+ 10 - 10
tools/assimp_view/LogDisplay.cpp

@@ -117,29 +117,29 @@ void CLogDisplay::OnRender() {
         sCopy.top       = sWndRect.top+1;
         sCopy.top       = sWndRect.top+1;
         sCopy.bottom    = sWndRect.bottom+1;
         sCopy.bottom    = sWndRect.bottom+1;
         sCopy.right     = sWndRect.right+1;
         sCopy.right     = sWndRect.right+1;
-        this->piFont->DrawText(NULL,szText ,
+        this->piFont->DrawText(nullptr,szText ,
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
         sCopy.left      = sWndRect.left+1;
         sCopy.left      = sWndRect.left+1;
         sCopy.top       = sWndRect.top+1;
         sCopy.top       = sWndRect.top+1;
         sCopy.bottom    = sWndRect.bottom-1;
         sCopy.bottom    = sWndRect.bottom-1;
         sCopy.right     = sWndRect.right-1;
         sCopy.right     = sWndRect.right-1;
-        this->piFont->DrawText(NULL,szText ,
+        this->piFont->DrawText(nullptr,szText ,
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
         sCopy.left      = sWndRect.left-1;
         sCopy.left      = sWndRect.left-1;
         sCopy.top       = sWndRect.top-1;
         sCopy.top       = sWndRect.top-1;
         sCopy.bottom    = sWndRect.bottom+1;
         sCopy.bottom    = sWndRect.bottom+1;
         sCopy.right     = sWndRect.right+1;
         sCopy.right     = sWndRect.right+1;
-        this->piFont->DrawText(NULL,szText ,
+        this->piFont->DrawText(nullptr,szText ,
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
         sCopy.left      = sWndRect.left-1;
         sCopy.left      = sWndRect.left-1;
         sCopy.top       = sWndRect.top-1;
         sCopy.top       = sWndRect.top-1;
         sCopy.bottom    = sWndRect.bottom-1;
         sCopy.bottom    = sWndRect.bottom-1;
         sCopy.right     = sWndRect.right-1;
         sCopy.right     = sWndRect.right-1;
-        this->piFont->DrawText(NULL,szText ,
+        this->piFont->DrawText(nullptr,szText ,
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
             -1,&sCopy,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(100,0x0,0x0,0x0));
 
 
         // text
         // text
-        this->piFont->DrawText(NULL,szText ,
+        this->piFont->DrawText(nullptr,szText ,
             -1,&sWndRect,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(0xFF,0xFF,0xFF,0xFF));
             -1,&sWndRect,DT_CENTER | DT_VCENTER,D3DCOLOR_ARGB(0xFF,0xFF,0xFF,0xFF));
     }
     }
 
 
@@ -176,7 +176,7 @@ void CLogDisplay::OnRender() {
             sCopy.top       = sRect.top+1;
             sCopy.top       = sRect.top+1;
             sCopy.bottom    = sRect.bottom+1;
             sCopy.bottom    = sRect.bottom+1;
             sCopy.right     = sRect.right+1;
             sCopy.right     = sRect.right+1;
-            this->piFont->DrawText(NULL,szText,
+            this->piFont->DrawText(nullptr,szText,
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
 
 
@@ -184,7 +184,7 @@ void CLogDisplay::OnRender() {
             sCopy.top       = sRect.top-1;
             sCopy.top       = sRect.top-1;
             sCopy.bottom    = sRect.bottom-1;
             sCopy.bottom    = sRect.bottom-1;
             sCopy.right     = sRect.right-1;
             sCopy.right     = sRect.right-1;
-            this->piFont->DrawText(NULL,szText,
+            this->piFont->DrawText(nullptr,szText,
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
 
 
@@ -192,7 +192,7 @@ void CLogDisplay::OnRender() {
             sCopy.top       = sRect.top-1;
             sCopy.top       = sRect.top-1;
             sCopy.bottom    = sRect.bottom+1;
             sCopy.bottom    = sRect.bottom+1;
             sCopy.right     = sRect.right+1;
             sCopy.right     = sRect.right+1;
-            this->piFont->DrawText(NULL,szText,
+            this->piFont->DrawText(nullptr,szText,
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
 
 
@@ -200,12 +200,12 @@ void CLogDisplay::OnRender() {
             sCopy.top       = sRect.top+1;
             sCopy.top       = sRect.top+1;
             sCopy.bottom    = sRect.bottom-1;
             sCopy.bottom    = sRect.bottom-1;
             sCopy.right     = sRect.right-1;
             sCopy.right     = sRect.right-1;
-            this->piFont->DrawText(NULL,szText,
+            this->piFont->DrawText(nullptr,szText,
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 -1,&sCopy,DT_RIGHT | DT_TOP,D3DCOLOR_ARGB(
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
                 (unsigned char)(fAlpha * 100.0f),0x0,0x0,0x0));
 
 
             // draw the text itself
             // draw the text itself
-            int iPX = this->piFont->DrawText(NULL,szText,
+            int iPX = this->piFont->DrawText(nullptr,szText,
                 -1,&sRect,DT_RIGHT | DT_TOP,clrColor);
                 -1,&sRect,DT_RIGHT | DT_TOP,clrColor);
 
 
             sRect.top += iPX;
             sRect.top += iPX;

+ 7 - 7
tools/assimp_view/LogWindow.cpp

@@ -86,7 +86,7 @@ INT_PTR CALLBACK LogDialogProc(HWND hwndDlg,UINT uMsg,
             int x = LOWORD(lParam);
             int x = LOWORD(lParam);
             int y = HIWORD(lParam);
             int y = HIWORD(lParam);
 
 
-            SetWindowPos(GetDlgItem(hwndDlg,IDC_EDIT1),NULL,0,0,
+            SetWindowPos(GetDlgItem(hwndDlg,IDC_EDIT1),nullptr,0,0,
                 x-10,y-12,SWP_NOMOVE|SWP_NOZORDER);
                 x-10,y-12,SWP_NOMOVE|SWP_NOZORDER);
 
 
             return TRUE;
             return TRUE;
@@ -103,7 +103,7 @@ INT_PTR CALLBACK LogDialogProc(HWND hwndDlg,UINT uMsg,
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 void CLogWindow::Init () {
 void CLogWindow::Init () {
     this->hwnd = ::CreateDialog(g_hInstance,MAKEINTRESOURCE(IDD_LOGVIEW),
     this->hwnd = ::CreateDialog(g_hInstance,MAKEINTRESOURCE(IDD_LOGVIEW),
-        NULL,&LogDialogProc);
+        nullptr,&LogDialogProc);
 
 
     if (!this->hwnd) {
     if (!this->hwnd) {
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to create logger window",
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to create logger window",
@@ -156,7 +156,7 @@ void CLogWindow::Save() {
     char szFileName[MAX_PATH];
     char szFileName[MAX_PATH];
 
 
     DWORD dwTemp = MAX_PATH;
     DWORD dwTemp = MAX_PATH;
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LogDestination",NULL,NULL,(BYTE*)szFileName,&dwTemp)) {
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LogDestination",nullptr,nullptr,(BYTE*)szFileName,&dwTemp)) {
         // Key was not found. Use C:
         // Key was not found. Use C:
         strcpy(szFileName,"");
         strcpy(szFileName,"");
     } else {
     } else {
@@ -169,12 +169,12 @@ void CLogWindow::Save() {
     }
     }
     OPENFILENAME sFilename1 = {
     OPENFILENAME sFilename1 = {
         sizeof(OPENFILENAME),
         sizeof(OPENFILENAME),
-        g_hDlg,GetModuleHandle(NULL),
-        "Log files\0*.txt", NULL, 0, 1,
-        szFileName, MAX_PATH, NULL, 0, NULL,
+        g_hDlg,GetModuleHandle(nullptr),
+        "Log files\0*.txt", nullptr, 0, 1,
+        szFileName, MAX_PATH, nullptr, 0, nullptr,
         "Save log to file",
         "Save log to file",
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-        0, 1, ".txt", 0, NULL, NULL
+        0, 1, ".txt", 0, nullptr, nullptr
     };
     };
     if(GetSaveFileName(&sFilename1) == 0) return;
     if(GetSaveFileName(&sFilename1) == 0) return;
 
 

+ 51 - 51
tools/assimp_view/Material.cpp

@@ -210,15 +210,15 @@ int CMaterialManager::SetDefaultTexture(IDirect3DTexture9** p_ppiOut)
         D3DFMT_A8R8G8B8,
         D3DFMT_A8R8G8B8,
         D3DPOOL_MANAGED,
         D3DPOOL_MANAGED,
         p_ppiOut,
         p_ppiOut,
-        NULL)))
+        nullptr)))
     {
     {
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to create default texture",
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to create default texture",
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
 
 
-        *p_ppiOut = NULL;
+        *p_ppiOut = nullptr;
         return 0;
         return 0;
     }
     }
-    D3DXFillTexture(*p_ppiOut,&FillFunc,NULL);
+    D3DXFillTexture(*p_ppiOut,&FillFunc,nullptr);
     sDefaultTexture = *p_ppiOut;
     sDefaultTexture = *p_ppiOut;
     sDefaultTexture->AddRef();
     sDefaultTexture->AddRef();
 
 
@@ -316,7 +316,7 @@ bool CMaterialManager::TryLongerPath(char* szTemp,aiString* p_szString)
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CMaterialManager::FindValidPath(aiString* p_szString)
 int CMaterialManager::FindValidPath(aiString* p_szString)
 {
 {
-    ai_assert(NULL != p_szString);
+    ai_assert(nullptr != p_szString);
     aiString pcpy = *p_szString;
     aiString pcpy = *p_szString;
     if ('*' ==  p_szString->data[0])    {
     if ('*' ==  p_szString->data[0])    {
         // '*' as first character indicates an embedded file
         // '*' as first character indicates an embedded file
@@ -415,10 +415,10 @@ int CMaterialManager::FindValidPath(aiString* p_szString)
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CMaterialManager::LoadTexture(IDirect3DTexture9** p_ppiOut,aiString* szPath)
 int CMaterialManager::LoadTexture(IDirect3DTexture9** p_ppiOut,aiString* szPath)
 {
 {
-    ai_assert(NULL != p_ppiOut);
-    ai_assert(NULL != szPath);
+    ai_assert(nullptr != p_ppiOut);
+    ai_assert(nullptr != szPath);
 
 
-    *p_ppiOut = NULL;
+    *p_ppiOut = nullptr;
 
 
     const std::string s = szPath->data;
     const std::string s = szPath->data;
     TextureCache::iterator ff;
     TextureCache::iterator ff;
@@ -453,7 +453,7 @@ int CMaterialManager::LoadTexture(IDirect3DTexture9** p_ppiOut,aiString* szPath)
                     D3DX_DEFAULT,
                     D3DX_DEFAULT,
                     0,
                     0,
                     &info,
                     &info,
-                    NULL,
+                    nullptr,
                     p_ppiOut)))
                     p_ppiOut)))
                 {
                 {
                     std::string sz = "[ERROR] Unable to load embedded texture (#1): ";
                     std::string sz = "[ERROR] Unable to load embedded texture (#1): ";
@@ -470,7 +470,7 @@ int CMaterialManager::LoadTexture(IDirect3DTexture9** p_ppiOut,aiString* szPath)
                 if(FAILED(g_piDevice->CreateTexture(
                 if(FAILED(g_piDevice->CreateTexture(
                     g_pcAsset->pcScene->mTextures[iIndex]->mWidth,
                     g_pcAsset->pcScene->mTextures[iIndex]->mWidth,
                     g_pcAsset->pcScene->mTextures[iIndex]->mHeight,
                     g_pcAsset->pcScene->mTextures[iIndex]->mHeight,
-                    0,D3DUSAGE_AUTOGENMIPMAP,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,p_ppiOut,NULL)))
+                    0,D3DUSAGE_AUTOGENMIPMAP,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,p_ppiOut,nullptr)))
                 {
                 {
                     std::string sz = "[ERROR] Unable to load embedded texture (#2): ";
                     std::string sz = "[ERROR] Unable to load embedded texture (#2): ";
                     sz.append(szPath->data);
                     sz.append(szPath->data);
@@ -482,7 +482,7 @@ int CMaterialManager::LoadTexture(IDirect3DTexture9** p_ppiOut,aiString* szPath)
 
 
                 // now copy the data to it ... (assume non pow2 to be supported)
                 // now copy the data to it ... (assume non pow2 to be supported)
                 D3DLOCKED_RECT sLock;
                 D3DLOCKED_RECT sLock;
-                (*p_ppiOut)->LockRect(0,&sLock,NULL,0);
+                (*p_ppiOut)->LockRect(0,&sLock,nullptr,0);
 
 
                 const aiTexel* pcData = g_pcAsset->pcScene->mTextures[iIndex]->pcData;
                 const aiTexel* pcData = g_pcAsset->pcScene->mTextures[iIndex]->pcData;
 
 
@@ -524,8 +524,8 @@ int CMaterialManager::LoadTexture(IDirect3DTexture9** p_ppiOut,aiString* szPath)
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         0,
         0,
-        NULL,
-        NULL,
+        nullptr,
+        nullptr,
         p_ppiOut)))
         p_ppiOut)))
     {
     {
         // error ... use the default texture instead
         // error ... use the default texture instead
@@ -550,44 +550,44 @@ void CMaterialManager::DeleteMaterial(AssetHelper::MeshHelper* pcIn)
     if (pcIn->piDiffuseTexture)
     if (pcIn->piDiffuseTexture)
     {
     {
         pcIn->piDiffuseTexture->Release();
         pcIn->piDiffuseTexture->Release();
-        pcIn->piDiffuseTexture = NULL;
+        pcIn->piDiffuseTexture = nullptr;
     }
     }
     if (pcIn->piSpecularTexture)
     if (pcIn->piSpecularTexture)
     {
     {
         pcIn->piSpecularTexture->Release();
         pcIn->piSpecularTexture->Release();
-        pcIn->piSpecularTexture = NULL;
+        pcIn->piSpecularTexture = nullptr;
     }
     }
     if (pcIn->piEmissiveTexture)
     if (pcIn->piEmissiveTexture)
     {
     {
         pcIn->piEmissiveTexture->Release();
         pcIn->piEmissiveTexture->Release();
-        pcIn->piEmissiveTexture = NULL;
+        pcIn->piEmissiveTexture = nullptr;
     }
     }
     if (pcIn->piAmbientTexture)
     if (pcIn->piAmbientTexture)
     {
     {
         pcIn->piAmbientTexture->Release();
         pcIn->piAmbientTexture->Release();
-        pcIn->piAmbientTexture = NULL;
+        pcIn->piAmbientTexture = nullptr;
     }
     }
     if (pcIn->piOpacityTexture)
     if (pcIn->piOpacityTexture)
     {
     {
         pcIn->piOpacityTexture->Release();
         pcIn->piOpacityTexture->Release();
-        pcIn->piOpacityTexture = NULL;
+        pcIn->piOpacityTexture = nullptr;
     }
     }
     if (pcIn->piNormalTexture)
     if (pcIn->piNormalTexture)
     {
     {
         pcIn->piNormalTexture->Release();
         pcIn->piNormalTexture->Release();
-        pcIn->piNormalTexture = NULL;
+        pcIn->piNormalTexture = nullptr;
     }
     }
     if (pcIn->piShininessTexture)
     if (pcIn->piShininessTexture)
     {
     {
         pcIn->piShininessTexture->Release();
         pcIn->piShininessTexture->Release();
-        pcIn->piShininessTexture = NULL;
+        pcIn->piShininessTexture = nullptr;
     }
     }
     if (pcIn->piLightmapTexture)
     if (pcIn->piLightmapTexture)
     {
     {
         pcIn->piLightmapTexture->Release();
         pcIn->piLightmapTexture->Release();
-        pcIn->piLightmapTexture = NULL;
+        pcIn->piLightmapTexture = nullptr;
     }
     }
-    pcIn->piEffect = NULL;
+    pcIn->piEffect = nullptr;
 }
 }
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 void CMaterialManager::HMtoNMIfNecessary(
 void CMaterialManager::HMtoNMIfNecessary(
@@ -595,8 +595,8 @@ void CMaterialManager::HMtoNMIfNecessary(
     IDirect3DTexture9** piTextureOut,
     IDirect3DTexture9** piTextureOut,
     bool bWasOriginallyHM)
     bool bWasOriginallyHM)
 {
 {
-    ai_assert(NULL != piTexture);
-    ai_assert(NULL != piTextureOut);
+    ai_assert(nullptr != piTexture);
+    ai_assert(nullptr != piTextureOut);
 
 
     bool bMustConvert = false;
     bool bMustConvert = false;
     uintptr_t iElement = 3;
     uintptr_t iElement = 3;
@@ -617,7 +617,7 @@ void CMaterialManager::HMtoNMIfNecessary(
     D3DLOCKED_RECT sRect;
     D3DLOCKED_RECT sRect;
     D3DSURFACE_DESC sDesc;
     D3DSURFACE_DESC sDesc;
     piTexture->GetLevelDesc(0,&sDesc);
     piTexture->GetLevelDesc(0,&sDesc);
-    if (FAILED(piTexture->LockRect(0,&sRect,NULL,D3DLOCK_READONLY)))
+    if (FAILED(piTexture->LockRect(0,&sRect,nullptr,D3DLOCK_READONLY)))
     {
     {
         return;
         return;
     }
     }
@@ -749,7 +749,7 @@ void CMaterialManager::HMtoNMIfNecessary(
             piTexture->GetLevelCount(),
             piTexture->GetLevelCount(),
             sDesc2.Usage,
             sDesc2.Usage,
             sDesc2.Format,
             sDesc2.Format,
-            sDesc2.Pool, &piTempTexture, NULL)))
+            sDesc2.Pool, &piTempTexture, nullptr)))
         {
         {
             CLogDisplay::Instance().AddEntry(
             CLogDisplay::Instance().AddEntry(
                 "[ERROR] Unable to create normal map texture",
                 "[ERROR] Unable to create normal map texture",
@@ -764,7 +764,7 @@ void CMaterialManager::HMtoNMIfNecessary(
         else /*if (0 == iElement)*/dwFlags = D3DX_CHANNEL_BLUE;
         else /*if (0 == iElement)*/dwFlags = D3DX_CHANNEL_BLUE;
 
 
         if(FAILED(D3DXComputeNormalMap(piTempTexture,
         if(FAILED(D3DXComputeNormalMap(piTempTexture,
-            piTexture,NULL,0,dwFlags,1.0f)))
+            piTexture,nullptr,0,dwFlags,1.0f)))
         {
         {
             CLogDisplay::Instance().AddEntry(
             CLogDisplay::Instance().AddEntry(
                 "[ERROR] Unable to compute normal map from height map",
                 "[ERROR] Unable to compute normal map from height map",
@@ -780,12 +780,12 @@ void CMaterialManager::HMtoNMIfNecessary(
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 bool CMaterialManager::HasAlphaPixels(IDirect3DTexture9* piTexture)
 bool CMaterialManager::HasAlphaPixels(IDirect3DTexture9* piTexture)
 {
 {
-    ai_assert(NULL != piTexture);
+    ai_assert(nullptr != piTexture);
 
 
     D3DLOCKED_RECT sRect;
     D3DLOCKED_RECT sRect;
     D3DSURFACE_DESC sDesc;
     D3DSURFACE_DESC sDesc;
     piTexture->GetLevelDesc(0,&sDesc);
     piTexture->GetLevelDesc(0,&sDesc);
-    if (FAILED(piTexture->LockRect(0,&sRect,NULL,D3DLOCK_READONLY)))
+    if (FAILED(piTexture->LockRect(0,&sRect,nullptr,D3DLOCK_READONLY)))
     {
     {
         return false;
         return false;
     }
     }
@@ -823,8 +823,8 @@ bool CMaterialManager::HasAlphaPixels(IDirect3DTexture9* piTexture)
 int CMaterialManager::CreateMaterial(
 int CMaterialManager::CreateMaterial(
     AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSource)
     AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSource)
 {
 {
-    ai_assert(NULL != pcMesh);
-    ai_assert(NULL != pcSource);
+    ai_assert(nullptr != pcMesh);
+    ai_assert(nullptr != pcSource);
 
 
     ID3DXBuffer* piBuffer;
     ID3DXBuffer* piBuffer;
 
 
@@ -1060,29 +1060,29 @@ int CMaterialManager::CreateMaterial(
         }
         }
         AssetHelper::MeshHelper* pc = g_pcAsset->apcMeshes[i];
         AssetHelper::MeshHelper* pc = g_pcAsset->apcMeshes[i];
 
 
-        if  ((pcMesh->piDiffuseTexture != NULL ? true : false) !=
-            (pc->piDiffuseTexture != NULL ? true : false))
+        if  ((pcMesh->piDiffuseTexture != nullptr ? true : false) !=
+            (pc->piDiffuseTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piSpecularTexture != NULL ? true : false) !=
-            (pc->piSpecularTexture != NULL ? true : false))
+        if  ((pcMesh->piSpecularTexture != nullptr ? true : false) !=
+            (pc->piSpecularTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piAmbientTexture != NULL ? true : false) !=
-            (pc->piAmbientTexture != NULL ? true : false))
+        if  ((pcMesh->piAmbientTexture != nullptr ? true : false) !=
+            (pc->piAmbientTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piEmissiveTexture != NULL ? true : false) !=
-            (pc->piEmissiveTexture != NULL ? true : false))
+        if  ((pcMesh->piEmissiveTexture != nullptr ? true : false) !=
+            (pc->piEmissiveTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piNormalTexture != NULL ? true : false) !=
-            (pc->piNormalTexture != NULL ? true : false))
+        if  ((pcMesh->piNormalTexture != nullptr ? true : false) !=
+            (pc->piNormalTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piOpacityTexture != NULL ? true : false) !=
-            (pc->piOpacityTexture != NULL ? true : false))
+        if  ((pcMesh->piOpacityTexture != nullptr ? true : false) !=
+            (pc->piOpacityTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piShininessTexture != NULL ? true : false) !=
-            (pc->piShininessTexture != NULL ? true : false))
+        if  ((pcMesh->piShininessTexture != nullptr ? true : false) !=
+            (pc->piShininessTexture != nullptr ? true : false))
             continue;
             continue;
-        if  ((pcMesh->piLightmapTexture != NULL ? true : false) !=
-            (pc->piLightmapTexture != NULL ? true : false))
+        if  ((pcMesh->piLightmapTexture != nullptr ? true : false) !=
+            (pc->piLightmapTexture != nullptr ? true : false))
             continue;
             continue;
         if ((pcMesh->eShadingMode != aiShadingMode_Gouraud ? true : false) !=
         if ((pcMesh->eShadingMode != aiShadingMode_Gouraud ? true : false) !=
             (pc->eShadingMode != aiShadingMode_Gouraud ? true : false))
             (pc->eShadingMode != aiShadingMode_Gouraud ? true : false))
@@ -1239,13 +1239,13 @@ int CMaterialManager::CreateMaterial(
         sMacro[iCurrent].Definition = "1";
         sMacro[iCurrent].Definition = "1";
         ++iCurrent;
         ++iCurrent;
     }
     }
-    sMacro[iCurrent].Name = NULL;
-    sMacro[iCurrent].Definition = NULL;
+    sMacro[iCurrent].Name = nullptr;
+    sMacro[iCurrent].Definition = nullptr;
 
 
     // compile the shader
     // compile the shader
     if(FAILED( D3DXCreateEffect(g_piDevice,
     if(FAILED( D3DXCreateEffect(g_piDevice,
         g_szMaterialShader.c_str(),(UINT)g_szMaterialShader.length(),
         g_szMaterialShader.c_str(),(UINT)g_szMaterialShader.length(),
-        (const D3DXMACRO*)sMacro,NULL,0,NULL,&pcMesh->piEffect,&piBuffer)))
+        (const D3DXMACRO*)sMacro,nullptr,0,nullptr,&pcMesh->piEffect,&piBuffer)))
     {
     {
         // failed to compile the shader
         // failed to compile the shader
         if( piBuffer)
         if( piBuffer)
@@ -1333,7 +1333,7 @@ int CMaterialManager::SetupMaterial (
     const aiMatrix4x4& pcCam,
     const aiMatrix4x4& pcCam,
     const aiVector3D& vPos)
     const aiVector3D& vPos)
 {
 {
-    ai_assert(NULL != pcMesh);
+    ai_assert(nullptr != pcMesh);
     if (!pcMesh->piEffect)return 0;
     if (!pcMesh->piEffect)return 0;
 
 
     ID3DXEffect* piEnd = pcMesh->piEffect;
     ID3DXEffect* piEnd = pcMesh->piEffect;
@@ -1476,7 +1476,7 @@ int CMaterialManager::SetupMaterial (
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CMaterialManager::EndMaterial (AssetHelper::MeshHelper* pcMesh)
 int CMaterialManager::EndMaterial (AssetHelper::MeshHelper* pcMesh)
 {
 {
-    ai_assert(NULL != pcMesh);
+    ai_assert(nullptr != pcMesh);
     if (!pcMesh->piEffect)return 0;
     if (!pcMesh->piEffect)return 0;
 
 
     // end the effect
     // end the effect

+ 85 - 85
tools/assimp_view/MessageProc.cpp

@@ -60,13 +60,13 @@ using namespace Assimp;
 COLORREF g_aclCustomColors[16] = {0};
 COLORREF g_aclCustomColors[16] = {0};
 
 
 // Global registry key
 // Global registry key
-HKEY g_hRegistry = NULL;
+HKEY g_hRegistry = nullptr;
 
 
 // list of previous files (always 5)
 // list of previous files (always 5)
 std::vector<std::string> g_aPreviousFiles;
 std::vector<std::string> g_aPreviousFiles;
 
 
 // history menu item
 // history menu item
-HMENU g_hHistoryMenu = NULL;
+HMENU g_hHistoryMenu = nullptr;
 
 
 float g_fACMR = 3.0f;
 float g_fACMR = 3.0f;
 
 
@@ -89,10 +89,10 @@ void MakeFileAssociations() {
     char szTemp2[MAX_PATH];
     char szTemp2[MAX_PATH];
     char szTemp[MAX_PATH + 10];
     char szTemp[MAX_PATH + 10];
 
 
-    GetModuleFileName(NULL,szTemp2,MAX_PATH);
+    GetModuleFileName(nullptr,szTemp2,MAX_PATH);
     sprintf(szTemp,"%s %%1",szTemp2);
     sprintf(szTemp,"%s %%1",szTemp2);
 
 
-    HKEY hRegistry = NULL;
+    HKEY hRegistry = nullptr;
 
 
     aiString list, tmp;
     aiString list, tmp;
     aiGetExtensionList(&list);
     aiGetExtensionList(&list);
@@ -104,15 +104,15 @@ void MakeFileAssociations() {
         ai_assert(sz[0] == '*');
         ai_assert(sz[0] == '*');
         sprintf(buf,"Software\\Classes\\%s",sz+1);
         sprintf(buf,"Software\\Classes\\%s",sz+1);
 
 
-        RegCreateKeyEx(HKEY_CURRENT_USER,buf,0,NULL,0,KEY_ALL_ACCESS, NULL, &hRegistry,NULL);
+        RegCreateKeyEx(HKEY_CURRENT_USER,buf,0,nullptr,0,KEY_ALL_ACCESS, nullptr, &hRegistry,nullptr);
         RegSetValueEx(hRegistry,"",0,REG_SZ,(const BYTE*)"ASSIMPVIEW_CLASS",(DWORD)strlen("ASSIMPVIEW_CLASS")+1);
         RegSetValueEx(hRegistry,"",0,REG_SZ,(const BYTE*)"ASSIMPVIEW_CLASS",(DWORD)strlen("ASSIMPVIEW_CLASS")+1);
         RegCloseKey(hRegistry);
         RegCloseKey(hRegistry);
     } while ((sz = strtok(nullptr,";")) != nullptr);
     } while ((sz = strtok(nullptr,";")) != nullptr);
 
 
-    RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Classes\\ASSIMPVIEW_CLASS",0,NULL,0,KEY_ALL_ACCESS, NULL, &hRegistry,NULL);
+    RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Classes\\ASSIMPVIEW_CLASS",0,nullptr,0,KEY_ALL_ACCESS, nullptr, &hRegistry,nullptr);
     RegCloseKey(hRegistry);
     RegCloseKey(hRegistry);
 
 
-    RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Classes\\ASSIMPVIEW_CLASS\\shell\\open\\command",0,NULL,0,KEY_ALL_ACCESS, NULL, &hRegistry,NULL);
+    RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Classes\\ASSIMPVIEW_CLASS\\shell\\open\\command",0,nullptr,0,KEY_ALL_ACCESS, nullptr, &hRegistry,nullptr);
     RegSetValueEx(hRegistry,"",0,REG_SZ,(const BYTE*)szTemp,(DWORD)strlen(szTemp)+1);
     RegSetValueEx(hRegistry,"",0,REG_SZ,(const BYTE*)szTemp,(DWORD)strlen(szTemp)+1);
     RegCloseKey(hRegistry);
     RegCloseKey(hRegistry);
 
 
@@ -157,9 +157,9 @@ void HandleCommandLine(char* p_szCommand) {
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 void LoadLightColors() {
 void LoadLightColors() {
     DWORD dwTemp = 4;
     DWORD dwTemp = 4;
-    RegQueryValueEx(g_hRegistry,"LightColor0",NULL,NULL, (BYTE*)&g_avLightColors[0],&dwTemp);
-    RegQueryValueEx(g_hRegistry,"LightColor1",NULL,NULL, (BYTE*)&g_avLightColors[1],&dwTemp);
-    RegQueryValueEx(g_hRegistry,"LightColor2",NULL,NULL, (BYTE*)&g_avLightColors[2],&dwTemp);
+    RegQueryValueEx(g_hRegistry,"LightColor0",nullptr,nullptr, (BYTE*)&g_avLightColors[0],&dwTemp);
+    RegQueryValueEx(g_hRegistry,"LightColor1",nullptr,nullptr, (BYTE*)&g_avLightColors[1],&dwTemp);
+    RegQueryValueEx(g_hRegistry,"LightColor2",nullptr,nullptr, (BYTE*)&g_avLightColors[2],&dwTemp);
 }
 }
 
 
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
@@ -190,10 +190,10 @@ void SaveCheckerPatternColors() {
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 void LoadCheckerPatternColors() {
 void LoadCheckerPatternColors() {
     DWORD dwTemp = sizeof(D3DXVECTOR3);
     DWORD dwTemp = sizeof(D3DXVECTOR3);
-    RegQueryValueEx(g_hRegistry,"CheckerPattern0",NULL,NULL,
+    RegQueryValueEx(g_hRegistry,"CheckerPattern0",nullptr,nullptr,
         (BYTE*) /* jep, this is evil */ CDisplay::Instance().GetFirstCheckerColor(),&dwTemp);
         (BYTE*) /* jep, this is evil */ CDisplay::Instance().GetFirstCheckerColor(),&dwTemp);
 
 
-    RegQueryValueEx(g_hRegistry,"CheckerPattern1",NULL,NULL,
+    RegQueryValueEx(g_hRegistry,"CheckerPattern1",nullptr,nullptr,
         (BYTE*) /* jep, this is evil */ CDisplay::Instance().GetSecondCheckerColor(),&dwTemp);
         (BYTE*) /* jep, this is evil */ CDisplay::Instance().GetSecondCheckerColor(),&dwTemp);
 }
 }
 
 
@@ -372,13 +372,13 @@ void ToggleUIState() {
     sRect2.top -= sRect.top;
     sRect2.top -= sRect.top;
 
 
     if (BST_UNCHECKED == IsDlgButtonChecked(g_hDlg,IDC_BLUBB)) {
     if (BST_UNCHECKED == IsDlgButtonChecked(g_hDlg,IDC_BLUBB)) {
-        SetWindowPos(g_hDlg,NULL,0,0,sRect.right-214,sRect.bottom,
+        SetWindowPos(g_hDlg,nullptr,0,0,sRect.right-214,sRect.bottom,
             SWP_NOMOVE | SWP_NOZORDER);
             SWP_NOMOVE | SWP_NOZORDER);
 
 
         SetWindowText(GetDlgItem(g_hDlg,IDC_BLUBB),">>");
         SetWindowText(GetDlgItem(g_hDlg,IDC_BLUBB),">>");
         storeRegKey(false, "MultiSampling");
         storeRegKey(false, "MultiSampling");
     } else {
     } else {
-        SetWindowPos(g_hDlg,NULL,0,0,sRect.right+214,sRect.bottom,
+        SetWindowPos(g_hDlg,nullptr,0,0,sRect.right+214,sRect.bottom,
             SWP_NOMOVE | SWP_NOZORDER);
             SWP_NOMOVE | SWP_NOZORDER);
 
 
         storeRegKey(true, "LastUIState");
         storeRegKey(true, "LastUIState");
@@ -394,7 +394,7 @@ void LoadBGTexture() {
     char szFileName[MAX_PATH];
     char szFileName[MAX_PATH];
 
 
     DWORD dwTemp = MAX_PATH;
     DWORD dwTemp = MAX_PATH;
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"TextureSrc",NULL,NULL, (BYTE*)szFileName,&dwTemp)) {
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"TextureSrc",nullptr,nullptr, (BYTE*)szFileName,&dwTemp)) {
         // Key was not found. Use C:
         // Key was not found. Use C:
         strcpy(szFileName,"");
         strcpy(szFileName,"");
     } else {
     } else {
@@ -407,13 +407,13 @@ void LoadBGTexture() {
     }
     }
     OPENFILENAME sFilename1 = {
     OPENFILENAME sFilename1 = {
         sizeof(OPENFILENAME),
         sizeof(OPENFILENAME),
-        g_hDlg,GetModuleHandle(NULL),
+        g_hDlg,GetModuleHandle(nullptr),
         "Textures\0*.png;*.dds;*.tga;*.bmp;*.tif;*.ppm;*.ppx;*.jpg;*.jpeg;*.exr\0*.*\0",
         "Textures\0*.png;*.dds;*.tga;*.bmp;*.tif;*.ppm;*.ppx;*.jpg;*.jpeg;*.exr\0*.*\0",
-        NULL, 0, 1,
-        szFileName, MAX_PATH, NULL, 0, NULL,
+        nullptr, 0, 1,
+        szFileName, MAX_PATH, nullptr, 0, nullptr,
         "Open texture as background",
         "Open texture as background",
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-        0, 1, ".jpg", 0, NULL, NULL
+        0, 1, ".jpg", 0, nullptr, nullptr
     };
     };
     if(GetOpenFileName(&sFilename1) == 0) return;
     if(GetOpenFileName(&sFilename1) == 0) return;
 
 
@@ -448,8 +448,8 @@ void DisplayColorDialog(D3DCOLOR* pclrResult) {
     clr.Flags = CC_RGBINIT | CC_FULLOPEN;
     clr.Flags = CC_RGBINIT | CC_FULLOPEN;
     clr.rgbResult = RGB((*pclrResult >> 16) & 0xff,(*pclrResult >> 8) & 0xff,*pclrResult & 0xff);
     clr.rgbResult = RGB((*pclrResult >> 16) & 0xff,(*pclrResult >> 8) & 0xff,*pclrResult & 0xff);
     clr.lpCustColors = g_aclCustomColors;
     clr.lpCustColors = g_aclCustomColors;
-    clr.lpfnHook = NULL;
-    clr.lpTemplateName = NULL;
+    clr.lpfnHook = nullptr;
+    clr.lpTemplateName = nullptr;
     clr.lCustData = 0;
     clr.lCustData = 0;
 
 
     ChooseColor(&clr);
     ChooseColor(&clr);
@@ -472,8 +472,8 @@ void DisplayColorDialog(D3DXVECTOR4* pclrResult) {
         clamp<unsigned char>(pclrResult->y * 255.0f),
         clamp<unsigned char>(pclrResult->y * 255.0f),
         clamp<unsigned char>(pclrResult->z * 255.0f));
         clamp<unsigned char>(pclrResult->z * 255.0f));
     clr.lpCustColors = g_aclCustomColors;
     clr.lpCustColors = g_aclCustomColors;
-    clr.lpfnHook = NULL;
-    clr.lpTemplateName = NULL;
+    clr.lpfnHook = nullptr;
+    clr.lpTemplateName = nullptr;
     clr.lCustData = 0;
     clr.lCustData = 0;
 
 
     ChooseColor(&clr);
     ChooseColor(&clr);
@@ -504,7 +504,7 @@ void LoadSkybox() {
     char szFileName[MAX_PATH];
     char szFileName[MAX_PATH];
 
 
     DWORD dwTemp = MAX_PATH;
     DWORD dwTemp = MAX_PATH;
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"SkyBoxSrc",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"SkyBoxSrc",nullptr,nullptr,
         (BYTE*)szFileName,&dwTemp))
         (BYTE*)szFileName,&dwTemp))
     {
     {
         // Key was not found. Use C:
         // Key was not found. Use C:
@@ -521,12 +521,12 @@ void LoadSkybox() {
     }
     }
     OPENFILENAME sFilename1 = {
     OPENFILENAME sFilename1 = {
         sizeof(OPENFILENAME),
         sizeof(OPENFILENAME),
-        g_hDlg,GetModuleHandle(NULL),
-        "Skyboxes\0*.dds\0*.*\0", NULL, 0, 1,
-        szFileName, MAX_PATH, NULL, 0, NULL,
+        g_hDlg,GetModuleHandle(nullptr),
+        "Skyboxes\0*.dds\0*.*\0", nullptr, 0, 1,
+        szFileName, MAX_PATH, nullptr, 0, nullptr,
         "Open skybox as background",
         "Open skybox as background",
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-        0, 1, ".dds", 0, NULL, NULL
+        0, 1, ".dds", 0, nullptr, nullptr
     };
     };
     if(GetOpenFileName(&sFilename1) == 0) return;
     if(GetOpenFileName(&sFilename1) == 0) return;
 
 
@@ -555,7 +555,7 @@ void SaveScreenshot() {
     char szFileName[MAX_PATH];
     char szFileName[MAX_PATH];
 
 
     DWORD dwTemp = MAX_PATH;
     DWORD dwTemp = MAX_PATH;
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"ScreenShot",NULL,NULL, (BYTE*)szFileName,&dwTemp)) {
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"ScreenShot",nullptr,nullptr, (BYTE*)szFileName,&dwTemp)) {
         // Key was not found. Use C:
         // Key was not found. Use C:
         strcpy(szFileName,"");
         strcpy(szFileName,"");
     } else {
     } else {
@@ -568,21 +568,21 @@ void SaveScreenshot() {
     }
     }
     OPENFILENAME sFilename1 = {
     OPENFILENAME sFilename1 = {
         sizeof(OPENFILENAME),
         sizeof(OPENFILENAME),
-        g_hDlg,GetModuleHandle(NULL),
-        "PNG Images\0*.png", NULL, 0, 1,
-        szFileName, MAX_PATH, NULL, 0, NULL,
+        g_hDlg,GetModuleHandle(nullptr),
+        "PNG Images\0*.png", nullptr, 0, 1,
+        szFileName, MAX_PATH, nullptr, 0, nullptr,
         "Save Screenshot to file",
         "Save Screenshot to file",
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-        0, 1, ".png", 0, NULL, NULL
+        0, 1, ".png", 0, nullptr, nullptr
     };
     };
     if(GetSaveFileName(&sFilename1) == 0) return;
     if(GetSaveFileName(&sFilename1) == 0) return;
 
 
     // Now store the file in the registry
     // Now store the file in the registry
     RegSetValueExA(g_hRegistry,"ScreenShot",0,REG_SZ,(const BYTE*)szFileName,MAX_PATH);
     RegSetValueExA(g_hRegistry,"ScreenShot",0,REG_SZ,(const BYTE*)szFileName,MAX_PATH);
 
 
-    IDirect3DSurface9* pi = NULL;
+    IDirect3DSurface9* pi = nullptr;
     g_piDevice->GetRenderTarget(0,&pi);
     g_piDevice->GetRenderTarget(0,&pi);
-    if(!pi || FAILED(D3DXSaveSurfaceToFile(szFileName,D3DXIFF_PNG,pi,NULL,NULL))) {
+    if(!pi || FAILED(D3DXSaveSurfaceToFile(szFileName,D3DXIFF_PNG,pi,nullptr,nullptr))) {
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to save screenshot",
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to save screenshot",
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
     } else {
     } else {
@@ -751,7 +751,7 @@ void LoadHistory() {
         DWORD dwTemp = MAX_PATH;
         DWORD dwTemp = MAX_PATH;
 
 
         szFileName[0] ='\0';
         szFileName[0] ='\0';
-        if(ERROR_SUCCESS == RegQueryValueEx(g_hRegistry,szName,NULL,NULL,
+        if(ERROR_SUCCESS == RegQueryValueEx(g_hRegistry,szName,nullptr,nullptr,
                 (BYTE*)szFileName,&dwTemp)) {
                 (BYTE*)szFileName,&dwTemp)) {
             g_aPreviousFiles[i] = std::string(szFileName);
             g_aPreviousFiles[i] = std::string(szFileName);
         }
         }
@@ -826,7 +826,7 @@ void OpenAsset() {
     char szFileName[MAX_PATH];
     char szFileName[MAX_PATH];
 
 
     DWORD dwTemp = MAX_PATH;
     DWORD dwTemp = MAX_PATH;
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"CurrentApp",NULL,NULL, (BYTE*)szFileName,&dwTemp)) {
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"CurrentApp",nullptr,nullptr, (BYTE*)szFileName,&dwTemp)) {
         // Key was not found. Use C:
         // Key was not found. Use C:
         strcpy(szFileName,"");
         strcpy(szFileName,"");
     } else {
     } else {
@@ -856,15 +856,15 @@ void OpenAsset() {
     ZeroMemory(&sFilename1, sizeof(sFilename1));
     ZeroMemory(&sFilename1, sizeof(sFilename1));
     sFilename1.lStructSize = sizeof(sFilename1);
     sFilename1.lStructSize = sizeof(sFilename1);
     sFilename1.hwndOwner = g_hDlg;
     sFilename1.hwndOwner = g_hDlg;
-    sFilename1.hInstance = GetModuleHandle(NULL);
+    sFilename1.hInstance = GetModuleHandle(nullptr);
     sFilename1.lpstrFile = szFileName;
     sFilename1.lpstrFile = szFileName;
     sFilename1.lpstrFile[0] = '\0';
     sFilename1.lpstrFile[0] = '\0';
     sFilename1.nMaxFile = sizeof(szList);
     sFilename1.nMaxFile = sizeof(szList);
     sFilename1.lpstrFilter = szList;
     sFilename1.lpstrFilter = szList;
     sFilename1.nFilterIndex = 1;
     sFilename1.nFilterIndex = 1;
-    sFilename1.lpstrFileTitle = NULL;
+    sFilename1.lpstrFileTitle = nullptr;
     sFilename1.nMaxFileTitle = 0;
     sFilename1.nMaxFileTitle = 0;
-    sFilename1.lpstrInitialDir = NULL;
+    sFilename1.lpstrInitialDir = nullptr;
     sFilename1.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;
     sFilename1.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;
     if (GetOpenFileName(&sFilename1) == 0) {
     if (GetOpenFileName(&sFilename1) == 0) {
         return;
         return;
@@ -942,7 +942,7 @@ void DoExport(size_t formatId) {
 
 
     char szFileName[MAX_PATH*2];
     char szFileName[MAX_PATH*2];
     DWORD dwTemp = sizeof(szFileName);
     DWORD dwTemp = sizeof(szFileName);
-    if(ERROR_SUCCESS == RegQueryValueEx(g_hRegistry,"ModelExportDest",NULL,NULL,(BYTE*)szFileName, &dwTemp)) {
+    if(ERROR_SUCCESS == RegQueryValueEx(g_hRegistry,"ModelExportDest",nullptr,nullptr,(BYTE*)szFileName, &dwTemp)) {
         ai_assert(strlen(szFileName) <= MAX_PATH);
         ai_assert(strlen(szFileName) <= MAX_PATH);
 
 
         // invent a nice default file name
         // invent a nice default file name
@@ -975,12 +975,12 @@ void DoExport(size_t formatId) {
     const std::string ext = "."+std::string(e->fileExtension);
     const std::string ext = "."+std::string(e->fileExtension);
     OPENFILENAME sFilename1 = {
     OPENFILENAME sFilename1 = {
         sizeof(OPENFILENAME),
         sizeof(OPENFILENAME),
-        g_hDlg,GetModuleHandle(NULL),
-        desc, NULL, 0, 1,
-        szFileName, MAX_PATH, NULL, 0, NULL,
+        g_hDlg,GetModuleHandle(nullptr),
+        desc, nullptr, 0, 1,
+        szFileName, MAX_PATH, nullptr, 0, nullptr,
         "Export asset",
         "Export asset",
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
         OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NOCHANGEDIR,
-        0, 1, ext.c_str(), 0, NULL, NULL
+        0, 1, ext.c_str(), 0, nullptr, nullptr
     };
     };
     if(::GetSaveFileName(&sFilename1) == 0) {
     if(::GetSaveFileName(&sFilename1) == 0) {
         return;
         return;
@@ -1036,9 +1036,9 @@ void InitUI() {
 
 
     // store the key in a global variable for later use
     // store the key in a global variable for later use
     RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\ASSIMP\\Viewer",
     RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\ASSIMP\\Viewer",
-        0,NULL,0,KEY_ALL_ACCESS, NULL, &g_hRegistry,NULL);
+        0,nullptr,0,KEY_ALL_ACCESS, nullptr, &g_hRegistry,nullptr);
 
 
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LastUIState",NULL,NULL, (BYTE*)&dwValue,&dwTemp)) {
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LastUIState",nullptr,nullptr, (BYTE*)&dwValue,&dwTemp)) {
         dwValue = 1;
         dwValue = 1;
     }
     }
     if (0 == dwValue) {
     if (0 == dwValue) {
@@ -1054,7 +1054,7 @@ void InitUI() {
         sRect2.left -= sRect.left;
         sRect2.left -= sRect.left;
         sRect2.top -= sRect.top;
         sRect2.top -= sRect.top;
 
 
-        SetWindowPos(g_hDlg,NULL,0,0,sRect.right-214,sRect.bottom,
+        SetWindowPos(g_hDlg,nullptr,0,0,sRect.right-214,sRect.bottom,
             SWP_NOMOVE | SWP_NOZORDER);
             SWP_NOMOVE | SWP_NOZORDER);
         SetWindowText(GetDlgItem(g_hDlg,IDC_BLUBB),">>");
         SetWindowText(GetDlgItem(g_hDlg,IDC_BLUBB),">>");
     } else {
     } else {
@@ -1062,7 +1062,7 @@ void InitUI() {
     }
     }
 
 
     // AutoRotate
     // AutoRotate
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"AutoRotate",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"AutoRotate",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_sOptions.bRotate = false;
         g_sOptions.bRotate = false;
@@ -1073,7 +1073,7 @@ void InitUI() {
     }
     }
 
 
     // MultipleLights
     // MultipleLights
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"MultipleLights",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"MultipleLights",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_sOptions.b3Lights = false;
         g_sOptions.b3Lights = false;
@@ -1084,7 +1084,7 @@ void InitUI() {
     }
     }
 
 
     // Light rotate
     // Light rotate
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LightRotate",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LightRotate",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_sOptions.bLightRotate = false;
         g_sOptions.bLightRotate = false;
@@ -1095,7 +1095,7 @@ void InitUI() {
     }
     }
 
 
     // NoSpecular
     // NoSpecular
-    if (ERROR_SUCCESS != RegQueryValueEx(g_hRegistry, "NoSpecular", NULL, NULL, (BYTE*)&dwValue, &dwTemp)) {
+    if (ERROR_SUCCESS != RegQueryValueEx(g_hRegistry, "NoSpecular", nullptr, nullptr, (BYTE*)&dwValue, &dwTemp)) {
         dwValue = 0;
         dwValue = 0;
     }
     }
     if (0 == dwValue) {
     if (0 == dwValue) {
@@ -1107,7 +1107,7 @@ void InitUI() {
     }
     }
 
 
     // LowQuality
     // LowQuality
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LowQuality",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"LowQuality",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_sOptions.bLowQuality = false;
         g_sOptions.bLowQuality = false;
@@ -1118,7 +1118,7 @@ void InitUI() {
     }
     }
 
 
     // LowQuality
     // LowQuality
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"NoTransparency",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"NoTransparency",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_sOptions.bNoAlphaBlending = false;
         g_sOptions.bNoAlphaBlending = false;
@@ -1129,7 +1129,7 @@ void InitUI() {
     }
     }
 
 
     // DisplayNormals
     // DisplayNormals
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"RenderNormals",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"RenderNormals",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_sOptions.bRenderNormals = false;
         g_sOptions.bRenderNormals = false;
@@ -1140,7 +1140,7 @@ void InitUI() {
     }
     }
 
 
     // NoMaterials
     // NoMaterials
-    if (ERROR_SUCCESS != RegQueryValueEx(g_hRegistry, "RenderMats", NULL, NULL,
+    if (ERROR_SUCCESS != RegQueryValueEx(g_hRegistry, "RenderMats", nullptr, nullptr,
         (BYTE*)&dwValue, &dwTemp)) {
         (BYTE*)&dwValue, &dwTemp)) {
         dwValue = 1;
         dwValue = 1;
     }
     }
@@ -1153,7 +1153,7 @@ void InitUI() {
     }
     }
 
 
     // MultiSampling
     // MultiSampling
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"MultiSampling",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"MultiSampling",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 1;
         (BYTE*)&dwValue,&dwTemp))dwValue = 1;
     if (0 == dwValue)
     if (0 == dwValue)
     {
     {
@@ -1165,7 +1165,7 @@ void InitUI() {
     }
     }
 
 
     // FPS Mode
     // FPS Mode
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"FPSView",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"FPSView",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue) {
     if (0 == dwValue) {
         g_bFPSView = false;
         g_bFPSView = false;
@@ -1176,7 +1176,7 @@ void InitUI() {
     }
     }
 
 
     // WireFrame
     // WireFrame
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"Wireframe",NULL,NULL,
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"Wireframe",nullptr,nullptr,
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
         (BYTE*)&dwValue,&dwTemp))dwValue = 0;
     if (0 == dwValue)
     if (0 == dwValue)
     {
     {
@@ -1189,7 +1189,7 @@ void InitUI() {
         CheckDlgButton(g_hDlg,IDC_TOGGLEWIRE,BST_CHECKED);
         CheckDlgButton(g_hDlg,IDC_TOGGLEWIRE,BST_CHECKED);
     }
     }
 
 
-    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"PostProcessing",NULL,NULL,(BYTE*)&dwValue,&dwTemp))
+    if(ERROR_SUCCESS != RegQueryValueEx(g_hRegistry,"PostProcessing",nullptr,nullptr,(BYTE*)&dwValue,&dwTemp))
         ppsteps = ppstepsdefault;
         ppsteps = ppstepsdefault;
     else ppsteps = dwValue;
     else ppsteps = dwValue;
 
 
@@ -1458,7 +1458,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
                 if (bDraw)
                 if (bDraw)
                 {
                 {
                     SetBkColor(pcStruct->hDC,RGB(0,0,0));
                     SetBkColor(pcStruct->hDC,RGB(0,0,0));
-                    MoveToEx(pcStruct->hDC,0,0,NULL);
+                    MoveToEx(pcStruct->hDC,0,0,nullptr);
                     LineTo(pcStruct->hDC,sRect.right-1,0);
                     LineTo(pcStruct->hDC,sRect.right-1,0);
                     LineTo(pcStruct->hDC,sRect.right-1,sRect.bottom-1);
                     LineTo(pcStruct->hDC,sRect.right-1,sRect.bottom-1);
                     LineTo(pcStruct->hDC,0,sRect.bottom-1);
                     LineTo(pcStruct->hDC,0,sRect.bottom-1);
@@ -1534,7 +1534,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
             g_eClick = EClickPos_Outside;
             g_eClick = EClickPos_Outside;
             if (xPos2 >= fHalfX && xPos2 < fHalfX + (int)sDesc.Width &&
             if (xPos2 >= fHalfX && xPos2 < fHalfX + (int)sDesc.Width &&
                 yPos2 >= fHalfY && yPos2 < fHalfY + (int)sDesc.Height &&
                 yPos2 >= fHalfY && yPos2 < fHalfY + (int)sDesc.Height &&
-                NULL != g_szImageMask)
+                nullptr != g_szImageMask)
                 {
                 {
                 // inside the texture. Lookup the grayscale value from it
                 // inside the texture. Lookup the grayscale value from it
                 xPos2 -= fHalfX;
                 xPos2 -= fHalfX;
@@ -1710,13 +1710,13 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
             } else if (ID_TOOLS_LOGWINDOW == LOWORD(wParam)) {
             } else if (ID_TOOLS_LOGWINDOW == LOWORD(wParam)) {
                 CLogWindow::Instance().Show();
                 CLogWindow::Instance().Show();
             } else if (ID__WEBSITE == LOWORD(wParam)) {
             } else if (ID__WEBSITE == LOWORD(wParam)) {
-                ShellExecute(NULL,"open","http://assimp.sourceforge.net","","",SW_SHOW);
+                ShellExecute(nullptr,"open","http://assimp.sourceforge.net","","",SW_SHOW);
             } else if (ID__WEBSITESF == LOWORD(wParam)) {
             } else if (ID__WEBSITESF == LOWORD(wParam)) {
-                ShellExecute(NULL,"open","https://sourceforge.net/projects/assimp","","",SW_SHOW);
+                ShellExecute(nullptr,"open","https://sourceforge.net/projects/assimp","","",SW_SHOW);
             }  else if (ID_REPORTBUG == LOWORD(wParam)) {
             }  else if (ID_REPORTBUG == LOWORD(wParam)) {
-                ShellExecute(NULL,"open","https://sourceforge.net/tracker/?func=add&group_id=226462&atid=1067632","","",SW_SHOW);
+                ShellExecute(nullptr,"open","https://sourceforge.net/tracker/?func=add&group_id=226462&atid=1067632","","",SW_SHOW);
             } else if (ID_FR == LOWORD(wParam)) {
             } else if (ID_FR == LOWORD(wParam)) {
-                ShellExecute(NULL,"open","https://sourceforge.net/forum/forum.php?forum_id=817653","","",SW_SHOW);
+                ShellExecute(nullptr,"open","https://sourceforge.net/forum/forum.php?forum_id=817653","","",SW_SHOW);
             } else if (ID_TOOLS_CLEARLOG == LOWORD(wParam)) {
             } else if (ID_TOOLS_CLEARLOG == LOWORD(wParam)) {
                 CLogWindow::Instance().Clear();
                 CLogWindow::Instance().Clear();
             } else if (ID_TOOLS_SAVELOGTOFILE == LOWORD(wParam)) {
             } else if (ID_TOOLS_SAVELOGTOFILE == LOWORD(wParam)) {
@@ -1838,7 +1838,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
             }
             }
             else if (ID_IMPORTSETTINGS_OPENPOST == LOWORD(wParam))
             else if (ID_IMPORTSETTINGS_OPENPOST == LOWORD(wParam))
             {
             {
-                ShellExecute(NULL,"open","http://assimp.sourceforge.net/lib_html/ai_post_process_8h.html","","",SW_SHOW);
+                ShellExecute(nullptr,"open","http://assimp.sourceforge.net/lib_html/ai_post_process_8h.html","","",SW_SHOW);
             }
             }
             else if (ID_TOOLS_ORIGINALNORMALS == LOWORD(wParam))
             else if (ID_TOOLS_ORIGINALNORMALS == LOWORD(wParam))
             {
             {
@@ -1922,7 +1922,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
                         DisplayColorDialog(&g_avLightColors[0]);
                         DisplayColorDialog(&g_avLightColors[0]);
                         SaveLightColors();
                         SaveLightColors();
                     }
                     }
-                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR1),NULL,TRUE);
+                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR1),nullptr,TRUE);
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR1));
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR1));
                     }
                     }
                 else if (IDC_LCOLOR2 == LOWORD(wParam))
                 else if (IDC_LCOLOR2 == LOWORD(wParam))
@@ -1939,13 +1939,13 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
                         DisplayColorDialog(&g_avLightColors[1]);
                         DisplayColorDialog(&g_avLightColors[1]);
                         SaveLightColors();
                         SaveLightColors();
                     }
                     }
-                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR2),NULL,TRUE);
+                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR2),nullptr,TRUE);
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR2));
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR2));
                     }
                     }
                 else if (IDC_LCOLOR3 == LOWORD(wParam))
                 else if (IDC_LCOLOR3 == LOWORD(wParam))
                     {
                     {
                     DisplayColorDialog(&g_avLightColors[2]);
                     DisplayColorDialog(&g_avLightColors[2]);
-                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR3),NULL,TRUE);
+                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR3),nullptr,TRUE);
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR3));
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR3));
                     SaveLightColors();
                     SaveLightColors();
                 }
                 }
@@ -1966,11 +1966,11 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, WPARAM wParam,LPARAM lParam
                         SaveLightColors();
                         SaveLightColors();
                     }
                     }
 
 
-                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR1),NULL,TRUE);
+                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR1),nullptr,TRUE);
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR1));
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR1));
-                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR2),NULL,TRUE);
+                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR2),nullptr,TRUE);
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR2));
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR2));
-                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR3),NULL,TRUE);
+                    InvalidateRect(GetDlgItem(g_hDlg,IDC_LCOLOR3),nullptr,TRUE);
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR3));
                     UpdateWindow(GetDlgItem(g_hDlg,IDC_LCOLOR3));
                     }
                     }
                 else if (IDC_NOSPECULAR == LOWORD(wParam))
                 else if (IDC_NOSPECULAR == LOWORD(wParam))
@@ -2076,7 +2076,7 @@ INT_PTR CALLBACK ProgressMessageProc(HWND hwndDlg,UINT uMsg,
             SendDlgItemMessage(hwndDlg,IDC_PROGRESS,PBM_SETRANGE,0,
             SendDlgItemMessage(hwndDlg,IDC_PROGRESS,PBM_SETRANGE,0,
                 MAKELPARAM(0,500));
                 MAKELPARAM(0,500));
 
 
-            SetTimer(hwndDlg,0,40,NULL);
+            SetTimer(hwndDlg,0,40,nullptr);
             return TRUE;
             return TRUE;
 
 
         case WM_CLOSE:
         case WM_CLOSE:
@@ -2090,7 +2090,7 @@ INT_PTR CALLBACK ProgressMessageProc(HWND hwndDlg,UINT uMsg,
 #if 0
 #if 0
                 g_bLoadingCanceled = true;
                 g_bLoadingCanceled = true;
                 TerminateThread(g_hThreadHandle,5);
                 TerminateThread(g_hThreadHandle,5);
-                g_pcAsset = NULL;
+                g_pcAsset = nullptr;
 
 
                 EndDialog(hwndDlg,0);
                 EndDialog(hwndDlg,0);
 #endif
 #endif
@@ -2167,14 +2167,14 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
     // initialize the IDirect3D9 interface
     // initialize the IDirect3D9 interface
     g_hInstance = hInstance;
     g_hInstance = hInstance;
     if (0 == InitD3D()) {
     if (0 == InitD3D()) {
-        MessageBox(NULL,"Failed to initialize Direct3D 9",
+        MessageBox(nullptr,"Failed to initialize Direct3D 9",
             "ASSIMP ModelViewer",MB_OK);
             "ASSIMP ModelViewer",MB_OK);
         return -6;
         return -6;
     }
     }
 
 
     // create the main dialog
     // create the main dialog
     HWND hDlg = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOGMAIN),
     HWND hDlg = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOGMAIN),
-        NULL,&MessageProc);
+        nullptr,&MessageProc);
 
 
     // ensure we get high priority
     // ensure we get high priority
     ::SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS);
     ::SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS);
@@ -2187,8 +2187,8 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
         Assimp::DefaultLogger::Debugging | Assimp::DefaultLogger::Info |
         Assimp::DefaultLogger::Debugging | Assimp::DefaultLogger::Info |
         Assimp::DefaultLogger::Err | Assimp::DefaultLogger::Warn);
         Assimp::DefaultLogger::Err | Assimp::DefaultLogger::Warn);
 
 
-    if (NULL == hDlg) {
-        MessageBox(NULL,"Failed to create dialog from resource",
+    if (nullptr == hDlg) {
+        MessageBox(nullptr,"Failed to create dialog from resource",
             "ASSIMP ModelViewer",MB_OK);
             "ASSIMP ModelViewer",MB_OK);
         return -5;
         return -5;
     }
     }
@@ -2202,7 +2202,7 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
 
 
     // create the D3D device object
     // create the D3D device object
     if (0 == CreateDevice(g_sOptions.bMultiSample,false,true)) {
     if (0 == CreateDevice(g_sOptions.bMultiSample,false,true)) {
-        MessageBox(NULL,"Failed to initialize Direct3D 9 (2)",
+        MessageBox(nullptr,"Failed to initialize Direct3D 9 (2)",
             "ASSIMP ModelViewer",MB_OK);
             "ASSIMP ModelViewer",MB_OK);
         return -4;
         return -4;
     }
     }
@@ -2222,18 +2222,18 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
     };
     };
     DWORD dwTemp = MAX_PATH;
     DWORD dwTemp = MAX_PATH;
     RegCreateKeyEx(HKEY_CURRENT_USER,
     RegCreateKeyEx(HKEY_CURRENT_USER,
-        "Software\\ASSIMP\\Viewer",0,NULL,0,KEY_ALL_ACCESS, NULL, &hRegistry,NULL);
-    if(ERROR_SUCCESS == RegQueryValueEx(hRegistry,"LastSkyBoxSrc",NULL,NULL,
+        "Software\\ASSIMP\\Viewer",0,nullptr,0,KEY_ALL_ACCESS, nullptr, &hRegistry,nullptr);
+    if(ERROR_SUCCESS == RegQueryValueEx(hRegistry,"LastSkyBoxSrc",nullptr,nullptr,
         (BYTE*)szFileName,&dwTemp) && '\0' != szFileName[0])
         (BYTE*)szFileName,&dwTemp) && '\0' != szFileName[0])
         {
         {
         CBackgroundPainter::Instance().SetCubeMapBG(szFileName);
         CBackgroundPainter::Instance().SetCubeMapBG(szFileName);
         }
         }
-    else if(ERROR_SUCCESS == RegQueryValueEx(hRegistry,"LastTextureSrc",NULL,NULL,
+    else if(ERROR_SUCCESS == RegQueryValueEx(hRegistry,"LastTextureSrc",nullptr,nullptr,
         (BYTE*)szFileName,&dwTemp) && '\0' != szFileName[0])
         (BYTE*)szFileName,&dwTemp) && '\0' != szFileName[0])
         {
         {
         CBackgroundPainter::Instance().SetTextureBG(szFileName);
         CBackgroundPainter::Instance().SetTextureBG(szFileName);
         }
         }
-    else if(ERROR_SUCCESS == RegQueryValueEx(hRegistry,"Color",NULL,NULL,
+    else if(ERROR_SUCCESS == RegQueryValueEx(hRegistry,"Color",nullptr,nullptr,
         (BYTE*)&clrColor,&dwTemp))
         (BYTE*)&clrColor,&dwTemp))
         {
         {
         CBackgroundPainter::Instance().SetColor(clrColor);
         CBackgroundPainter::Instance().SetColor(clrColor);
@@ -2251,7 +2251,7 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
     double g_dLastTime = 0;
     double g_dLastTime = 0;
     while( uMsg.message != WM_QUIT )
     while( uMsg.message != WM_QUIT )
         {
         {
-        if( PeekMessage( &uMsg, NULL, 0, 0, PM_REMOVE ) )
+        if( PeekMessage( &uMsg, nullptr, 0, 0, PM_REMOVE ) )
             {
             {
             TranslateMessage( &uMsg );
             TranslateMessage( &uMsg );
             DispatchMessage( &uMsg );
             DispatchMessage( &uMsg );

+ 66 - 66
tools/assimp_view/assimp_view.cpp

@@ -61,17 +61,17 @@ extern std::string g_szDefaultShader;
 extern std::string g_szPassThroughShader;
 extern std::string g_szPassThroughShader;
 
 
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
-HINSTANCE g_hInstance				= NULL;
-HWND g_hDlg							= NULL;
-IDirect3D9* g_piD3D					= NULL;
-IDirect3DDevice9* g_piDevice		= NULL;
-IDirect3DVertexDeclaration9* gDefaultVertexDecl = NULL;
+HINSTANCE g_hInstance				= nullptr;
+HWND g_hDlg							= nullptr;
+IDirect3D9* g_piD3D					= nullptr;
+IDirect3DDevice9* g_piDevice		= nullptr;
+IDirect3DVertexDeclaration9* gDefaultVertexDecl = nullptr;
 double g_fFPS						= 0.0f;
 double g_fFPS						= 0.0f;
 char g_szFileName[MAX_PATH];
 char g_szFileName[MAX_PATH];
-ID3DXEffect* g_piDefaultEffect		= NULL;
-ID3DXEffect* g_piNormalsEffect		= NULL;
-ID3DXEffect* g_piPassThroughEffect	= NULL;
-ID3DXEffect* g_piPatternEffect		= NULL;
+ID3DXEffect* g_piDefaultEffect		= nullptr;
+ID3DXEffect* g_piNormalsEffect		= nullptr;
+ID3DXEffect* g_piPassThroughEffect	= nullptr;
+ID3DXEffect* g_piPatternEffect		= nullptr;
 bool g_bMousePressed				= false;
 bool g_bMousePressed				= false;
 bool g_bMousePressedR				= false;
 bool g_bMousePressedR				= false;
 bool g_bMousePressedM				= false;
 bool g_bMousePressedM				= false;
@@ -79,10 +79,10 @@ bool g_bMousePressedBoth			= false;
 float g_fElpasedTime				= 0.0f;
 float g_fElpasedTime				= 0.0f;
 D3DCAPS9 g_sCaps;
 D3DCAPS9 g_sCaps;
 bool g_bLoadingFinished				= false;
 bool g_bLoadingFinished				= false;
-HANDLE g_hThreadHandle				= NULL;
+HANDLE g_hThreadHandle				= nullptr;
 float g_fWheelPos					= -10.0f;
 float g_fWheelPos					= -10.0f;
 bool g_bLoadingCanceled				= false;
 bool g_bLoadingCanceled				= false;
-IDirect3DTexture9* g_pcTexture		= NULL;
+IDirect3DTexture9* g_pcTexture		= nullptr;
 bool g_bPlay						= false;
 bool g_bPlay						= false;
 double g_dCurrent = 0.;
 double g_dCurrent = 0.;
 
 
@@ -135,13 +135,13 @@ float g_fLightColor					= 1.0f;
 
 
 RenderOptions g_sOptions;
 RenderOptions g_sOptions;
 Camera g_sCamera;
 Camera g_sCamera;
-AssetHelper *g_pcAsset				= NULL;
+AssetHelper *g_pcAsset				= nullptr;
 
 
 //
 //
 // Contains the mask image for the HUD 
 // Contains the mask image for the HUD 
 // (used to determine the position of a click)
 // (used to determine the position of a click)
 //
 //
-unsigned char* g_szImageMask		= NULL;
+unsigned char* g_szImageMask		= nullptr;
 
 
 float g_fLoadTime = 0.0f;
 float g_fLoadTime = 0.0f;
 
 
@@ -175,7 +175,7 @@ DWORD WINAPI LoadThreadProc(LPVOID lpParameter)
         aiProcess_ConvertToLeftHanded	   | // convert everything to D3D left handed space
         aiProcess_ConvertToLeftHanded	   | // convert everything to D3D left handed space
         aiProcess_SortByPType              | // make 'clean' meshes which consist of a single typ of primitives
         aiProcess_SortByPType              | // make 'clean' meshes which consist of a single typ of primitives
         0,
         0,
-        NULL,
+        nullptr,
         props);
         props);
 
 
     aiReleasePropertyStore(props);
     aiReleasePropertyStore(props);
@@ -186,7 +186,7 @@ DWORD WINAPI LoadThreadProc(LPVOID lpParameter)
     g_bLoadingFinished = true;
     g_bLoadingFinished = true;
 
 
     // check whether the loading process has failed ...
     // check whether the loading process has failed ...
-    if (NULL == g_pcAsset->pcScene)
+    if (nullptr == g_pcAsset->pcScene)
     {
     {
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to load this asset:",
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to load this asset:",
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
@@ -223,7 +223,7 @@ int LoadAsset()
     DWORD dwID;
     DWORD dwID;
     g_bLoadingCanceled = false;
     g_bLoadingCanceled = false;
     g_pcAsset = new AssetHelper();
     g_pcAsset = new AssetHelper();
-    g_hThreadHandle = CreateThread(NULL,0,&LoadThreadProc,NULL,0,&dwID);
+    g_hThreadHandle = CreateThread(nullptr,0,&LoadThreadProc,nullptr,0,&dwID);
 
 
     if (!g_hThreadHandle)
     if (!g_hThreadHandle)
     {
     {
@@ -248,7 +248,7 @@ int LoadAsset()
         if (g_pcAsset)
         if (g_pcAsset)
         {
         {
             delete g_pcAsset;
             delete g_pcAsset;
-            g_pcAsset = NULL;
+            g_pcAsset = nullptr;
         }
         }
         return 0;
         return 0;
     }
     }
@@ -328,7 +328,7 @@ int DeleteAsset(void) {
     delete[] g_pcAsset->apcMeshes;
     delete[] g_pcAsset->apcMeshes;
     delete g_pcAsset->mAnimator;
     delete g_pcAsset->mAnimator;
     delete g_pcAsset;
     delete g_pcAsset;
-    g_pcAsset = NULL;
+    g_pcAsset = nullptr;
 
 
     // reset the caption of the viewer window
     // reset the caption of the viewer window
     SetWindowText(g_hDlg,AI_VIEW_CAPTION_BASE);
     SetWindowText(g_hDlg,AI_VIEW_CAPTION_BASE);
@@ -351,8 +351,8 @@ int DeleteAsset(void) {
 // piMatrix Transformation matrix of the graph at this position
 // piMatrix Transformation matrix of the graph at this position
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int CalculateBounds(aiNode* piNode, aiVector3D* p_avOut, const aiMatrix4x4& piMatrix) {
 int CalculateBounds(aiNode* piNode, aiVector3D* p_avOut, const aiMatrix4x4& piMatrix) {
-    ai_assert(NULL != piNode);
-    ai_assert(NULL != p_avOut);
+    ai_assert(nullptr != piNode);
+    ai_assert(nullptr != p_avOut);
 
 
     aiMatrix4x4 mTemp = piNode->mTransformation;
     aiMatrix4x4 mTemp = piNode->mTransformation;
     mTemp.Transpose();
     mTemp.Transpose();
@@ -424,8 +424,8 @@ int ScaleAsset(void)
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int GenerateNormalsAsLineList(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSource)
 int GenerateNormalsAsLineList(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSource)
 {
 {
-    ai_assert(NULL != pcMesh);
-    ai_assert(NULL != pcSource);
+    ai_assert(nullptr != pcMesh);
+    ai_assert(nullptr != pcSource);
 
 
     if (!pcSource->mNormals)return 0;
     if (!pcSource->mNormals)return 0;
 
 
@@ -434,7 +434,7 @@ int GenerateNormalsAsLineList(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSo
         pcSource->mNumVertices * 2,
         pcSource->mNumVertices * 2,
         D3DUSAGE_WRITEONLY,
         D3DUSAGE_WRITEONLY,
         AssetHelper::LineVertex::GetFVF(),
         AssetHelper::LineVertex::GetFVF(),
-        D3DPOOL_DEFAULT, &pcMesh->piVBNormals,NULL)))
+        D3DPOOL_DEFAULT, &pcMesh->piVBNormals,nullptr)))
     {
     {
         CLogDisplay::Instance().AddEntry("Failed to create vertex buffer for the normal list",
         CLogDisplay::Instance().AddEntry("Failed to create vertex buffer for the normal list",
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
@@ -495,7 +495,7 @@ int CreateAssetData()
             mesh->mNumVertices,
             mesh->mNumVertices,
             D3DUSAGE_WRITEONLY,
             D3DUSAGE_WRITEONLY,
             0,
             0,
-            D3DPOOL_DEFAULT, &g_pcAsset->apcMeshes[i]->piVB,NULL)))	{
+            D3DPOOL_DEFAULT, &g_pcAsset->apcMeshes[i]->piVB,nullptr)))	{
             MessageBox(g_hDlg,"Failed to create vertex buffer",
             MessageBox(g_hDlg,"Failed to create vertex buffer",
                 "ASSIMP Viewer Utility",MB_OK);
                 "ASSIMP Viewer Utility",MB_OK);
             return 2;
             return 2;
@@ -534,7 +534,7 @@ int CreateAssetData()
                 D3DFMT_INDEX32,
                 D3DFMT_INDEX32,
                 D3DPOOL_DEFAULT, 
                 D3DPOOL_DEFAULT, 
                 &g_pcAsset->apcMeshes[i]->piIB,
                 &g_pcAsset->apcMeshes[i]->piIB,
-                NULL)))
+                nullptr)))
             {
             {
                 MessageBox(g_hDlg,"Failed to create 32 Bit index buffer",
                 MessageBox(g_hDlg,"Failed to create 32 Bit index buffer",
                     "ASSIMP Viewer Utility",MB_OK);
                     "ASSIMP Viewer Utility",MB_OK);
@@ -560,7 +560,7 @@ int CreateAssetData()
                 D3DFMT_INDEX16,
                 D3DFMT_INDEX16,
                 D3DPOOL_DEFAULT,
                 D3DPOOL_DEFAULT,
                 &g_pcAsset->apcMeshes[i]->piIB,
                 &g_pcAsset->apcMeshes[i]->piIB,
-                NULL)))
+                nullptr)))
             {
             {
                 MessageBox(g_hDlg,"Failed to create 16 Bit index buffer",
                 MessageBox(g_hDlg,"Failed to create 16 Bit index buffer",
                     "ASSIMP Viewer Utility",MB_OK);
                     "ASSIMP Viewer Utility",MB_OK);
@@ -595,11 +595,11 @@ int CreateAssetData()
         {
         {
             pbData2->vPosition = mesh->mVertices[x];
             pbData2->vPosition = mesh->mVertices[x];
 
 
-            if (NULL == mesh->mNormals)
+            if (nullptr == mesh->mNormals)
                 pbData2->vNormal = aiVector3D(0.0f,0.0f,0.0f);
                 pbData2->vNormal = aiVector3D(0.0f,0.0f,0.0f);
             else pbData2->vNormal = mesh->mNormals[x];
             else pbData2->vNormal = mesh->mNormals[x];
 
 
-            if (NULL == mesh->mTangents)	{
+            if (nullptr == mesh->mTangents)	{
                 pbData2->vTangent = aiVector3D(0.0f,0.0f,0.0f);
                 pbData2->vTangent = aiVector3D(0.0f,0.0f,0.0f);
                 pbData2->vBitangent = aiVector3D(0.0f,0.0f,0.0f);
                 pbData2->vBitangent = aiVector3D(0.0f,0.0f,0.0f);
             }
             }
@@ -677,17 +677,17 @@ int DeleteAssetData(bool bNoMaterials)
         if(g_pcAsset->apcMeshes[i]->piVB)
         if(g_pcAsset->apcMeshes[i]->piVB)
         {
         {
             g_pcAsset->apcMeshes[i]->piVB->Release();
             g_pcAsset->apcMeshes[i]->piVB->Release();
-            g_pcAsset->apcMeshes[i]->piVB = NULL;
+            g_pcAsset->apcMeshes[i]->piVB = nullptr;
         }
         }
         if(g_pcAsset->apcMeshes[i]->piVBNormals)
         if(g_pcAsset->apcMeshes[i]->piVBNormals)
         {
         {
             g_pcAsset->apcMeshes[i]->piVBNormals->Release();
             g_pcAsset->apcMeshes[i]->piVBNormals->Release();
-            g_pcAsset->apcMeshes[i]->piVBNormals = NULL;
+            g_pcAsset->apcMeshes[i]->piVBNormals = nullptr;
         }
         }
         if(g_pcAsset->apcMeshes[i]->piIB)
         if(g_pcAsset->apcMeshes[i]->piIB)
         {
         {
             g_pcAsset->apcMeshes[i]->piIB->Release();
             g_pcAsset->apcMeshes[i]->piIB->Release();
-            g_pcAsset->apcMeshes[i]->piIB = NULL;
+            g_pcAsset->apcMeshes[i]->piIB = nullptr;
         }
         }
 
 
         // TODO ... unfixed memory leak
         // TODO ... unfixed memory leak
@@ -703,42 +703,42 @@ int DeleteAssetData(bool bNoMaterials)
             if(g_pcAsset->apcMeshes[i]->piEffect)
             if(g_pcAsset->apcMeshes[i]->piEffect)
             {
             {
                 g_pcAsset->apcMeshes[i]->piEffect->Release();
                 g_pcAsset->apcMeshes[i]->piEffect->Release();
-                g_pcAsset->apcMeshes[i]->piEffect = NULL;
+                g_pcAsset->apcMeshes[i]->piEffect = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piDiffuseTexture)
             if(g_pcAsset->apcMeshes[i]->piDiffuseTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piDiffuseTexture->Release();
                 g_pcAsset->apcMeshes[i]->piDiffuseTexture->Release();
-                g_pcAsset->apcMeshes[i]->piDiffuseTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piDiffuseTexture = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piNormalTexture)
             if(g_pcAsset->apcMeshes[i]->piNormalTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piNormalTexture->Release();
                 g_pcAsset->apcMeshes[i]->piNormalTexture->Release();
-                g_pcAsset->apcMeshes[i]->piNormalTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piNormalTexture = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piSpecularTexture)
             if(g_pcAsset->apcMeshes[i]->piSpecularTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piSpecularTexture->Release();
                 g_pcAsset->apcMeshes[i]->piSpecularTexture->Release();
-                g_pcAsset->apcMeshes[i]->piSpecularTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piSpecularTexture = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piAmbientTexture)
             if(g_pcAsset->apcMeshes[i]->piAmbientTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piAmbientTexture->Release();
                 g_pcAsset->apcMeshes[i]->piAmbientTexture->Release();
-                g_pcAsset->apcMeshes[i]->piAmbientTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piAmbientTexture = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piEmissiveTexture)
             if(g_pcAsset->apcMeshes[i]->piEmissiveTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piEmissiveTexture->Release();
                 g_pcAsset->apcMeshes[i]->piEmissiveTexture->Release();
-                g_pcAsset->apcMeshes[i]->piEmissiveTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piEmissiveTexture = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piOpacityTexture)
             if(g_pcAsset->apcMeshes[i]->piOpacityTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piOpacityTexture->Release();
                 g_pcAsset->apcMeshes[i]->piOpacityTexture->Release();
-                g_pcAsset->apcMeshes[i]->piOpacityTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piOpacityTexture = nullptr;
             }
             }
             if(g_pcAsset->apcMeshes[i]->piShininessTexture)
             if(g_pcAsset->apcMeshes[i]->piShininessTexture)
             {
             {
                 g_pcAsset->apcMeshes[i]->piShininessTexture->Release();
                 g_pcAsset->apcMeshes[i]->piShininessTexture->Release();
-                g_pcAsset->apcMeshes[i]->piShininessTexture = NULL;
+                g_pcAsset->apcMeshes[i]->piShininessTexture = nullptr;
             }
             }
         }
         }
     }
     }
@@ -776,10 +776,10 @@ int SetupFPSView()
 //-------------------------------------------------------------------------------
 //-------------------------------------------------------------------------------
 int InitD3D(void)
 int InitD3D(void)
 {
 {
-    if (NULL == g_piD3D)
+    if (nullptr == g_piD3D)
     {
     {
         g_piD3D = Direct3DCreate9(D3D_SDK_VERSION);
         g_piD3D = Direct3DCreate9(D3D_SDK_VERSION);
-        if (NULL == g_piD3D)return 0;
+        if (nullptr == g_piD3D)return 0;
     }
     }
     return 1;
     return 1;
 }
 }
@@ -792,10 +792,10 @@ int InitD3D(void)
 int ShutdownD3D(void)
 int ShutdownD3D(void)
 {
 {
     ShutdownDevice();
     ShutdownDevice();
-    if (NULL != g_piD3D)
+    if (nullptr != g_piD3D)
     {
     {
         g_piD3D->Release();
         g_piD3D->Release();
-        g_piD3D = NULL;
+        g_piD3D = nullptr;
     }
     }
     return 1;
     return 1;
 }
 }
@@ -843,12 +843,12 @@ int ShutdownDevice(void)
 int CreateHUDTexture()
 int CreateHUDTexture()
 {
 {
     // lock the memory resource ourselves
     // lock the memory resource ourselves
-    HRSRC res = FindResource(NULL,MAKEINTRESOURCE(IDR_HUD),RT_RCDATA);
-    HGLOBAL hg = LoadResource(NULL,res);
+    HRSRC res = FindResource(nullptr,MAKEINTRESOURCE(IDR_HUD),RT_RCDATA);
+    HGLOBAL hg = LoadResource(nullptr,res);
     void* pData = LockResource(hg);
     void* pData = LockResource(hg);
 
 
     if(FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice,
     if(FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice,
-        pData,SizeofResource(NULL,res),
+        pData,SizeofResource(nullptr,res),
         D3DX_DEFAULT_NONPOW2,
         D3DX_DEFAULT_NONPOW2,
         D3DX_DEFAULT_NONPOW2,
         D3DX_DEFAULT_NONPOW2,
         1,
         1,
@@ -858,15 +858,15 @@ int CreateHUDTexture()
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         0,
         0,
-        NULL,
-        NULL,
+        nullptr,
+        nullptr,
         &g_pcTexture)))
         &g_pcTexture)))
     {
     {
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to load HUD texture",
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to load HUD texture",
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
 
 
-        g_pcTexture  = NULL;
-        g_szImageMask = NULL;
+        g_pcTexture  = nullptr;
+        g_szImageMask = nullptr;
 
 
         FreeResource(hg);
         FreeResource(hg);
         return 0;
         return 0;
@@ -879,13 +879,13 @@ int CreateHUDTexture()
 
 
 
 
     // lock the memory resource ourselves
     // lock the memory resource ourselves
-    res = FindResource(NULL,MAKEINTRESOURCE(IDR_HUDMASK),RT_RCDATA);
-    hg = LoadResource(NULL,res);
+    res = FindResource(nullptr,MAKEINTRESOURCE(IDR_HUDMASK),RT_RCDATA);
+    hg = LoadResource(nullptr,res);
     pData = LockResource(hg);
     pData = LockResource(hg);
 
 
     IDirect3DTexture9* pcTex;
     IDirect3DTexture9* pcTex;
     if(FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice,
     if(FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice,
-        pData,SizeofResource(NULL,res),
+        pData,SizeofResource(nullptr,res),
         sDesc.Width,
         sDesc.Width,
         sDesc.Height,
         sDesc.Height,
         1,
         1,
@@ -895,13 +895,13 @@ int CreateHUDTexture()
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         D3DX_DEFAULT,
         0,
         0,
-        NULL,
-        NULL,
+        nullptr,
+        nullptr,
         &pcTex)))
         &pcTex)))
     {
     {
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to load HUD mask texture",
         CLogDisplay::Instance().AddEntry("[ERROR] Unable to load HUD mask texture",
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
             D3DCOLOR_ARGB(0xFF,0xFF,0,0));
-        g_szImageMask = NULL;
+        g_szImageMask = nullptr;
 
 
         FreeResource(hg);
         FreeResource(hg);
         return 0;
         return 0;
@@ -911,7 +911,7 @@ int CreateHUDTexture()
 
 
     // lock the texture and copy it to get a pointer
     // lock the texture and copy it to get a pointer
     D3DLOCKED_RECT sRect;
     D3DLOCKED_RECT sRect;
-    pcTex->LockRect(0,&sRect,NULL,D3DLOCK_READONLY);
+    pcTex->LockRect(0,&sRect,nullptr,D3DLOCK_READONLY);
 
 
     unsigned char* szOut = new unsigned char[sDesc.Width * sDesc.Height];
     unsigned char* szOut = new unsigned char[sDesc.Width * sDesc.Height];
     unsigned char* _szOut = szOut;
     unsigned char* _szOut = szOut;
@@ -1023,14 +1023,14 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/)
     }
     }
 
 
     // compile the default material shader (gray gouraud/phong)
     // compile the default material shader (gray gouraud/phong)
-    ID3DXBuffer* piBuffer = NULL;
+    ID3DXBuffer* piBuffer = nullptr;
     if(FAILED( D3DXCreateEffect(g_piDevice,
     if(FAILED( D3DXCreateEffect(g_piDevice,
         g_szDefaultShader.c_str(),
         g_szDefaultShader.c_str(),
         (UINT)g_szDefaultShader.length(),
         (UINT)g_szDefaultShader.length(),
-        NULL,
-        NULL,
+        nullptr,
+        nullptr,
         AI_SHADER_COMPILE_FLAGS,
         AI_SHADER_COMPILE_FLAGS,
-        NULL,
+        nullptr,
         &g_piDefaultEffect,&piBuffer)))
         &g_piDefaultEffect,&piBuffer)))
     {
     {
         if( piBuffer) 
         if( piBuffer) 
@@ -1043,7 +1043,7 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/)
     if( piBuffer) 
     if( piBuffer) 
     {
     {
         piBuffer->Release();
         piBuffer->Release();
-        piBuffer = NULL;
+        piBuffer = nullptr;
     }
     }
 
 
     // use Fixed Function effect when working with shaderless cards
     // use Fixed Function effect when working with shaderless cards
@@ -1053,7 +1053,7 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/)
     // create the shader used to draw the HUD
     // create the shader used to draw the HUD
     if(FAILED( D3DXCreateEffect(g_piDevice,
     if(FAILED( D3DXCreateEffect(g_piDevice,
         g_szPassThroughShader.c_str(),(UINT)g_szPassThroughShader.length(),
         g_szPassThroughShader.c_str(),(UINT)g_szPassThroughShader.length(),
-        NULL,NULL,AI_SHADER_COMPILE_FLAGS,NULL,&g_piPassThroughEffect,&piBuffer)))
+        nullptr,nullptr,AI_SHADER_COMPILE_FLAGS,nullptr,&g_piPassThroughEffect,&piBuffer)))
     {
     {
         if( piBuffer) 
         if( piBuffer) 
         {
         {
@@ -1065,7 +1065,7 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/)
     if( piBuffer) 
     if( piBuffer) 
     {
     {
         piBuffer->Release();
         piBuffer->Release();
-        piBuffer = NULL;
+        piBuffer = nullptr;
     }
     }
 
 
     // use Fixed Function effect when working with shaderless cards
     // use Fixed Function effect when working with shaderless cards
@@ -1075,7 +1075,7 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/)
     // create the shader used to visualize normal vectors
     // create the shader used to visualize normal vectors
     if(FAILED( D3DXCreateEffect(g_piDevice,
     if(FAILED( D3DXCreateEffect(g_piDevice,
         g_szNormalsShader.c_str(),(UINT)g_szNormalsShader.length(),
         g_szNormalsShader.c_str(),(UINT)g_szNormalsShader.length(),
-        NULL,NULL,AI_SHADER_COMPILE_FLAGS,NULL,&g_piNormalsEffect, &piBuffer)))
+        nullptr,nullptr,AI_SHADER_COMPILE_FLAGS,nullptr,&g_piNormalsEffect, &piBuffer)))
     {
     {
         if( piBuffer) 
         if( piBuffer) 
         {
         {
@@ -1087,7 +1087,7 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/)
     if( piBuffer) 
     if( piBuffer) 
     {
     {
         piBuffer->Release();
         piBuffer->Release();
-        piBuffer = NULL;
+        piBuffer = nullptr;
     }
     }
 
 
     //MessageBox( g_hDlg, "Failed to create vertex declaration", "Init", MB_OK);
     //MessageBox( g_hDlg, "Failed to create vertex declaration", "Init", MB_OK);