;=============================================================================== ; ; Beschreibung: Diese Funktion speichert 16bit Graustufen in eine von Metin2 lesbare ; Heightmap um und speichert diese unter dem angegebenen Pfad ; Parameter(s): ; $array - Das zu übergebene Array mit den RGB Farben ; $path - Der Datenpfad, wo die einzelnen Raws gespeichert werden sollen ; $qx - Gibt die größe in 131px große Quadrate an(X) ; $qy - Gibt die größe in 131px große Quadrate an(Y) ; ; Rückgabe: ; 1: erfolgreich ; 0: error (siehe Errors) ; Errors: ; 0: alles in Ordnung ; 1: Quadrat error ; 2: datei error ; 3: Array error ; Author(s): Mario2323 ([GA]Mario von NRGMetin2) ; Note(s): Konvertierung von allen Bilddatein in Raw datein ;=============================================================================== Func _savefile($array, $path, $qx, $qy) Local $filetext ProgressOn("Progress Bar", "Speichere Raw in : " & $qx & " x " & $qy & "", " Quadrate. 0 %") $index = $qx - 1 $index2 = $qy - 1 For $xx = 1 To $qx For $xy = 1 To $qy For $zeile = ($xx * 130 - 130 + $xx - 1) To (130 * $xx + $xx - 1) For $spalte = ($xy * 130 - 130 + $xy - 1) To (130 * $xy + $xy - 1) ;2 Byte = ein pixel $dec = Dec($array[$zeile][$spalte]) $c = $dec / 256 / 256 / 256 $bit16 = $c * 256 $lowbyte = 0 $highbyte = $bit16 $filetext &= Chr($lowbyte) & Chr($highbyte) Next Next DirCreate($path & "00" & ($xx - 1) & "00" & ($xy - 1)) $Datei = FileOpen($path & "00" & ($xx - 1) & "00" & ($xy - 1) & "/height.raw", 18) ;binärmodus lesen FileWrite($Datei, $filetext) FileClose($Datei) Local $filetext = "" ProgressSet(Int(100 * ($xx + $xy) / ($qx + $qy)), Int(100 * ($xx + $xy) / ($qx + $qy)) & " %") Next Next ProgressOff() EndFunc ;==>_savefile