@@ -10,30 +10,6 @@ var objects_cfg : Dictionary
10
10
var creature_cfg : Dictionary
11
11
var trapdoor_cfg : Dictionary
12
12
13
-
14
- # func _ready():
15
- # var directory = Directory.new()
16
- # var image_directory = "res://Art/"
17
- #
18
- # if directory.open(image_directory) == OK:
19
- # directory.list_dir_begin()
20
- # var file_name = directory.get_next()
21
- # while file_name != "":
22
- # if file_name.get_extension().to_lower() in ["png", "jpg", "jpeg", "webp"]:
23
- # var image_path = image_directory + file_name
24
- # print("Loaded image: ", image_path)
25
- #
26
- # file_name = directory.get_next()
27
- # else:
28
- # print("Failed to open the directory.")
29
-
30
- # var newName
31
- # var checkName = objects_cfg[section]["Name"]
32
- # if Things.convert_name.has(checkName):
33
- # newName = Things.convert_name[checkName]
34
- # else:
35
- # newName = checkName.capitalize()
36
-
37
13
func start ():
38
14
if Cube .tex .empty () == true :
39
15
Cube .read_cubes_cfg ()
@@ -44,75 +20,56 @@ func start():
44
20
trapdoor_cfg = read_dkcfg_file (oGame .DK_FXDATA_DIRECTORY .plus_file ("trapdoor.cfg" ))
45
21
print ('Parsed all dkcfg files: ' + str (OS .get_ticks_msec () - CODETIME_START ) + 'ms' )
46
22
47
-
48
23
var CODETIME_LOADCFG_START = OS .get_ticks_msec ()
49
-
24
+ load_objects_data ()
25
+ load_creatures_data ()
26
+ load_trapdoor_data ()
27
+ print ('Loaded things from cfg files: ' + str (OS .get_ticks_msec () - CODETIME_LOADCFG_START ) + 'ms' )
28
+
29
+
30
+ func load_objects_data ():
50
31
for section in objects_cfg :
51
32
if section .begins_with ("object" ):
52
33
var id = int (section )
53
34
if id == 0 : continue
54
- if id >= 136 or id in [100 ,101 ,102 ,103 ,104 ,105 ]: # Dummy Boxes should be overwritten
55
- var newName = objects_cfg [section ]["Name" ]
56
-
57
- var animID = objects_cfg [section ]["AnimationID" ]
58
- var newSprite = null
59
- if Graphics .sprite_id .has (animID ):
60
- newSprite = animID
61
- elif Graphics .sprite_id .has (newName ):
62
- newSprite = newName
63
-
64
- var newGenre = objects_cfg [section ].get ("Genre" , null )
35
+ if id >= 136 or id in [100 , 101 , 102 , 103 , 104 , 105 ]: # Dummy Boxes should be overwritten
36
+ var data = objects_cfg [section ]
37
+ var newName = data ["Name" ]
38
+ var animID = data ["AnimationID" ]
39
+ var newSprite = get_sprite (animID , newName )
40
+ var newGenre = data .get ("Genre" , null )
65
41
var newEditorTab = Things .GENRE_TO_TAB [newGenre ]
66
-
67
- Things .DATA_OBJECT [id ] = [
68
- newName , # NAME
69
- newSprite , # SPRITE
70
- newEditorTab , # EDITOR_TAB
71
- ]
72
-
42
+ Things .DATA_OBJECT [id ] = [newName , newSprite , newEditorTab ]
43
+
44
+
45
+ func load_creatures_data ():
73
46
for id_number in creature_cfg ["common" ]["Creatures" ].size ():
74
47
if Things .DATA_CREATURE .has (id_number + 1 ) == false :
75
-
76
48
var newName = creature_cfg ["common" ]["Creatures" ][id_number ]
77
-
78
- var newSprite = null
79
- if Graphics .sprite_id .has (newName ):
80
- newSprite = newName
81
-
82
- var newPortrait = null
83
- if Graphics .sprite_id .has (str (newSprite ) + "_PORTRAIT" ):
84
- newPortrait = str (newSprite ) + "_PORTRAIT"
85
-
86
- Things .DATA_CREATURE [id_number + 1 ] = [
87
- newName , # NAME
88
- newSprite , # SPRITE
89
- Things .TAB_CREATURE , # EDITOR_TAB
90
- ]
91
-
49
+ var newSprite = get_sprite (newName )
50
+ Things .DATA_CREATURE [id_number + 1 ] = [newName , newSprite , Things .TAB_CREATURE ]
51
+
52
+
53
+ func load_trapdoor_data ():
92
54
for section in trapdoor_cfg :
93
55
var id = int (section )
94
56
if id == 0 : continue
57
+ var data = trapdoor_cfg [section ]
58
+ var newName = data .get ("Name" , null )
59
+ var newSprite = get_sprite (newName )
95
60
if section .begins_with ("door" ):
96
- var newName = trapdoor_cfg [section ]["Name" ]
97
- var newSprite = null
98
- if Graphics .sprite_id .has (newName ):
99
- newSprite = newName
100
- Things .DATA_DOOR [id ] = [
101
- newName , # NAME
102
- newSprite , # SPRITE
103
- Things .TAB_MISC , # EDITOR_TAB
104
- ]
61
+ Things .DATA_DOOR [id ] = [newName , newSprite , Things .TAB_MISC ]
105
62
elif section .begins_with ("trap" ):
106
- var newName = trapdoor_cfg [ section ][ "Name" ]
107
- var newSprite = null
108
- if Graphics . sprite_id . has ( newName ):
109
- newSprite = newName
110
- Things . DATA_TRAP [ id ] = [
111
- newName , # NAME
112
- newSprite , # SPRITE
113
- Things . TAB_TRAP , # EDITOR_TAB
114
- ]
115
- print ( 'Loaded things from cfg files: ' + str ( OS . get_ticks_msec () - CODETIME_LOADCFG_START ) + 'ms' )
63
+ Things . DATA_TRAP [ id ] = [ newName , newSprite , Things . TAB_TRAP ]
64
+
65
+
66
+ func get_sprite ( id , fallback = null ):
67
+ if Graphics . sprite_id . has ( id ):
68
+ return id
69
+ elif fallback and Graphics . sprite_id . has ( fallback ):
70
+ return fallback
71
+ return null
72
+
116
73
117
74
func read_dkcfg_file (file_path ) -> Dictionary : # Optimized
118
75
var config = {}
@@ -156,23 +113,3 @@ func read_dkcfg_file(file_path) -> Dictionary: # Optimized
156
113
config [current_section ][key ] = value
157
114
158
115
return config
159
-
160
- # print ("var sprite_id = {")
161
- # for key in objects_cfg.keys():
162
- # if "object" in key:
163
- # #print(key)
164
- # #print(objects_cfg[key]["Name"] + " ")
165
- # #print(objects_cfg[key]["AnimationID"] + " : " + "")
166
- # var b = '""'
167
- # if Things.DATA_OBJECT.has(int(key)):
168
- # var fsffsa = Things.DATA_OBJECT[int(key)][Things.TEXTURE]
169
- # if fsffsa != null:
170
- # b = 'preload("' +fsffsa.resource_path + '")'
171
- #
172
- # var a = objects_cfg[key]["AnimationID"]
173
- # if a is String:
174
- # print('"' + a + '"' + " : " + b + ",")
175
- # else:
176
- # print(str(a) + " : " + str(b) + ",")
177
- # print("}")
178
-
0 commit comments