|
From: Yohann C. <pl...@us...> - 2004-11-22 12:43:27
|
Update of /cvsroot/epfl/tgtools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29690 Modified Files: Convert.java Log Message: modif: les derniers chiffres sont TOUJOURS 0 0 0 0.500000 0.500000 0 0 0 cêst pas gagné.... Index: Convert.java =================================================================== RCS file: /cvsroot/epfl/tgtools/Convert.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Convert.java 17 Nov 2004 21:43:47 -0000 1.1.1.1 --- Convert.java 22 Nov 2004 12:43:18 -0000 1.2 *************** *** 2,32 **** import java.util.regex.*; ! class Convert { ! public static void main(String [] args) { Convert c = new Convert(args[0]); } private int state = 0; ! // 0 = on n'est nulle part.... ! // 1 = on est dans le world ! // 2 = on est dans un solid ! // 3 = on est dans un side ! Convert(String file) { ! String fichier = LireFichier(file); ! // System.out.println(fichier+"-------------\n"+fichier.indexOf("world")+"\n"); ! fichier = cleanFile(fichier); ! // fichier = removeNotWorld(fichier); ! String mapFile = makeMap(fichier); ! System.out.println(mapFile); } ! String LireFichier(String monFichier) { int nAccolade = 0; ! int nAccolade1 = 0; int nBadAccolade1 = 0; ! int nAccolade2 = 0; int nBadAccolade2 = 0; ! int nAccolade3 = 0; int nBadAccolade3 = 0; boolean add = false; ! try{ RandomAccessFile raf = new RandomAccessFile(monFichier, "r"); String line = ""; --- 2,40 ---- import java.util.regex.*; ! class Convert ! { ! public static void main(String [] args) ! { Convert c = new Convert(args[0]); } private int state = 0; ! // 0 = on n'est nulle part.... ! // 1 = on est dans le world ! // 2 = on est dans un solid ! // 3 = on est dans un side ! Convert(String file) ! { ! // String fichier = LireFichier(file); ! LireFichier(file); ! // System.out.println(fichier+"-------------\n"+fichier.indexOf("world")+"\n"); ! // fichier = cleanFile(fichier); ! // fichier = removeNotWorld(fichier); ! // String mapFile = makeMap(fichier); ! // System.out.println(mapFile); } ! void LireFichier(String monFichier) { int nAccolade = 0; ! int nAccolade1 = 0; ! int nBadAccolade1 = 0; ! int nAccolade2 = 0; ! int nBadAccolade2 = 0; ! int nAccolade3 = 0; ! int nBadAccolade3 = 0; boolean add = false; ! boolean traite = false; ! try { RandomAccessFile raf = new RandomAccessFile(monFichier, "r"); String line = ""; *************** *** 35,38 **** --- 43,47 ---- while ( (line = raf.readLine()) != null ) { add = false; + traite = false; if(state == 0) { if(line.indexOf("world") != -1) { *************** *** 58,61 **** --- 67,71 ---- if(nAccolade1 == 0) { state = 0; + traite = true; } add = true; *************** *** 80,83 **** --- 90,94 ---- if(nAccolade2 == 0) { state = 1; + traite = true; } add = true; *************** *** 92,96 **** nBadAccolade3++; } ! }else if(line.indexOf("}") != -1) { if(nBadAccolade3 > 0) { nBadAccolade3--; --- 103,107 ---- nBadAccolade3++; } ! } else if(line.indexOf("}") != -1) { if(nBadAccolade3 > 0) { nBadAccolade3--; *************** *** 99,102 **** --- 110,114 ---- if(nAccolade3 == 0) { state = 2; + // traite = true; } add = true; *************** *** 104,110 **** } if(line.indexOf("plane") != -1 || ! line.indexOf("material") != -1 || ! line.indexOf("uaxis") != -1 || ! line.indexOf("vaxis") != -1) { add = true; } --- 116,122 ---- } if(line.indexOf("plane") != -1 || ! line.indexOf("material") != -1 || ! line.indexOf("uaxis") != -1 || ! line.indexOf("vaxis") != -1) { add = true; } *************** *** 114,136 **** oldLine = line; } } ! return fichierContenu; } catch (IOException e) { System.out.println("erreur: " + e); } ! return ""; } String makeMap(String s) { ! s = s.replaceAll("solid\n\\{", "\\{"); ! s = s.replaceAll("side\n\\{", ""); ! s = s.replaceAll("\"plane\" \"", " "); s = s.replaceAll("\"\n\"material\" \"", " "); s = s.replaceAll("\"\n\"uaxis\" \"\\[", " "); ! s = s.replaceAll("\\] [0-9]*\"\n\"vaxis\" \"\\[", " "); s = s.replaceAll("\\].*\n\\}", ""); s = s.replaceAll("\n\n", "\n"); ! s = s.replaceAll("world\n\\{", "\\{\n\"classname\" \"worldspawn\""); return s; } --- 126,166 ---- oldLine = line; } + if (traite) { + // System.out.println("---------------------"); + System.out.print(makeMap(cleanFile(fichierContenu))); + fichierContenu = ""; + } } ! System.out.print(makeMap(cleanFile(fichierContenu))); ! // return fichierContenu; } catch (IOException e) { System.out.println("erreur: " + e); } ! // return ""; } String makeMap(String s) { ! s = s.replaceAll("solid.?\n\\{", "{"); ! s = s.replaceAll("side.?\n\\{", ""); ! s = s.replaceAll("\"plane\" \"", ""); s = s.replaceAll("\"\n\"material\" \"", " "); s = s.replaceAll("\"\n\"uaxis\" \"\\[", " "); ! s = s.replaceAll("\\] -?[0-9]*\\.?[0-9]*\"\n\"vaxis\" \"\\[", " "); s = s.replaceAll("\\].*\n\\}", ""); s = s.replaceAll("\n\n", "\n"); ! s = s.replaceAll("world.?\n\\{", "{\n\"classname\" \"worldspawn\""); ! s = s.replaceAll("\\(", "( "); ! s = s.replaceAll("\\)", " )"); ! // s = s.replaceAll(" ", "_"); ! s = s.replaceAll("( -?\\d+){8}", " 0 0 0 0.500000 0.500000 0 0 0"); ! if(s.indexOf("vaxis") != -1 || s.indexOf("uaxis") != -1 || s.indexOf("material") != -1 ! || s.indexOf("plane") != -1 || s.indexOf("side") != -1 ! || s.indexOf("solid") != -1 || s.indexOf("[") != -1 ! || s.indexOf("]") != -1 ! || (s.indexOf("\"") != -1 && s.indexOf("classname") == -1) ) { ! System.out.println("---------\n"+s); ! System.exit(0); ! } return s; } *************** *** 140,158 **** String clean = s; ! String[] paterns = { ! "//.*", ! " *$" ! // "\t", ! // "^.*(\"id\"|\"rotation\"|\"lightmapscale\"|\"smoothing_groups\").*$", ! // ".*worldspawn" }; ! for(int j = 0; j < paterns.length; j++) ! { ! Pattern p = Pattern.compile(paterns[j], Pattern.MULTILINE); Matcher m = p.matcher(clean); ! clean = m.replaceAll(""); } ! // clean = clean.replaceAll(p, ""); return clean; } --- 170,191 ---- String clean = s; ! String[][] paterns = { ! { "//.*", "" }, ! { "^$", ""}, ! // { "^[\\W]*$", "" }, ! { " *$", "" }, ! { "^[\\s]*", ""}, ! // "^[\\W]?side.*{$" ! // "\t", ! { "^[\\W](\"id\"|\"rotation\"|\"lightmapscale\"|\"smoothing_groups\").*$", ""} ! // ".*worldspawn" }; ! for(int j = 0; j < paterns.length; j++) { ! Pattern p = Pattern.compile(paterns[j][0], Pattern.MULTILINE); Matcher m = p.matcher(clean); ! clean = m.replaceAll(paterns[j][1]); } ! // clean = clean.replaceAll(p, ""); return clean; } |