 			if (overWriteIniFile)
 			CreateIniData(prgNo, maxBatchPrgs, gameIniPath)
 		Progress, 40
-		strRetVal := AddToIniProc(prgNo, tabStat, gameIniPath, prgPath%tabStat%, prgUrl%tabStat%, IniFileShortctSep)
+
+			; Fix editor extenders
+			if (tabStat = 2)
+			{
+				loop % PrgNo
+				{
+					if (Instr(prgPath%tabStat%[A_Index], "TESConstructionSet.exe") && Instr(gameExesFullPath[tabStat], "obse_loader.exe"))
+					{
+					prgPath%tabStat%[A_Index] := gameExesFullPath[tabStat]
+					prgCmd%tabStat%[A_Index] := "-editor" 
+					break
+					}
+				}
+			}
+			if (tabStat = 4)
+			{
+				loop % PrgNo
+				{
+					if (Instr(prgPath%tabStat%[A_Index], "GECK.exe"))
+					{
+					SplitPath, % gameExesFullPath[tabStat], , strTmp
+					;ASSUME fose_loader.exe exists for Geck.exe, the Garden of Eden Creation Kit
+					prgPath%tabStat%[A_Index] := strTmp . "\fose_loader.exe"
+					prgCmd%tabStat%[A_Index] := "-editor" 
+					break
+					}
+				}
+			}
+
+
+		strRetVal := AddToIniProc(prgNo, tabStat, gameIniPath, prgPath%tabStat%, prgCmd%tabStat%, prgUrl%tabStat%, IniFileShortctSep)
 		tmp := 0
 			Loop, % prgNo
 			{

		t1a := A_TickCount
		

		strTmp := join(matchList)
		pUSN := &pData + DWORDLONG_SIZE ; &pData: A pointer to the output buffer that ***receives a USN*** followed by zero or more USN_RECORD_V2 or USN_RECORD_V3 structures so...
										; The USN first received may not be the same as the USN in following the USN_RECORD structure. A USN is DWORDLONG.
			while (cb > DWORDLONG_SIZE) ;cb decrements by USN.RecordLength as pUSN increments by USN.RecordLength


gameList := ["Morrowind", "Oblivion", "Skyrim", "Fallout 3", "Fallout NV", "Fallout 4", "", "", "", "", "", ""]
gameExes := ["MGEXEgui.exe", "obse_loader.exe", "SKSE_loader.exe", "Fallout3.exe", "nvse_loader.exe", "f4se_loader.exe", "", "", "", "", "", ""]
gameFallBackExes := ["Morrowind.exe", "Oblivion.exe", "SkyrimSE.exe|Skyrim.exe|SkyrimTESV.exe", "fose_loader.exe", "FalloutNV.exe", "Fallout4.exe", "", "", "", "", "", ""]
; FO3.exe, "avoid fose_loader.exe!"
gameExesFullPath := ["", "", "", "", "", "", "", "", "", "", "", ""]
iniNames := ["", "", "", "", "", "", "", "", "", "", "", ""]

PrgLnchIniPath := A_ScriptDir . "\PrgLnch.ini"
