dashcode 1.2.9__tar.gz → 1.3.1__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dashcode
3
- Version: 1.2.9
3
+ Version: 1.3.1
4
4
  Summary: A library for Geometry Dash level generation using .gmd files
5
5
  Author: IWiterI
6
6
  Project-URL: Homepage, https://github.com/ISviterI/dashcode
@@ -2,6 +2,7 @@ import base64
2
2
  import gzip
3
3
  from operator import index
4
4
 
5
+ timelineY = 3
5
6
  obj_string = ""
6
7
  lvlname = ""
7
8
 
@@ -52,7 +53,8 @@ class Dashcode:
52
53
  "end": 3600,
53
54
  "p_blue": 10, "p_yellow": 11, "p_green": 2926,
54
55
  "p_cube": 12, "p_ship": 13, "p_ball": 47, "p_ufo": 111,
55
- "p_wave": 660, "p_robot": 745, "p_spider": 1331, "p_swing": 1933
56
+ "p_wave": 660, "p_robot": 745, "p_spider": 1331, "p_swing": 1933,
57
+ "h_block":1859, "d_block":1755, "f_block":2866
56
58
  }
57
59
  self.prefabs = {
58
60
  "wall": {"Y":0},
@@ -60,7 +62,6 @@ class Dashcode:
60
62
  "square": {"SQ":0},
61
63
  "corridor": {"X":1},
62
64
  }
63
- self.timeline = {}
64
65
  def setobjects(self, objs:dict):
65
66
  self.objectids = objs
66
67
  def export_gmd(self, filedata, filename:str="Level"):
@@ -182,20 +183,39 @@ class Dashcode:
182
183
  place(base_x, base_y + i)
183
184
  place(base_x + ex, base_y + i)
184
185
  return placed
185
- def build_timeline(self, timeline:list):
186
- cdelay = 0
187
- for tlobj in timeline:
188
- i = tlobj.get("Index")
189
- v = tlobj.get("Value")
190
- if i == "wait":
191
- cdelay += v
192
- elif i == "spawn":
193
- self.addobject("spawn", {"X":-1, "Y":6, "Delay":str(cdelay),"TGroup":str(v)})
194
- else:
195
- params = {"X":-1,"Y":5}
196
- for i2,v2 in v.items():
197
- params[i2] = v2
198
- self.addobject(i,params)
186
+ def build_timeline(dcself):
187
+ class Timeline:
188
+ def __init__(self):
189
+ self.timeline = []
190
+ self.delay = 0
191
+ self.spawn_trigger_enabled = False
192
+ self.spawn_group = dcself.get_free_group()
193
+ self.x_position = -1
194
+ self.x2_position = -1
195
+ self.spawn_trigger_on_objects = False
196
+ def spawn(self, group:int):
197
+ if self.spawn_trigger_enabled:
198
+ dcself.addobject("spawn", {"X": self.x_position, "Y": 6, "Delay": str(self.delay), "TGroup": str(group), "Group":self.spawn_group, "SpawnTrigger":1,"MultiTrigger":1})
199
+ else:
200
+ dcself.addobject("spawn", {"X": self.x_position, "Y": 6, "Delay": str(self.delay), "TGroup": str(group), "Group":self.spawn_group})
201
+ self.timeline.append(["spawn",str(group)])
202
+ self.x_position += -1
203
+ def wait(self, seconds:float):
204
+ self.delay += seconds
205
+ self.timeline.append(["wait",str(seconds)])
206
+ def create_object(self, obj:str, params:dict):
207
+ if params.get("X") is None and params.get("Y") is None:
208
+ params["X"] = self.x2_position
209
+ params["Y"] = 5
210
+ self.x2_position += -1
211
+ if self.spawn_trigger_on_objects:
212
+ params["SpawnTrigger"] = 1
213
+ params["MultiTrigger"] = 1
214
+ self.timeline.append([obj, params])
215
+ dcself.addobject(obj, params)
216
+ return Timeline()
217
+
218
+
199
219
  def create_gmd_file(self, level_name, objects_string):
200
220
  global lvlname
201
221
  lvlname = level_name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dashcode
3
- Version: 1.2.9
3
+ Version: 1.3.1
4
4
  Summary: A library for Geometry Dash level generation using .gmd files
5
5
  Author: IWiterI
6
6
  Project-URL: Homepage, https://github.com/ISviterI/dashcode
@@ -8,7 +8,7 @@ if os.path.exists("README.md"):
8
8
 
9
9
  setup(
10
10
  name="dashcode",
11
- version="1.2.9",
11
+ version="1.3.1",
12
12
  packages=find_packages(),
13
13
  author="IWiterI",
14
14
  description="A library for Geometry Dash level generation using .gmd files",
File without changes
File without changes
File without changes