trackeditor: fix version 3 track import and export
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8459 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 78316149b6a12224a3c3b5d73231a427d786a6db Former-commit-id: 5dc3406f769567cc13c63a904cfaf16504f3e7c3
This commit is contained in:
parent
5d031e9d04
commit
c203d9844e
2 changed files with 71 additions and 25 deletions
|
@ -575,7 +575,24 @@ public class XmlReader
|
|||
*/
|
||||
private void setPitsV3(Element mainTrack)
|
||||
{
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setStyle(getAttrIntValue(mainTrack, "pit type"));
|
||||
String pitStyle = getAttrStrValue(mainTrack, "pit type");
|
||||
|
||||
if (pitStyle != null)
|
||||
{
|
||||
if (pitStyle.equals("no pit"))
|
||||
{
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setStyle(0);
|
||||
}
|
||||
else if (pitStyle.equals("track side"))
|
||||
{
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setStyle(1);
|
||||
}
|
||||
else if (pitStyle.equals("seperate path"))
|
||||
{
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setStyle(2);
|
||||
}
|
||||
}
|
||||
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setSide(getAttrStrValue(mainTrack, "pit side"));
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setEntry(getAttrStrValue(mainTrack, "pit entry"));
|
||||
editorFrame.getTrackData().getMainTrack().getPits().setStart(getAttrStrValue(mainTrack, "pit start"));
|
||||
|
@ -765,8 +782,16 @@ public class XmlReader
|
|||
shape.setProfilStartTangentRight(getAttrNumValue(seg, "profil start tangent right", "%"));
|
||||
shape.setProfilEndTangentRight(getAttrNumValue(seg, "profil end tangent right", "%"));
|
||||
|
||||
setSide(seg, left, "Left");
|
||||
setSide(seg, right, "Right");
|
||||
if (editorFrame.getTrackData().getHeader().getVersion() == 3)
|
||||
{
|
||||
setSideV3(seg, left, "l");
|
||||
setSideV3(seg, right, "r");
|
||||
}
|
||||
else
|
||||
{
|
||||
setSide(seg, left, "Left");
|
||||
setSide(seg, right, "Right");
|
||||
}
|
||||
|
||||
return shape;
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ public class XmlWriter
|
|||
if (editorFrame.getTrackData().getHeader().getVersion() == 3)
|
||||
{
|
||||
getSideV3(track, editorFrame.getTrackData().getMainTrack().getLeft(), "l");
|
||||
getSideV3(track, editorFrame.getTrackData().getMainTrack().getLeft(), "r");
|
||||
getSideV3(track, editorFrame.getTrackData().getMainTrack().getRight(), "r");
|
||||
getPitsV3(track);
|
||||
}
|
||||
else
|
||||
|
@ -207,7 +207,19 @@ public class XmlWriter
|
|||
*/
|
||||
private synchronized void getPitsV3(Element pits)
|
||||
{
|
||||
addContent(pits, "pit type", null, editorFrame.getTrackData().getMainTrack().getPits().getStyle());
|
||||
if (editorFrame.getTrackData().getMainTrack().getPits().getStyle() == 0)
|
||||
{
|
||||
addContent(pits, "pit type", "no pits");
|
||||
}
|
||||
else if (editorFrame.getTrackData().getMainTrack().getPits().getStyle() == 1)
|
||||
{
|
||||
addContent(pits, "pit type", "track side");
|
||||
}
|
||||
else if (editorFrame.getTrackData().getMainTrack().getPits().getStyle() == 2)
|
||||
{
|
||||
addContent(pits, "pit type", "seperate path");
|
||||
}
|
||||
|
||||
addContent(pits, "pit side", editorFrame.getTrackData().getMainTrack().getPits().getSide());
|
||||
addContent(pits, "pit entry", editorFrame.getTrackData().getMainTrack().getPits().getEntry());
|
||||
addContent(pits, "pit start", editorFrame.getTrackData().getMainTrack().getPits().getStart());
|
||||
|
@ -321,26 +333,35 @@ public class XmlWriter
|
|||
addContent(segment, "profil start tangent right", "%", shape.getProfilStartTangentRight());
|
||||
addContent(segment, "profil end tangent right", "%", shape.getProfilEndTangentRight());
|
||||
addContent(segment, "surface", shape.getSurface());
|
||||
com = new Comment("Left part of segment");
|
||||
segment.addContent(com);
|
||||
if (shape.getLeft().getHasSide())
|
||||
segment.addContent(getSide(shape.getLeft(), "Left"));
|
||||
if (shape.getLeft().getHasBorder())
|
||||
segment.addContent(getBorder(shape.getLeft(), "Left"));
|
||||
if (shape.getLeft().getHasBarrier())
|
||||
segment.addContent(getBarrier(shape.getLeft(), "Left"));
|
||||
com = new Comment("End of left part");
|
||||
segment.addContent(com);
|
||||
com = new Comment("Right part of segment");
|
||||
segment.addContent(com);
|
||||
if (shape.getRight().getHasSide())
|
||||
segment.addContent(getSide(shape.getRight(), "Right"));
|
||||
if (shape.getRight().getHasBorder())
|
||||
segment.addContent(getBorder(shape.getRight(), "Right"));
|
||||
if (shape.getRight().getHasBarrier())
|
||||
segment.addContent(getBarrier(shape.getRight(), "Right"));
|
||||
com = new Comment("End of right part");
|
||||
segment.addContent(com);
|
||||
|
||||
if (editorFrame.getTrackData().getHeader().getVersion() == 3)
|
||||
{
|
||||
getSideV3(segment, shape.getLeft(), "l");
|
||||
getSideV3(segment, shape.getRight(), "r");
|
||||
}
|
||||
else
|
||||
{
|
||||
com = new Comment("Left part of segment");
|
||||
segment.addContent(com);
|
||||
if (shape.getLeft().getHasSide())
|
||||
segment.addContent(getSide(shape.getLeft(), "Left"));
|
||||
if (shape.getLeft().getHasBorder())
|
||||
segment.addContent(getBorder(shape.getLeft(), "Left"));
|
||||
if (shape.getLeft().getHasBarrier())
|
||||
segment.addContent(getBarrier(shape.getLeft(), "Left"));
|
||||
com = new Comment("End of left part");
|
||||
segment.addContent(com);
|
||||
com = new Comment("Right part of segment");
|
||||
segment.addContent(com);
|
||||
if (shape.getRight().getHasSide())
|
||||
segment.addContent(getSide(shape.getRight(), "Right"));
|
||||
if (shape.getRight().getHasBorder())
|
||||
segment.addContent(getBorder(shape.getRight(), "Right"));
|
||||
if (shape.getRight().getHasBarrier())
|
||||
segment.addContent(getBarrier(shape.getRight(), "Right"));
|
||||
com = new Comment("End of right part");
|
||||
segment.addContent(com);
|
||||
}
|
||||
|
||||
return segment;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue