[Scummvm-git-logs] scummvm master -> 36d437682fafbeef19eb2b6f6dc839b055d8d0df
neuromancer
noreply at scummvm.org
Sun May 8 09:38:19 UTC 2022
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
44b080a21d HYPNO: implemented basic health handling and some cheats in boyz
36d437682f HYPNO: parse and load almost all the levels in boyz
Commit: 44b080a21df9f622dff3305ce865d8d60e937fb3
https://github.com/scummvm/scummvm/commit/44b080a21df9f622dff3305ce865d8d60e937fb3
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-08T11:35:16+02:00
Commit Message:
HYPNO: implemented basic health handling and some cheats in boyz
Changed paths:
engines/hypno/boyz/arcade.cpp
engines/hypno/boyz/boyz.cpp
engines/hypno/hypno.h
diff --git a/engines/hypno/boyz/arcade.cpp b/engines/hypno/boyz/arcade.cpp
index 440873efe4a..6b541a43501 100644
--- a/engines/hypno/boyz/arcade.cpp
+++ b/engines/hypno/boyz/arcade.cpp
@@ -104,25 +104,33 @@ void BoyzEngine::drawPlayer() {
void BoyzEngine::drawHealth() {
updateFromScript();
- Common::Rect healthBarBox(0, 0, _healthBar[_currentActor].w, _healthBar[_currentActor].h/2);
+ float w = float(_healthTeam[_currentActor]) / float(_maxHealth);
+ Common::Rect healthBarBox(0, 0, int((_healthBar[_currentActor].w - 3) * w), _healthBar[_currentActor].h / 2);
+
uint32 c = kHypnoColorWhiteOrBlue; // white
_compositeSurface->fillRect(healthBarBox, c);
+
+ for (int i = 0; i < _maxHealth; i = i + 10) {
+ int x = (_healthBar[_currentActor].w - 3) * float(i) / float(_maxHealth);
+ _compositeSurface->drawLine(x, 2, x, 6, 0);
+ }
+
drawImage(_healthBar[_currentActor], 0, 0, true);
}
void BoyzEngine::drawAmmo() {
updateFromScript();
- float w = _ammoBar[_currentWeapon].w / _weaponMaxAmmo[_currentWeapon];
+ float w = float(_ammoBar[_currentWeapon].w) / float(_weaponMaxAmmo[_currentWeapon]);
- Common::Rect ammoBarBox(320 - int(_ammoTeam[_currentActor] * w), 0, 320, _ammoBar[_currentActor].h/2);
+ Common::Rect ammoBarBox(320 - int(_ammoTeam[_currentActor] * w), 0, 320, _ammoBar[_currentActor].h / 2);
uint32 c = kHypnoColorGreen; // green
_compositeSurface->fillRect(ammoBarBox, c);
drawImage(_ammoBar[_currentActor], 320 - _ammoBar[_currentWeapon].w, 0, true);
for (int i = 1; i < _weaponMaxAmmo[_currentWeapon]; i++) {
int x = 320 - _ammoBar[_currentWeapon].w + int (i * w);
- _compositeSurface->drawLine(x, 2, x, 5, 0);
+ _compositeSurface->drawLine(x, 2, x, 6, 0);
}
}
@@ -130,6 +138,8 @@ void BoyzEngine::hitPlayer() {
uint32 c = kHypnoColorRed; // red
_compositeSurface->fillRect(Common::Rect(0, 0, _screenW, _screenH), c);
drawScreen();
+ if (!_infiniteHealthCheat)
+ _healthTeam[_currentActor] = _healthTeam[_currentActor] - 10;
if (!_hitSound.empty())
playSound(_soundPath + _hitSound, 1, 11025);
}
@@ -202,8 +212,8 @@ void BoyzEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc) {
if (_ammoTeam[_currentActor] == 0)
return; // TODO: out of ammo sound is missing
-
- _ammoTeam[_currentActor]--;
+ if (!_infiniteAmmoCheat)
+ _ammoTeam[_currentActor]--;
playSound(_soundPath + _weaponShootSound[_currentWeapon], 1);
incShotsFired();
int i = detectTarget(mousePos);
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index bacae6a315e..5c1e6bceff1 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -203,10 +203,17 @@ void BoyzEngine::loadAssets() {
_weaponMaxAmmo[1] = 10;
_weaponMaxAmmo[2] = 2; // large shotgun
_weaponMaxAmmo[3] = 8;
- _weaponMaxAmmo[4] = 0;
+ _weaponMaxAmmo[4] = 6; // pistol?
_weaponMaxAmmo[5] = 6; // small shotgun
_weaponMaxAmmo[6] = 0;
+ _maxHealth = 100;
+
+ // Set initial health for the team
+ for (int i = 0; i < 7; i++) {
+ _healthTeam[i] = _maxHealth;
+ }
+
targets->free();
delete targets;
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index a0d07705e5a..e95db7c7e5e 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -564,6 +564,7 @@ public:
void runMainMenu(Code *code);
int _ammoTeam[6];
+ int _healthTeam[7];
Graphics::Surface _healthBar[7];
Graphics::Surface _ammoBar[7];
Graphics::Surface _portrait[7];
Commit: 36d437682fafbeef19eb2b6f6dc839b055d8d0df
https://github.com/scummvm/scummvm/commit/36d437682fafbeef19eb2b6f6dc839b055d8d0df
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-08T11:35:16+02:00
Commit Message:
HYPNO: parse and load almost all the levels in boyz
Changed paths:
engines/hypno/boyz/boyz.cpp
engines/hypno/grammar_arc.cpp
engines/hypno/grammar_arc.y
engines/hypno/lexer_arc.cpp
engines/hypno/lexer_arc.l
engines/hypno/tokens_arc.h
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index 5c1e6bceff1..c33d97505fd 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -79,13 +79,38 @@ void BoyzEngine::loadAssets() {
loadArcadeLevel("c19.mi_", "c11.mi_", "??", "");
loadArcadeLevel("c11.mi_", "c12.mi_", "??", "");
loadArcadeLevel("c12.mi_", "c14.mi_", "??", "");
- //loadArcadeLevel("c13.mi_", "??", "??", "");
+ loadArcadeLevel("c13.mi_", "??", "??", "");
loadArcadeLevel("c14.mi_", "c15.mi_", "??", "");
loadArcadeLevel("c15.mi_", "c16.mi_", "??", "");
loadArcadeLevel("c16.mi_", "c17.mi_", "??", "");
loadArcadeLevel("c17.mi_", "c18.mi_", "??", "");
loadArcadeLevel("c18.mi_", "c21.mi_", "??", "");
+ loadArcadeLevel("c21.mi_", "c22.mi_", "??", "");
+ loadArcadeLevel("c22.mi_", "c23.mi_", "??", "");
+ loadArcadeLevel("c31.mi_", "c32.mi_", "??", "");
+ loadArcadeLevel("c32.mi_", "c33.mi_", "??", "");
+ loadArcadeLevel("c33.mi_", "c34.mi_", "??", "");
+ loadArcadeLevel("c34.mi_", "c35.mi_", "??", "");
+ loadArcadeLevel("c35.mi_", "c352.mi_", "??", "");
+ loadArcadeLevel("c352.mi_", "c353.mi_", "??", "");
+ loadArcadeLevel("c353.mi_", "c354.mi_", "??", "");
+ loadArcadeLevel("c354.mi_", "c355.mi_", "??", "");
+ loadArcadeLevel("c355.mi_", "c36.mi_", "??", "");
+ loadArcadeLevel("c36.mi_", "c41.mi_", "??", "");
+ loadArcadeLevel("c41.mi_", "c42.mi_", "??", "");
+ //loadArcadeLevel("c42.mi_", "c51.mi_", "??", "");
+
+ loadArcadeLevel("c51.mi_", "c52.mi_", "??", "");
+ loadArcadeLevel("c52.mi_", "c53.mi_", "??", "");
+ loadArcadeLevel("c53.mi_", "c54.mi_", "??", "");
+ loadArcadeLevel("c54.mi_", "c55.mi_", "??", "");
+ loadArcadeLevel("c55.mi_", "c56.mi_", "??", "");
+ loadArcadeLevel("c56.mi_", "c57.mi_", "??", "");
+ loadArcadeLevel("c57.mi_", "c58.mi_", "??", "");
+ loadArcadeLevel("c58.mi_", "c59.mi_", "??", "");
+ loadArcadeLevel("c59.mi_", "<credits>", "??", "");
+
loadSceneLevel(selectBoyz, "<select_boyz>", "", "");
Scene *sc = (Scene *) _levels["<select_boyz>"];
diff --git a/engines/hypno/grammar_arc.cpp b/engines/hypno/grammar_arc.cpp
index 0eb1709b103..99a7cadf9d2 100644
--- a/engines/hypno/grammar_arc.cpp
+++ b/engines/hypno/grammar_arc.cpp
@@ -100,8 +100,34 @@ int HYPNO_ARC_wrap() {
using namespace Hypno;
+void parseSN(const char *sn, const char *path, const char *enc, const char *flag) {
+ uint32 sampleRate = 11025;
+ if (Common::String("22K") == enc || Common::String("22k") == enc)
+ sampleRate = 22050;
+ else if (HYPNO_ARC_default_sound_rate > 0)
+ sampleRate = HYPNO_ARC_default_sound_rate;
+
+ if (Common::String("S0") == sn) {
+ g_parsedArc->music = path;
+ g_parsedArc->musicRate = sampleRate;
+ } else if (Common::String("S1") == sn) {
+ g_parsedArc->shootSound = path;
+ g_parsedArc->shootSoundRate = sampleRate;
+ } else if (Common::String("S2") == sn) {
+ g_parsedArc->hitSound = path;
+ g_parsedArc->hitSoundRate = sampleRate;
+ } else if (Common::String("S4") == sn) {
+ g_parsedArc->enemySound = path;
+ g_parsedArc->enemySoundRate = sampleRate;
+ } else if (Common::String("S5") == sn) {
+ g_parsedArc->additionalSound = path;
+ g_parsedArc->additionalSoundRate = sampleRate;
+ }
+ debugC(1, kHypnoDebugParser, "SN %s", path);
+}
+
-#line 105 "engines/hypno/grammar_arc.cpp"
+#line 131 "engines/hypno/grammar_arc.cpp"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -141,18 +167,18 @@ enum yysymbol_kind_t
YYSYMBOL_FNTOK = 9, /* FNTOK */
YYSYMBOL_ENCTOK = 10, /* ENCTOK */
YYSYMBOL_ONTOK = 11, /* ONTOK */
- YYSYMBOL_NUM = 12, /* NUM */
- YYSYMBOL_BYTE = 13, /* BYTE */
- YYSYMBOL_COMMENT = 14, /* COMMENT */
- YYSYMBOL_ALTOK = 15, /* ALTOK */
- YYSYMBOL_AVTOK = 16, /* AVTOK */
- YYSYMBOL_ABTOK = 17, /* ABTOK */
- YYSYMBOL_CTOK = 18, /* CTOK */
- YYSYMBOL_DTOK = 19, /* DTOK */
- YYSYMBOL_HTOK = 20, /* HTOK */
- YYSYMBOL_HETOK = 21, /* HETOK */
- YYSYMBOL_HLTOK = 22, /* HLTOK */
- YYSYMBOL_H12TOK = 23, /* H12TOK */
+ YYSYMBOL_H12TOK = 12, /* H12TOK */
+ YYSYMBOL_NUM = 13, /* NUM */
+ YYSYMBOL_BYTE = 14, /* BYTE */
+ YYSYMBOL_COMMENT = 15, /* COMMENT */
+ YYSYMBOL_ALTOK = 16, /* ALTOK */
+ YYSYMBOL_AVTOK = 17, /* AVTOK */
+ YYSYMBOL_ABTOK = 18, /* ABTOK */
+ YYSYMBOL_CTOK = 19, /* CTOK */
+ YYSYMBOL_DTOK = 20, /* DTOK */
+ YYSYMBOL_HTOK = 21, /* HTOK */
+ YYSYMBOL_HETOK = 22, /* HETOK */
+ YYSYMBOL_HLTOK = 23, /* HLTOK */
YYSYMBOL_HUTOK = 24, /* HUTOK */
YYSYMBOL_RETTOK = 25, /* RETTOK */
YYSYMBOL_QTOK = 26, /* QTOK */
@@ -162,40 +188,42 @@ enum yysymbol_kind_t
YYSYMBOL_TTOK = 30, /* TTOK */
YYSYMBOL_TATOK = 31, /* TATOK */
YYSYMBOL_TPTOK = 32, /* TPTOK */
- YYSYMBOL_ATOK = 33, /* ATOK */
- YYSYMBOL_VTOK = 34, /* VTOK */
- YYSYMBOL_OTOK = 35, /* OTOK */
- YYSYMBOL_LTOK = 36, /* LTOK */
- YYSYMBOL_MTOK = 37, /* MTOK */
- YYSYMBOL_NTOK = 38, /* NTOK */
- YYSYMBOL_NSTOK = 39, /* NSTOK */
- YYSYMBOL_RTOK = 40, /* RTOK */
- YYSYMBOL_R0TOK = 41, /* R0TOK */
- YYSYMBOL_R1TOK = 42, /* R1TOK */
- YYSYMBOL_ITOK = 43, /* ITOK */
- YYSYMBOL_I1TOK = 44, /* I1TOK */
- YYSYMBOL_GTOK = 45, /* GTOK */
- YYSYMBOL_JTOK = 46, /* JTOK */
- YYSYMBOL_J0TOK = 47, /* J0TOK */
- YYSYMBOL_KTOK = 48, /* KTOK */
- YYSYMBOL_UTOK = 49, /* UTOK */
- YYSYMBOL_ZTOK = 50, /* ZTOK */
- YYSYMBOL_NONETOK = 51, /* NONETOK */
- YYSYMBOL_A0TOK = 52, /* A0TOK */
- YYSYMBOL_P0TOK = 53, /* P0TOK */
- YYSYMBOL_WTOK = 54, /* WTOK */
- YYSYMBOL_XTOK = 55, /* XTOK */
- YYSYMBOL_CB3TOK = 56, /* CB3TOK */
- YYSYMBOL_C02TOK = 57, /* C02TOK */
- YYSYMBOL_YYACCEPT = 58, /* $accept */
- YYSYMBOL_start = 59, /* start */
- YYSYMBOL_60_1 = 60, /* $@1 */
- YYSYMBOL_header = 61, /* header */
- YYSYMBOL_hline = 62, /* hline */
- YYSYMBOL_enc = 63, /* enc */
- YYSYMBOL_flag = 64, /* flag */
- YYSYMBOL_body = 65, /* body */
- YYSYMBOL_bline = 66 /* bline */
+ YYSYMBOL_TSTOK = 33, /* TSTOK */
+ YYSYMBOL_ATOK = 34, /* ATOK */
+ YYSYMBOL_VTOK = 35, /* VTOK */
+ YYSYMBOL_OTOK = 36, /* OTOK */
+ YYSYMBOL_LTOK = 37, /* LTOK */
+ YYSYMBOL_MTOK = 38, /* MTOK */
+ YYSYMBOL_NTOK = 39, /* NTOK */
+ YYSYMBOL_NRTOK = 40, /* NRTOK */
+ YYSYMBOL_NSTOK = 41, /* NSTOK */
+ YYSYMBOL_RTOK = 42, /* RTOK */
+ YYSYMBOL_R0TOK = 43, /* R0TOK */
+ YYSYMBOL_R1TOK = 44, /* R1TOK */
+ YYSYMBOL_ITOK = 45, /* ITOK */
+ YYSYMBOL_I1TOK = 46, /* I1TOK */
+ YYSYMBOL_GTOK = 47, /* GTOK */
+ YYSYMBOL_JTOK = 48, /* JTOK */
+ YYSYMBOL_J0TOK = 49, /* J0TOK */
+ YYSYMBOL_KTOK = 50, /* KTOK */
+ YYSYMBOL_UTOK = 51, /* UTOK */
+ YYSYMBOL_ZTOK = 52, /* ZTOK */
+ YYSYMBOL_NONETOK = 53, /* NONETOK */
+ YYSYMBOL_A0TOK = 54, /* A0TOK */
+ YYSYMBOL_P0TOK = 55, /* P0TOK */
+ YYSYMBOL_WTOK = 56, /* WTOK */
+ YYSYMBOL_XTOK = 57, /* XTOK */
+ YYSYMBOL_CB3TOK = 58, /* CB3TOK */
+ YYSYMBOL_C02TOK = 59, /* C02TOK */
+ YYSYMBOL_YYACCEPT = 60, /* $accept */
+ YYSYMBOL_start = 61, /* start */
+ YYSYMBOL_62_1 = 62, /* $@1 */
+ YYSYMBOL_header = 63, /* header */
+ YYSYMBOL_hline = 64, /* hline */
+ YYSYMBOL_enc = 65, /* enc */
+ YYSYMBOL_flag = 66, /* flag */
+ YYSYMBOL_body = 67, /* body */
+ YYSYMBOL_bline = 68 /* bline */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -523,19 +551,19 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 6
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 198
+#define YYLAST 216
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 58
+#define YYNTOKENS 60
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 9
/* YYNRULES -- Number of rules. */
-#define YYNRULES 102
+#define YYNRULES 113
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 206
+#define YYNSTATES 221
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 312
+#define YYMAXUTOK 314
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -580,24 +608,25 @@ static const yytype_int8 yytranslate[] =
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57
+ 55, 56, 57, 58, 59
};
#if HYPNO_ARC_DEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 78, 78, 78, 79, 82, 83, 84, 87, 91,
- 95, 99, 100, 101, 105, 110, 114, 118, 123, 133,
- 142, 147, 152, 157, 158, 162, 166, 169, 173, 176,
- 177, 205, 230, 236, 241, 246, 252, 257, 262, 267,
- 272, 277, 284, 285, 288, 289, 292, 293, 294, 297,
- 305, 308, 311, 314, 317, 322, 327, 331, 335, 339,
- 343, 347, 351, 355, 359, 363, 367, 371, 375, 379,
- 383, 387, 391, 395, 399, 403, 407, 411, 414, 418,
- 423, 428, 431, 436, 441, 445, 451, 455, 458, 459,
- 462, 466, 469, 474, 477, 481, 485, 494, 495, 498,
- 501, 504, 507
+ 0, 104, 104, 104, 105, 108, 109, 110, 113, 117,
+ 121, 125, 126, 127, 131, 136, 140, 144, 149, 159,
+ 168, 173, 176, 181, 186, 191, 192, 196, 200, 203,
+ 207, 210, 211, 239, 242, 245, 251, 256, 261, 267,
+ 272, 277, 282, 287, 292, 299, 300, 303, 304, 307,
+ 308, 309, 312, 320, 323, 326, 329, 331, 334, 339,
+ 344, 348, 352, 356, 360, 364, 368, 372, 376, 380,
+ 384, 388, 392, 396, 400, 404, 408, 412, 416, 420,
+ 424, 428, 432, 435, 439, 444, 449, 452, 457, 462,
+ 466, 472, 476, 479, 480, 481, 484, 488, 491, 496,
+ 499, 500, 504, 507, 511, 520, 524, 525, 528, 531,
+ 534, 537, 540, 542
};
#endif
@@ -614,14 +643,15 @@ static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
static const char *const yytname[] =
{
"\"end of file\"", "error", "\"invalid token\"", "NAME", "FILENAME",
- "BNTOK", "SNTOK", "KNTOK", "YXTOK", "FNTOK", "ENCTOK", "ONTOK", "NUM",
- "BYTE", "COMMENT", "ALTOK", "AVTOK", "ABTOK", "CTOK", "DTOK", "HTOK",
- "HETOK", "HLTOK", "H12TOK", "HUTOK", "RETTOK", "QTOK", "RESTOK", "PTOK",
- "FTOK", "TTOK", "TATOK", "TPTOK", "ATOK", "VTOK", "OTOK", "LTOK", "MTOK",
- "NTOK", "NSTOK", "RTOK", "R0TOK", "R1TOK", "ITOK", "I1TOK", "GTOK",
- "JTOK", "J0TOK", "KTOK", "UTOK", "ZTOK", "NONETOK", "A0TOK", "P0TOK",
- "WTOK", "XTOK", "CB3TOK", "C02TOK", "$accept", "start", "$@1", "header",
- "hline", "enc", "flag", "body", "bline", YY_NULLPTR
+ "BNTOK", "SNTOK", "KNTOK", "YXTOK", "FNTOK", "ENCTOK", "ONTOK", "H12TOK",
+ "NUM", "BYTE", "COMMENT", "ALTOK", "AVTOK", "ABTOK", "CTOK", "DTOK",
+ "HTOK", "HETOK", "HLTOK", "HUTOK", "RETTOK", "QTOK", "RESTOK", "PTOK",
+ "FTOK", "TTOK", "TATOK", "TPTOK", "TSTOK", "ATOK", "VTOK", "OTOK",
+ "LTOK", "MTOK", "NTOK", "NRTOK", "NSTOK", "RTOK", "R0TOK", "R1TOK",
+ "ITOK", "I1TOK", "GTOK", "JTOK", "J0TOK", "KTOK", "UTOK", "ZTOK",
+ "NONETOK", "A0TOK", "P0TOK", "WTOK", "XTOK", "CB3TOK", "C02TOK",
+ "$accept", "start", "$@1", "header", "hline", "enc", "flag", "body",
+ "bline", YY_NULLPTR
};
static const char *
@@ -631,7 +661,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-115)
+#define YYPACT_NINF (-123)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -645,27 +675,29 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 9, -115, 9, 16, 84, -115, -115, 5, 14, 7,
- 10, 11, 98, 8, 26, 42, 43, 84, 15, 45,
- 46, -1, 47, 56, 50, 34, 51, 60, 61, 65,
- 66, 67, 68, 63, 23, 84, -115, 69, 70, -115,
- -115, 75, 80, 86, 87, 88, 108, 113, 117, 118,
- 120, -115, 123, 124, -115, 125, 127, 76, 128, 129,
- 130, -115, 131, -115, -115, -115, -115, -115, -115, 132,
- 121, -115, -115, 142, -115, 135, 136, 137, 138, 139,
- 140, 141, 143, 144, 145, -115, -115, -115, -115, 142,
- 150, -115, -115, -115, 146, -5, -115, -115, -115, -115,
- -115, -115, -115, -115, -115, -115, -115, -115, 69, -115,
- 147, 148, 157, 151, 1, 152, 153, 154, 155, 156,
- 158, -5, 165, 159, 160, 161, 162, 163, -115, 164,
- 166, 167, 48, -115, 168, 169, 170, -115, 171, 172,
- 173, 107, -5, -115, -115, 174, 69, 175, -115, -115,
- -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
- 176, 177, -115, 178, 179, 180, -115, -115, -115, -115,
- -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
- -115, -115, -115, -115, -115, -115, -115, -115, -115, 181,
- 182, 183, -115, -115, -115, -115, -115, -115, -115, -115,
- -115, -115, -115, -115, -115, -115
+ 39, -123, 39, 11, 101, -123, -123, 15, 16, 10,
+ 40, 45, 48, 135, 51, 53, 55, 101, 49, 57,
+ 58, 0, 59, 2, 20, 63, 36, 64, 75, 77,
+ 81, 82, 83, 85, 84, 42, 101, -123, 19, 87,
+ 90, -123, -123, 95, 96, 97, 98, 102, 103, 104,
+ 105, 106, -123, 115, 128, -123, 131, 132, 91, 137,
+ 138, 140, 141, 142, -123, 143, -123, -123, -123, -123,
+ -123, -123, 144, 43, -123, -123, -123, 111, 88, -123,
+ 145, 146, 147, 148, 149, 151, 152, 153, 154, 155,
+ -123, -123, -123, -123, 111, 166, 167, 160, -123, -123,
+ -123, 161, -4, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, 88, -123, -123, -123, 162,
+ 163, 174, 168, 3, 169, 170, 171, 172, 5, 173,
+ -4, 175, 176, 177, 178, 179, 180, -123, -123, 181,
+ 182, 183, 54, -123, 184, 185, 186, -123, 187, 188,
+ 189, 123, -4, -123, -123, 190, 88, 191, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, 192,
+ -123, 193, 194, -123, 195, 196, 197, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, 198, 199, 200, -123, -123, -123, -123, -123, -123,
+ 201, -123, -123, -123, -123, -123, 202, -123, -123, -123,
+ -123
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -676,36 +708,38 @@ static const yytype_int8 yydefact[] =
0, 2, 0, 0, 7, 4, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 30, 43, 19, 8,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 6, 0, 0, 9, 0, 0, 0, 0, 0,
- 0, 16, 0, 13, 24, 25, 26, 27, 28, 0,
- 0, 5, 42, 45, 18, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 29, 11, 22, 23, 45,
- 0, 12, 15, 17, 0, 48, 44, 31, 35, 41,
- 38, 37, 39, 36, 32, 33, 40, 34, 43, 20,
+ 0, 0, 0, 0, 0, 0, 7, 32, 46, 19,
+ 0, 8, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 0, 13, 26, 27, 28,
+ 29, 30, 0, 0, 5, 47, 45, 48, 46, 18,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 48, 0, 99, 0, 0, 0, 100, 101, 0,
- 0, 0, 0, 97, 0, 0, 0, 102, 0, 0,
- 0, 0, 48, 21, 14, 0, 43, 0, 49, 54,
- 51, 50, 52, 86, 90, 87, 47, 55, 98, 88,
- 0, 92, 93, 0, 0, 0, 56, 57, 72, 59,
- 60, 63, 70, 69, 61, 73, 58, 68, 74, 75,
- 67, 71, 64, 62, 65, 66, 76, 77, 53, 94,
- 0, 0, 89, 3, 46, 82, 96, 83, 85, 91,
- 79, 80, 81, 95, 78, 84
+ 31, 11, 24, 25, 48, 0, 0, 0, 12, 15,
+ 17, 0, 51, 33, 34, 43, 38, 44, 41, 40,
+ 42, 39, 35, 36, 37, 46, 22, 20, 21, 0,
+ 0, 105, 0, 0, 0, 0, 0, 0, 0, 0,
+ 51, 0, 109, 94, 0, 0, 110, 111, 112, 0,
+ 0, 0, 0, 106, 0, 0, 100, 113, 0, 0,
+ 0, 0, 51, 23, 14, 0, 46, 0, 52, 58,
+ 54, 53, 55, 91, 96, 56, 92, 50, 59, 108,
+ 93, 0, 98, 99, 0, 0, 0, 60, 61, 77,
+ 68, 63, 64, 67, 75, 74, 65, 78, 62, 73,
+ 79, 80, 72, 76, 69, 66, 70, 71, 81, 82,
+ 57, 101, 0, 0, 95, 3, 49, 87, 104, 88,
+ 0, 90, 97, 84, 85, 86, 103, 83, 89, 107,
+ 102
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -115, 194, -115, -9, -115, -102, 109, -114, -115
+ -123, 214, -123, -8, -123, -78, -67, -122, -123
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_uint8 yydefgoto[] =
{
- 0, 3, 4, 34, 35, 73, 97, 141, 142
+ 0, 3, 4, 35, 36, 77, 78, 151, 152
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -713,93 +747,100 @@ static const yytype_uint8 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_uint8 yytable[] =
{
- 111, 112, 113, 55, 114, 148, 143, 156, 51, 36,
- 115, 116, 117, 118, 119, 120, 6, 1, 37, 38,
- 121, 47, 39, 40, 122, 123, 71, 52, 194, 124,
- 125, 126, 127, 128, 2, 129, 130, 131, 132, 48,
- 133, 134, 135, 136, 196, 137, 60, 138, 139, 140,
- 56, 166, 149, 167, 168, 49, 50, 53, 54, 57,
- 58, 61, 59, 62, 63, 64, 169, 170, 171, 65,
- 66, 67, 68, 70, 172, 69, 173, 174, 175, 72,
- 89, 176, 74, 177, 178, 179, 180, 75, 181, 7,
- 8, 182, 76, 183, 184, 9, 185, 186, 77, 78,
- 79, 41, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 42, 19, 20, 21, 22, 23, 24, 25, 26,
- 80, 27, 28, 29, 30, 81, 43, 31, 32, 82,
- 83, 44, 84, 33, 45, 85, 86, 87, 46, 88,
- 90, 91, 92, 93, 94, 96, 95, 98, 99, 100,
- 101, 102, 103, 104, 109, 105, 106, 107, 110, 144,
- 145, 146, 193, 147, 150, 151, 152, 153, 154, 157,
- 155, 158, 159, 160, 161, 162, 163, 0, 164, 165,
- 187, 188, 189, 190, 191, 192, 195, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 5, 0, 108
+ 104, 120, 121, 122, 56, 123, 59, 158, 167, 52,
+ 103, 6, 124, 125, 126, 127, 128, 129, 164, 37,
+ 38, 130, 75, 39, 61, 131, 132, 115, 74, 76,
+ 206, 133, 134, 135, 136, 137, 138, 153, 139, 140,
+ 141, 142, 165, 143, 144, 145, 146, 1, 147, 63,
+ 148, 149, 150, 57, 40, 60, 159, 177, 41, 178,
+ 179, 42, 53, 64, 2, 49, 180, 50, 102, 51,
+ 54, 55, 58, 181, 182, 183, 62, 65, 208, 66,
+ 184, 67, 185, 186, 187, 68, 69, 70, 188, 71,
+ 189, 190, 191, 192, 73, 94, 193, 72, 76, 194,
+ 79, 195, 196, 80, 197, 198, 7, 8, 81, 82,
+ 83, 84, 9, 10, 75, 85, 86, 87, 88, 89,
+ 11, 12, 13, 14, 15, 16, 17, 18, 90, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 43, 28,
+ 29, 91, 30, 31, 92, 93, 32, 33, 0, 44,
+ 95, 96, 34, 97, 98, 99, 100, 101, 105, 106,
+ 107, 108, 109, 45, 110, 111, 112, 113, 114, 46,
+ 116, 117, 47, 118, 119, 154, 155, 48, 156, 168,
+ 205, 157, 160, 161, 162, 163, 166, 0, 0, 169,
+ 170, 171, 172, 173, 174, 175, 176, 199, 200, 201,
+ 202, 203, 204, 207, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 5
};
static const yytype_int16 yycheck[] =
{
- 5, 6, 7, 4, 9, 4, 108, 121, 17, 4,
- 15, 16, 17, 18, 19, 20, 0, 8, 4, 12,
- 25, 13, 12, 12, 29, 30, 35, 12, 142, 34,
- 35, 36, 37, 38, 25, 40, 41, 42, 43, 13,
- 45, 46, 47, 48, 146, 50, 12, 52, 53, 54,
- 51, 3, 51, 5, 6, 13, 13, 12, 12, 12,
- 4, 27, 12, 12, 4, 4, 18, 19, 20, 4,
- 4, 4, 4, 50, 26, 12, 28, 29, 30, 10,
- 4, 33, 12, 35, 36, 37, 38, 12, 40, 5,
- 6, 43, 12, 45, 46, 11, 48, 49, 12, 12,
- 12, 3, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 13, 28, 29, 30, 31, 32, 33, 34, 35,
- 12, 37, 38, 39, 40, 12, 28, 43, 44, 12,
- 12, 33, 12, 49, 36, 12, 12, 12, 40, 12,
- 12, 12, 12, 12, 12, 3, 25, 12, 12, 12,
- 12, 12, 12, 12, 4, 12, 12, 12, 12, 12,
- 12, 4, 55, 12, 12, 12, 12, 12, 12, 4,
- 12, 12, 12, 12, 12, 12, 12, -1, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 2, -1, 89
+ 78, 5, 6, 7, 4, 9, 4, 4, 130, 17,
+ 77, 0, 16, 17, 18, 19, 20, 21, 13, 4,
+ 4, 25, 3, 13, 4, 29, 30, 94, 36, 10,
+ 152, 35, 36, 37, 38, 39, 40, 115, 42, 43,
+ 44, 45, 37, 47, 48, 49, 50, 8, 52, 13,
+ 54, 55, 56, 53, 14, 53, 53, 3, 13, 5,
+ 6, 13, 13, 27, 25, 14, 12, 14, 25, 14,
+ 13, 13, 13, 19, 20, 21, 13, 13, 156, 4,
+ 26, 4, 28, 29, 30, 4, 4, 4, 34, 4,
+ 36, 37, 38, 39, 52, 4, 42, 13, 10, 45,
+ 13, 47, 48, 13, 50, 51, 5, 6, 13, 13,
+ 13, 13, 11, 12, 3, 13, 13, 13, 13, 13,
+ 19, 20, 21, 22, 23, 24, 25, 26, 13, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 3, 38,
+ 39, 13, 41, 42, 13, 13, 45, 46, -1, 14,
+ 13, 13, 51, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 28, 13, 13, 13, 13, 13, 34,
+ 4, 4, 37, 13, 13, 13, 13, 42, 4, 4,
+ 57, 13, 13, 13, 13, 13, 13, -1, -1, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 2
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
state STATE-NUM. */
static const yytype_int8 yystos[] =
{
- 0, 8, 25, 59, 60, 59, 0, 5, 6, 11,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 28,
- 29, 30, 31, 32, 33, 34, 35, 37, 38, 39,
- 40, 43, 44, 49, 61, 62, 4, 4, 12, 12,
- 12, 3, 13, 28, 33, 36, 40, 13, 13, 13,
- 13, 61, 12, 12, 12, 4, 51, 12, 4, 12,
- 12, 27, 12, 4, 4, 4, 4, 4, 4, 12,
- 50, 61, 10, 63, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 4,
- 12, 12, 12, 12, 12, 25, 3, 64, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 64, 4,
- 12, 5, 6, 7, 9, 15, 16, 17, 18, 19,
- 20, 25, 29, 30, 34, 35, 36, 37, 38, 40,
- 41, 42, 43, 45, 46, 47, 48, 50, 52, 53,
- 54, 65, 66, 63, 12, 12, 4, 12, 4, 51,
- 12, 12, 12, 12, 12, 12, 65, 4, 12, 12,
- 12, 12, 12, 12, 12, 12, 3, 5, 6, 18,
- 19, 20, 26, 28, 29, 30, 33, 35, 36, 37,
- 38, 40, 43, 45, 46, 48, 49, 12, 12, 12,
- 12, 12, 12, 55, 65, 12, 63, 12, 12, 12,
- 12, 12, 12, 12, 12, 12
+ 0, 8, 25, 61, 62, 61, 0, 5, 6, 11,
+ 12, 19, 20, 21, 22, 23, 24, 25, 26, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 38, 39,
+ 41, 42, 45, 46, 51, 63, 64, 4, 4, 13,
+ 14, 13, 13, 3, 14, 28, 34, 37, 42, 14,
+ 14, 14, 63, 13, 13, 13, 4, 53, 13, 4,
+ 53, 4, 13, 13, 27, 13, 4, 4, 4, 4,
+ 4, 4, 13, 52, 63, 3, 10, 65, 66, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 4, 13, 13, 13, 13, 13,
+ 13, 13, 25, 66, 65, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 66, 4, 4, 13, 13,
+ 5, 6, 7, 9, 16, 17, 18, 19, 20, 21,
+ 25, 29, 30, 35, 36, 37, 38, 39, 40, 42,
+ 43, 44, 45, 47, 48, 49, 50, 52, 54, 55,
+ 56, 67, 68, 65, 13, 13, 4, 13, 4, 53,
+ 13, 13, 13, 13, 13, 37, 13, 67, 4, 13,
+ 13, 13, 13, 13, 13, 13, 13, 3, 5, 6,
+ 12, 19, 20, 21, 26, 28, 29, 30, 34, 36,
+ 37, 38, 39, 42, 45, 47, 48, 50, 51, 13,
+ 13, 13, 13, 13, 13, 57, 67, 13, 65, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_int8 yyr1[] =
{
- 0, 58, 60, 59, 59, 61, 61, 61, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 63, 63, 64, 64, 65, 65, 65, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66
+ 0, 60, 62, 61, 61, 63, 63, 63, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 65, 65, 66, 66, 67,
+ 67, 67, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
@@ -807,15 +848,16 @@ static const yytype_int8 yyr2[] =
{
0, 2, 0, 7, 2, 2, 2, 0, 2, 2,
2, 3, 3, 2, 5, 3, 2, 3, 3, 2,
- 4, 5, 3, 3, 2, 2, 2, 2, 2, 3,
- 2, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 1, 0, 1, 0, 2, 2, 0, 2,
+ 4, 4, 4, 5, 3, 3, 2, 2, 2, 2,
+ 2, 3, 2, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 1, 0, 1, 0, 2,
+ 2, 0, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
- 2, 3, 2, 2, 2, 3, 3, 1, 2, 1,
- 1, 1, 1
+ 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
+ 3, 2, 2, 2, 1, 2, 2, 3, 2, 2,
+ 1, 2, 4, 3, 3, 1, 1, 4, 2, 1,
+ 1, 1, 1, 1
};
@@ -1279,99 +1321,99 @@ yyreduce:
switch (yyn)
{
case 2: /* $@1: %empty */
-#line 78 "engines/hypno/grammar_arc.y"
+#line 104 "engines/hypno/grammar_arc.y"
{ g_parsedArc->mode = (yyvsp[0].s); }
-#line 1285 "engines/hypno/grammar_arc.cpp"
+#line 1327 "engines/hypno/grammar_arc.cpp"
break;
case 8: /* hline: CTOK NUM */
-#line 87 "engines/hypno/grammar_arc.y"
+#line 113 "engines/hypno/grammar_arc.y"
{
g_parsedArc->id = (yyvsp[0].i);
HYPNO_ARC_default_sound_rate = 0;
debugC(1, kHypnoDebugParser, "C %d", (yyvsp[0].i)); }
-#line 1294 "engines/hypno/grammar_arc.cpp"
+#line 1336 "engines/hypno/grammar_arc.cpp"
break;
case 9: /* hline: FTOK NUM */
-#line 91 "engines/hypno/grammar_arc.y"
+#line 117 "engines/hypno/grammar_arc.y"
{
HYPNO_ARC_default_sound_rate = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "F %d", (yyvsp[0].i));
}
-#line 1303 "engines/hypno/grammar_arc.cpp"
+#line 1345 "engines/hypno/grammar_arc.cpp"
break;
case 10: /* hline: DTOK NUM */
-#line 95 "engines/hypno/grammar_arc.y"
+#line 121 "engines/hypno/grammar_arc.y"
{
g_parsedArc->frameDelay = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "D %d", (yyvsp[0].i));
}
-#line 1312 "engines/hypno/grammar_arc.cpp"
+#line 1354 "engines/hypno/grammar_arc.cpp"
break;
case 11: /* hline: PTOK NUM NUM */
-#line 99 "engines/hypno/grammar_arc.y"
+#line 125 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "P %d %d", (yyvsp[-1].i), (yyvsp[0].i)); }
-#line 1318 "engines/hypno/grammar_arc.cpp"
+#line 1360 "engines/hypno/grammar_arc.cpp"
break;
case 12: /* hline: ATOK NUM NUM */
-#line 100 "engines/hypno/grammar_arc.y"
+#line 126 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "A %d %d", (yyvsp[-1].i), (yyvsp[0].i)); }
-#line 1324 "engines/hypno/grammar_arc.cpp"
+#line 1366 "engines/hypno/grammar_arc.cpp"
break;
case 13: /* hline: MTOK FILENAME */
-#line 101 "engines/hypno/grammar_arc.y"
+#line 127 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "M %s", (yyvsp[0].s));
g_parsedArc->maskVideo = (yyvsp[0].s);
}
-#line 1333 "engines/hypno/grammar_arc.cpp"
+#line 1375 "engines/hypno/grammar_arc.cpp"
break;
case 14: /* hline: UTOK NUM NUM NUM NUM */
-#line 105 "engines/hypno/grammar_arc.y"
+#line 131 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "U %d %d %d %d", (yyvsp[-3].i), (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
ScriptInfo si((yyvsp[-3].i), (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
g_parsedArc->script.push_back(si);
}
-#line 1343 "engines/hypno/grammar_arc.cpp"
+#line 1385 "engines/hypno/grammar_arc.cpp"
break;
case 15: /* hline: VTOK NUM NUM */
-#line 110 "engines/hypno/grammar_arc.y"
+#line 136 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "V %d %d", (yyvsp[-1].i), (yyvsp[0].i));
g_parsedArc->mouseBox = Common::Rect(0, 0, (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1352 "engines/hypno/grammar_arc.cpp"
+#line 1394 "engines/hypno/grammar_arc.cpp"
break;
case 16: /* hline: VTOK RESTOK */
-#line 114 "engines/hypno/grammar_arc.y"
+#line 140 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "V 320,200");
g_parsedArc->mouseBox = Common::Rect(0, 0, 320, 200);
}
-#line 1361 "engines/hypno/grammar_arc.cpp"
+#line 1403 "engines/hypno/grammar_arc.cpp"
break;
case 17: /* hline: OTOK NUM NUM */
-#line 118 "engines/hypno/grammar_arc.y"
+#line 144 "engines/hypno/grammar_arc.y"
{
g_parsedArc->objKillsRequired[0] = (yyvsp[-1].i);
g_parsedArc->objMissesAllowed[0] = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "O %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1371 "engines/hypno/grammar_arc.cpp"
+#line 1413 "engines/hypno/grammar_arc.cpp"
break;
case 18: /* hline: ONTOK NUM NUM */
-#line 123 "engines/hypno/grammar_arc.y"
+#line 149 "engines/hypno/grammar_arc.y"
{
if (Common::String("O0") == (yyvsp[-2].s)) {
g_parsedArc->objKillsRequired[0] = (yyvsp[-1].i);
@@ -1382,11 +1424,11 @@ yyreduce:
} else
error("Invalid objective: '%s'", (yyvsp[-2].s));
debugC(1, kHypnoDebugParser, "ON %d %d", (yyvsp[-1].i), (yyvsp[0].i)); }
-#line 1386 "engines/hypno/grammar_arc.cpp"
+#line 1428 "engines/hypno/grammar_arc.cpp"
break;
case 19: /* hline: ONTOK NUM */
-#line 133 "engines/hypno/grammar_arc.y"
+#line 159 "engines/hypno/grammar_arc.y"
{
if (Common::String("O0") == (yyvsp[-1].s)) {
g_parsedArc->objKillsRequired[0] = (yyvsp[0].i);
@@ -1396,96 +1438,114 @@ yyreduce:
error("Invalid objective: '%s'", (yyvsp[-1].s));
debugC(1, kHypnoDebugParser, "ON %d", (yyvsp[0].i));
}
-#line 1400 "engines/hypno/grammar_arc.cpp"
+#line 1442 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 20: /* hline: TPTOK NONETOK NUM FILENAME */
+#line 168 "engines/hypno/grammar_arc.y"
+ {
+ ArcadeTransition at("NONE", (yyvsp[0].s), "", (yyvsp[-1].i));
+ g_parsedArc->transitions.push_back(at);
+ debugC(1, kHypnoDebugParser, "Tp %s %d %s", "NONE", (yyvsp[-1].i), (yyvsp[0].s));
+ }
+#line 1452 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 21: /* hline: TSTOK FILENAME NUM NUM */
+#line 173 "engines/hypno/grammar_arc.y"
+ {
+ debugC(1, kHypnoDebugParser, "Ts %s %d %d", (yyvsp[-2].s), (yyvsp[-1].i), (yyvsp[0].i));
+ }
+#line 1460 "engines/hypno/grammar_arc.cpp"
break;
- case 20: /* hline: TPTOK FILENAME NUM FILENAME */
-#line 142 "engines/hypno/grammar_arc.y"
+ case 22: /* hline: TPTOK FILENAME NUM FILENAME */
+#line 176 "engines/hypno/grammar_arc.y"
{
ArcadeTransition at((yyvsp[-2].s), (yyvsp[0].s), "", (yyvsp[-1].i));
g_parsedArc->transitions.push_back(at);
debugC(1, kHypnoDebugParser, "Tp %s %d %s", (yyvsp[-2].s), (yyvsp[-1].i), (yyvsp[0].s));
}
-#line 1410 "engines/hypno/grammar_arc.cpp"
+#line 1470 "engines/hypno/grammar_arc.cpp"
break;
- case 21: /* hline: TATOK NUM FILENAME flag enc */
-#line 147 "engines/hypno/grammar_arc.y"
+ case 23: /* hline: TATOK NUM FILENAME flag enc */
+#line 181 "engines/hypno/grammar_arc.y"
{
ArcadeTransition at("", "", (yyvsp[-2].s), (yyvsp[-3].i));
g_parsedArc->transitions.push_back(at);
debugC(1, kHypnoDebugParser, "Ta %d %s", (yyvsp[-3].i), (yyvsp[-2].s));
}
-#line 1420 "engines/hypno/grammar_arc.cpp"
+#line 1480 "engines/hypno/grammar_arc.cpp"
break;
- case 22: /* hline: TTOK FILENAME NUM */
-#line 152 "engines/hypno/grammar_arc.y"
+ case 24: /* hline: TTOK FILENAME NUM */
+#line 186 "engines/hypno/grammar_arc.y"
{
ArcadeTransition at((yyvsp[-1].s), "", "", (yyvsp[0].i));
g_parsedArc->transitions.push_back(at);
debugC(1, kHypnoDebugParser, "T %s %d", (yyvsp[-1].s), (yyvsp[0].i));
}
-#line 1430 "engines/hypno/grammar_arc.cpp"
+#line 1490 "engines/hypno/grammar_arc.cpp"
break;
- case 23: /* hline: TTOK NONETOK NUM */
-#line 157 "engines/hypno/grammar_arc.y"
+ case 25: /* hline: TTOK NONETOK NUM */
+#line 191 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "T NONE %d", (yyvsp[0].i)); }
-#line 1436 "engines/hypno/grammar_arc.cpp"
+#line 1496 "engines/hypno/grammar_arc.cpp"
break;
- case 24: /* hline: NTOK FILENAME */
-#line 158 "engines/hypno/grammar_arc.y"
+ case 26: /* hline: NTOK FILENAME */
+#line 192 "engines/hypno/grammar_arc.y"
{
g_parsedArc->backgroundVideo = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "N %s", (yyvsp[0].s));
}
-#line 1445 "engines/hypno/grammar_arc.cpp"
+#line 1505 "engines/hypno/grammar_arc.cpp"
break;
- case 25: /* hline: NSTOK FILENAME */
-#line 162 "engines/hypno/grammar_arc.y"
+ case 27: /* hline: NSTOK FILENAME */
+#line 196 "engines/hypno/grammar_arc.y"
{
g_parsedArc->backgroundVideo = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "N* %s", (yyvsp[0].s));
}
-#line 1454 "engines/hypno/grammar_arc.cpp"
+#line 1514 "engines/hypno/grammar_arc.cpp"
break;
- case 26: /* hline: RTOK FILENAME */
-#line 166 "engines/hypno/grammar_arc.y"
+ case 28: /* hline: RTOK FILENAME */
+#line 200 "engines/hypno/grammar_arc.y"
{
g_parsedArc->backgroundPalette = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "R %s", (yyvsp[0].s)); }
-#line 1462 "engines/hypno/grammar_arc.cpp"
+#line 1522 "engines/hypno/grammar_arc.cpp"
break;
- case 27: /* hline: ITOK FILENAME */
-#line 169 "engines/hypno/grammar_arc.y"
+ case 29: /* hline: ITOK FILENAME */
+#line 203 "engines/hypno/grammar_arc.y"
{
g_parsedArc->player = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "I %s", (yyvsp[0].s));
}
-#line 1471 "engines/hypno/grammar_arc.cpp"
+#line 1531 "engines/hypno/grammar_arc.cpp"
break;
- case 28: /* hline: I1TOK FILENAME */
-#line 173 "engines/hypno/grammar_arc.y"
+ case 30: /* hline: I1TOK FILENAME */
+#line 207 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "I1 %s", (yyvsp[0].s));
}
-#line 1479 "engines/hypno/grammar_arc.cpp"
+#line 1539 "engines/hypno/grammar_arc.cpp"
break;
- case 29: /* hline: QTOK NUM NUM */
-#line 176 "engines/hypno/grammar_arc.y"
+ case 31: /* hline: QTOK NUM NUM */
+#line 210 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "Q %d %d", (yyvsp[-1].i), (yyvsp[0].i)); }
-#line 1485 "engines/hypno/grammar_arc.cpp"
+#line 1545 "engines/hypno/grammar_arc.cpp"
break;
- case 30: /* hline: BNTOK FILENAME */
-#line 177 "engines/hypno/grammar_arc.y"
+ case 32: /* hline: BNTOK FILENAME */
+#line 211 "engines/hypno/grammar_arc.y"
{
if (Common::String("B0") == (yyvsp[-1].s))
g_parsedArc->beforeVideo = (yyvsp[0].s);
@@ -1514,167 +1574,153 @@ yyreduce:
debugC(1, kHypnoDebugParser, "BN %s", (yyvsp[0].s));
}
-#line 1518 "engines/hypno/grammar_arc.cpp"
+#line 1578 "engines/hypno/grammar_arc.cpp"
break;
- case 31: /* hline: SNTOK FILENAME enc flag */
-#line 205 "engines/hypno/grammar_arc.y"
+ case 33: /* hline: SNTOK FILENAME enc flag */
+#line 239 "engines/hypno/grammar_arc.y"
{
- uint32 sampleRate = 11025;
- if (Common::String("22K") == (yyvsp[-1].s) || Common::String("22k") == (yyvsp[-1].s))
- sampleRate = 22050;
- else if (HYPNO_ARC_default_sound_rate > 0)
- sampleRate = HYPNO_ARC_default_sound_rate;
-
- if (Common::String("S0") == (yyvsp[-3].s)) {
- g_parsedArc->music = (yyvsp[-2].s);
- g_parsedArc->musicRate = sampleRate;
- } else if (Common::String("S1") == (yyvsp[-3].s)) {
- g_parsedArc->shootSound = (yyvsp[-2].s);
- g_parsedArc->shootSoundRate = sampleRate;
- } else if (Common::String("S2") == (yyvsp[-3].s)) {
- g_parsedArc->hitSound = (yyvsp[-2].s);
- g_parsedArc->hitSoundRate = sampleRate;
- } else if (Common::String("S4") == (yyvsp[-3].s)) {
- g_parsedArc->enemySound = (yyvsp[-2].s);
- g_parsedArc->enemySoundRate = sampleRate;
- } else if (Common::String("S5") == (yyvsp[-3].s)) {
- g_parsedArc->additionalSound = (yyvsp[-2].s);
- g_parsedArc->additionalSoundRate = sampleRate;
- }
- debugC(1, kHypnoDebugParser, "SN %s", (yyvsp[-2].s));
- }
-#line 1548 "engines/hypno/grammar_arc.cpp"
- break;
-
- case 32: /* hline: HETOK BYTE NUM NUM */
-#line 230 "engines/hypno/grammar_arc.y"
+ parseSN((yyvsp[-3].s), (yyvsp[-2].s), (yyvsp[-1].s), (yyvsp[0].s));
+ }
+#line 1586 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 34: /* hline: SNTOK FILENAME flag enc */
+#line 242 "engines/hypno/grammar_arc.y"
+ {
+ parseSN((yyvsp[-3].s), (yyvsp[-2].s), (yyvsp[0].s), (yyvsp[-1].s));
+ }
+#line 1594 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 35: /* hline: HETOK BYTE NUM NUM */
+#line 245 "engines/hypno/grammar_arc.y"
{
Segment segment((yyvsp[-2].i), (yyvsp[0].i), (yyvsp[-1].i));
segment.end = true;
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "HE %x %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1559 "engines/hypno/grammar_arc.cpp"
+#line 1605 "engines/hypno/grammar_arc.cpp"
break;
- case 33: /* hline: HLTOK BYTE NUM NUM */
-#line 236 "engines/hypno/grammar_arc.y"
+ case 36: /* hline: HLTOK BYTE NUM NUM */
+#line 251 "engines/hypno/grammar_arc.y"
{
Segment segment((yyvsp[-2].i), (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "HL %x %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1569 "engines/hypno/grammar_arc.cpp"
+#line 1615 "engines/hypno/grammar_arc.cpp"
break;
- case 34: /* hline: HUTOK BYTE NUM NUM */
-#line 241 "engines/hypno/grammar_arc.y"
+ case 37: /* hline: HUTOK BYTE NUM NUM */
+#line 256 "engines/hypno/grammar_arc.y"
{
Segment segment((yyvsp[-2].i), (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "HU %x %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1579 "engines/hypno/grammar_arc.cpp"
+#line 1625 "engines/hypno/grammar_arc.cpp"
break;
- case 35: /* hline: HTOK NAME NUM NUM */
-#line 246 "engines/hypno/grammar_arc.y"
+ case 38: /* hline: HTOK NAME NUM NUM */
+#line 261 "engines/hypno/grammar_arc.y"
{
assert(Common::String((yyvsp[-2].s)).size() == 1);
Segment segment((yyvsp[-2].s)[0], (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "H %s %d %d", (yyvsp[-2].s), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1590 "engines/hypno/grammar_arc.cpp"
+#line 1636 "engines/hypno/grammar_arc.cpp"
break;
- case 36: /* hline: HTOK RTOK NUM NUM */
-#line 252 "engines/hypno/grammar_arc.y"
+ case 39: /* hline: HTOK RTOK NUM NUM */
+#line 267 "engines/hypno/grammar_arc.y"
{ // Workaround for BYTE == R
Segment segment('R', (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "H R %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1600 "engines/hypno/grammar_arc.cpp"
+#line 1646 "engines/hypno/grammar_arc.cpp"
break;
- case 37: /* hline: HTOK ATOK NUM NUM */
-#line 257 "engines/hypno/grammar_arc.y"
+ case 40: /* hline: HTOK ATOK NUM NUM */
+#line 272 "engines/hypno/grammar_arc.y"
{ // Workaround for BYTE == A
Segment segment('A', (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "H A %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1610 "engines/hypno/grammar_arc.cpp"
+#line 1656 "engines/hypno/grammar_arc.cpp"
break;
- case 38: /* hline: HTOK PTOK NUM NUM */
-#line 262 "engines/hypno/grammar_arc.y"
+ case 41: /* hline: HTOK PTOK NUM NUM */
+#line 277 "engines/hypno/grammar_arc.y"
{ // Workaround for BYTE == P
Segment segment('P', (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "H P %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1620 "engines/hypno/grammar_arc.cpp"
+#line 1666 "engines/hypno/grammar_arc.cpp"
break;
- case 39: /* hline: HTOK LTOK NUM NUM */
-#line 267 "engines/hypno/grammar_arc.y"
+ case 42: /* hline: HTOK LTOK NUM NUM */
+#line 282 "engines/hypno/grammar_arc.y"
{ // Workaround for BYTE == P
Segment segment('L', (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "H P %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1630 "engines/hypno/grammar_arc.cpp"
+#line 1676 "engines/hypno/grammar_arc.cpp"
break;
- case 40: /* hline: H12TOK BYTE NUM NUM */
-#line 272 "engines/hypno/grammar_arc.y"
+ case 43: /* hline: H12TOK BYTE NUM NUM */
+#line 287 "engines/hypno/grammar_arc.y"
{
Segment segment((yyvsp[-2].i), (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "HN %x %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1640 "engines/hypno/grammar_arc.cpp"
+#line 1686 "engines/hypno/grammar_arc.cpp"
break;
- case 41: /* hline: HTOK BYTE NUM NUM */
-#line 277 "engines/hypno/grammar_arc.y"
+ case 44: /* hline: HTOK BYTE NUM NUM */
+#line 292 "engines/hypno/grammar_arc.y"
{
Segment segment((yyvsp[-2].i), (yyvsp[0].i), (yyvsp[-1].i));
g_parsedArc->segments.push_back(segment);
debugC(1, kHypnoDebugParser, "H %x %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1650 "engines/hypno/grammar_arc.cpp"
+#line 1696 "engines/hypno/grammar_arc.cpp"
break;
- case 42: /* enc: ENCTOK */
-#line 284 "engines/hypno/grammar_arc.y"
+ case 45: /* enc: ENCTOK */
+#line 299 "engines/hypno/grammar_arc.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 1656 "engines/hypno/grammar_arc.cpp"
+#line 1702 "engines/hypno/grammar_arc.cpp"
break;
- case 43: /* enc: %empty */
-#line 285 "engines/hypno/grammar_arc.y"
+ case 46: /* enc: %empty */
+#line 300 "engines/hypno/grammar_arc.y"
{ (yyval.s) = scumm_strdup(""); }
-#line 1662 "engines/hypno/grammar_arc.cpp"
+#line 1708 "engines/hypno/grammar_arc.cpp"
break;
- case 44: /* flag: NAME */
-#line 288 "engines/hypno/grammar_arc.y"
+ case 47: /* flag: NAME */
+#line 303 "engines/hypno/grammar_arc.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 1668 "engines/hypno/grammar_arc.cpp"
+#line 1714 "engines/hypno/grammar_arc.cpp"
break;
- case 45: /* flag: %empty */
-#line 289 "engines/hypno/grammar_arc.y"
+ case 48: /* flag: %empty */
+#line 304 "engines/hypno/grammar_arc.y"
{ (yyval.s) = scumm_strdup(""); }
-#line 1674 "engines/hypno/grammar_arc.cpp"
+#line 1720 "engines/hypno/grammar_arc.cpp"
break;
- case 49: /* bline: FNTOK FILENAME */
-#line 297 "engines/hypno/grammar_arc.y"
+ case 52: /* bline: FNTOK FILENAME */
+#line 312 "engines/hypno/grammar_arc.y"
{
shoot = new Shoot();
if (Common::String("F0") == (yyvsp[-1].s))
@@ -1683,421 +1729,457 @@ yyreduce:
shoot->explosionAnimation = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "FN %s", (yyvsp[0].s));
}
-#line 1687 "engines/hypno/grammar_arc.cpp"
+#line 1733 "engines/hypno/grammar_arc.cpp"
break;
- case 50: /* bline: AVTOK NUM */
-#line 305 "engines/hypno/grammar_arc.y"
+ case 53: /* bline: AVTOK NUM */
+#line 320 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "AV %d", (yyvsp[0].i));
}
-#line 1695 "engines/hypno/grammar_arc.cpp"
+#line 1741 "engines/hypno/grammar_arc.cpp"
break;
- case 51: /* bline: ALTOK NUM */
-#line 308 "engines/hypno/grammar_arc.y"
+ case 54: /* bline: ALTOK NUM */
+#line 323 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "AL %d", (yyvsp[0].i));
}
-#line 1703 "engines/hypno/grammar_arc.cpp"
+#line 1749 "engines/hypno/grammar_arc.cpp"
break;
- case 52: /* bline: ABTOK NUM */
-#line 311 "engines/hypno/grammar_arc.y"
+ case 55: /* bline: ABTOK NUM */
+#line 326 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "AB %d", (yyvsp[0].i));
}
-#line 1711 "engines/hypno/grammar_arc.cpp"
+#line 1757 "engines/hypno/grammar_arc.cpp"
break;
- case 53: /* bline: J0TOK NUM */
-#line 314 "engines/hypno/grammar_arc.y"
+ case 56: /* bline: DTOK LTOK */
+#line 329 "engines/hypno/grammar_arc.y"
+ { debugC(1, kHypnoDebugParser, "D L");
+ }
+#line 1764 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 57: /* bline: J0TOK NUM */
+#line 331 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "J0 %d", (yyvsp[0].i));
}
-#line 1719 "engines/hypno/grammar_arc.cpp"
+#line 1772 "engines/hypno/grammar_arc.cpp"
break;
- case 54: /* bline: FNTOK NONETOK */
-#line 317 "engines/hypno/grammar_arc.y"
+ case 58: /* bline: FNTOK NONETOK */
+#line 334 "engines/hypno/grammar_arc.y"
{
shoot = new Shoot();
shoot->animation = "NONE";
debugC(1, kHypnoDebugParser, "FN NONE");
}
-#line 1729 "engines/hypno/grammar_arc.cpp"
+#line 1782 "engines/hypno/grammar_arc.cpp"
break;
- case 55: /* bline: FTOK FILENAME */
-#line 322 "engines/hypno/grammar_arc.y"
+ case 59: /* bline: FTOK FILENAME */
+#line 339 "engines/hypno/grammar_arc.y"
{
shoot = new Shoot();
shoot->animation = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "FN %s", (yyvsp[0].s));
}
-#line 1739 "engines/hypno/grammar_arc.cpp"
+#line 1792 "engines/hypno/grammar_arc.cpp"
break;
- case 56: /* bline: ITOK NAME */
-#line 327 "engines/hypno/grammar_arc.y"
+ case 60: /* bline: ITOK NAME */
+#line 344 "engines/hypno/grammar_arc.y"
{
shoot->name = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "I %s", (yyvsp[0].s));
}
-#line 1748 "engines/hypno/grammar_arc.cpp"
+#line 1801 "engines/hypno/grammar_arc.cpp"
break;
- case 57: /* bline: ITOK BNTOK */
-#line 331 "engines/hypno/grammar_arc.y"
+ case 61: /* bline: ITOK BNTOK */
+#line 348 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == B1
shoot->name = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "I %s", (yyvsp[0].s));
}
-#line 1757 "engines/hypno/grammar_arc.cpp"
+#line 1810 "engines/hypno/grammar_arc.cpp"
break;
- case 58: /* bline: ITOK ATOK */
-#line 335 "engines/hypno/grammar_arc.y"
+ case 62: /* bline: ITOK ATOK */
+#line 352 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == A
shoot->name = "A";
debugC(1, kHypnoDebugParser, "I A");
}
-#line 1766 "engines/hypno/grammar_arc.cpp"
+#line 1819 "engines/hypno/grammar_arc.cpp"
break;
- case 59: /* bline: ITOK CTOK */
-#line 339 "engines/hypno/grammar_arc.y"
+ case 63: /* bline: ITOK CTOK */
+#line 356 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == C
shoot->name = "C";
debugC(1, kHypnoDebugParser, "I C");
}
-#line 1775 "engines/hypno/grammar_arc.cpp"
+#line 1828 "engines/hypno/grammar_arc.cpp"
break;
- case 60: /* bline: ITOK DTOK */
-#line 343 "engines/hypno/grammar_arc.y"
+ case 64: /* bline: ITOK DTOK */
+#line 360 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == D
shoot->name = "D";
debugC(1, kHypnoDebugParser, "I D");
}
-#line 1784 "engines/hypno/grammar_arc.cpp"
+#line 1837 "engines/hypno/grammar_arc.cpp"
break;
- case 61: /* bline: ITOK FTOK */
-#line 347 "engines/hypno/grammar_arc.y"
+ case 65: /* bline: ITOK FTOK */
+#line 364 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == F
shoot->name = "F";
debugC(1, kHypnoDebugParser, "I F");
}
-#line 1793 "engines/hypno/grammar_arc.cpp"
+#line 1846 "engines/hypno/grammar_arc.cpp"
break;
- case 62: /* bline: ITOK GTOK */
-#line 351 "engines/hypno/grammar_arc.y"
+ case 66: /* bline: ITOK GTOK */
+#line 368 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == G
shoot->name = "G";
debugC(1, kHypnoDebugParser, "I G");
}
-#line 1802 "engines/hypno/grammar_arc.cpp"
+#line 1855 "engines/hypno/grammar_arc.cpp"
break;
- case 63: /* bline: ITOK HTOK */
-#line 355 "engines/hypno/grammar_arc.y"
+ case 67: /* bline: ITOK HTOK */
+#line 372 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == H
shoot->name = "H";
debugC(1, kHypnoDebugParser, "I H");
}
-#line 1811 "engines/hypno/grammar_arc.cpp"
+#line 1864 "engines/hypno/grammar_arc.cpp"
break;
- case 64: /* bline: ITOK ITOK */
-#line 359 "engines/hypno/grammar_arc.y"
+ case 68: /* bline: ITOK H12TOK */
+#line 376 "engines/hypno/grammar_arc.y"
+ { // Workaround for NAME == H1/H2
+ shoot->name = (yyvsp[0].s);
+ debugC(1, kHypnoDebugParser, "I %s", (yyvsp[0].s));
+ }
+#line 1873 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 69: /* bline: ITOK ITOK */
+#line 380 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == I
shoot->name = "I";
debugC(1, kHypnoDebugParser, "I I");
}
-#line 1820 "engines/hypno/grammar_arc.cpp"
+#line 1882 "engines/hypno/grammar_arc.cpp"
break;
- case 65: /* bline: ITOK JTOK */
-#line 363 "engines/hypno/grammar_arc.y"
+ case 70: /* bline: ITOK JTOK */
+#line 384 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == J
shoot->name = "J";
debugC(1, kHypnoDebugParser, "I J");
}
-#line 1829 "engines/hypno/grammar_arc.cpp"
+#line 1891 "engines/hypno/grammar_arc.cpp"
break;
- case 66: /* bline: ITOK KTOK */
-#line 367 "engines/hypno/grammar_arc.y"
+ case 71: /* bline: ITOK KTOK */
+#line 388 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == K
shoot->name = "K";
debugC(1, kHypnoDebugParser, "I K");
}
-#line 1838 "engines/hypno/grammar_arc.cpp"
+#line 1900 "engines/hypno/grammar_arc.cpp"
break;
- case 67: /* bline: ITOK NTOK */
-#line 371 "engines/hypno/grammar_arc.y"
+ case 72: /* bline: ITOK NTOK */
+#line 392 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == N
shoot->name = "N";
debugC(1, kHypnoDebugParser, "I N");
}
-#line 1847 "engines/hypno/grammar_arc.cpp"
+#line 1909 "engines/hypno/grammar_arc.cpp"
break;
- case 68: /* bline: ITOK OTOK */
-#line 375 "engines/hypno/grammar_arc.y"
+ case 73: /* bline: ITOK OTOK */
+#line 396 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == O
shoot->name = "O";
debugC(1, kHypnoDebugParser, "I O");
}
-#line 1856 "engines/hypno/grammar_arc.cpp"
+#line 1918 "engines/hypno/grammar_arc.cpp"
break;
- case 69: /* bline: ITOK PTOK */
-#line 379 "engines/hypno/grammar_arc.y"
+ case 74: /* bline: ITOK PTOK */
+#line 400 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == P
shoot->name = "P";
debugC(1, kHypnoDebugParser, "I P");
}
-#line 1865 "engines/hypno/grammar_arc.cpp"
+#line 1927 "engines/hypno/grammar_arc.cpp"
break;
- case 70: /* bline: ITOK QTOK */
-#line 383 "engines/hypno/grammar_arc.y"
+ case 75: /* bline: ITOK QTOK */
+#line 404 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == Q
shoot->name = "Q";
debugC(1, kHypnoDebugParser, "I Q");
}
-#line 1874 "engines/hypno/grammar_arc.cpp"
+#line 1936 "engines/hypno/grammar_arc.cpp"
break;
- case 71: /* bline: ITOK RTOK */
-#line 387 "engines/hypno/grammar_arc.y"
+ case 76: /* bline: ITOK RTOK */
+#line 408 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == R
shoot->name = "R";
debugC(1, kHypnoDebugParser, "I R");
}
-#line 1883 "engines/hypno/grammar_arc.cpp"
+#line 1945 "engines/hypno/grammar_arc.cpp"
break;
- case 72: /* bline: ITOK SNTOK */
-#line 391 "engines/hypno/grammar_arc.y"
+ case 77: /* bline: ITOK SNTOK */
+#line 412 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == S1
shoot->name = (yyvsp[0].s);
debugC(1, kHypnoDebugParser, "I %s", (yyvsp[0].s));
}
-#line 1892 "engines/hypno/grammar_arc.cpp"
+#line 1954 "engines/hypno/grammar_arc.cpp"
break;
- case 73: /* bline: ITOK TTOK */
-#line 395 "engines/hypno/grammar_arc.y"
+ case 78: /* bline: ITOK TTOK */
+#line 416 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == T
shoot->name = "T";
debugC(1, kHypnoDebugParser, "I T");
}
-#line 1901 "engines/hypno/grammar_arc.cpp"
+#line 1963 "engines/hypno/grammar_arc.cpp"
break;
- case 74: /* bline: ITOK LTOK */
-#line 399 "engines/hypno/grammar_arc.y"
+ case 79: /* bline: ITOK LTOK */
+#line 420 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == L
shoot->name = "L";
debugC(1, kHypnoDebugParser, "I L");
}
-#line 1910 "engines/hypno/grammar_arc.cpp"
+#line 1972 "engines/hypno/grammar_arc.cpp"
break;
- case 75: /* bline: ITOK MTOK */
-#line 403 "engines/hypno/grammar_arc.y"
+ case 80: /* bline: ITOK MTOK */
+#line 424 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == M
shoot->name = "M";
debugC(1, kHypnoDebugParser, "I M");
}
-#line 1919 "engines/hypno/grammar_arc.cpp"
+#line 1981 "engines/hypno/grammar_arc.cpp"
break;
- case 76: /* bline: ITOK UTOK */
-#line 407 "engines/hypno/grammar_arc.y"
+ case 81: /* bline: ITOK UTOK */
+#line 428 "engines/hypno/grammar_arc.y"
{ // Workaround for NAME == U
shoot->name = "U";
debugC(1, kHypnoDebugParser, "I U");
}
-#line 1928 "engines/hypno/grammar_arc.cpp"
+#line 1990 "engines/hypno/grammar_arc.cpp"
break;
- case 77: /* bline: JTOK NUM */
-#line 411 "engines/hypno/grammar_arc.y"
+ case 82: /* bline: JTOK NUM */
+#line 432 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "J %d", (yyvsp[0].i));
}
-#line 1936 "engines/hypno/grammar_arc.cpp"
+#line 1998 "engines/hypno/grammar_arc.cpp"
break;
- case 78: /* bline: A0TOK NUM NUM */
-#line 414 "engines/hypno/grammar_arc.y"
+ case 83: /* bline: A0TOK NUM NUM */
+#line 435 "engines/hypno/grammar_arc.y"
{
shoot->position = Common::Point((yyvsp[-1].i), (yyvsp[0].i));
debugC(1, kHypnoDebugParser, "A0 %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1945 "engines/hypno/grammar_arc.cpp"
+#line 2007 "engines/hypno/grammar_arc.cpp"
break;
- case 79: /* bline: RTOK NUM NUM */
-#line 418 "engines/hypno/grammar_arc.y"
+ case 84: /* bline: RTOK NUM NUM */
+#line 439 "engines/hypno/grammar_arc.y"
{
shoot->objKillsCount = (yyvsp[-1].i);
shoot->objMissesCount = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "R %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1955 "engines/hypno/grammar_arc.cpp"
+#line 2017 "engines/hypno/grammar_arc.cpp"
break;
- case 80: /* bline: R0TOK NUM NUM */
-#line 423 "engines/hypno/grammar_arc.y"
+ case 85: /* bline: R0TOK NUM NUM */
+#line 444 "engines/hypno/grammar_arc.y"
{
shoot->objKillsCount = (yyvsp[-1].i);
shoot->objMissesCount = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "R0 %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1965 "engines/hypno/grammar_arc.cpp"
+#line 2027 "engines/hypno/grammar_arc.cpp"
break;
- case 81: /* bline: R1TOK NUM NUM */
-#line 428 "engines/hypno/grammar_arc.y"
+ case 86: /* bline: R1TOK NUM NUM */
+#line 449 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "R1 %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1973 "engines/hypno/grammar_arc.cpp"
+#line 2035 "engines/hypno/grammar_arc.cpp"
break;
- case 82: /* bline: BNTOK NUM NUM */
-#line 431 "engines/hypno/grammar_arc.y"
+ case 87: /* bline: BNTOK NUM NUM */
+#line 452 "engines/hypno/grammar_arc.y"
{
FrameInfo fi((yyvsp[0].i), (yyvsp[-1].i));
shoot->bodyFrames.push_back(fi);
debugC(1, kHypnoDebugParser, "BN %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1983 "engines/hypno/grammar_arc.cpp"
+#line 2045 "engines/hypno/grammar_arc.cpp"
break;
- case 83: /* bline: KNTOK NUM NUM */
-#line 436 "engines/hypno/grammar_arc.y"
+ case 88: /* bline: KNTOK NUM NUM */
+#line 457 "engines/hypno/grammar_arc.y"
{
FrameInfo fi((yyvsp[0].i), (yyvsp[-1].i));
shoot->explosionFrames.push_back(fi);
debugC(1, kHypnoDebugParser, "KN %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 1993 "engines/hypno/grammar_arc.cpp"
+#line 2055 "engines/hypno/grammar_arc.cpp"
break;
- case 84: /* bline: P0TOK NUM NUM */
-#line 441 "engines/hypno/grammar_arc.y"
+ case 89: /* bline: P0TOK NUM NUM */
+#line 462 "engines/hypno/grammar_arc.y"
{
shoot->paletteSize = (yyvsp[-1].i);
shoot->paletteOffset = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "P0 %d %d", (yyvsp[-1].i), (yyvsp[0].i)); }
-#line 2002 "engines/hypno/grammar_arc.cpp"
+#line 2064 "engines/hypno/grammar_arc.cpp"
break;
- case 85: /* bline: OTOK NUM NUM */
-#line 445 "engines/hypno/grammar_arc.y"
+ case 90: /* bline: OTOK NUM NUM */
+#line 466 "engines/hypno/grammar_arc.y"
{
if ((yyvsp[-1].i) == 0 && (yyvsp[0].i) == 0)
error("Invalid O command (0, 0)");
shoot->deathPosition = Common::Point((yyvsp[-1].i), (yyvsp[0].i));
debugC(1, kHypnoDebugParser, "O %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 2013 "engines/hypno/grammar_arc.cpp"
+#line 2075 "engines/hypno/grammar_arc.cpp"
break;
- case 86: /* bline: CTOK NUM */
-#line 451 "engines/hypno/grammar_arc.y"
+ case 91: /* bline: CTOK NUM */
+#line 472 "engines/hypno/grammar_arc.y"
{
shoot->timesToShoot = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "C %d", (yyvsp[0].i));
}
-#line 2022 "engines/hypno/grammar_arc.cpp"
+#line 2084 "engines/hypno/grammar_arc.cpp"
break;
- case 87: /* bline: HTOK NUM */
-#line 455 "engines/hypno/grammar_arc.y"
+ case 92: /* bline: HTOK NUM */
+#line 476 "engines/hypno/grammar_arc.y"
{
shoot->attackFrames.push_back((yyvsp[0].i));
debugC(1, kHypnoDebugParser, "H %d", (yyvsp[0].i)); }
-#line 2030 "engines/hypno/grammar_arc.cpp"
+#line 2092 "engines/hypno/grammar_arc.cpp"
break;
- case 88: /* bline: VTOK NUM */
-#line 458 "engines/hypno/grammar_arc.y"
+ case 93: /* bline: VTOK NUM */
+#line 479 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "V %d", (yyvsp[0].i)); }
-#line 2036 "engines/hypno/grammar_arc.cpp"
+#line 2098 "engines/hypno/grammar_arc.cpp"
break;
- case 89: /* bline: WTOK NUM */
-#line 459 "engines/hypno/grammar_arc.y"
+ case 94: /* bline: VTOK */
+#line 480 "engines/hypno/grammar_arc.y"
+ { debugC(1, kHypnoDebugParser, "V"); }
+#line 2104 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 95: /* bline: WTOK NUM */
+#line 481 "engines/hypno/grammar_arc.y"
{
shoot->attackWeight = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "W %d", (yyvsp[0].i)); }
-#line 2044 "engines/hypno/grammar_arc.cpp"
+#line 2112 "engines/hypno/grammar_arc.cpp"
break;
- case 90: /* bline: DTOK NUM */
-#line 462 "engines/hypno/grammar_arc.y"
+ case 96: /* bline: DTOK NUM */
+#line 484 "engines/hypno/grammar_arc.y"
{
shoot->pointsToShoot = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "D %d", (yyvsp[0].i));
}
-#line 2053 "engines/hypno/grammar_arc.cpp"
+#line 2121 "engines/hypno/grammar_arc.cpp"
break;
- case 91: /* bline: LTOK NUM NUM */
-#line 466 "engines/hypno/grammar_arc.y"
+ case 97: /* bline: LTOK NUM NUM */
+#line 488 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "L %d %d", (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 2061 "engines/hypno/grammar_arc.cpp"
+#line 2129 "engines/hypno/grammar_arc.cpp"
break;
- case 92: /* bline: LTOK NUM */
-#line 469 "engines/hypno/grammar_arc.y"
+ case 98: /* bline: LTOK NUM */
+#line 491 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "L %d", (yyvsp[0].i));
FrameInfo fi((yyvsp[0].i)-1, 0);
shoot->bodyFrames.push_back(fi);
}
-#line 2071 "engines/hypno/grammar_arc.cpp"
+#line 2139 "engines/hypno/grammar_arc.cpp"
break;
- case 93: /* bline: MTOK NUM */
-#line 474 "engines/hypno/grammar_arc.y"
+ case 99: /* bline: MTOK NUM */
+#line 496 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "M %d", (yyvsp[0].i));
shoot->missedAnimation = (yyvsp[0].i);
}
-#line 2079 "engines/hypno/grammar_arc.cpp"
+#line 2147 "engines/hypno/grammar_arc.cpp"
break;
- case 94: /* bline: KTOK NUM */
-#line 477 "engines/hypno/grammar_arc.y"
+ case 100: /* bline: KTOK */
+#line 499 "engines/hypno/grammar_arc.y"
+ { debugC(1, kHypnoDebugParser, "K"); }
+#line 2153 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 101: /* bline: KTOK NUM */
+#line 500 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "K %d", (yyvsp[0].i));
FrameInfo fi((yyvsp[0].i), 1);
shoot->explosionFrames.push_back(fi);
}
-#line 2088 "engines/hypno/grammar_arc.cpp"
+#line 2162 "engines/hypno/grammar_arc.cpp"
break;
- case 95: /* bline: KTOK NUM NUM */
-#line 481 "engines/hypno/grammar_arc.y"
+ case 102: /* bline: KTOK NUM NUM NUM */
+#line 504 "engines/hypno/grammar_arc.y"
+ {
+ debugC(1, kHypnoDebugParser, "K %d %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
+ }
+#line 2170 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 103: /* bline: KTOK NUM NUM */
+#line 507 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "K %d %d", (yyvsp[-1].i), (yyvsp[0].i));
FrameInfo fi((yyvsp[-1].i), 1);
shoot->explosionFrames.push_back(fi);
}
-#line 2097 "engines/hypno/grammar_arc.cpp"
+#line 2179 "engines/hypno/grammar_arc.cpp"
break;
- case 96: /* bline: SNTOK FILENAME enc */
-#line 485 "engines/hypno/grammar_arc.y"
+ case 104: /* bline: SNTOK FILENAME enc */
+#line 511 "engines/hypno/grammar_arc.y"
{
if (Common::String("S0") == (yyvsp[-2].s))
shoot->enemySound = (yyvsp[-1].s);
@@ -2107,60 +2189,83 @@ yyreduce:
shoot->hitSound = (yyvsp[-1].s);
debugC(1, kHypnoDebugParser, "SN %s", (yyvsp[-1].s)); }
-#line 2111 "engines/hypno/grammar_arc.cpp"
+#line 2193 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 105: /* bline: SNTOK */
+#line 520 "engines/hypno/grammar_arc.y"
+ {
+ debugC(1, kHypnoDebugParser, "SN");
+ }
+#line 2201 "engines/hypno/grammar_arc.cpp"
break;
- case 97: /* bline: GTOK */
-#line 494 "engines/hypno/grammar_arc.y"
+ case 106: /* bline: GTOK */
+#line 524 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "G"); }
-#line 2117 "engines/hypno/grammar_arc.cpp"
+#line 2207 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 107: /* bline: TTOK NUM NUM NUM */
+#line 525 "engines/hypno/grammar_arc.y"
+ {
+ debugC(1, kHypnoDebugParser, "T %d %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
+ }
+#line 2215 "engines/hypno/grammar_arc.cpp"
break;
- case 98: /* bline: TTOK NUM */
-#line 495 "engines/hypno/grammar_arc.y"
+ case 108: /* bline: TTOK NUM */
+#line 528 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "T %d", (yyvsp[0].i));
}
-#line 2125 "engines/hypno/grammar_arc.cpp"
+#line 2223 "engines/hypno/grammar_arc.cpp"
break;
- case 99: /* bline: TTOK */
-#line 498 "engines/hypno/grammar_arc.y"
+ case 109: /* bline: TTOK */
+#line 531 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "T");
}
-#line 2133 "engines/hypno/grammar_arc.cpp"
+#line 2231 "engines/hypno/grammar_arc.cpp"
break;
- case 100: /* bline: MTOK */
-#line 501 "engines/hypno/grammar_arc.y"
+ case 110: /* bline: MTOK */
+#line 534 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "M");
}
-#line 2141 "engines/hypno/grammar_arc.cpp"
+#line 2239 "engines/hypno/grammar_arc.cpp"
break;
- case 101: /* bline: NTOK */
-#line 504 "engines/hypno/grammar_arc.y"
+ case 111: /* bline: NTOK */
+#line 537 "engines/hypno/grammar_arc.y"
{
shoot->noEnemySound = true;
debugC(1, kHypnoDebugParser, "N"); }
-#line 2149 "engines/hypno/grammar_arc.cpp"
+#line 2247 "engines/hypno/grammar_arc.cpp"
break;
- case 102: /* bline: ZTOK */
-#line 507 "engines/hypno/grammar_arc.y"
+ case 112: /* bline: NRTOK */
+#line 540 "engines/hypno/grammar_arc.y"
+ {
+ debugC(1, kHypnoDebugParser, "NR"); }
+#line 2254 "engines/hypno/grammar_arc.cpp"
+ break;
+
+ case 113: /* bline: ZTOK */
+#line 542 "engines/hypno/grammar_arc.y"
{
g_parsedArc->shoots.push_back(*shoot);
//delete shoot;
//shoot = nullptr;
debugC(1, kHypnoDebugParser, "Z");
}
-#line 2160 "engines/hypno/grammar_arc.cpp"
+#line 2265 "engines/hypno/grammar_arc.cpp"
break;
-#line 2164 "engines/hypno/grammar_arc.cpp"
+#line 2269 "engines/hypno/grammar_arc.cpp"
default: break;
}
diff --git a/engines/hypno/grammar_arc.y b/engines/hypno/grammar_arc.y
index 35825e5d05f..66a62703717 100644
--- a/engines/hypno/grammar_arc.y
+++ b/engines/hypno/grammar_arc.y
@@ -48,6 +48,32 @@ int HYPNO_ARC_wrap() {
using namespace Hypno;
+void parseSN(const char *sn, const char *path, const char *enc, const char *flag) {
+ uint32 sampleRate = 11025;
+ if (Common::String("22K") == enc || Common::String("22k") == enc)
+ sampleRate = 22050;
+ else if (HYPNO_ARC_default_sound_rate > 0)
+ sampleRate = HYPNO_ARC_default_sound_rate;
+
+ if (Common::String("S0") == sn) {
+ g_parsedArc->music = path;
+ g_parsedArc->musicRate = sampleRate;
+ } else if (Common::String("S1") == sn) {
+ g_parsedArc->shootSound = path;
+ g_parsedArc->shootSoundRate = sampleRate;
+ } else if (Common::String("S2") == sn) {
+ g_parsedArc->hitSound = path;
+ g_parsedArc->hitSoundRate = sampleRate;
+ } else if (Common::String("S4") == sn) {
+ g_parsedArc->enemySound = path;
+ g_parsedArc->enemySoundRate = sampleRate;
+ } else if (Common::String("S5") == sn) {
+ g_parsedArc->additionalSound = path;
+ g_parsedArc->additionalSoundRate = sampleRate;
+ }
+ debugC(1, kHypnoDebugParser, "SN %s", path);
+}
+
%}
%union {
@@ -55,11 +81,11 @@ using namespace Hypno;
int i; /* integer value */
}
-%token<s> NAME FILENAME BNTOK SNTOK KNTOK YXTOK FNTOK ENCTOK ONTOK
+%token<s> NAME FILENAME BNTOK SNTOK KNTOK YXTOK FNTOK ENCTOK ONTOK H12TOK
%token<i> NUM BYTE
// header
-%token COMMENT ALTOK AVTOK ABTOK CTOK DTOK HTOK HETOK HLTOK H12TOK HUTOK RETTOK QTOK RESTOK
-%token PTOK FTOK TTOK TATOK TPTOK ATOK VTOK OTOK LTOK MTOK NTOK NSTOK RTOK R0TOK R1TOK
+%token COMMENT ALTOK AVTOK ABTOK CTOK DTOK HTOK HETOK HLTOK HUTOK RETTOK QTOK RESTOK
+%token PTOK FTOK TTOK TATOK TPTOK TSTOK ATOK VTOK OTOK LTOK MTOK NTOK NRTOK NSTOK RTOK R0TOK R1TOK
%token ITOK I1TOK GTOK JTOK J0TOK KTOK UTOK ZTOK
// body
@@ -139,6 +165,14 @@ hline: CTOK NUM {
error("Invalid objective: '%s'", $1);
debugC(1, kHypnoDebugParser, "ON %d", $2);
}
+ | TPTOK NONETOK NUM FILENAME {
+ ArcadeTransition at("NONE", $4, "", $3);
+ g_parsedArc->transitions.push_back(at);
+ debugC(1, kHypnoDebugParser, "Tp %s %d %s", "NONE", $3, $4);
+ }
+ | TSTOK FILENAME NUM NUM {
+ debugC(1, kHypnoDebugParser, "Ts %s %d %d", $2, $3, $4);
+ }
| TPTOK FILENAME NUM FILENAME {
ArcadeTransition at($2, $4, "", $3);
g_parsedArc->transitions.push_back(at);
@@ -203,29 +237,10 @@ hline: CTOK NUM {
debugC(1, kHypnoDebugParser, "BN %s", $2);
}
| SNTOK FILENAME enc flag {
- uint32 sampleRate = 11025;
- if (Common::String("22K") == $3 || Common::String("22k") == $3)
- sampleRate = 22050;
- else if (HYPNO_ARC_default_sound_rate > 0)
- sampleRate = HYPNO_ARC_default_sound_rate;
-
- if (Common::String("S0") == $1) {
- g_parsedArc->music = $2;
- g_parsedArc->musicRate = sampleRate;
- } else if (Common::String("S1") == $1) {
- g_parsedArc->shootSound = $2;
- g_parsedArc->shootSoundRate = sampleRate;
- } else if (Common::String("S2") == $1) {
- g_parsedArc->hitSound = $2;
- g_parsedArc->hitSoundRate = sampleRate;
- } else if (Common::String("S4") == $1) {
- g_parsedArc->enemySound = $2;
- g_parsedArc->enemySoundRate = sampleRate;
- } else if (Common::String("S5") == $1) {
- g_parsedArc->additionalSound = $2;
- g_parsedArc->additionalSoundRate = sampleRate;
- }
- debugC(1, kHypnoDebugParser, "SN %s", $2);
+ parseSN($1, $2, $3, $4);
+ }
+ | SNTOK FILENAME flag enc {
+ parseSN($1, $2, $4, $3);
}
| HETOK BYTE NUM NUM {
Segment segment($2, $4, $3);
@@ -311,6 +326,8 @@ bline: FNTOK FILENAME {
| ABTOK NUM {
debugC(1, kHypnoDebugParser, "AB %d", $2);
}
+ | DTOK LTOK { debugC(1, kHypnoDebugParser, "D L");
+ }
| J0TOK NUM {
debugC(1, kHypnoDebugParser, "J0 %d", $2);
}
@@ -356,6 +373,10 @@ bline: FNTOK FILENAME {
shoot->name = "H";
debugC(1, kHypnoDebugParser, "I H");
}
+ | ITOK H12TOK { // Workaround for NAME == H1/H2
+ shoot->name = $2;
+ debugC(1, kHypnoDebugParser, "I %s", $2);
+ }
| ITOK ITOK { // Workaround for NAME == I
shoot->name = "I";
debugC(1, kHypnoDebugParser, "I I");
@@ -456,6 +477,7 @@ bline: FNTOK FILENAME {
shoot->attackFrames.push_back($2);
debugC(1, kHypnoDebugParser, "H %d", $2); }
| VTOK NUM { debugC(1, kHypnoDebugParser, "V %d", $2); }
+ | VTOK { debugC(1, kHypnoDebugParser, "V"); }
| WTOK NUM {
shoot->attackWeight = $2;
debugC(1, kHypnoDebugParser, "W %d", $2); }
@@ -474,10 +496,14 @@ bline: FNTOK FILENAME {
| MTOK NUM { debugC(1, kHypnoDebugParser, "M %d", $2);
shoot->missedAnimation = $2;
}
+ | KTOK { debugC(1, kHypnoDebugParser, "K"); }
| KTOK NUM { debugC(1, kHypnoDebugParser, "K %d", $2);
FrameInfo fi($2, 1);
shoot->explosionFrames.push_back(fi);
}
+ | KTOK NUM NUM NUM {
+ debugC(1, kHypnoDebugParser, "K %d %d %d", $2, $3, $4);
+ }
| KTOK NUM NUM { debugC(1, kHypnoDebugParser, "K %d %d", $2, $3);
FrameInfo fi($2, 1);
shoot->explosionFrames.push_back(fi);
@@ -491,7 +517,14 @@ bline: FNTOK FILENAME {
shoot->hitSound = $2;
debugC(1, kHypnoDebugParser, "SN %s", $2); }
+ | SNTOK {
+ debugC(1, kHypnoDebugParser, "SN");
+ }
+
| GTOK { debugC(1, kHypnoDebugParser, "G"); }
+ | TTOK NUM NUM NUM {
+ debugC(1, kHypnoDebugParser, "T %d %d %d", $2, $3, $4);
+ }
| TTOK NUM {
debugC(1, kHypnoDebugParser, "T %d", $2);
}
@@ -504,6 +537,8 @@ bline: FNTOK FILENAME {
| NTOK {
shoot->noEnemySound = true;
debugC(1, kHypnoDebugParser, "N"); }
+ | NRTOK {
+ debugC(1, kHypnoDebugParser, "NR"); }
| ZTOK {
g_parsedArc->shoots.push_back(*shoot);
//delete shoot;
diff --git a/engines/hypno/lexer_arc.cpp b/engines/hypno/lexer_arc.cpp
index 21d71e305a0..4b495e2621b 100644
--- a/engines/hypno/lexer_arc.cpp
+++ b/engines/hypno/lexer_arc.cpp
@@ -633,8 +633,8 @@ static void yynoreturn yy_fatal_error ( const char* msg );
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 57
-#define YY_END_OF_BUFFER 58
+#define YY_NUM_RULES 60
+#define YY_END_OF_BUFFER 61
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -642,18 +642,18 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[94] =
+static const flex_int16_t yy_accept[97] =
{ 0,
- 0, 0, 58, 56, 55, 53, 53, 56, 48, 48,
- 48, 48, 56, 13, 49, 2, 3, 49, 39, 29,
- 8, 24, 27, 28, 17, 20, 18, 15, 9, 30,
- 21, 49, 35, 31, 14, 33, 34, 49, 32, 49,
- 55, 48, 51, 48, 48, 48, 48, 0, 49, 41,
- 49, 49, 10, 11, 12, 50, 42, 42, 38, 7,
- 4, 5, 6, 25, 26, 43, 19, 49, 16, 44,
- 22, 23, 40, 37, 36, 45, 45, 49, 49, 49,
- 47, 47, 46, 46, 48, 54, 49, 0, 1, 0,
- 0, 52, 0
+ 0, 0, 61, 59, 58, 56, 56, 59, 51, 51,
+ 51, 51, 59, 13, 52, 2, 3, 52, 41, 30,
+ 8, 25, 28, 29, 17, 21, 18, 15, 9, 31,
+ 22, 52, 36, 32, 14, 34, 35, 52, 33, 52,
+ 58, 51, 54, 51, 51, 51, 51, 0, 53, 52,
+ 44, 52, 52, 10, 11, 12, 45, 45, 40, 7,
+ 4, 5, 6, 26, 27, 46, 20, 52, 19, 16,
+ 47, 23, 24, 42, 43, 39, 37, 38, 48, 48,
+ 52, 52, 52, 50, 50, 49, 49, 51, 57, 52,
+ 0, 1, 0, 0, 55, 0
} ;
@@ -671,8 +671,8 @@ static const YY_CHAR yy_ec[256] =
1, 41, 1, 1, 42, 1, 43, 44, 44, 44,
44, 44, 44, 44, 44, 44, 45, 44, 44, 44,
- 44, 46, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 1, 47, 1, 1, 1, 1, 1, 1,
+ 44, 46, 44, 44, 47, 44, 44, 44, 44, 44,
+ 44, 44, 1, 48, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -689,207 +689,142 @@ static const YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static const YY_CHAR yy_meta[48] =
+static const YY_CHAR yy_meta[49] =
{ 0,
1, 1, 2, 1, 1, 1, 3, 4, 4, 4,
4, 4, 4, 1, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 4, 4, 4, 4, 4, 1
+ 3, 4, 4, 4, 4, 4, 4, 1
} ;
-static const flex_int16_t yy_base[100] =
+static const flex_int16_t yy_base[103] =
{ 0,
- 0, 0, 105, 629, 102, 629, 629, 39, 44, 49,
- 54, 59, 0, 65, 99, 84, 118, 124, 133, 139,
- 173, 143, 178, 207, 211, 214, 224, 245, 251, 247,
- 265, 284, 288, 291, 293, 310, 322, 350, 345, 74,
- 101, 111, 0, 340, 388, 55, 130, 95, 357, 392,
- 395, 397, 415, 418, 428, 0, 432, 438, 449, 451,
- 455, 461, 472, 478, 482, 484, 629, 495, 501, 505,
- 515, 518, 528, 532, 538, 549, 551, 364, 373, 570,
- 0, 629, 0, 629, 151, 94, 577, 79, 579, 80,
- 79, 629, 629, 612, 617, 619, 621, 75, 623
-
+ 0, 0, 177, 321, 174, 321, 321, 40, 45, 50,
+ 55, 60, 0, 67, 102, 137, 0, 0, 75, 0,
+ 71, 165, 165, 89, 0, 0, 99, 82, 164, 0,
+ 85, 170, 80, 0, 0, 0, 0, 181, 0, 124,
+ 128, 129, 0, 142, 220, 260, 147, 125, 0, 153,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 321, 97, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 159, 187, 193, 0, 321, 0, 321, 201, 120, 97,
+ 96, 0, 96, 87, 321, 321, 306, 310, 312, 314,
+
+ 85, 316
} ;
-static const flex_int16_t yy_def[100] =
+static const flex_int16_t yy_def[103] =
{ 0,
- 93, 1, 93, 93, 93, 93, 93, 93, 94, 94,
- 94, 94, 95, 96, 96, 96, 96, 96, 96, 96,
- 96, 21, 21, 96, 21, 21, 21, 21, 21, 21,
- 21, 96, 21, 21, 21, 21, 21, 97, 21, 98,
- 93, 93, 94, 94, 94, 45, 45, 95, 99, 21,
- 21, 21, 21, 21, 21, 99, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 93, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 93, 98, 98,
- 94, 93, 94, 93, 45, 95, 21, 93, 21, 93,
- 93, 93, 0, 93, 93, 93, 93, 93, 93
-
+ 96, 1, 96, 96, 96, 96, 96, 96, 97, 97,
+ 97, 97, 98, 99, 99, 99, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 100, 16, 101,
+ 96, 96, 97, 97, 97, 97, 97, 98, 102, 102,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 96, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 96, 101, 101, 97, 96, 97, 96, 97, 98, 16,
+ 96, 16, 96, 96, 96, 0, 96, 96, 96, 96,
+
+ 96, 96
} ;
-static const flex_int16_t yy_nxt[677] =
+static const flex_int16_t yy_nxt[370] =
{ 0,
4, 5, 6, 7, 4, 4, 8, 4, 9, 10,
11, 12, 9, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 4, 40, 18, 18, 18, 18, 7, 42, 42, 42,
- 42, 42, 44, 44, 44, 44, 44, 44, 45, 44,
- 44, 44, 44, 44, 46, 44, 44, 44, 44, 47,
- 44, 44, 49, 50, 51, 51, 51, 51, 80, 83,
- 53, 78, 79, 79, 79, 79, 79, 92, 91, 90,
- 54, 49, 51, 51, 51, 51, 51, 86, 86, 83,
-
- 55, 84, 41, 41, 93, 56, 49, 57, 57, 57,
- 57, 57, 93, 58, 58, 58, 58, 58, 58, 42,
- 42, 42, 42, 42, 56, 49, 51, 51, 51, 51,
- 51, 49, 51, 51, 51, 51, 51, 93, 85, 56,
- 49, 59, 59, 59, 59, 59, 49, 51, 51, 51,
- 51, 51, 64, 51, 43, 93, 88, 93, 56, 93,
- 93, 52, 93, 93, 56, 93, 93, 93, 52, 93,
- 93, 93, 93, 56, 43, 43, 93, 52, 93, 56,
- 49, 51, 60, 60, 51, 51, 65, 51, 51, 93,
- 93, 61, 93, 93, 93, 43, 52, 93, 62, 93,
-
- 93, 93, 93, 52, 93, 93, 93, 63, 93, 93,
- 93, 93, 52, 56, 49, 66, 66, 66, 66, 66,
- 51, 51, 93, 51, 51, 93, 93, 93, 67, 52,
- 93, 93, 52, 51, 51, 93, 52, 93, 93, 52,
- 93, 93, 52, 93, 93, 52, 93, 56, 52, 52,
- 93, 93, 68, 69, 69, 51, 51, 51, 52, 70,
- 51, 51, 93, 52, 93, 52, 93, 93, 93, 52,
- 52, 93, 52, 71, 72, 51, 52, 93, 93, 52,
- 93, 52, 93, 52, 93, 52, 93, 93, 93, 93,
- 52, 49, 73, 73, 73, 73, 73, 51, 51, 52,
-
- 51, 51, 51, 51, 93, 93, 52, 93, 93, 52,
- 93, 52, 93, 52, 93, 93, 52, 93, 52, 51,
- 51, 93, 52, 93, 56, 52, 93, 52, 52, 93,
- 74, 51, 51, 75, 93, 52, 93, 93, 93, 93,
- 52, 93, 93, 93, 52, 93, 93, 52, 44, 44,
- 44, 44, 44, 93, 51, 51, 52, 49, 76, 76,
- 76, 76, 76, 52, 49, 49, 49, 49, 49, 49,
- 52, 78, 78, 78, 78, 78, 78, 93, 93, 52,
- 78, 79, 79, 79, 79, 79, 93, 93, 93, 93,
- 56, 52, 52, 52, 52, 52, 44, 44, 44, 44,
-
- 44, 51, 51, 93, 51, 51, 51, 51, 93, 93,
- 52, 93, 81, 52, 93, 52, 93, 52, 93, 93,
- 52, 93, 52, 93, 51, 51, 52, 51, 51, 52,
- 93, 52, 81, 52, 82, 93, 52, 51, 51, 93,
- 52, 51, 51, 52, 93, 93, 52, 51, 51, 52,
- 52, 93, 52, 52, 93, 93, 52, 52, 51, 51,
- 51, 51, 52, 52, 51, 51, 52, 52, 93, 52,
- 51, 51, 52, 52, 52, 93, 52, 93, 93, 52,
- 52, 51, 51, 52, 93, 52, 52, 51, 51, 52,
- 52, 51, 51, 51, 51, 52, 52, 52, 93, 93,
-
- 52, 93, 52, 52, 51, 51, 52, 52, 93, 52,
- 51, 51, 52, 52, 51, 51, 52, 93, 52, 52,
- 52, 93, 87, 52, 51, 51, 52, 51, 51, 52,
- 52, 93, 93, 52, 93, 52, 52, 51, 51, 52,
- 52, 51, 51, 52, 93, 93, 52, 51, 51, 52,
- 52, 93, 52, 52, 93, 93, 52, 52, 51, 51,
- 51, 51, 52, 52, 93, 93, 52, 52, 93, 52,
- 93, 93, 52, 93, 52, 93, 52, 78, 79, 79,
- 79, 79, 79, 52, 93, 52, 51, 51, 51, 51,
- 93, 93, 93, 93, 93, 89, 93, 52, 93, 93,
-
- 93, 93, 52, 93, 52, 93, 93, 93, 93, 93,
- 93, 52, 93, 52, 43, 43, 43, 48, 93, 48,
- 48, 48, 52, 52, 77, 77, 56, 56, 3, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93
+ 4, 40, 18, 18, 18, 18, 18, 7, 42, 42,
+ 42, 42, 42, 44, 44, 44, 44, 44, 44, 45,
+ 44, 44, 44, 44, 44, 46, 44, 44, 44, 44,
+ 47, 44, 44, 49, 50, 51, 52, 52, 52, 52,
+ 60, 60, 54, 59, 59, 59, 59, 59, 83, 61,
+ 70, 70, 55, 72, 73, 95, 62, 66, 66, 66,
+
+ 66, 66, 56, 67, 94, 63, 93, 49, 49, 50,
+ 57, 57, 57, 57, 57, 92, 58, 58, 58, 58,
+ 58, 58, 76, 89, 90, 77, 78, 68, 89, 41,
+ 69, 81, 82, 82, 82, 82, 82, 42, 42, 42,
+ 42, 42, 49, 49, 50, 52, 52, 52, 52, 52,
+ 44, 44, 44, 44, 44, 88, 44, 44, 44, 44,
+ 50, 50, 50, 50, 50, 50, 81, 81, 81, 81,
+ 81, 81, 71, 65, 64, 41, 96, 49, 74, 74,
+ 74, 74, 74, 96, 75, 75, 75, 49, 50, 79,
+ 79, 79, 79, 79, 81, 82, 82, 82, 82, 82,
+
+ 81, 82, 82, 82, 82, 82, 91, 96, 96, 44,
+ 44, 44, 44, 44, 96, 96, 96, 96, 96, 96,
+ 96, 49, 53, 53, 53, 53, 53, 53, 44, 44,
+ 44, 44, 44, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 84, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 84, 96, 96, 85, 44, 44,
+ 44, 44, 44, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 86, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+
+ 96, 96, 96, 96, 86, 96, 96, 87, 43, 43,
+ 48, 96, 48, 48, 53, 53, 80, 80, 49, 49,
+ 3, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96
} ;
-static const flex_int16_t yy_chk[677] =
+static const flex_int16_t yy_chk[370] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 8, 8, 8,
- 8, 8, 9, 9, 9, 9, 9, 10, 10, 10,
- 10, 10, 11, 11, 11, 11, 11, 12, 12, 12,
- 12, 12, 14, 14, 14, 14, 14, 14, 98, 46,
- 14, 40, 40, 40, 40, 40, 40, 91, 90, 88,
- 14, 16, 16, 16, 16, 16, 16, 86, 48, 46,
-
- 14, 46, 41, 5, 3, 14, 15, 15, 15, 15,
- 15, 15, 0, 15, 15, 15, 15, 15, 15, 42,
- 42, 42, 42, 42, 16, 17, 17, 17, 17, 17,
- 17, 18, 18, 18, 18, 18, 18, 0, 47, 15,
- 19, 19, 19, 19, 19, 19, 20, 20, 20, 20,
- 20, 20, 22, 22, 47, 0, 85, 0, 17, 0,
- 0, 22, 0, 0, 18, 0, 0, 0, 22, 0,
- 0, 0, 0, 19, 47, 85, 47, 22, 0, 20,
- 21, 21, 21, 21, 21, 21, 23, 23, 23, 0,
- 0, 21, 0, 0, 0, 85, 23, 85, 21, 0,
-
- 0, 0, 0, 23, 0, 0, 0, 21, 0, 0,
- 0, 0, 23, 21, 24, 24, 24, 24, 24, 24,
- 25, 25, 0, 26, 26, 0, 0, 0, 27, 25,
- 0, 0, 26, 27, 27, 0, 25, 0, 0, 26,
- 0, 0, 27, 0, 0, 25, 0, 24, 26, 27,
- 0, 0, 27, 28, 28, 28, 30, 30, 27, 29,
- 29, 29, 0, 28, 0, 30, 0, 0, 0, 29,
- 28, 0, 30, 31, 31, 31, 29, 0, 0, 28,
- 0, 30, 0, 31, 0, 29, 0, 0, 0, 0,
- 31, 32, 32, 32, 32, 32, 32, 33, 33, 31,
-
- 34, 34, 35, 35, 0, 0, 33, 0, 0, 34,
- 0, 35, 0, 33, 0, 0, 34, 0, 35, 36,
- 36, 0, 33, 0, 32, 34, 0, 35, 36, 0,
- 33, 37, 37, 33, 0, 36, 0, 0, 0, 0,
- 37, 0, 0, 0, 36, 0, 0, 37, 44, 44,
- 44, 44, 44, 0, 39, 39, 37, 38, 38, 38,
- 38, 38, 38, 39, 49, 49, 49, 49, 49, 49,
- 39, 78, 78, 78, 78, 78, 78, 0, 0, 39,
- 79, 79, 79, 79, 79, 79, 0, 0, 0, 0,
- 38, 38, 38, 38, 38, 38, 45, 45, 45, 45,
-
- 45, 50, 50, 0, 51, 51, 52, 52, 0, 0,
- 50, 0, 45, 51, 0, 52, 0, 50, 0, 0,
- 51, 0, 52, 0, 53, 53, 50, 54, 54, 51,
- 0, 52, 45, 53, 45, 0, 54, 55, 55, 0,
- 53, 57, 57, 54, 0, 0, 55, 58, 58, 53,
- 57, 0, 54, 55, 0, 0, 58, 57, 59, 59,
- 60, 60, 55, 58, 61, 61, 57, 59, 0, 60,
- 62, 62, 58, 61, 59, 0, 60, 0, 0, 62,
- 61, 63, 63, 59, 0, 60, 62, 64, 64, 61,
- 63, 65, 65, 66, 66, 62, 64, 63, 0, 0,
-
- 65, 0, 66, 64, 68, 68, 63, 65, 0, 66,
- 69, 69, 64, 68, 70, 70, 65, 0, 66, 69,
- 68, 0, 68, 70, 71, 71, 69, 72, 72, 68,
- 70, 0, 0, 71, 0, 69, 72, 73, 73, 70,
- 71, 74, 74, 72, 0, 0, 73, 75, 75, 71,
- 74, 0, 72, 73, 0, 0, 75, 74, 76, 76,
- 77, 77, 73, 75, 0, 0, 74, 76, 0, 77,
- 0, 0, 75, 0, 76, 0, 77, 80, 80, 80,
- 80, 80, 80, 76, 0, 77, 87, 87, 89, 89,
- 0, 0, 0, 0, 0, 87, 0, 89, 0, 0,
-
- 0, 0, 87, 0, 89, 0, 0, 0, 0, 0,
- 0, 87, 0, 89, 94, 94, 94, 95, 0, 95,
- 95, 95, 96, 96, 97, 97, 99, 99, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 8,
+ 8, 8, 8, 9, 9, 9, 9, 9, 10, 10,
+ 10, 10, 10, 11, 11, 11, 11, 11, 12, 12,
+ 12, 12, 12, 14, 14, 14, 14, 14, 14, 14,
+ 21, 21, 14, 19, 19, 19, 19, 19, 101, 21,
+ 28, 28, 14, 31, 31, 94, 21, 24, 24, 24,
+
+ 24, 24, 14, 27, 93, 21, 91, 14, 15, 15,
+ 15, 15, 15, 15, 15, 90, 15, 15, 15, 15,
+ 15, 15, 33, 89, 68, 33, 33, 27, 48, 41,
+ 27, 40, 40, 40, 40, 40, 40, 42, 42, 42,
+ 42, 42, 15, 16, 16, 16, 16, 16, 16, 16,
+ 44, 44, 44, 44, 44, 47, 47, 47, 47, 47,
+ 50, 50, 50, 50, 50, 50, 81, 81, 81, 81,
+ 81, 81, 29, 23, 22, 5, 3, 16, 32, 32,
+ 32, 32, 32, 0, 32, 32, 32, 38, 38, 38,
+ 38, 38, 38, 38, 82, 82, 82, 82, 82, 82,
+
+ 83, 83, 83, 83, 83, 83, 88, 0, 0, 88,
+ 88, 88, 88, 88, 0, 0, 0, 0, 0, 0,
+ 0, 38, 38, 38, 38, 38, 38, 38, 45, 45,
+ 45, 45, 45, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 45, 0, 0, 45, 46, 46,
+ 46, 46, 46, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 46, 0, 0, 46, 97, 97,
+ 98, 0, 98, 98, 99, 99, 100, 100, 102, 102,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96
} ;
/* Table of booleans, true if rule could match eol. */
-static const flex_int32_t yy_rule_can_match_eol[58] =
+static const flex_int32_t yy_rule_can_match_eol[61] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, };
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
@@ -936,8 +871,8 @@ char *yytext;
#include "hypno/grammar.h"
#include "hypno/tokens_arc.h"
-#line 939 "engines/hypno/lexer_arc.cpp"
-#line 940 "engines/hypno/lexer_arc.cpp"
+#line 874 "engines/hypno/lexer_arc.cpp"
+#line 875 "engines/hypno/lexer_arc.cpp"
#define INITIAL 0
@@ -1154,7 +1089,7 @@ YY_DECL
{
#line 42 "engines/hypno/lexer_arc.l"
-#line 1157 "engines/hypno/lexer_arc.cpp"
+#line 1092 "engines/hypno/lexer_arc.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1181,13 +1116,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 94 )
+ if ( yy_current_state >= 97 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 93 );
+ while ( yy_current_state != 96 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1250,7 +1185,7 @@ return HUTOK;
case 7:
YY_RULE_SETUP
#line 49 "engines/hypno/lexer_arc.l"
-return H12TOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return H12TOK;
YY_BREAK
case 8:
YY_RULE_SETUP
@@ -1310,200 +1245,215 @@ return NTOK;
case 19:
YY_RULE_SETUP
#line 61 "engines/hypno/lexer_arc.l"
-return NSTOK;
+return NRTOK;
YY_BREAK
case 20:
YY_RULE_SETUP
#line 62 "engines/hypno/lexer_arc.l"
-return MTOK;
+return NSTOK;
YY_BREAK
case 21:
YY_RULE_SETUP
#line 63 "engines/hypno/lexer_arc.l"
-return RTOK;
+return MTOK;
YY_BREAK
case 22:
YY_RULE_SETUP
#line 64 "engines/hypno/lexer_arc.l"
-return R0TOK;
+return RTOK;
YY_BREAK
case 23:
YY_RULE_SETUP
#line 65 "engines/hypno/lexer_arc.l"
-return R1TOK;
+return R0TOK;
YY_BREAK
case 24:
YY_RULE_SETUP
#line 66 "engines/hypno/lexer_arc.l"
-return ITOK;
+return R1TOK;
YY_BREAK
case 25:
YY_RULE_SETUP
#line 67 "engines/hypno/lexer_arc.l"
-return I1TOK;
+return ITOK;
YY_BREAK
case 26:
YY_RULE_SETUP
#line 68 "engines/hypno/lexer_arc.l"
-return J0TOK;
+return I1TOK;
YY_BREAK
case 27:
YY_RULE_SETUP
#line 69 "engines/hypno/lexer_arc.l"
-return JTOK;
+return J0TOK;
YY_BREAK
case 28:
YY_RULE_SETUP
#line 70 "engines/hypno/lexer_arc.l"
-return KTOK;
+return JTOK;
YY_BREAK
case 29:
YY_RULE_SETUP
#line 71 "engines/hypno/lexer_arc.l"
-return GTOK;
+return KTOK;
YY_BREAK
case 30:
YY_RULE_SETUP
#line 72 "engines/hypno/lexer_arc.l"
-return QTOK;
+return GTOK;
YY_BREAK
case 31:
YY_RULE_SETUP
#line 73 "engines/hypno/lexer_arc.l"
-return UTOK;
+return QTOK;
YY_BREAK
case 32:
YY_RULE_SETUP
#line 74 "engines/hypno/lexer_arc.l"
-return ZTOK;
+return UTOK;
YY_BREAK
case 33:
YY_RULE_SETUP
#line 75 "engines/hypno/lexer_arc.l"
-return WTOK;
+return ZTOK;
YY_BREAK
case 34:
YY_RULE_SETUP
#line 76 "engines/hypno/lexer_arc.l"
-return XTOK;
+return WTOK;
YY_BREAK
case 35:
YY_RULE_SETUP
#line 77 "engines/hypno/lexer_arc.l"
-return TTOK;
+return XTOK;
YY_BREAK
case 36:
YY_RULE_SETUP
#line 78 "engines/hypno/lexer_arc.l"
-return TPTOK;
+return TTOK;
YY_BREAK
case 37:
YY_RULE_SETUP
#line 79 "engines/hypno/lexer_arc.l"
-return TATOK;
+return TPTOK;
YY_BREAK
case 38:
YY_RULE_SETUP
#line 80 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FNTOK;
+return TSTOK;
YY_BREAK
case 39:
YY_RULE_SETUP
#line 81 "engines/hypno/lexer_arc.l"
-return FTOK;
+return TATOK;
YY_BREAK
case 40:
YY_RULE_SETUP
#line 82 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return SNTOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FNTOK;
YY_BREAK
case 41:
YY_RULE_SETUP
#line 83 "engines/hypno/lexer_arc.l"
-return A0TOK;
+return FTOK;
YY_BREAK
case 42:
YY_RULE_SETUP
#line 84 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return BNTOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return SNTOK;
YY_BREAK
case 43:
YY_RULE_SETUP
#line 85 "engines/hypno/lexer_arc.l"
-return KNTOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return SNTOK;
YY_BREAK
case 44:
YY_RULE_SETUP
#line 86 "engines/hypno/lexer_arc.l"
-return P0TOK;
+return A0TOK;
YY_BREAK
case 45:
YY_RULE_SETUP
#line 87 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return YXTOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return BNTOK;
YY_BREAK
case 46:
YY_RULE_SETUP
#line 88 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return ENCTOK;
+return KNTOK;
YY_BREAK
case 47:
YY_RULE_SETUP
#line 89 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return ENCTOK;
+return P0TOK;
YY_BREAK
case 48:
YY_RULE_SETUP
#line 90 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.i = atoi(HYPNO_ARC_text); return NUM;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return YXTOK;
YY_BREAK
case 49:
YY_RULE_SETUP
#line 91 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return NAME;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return ENCTOK;
YY_BREAK
case 50:
YY_RULE_SETUP
#line 92 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return ENCTOK;
YY_BREAK
case 51:
YY_RULE_SETUP
#line 93 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
+HYPNO_ARC_lval.i = atoi(HYPNO_ARC_text); return NUM;
YY_BREAK
case 52:
YY_RULE_SETUP
#line 94 "engines/hypno/lexer_arc.l"
-return RESTOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return NAME;
YY_BREAK
case 53:
-/* rule 53 can match eol */
YY_RULE_SETUP
#line 95 "engines/hypno/lexer_arc.l"
-return RETTOK;
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
YY_BREAK
case 54:
YY_RULE_SETUP
#line 96 "engines/hypno/lexer_arc.l"
-/* ignore comment */
+HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
YY_BREAK
case 55:
YY_RULE_SETUP
#line 97 "engines/hypno/lexer_arc.l"
-/* ignore whitespace */;
+return RESTOK;
YY_BREAK
case 56:
+/* rule 56 can match eol */
YY_RULE_SETUP
#line 98 "engines/hypno/lexer_arc.l"
-HYPNO_ARC_lval.i = HYPNO_ARC_text[0]; return BYTE;
+return RETTOK;
YY_BREAK
case 57:
YY_RULE_SETUP
#line 99 "engines/hypno/lexer_arc.l"
+/* ignore comment */
+ YY_BREAK
+case 58:
+YY_RULE_SETUP
+#line 100 "engines/hypno/lexer_arc.l"
+/* ignore whitespace */;
+ YY_BREAK
+case 59:
+YY_RULE_SETUP
+#line 101 "engines/hypno/lexer_arc.l"
+HYPNO_ARC_lval.i = HYPNO_ARC_text[0]; return BYTE;
+ YY_BREAK
+case 60:
+YY_RULE_SETUP
+#line 102 "engines/hypno/lexer_arc.l"
ECHO;
YY_BREAK
-#line 1506 "engines/hypno/lexer_arc.cpp"
+#line 1456 "engines/hypno/lexer_arc.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1801,7 +1751,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 94 )
+ if ( yy_current_state >= 97 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -1829,11 +1779,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 94 )
+ if ( yy_current_state >= 97 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 93);
+ yy_is_jam = (yy_current_state == 96);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2480,7 +2430,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 99 "engines/hypno/lexer_arc.l"
+#line 102 "engines/hypno/lexer_arc.l"
namespace Hypno {
diff --git a/engines/hypno/lexer_arc.l b/engines/hypno/lexer_arc.l
index 6843600c2de..06b42dfec20 100644
--- a/engines/hypno/lexer_arc.l
+++ b/engines/hypno/lexer_arc.l
@@ -46,7 +46,7 @@ D return DTOK;
HE return HETOK;
HL return HLTOK;
HU return HUTOK;
-H[1-2] return H12TOK;
+H[1-2] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return H12TOK;
H return HTOK;
P return PTOK;
AB return ABTOK;
@@ -58,6 +58,7 @@ O return OTOK;
O[0-1] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return ONTOK;
L return LTOK;
N return NTOK;
+NR return NRTOK;
N\* return NSTOK;
M return MTOK;
R return RTOK;
@@ -76,10 +77,12 @@ W return WTOK;
X return XTOK;
T return TTOK;
Tp return TPTOK;
+Ts return TSTOK;
Ta return TATOK;
F[0-9] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FNTOK;
F return FTOK;
S[0-9] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return SNTOK;
+S[A-C] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return SNTOK;
A0 return A0TOK;
B[0-9A-F] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return BNTOK;
K[0-9] return KNTOK;
@@ -89,7 +92,7 @@ Y[A-Z0-9] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return YXTOK;
11[k|K] HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return ENCTOK;
[\-]?[0-9]+ HYPNO_ARC_lval.i = atoi(HYPNO_ARC_text); return NUM;
[A-Za-z_][A-Za-z_0-9]*[0-9\.]* HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return NAME;
-[A-Za-z][A-Za-z_0-9\\\.]+ HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
+[A-Za-z][\-A-Za-z_0-9\\\.]+ HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
[0-9][\-A-Za-z_0-9\\\.]+ HYPNO_ARC_lval.s = scumm_strdup(HYPNO_ARC_text); return FILENAME;
320\,200 return RESTOK;
[\n|\r\n] return RETTOK;
diff --git a/engines/hypno/tokens_arc.h b/engines/hypno/tokens_arc.h
index 4653e887c56..ccae1f669ce 100644
--- a/engines/hypno/tokens_arc.h
+++ b/engines/hypno/tokens_arc.h
@@ -71,18 +71,18 @@ extern int HYPNO_ARC_debug;
FNTOK = 264, /* FNTOK */
ENCTOK = 265, /* ENCTOK */
ONTOK = 266, /* ONTOK */
- NUM = 267, /* NUM */
- BYTE = 268, /* BYTE */
- COMMENT = 269, /* COMMENT */
- ALTOK = 270, /* ALTOK */
- AVTOK = 271, /* AVTOK */
- ABTOK = 272, /* ABTOK */
- CTOK = 273, /* CTOK */
- DTOK = 274, /* DTOK */
- HTOK = 275, /* HTOK */
- HETOK = 276, /* HETOK */
- HLTOK = 277, /* HLTOK */
- H12TOK = 278, /* H12TOK */
+ H12TOK = 267, /* H12TOK */
+ NUM = 268, /* NUM */
+ BYTE = 269, /* BYTE */
+ COMMENT = 270, /* COMMENT */
+ ALTOK = 271, /* ALTOK */
+ AVTOK = 272, /* AVTOK */
+ ABTOK = 273, /* ABTOK */
+ CTOK = 274, /* CTOK */
+ DTOK = 275, /* DTOK */
+ HTOK = 276, /* HTOK */
+ HETOK = 277, /* HETOK */
+ HLTOK = 278, /* HLTOK */
HUTOK = 279, /* HUTOK */
RETTOK = 280, /* RETTOK */
QTOK = 281, /* QTOK */
@@ -92,31 +92,33 @@ extern int HYPNO_ARC_debug;
TTOK = 285, /* TTOK */
TATOK = 286, /* TATOK */
TPTOK = 287, /* TPTOK */
- ATOK = 288, /* ATOK */
- VTOK = 289, /* VTOK */
- OTOK = 290, /* OTOK */
- LTOK = 291, /* LTOK */
- MTOK = 292, /* MTOK */
- NTOK = 293, /* NTOK */
- NSTOK = 294, /* NSTOK */
- RTOK = 295, /* RTOK */
- R0TOK = 296, /* R0TOK */
- R1TOK = 297, /* R1TOK */
- ITOK = 298, /* ITOK */
- I1TOK = 299, /* I1TOK */
- GTOK = 300, /* GTOK */
- JTOK = 301, /* JTOK */
- J0TOK = 302, /* J0TOK */
- KTOK = 303, /* KTOK */
- UTOK = 304, /* UTOK */
- ZTOK = 305, /* ZTOK */
- NONETOK = 306, /* NONETOK */
- A0TOK = 307, /* A0TOK */
- P0TOK = 308, /* P0TOK */
- WTOK = 309, /* WTOK */
- XTOK = 310, /* XTOK */
- CB3TOK = 311, /* CB3TOK */
- C02TOK = 312 /* C02TOK */
+ TSTOK = 288, /* TSTOK */
+ ATOK = 289, /* ATOK */
+ VTOK = 290, /* VTOK */
+ OTOK = 291, /* OTOK */
+ LTOK = 292, /* LTOK */
+ MTOK = 293, /* MTOK */
+ NTOK = 294, /* NTOK */
+ NRTOK = 295, /* NRTOK */
+ NSTOK = 296, /* NSTOK */
+ RTOK = 297, /* RTOK */
+ R0TOK = 298, /* R0TOK */
+ R1TOK = 299, /* R1TOK */
+ ITOK = 300, /* ITOK */
+ I1TOK = 301, /* I1TOK */
+ GTOK = 302, /* GTOK */
+ JTOK = 303, /* JTOK */
+ J0TOK = 304, /* J0TOK */
+ KTOK = 305, /* KTOK */
+ UTOK = 306, /* UTOK */
+ ZTOK = 307, /* ZTOK */
+ NONETOK = 308, /* NONETOK */
+ A0TOK = 309, /* A0TOK */
+ P0TOK = 310, /* P0TOK */
+ WTOK = 311, /* WTOK */
+ XTOK = 312, /* XTOK */
+ CB3TOK = 313, /* CB3TOK */
+ C02TOK = 314 /* C02TOK */
};
typedef enum HYPNO_ARC_tokentype HYPNO_ARC_token_kind_t;
#endif
@@ -125,12 +127,12 @@ extern int HYPNO_ARC_debug;
#if ! defined HYPNO_ARC_STYPE && ! defined HYPNO_ARC_STYPE_IS_DECLARED
union HYPNO_ARC_STYPE
{
-#line 53 "engines/hypno/grammar_arc.y"
+#line 79 "engines/hypno/grammar_arc.y"
char *s; /* string value */
int i; /* integer value */
-#line 134 "engines/hypno/tokens_arc.h"
+#line 136 "engines/hypno/tokens_arc.h"
};
typedef union HYPNO_ARC_STYPE HYPNO_ARC_STYPE;
More information about the Scummvm-git-logs
mailing list