language change
This commit is contained in:
39
language-change/ulils.go
Normal file
39
language-change/ulils.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
assetMeta "language-change/asset-meta"
|
||||
)
|
||||
|
||||
func Get32BitHashConst(s string) int32 {
|
||||
var hash1 int32 = 5381
|
||||
var hash2 int32 = hash1
|
||||
|
||||
bytes := []byte(s)
|
||||
length := len(bytes)
|
||||
|
||||
for i := 0; i < length; i += 2 {
|
||||
hash1 = ((hash1 << 5) + hash1) ^ int32(bytes[i])
|
||||
if i+1 < length {
|
||||
hash2 = ((hash2 << 5) + hash2) ^ int32(bytes[i+1])
|
||||
}
|
||||
}
|
||||
|
||||
return int32(uint32(hash1) + uint32(hash2)*1566083941)
|
||||
}
|
||||
|
||||
func GetAssetData(assets *assetMeta.DesignIndex, name string) (*assetMeta.DataEntry, *assetMeta.FileEntry, error) {
|
||||
dataEntry, fileEntry, err := assets.FindDataAndFileByTarget(Get32BitHashConst("BakedConfig/ExcelOutput/" + name + ".bytes"))
|
||||
if err == nil {
|
||||
return &dataEntry, &fileEntry, nil
|
||||
}
|
||||
dataEntry, fileEntry, err = assets.FindDataAndFileByTarget(Get32BitHashConst("BakedConfig/ExcelOutputGameCore/" + name + ".bytes"))
|
||||
if err == nil {
|
||||
return &dataEntry, &fileEntry, nil
|
||||
}
|
||||
dataEntry, fileEntry, err = assets.FindDataAndFileByTarget(Get32BitHashConst("BakedConfig/ExcelOutputAdventureGame/" + name + ".bytes"))
|
||||
if err == nil {
|
||||
return &dataEntry, &fileEntry, nil
|
||||
}
|
||||
return nil, nil, errors.New("not found")
|
||||
}
|
||||
Reference in New Issue
Block a user