diff --git a/source/terrax/mainWindow.cpp b/source/terrax/mainWindow.cpp
index 252700f3a650ceb67ea1bed2033995e6e7b37d99..8bfcd299f0019b6aff9119d71d281c2ccfe24043 100644
--- a/source/terrax/mainWindow.cpp
+++ b/source/terrax/mainWindow.cpp
@@ -7,6 +7,7 @@
 #include "resource.h"
 #include <commctrl.h>
 #include <combaseapi.h>
+#include <shellapi.h>
 
 #include <dwmapi.h>
 #pragma comment(lib, "dwmapi.lib")
@@ -1273,6 +1274,44 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 		case ID_TOOLS_RELOADMATERIALS:
 			g_pEngine->getCore()->getConsole()->execCommand("mtl_reload");
 			break;
+
+		case ID_HELP_SKYXENGINEWIKI:
+			ShellExecute(0, 0, "https://wiki.skyxengine.com", 0, 0, SW_SHOW);
+			break;
+
+		case ID_HELP_ABOUT:
+			MessageBox(g_hWndMain, SKYXENGINE_VERSION4EDITORS "\nhttps://skyxengine.com\nLicensed under the AGPL-3.0 License\nCopyright (c) DogmaNet Team, 2020", "TerraX Editor " SKYXENGINE_VERSION, MB_OK | MB_ICONINFORMATION);
+			break;
+
+		case ID_EDIT_CLEARSELECTION:
+			{
+				CCommandSelect *pCmdUnselect = new CCommandSelect();
+				for(UINT i = 0, l = g_pLevelObjects.size(); i < l; ++i)
+				{
+					IXEditorObject *pObj = g_pLevelObjects[i];
+					if(pObj->isSelected())
+					{
+						pCmdUnselect->addDeselected(i);
+					}
+				}
+				g_pUndoManager->execCommand(pCmdUnselect);
+			}
+			break;
+
+		case ID_EDIT_SELECTALL:
+			{
+				CCommandSelect *pCmdSelect = new CCommandSelect();
+				for(UINT i = 0, l = g_pLevelObjects.size(); i < l; ++i)
+				{
+					IXEditorObject *pObj = g_pLevelObjects[i];
+					if(!pObj->isSelected())
+					{
+						pCmdSelect->addSelected(i);
+					}
+				}
+				g_pUndoManager->execCommand(pCmdSelect);
+			}
+			break;
 		}
 		break;
 
@@ -2655,6 +2694,8 @@ void XUpdateStatusGrid()
 
 	sprintf_s(szMsg, "Snap: %s; Grid: %s", g_xConfig.m_bSnapGrid ? "on" : "off", szGrid);
 	SendMessage(g_hStatusWnd, SB_SETTEXT, MAKEWPARAM(4, 0), (LPARAM)szMsg);
+
+	XCheckMenuItem(g_hMenu, ID_LEVEL_SNAPTOGRID, g_xConfig.m_bSnapGrid);
 }
 
 void XUpdateStatusMPos()
diff --git a/source/terrax/resource.h b/source/terrax/resource.h
index 70343273ece3674b0c9cdfef99e950dc4479e6d4..e712429581df2dd7579529f034aa9d0f84b3c9d7 100644
Binary files a/source/terrax/resource.h and b/source/terrax/resource.h differ
diff --git a/source/terrax/terrax.rc b/source/terrax/terrax.rc
index d8ba1972ec988f95d4e6094017e4fa818d282f42..b7bb00301c6a27e180893a3943f8c9dffdd69ec5 100644
Binary files a/source/terrax/terrax.rc and b/source/terrax/terrax.rc differ