diff --git a/src/com/annimon/everlastingsummer/Lexer.java b/src/com/annimon/everlastingsummer/Lexer.java index a085b8b..76597ba 100644 --- a/src/com/annimon/everlastingsummer/Lexer.java +++ b/src/com/annimon/everlastingsummer/Lexer.java @@ -66,6 +66,8 @@ public final class Lexer { KEYWORDS.put("day_time", TokenType.DAY_TIME); KEYWORDS.put("sunset_time", TokenType.SUNSET_TIME); KEYWORDS.put("night_time", TokenType.NIGHT_TIME); + KEYWORDS.put("make_names_known", TokenType.MAKE_NAMES_KNOWN); + KEYWORDS.put("make_names_unknown", TokenType.MAKE_NAMES_UNKNOWN); } private final List tokens; diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index 70605f3..38afa32 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -220,6 +220,16 @@ public final class Parser { return false; } + if (match(token, TokenType.MAKE_NAMES_KNOWN) || + match(token, TokenType.MAKE_NAMES_UNKNOWN)) { + consume(TokenType.LPAREN); + consume(TokenType.RPAREN); + if (token.getType() == TokenType.MAKE_NAMES_KNOWN) { + ViewActivity.getInstance().makeNamesKnown(); + } else ViewActivity.getInstance().makeNamesUnknown(); + return false; + } + if (match(token, TokenType.WORD)) { if (match(TokenType.EQ)) { // variable = expression diff --git a/src/com/annimon/everlastingsummer/TokenType.java b/src/com/annimon/everlastingsummer/TokenType.java index 5d9de82..3afad37 100644 --- a/src/com/annimon/everlastingsummer/TokenType.java +++ b/src/com/annimon/everlastingsummer/TokenType.java @@ -66,6 +66,8 @@ public enum TokenType { DAY_TIME, SUNSET_TIME, NIGHT_TIME, + MAKE_NAMES_KNOWN, + MAKE_NAMES_UNKNOWN, EOF } diff --git a/src/com/annimon/everlastingsummer/ViewActivity.java b/src/com/annimon/everlastingsummer/ViewActivity.java index 596a431..106a3bb 100644 --- a/src/com/annimon/everlastingsummer/ViewActivity.java +++ b/src/com/annimon/everlastingsummer/ViewActivity.java @@ -290,6 +290,14 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch return new SpannableString(html ? Html.fromHtml(edited) : edited); } + public void makeNamesKnown() { + characters.makeNamesKnown(); + } + + public void makeNamesUnknown() { + characters.makeNamesUnknown(); + } + public void menu(final Menu menu) { Dialogs.with(this).showGameMenu(menu, new DialogInterface.OnClickListener() { @Override