dashcode 1.2.2__tar.gz → 1.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dashcode-1.2.2 → dashcode-1.2.5}/PKG-INFO +1 -1
- {dashcode-1.2.2 → dashcode-1.2.5}/dashcode/core.py +26 -8
- {dashcode-1.2.2 → dashcode-1.2.5}/dashcode.egg-info/PKG-INFO +1 -1
- {dashcode-1.2.2 → dashcode-1.2.5}/setup.py +1 -1
- {dashcode-1.2.2 → dashcode-1.2.5}/README.md +0 -0
- {dashcode-1.2.2 → dashcode-1.2.5}/dashcode/__init__.py +0 -0
- {dashcode-1.2.2 → dashcode-1.2.5}/dashcode.egg-info/SOURCES.txt +0 -0
- {dashcode-1.2.2 → dashcode-1.2.5}/dashcode.egg-info/dependency_links.txt +0 -0
- {dashcode-1.2.2 → dashcode-1.2.5}/dashcode.egg-info/top_level.txt +0 -0
- {dashcode-1.2.2 → dashcode-1.2.5}/setup.cfg +0 -0
|
@@ -3,6 +3,8 @@ import gzip
|
|
|
3
3
|
obj_string = ""
|
|
4
4
|
lvlname = ""
|
|
5
5
|
|
|
6
|
+
print("Dashcode loaded! Have fun and also join our discord server please: https://discord.gg/MXv3KTFmPE")
|
|
7
|
+
|
|
6
8
|
class Dashcode:
|
|
7
9
|
def __init__(self):
|
|
8
10
|
self.objects = []
|
|
@@ -51,10 +53,25 @@ class Dashcode:
|
|
|
51
53
|
self.timeline = {}
|
|
52
54
|
def setobjects(self, objs:dict):
|
|
53
55
|
self.objectids = objs
|
|
54
|
-
|
|
56
|
+
def export_gmd(self, filedata, filename:str="Level"):
|
|
57
|
+
with open(f"{filename}.gmd", "w", encoding="utf-8") as f:
|
|
58
|
+
f.write(filedata)
|
|
55
59
|
def setparams(self, params:dict):
|
|
56
60
|
self.params = params
|
|
57
61
|
|
|
62
|
+
def get_free_group(self):
|
|
63
|
+
used_groups = set()
|
|
64
|
+
for obj in self.objects:
|
|
65
|
+
if "57" in obj:
|
|
66
|
+
parsed = Dashcode().parse_object_string(obj)
|
|
67
|
+
for i,v in parsed.items():
|
|
68
|
+
#print(i,v,type(i))
|
|
69
|
+
if i == "57":
|
|
70
|
+
used_groups.add(int(v))
|
|
71
|
+
current_id = 1
|
|
72
|
+
while current_id in used_groups:
|
|
73
|
+
current_id += 1
|
|
74
|
+
return str(current_id)
|
|
58
75
|
def addobject(self, obj: str, params: dict):
|
|
59
76
|
objects = self.objects
|
|
60
77
|
if len(objects) <= 0:
|
|
@@ -62,11 +79,12 @@ class Dashcode:
|
|
|
62
79
|
f"1,1,2,{str(-10 * 30)},3,{str(-10 * 30)},12,1,13,1")
|
|
63
80
|
extraparams = ""
|
|
64
81
|
for param, value in params.items():
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
for i in self.params:
|
|
83
|
+
if param.startswith(i):
|
|
84
|
+
pid = self.params[param]
|
|
85
|
+
extraparams += f",{str(pid)},{value}"
|
|
86
|
+
else:
|
|
87
|
+
extraparams += f",{str(param)},{value}"
|
|
70
88
|
|
|
71
89
|
oid = self.objectids.get(obj, 1)
|
|
72
90
|
if oid:
|
|
@@ -149,13 +167,13 @@ class Dashcode:
|
|
|
149
167
|
for i2,v2 in v.items():
|
|
150
168
|
params[i2] = v2
|
|
151
169
|
self.addobject(i,params)
|
|
152
|
-
def create_gmd_file(self, level_name,
|
|
170
|
+
def create_gmd_file(self, level_name, objects_string):
|
|
153
171
|
global lvlname
|
|
154
172
|
lvlname = level_name
|
|
155
173
|
final_string_to_pack = objects_string
|
|
156
174
|
gzipped = gzip.compress(final_string_to_pack.encode('utf-8'))
|
|
157
175
|
b64_objects = base64.b64encode(gzipped).decode('utf-8').replace('/', '_').replace('+', '-')
|
|
158
|
-
return f'''<?xml version="1.0"?><plist version="1.0" gjver="2.0"><dict><k>kCEK</k><i>4</i><k>k2</k><s>{level_name}</s><k>k4</k><s>{b64_objects}</s><k>k5</k><s>
|
|
176
|
+
return f'''<?xml version="1.0"?><plist version="1.0" gjver="2.0"><dict><k>kCEK</k><i>4</i><k>k2</k><s>{level_name}</s><k>k4</k><s>{b64_objects}</s><k>k5</k><s>Doesn't matter</s><k>k11</k><i>1091</i><k>k16</k><i>1</i><k>k80</k><i>56</i></dict></plist>'''
|
|
159
177
|
|
|
160
178
|
def decode_objects(self):
|
|
161
179
|
objects = self.objects
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|