Changeset 55
- Timestamp:
- 11/30/07 16:32:12 (1 year ago)
- Files:
-
- trunk/src/dsss.conf (modified) (1 diff)
- trunk/src/levelutil.d (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/dsss.conf
r54 r55 5 5 buildflags= -lldl 6 6 } else { 7 7 buildflags=-debug -g -full 8 8 } 9 9 trunk/src/levelutil.d
r54 r55 56 56 { 57 57 FilePath lvl = new FilePath(fileName); 58 if(lvl.exists()) { 58 59 if(lvl.exists()) 60 { 61 59 62 levelNode = readDocument(fileName); 60 63 XmlNode[] children = levelNode.getChildren(); 61 foreach(XmlNode child; levelNode.getChildren()) { 64 65 foreach(XmlNode child; children) 66 { 67 62 68 if(child.getName() == "info") 63 69 parseInfo(child); … … 67 73 parseEnemies(child); 68 74 else if(child.getName() == "player") 75 { 69 76 parsePlayer(child); 77 } 70 78 else 71 log.warn("Unkown child node: "~child.getName());79 Cout("Unkown child node: "~child.getName()).newline; 72 80 } 73 81 return true; 74 82 } 83 else 84 { 85 Cout("level does not exist").newline; 86 } 75 87 return false; 76 88 } … … 105 117 106 118 void parseInfo(XmlNode infoNode) { 107 foreach(XmlNode child; infoNode.getChildren()) { 119 foreach(XmlNode child; infoNode.getChildren()) 120 { 121 Cout("Child name is " ~ child.getName).newline; 122 108 123 if(child.getName() == "title") 109 level.setTitle(child.getCdata()); 124 { 125 Cout("Title is " ~ child.getCdata).newline; 126 level.setTitle(child.getAttribute("value")); 127 } 110 128 else if(child.getName() == "description") 111 level.setDescription(child.get Cdata());129 level.setDescription(child.getAttribute("value")); 112 130 else if(child.getName() == "objective") 113 level.setObjective(child.get Cdata());131 level.setObjective(child.getAttribute("value")); 114 132 else if(child.getName() == "tile") 115 level.setDefaultTile(child.get Cdata());133 level.setDefaultTile(child.getAttribute("value")); 116 134 else if(child.getName() == "width") 117 level.setWidth(tango.text.convert.Integer.toInt(child.get Cdata()));135 level.setWidth(tango.text.convert.Integer.toInt(child.getAttribute("value"))); 118 136 else if(child.getName() == "height") 119 level.setHeight(tango.text.convert.Integer.toInt(child.get Cdata()));137 level.setHeight(tango.text.convert.Integer.toInt(child.getAttribute("value"))); 120 138 } 121 139 } … … 129 147 XmlNode tile = new XmlNode("tile"); 130 148 tile.setAttribute("image", tiles[i].img); 131 tile.setAttribute("x", tango.text.convert. Float.toUtf8(tiles[i].loc.x));132 tile.setAttribute("y", tango.text.convert. Float.toUtf8(tiles[i].loc.y));149 tile.setAttribute("x", tango.text.convert.Integer.toUtf8(cast(int)tiles[i].loc.x)); 150 tile.setAttribute("y", tango.text.convert.Integer.toUtf8(cast(int)tiles[i].loc.y)); 133 151 tilesNode.addChild(tile); 134 152 } … … 155 173 XmlNode enemy = new XmlNode("enemy"); 156 174 enemy.setAttribute("type", enemies[i].type); 157 enemy.setAttribute("x", tango.text.convert. Float.toUtf8(enemies[i].loc.x));158 enemy.setAttribute("y", tango.text.convert. Float.toUtf8(enemies[i].loc.y));175 enemy.setAttribute("x", tango.text.convert.Integer.toUtf8(cast(int)enemies[i].loc.x)); 176 enemy.setAttribute("y", tango.text.convert.Integer.toUtf8(cast(int)enemies[i].loc.y)); 159 177 enemiesNode.addChild(enemy); 160 178 } … … 166 184 foreach(XmlNode child; enemyNode.getChildren()) { 167 185 char[] type = child.getAttribute("type"); 168 int col = tango.text.convert.Integer.toInt(child.getAttribute(" col"));169 int row = tango.text.convert.Integer.toInt(child.getAttribute(" row"));186 int col = tango.text.convert.Integer.toInt(child.getAttribute("x")); 187 int row = tango.text.convert.Integer.toInt(child.getAttribute("y")); 170 188 enemies ~= new enemyInfo(type, Point(col, row)); 171 189 } … … 174 192 175 193 void addPlayer() 176 { 194 { 177 195 XmlNode playerNode = new XmlNode("player"); 178 playerNode.setAttribute("x", tango.text.convert. Float.toUtf8(level.getPlayer().loc.x));179 playerNode.setAttribute("y", tango.text.convert. Float.toUtf8(level.getPlayer().loc.y));196 playerNode.setAttribute("x", tango.text.convert.Integer.toUtf8(cast(int)level.getPlayer().loc.x)); 197 playerNode.setAttribute("y", tango.text.convert.Integer.toUtf8(cast(int)level.getPlayer().loc.y)); 180 198 levelNode.addChild(playerNode); 181 199 }
