[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r2640 - branches/pingus_sdl
From: |
grumbel at BerliOS |
Subject: |
[Pingus-CVS] r2640 - branches/pingus_sdl |
Date: |
Sat, 13 Jan 2007 22:37:12 +0100 |
Author: grumbel
Date: 2007-01-13 22:37:11 +0100 (Sat, 13 Jan 2007)
New Revision: 2640
Added:
branches/pingus_sdl/clanlib_2_sexpr.rb
Log:
- little helper tool to convert data files
Added: branches/pingus_sdl/clanlib_2_sexpr.rb
===================================================================
--- branches/pingus_sdl/clanlib_2_sexpr.rb 2007-01-13 21:09:08 UTC (rev
2639)
+++ branches/pingus_sdl/clanlib_2_sexpr.rb 2007-01-13 21:37:11 UTC (rev
2640)
@@ -0,0 +1,45 @@
+#!/usr/bin/ruby -w
+
+require "rexml/document"
+
+def parse_sprite(prefix, sprite)
+ puts "(sprite"
+ puts " (name \"#{sprite.attribute("name")}\")"
+ sprite.elements.each("image") {|el|
+ puts " (file \"#{el.attribute("file")}\"))"
+ }
+end
+
+def parse_section(prefix, section)
+ section.each{|el|
+ if el.is_a?(REXML::Text) then
+ # skip text nodes, just indention junk
+ # puts "'#{el}'"
+ elsif el.is_a?(REXML::Element) then
+ case el.name
+ when "section"
+ parse_section("#{prefix}/#{el.attribute("name")}", el)
+ when "sprite"
+ parse_sprite(prefix, el)
+ when "surface"
+ puts "surface: #{prefix}/#{el.attribute("name")}"
+ else
+ puts "Unknown element: #{el.name}"
+ end
+ else
+ put "<unknown>"
+ end
+ }
+end
+
+ARGV.each{|arg|
+ i = 0
+ puts "### Parsing #{arg}"
+ dir = File.dirname(arg)
+ doc = REXML::Document.new(File.new(arg))
+ doc.elements.each("resources") { |el|
+ parse_section("", el)
+ }
+}
+
+# EOF #
Property changes on: branches/pingus_sdl/clanlib_2_sexpr.rb
___________________________________________________________________
Name: svn:executable
+ *
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r2640 - branches/pingus_sdl,
grumbel at BerliOS <=