1
+ import os
2
+ import shutil
3
+
4
+ from core .common .buffer_file import IndexBufferBufFile ,FmtFile
5
+ from core .common .global_config import GlobalConfig
6
+ from core .utils .dbmt_log_utils import log_newline
7
+
8
+
9
+ # Old game type config json file name is not easy to use, so we update it to new name format.
10
+ if __name__ == "__main__" :
11
+
12
+ g = GlobalConfig (
13
+ # must specify gamename, which is your gametype config folder name.
14
+ GameName = "ZZZ" ,
15
+ # must specify where your config file is.
16
+ ConfigFolderPath = "D:\\ Dev\\ DBMT\\ configs\\ " ,
17
+ # this GameLoaderPath is not necessary in mod reverse,but need it to create this class.
18
+ GameLoaderPath = "C:\\ Users\\ Administrator\\ Desktop\\ LoadersDev\\ "
19
+ )
20
+
21
+ for gametypename in g .D3D11GameTypeConfig .GameTypeName_D3D11GameType_Dict :
22
+ d3d11gametype = g .D3D11GameTypeConfig .GameTypeName_D3D11GameType_Dict .get (gametypename )
23
+
24
+ new_gametype_name = ""
25
+ for d3d11element in d3d11gametype .D3D11ElementList :
26
+ if d3d11element .Category == "Position" or d3d11element .Category == "Texcoord" :
27
+ if d3d11element .SemanticIndex == 0 :
28
+ new_gametype_name += d3d11element .ElementName [0 ] + "-"
29
+ else :
30
+ new_gametype_name += d3d11element .ElementName [0 ] + str (d3d11element .SemanticIndex ) + "-"
31
+ else :
32
+ if d3d11gametype .PatchBLENDWEIGHTS and "BLENDWEIGHT" in d3d11element .SemanticName :
33
+ continue
34
+
35
+ elementname = ""
36
+ if "BLENDWEIGHT" in d3d11element .ElementName :
37
+ elementname = "BW"
38
+ elif "BLENDINDICES" in d3d11element .ElementName :
39
+ elementname = "BI"
40
+
41
+ if d3d11element .SemanticIndex == 0 :
42
+ new_gametype_name += elementname + "-"
43
+ else :
44
+ new_gametype_name += elementname + str (d3d11element .SemanticIndex ) + "-"
45
+
46
+ new_gametype_name += str (d3d11element .ByteWidth ) + "_"
47
+
48
+ if d3d11gametype .GPU_PreSkinning :
49
+ new_gametype_name = "GPU_" + new_gametype_name
50
+ else :
51
+ new_gametype_name = "CPU_" + new_gametype_name
52
+
53
+ new_gametype_name = new_gametype_name + "__" + gametypename
54
+
55
+ config_folder_path = r"D:\Dev\DBMT\configs\gametypes\ZZZ"
56
+ new_config_folder_path = r"C:\Users\Administrator\Desktop\Configs\ExtractTypes\ZZZ"
57
+ if not os .path .exists (new_config_folder_path ):
58
+ os .makedirs (new_config_folder_path )
59
+
60
+ old_file_path = os .path .join (config_folder_path ,gametypename + ".json" )
61
+ new_file_path = os .path .join (new_config_folder_path ,new_gametype_name + ".json" )
62
+ shutil .copy2 (old_file_path ,new_file_path )
63
+ print (gametypename + "\t \t \t \t " + new_gametype_name )
0 commit comments