diff --git a/Include/_Hash.au3 b/Include/_Hash.au3
index 3a04aa4..a29044c 100644
--- a/Include/_Hash.au3
+++ b/Include/_Hash.au3
@@ -332,4 +332,4 @@ Func _SHA1ForFile($sFile)
Return SetError(0, 0, $sSHA1)
-EndFunc ;==>_SHA1ForFile
\ No newline at end of file
+EndFunc ;==>_SHA1ForFile
diff --git a/Include/_Hash.au3.Backup.au3 b/Include/_Hash.au3.Backup.au3
new file mode 100644
index 0000000..3a04aa4
--- /dev/null
+++ b/Include/_Hash.au3.Backup.au3
@@ -0,0 +1,335 @@
+; #FUNCTION# ;===============================================================================
+;
+; Name...........: _MD5ForFile
+; Description ...: Calculates MD5 value for the specific file.
+; Syntax.........: _MD5ForFile ($sFile)
+; Parameters ....: $sFile - Full path to the file to process.
+; Return values .: Success - Returns MD5 value in form of hex string
+; - Sets @error to 0
+; Failure - Returns empty string and sets @error:
+; |1 - CreateFile function or call to it failed.
+; |2 - CreateFileMapping function or call to it failed.
+; |3 - MapViewOfFile function or call to it failed.
+; |4 - MD5Init function or call to it failed.
+; |5 - MD5Update function or call to it failed.
+; |6 - MD5Final function or call to it failed.
+; Author ........: trancexx
+;
+;==========================================================================================
+Func _MD5ForFile($sFile)
+
+ Local $a_hCall = DllCall("kernel32.dll", "hwnd", "CreateFileW", _
+ "wstr", $sFile, _
+ "dword", 0x80000000, _ ; GENERIC_READ
+ "dword", 3, _ ; FILE_SHARE_READ|FILE_SHARE_WRITE
+ "ptr", 0, _
+ "dword", 3, _ ; OPEN_EXISTING
+ "dword", 0, _ ; SECURITY_ANONYMOUS
+ "ptr", 0)
+
+ If @error Or $a_hCall[0] = -1 Then
+ Return SetError(1, 0, "")
+ EndIf
+
+ Local $hFile = $a_hCall[0]
+
+ $a_hCall = DllCall("kernel32.dll", "ptr", "CreateFileMappingW", _
+ "hwnd", $hFile, _
+ "dword", 0, _ ; default security descriptor
+ "dword", 2, _ ; PAGE_READONLY
+ "dword", 0, _
+ "dword", 0, _
+ "ptr", 0)
+
+ If @error Or Not $a_hCall[0] Then
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
+ Return SetError(2, 0, "")
+ EndIf
+
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
+
+ Local $hFileMappingObject = $a_hCall[0]
+
+ $a_hCall = DllCall("kernel32.dll", "ptr", "MapViewOfFile", _
+ "hwnd", $hFileMappingObject, _
+ "dword", 4, _ ; FILE_MAP_READ
+ "dword", 0, _
+ "dword", 0, _
+ "dword", 0)
+
+ If @error Or Not $a_hCall[0] Then
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(3, 0, "")
+ EndIf
+
+ Local $pFile = $a_hCall[0]
+ Local $iBufferSize = FileGetSize($sFile)
+
+ Local $tMD5_CTX = DllStructCreate("dword i[2];" & _
+ "dword buf[4];" & _
+ "ubyte in[64];" & _
+ "ubyte digest[16]")
+
+ DllCall("advapi32.dll", "none", "MD5Init", "ptr", DllStructGetPtr($tMD5_CTX))
+
+ If @error Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(4, 0, "")
+ EndIf
+
+ DllCall("advapi32.dll", "none", "MD5Update", _
+ "ptr", DllStructGetPtr($tMD5_CTX), _
+ "ptr", $pFile, _
+ "dword", $iBufferSize)
+
+ If @error Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(5, 0, "")
+ EndIf
+
+ DllCall("advapi32.dll", "none", "MD5Final", "ptr", DllStructGetPtr($tMD5_CTX))
+
+ If @error Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(6, 0, "")
+ EndIf
+
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+
+ Local $sMD5 = Hex(DllStructGetData($tMD5_CTX, "digest"))
+
+ Return SetError(0, 0, $sMD5)
+
+EndFunc ;==>_MD5ForFile
+
+; #FUNCTION# ;===============================================================================
+;
+; Name...........: _CRC32ForFile
+; Description ...: Calculates CRC32 value for the specific file.
+; Syntax.........: _CRC32ForFile ($sFile)
+; Parameters ....: $sFile - Full path to the file to process.
+; Return values .: Success - Returns CRC32 value in form of hex string
+; - Sets @error to 0
+; Failure - Returns empty string and sets @error:
+; |1 - CreateFile function or call to it failed.
+; |2 - CreateFileMapping function or call to it failed.
+; |3 - MapViewOfFile function or call to it failed.
+; |4 - RtlComputeCrc32 function or call to it failed.
+; Author ........: trancexx
+;
+;==========================================================================================
+Func _CRC32ForFile($sFile)
+
+ Local $a_hCall = DllCall("kernel32.dll", "hwnd", "CreateFileW", _
+ "wstr", $sFile, _
+ "dword", 0x80000000, _ ; GENERIC_READ
+ "dword", 3, _ ; FILE_SHARE_READ|FILE_SHARE_WRITE
+ "ptr", 0, _
+ "dword", 3, _ ; OPEN_EXISTING
+ "dword", 0, _ ; SECURITY_ANONYMOUS
+ "ptr", 0)
+
+ If @error Or $a_hCall[0] = -1 Then
+ Return SetError(1, 0, "")
+ EndIf
+
+ Local $hFile = $a_hCall[0]
+
+ $a_hCall = DllCall("kernel32.dll", "ptr", "CreateFileMappingW", _
+ "hwnd", $hFile, _
+ "dword", 0, _ ; default security descriptor
+ "dword", 2, _ ; PAGE_READONLY
+ "dword", 0, _
+ "dword", 0, _
+ "ptr", 0)
+
+ If @error Or Not $a_hCall[0] Then
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
+ Return SetError(2, 0, "")
+ EndIf
+
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
+
+ Local $hFileMappingObject = $a_hCall[0]
+
+ $a_hCall = DllCall("kernel32.dll", "ptr", "MapViewOfFile", _
+ "hwnd", $hFileMappingObject, _
+ "dword", 4, _ ; FILE_MAP_READ
+ "dword", 0, _
+ "dword", 0, _
+ "dword", 0)
+
+ If @error Or Not $a_hCall[0] Then
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(3, 0, "")
+ EndIf
+
+ Local $pFile = $a_hCall[0]
+ Local $iBufferSize = FileGetSize($sFile)
+
+ Local $a_iCall = DllCall("ntdll.dll", "dword", "RtlComputeCrc32", _
+ "dword", 0, _
+ "ptr", $pFile, _
+ "int", $iBufferSize)
+
+ If @error Or Not $a_iCall[0] Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(4, 0, "")
+ EndIf
+
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+
+ Local $iCRC32 = $a_iCall[0]
+
+ Return SetError(0, 0, Hex($iCRC32))
+
+EndFunc ;==>_CRC32ForFile
+
+; #FUNCTION# ;===============================================================================
+;
+; Name...........: _SHA1ForFile
+; Description ...: Calculates SHA1 value for the specific file.
+; Syntax.........: _SHA1ForFile ($sFile)
+; Parameters ....: $sFile - Full path to the file to process.
+; Return values .: Success - Returns SHA1 value in form of hex string
+; - Sets @error to 0
+; Failure - Returns empty string and sets @error:
+; |1 - CreateFile function or call to it failed.
+; |2 - CreateFileMapping function or call to it failed.
+; |3 - MapViewOfFile function or call to it failed.
+; |4 - CryptAcquireContext function or call to it failed.
+; |5 - CryptCreateHash function or call to it failed.
+; |6 - CryptHashData function or call to it failed.
+; |7 - CryptGetHashParam function or call to it failed.
+; Author ........: trancexx
+;
+;==========================================================================================
+Func _SHA1ForFile($sFile)
+
+ Local $a_hCall = DllCall("kernel32.dll", "hwnd", "CreateFileW", _
+ "wstr", $sFile, _
+ "dword", 0x80000000, _ ; GENERIC_READ
+ "dword", 3, _ ; FILE_SHARE_READ|FILE_SHARE_WRITE
+ "ptr", 0, _
+ "dword", 3, _ ; OPEN_EXISTING
+ "dword", 0, _ ; SECURITY_ANONYMOUS
+ "ptr", 0)
+
+ If @error Or $a_hCall[0] = -1 Then
+ Return SetError(1, 0, "")
+ EndIf
+
+ Local $hFile = $a_hCall[0]
+
+ $a_hCall = DllCall("kernel32.dll", "ptr", "CreateFileMappingW", _
+ "hwnd", $hFile, _
+ "dword", 0, _ ; default security descriptor
+ "dword", 2, _ ; PAGE_READONLY
+ "dword", 0, _
+ "dword", 0, _
+ "ptr", 0)
+
+ If @error Or Not $a_hCall[0] Then
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
+ Return SetError(2, 0, "")
+ EndIf
+
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
+
+ Local $hFileMappingObject = $a_hCall[0]
+
+ $a_hCall = DllCall("kernel32.dll", "ptr", "MapViewOfFile", _
+ "hwnd", $hFileMappingObject, _
+ "dword", 4, _ ; FILE_MAP_READ
+ "dword", 0, _
+ "dword", 0, _
+ "dword", 0)
+
+ If @error Or Not $a_hCall[0] Then
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(3, 0, "")
+ EndIf
+
+ Local $pFile = $a_hCall[0]
+ Local $iBufferSize = FileGetSize($sFile)
+
+ Local $a_iCall = DllCall("advapi32.dll", "int", "CryptAcquireContext", _
+ "ptr*", 0, _
+ "ptr", 0, _
+ "ptr", 0, _
+ "dword", 1, _ ; PROV_RSA_FULL
+ "dword", 0xF0000000) ; CRYPT_VERIFYCONTEXT
+
+ If @error Or Not $a_iCall[0] Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ Return SetError(4, 0, "")
+ EndIf
+
+ Local $hContext = $a_iCall[1]
+
+ $a_iCall = DllCall("advapi32.dll", "int", "CryptCreateHash", _
+ "ptr", $hContext, _
+ "dword", 0x00008004, _ ; CALG_SHA1
+ "ptr", 0, _ ; nonkeyed
+ "dword", 0, _
+ "ptr*", 0)
+
+ If @error Or Not $a_iCall[0] Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ DllCall("advapi32.dll", "int", "CryptReleaseContext", "ptr", $hContext, "dword", 0)
+ Return SetError(5, 0, "")
+ EndIf
+
+ Local $hHashSHA1 = $a_iCall[5]
+
+ $a_iCall = DllCall("advapi32.dll", "int", "CryptHashData", _
+ "ptr", $hHashSHA1, _
+ "ptr", $pFile, _
+ "dword", $iBufferSize, _
+ "dword", 0)
+
+ If @error Or Not $a_iCall[0] Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ DllCall("advapi32.dll", "int", "CryptDestroyHash", "ptr", $hHashSHA1)
+ DllCall("advapi32.dll", "int", "CryptReleaseContext", "ptr", $hContext, "dword", 0)
+ Return SetError(6, 0, "")
+ EndIf
+
+ Local $tOutSHA1 = DllStructCreate("byte[20]")
+
+ $a_iCall = DllCall("advapi32.dll", "int", "CryptGetHashParam", _
+ "ptr", $hHashSHA1, _
+ "dword", 2, _ ; HP_HASHVAL
+ "ptr", DllStructGetPtr($tOutSHA1), _
+ "dword*", 20, _
+ "dword", 0)
+
+ If @error Or Not $a_iCall[0] Then
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+ DllCall("advapi32.dll", "int", "CryptDestroyHash", "ptr", $hHashSHA1)
+ DllCall("advapi32.dll", "int", "CryptReleaseContext", "ptr", $hContext, "dword", 0)
+ Return SetError(7, 0, "")
+ EndIf
+
+ DllCall("kernel32.dll", "int", "UnmapViewOfFile", "ptr", $pFile)
+ DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFileMappingObject)
+
+ DllCall("advapi32.dll", "int", "CryptDestroyHash", "ptr", $hHashSHA1)
+
+ Local $sSHA1 = Hex(DllStructGetData($tOutSHA1, 1))
+
+ DllCall("advapi32.dll", "int", "CryptReleaseContext", "ptr", $hContext, "dword", 0)
+
+ Return SetError(0, 0, $sSHA1)
+
+EndFunc ;==>_SHA1ForFile
\ No newline at end of file
diff --git a/Include/_MyFunction.au3 b/Include/_MyFunction.au3
index 1bbaf89..fc2b018 100644
--- a/Include/_MyFunction.au3
+++ b/Include/_MyFunction.au3
@@ -176,7 +176,7 @@ EndFunc ;==>_CheckURL
; #FUNCTION# ===================================================================================================
; Name...........: _Download
; Description ...: Download URL to a file with @Error and TimeOut
-; Syntax.........: _Download($iURL, $iPath)
+; Syntax.........: _Download($iURL, $iPath, $iTimeOut = 20, $iCRC = default)
; Parameters ....: $iURL - URL to download
; $iPath - Path to download
; $iTimeOut - Time to wait before time out in second
@@ -189,9 +189,13 @@ EndFunc ;==>_CheckURL
; Related .......:
; Link ..........;
; Example .......; No
-Func _Download($iURL, $iPath, $iTimeOut = 20)
+Func _Download($iURL, $iPath, $iTimeOut = 20, $iCRC = default)
Local $inetgettime = 0, $aData, $hDownload
- $hDownload = InetGet($iURL, $iPath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)
+ If $iURL = "" Then
+ _LOG("Nothing to Downloaded : " & $iPath, 2, $iLOGPath)
+ Return -1
+ EndIf
+ $hDownload = InetGet($iURL, $iPath,$INET_FORCERELOAD , $INET_DOWNLOADBACKGROUND)
Do
Sleep(250)
$inetgettime = $inetgettime + 0.25
@@ -203,6 +207,7 @@ Func _Download($iURL, $iPath, $iTimeOut = 20)
EndIf
Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE) ; Check if the download is complete.
+
$aData = InetGetInfo($hDownload)
If @error Then
_LOG("File Downloaded ERROR InetGetInfo : " & $iPath, 2, $iLOGPath)
@@ -212,14 +217,31 @@ Func _Download($iURL, $iPath, $iTimeOut = 20)
EndIf
InetClose($hDownload)
-
If $aData[$INET_DOWNLOADSUCCESS] Then
- _LOG("File Downloaded Path : " & $iPath, 1, $iLOGPath)
+ If ($aData[$INET_DOWNLOADSIZE]<>0 And $aData[$INET_DOWNLOADREAD] <> $aData[$INET_DOWNLOADSIZE]) Or FileGetSize($iPath) < 50 Then
+ _LOG("Error Downloading URL : " & $iURL, 3, $iLOGPath)
+ _LOG("Error Downloading File : " & $iPath, 2, $iLOGPath)
+ _LOG("Error File Line 1 : " & FileReadLine($iPath), 2, $iLOGPath)
+ _LOG("Bytes read: " & $aData[$INET_DOWNLOADREAD], 2, $iLOGPath)
+ _LOG("Size: " & $aData[$INET_DOWNLOADSIZE], 2, $iLOGPath)
+ Return -1
+ EndIf
+
+ If $iCRC <> Default Then
+ $vDlCRC = StringRight(_CRC32ForFile($iPath), 8)
+ If $vDlCRC <> $iCRC Then
+ _LOG("Error CRC File ("& $vDlCRC & " <> " & $iCRC &") : " & $iPath, 2, $iLOGPath)
+;~ Return -1
+ Else
+ _LOG(">>> CRC OK ("& $vDlCRC & " = " & $iCRC &") : " & $iPath, 1, $iLOGPath)
+ EndIf
+ EndIf
_LOG("File Downloading URL : " & $iURL, 3, $iLOGPath)
+ _LOG("File Downloaded Path : " & $iPath, 1, $iLOGPath)
Return $iPath
Else
- _LOG("Error Downloading File : " & $iPath, 2, $iLOGPath)
_LOG("Error Downloading URL : " & $iURL, 3, $iLOGPath)
+ _LOG("Error Downloading File : " & $iPath, 2, $iLOGPath)
_LOG("Bytes read: " & $aData[$INET_DOWNLOADREAD], 2, $iLOGPath)
_LOG("Size: " & $aData[$INET_DOWNLOADSIZE], 2, $iLOGPath)
_LOG("Complete: " & $aData[$INET_DOWNLOADCOMPLETE], 2, $iLOGPath)
@@ -233,7 +255,7 @@ EndFunc ;==>_Download
; #FUNCTION# ===================================================================================================
; Name...........: _DownloadWRetry
; Description ...: Download URL to a file with @Error and TimeOut With Retry
-; Syntax.........: _DownloadWRetry($iURL, $iPath, $iRetry = 3)
+; Syntax.........: _DownloadWRetry($iURL, $iPath, $iRetry = 3, $iTimeOut = 20, $iCRC = default)
; Parameters ....: $iURL - URL to download
; $iPath - Path to download
;~ $iRetry - Number of retry
@@ -246,11 +268,11 @@ EndFunc ;==>_Download
; Related .......:
; Link ..........;
; Example .......; No
-Func _DownloadWRetry($iURL, $iPath, $iRetry = 3, $iTimeOut = 20)
+Func _DownloadWRetry($iURL, $iPath, $iRetry = 3, $iTimeOut = 20, $iCRC = default)
Local $iCount = 0, $iResult = -1, $vTimer = TimerInit()
While $iResult < 0 And $iCount < $iRetry
$iCount = $iCount + 1
- $iResult = _Download($iURL, $iPath, $iTimeOut)
+ $iResult = _Download($iURL, $iPath, $iTimeOut, $iCRC)
WEnd
_LOG("-In " & $iCount & " try and " & Round((TimerDiff($vTimer) / 1000), 2) & "s", 1, $iLOGPath)
Return $iResult
@@ -560,7 +582,7 @@ Func _MakeTEMPFile($iPath, $iPath_Temp)
If Not FileCopy($iPath, $iPath_Temp, $FC_OVERWRITE + $FC_CREATEPATH) Then
Sleep(250)
If Not FileCopy($iPath, $iPath_Temp, $FC_OVERWRITE + $FC_CREATEPATH) Then
- _LOG("Error copying " & $iPath & " to " & $iPath_Temp, 2, $iLOGPath)
+ _LOG("Error copying " & $iPath & " to " & $iPath_Temp &" ("&FileGetSize($iPath)&")", 2, $iLOGPath)
Return -1
EndIf
EndIf
@@ -571,6 +593,7 @@ Func _MakeTEMPFile($iPath, $iPath_Temp)
Return -1
EndIf
EndIf
+ _LOG($iPath & " to temp OK : " & $iPath_Temp, 1, $iLOGPath)
Return $iPath_Temp
EndFunc ;==>_MakeTEMPFile
@@ -667,6 +690,7 @@ Func _GDIPlus_ResizeMax($iPath, $iMAX_Width, $iMAX_Height)
$iWidth = _GDIPlus_ImageGetWidth($hImage)
If $iWidth = 4294967295 Then $iWidth = 0 ;4294967295 en cas d'erreur.
$iHeight = _GDIPlus_ImageGetHeight($hImage)
+ If $iWidth = -1 Or $iHeight = -1 Then MsgBox(0,"error",$iPath & " or " & $iPath_Temp & " Fucked")
$iRatio = $iHeight / $iWidth
If $iMAX_Width <= 0 And $iMAX_Height > 0 Then $iMAX_Width = $iMAX_Height / $iRatio
If $iMAX_Height <= 0 And $iMAX_Width > 0 Then $iMAX_Height = $iMAX_Width * $iRatio
@@ -1185,7 +1209,10 @@ Func _GDIPlus_Merge($iPath1, $iPath2)
_PathSplit($iPath1, $sDrive, $sDir, $sFileName, $iExtension)
$iPath_Temp = $sDrive & $sDir & $sFileName & "-MER_Temp.PNG"
- If _MakeTEMPFile($iPath1, $iPath_Temp) = -1 Then Return -1
+ If _MakeTEMPFile($iPath1, $iPath_Temp) = -1 Then
+ _LOG("Error Merging " & $iPath1 & " and " & $iPath2, 2, $iLOGPath)
+ Return -1
+ EndIf
$iPath1 = $sDrive & $sDir & $sFileName & ".png"
@@ -1613,7 +1640,7 @@ Func _XML_Open($iXMLPath)
_LOG('_XML_TIDY @error:' & @CRLF & XML_My_ErrorParser(@error), 2, $iLOGPath)
Return -1
EndIf
- _LOG($iXMLPath & " Open", 3, $iLOGPath)
+;~ _LOG($iXMLPath & " Open", 3, $iLOGPath)
Return $oXMLDoc
EndFunc ;==>_XML_Open
@@ -1647,7 +1674,7 @@ Func _XML_Read($iXpath, $iXMLType = 0, $iXMLPath = "", $oXMLDoc = "")
Switch $iXMLType
Case 0
If _XML_NodeExists($oXMLDoc, $iXpath) <> $XML_RET_SUCCESS Then
- _LOG('_XML_NodeExists ERROR (' & $iXpath & " doesn't exist)", 3, $iLOGPath)
+;~ _LOG('_XML_NodeExists ERROR (' & $iXpath & " doesn't exist)", 3, $iLOGPath)
Return ""
EndIf
$iXMLValue = _XML_GetValue($oXMLDoc, $iXpath)
@@ -1658,7 +1685,7 @@ Func _XML_Read($iXpath, $iXMLType = 0, $iXMLPath = "", $oXMLDoc = "")
Return -1
EndIf
If IsArray($iXMLValue) And UBound($iXMLValue) - 1 > 0 Then
- _LOG('...Value..._XML_GetValue (' & $iXpath & ') = ' & $iXMLValue[1], 1, $iLOGPath)
+ _LOG('...Value..._XML_GetValue (' & $iXpath & ') = ' & $iXMLValue[1], 3, $iLOGPath)
Return $iXMLValue[1]
Else
_LOG('_XML_GetValue (' & $iXpath & ') is not an Array', 2, $iLOGPath)
@@ -1680,7 +1707,7 @@ Func _XML_Read($iXpath, $iXMLType = 0, $iXMLPath = "", $oXMLDoc = "")
_LOG('_XML_GetNodeAttributeValue @error:' & @CRLF & XML_My_ErrorParser(@error), 3, $iLOGPath)
Return -1
EndIf
- _LOG('...Attribut..._XML_GetValue (' & $iXpath & ') = ' & $iXMLValue, 1, $iLOGPath)
+ _LOG('...Attribut..._XML_GetValue (' & $iXpath & ') = ' & $iXMLValue, 3, $iLOGPath)
Return $iXMLValue
Case Else
Return -2
diff --git a/MIX Repository/Arcade (moon)-RecalBox.zip b/MIX Repository/Arcade (moon)-RecalBox.zip
index 9bbd59e..a64f6f3 100644
Binary files a/MIX Repository/Arcade (moon)-RecalBox.zip and b/MIX Repository/Arcade (moon)-RecalBox.zip differ
diff --git a/MIX Repository/Arcade (moon)-RetroPie.zip b/MIX Repository/Arcade (moon)-RetroPie.zip
index cf634cc..53a4b2e 100644
Binary files a/MIX Repository/Arcade (moon)-RetroPie.zip and b/MIX Repository/Arcade (moon)-RetroPie.zip differ
diff --git a/MIX Repository/Arcade (moon).zip b/MIX Repository/Arcade (moon).zip
index 391d8b6..1d9a206 100644
Binary files a/MIX Repository/Arcade (moon).zip and b/MIX Repository/Arcade (moon).zip differ
diff --git a/MIX Repository/Arcade Zoomed (moon)-RecalBox.zip b/MIX Repository/Arcade Zoomed (moon)-RecalBox.zip
index e30e69f..d8448d9 100644
Binary files a/MIX Repository/Arcade Zoomed (moon)-RecalBox.zip and b/MIX Repository/Arcade Zoomed (moon)-RecalBox.zip differ
diff --git a/MIX Repository/Arcade Zoomed (moon)-Retropie.zip b/MIX Repository/Arcade Zoomed (moon)-Retropie.zip
index fcfa730..28c291f 100644
Binary files a/MIX Repository/Arcade Zoomed (moon)-Retropie.zip and b/MIX Repository/Arcade Zoomed (moon)-Retropie.zip differ
diff --git a/MIX Repository/Arcade Zoomed (moon).zip b/MIX Repository/Arcade Zoomed (moon).zip
index b1eb939..bea021a 100644
Binary files a/MIX Repository/Arcade Zoomed (moon).zip and b/MIX Repository/Arcade Zoomed (moon).zip differ
diff --git a/MIX Repository/BigPicture (2DBox).zip b/MIX Repository/BigPicture (2DBox).zip
new file mode 100644
index 0000000..2752cf4
Binary files /dev/null and b/MIX Repository/BigPicture (2DBox).zip differ
diff --git a/MIX Repository/BigPicture (3DBox).zip b/MIX Repository/BigPicture (3DBox).zip
new file mode 100644
index 0000000..db833e2
Binary files /dev/null and b/MIX Repository/BigPicture (3DBox).zip differ
diff --git a/MIX Repository/BigPicture (ScreenShot).zip b/MIX Repository/BigPicture (ScreenShot).zip
new file mode 100644
index 0000000..665d7ee
Binary files /dev/null and b/MIX Repository/BigPicture (ScreenShot).zip differ
diff --git a/MIX Repository/FoolScreen (Arcade).zip b/MIX Repository/FoolScreen (Arcade).zip
index 551c8e7..bfdb1c8 100644
Binary files a/MIX Repository/FoolScreen (Arcade).zip and b/MIX Repository/FoolScreen (Arcade).zip differ
diff --git a/MIX Repository/FoolScreen (GB).zip b/MIX Repository/FoolScreen (GB).zip
index 908853c..b15bde6 100644
Binary files a/MIX Repository/FoolScreen (GB).zip and b/MIX Repository/FoolScreen (GB).zip differ
diff --git a/MIX Repository/FoolScreen (GBA).zip b/MIX Repository/FoolScreen (GBA).zip
index 81de8a3..5598643 100644
Binary files a/MIX Repository/FoolScreen (GBA).zip and b/MIX Repository/FoolScreen (GBA).zip differ
diff --git a/MIX Repository/FoolScreen (GBC).zip b/MIX Repository/FoolScreen (GBC).zip
index d938dc7..c44c5bf 100644
Binary files a/MIX Repository/FoolScreen (GBC).zip and b/MIX Repository/FoolScreen (GBC).zip differ
diff --git a/MIX Repository/FoolScreen (GameGear).zip b/MIX Repository/FoolScreen (GameGear).zip
index 14e9d61..77b542c 100644
Binary files a/MIX Repository/FoolScreen (GameGear).zip and b/MIX Repository/FoolScreen (GameGear).zip differ
diff --git a/MIX Repository/FoolScreen (Lynx).zip b/MIX Repository/FoolScreen (Lynx).zip
index c70d4fc..9a1d7a7 100644
Binary files a/MIX Repository/FoolScreen (Lynx).zip and b/MIX Repository/FoolScreen (Lynx).zip differ
diff --git a/MIX Repository/FoolScreen (Monitor).zip b/MIX Repository/FoolScreen (Monitor).zip
index 8a3f384..4e86fc1 100644
Binary files a/MIX Repository/FoolScreen (Monitor).zip and b/MIX Repository/FoolScreen (Monitor).zip differ
diff --git a/MIX Repository/FoolScreen (OldTV).zip b/MIX Repository/FoolScreen (OldTV).zip
index dda2ead..d9f69ad 100644
Binary files a/MIX Repository/FoolScreen (OldTV).zip and b/MIX Repository/FoolScreen (OldTV).zip differ
diff --git a/MIX Repository/Full Back.zip b/MIX Repository/Full Back.zip
index 2889706..8ecd153 100644
Binary files a/MIX Repository/Full Back.zip and b/MIX Repository/Full Back.zip differ
diff --git a/MIX Repository/Preview/BigPicture (2DBox)/Description.txt b/MIX Repository/Preview/BigPicture (2DBox)/Description.txt
new file mode 100644
index 0000000..192f4ef
--- /dev/null
+++ b/MIX Repository/Preview/BigPicture (2DBox)/Description.txt
@@ -0,0 +1,3 @@
+Author : Screech
+Description :
+BigPicture with 2D Box as main picture and several picto (Nb of player, note, genre, classification, editor)
\ No newline at end of file
diff --git a/MIX Repository/Preview/BigPicture (2DBox)/Empty_exemple.jpg b/MIX Repository/Preview/BigPicture (2DBox)/Empty_exemple.jpg
new file mode 100644
index 0000000..c546182
Binary files /dev/null and b/MIX Repository/Preview/BigPicture (2DBox)/Empty_exemple.jpg differ
diff --git a/MIX Repository/Preview/BigPicture (2DBox)/Full_exemple.jpg b/MIX Repository/Preview/BigPicture (2DBox)/Full_exemple.jpg
new file mode 100644
index 0000000..8dd07c8
Binary files /dev/null and b/MIX Repository/Preview/BigPicture (2DBox)/Full_exemple.jpg differ
diff --git a/MIX Repository/Preview/BigPicture (3DBox)/Description.txt b/MIX Repository/Preview/BigPicture (3DBox)/Description.txt
new file mode 100644
index 0000000..7db8f44
--- /dev/null
+++ b/MIX Repository/Preview/BigPicture (3DBox)/Description.txt
@@ -0,0 +1,3 @@
+Author : Screech
+Description :
+BigPicture with 3D Box as main picture and several picto (Nb of player, note, genre, classification, editor)
\ No newline at end of file
diff --git a/MIX Repository/Preview/BigPicture (3DBox)/Empty_exemple.jpg b/MIX Repository/Preview/BigPicture (3DBox)/Empty_exemple.jpg
new file mode 100644
index 0000000..c546182
Binary files /dev/null and b/MIX Repository/Preview/BigPicture (3DBox)/Empty_exemple.jpg differ
diff --git a/MIX Repository/Preview/BigPicture (3DBox)/Full_exemple.jpg b/MIX Repository/Preview/BigPicture (3DBox)/Full_exemple.jpg
new file mode 100644
index 0000000..f6e92ae
Binary files /dev/null and b/MIX Repository/Preview/BigPicture (3DBox)/Full_exemple.jpg differ
diff --git a/MIX Repository/Preview/BigPicture (ScreenShot)/Description.txt b/MIX Repository/Preview/BigPicture (ScreenShot)/Description.txt
new file mode 100644
index 0000000..42a1889
--- /dev/null
+++ b/MIX Repository/Preview/BigPicture (ScreenShot)/Description.txt
@@ -0,0 +1,3 @@
+Author : Screech
+Description :
+BigPicture with Screenshot as main picture and several picto (Nb of player, note, genre, classification, editor)
\ No newline at end of file
diff --git a/MIX Repository/Preview/BigPicture (ScreenShot)/Empty_exemple.jpg b/MIX Repository/Preview/BigPicture (ScreenShot)/Empty_exemple.jpg
new file mode 100644
index 0000000..c546182
Binary files /dev/null and b/MIX Repository/Preview/BigPicture (ScreenShot)/Empty_exemple.jpg differ
diff --git a/MIX Repository/Preview/BigPicture (ScreenShot)/Full_exemple.jpg b/MIX Repository/Preview/BigPicture (ScreenShot)/Full_exemple.jpg
new file mode 100644
index 0000000..2d2b595
Binary files /dev/null and b/MIX Repository/Preview/BigPicture (ScreenShot)/Full_exemple.jpg differ
diff --git a/MIX Repository/Standard (2img).zip b/MIX Repository/Standard (2img).zip
index e0873df..c8ff0c3 100644
Binary files a/MIX Repository/Standard (2img).zip and b/MIX Repository/Standard (2img).zip differ
diff --git a/MIX Repository/Standard (3img).zip b/MIX Repository/Standard (3img).zip
index 5364427..eba8240 100644
Binary files a/MIX Repository/Standard (3img).zip and b/MIX Repository/Standard (3img).zip differ
diff --git a/MIX Repository/Standard (4img).zip b/MIX Repository/Standard (4img).zip
index 2f07a50..291ca6d 100644
Binary files a/MIX Repository/Standard (4img).zip and b/MIX Repository/Standard (4img).zip differ
diff --git a/MIX Repository/_MIXList.txt b/MIX Repository/_MIXList.txt
index 3484675..fe6fc60 100644
--- a/MIX Repository/_MIXList.txt
+++ b/MIX Repository/_MIXList.txt
@@ -4,6 +4,9 @@ Arcade (moon)-RetroPie
Arcade Zoomed (moon)
Arcade Zoomed (moon)-RecalBox
Arcade Zoomed (moon)-Retropie
+BigPicture (2DBox)
+BigPicture (3DBox)
+BigPicture (ScreenShot)
FoolScreen (Arcade)
FoolScreen (GameGear)
FoolScreen (GB)
diff --git a/Mix/BigPicture (Box).zip b/Mix/BigPicture (Box).zip
deleted file mode 100644
index 3c9d7c3..0000000
Binary files a/Mix/BigPicture (Box).zip and /dev/null differ
diff --git a/Mix/BigPicture (ScreenShot).zip b/Mix/BigPicture (ScreenShot).zip
index d829df7..665d7ee 100644
Binary files a/Mix/BigPicture (ScreenShot).zip and b/Mix/BigPicture (ScreenShot).zip differ
diff --git a/Ressources/Countrylist.xml b/Ressources/Countrylist.xml
deleted file mode 100644
index 829e3fc..0000000
--- a/Ressources/Countrylist.xml
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-
-
-
- 115
- de
- Allemagne
- Deutschland
- Germany
- Alemania
- Alemanha
- 48
-
-
- 3257
- ame
- Amérique
- América
- 0
-
-
- 114
- asi
- Asie
- Asien
- Asia
- Asia
- Ásia
- 0
-
-
- 61
- au
- Australie
- Australien
- Australia
- Australia
- Austrália
- 0
-
-
- 63
- br
- Brésil
- Brasilien
- Brazil
- Brasil
- Brasil
- 3257
-
-
- 121
- ca
- Canada
- Kanada
- Canada
- Canadá
- Canadá
- 3257
-
-
- 56
- cn
- Chine
- China
- China
- China
- China
- 114
-
-
- 58
- kr
- Corée
- Korea
- Korea
- Corea
- Coreia
- 114
-
-
- 3603
- cus
- Custom
- Custom
- 0
-
-
- 282
- dk
- Danemark
- Dänemark
- Denmark
- Dinamarca
- Dinamarca
- 48
-
-
- 122
- sp
- Espagne
- Spanien
- Spain
- España
- Espanha
- 48
-
-
- 48
- eu
- Europe
- Europa
- Europe
- Europa
- Europa
- 0
-
-
- 283
- fi
- Finlande
- Finnland
- Finland
- Finlandia
- Finlândia
- 48
-
-
- 45
- fr
- France
- Frankreich
- France
- Francia
- França
- 48
-
-
- 118
- it
- Italie
- Italien
- Italy
- Italia
- Itália
- 48
-
-
- 47
- jp
- Japon
- Japan
- Japan
- Japón
- Japão
- 114
-
-
- 57
- wor
- Monde
- World
- World
- Mundo
- Mundo
- 0
-
-
- 130
- nl
- Pays-Bas
- Niederlande
- Netherlands
- Holanda
- Holanda
- 48
-
-
- 3595
- pl
- Pologne
- Poland
- Polonia
- 48
-
-
- 3780
- pt
- Portugal
- Portugal
- Portugal
- Portugal
- Portugal
- 48
-
-
- 3289
- uk
- Royaume-Uni
- United Kingdom
- Reino Unido
- 48
-
-
- 126
- ru
- Russie
- Russland
- Russia
- Rusia
- Rússia
- 0
-
-
- 116
- se
- Suede
- Schweden
- Sweden
- Suecia
- Suécia
- 48
-
-
- 112
- tw
- Taiwan
- Taiwan
- Taiwan
- Taiwan
- Taiwan
- 114
-
-
- 46
- us
- USA
- USA
- USA
- EUA
- EUA
- 3257
-
-
-
diff --git a/Ressources/Genresliste.xml b/Ressources/Genresliste.xml
deleted file mode 100644
index 2d70d4a..0000000
--- a/Ressources/Genresliste.xml
+++ /dev/null
@@ -1,1346 +0,0 @@
-
-
-
-
-
- 3583
- Action Shoot'em Up
- 0
-
-
- 10
- Action
- Action
- Action
- Acción
- Ação
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=10&media=logo-monochrome&mediaformat=png
-
-
-
- 2917
- Action / Casse briques
- Action / Breakout Spiele
- Action / Breakout games
- Acción / Juegos de Breakout
- Ação / Jogos de Breakout
- 10
-
-
- 2909
- Action / Escalade
- Action / Klettern
- Action / Climbing
- Acción / Escalada
- Ação / Escalada
- 10
-
-
- 2937
- Action / Labyrinthe
- Action / Labyrinth
- Action / Labyrinth
- Acción / Laberinto
- Ação / Labirinto
- 10
-
-
- 3566
- Action-Adventure
- 0
-
-
- 413
- Adulte
- Erwachsene
- Adult
- Adulto
- Adulto
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=413&media=logo-monochrome&mediaformat=png
-
-
-
- 13
- Aventure
- Abenteuer
- Adventure
- Aventura
- Aventura
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=13&media=logo-monochrome&mediaformat=png
-
-
-
- 1
- Beat'em All
- Beat'em Up
- Beat'em Up
- Beat'em Up
- Briga de rua
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=1&media=logo-monochrome&mediaformat=png
-
-
-
- 320
- Casino
- Casino
- Casino
- Casino
- Cassino
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=320&media=logo-monochrome&mediaformat=png
-
-
-
- 2872
- Casino / Cartes
- Casino / Karten
- Casino / Cards
- Casino / Cartas
- Cassino / Cartas
- 320
-
-
- 2950
- Casino / Course
- Casino / Rennen
- Casino / Race
- Casino / Carreras
- Cassino / Corrida
- 320
-
-
- 2932
- Casino / Loterie
- Casino / Lotterie
- Casino / Lottery
- Casino / Lotería
- Cassino / Loteria
- 320
-
-
- 2860
- Casino / Machine a sous
- Casino / Slot Machine
- Casino / Slot machine
- Casino / Máquina tragamonedas
- Cassino / Caça-níqueis
- 320
-
-
- 2944
- Casino / Roulette
- Casino / Roulette
- Casino / Roulette
- Casino / Ruleta
- Cassino / Roleta
- 320
-
-
- 171
- Casual Game
- Gelegenheitsspiel
- Casual Game
- Juego casual
- Jogo casual
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=171&media=logo-monochrome&mediaformat=png
-
-
-
- 3192
- Chasse
- Jagen
- Hunting
- Caza
- Caça
- 2648
-
-
- 2648
- Chasse et Peche
- Jagen und Angeln
- Hunting and Fishing
- Caza y Pesca
- Caça e Pesca
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=2648&media=logo-monochrome&mediaformat=png
-
-
-
- 14
- Combat
- Kampf
- Fight
- Combate
- Luta
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=14&media=logo-monochrome&mediaformat=png
-
-
-
- 2874
- Combat / 2.5D
- Kampf / 2.5D
- Fight / 2.5D
- Combate / 2.5D
- Luta / 2.5D
- 14
-
-
- 2914
- Combat / 2D
- Kampf / 2D
- Fight / 2D
- Combate / 2D
- Luta / 2D
- 14
-
-
- 2920
- Combat / 3D
- Kampf / 3D
- Fight / 3D
- Combate / 3D
- Luta / 3D
- 14
-
-
- 2885
- Combat / Versus
- Kampf / Versus
- Fight / Versus
- Combate / Versus
- Luta / Versus
- 14
-
-
- 2957
- Combat / Versus Co-op
- Kampf / Versus Ko-Op
- Fight / Co-op
- Combate / Versus Co-op
- Luta / Versus Co-op
- 14
-
-
- 2922
- Combat / Vertical
- Kampf / Vertikal
- Fight / Vertical
- Combate / Vertical
- Luta / Vertical
- 14
-
-
- 34
- Compilation
- Sammlung
- Compilation
- Copilación
- Compilação
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=34&media=logo-monochrome&mediaformat=png
-
-
-
- 3301
- Course
- 0
-
-
- 3737
- Course Automobile
- 0
-
-
- 2918
- Course de chevaux
- Pferderennen
- Horses race
- Carreras de caballos
- Corrida com Cavalos
- 2650
-
-
- 2973
- Course de Moto vue 1er pers.
- Motorradrennen, 1st Pers.
- Motorcycle Race, 1st Pers.
- Carreras de moto, 1ª persona
- Corrida de moto em 1ª pessoa
- 28
-
-
- 2871
- Course de Moto vue 3eme pers.
- Motorradrennen, 3rd Pers.
- Motorcycle Race, 3rd Pers.
- Carreras de moto, 3ª persona
- Corrida de moto em 3ª pessoa
- 28
-
-
- 2884
- Course vue 1ere pers.
- Rennen 1st Pers.
- Race 1st Pers. view
- Carreras 1ª persona
- Corrida em 1ª pessoa
- 28
-
-
- 2888
- Course vue 3eme pers.
- Rennen 3rd Pers.
- Race 3rd Pers. view
- Carreras 3ª persona
- Corrida em 3ª pessoa
- 28
-
-
- 28
- Course, Conduite
- Rennen, Fahren
- Race, Driving
- Carreras, Conducción
- Corrida, Pilotagem
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=28&media=logo-monochrome&mediaformat=png
-
-
-
- 2893
- Course, Conduite / Avion
- Rennen, Fahren / Flugzeug
- Race, Driving / Plane
- Carreras, Conducción / Avión
- Corrida, Pilotagem / Avião
- 28
-
-
- 2911
- Course, Conduite / Bateau
- Rennen, Fahren / Boot
- Race, Driving / Boat
- Carreras, Conducción / Bote
- Corrida, Pilotagem / Bote
- 28
-
-
- 2924
- Course, Conduite / Course
- Rennen, Fahren / Rennen
- Race, Driving / Race
- Carreras, Conducción / Carreras
- Corrida, Pilotagem / Corrida
- 28
-
-
- 2953
- Course, Conduite / Deltaplane
- Rennen, Fahren / Hang Glider
- Race, Driving / Hang-glider
- Carreras, Conducción / Ala delta
- Corrida, Pilotagem / Asa-Delta
- 28
-
-
- 2943
- Course, Conduite / Moto
- Rennen, Fahren / Motorrad
- Race, Driving / Motorcycle
- Carreras, Conducción / Motocicleta
- Corrida, Pilotagem / Moto
- 28
-
-
- 2974
- Demo
- Demo
- Demo
- Demo
- Demo
- 0
-
-
- 39
- Divers
- Verschiedene
- Various
- Varios
- Variados
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=39&media=logo-monochrome&mediaformat=png
-
-
-
- 2890
- Divers / Electro-mecanique
- Verschiedene / Elektromechanisch
- Various / Electro- Mechanical
- Varios / Electromecánico
- Variados / Eletromecânico
- 39
-
-
- 2879
- Divers / Print Club
- Verschiedene / Print Club
- Various / Print Club
- Varios / Print Club
- Variados / Print Club
- 39
-
-
- 2855
- Divers / Système
- Verschiedene / System
- Various / System
- Varios / Sistema
- Variados / Sistema
- 39
-
-
- 2904
- Divers / Utilitaires
- Verschiedene / Dienstprogramme
- Various / Utilities
- Varios / Utilidades
- Variados / Utilitários
- 39
-
-
- 31
- Flipper
- Flipper
- Pinball
- Pinball
- Pinball
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=31&media=logo-monochrome&mediaformat=png
-
-
-
- 2958
- Go
- Go
- Go
- Go
- Go
- 2647
-
-
- 2882
- Hanafuda
- Hanafuda
- Hanafuda
- Hanafuda
- Hanafuda
- 2647
-
-
- 42
- Jeu de cartes
- Kartenspiele
- Playing cards
- Juegos de cartas
- Jogo de cartas
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=42&media=logo-monochrome&mediaformat=png
-
-
-
- 8
- Jeu de rôles
- Rollenspiele
- Role playing games
- Juegos de rol
- Jogos de RPG
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=8&media=logo-monochrome&mediaformat=png
-
-
-
- 33
- Jeu de societe / plateau
- Brettspiele
- Board game
- Juegos de mesa
- Jogo de tabuleiro
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=33&media=logo-monochrome&mediaformat=png
-
-
-
- 2647
- Jeu de societe asiatique
- Asiatische Brettspiele
- Asiatic board game
- Juegos de mesa asiático
- Jogo de tabuleiro Asiático
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=2647&media=logo-monochrome&mediaformat=png
-
-
-
- 30
- Ludo-Educatif
- Lernspiel
- Educational
- Educacional
- Educacional
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=30&media=logo-monochrome&mediaformat=png
-
-
-
- 3516
- Machines à sous
- 0
-
-
- 3512
- Mah-jong
- 0
-
-
- 2869
- Mahjong
- Mahjong
- Mahjong
- Mahjong
- Mahjong
- 2647
-
-
- 3738
- Mature
- 0
-
-
- 425
- Musique et Dance
- Musik und Tanz
- Music and Dance
- Música y Baile
- Música e dança
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=425&media=logo-monochrome&mediaformat=png
-
-
-
- 323
- N/A
- N/A
- N/A
- N/A
- N/A
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=323&media=logo-monochrome&mediaformat=png
-
-
-
- 2949
- Othello
- Othello
- Othello
- Reversi
- Othello
- 2647
-
-
- 2907
- Outline
- 2843
-
-
- 2965
- Pachinko
- 2857
-
-
- 2895
- Peche
- Angeln
- Fishing
- Pesca
- Pesca
- 2648
-
-
- 2857
- Pinball
- 2848
-
-
- 7
- Plateforme
- Plattform
- Platform
- Plataforma
- Plataforma
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=7&media=logo-monochrome&mediaformat=png
-
-
-
- 2896
- Plateforme / Fighter Scrolling
- Plattform / Kampf Scrolling
- Plateform / Fighter Scrolling
- Plataforma / Combate con desplazamiento
- Plataforma / Combate com rolagem
- 7
-
-
- 2915
- Plateforme / Run Jump
- Plattform / Jump'n'Run
- Plateform / Run Jump
- Plataforma / Corre y Salta
- Plataforma / Corre e Pula
- 7
-
-
- 2897
- Plateforme / Run Jump Scrolling
- Plattform / Jump'n'Run Scrolling
- Plateform / Run Jump Scrolling
- Plataforma / Corre y Salta con deslizamiento
- Plataforma / Corre e Pula com rolagem
- 7
-
-
- 2887
- Plateforme / Shooter Scrolling
- Plattform / Shooter Scrolling
- Plateform / Shooter Scrolling
- Plataforma / Tirador con deslizamiento
- Plataforma / Tiro com rolagem
- 7
-
-
- 3237
- Point and Click
- Point und Klick
- Point and Click
- 13
-
-
- 3514
- Puzzle
- 0
-
-
- 26
- Puzzle-Game
- Puzzle
- Puzzle-Game
- Rompecabezas
- Quebra-cabeças
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=26&media=logo-monochrome&mediaformat=png
-
-
-
- 2864
- Puzzle-Game / Egaler
- Puzzle / Partie
- Puzzle-Game / Equalize
- Rompecabezas / Igualar
- Quebra-cabeças / Igualar
- 26
-
-
- 2891
- Puzzle-Game / Glisser
- Puzzle / Gleiten
- Puzzle-Game / Glide
- Rompecabezas / Deslizar
- Quebra-cabeças / Rolar
- 26
-
-
- 2923
- Puzzle-Game / Lancer
- Puzzle / Werfen
- Puzzle-Game / Throw
- Rompecabezas / Lanzar
- Quebra-cabeças / Lançar
- 26
-
-
- 2912
- Puzzle-Game / Tomber
- Puzzle / Fallen
- Puzzle-Game / Fall
- Rompecabezas / Caída
- Quebra-cabeças / Queda
- 26
-
-
- 2649
- Quiz
- Quiz
- Quiz
- Quiz
- Quiz
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=2649&media=logo-monochrome&mediaformat=png
-
-
-
- 2954
- Quiz / Allemand
- Quiz / Deutsch
- Quiz / German
- Quiz / Alemán
- Quiz / Alemão
- 2649
-
-
- 2931
- Quiz / Anglais
- Quiz / Englisch
- Quiz / English
- Quiz / Inglés
- Quiz / Inglês
- 2649
-
-
- 2951
- Quiz / Coréen
- Quiz / Koreanisch
- Quiz / Korean
- Quiz / Coreano
- Quiz / Coreano
- 2649
-
-
- 2962
- Quiz / Espagnol
- Quiz / Spanisch
- Quiz / Spanish
- Quiz / Español
- Quiz / Espanhol
- 2649
-
-
- 2969
- Quiz / Français
- Quiz / Französisches
- Quiz / French
- Quiz / Francés
- Quiz / Francês
- 2649
-
-
- 2952
- Quiz / Italien
- Quiz / Italienisch
- Quiz / Italian
- Quiz / Italiano
- Quiz / Italiano
- 2649
-
-
- 2894
- Quiz / Japonnais
- Quiz / Japanisch
- Quiz / Japanese
- Quiz / Japonés
- Quiz / Japonês
- 2649
-
-
- 2964
- Quiz / Musical Anglais
- Quiz / Englische Musik
- Quiz / Music English
- Quiz / Música Inglés
- Quiz / Musical Inglês
- 2649
-
-
- 2967
- Quiz / Musical Japonnais
- Quiz / Japanische Musik
- Quiz / Music Japanese
- Quiz / Música Japonés
- Quiz / Musical Japonês
- 2649
-
-
- 3511
- Réflexion
- 0
-
-
- 2956
- Renju
- Renju
- Renju
- Renju
- Renju
- 2647
-
-
- 2925
- Rhythme
- Rythmus
- Rhythm
- Rítmico
- Rítmico
- 425
-
-
- 79
- Shoot'em Up
- Shoot'em Up
- Shoot'em Up
- Shoot'em Up
- Shoot'em Up
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=79&media=logo-monochrome&mediaformat=png
-
-
-
- 2955
- Shoot'em up / Diagonal
- Shoot'em Up / Diagonal
- Shoot'em up / Diagonal
- Shoot'em Up / Diagonal
- Shoot'em Up / Diagonal
- 79
-
-
- 2870
- Shoot'em up / Horizontal
- Shoot'em Up / Horizontal
- Shoot'em up / Horizontal
- Shoot'em Up / Horizontal
- Shoot'em Up / Horizontal
- 79
-
-
- 2851
- Shoot'em up / Vertical
- Shoot'em Up / Vertikal
- Shoot'em up / Vertical
- Shoot'em Up / Vertical
- Shoot'em Up / Vertical
- 79
-
-
- 2898
- Shooter Large
- 2843
-
-
- 2844
- Shooter Small
- 2843
-
-
- 2961
- Shougi
- Shougi
- Shougi
- Shougi
- Shougi
- 2647
-
-
- 40
- Simulation
- Simulation
- Simulation
- Simulación
- Simulação
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=40&media=logo-monochrome&mediaformat=png
-
-
-
- 685
- Sport
- Sport
- Sports
- Deportes
- Esporte
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=685&media=logo-monochrome&mediaformat=png
-
-
-
- 2853
- Sport / Baseball
- Sport / Baseball
- Sports / Baseball
- Deportes / Béisbol
- Esporte / Baseball
- 685
-
-
- 2852
- Sport / Basketball
- Sport / Basketball
- Sports / Basketball
- Deportes / Baloncesto
- Esporte / Basquete
- 685
-
-
- 3028
- Sport / Billard
- Sport / Billard
- Sports / Pool
- Deportes / Billar
- Esporte / Sinuca
- 685
-
-
- 2901
- Sport / Bowling
- Sport / Bowling
- Sports / Bowling
- Deportes / Bowling
- Esporte / Boliche
- 685
-
-
- 2929
- Sport / Boxe
- Sport / Boxen
- Sports / Boxing
- Deportes / Boxeo
- Esporte / Boxe
- 685
-
-
- 2919
- Sport / Bras de fer
- Sport / Armdrücken
- Sports / Arm wrestling
- Deportes / Pulseta
- Esporte / Queda de Braço
- 685
-
-
- 3034
- Sport / Combat
- Sport / Kampfsport
- Sports / Fighting
- Deportes / Combate
- Esporte / Combate
- 685
-
-
- 2877
- Sport / Course a pied
- Sport / Traillauf
- Sports / Running trails
- Deportes / Carrera en pista
- Esporte / Pista de Corrida
- 685
-
-
- 2970
- Sport / Dodgeball
- Sport / Völkerball
- Sports / Dodgeball
- Deportes / Quemadas
- Esporte / Queimada
- 685
-
-
- 2906
- Sport / Flechette
- Sport / Darts
- Sports / Dart
- Deportes / Dardos
- Esporte / Dardos
- 685
-
-
- 2847
- Sport / Football
- Sport / Fußball
- Sports / Soccer
- Deportes / Fútbol
- Esporte / Futebol
- 685
-
-
- 2846
- Sport / Football Américain
- Sport / American Football
- Sports / Football
- Deportes / Fútbol americano
- Esporte / Futebol americano
- 685
-
-
- 2913
- Sport / Golf
- Sport / Golf
- Sports / Golf
- Deportes / Golf
- Esporte / Golfe
- 685
-
-
- 2960
- Sport / Handball
- Sport / Handball
- Sports / Handball
- Deportes / Balonmano
- Esporte / Handball
- 685
-
-
- 2933
- Sport / Hockey
- Sport / Eishockey
- Sports / Hockey
- Deportes / Hockey
- Esporte / Hóquei
- 685
-
-
- 2971
- Sport / Jeu de palet
- Sport / Shuffleboard
- Sports / Shuffleboard
- Deportes / Shuffleboard
- Esporte / Futebol de botão
- 685
-
-
- 2861
- Sport / Lutte
- Sport / Wrestling
- Sports / Wrestling
- Deportes / Lucha libre
- Esporte / Luta Livre
- 685
-
-
- 2878
- Sport / Natation
- Sport / Schwimmen
- Sports / Swimming
- Deportes / Natación
- Esporte / Natação
- 685
-
-
- 2968
- Sport / Parachutisme
- Sport / Fallschirmspringen
- Sports / Skydiving
- Deportes / Paracaidismo
- Esporte / Paraquedismo
- 685
-
-
- 2966
- Sport / Ping pong
- Sport / Tischtennis
- Sports / Table tennis
- Deportes / Ping-pong
- Esporte / Ping-pong
- 685
-
-
- 2948
- Sport / Rugby
- Sport / Rugby
- Sports / Rugby
- Deportes / Rugby
- Esporte / Rugby
- 685
-
-
- 2875
- Sport / Skateboard
- Sport / Skateboard
- Sports / Skateboard
- Deportes / Patineta
- Esporte / Skate
- 685
-
-
- 2902
- Sport / Ski
- Sport / Ski
- Sports / Skiing
- Deportes / Esquí
- Esporte / Esqui
- 685
-
-
- 2947
- Sport / Sumo
- Sport / Sumo
- Sports / Sumo
- Deportes / Sumo
- Esporte / Sumô
- 685
-
-
- 2867
- Sport / Tennis
- Sport / Tennis
- Sports / Tennis
- Deportes / Tenis
- Esporte / Tênis
- 685
-
-
- 2883
- Sport / Volleyball
- Sport / Volleyball
- Sports / Volleyball
- Deportes / Voleibol
- Esporte / Voleibol
- 685
-
-
- 2650
- Sport avec animaux
- Sport mit Tieren
- Sports with Animals
- Deportes con animales
- Esporte com animais
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=2650&media=logo-monochrome&mediaformat=png
-
-
-
- 27
- Stratégie
- Strategie
- Strategy
- Estrategia
- Estratégia
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=27&media=logo-monochrome&mediaformat=png
-
-
-
- 2927
- Surround
- 2843
-
-
- 2646
- Tir
- Shooter
- Shooter
- Tiro
- Tiro
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=2646&media=logo-monochrome&mediaformat=png
-
-
-
- 3303
- Tir (avec accessoire)
- 0
-
-
- 3024
- Tir / 1ere Personne
- Shooter / 1st Pers.
- Shooter / 1st person
- Tiro / Tiro 1ª persona
- Tiro / Tiro em 1ª pessoa
- 2646
-
-
- 2899
- Tir / 3eme Personne
- Shooter / 3rd Pers.
- Shooter / 3rd person
- Tiro / Tiro 3ª persona
- Tiro / Tiro em 3ª pessoa
- 2646
-
-
- 2903
- Tir / A pied
- Shooter / Run and Shoot
- Shooter / Run and Shoot
- Tiro / Corre y Dispara
- Tiro / Corra e Atire
- 2646
-
-
- 2928
- Tir / Avion
- Shooter / Flugzeug
- Shooter / Plane
- Tiro / Avión
- Tiro / Avião
- 2646
-
-
- 2892
- Tir / Avion, 1ere personne
- Shooter / Flugzeug, 1st Pers.
- Shooter / Plane, 1st person
- Tiro / Avión, 1ª persona
- Tiro / Avião em 1ª pessoa
- 2646
-
-
- 2881
- Tir / Avion, 3eme personne
- Shooter / Flugzeug, 3rd Pers.
- Shooter / Plane, 3rd person
- Tiro / Avión, 3ª persona
- Tiro / Avião em 3ª pessoa
- 2646
-
-
- 2876
- Tir / Horizontal
- Shooter / Horizontal
- Shooter / Horizontal
- Tiro / Horizontal
- Tiro / Horizontal
- 2646
-
-
- 2945
- Tir / Missile Command Like
- Shooter / Wie Missile Command
- Shooter / Missile Command Like
- Tiro / Como Missile Command
- Tiro / Estilo Missile Command
- 2646
-
-
- 3026
- Tir / Run and Gun
- Shooter / Run and Gun
- Shooter / Run and Gun
- Tiro / Run and Gun
- Tiro / Run and Gun
- 2646
-
-
- 2900
- Tir / Space Invaders Like
- Shooter / Wie Space Invaders
- Shooter / Space Invaders Like
- Tiro / Estilo Space Invader
- Tiro / Estilo Space Invader
- 2646
-
-
- 2940
- Tir / Véhicule, 1ere personne
- Shooter / Fahrzeug, 1st Pers.
- Shooter / Vehicle, 1st person
- Tiro / Vehículo 1ª persona
- Tiro / Carro 1ª Pessoa
- 2646
-
-
- 2910
- Tir / Vehicule, 3eme personne
- Shooter / Fahrzeug, 3rd. Pers.
- Shooter / Vehicle, 3rd person
- Tiro / Vehículo 3ª persona
- Tiro / Carro 3ª Pessoa
- 2646
-
-
- 2934
- Tir / Véhicule, Diagonal
- Shooter / Fahrzeug, Diagonal
- Shooter / Vehicle, Diagonal
- Tiro / Vehículo, Diagonal
- Tiro / Carro, Diagonal
- 2646
-
-
- 2938
- Tir / Véhicule, Horizontal
- Shooter / Fahrzeug, Horizontal
- Shooter / Vehicle, Horizontal
- Tiro / Vehículo, Horizontal
- Tiro / Carro, Horizontal
- 2646
-
-
- 2921
- Tir / Véhicule, Vertical
- Shooter / Fahrzeug, Vertikal
- Shooter / Vehicle, Vertical
- Tiro / Vehículo, Vertical
- Tiro / Carro, Vertical
- 2646
-
-
- 2889
- Tir / Vertical
- Shooter / Vertikal
- Shooter / Vertical
- Tiro / Vertical
- Tiro / Vertical
- 2646
-
-
- 32
- Tir avec accessoire
- Lightgun Shooter
- Lightgun Shooter
- Tiro con accesorios
- Tiro com acessórios
- 0
-
- http://www.screenscraper.fr/api/mediaGroup.php?devid=Screech&devpassword=Screech201601281533y&softname=UniversalXMLScraper(TestDev)&crc=&md5=&sha1=&groupid=32&media=logo-monochrome&mediaformat=png
-
-
-
- 3591
- TirPlateforme Beat'em All
- 0
-
-
-
diff --git a/Scraper.au3 b/Scraper.au3
index 1af67ef..5db001e 100644
--- a/Scraper.au3
+++ b/Scraper.au3
@@ -5,7 +5,7 @@
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Description=Scraper
-#AutoIt3Wrapper_Res_Fileversion=1.2.0.2
+#AutoIt3Wrapper_Res_Fileversion=1.2.0.3
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
#AutoIt3Wrapper_Res_LegalCopyright=LEGRAS David
#AutoIt3Wrapper_Res_Language=1036
@@ -28,6 +28,7 @@ $vThreadNumber = $CmdLine[1]
#include
#include
#include
+#include "./Include/_Hash.au3"
If Not _FileCreate(@ScriptDir & "\test") Then ; Testing UXS Directory
Global $iScriptPath = @AppDataDir & "\UXMLS" ; If not, use Path to current user's Roaming Application Data
@@ -413,8 +414,9 @@ Func _MIX_Engine($aRomList, $vBoucle, $aConfig, $oXMLProfil)
Local $oMixConfig = _XML_Open($vMIXTemplatePath & "config.xml")
Local $vTarget_Width = _Coalesce(IniRead($iINIPath, "LAST_USE", "$vTarget_Image_Width", ""), _XML_Read("/Profil/General/Target_Width", 0, "", $oMixConfig))
Local $vTarget_Height = _Coalesce(IniRead($iINIPath, "LAST_USE", "$vTarget_Image_Height", ""), _XML_Read("/Profil/General/Target_Height", 0, "", $oMixConfig))
- Local $vRoot_Game = _XML_Read("/Profil/Root/Root_Game", 0, "", $oMixConfig) & "/"
- Local $vRoot_System = _XML_Read("/Profil/Root/Root_System", 0, "", $oMixConfig) & "[id=" & $aConfig[12] & "]/"
+;~ Local $vRoot_Game = _XML_Read("/Profil/Root/Root_Game", 0, "", $oMixConfig) & "/"
+;~ Local $vRoot_System = _XML_Read("/Profil/Root/Root_System", 0, "", $oMixConfig) & "[id=" & $aConfig[12] & "]/"
+ Local $vID_System = $aConfig[12]
Local $vPicTarget = -1, $vWhile = 1, $vFinalValue = ""
Dim $aMiXPicTemp[1]
Sleep(250)
@@ -427,11 +429,14 @@ Func _MIX_Engine($aRomList, $vBoucle, $aConfig, $oXMLProfil)
Switch StringLower(_XML_Read("/Profil/Element[" & $vWhile & "]/Source_Type", 0, "", $oMixConfig))
Case "fixe_value"
$vPicTarget = $iTEMPPath & "\MIX\" & _XML_Read("/Profil/Element[" & $vWhile & "]/Name", 0, "", $oMixConfig) & ".png"
- If Not FileCopy($vMIXTemplatePath & _XML_Read("/Profil/Element[" & $vWhile & "]/Source_Value", 0, "", $oMixConfig), $vPicTarget, $FC_OVERWRITE + $FC_CREATEPATH) Then _LOG("Error copying " & $vMIXTemplatePath & _XML_Read("/Profil/Element[" & $vWhile & "]/Source_Value", 0, "", $oMixConfig) & " to " & $vPicTarget, 2, $iLOGPath)
- $aPicParameters = _MIX_Engine_Dim($vWhile, $oMixConfig)
- _GDIPlus_Imaging($vPicTarget, $aPicParameters, $vTarget_Width, $vTarget_Height)
- _LOG("fixe_value : " & $vPicTarget & " Created", 1, $iLOGPath)
- _ArrayAdd($aMiXPicTemp, $vPicTarget)
+ If Not FileCopy($vMIXTemplatePath & _XML_Read("/Profil/Element[" & $vWhile & "]/Source_Value", 0, "", $oMixConfig), $vPicTarget, $FC_OVERWRITE + $FC_CREATEPATH) Then
+ _LOG("Error copying " & $vMIXTemplatePath & _XML_Read("/Profil/Element[" & $vWhile & "]/Source_Value", 0, "", $oMixConfig) & " to " & $vPicTarget, 2, $iLOGPath)
+ Else
+ $aPicParameters = _MIX_Engine_Dim($vWhile, $oMixConfig)
+ _GDIPlus_Imaging($vPicTarget, $aPicParameters, $vTarget_Width, $vTarget_Height)
+ _LOG("fixe_value : " & $vPicTarget & " Created", 1, $iLOGPath)
+ _ArrayAdd($aMiXPicTemp, $vPicTarget)
+ EndIf
Case "xml_value"
$vPicTarget = $iTEMPPath & "\MIX\" & _XML_Read("/Profil/Element[" & $vWhile & "]/Name", 0, "", $oMixConfig) & ".png"
$vXpath = _XML_Read("/Profil/Element[" & $vWhile & "]/Source_Value", 0, "", $oMixConfig)
@@ -440,32 +445,41 @@ Func _MIX_Engine($aRomList, $vBoucle, $aConfig, $oXMLProfil)
$aPicParameters = _MIX_Engine_Dim($vWhile, $oMixConfig)
$aXpathCountry = _Fallback($aConfig, $vXpath, $aRomList[8])
For $vBoucle2 = 1 To UBound($aXpathCountry) - 1
- If StringInStr($aXpathCountry[$vBoucle2], '%IDGENRE%') Then
- $vIdGenre = _XML_Read("Data/jeu/genres/genres_id/genre_id", 0, $aRomList[8])
- $aXpathCountry[$vBoucle2] = StringReplace($aXpathCountry[$vBoucle2], '%IDGENRE%', $vIdGenre)
- EndIf
- Switch $vOrigin
- Case 'game'
- $vDownloadURL = StringTrimRight(_XML_Read($vRoot_Game & $aXpathCountry[$vBoucle2], 0, $aRomList[8]), 3) & "png"
- Case 'system'
- $vDownloadURL = StringTrimRight(_XML_Read($vRoot_System & $aXpathCountry[$vBoucle2], 0, "", $oXMLSystem), 3) & "png"
- EndSwitch
- If $vDownloadURL <> "png" And Not FileExists($vPicTarget) Then
- $vDownloadMaxWidth = "&maxwidth=" & _GDIPlus_RelativePos($aPicParameters[0], $vTarget_Width)
- $vDownloadMaxHeight = "&maxheight=" & _GDIPlus_RelativePos($aPicParameters[1], $vTarget_Width)
- $vDownloadOutputFormat = "&outputformat=png" & "&forceupdate=1"
- $vValue = _DownloadWRetry($vDownloadURL & $vDownloadMaxWidth & $vDownloadMaxHeight & $vDownloadOutputFormat, $vPicTarget)
- If $vValue < 0 Then
- _LOG("xml_value : " & $vPicTarget & " Not Added", 2, $iLOGPath)
- Else
- $vRotationLvl = _Coalesce(_XML_Read("/Profil/Element[" & $vWhile & "]/Target_Rotation", 0, "", $oMixConfig), -1)
- If $vRotationLvl >= 0 Then
- If _GDIPlus_Rotation($vPicTarget, $vRotationLvl) = -1 Then _LOG("Rotation Failed", 2, $iLOGPath)
+ If Not FileExists($vPicTarget) Then
+ If StringInStr($aXpathCountry[$vBoucle2], '%IDGENRE%') Then
+ $vIdGenre = _XML_Read("Data/jeu/genres/genres_id/genre_id", 0, $aRomList[8])
+ $aXpathCountry[$vBoucle2] = StringReplace($aXpathCountry[$vBoucle2], '%IDGENRE%', $vIdGenre)
+ EndIf
+ Switch $vOrigin
+ Case 'game'
+ $vDownloadURL = _Coalesce(_XML_Read($aXpathCountry[$vBoucle2], 0, $aRomList[8]), -1)
+ $vCRC = _Coalesce(_XML_Read($aXpathCountry[$vBoucle2] & "_crc", 0, $aRomList[8]), Default)
+ If $vDownloadURL = -1 Then _LOG("No URL : " & $aXpathCountry[$vBoucle2], 1, $iLOGPath)
+ Case 'system'
+ $vDownloadURL = _Coalesce(_XML_Read(StringReplace($aXpathCountry[$vBoucle2], "%IDSYSTEM%", $vID_System), 0, "", $oXMLSystem), -1)
+ $vCRC = _Coalesce(_XML_Read(StringReplace($aXpathCountry[$vBoucle2], "%IDSYSTEM%", $vID_System) & "_crc", 0, "", $oXMLSystem), Default)
+ If $vDownloadURL = -1 Then _LOG("No URL : " & StringReplace($aXpathCountry[$vBoucle2], "%IDSYSTEM%", $vID_System), 1, $iLOGPath)
+ EndSwitch
+ If Not ($vDownloadURL < 0) Then
+;~ $vDownloadMaxWidth = "&maxwidth=" & _GDIPlus_RelativePos($aPicParameters[0], $vTarget_Width)
+;~ $vDownloadMaxHeight = "&maxheight=" & _GDIPlus_RelativePos($aPicParameters[1], $vTarget_Width)
+;~ $vDownloadOutputFormat = "&outputformat=png" & "&forceupdate=1"
+;~ $vValue = _DownloadWRetry($vDownloadURL & $vDownloadMaxWidth & $vDownloadMaxHeight & $vDownloadOutputFormat, $vPicTarget, 15, 20, $vCRC)
+ $vValue = _DownloadWRetry($vDownloadURL, $vPicTarget, 15, 20, $vCRC)
+ If $vValue < 0 Then
+ _LOG("xml_value : " & $vPicTarget & " Not Added", 2, $iLOGPath)
+ Else
+ $vRotationLvl = _Coalesce(_XML_Read("/Profil/Element[" & $vWhile & "]/Target_Rotation", 0, "", $oMixConfig), 0)
+ If $vRotationLvl > 0 Then
+ If _GDIPlus_Rotation($vPicTarget, $vRotationLvl) = -1 Then _LOG("Rotation Failed", 2, $iLOGPath)
+ EndIf
+ _GDIPlus_Imaging($vPicTarget, $aPicParameters, $vTarget_Width, $vTarget_Height)
+ _ArrayAdd($aMiXPicTemp, $vPicTarget)
+ _LOG("xml_value : " & $vPicTarget & " Created", 1, $iLOGPath)
EndIf
- _GDIPlus_Imaging($vPicTarget, $aPicParameters, $vTarget_Width, $vTarget_Height)
- _ArrayAdd($aMiXPicTemp, $vPicTarget)
- _LOG("xml_value : " & $vPicTarget & " Created", 1, $iLOGPath)
EndIf
+ Else
+ _LOG("File : " & $vPicTarget & " already exist", 1, $iLOGPath)
EndIf
Next
Case "text"
@@ -531,11 +545,13 @@ Func _MIX_Engine($aRomList, $vBoucle, $aConfig, $oXMLProfil)
$vWhile = $vWhile + 1
WEnd
+;~ _ArrayDisplay($aMiXPicTemp);Debug
+
For $vBoucle2 = UBound($aMiXPicTemp) - 1 To 2 Step -1
If FileExists($aMiXPicTemp[$vBoucle2 - 1]) Then _GDIPlus_Merge($aMiXPicTemp[$vBoucle2 - 1], $aMiXPicTemp[$vBoucle2])
Next
- If Not IsArray($aMiXPicTemp) Or UBound($aMiXPicTemp) - 1 = 0 Then
+ If Not IsArray($aMiXPicTemp) Or UBound($aMiXPicTemp) - 1 <= 0 Then
_LOG("End Of Elements", 1, $iLOGPath)
Return -1
EndIf
diff --git a/Scraper.exe b/Scraper.exe
index 43ba1c5..6f18fef 100644
Binary files a/Scraper.exe and b/Scraper.exe differ
diff --git a/Scraper64.exe b/Scraper64.exe
index 49d12d5..787cb8a 100644
Binary files a/Scraper64.exe and b/Scraper64.exe differ
diff --git a/UXS-config.ini b/UXS-config.ini
index d2a1186..c549695 100644
--- a/UXS-config.ini
+++ b/UXS-config.ini
@@ -1,4 +1,4 @@
[GENERAL]
-$verINI='2.1.0.4'
+$verINI='2.1.0.5'
$vVerbose=2
[LAST_USE]
diff --git a/Universal XML Scraper.au3 b/Universal XML Scraper.au3
index 2ffeec0..bbd505b 100644
--- a/Universal XML Scraper.au3
+++ b/Universal XML Scraper.au3
@@ -5,7 +5,7 @@
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Description=Scraper XML Universel
-#AutoIt3Wrapper_Res_Fileversion=2.1.0.5
+#AutoIt3Wrapper_Res_Fileversion=2.1.0.6
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
#AutoIt3Wrapper_Res_LegalCopyright=LEGRAS David
#AutoIt3Wrapper_Res_Language=1036
@@ -140,6 +140,7 @@ FileInstall(".\Ressources\UXS Wizard.jpg", $iScriptPath & "\Ressources\UXS Wizar
FileInstall(".\Ressources\jingle_uxs.MP3", $iScriptPath & "\Ressources\jingle_uxs.MP3")
FileInstall(".\Mix\Arcade (moon).zip", $iScriptPath & "\Mix\")
FileInstall(".\Mix\Standard (3img).zip", $iScriptPath & "\Mix\")
+FileInstall(".\Mix\BigPicture (ScreenShot).zip", $iScriptPath & "\Mix\")
FileInstall(".\ProfilsFiles\RecalboxV3 (MIX).xml", $iScriptPath & "\ProfilsFiles\", 0)
FileInstall(".\ProfilsFiles\RecalboxV3.xml", $iScriptPath & "\ProfilsFiles\", 0)
FileInstall(".\ProfilsFiles\RecalboxV4 (MIX).xml", $iScriptPath & "\ProfilsFiles\", 0)
@@ -201,13 +202,8 @@ Local $L_SCRAPE_Parts[3] = [300, 480, -1]
Local $oXMLProfil, $oXMLSystem, $oXMLCountry, $oXMLGenre
Local $aConfig, $aRomList, $aXMLRomList
Local $nMsg
-Local $sMailSlotMother = "\\.\mailslot\Mother"
-Local $sMailSlotCancel = "\\.\mailslot\Cancel"
-Local $hMailSlotMother = _CreateMailslot($sMailSlotMother)
Local $vNbThread = IniRead($iINIPath, "LAST_USE", "$vNbThread", 1)
Local $vStart = 0, $vWizCancel = 0
-Local $sMailSlotCheckEngine = "\\.\mailslot\CheckEngine"
-Local $hMailSlotCheckEngine = _CreateMailslot($sMailSlotCheckEngine)
;---------;
;Principal;
@@ -2216,7 +2212,12 @@ Func _ScrapeZipContent($aRomList, $vBoucle)
EndFunc ;==>_ScrapeZipContent
Func _SCRAPE($oXMLProfil, $vNbThread = 1, $vFullScrape = 0)
+ Local $sMailSlotMother = "\\.\mailslot\Mother"
+ Local $sMailSlotCancel = "\\.\mailslot\Cancel"
Local $sMailSlotCheckEngine = "\\.\mailslot\CheckEngine"
+ Local $hMailSlotMother = _CreateMailslot($sMailSlotMother)
+ Local $hMailSlotCheckEngine = _CreateMailslot($sMailSlotCheckEngine)
+
Local $vForceUpdate = ""
While ProcessExists($iScraper)
ProcessClose($iScraper)
@@ -2326,7 +2327,7 @@ Func _SCRAPE($oXMLProfil, $vNbThread = 1, $vFullScrape = 0)
If $vEngineLaunched >= $vNbThread Then ExitLoop
EndIf
If Not _Check_Cancel() Then Return $aRomList
- If (TimerDiff($vEngineTimer) / 1000) > 5 Then
+ If (TimerDiff($vEngineTimer) / 1000) > 10 Then
_LOG("Scrape Engine seems to not launch, check Antivirus and firewall", 2, $iLOGPath)
MsgBox($MB_ICONERROR, _MultiLang_GetText("err_title"), _MultiLang_GetText("err_UXSGlobal") & @CRLF & _MultiLang_GetText("err_ScrapeEngine"))
Return -1
@@ -2418,6 +2419,9 @@ Func _SCRAPE($oXMLProfil, $vNbThread = 1, $vFullScrape = 0)
If Not _Check_Cancel() Or ($vRomReceived = $vRomSend And $vBoucle = UBound($aRomList) - 1) Then ExitLoop
WEnd
+ _CloseMailAccount($hMailSlotMother)
+ _CloseMailAccount($hMailSlotCheckEngine)
+
;Reading Target xml
Dim $aXMLTarget
_FileReadToArray($aConfig[0], $aXMLTarget)
diff --git a/changelog.txt b/changelog.txt
index db85a41..da41960 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,20 @@
+2.1.0.5
+* Corrected :
+ - Better stability on downloaded images (Some never download :S and miss in the MIX)
+* Added :
+ - Dynamique Handle to API server, now I can force the server to ask (for the futur when we have a fallback server ;) or country based server )
+ - Lot's of new Picto media (Nb of player, Notes, Classification, Editor, Developer, Genre) -> Beta it can change soon.
+ - Added 3 news MIX Template for Bigshot Theme with these new picto (1 is directly on local, the 2 other are on the repository, you can download them directly from UXS)
+* WARNING Added things that can "broke" you existing MIX Template
+ - You need to put the full Xpath to the Source_Value node (exemple : Game need to start by 'Data/jeu/' and System by 'Data/systeme [id="%IDSYSTEM%"]')
+ - The CENTER/LEFT/RIGHT/UP/DOWN function in Target_TopLeftX, Target_TopLeftY (and other) now take the "origin" point of the picture (default are TopLeft corner of the Picture)
+ - You can now use Target_OriginPicX and Target_OriginPicY to fixe the origin point of the picture. So now to center a picture you need to put :
+ CENTER
+ CENTER
+ CENTER
+ CENTER
+(The Origin point of the picture will be the center, and we center this origin point to the final picture)
+
2.1.0.4
* Corrected :
- Some fallback in language xml
diff --git a/changelog_next.txt b/changelog_next.txt
index db85a41..da41960 100644
--- a/changelog_next.txt
+++ b/changelog_next.txt
@@ -1,3 +1,20 @@
+2.1.0.5
+* Corrected :
+ - Better stability on downloaded images (Some never download :S and miss in the MIX)
+* Added :
+ - Dynamique Handle to API server, now I can force the server to ask (for the futur when we have a fallback server ;) or country based server )
+ - Lot's of new Picto media (Nb of player, Notes, Classification, Editor, Developer, Genre) -> Beta it can change soon.
+ - Added 3 news MIX Template for Bigshot Theme with these new picto (1 is directly on local, the 2 other are on the repository, you can download them directly from UXS)
+* WARNING Added things that can "broke" you existing MIX Template
+ - You need to put the full Xpath to the Source_Value node (exemple : Game need to start by 'Data/jeu/' and System by 'Data/systeme [id="%IDSYSTEM%"]')
+ - The CENTER/LEFT/RIGHT/UP/DOWN function in Target_TopLeftX, Target_TopLeftY (and other) now take the "origin" point of the picture (default are TopLeft corner of the Picture)
+ - You can now use Target_OriginPicX and Target_OriginPicY to fixe the origin point of the picture. So now to center a picture you need to put :
+ CENTER
+ CENTER
+ CENTER
+ CENTER
+(The Origin point of the picture will be the center, and we center this origin point to the final picture)
+
2.1.0.4
* Corrected :
- Some fallback in language xml