From 040bb955ec4635b0321d9e10409720adb178efa5 Mon Sep 17 00:00:00 2001
From: comp500 <comp500@users.noreply.github.com>
Date: Fri, 21 Jun 2019 16:36:39 +0100
Subject: [PATCH] Download the right file

---
 .../link/infra/packwiz/installer/UpdateManager.java    | 10 ++++++----
 .../installer/metadata/hash/HasherHashingSource.java   |  5 +++++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/main/java/link/infra/packwiz/installer/UpdateManager.java b/src/main/java/link/infra/packwiz/installer/UpdateManager.java
index 79abccc..dd0ccb5 100644
--- a/src/main/java/link/infra/packwiz/installer/UpdateManager.java
+++ b/src/main/java/link/infra/packwiz/installer/UpdateManager.java
@@ -149,7 +149,7 @@ public class UpdateManager {
 
 		try {
 			processIndex(HandlerManager.getNewLoc(opts.downloadURI, pf.index.file),
-					HashUtils.getHash(pf.index.hash, pf.index.hashFormat), manifest);
+					HashUtils.getHash(pf.index.hashFormat, pf.index.hash), pf.index.hashFormat, manifest);
 		} catch (Exception e1) {
 			ui.handleExceptionAndExit(e1);
 		}
@@ -171,11 +171,11 @@ public class UpdateManager {
 		// TODO: implement
 	}
 
-	protected void processIndex(URI indexUri, Object indexHash, ManifestFile manifest) {
+	protected void processIndex(URI indexUri, Object indexHash, String hashFormat, ManifestFile manifest) {
 		GeneralHashingSource indexFileSource;
 		try {
-			Source src = HandlerManager.getFileSource(opts.downloadURI);
-			indexFileSource = HashUtils.getHasher("sha256").getHashingSource(src);
+			Source src = HandlerManager.getFileSource(indexUri);
+			indexFileSource = HashUtils.getHasher(hashFormat).getHashingSource(src);
 		} catch (Exception e) {
 			// TODO: still launch the game if updating doesn't work?
 			// TODO: ask user if they want to launch the game, exit(1) if they don't
@@ -192,6 +192,8 @@ public class UpdateManager {
 
 		if (!indexFileSource.hashIsEqual(indexHash)) {
 			System.out.println("Hash problems!!!!!!!");
+			System.out.println(indexHash);
+			System.out.println(indexFileSource.getHash());
 			// TODO: throw exception
 		}
 
diff --git a/src/main/java/link/infra/packwiz/installer/metadata/hash/HasherHashingSource.java b/src/main/java/link/infra/packwiz/installer/metadata/hash/HasherHashingSource.java
index 456f2c4..7387c10 100644
--- a/src/main/java/link/infra/packwiz/installer/metadata/hash/HasherHashingSource.java
+++ b/src/main/java/link/infra/packwiz/installer/metadata/hash/HasherHashingSource.java
@@ -51,6 +51,11 @@ public class HasherHashingSource implements IHasher {
 				return objHash.value == null ? true : false;
 			}
 		}
+
+		@Override
+		public String toString() {
+			return type + ": " + value;
+		}
 	}
 
 	@Override