From 9b45a4621146c7f201481e56e5f196ebe016dd0e Mon Sep 17 00:00:00 2001 From: dtlnor Date: Fri, 20 Sep 2024 16:58:26 +0900 Subject: [PATCH] give seed exact value --- src/REMSG.py | 2 +- src/REMSGUtil.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/REMSG.py b/src/REMSG.py index 772cdde..7f198a6 100644 --- a/src/REMSG.py +++ b/src/REMSG.py @@ -334,7 +334,7 @@ def readMSG(self, filestream: io.BufferedReader): # set entry name entry.setName(helper.seekString((entry.entryNameOffset - dataOffset), stringDict)) if isVersionEntryByHash(version): - nameHash = mmh3.hash(key=entry.name.encode("utf-16-le"), seed=-1, signed=False) + nameHash = mmh3.hash(key=entry.name.encode("utf-16-le"), seed=0xFFFFFFFF, signed=False) assert nameHash == entry.hash, f"expected {entry.hash} for {entry.name} but get {nameHash}" else: assert entryIndex == entry.index, f"expected {entryIndex} for {entry.name} but get {entry.index}" diff --git a/src/REMSGUtil.py b/src/REMSGUtil.py index 43d701e..5877abb 100644 --- a/src/REMSGUtil.py +++ b/src/REMSGUtil.py @@ -219,7 +219,7 @@ def importCSV(msgObj: REMSG.MSG, filename: str, version: int = None, langCount: name=fEntry[nameidx], attributeValues=attributes, langs=[helper.forceWindowsLineBreak(content) for content in contents], - hash=mmh3.hash(key=fEntry[nameidx].encode("utf-16-le"), seed=-1, signed=False) if REMSG.isVersionEntryByHash(version) else None, + hash=mmh3.hash(key=fEntry[nameidx].encode("utf-16-le"), seed=0xFFFFFFFF, signed=False) if REMSG.isVersionEntryByHash(version) else None, index=i if not (REMSG.isVersionEntryByHash(version)) else None, ) @@ -233,9 +233,9 @@ def importCSV(msgObj: REMSG.MSG, filename: str, version: int = None, langCount: # assert entry.index == entry.index # else: # if isVersionEntryByHash(version): - # if entry.hash != mmh3.hash(key = entry.name.encode('utf-16-le'), seed = -1, signed = False): + # if entry.hash != mmh3.hash(key = entry.name.encode('utf-16-le'), seed = 0xFFFFFFFF, signed = False): # print(f"Incorrect hash value for {entry.name}, filling a correct one") - # entry.hash = mmh3.hash(key = entry.name.encode('utf-16-le'), seed = -1, signed = False) + # entry.hash = mmh3.hash(key = entry.name.encode('utf-16-le'), seed = 0xFFFFFFFF, signed = False) # else: # assert entry.index >= len(oldEntrys) @@ -371,7 +371,7 @@ def importJson(msgObj: REMSG.MSG, filename: str): name=jEntry["name"], attributeValues=list([readAttributeFromStr(next(iter(attr.values())), msg.attributeHeaders[i]["valueType"]) for i, attr in enumerate(jEntry["attributes"])]), langs=list([helper.forceWindowsLineBreak(content) for content in jEntry["content"]]), - hash=mmh3.hash(key=jEntry["name"].encode("utf-16-le"), seed=-1, signed=False) if REMSG.isVersionEntryByHash(msg.version) else None, + hash=mmh3.hash(key=jEntry["name"].encode("utf-16-le"), seed=0xFFFFFFFF, signed=False) if REMSG.isVersionEntryByHash(msg.version) else None, index=jIndex if not (REMSG.isVersionEntryByHash(msg.version)) else None, )