mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-14 15:28:11 -04:00
de-normalize file name before searching in MPQ (#87)
This was actually fixed by @essial. Fixes #86.
This commit is contained in:
parent
c84698400b
commit
4a24fc0b8c
@ -2,6 +2,7 @@ package Core
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"math"
|
"math"
|
||||||
@ -9,7 +10,6 @@ import (
|
|||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/OpenDiablo2/OpenDiablo2/PaletteDefs"
|
"github.com/OpenDiablo2/OpenDiablo2/PaletteDefs"
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ func (v *Engine) mapMpqFiles() {
|
|||||||
fileList := strings.Split(string(fileListText), "\r\n")
|
fileList := strings.Split(string(fileListText), "\r\n")
|
||||||
|
|
||||||
for _, filePath := range fileList {
|
for _, filePath := range fileList {
|
||||||
transFilePath := `/`+strings.ReplaceAll(strings.ToLower(filePath), `\`, `/`)
|
transFilePath := `/` + strings.ReplaceAll(strings.ToLower(filePath), `\`, `/`)
|
||||||
if _, exists := v.Files[transFilePath]; exists {
|
if _, exists := v.Files[transFilePath]; exists {
|
||||||
if v.Files[transFilePath].IsPatch {
|
if v.Files[transFilePath].IsPatch {
|
||||||
v.Files[transFilePath].UnpatchedMpqFile = mpqPath
|
v.Files[transFilePath].UnpatchedMpqFile = mpqPath
|
||||||
@ -153,7 +153,7 @@ func (v *Engine) LoadFile(fileName string) []byte {
|
|||||||
fileName = strings.ReplaceAll(fileName, "{LANG}", ResourcePaths.LanguageCode)
|
fileName = strings.ReplaceAll(fileName, "{LANG}", ResourcePaths.LanguageCode)
|
||||||
fileName = strings.ReplaceAll(fileName, `\`, `/`)
|
fileName = strings.ReplaceAll(fileName, `\`, `/`)
|
||||||
var mpqLookupFileName string
|
var mpqLookupFileName string
|
||||||
if strings.HasPrefix(fileName, "/") || strings.HasPrefix(fileName,"\\") {
|
if strings.HasPrefix(fileName, "/") || strings.HasPrefix(fileName, "\\") {
|
||||||
mpqLookupFileName = strings.ReplaceAll(fileName, `/`, `\`)[1:]
|
mpqLookupFileName = strings.ReplaceAll(fileName, `/`, `\`)[1:]
|
||||||
} else {
|
} else {
|
||||||
mpqLookupFileName = strings.ReplaceAll(fileName, `/`, `\`)
|
mpqLookupFileName = strings.ReplaceAll(fileName, `/`, `\`)
|
||||||
@ -195,7 +195,7 @@ func (v *Engine) LoadFile(fileName string) []byte {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !mpq.FileExists(fileName) {
|
if !mpq.FileExists(strings.ToLower(strings.ReplaceAll(strings.ReplaceAll(fileName, "/data", "data"), "/", `\`))) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// We found the super-secret file!
|
// We found the super-secret file!
|
||||||
|
Loading…
Reference in New Issue
Block a user