Author: esr
Date: Thu Oct 16 15:41:17 2008
New Revision: 30198
URL: http://svn.gna.org/viewcvs/wesnoth?rev=30198&view=rev
Log:
trackplacer: honor the track order when writing out macros.
Modified:
trunk/data/tools/trackplacer
Modified: trunk/data/tools/trackplacer
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/data/tools/trackplacer?rev=30198&r1=30197&r2=30198&view=diff
==============================================================================
--- trunk/data/tools/trackplacer (original)
+++ trunk/data/tools/trackplacer Thu Oct 16 15:41:17 2008
@@ -129,9 +129,9 @@
self.tracks = {} # Dict of lists of (action, x, y) tuples
self.selected_id = None
self.modifications = 0
- self.track_list = []
+ self.track_order = []
self.properties = {}
- self.modified = False
+ self.modified = 0
self.before = self.after = ""
def selected_track(self):
"Select a track for modification"
@@ -142,15 +142,16 @@
"Record a set of named journey tracks."
if fp.name.endswith(".cfg"):
fp.write(self.before)
- fp.write("# trackplacer: tracks begin\n\n")
- fp.write("# Hand-hack this section strictly at your own risk.\n\n")
+ fp.write("# trackplacer: tracks begin\n#\n")
+ fp.write("# Hand-hack this section strictly at your own risk.\n")
fp.write("#\n")
if not self.before and not self.after:
fp.write("#\n# wmllint: no translatables\n\n")
for (key, val) in self.properties.items():
fp.write("# trackplacer: %s=%s\n" % (key, val))
fp.write("#\n")
- for (name, track) in self.tracks.items():
+ for name in self.track_order:
+ track = self.tracks[name]
index_tuples = zip(range(len(track)), track)
index_tuples = filter(lambda (i, (a, x, y)): a in segmenters,
index_tuples)
@@ -174,7 +175,7 @@
fp.write("# trackplacer: tracks end\n")
fp.write(self.after)
fp.close()
- self.modified = False
+ self.modified = 0
else:
raise IOException("File must have a .trk or .cfg extension.",
fp.name)
def read(self, fp):
@@ -216,8 +217,8 @@
m = re.search(define_re, line)
if m:
self.selected_id = m.group(1)
- if self.selected_id not in self.track_list:
- self.track_list.append(self.selected_id)
+ if self.selected_id not in self.track_order:
+ self.track_order.append(self.selected_id)
self.tracks[self.selected_id] = []
continue
# Is this a track marker?
@@ -241,27 +242,27 @@
else:
raise IOException("Missing map declaration.", fp.name)
fp.close()
- self.modified = False
+ self.modified = 0
def __getitem__(self, n):
return self.tracks[self.selected_id][n]
def __setitem__(self, n, v):
if self.tracks[self.selected_id][n] != v:
- self.modified = True
+ self.modified += 1
self.tracks[self.selected_id][n] = v
def add_track(self, name):
- if name not in self.track_list:
+ if name not in self.track_order:
self.tracks[name] = []
- self.track_list.append(name)
- self.modified = True
+ self.track_order.append(name)
+ self.modified += 1
def remove_track(self, name):
- if name in self.track_list:
+ if name in self.track_order:
del self.tracks[name]
- self.track_list.remove(name)
- self.modified = True
+ self.track_order.remove(name)
+ self.modified += 1
def rename_track(self, oldname, newname):
if oldname in self.tracklist and newname not in self.tracklist:
self.tracks[newname] = self.tracks[oldname]
- self.track_list[self.track_list.index(oldname)] = newname
+ self.track_order[self.track_order.index(oldname)] = newname
def has_unsaved_changes(self):
return self.modified
def neighbors(self, x, y):
@@ -290,7 +291,7 @@
return
# Otherwise, append
self.selected_track().append((action, x, y))
- self.modified = True
+ self.modified += 1
def remove(self, x, y):
"Remove a feature from the selected track."
found = self.find(x, y)
@@ -298,7 +299,7 @@
# Prefer to delete the most recent feature
track = self.selected_track()
track = track[:found[-1]] + track[found[-1]+1:]
- self.modified = True
+ self.modified += 1
def __str__(self):
return self.mapfile + ": " + `self.tracks`
@@ -388,7 +389,7 @@
self.log("Initial track is %s" % self.journey)
self.action = "JOURNEY"
self.selected = None
- self.visible_set = self.journey.track_list[:]
+ self.visible_set = self.journey.track_order[:]
# Backing pixmap for drawing area
self.pixmap = None
@@ -723,7 +724,7 @@
(action, lx, ly) = self.journey[self.selected]
self.erase_feature(widget, (action, lx, ly))
self.journey[self.selected] = (action, x, y)
- self.journey.modified = True
+ self.journey.modified += 1
self.draw_feature(widget, (action, x, y), True)
self.log("Track is %s" % self.journey)
return True
@@ -833,7 +834,7 @@
self.visibility.vbox.add(self.trackbox)
self.trackbox.show()
basebutton = gtk.RadioButton() # Dummy, don't show it.
- for (i, track_id) in enumerate(self.journey.track_list):
+ for (i, track_id) in enumerate(self.journey.track_order):
TrackController(self, track_id, self.trackbox, basebutton)
addbox = gtk.HBox()
addbox.show()
@@ -889,7 +890,7 @@
self.track_select(w, track_id)
def track_visibility_revert(self, w, response_id):
"On response or window distruction, restore visibility set."
- self.visible_set = self.journey.track_list
+ self.visible_set = self.journey.track_order
self.redraw(self.drawing_area, delay=0.05)
self.visibility.destroy()
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits