Added Utils.parseBoolean() method to parse 0/1 booleans.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
Jeffrey Han 2015-05-23 14:52:03 -04:00
parent 91b78b4add
commit fe8c6a6f02
3 changed files with 17 additions and 5 deletions

View File

@ -282,13 +282,13 @@ public class OsuParser {
break;
case "LetterboxInBreaks":
beatmap.letterboxInBreaks = (Integer.parseInt(tokens[1]) == 1);
beatmap.letterboxInBreaks = Utils.parseBoolean(tokens[1]);
break;
case "WidescreenStoryboard":
beatmap.widescreenStoryboard = (Integer.parseInt(tokens[1]) == 1);
beatmap.widescreenStoryboard = Utils.parseBoolean(tokens[1]);
break;
case "EpilepsyWarning":
beatmap.epilepsyWarning = (Integer.parseInt(tokens[1]) == 1);
beatmap.epilepsyWarning = Utils.parseBoolean(tokens[1]);
default:
break;
}

View File

@ -691,4 +691,14 @@ public class Utils {
return null;
}
}
/**
* Parses the integer string argument as a boolean:
* {@code 1} is {@code true}, and all other values are {@code false}.
* @param s the {@code String} containing the boolean representation to be parsed
* @return the boolean represented by the string argument
*/
public static boolean parseBoolean(String s) {
return (Integer.parseInt(s) == 1);
}
}

View File

@ -18,6 +18,8 @@
package itdelatrisu.opsu.beatmap;
import itdelatrisu.opsu.Utils;
import org.newdawn.slick.util.Log;
/**
@ -64,9 +66,9 @@ public class TimingPoint {
this.sampleType = Byte.parseByte(tokens[3]);
this.sampleTypeCustom = Byte.parseByte(tokens[4]);
this.sampleVolume = Integer.parseInt(tokens[5]);
// this.inherited = (Integer.parseInt(tokens[6]) == 1);
// this.inherited = Utils.parseBoolean(tokens[6]);
if (tokens.length > 7)
this.kiai = (Integer.parseInt(tokens[7]) == 1);
this.kiai = Utils.parseBoolean(tokens[7]);
} catch (ArrayIndexOutOfBoundsException e) {
Log.debug(String.format("Error parsing timing point: '%s'", line));
}