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