- Added grubber's thingdef_exp.cpp. I might not use it later, but I can still

use it now.
- Fixed sc_man_scanner.re for negative numbers in C mode.


SVN r201 (trunk)
This commit is contained in:
Randy Heit 2006-06-20 21:21:52 +00:00
parent c54f2f66fc
commit 19dad144e1
4 changed files with 1664 additions and 172 deletions

View file

@ -1,6 +1,8 @@
June 20, 2006 June 20, 2006
- Unlimited the monster pain sounds in Hexen after playing as the Cleric a - Added grubber's thingdef_exp.cpp. I might not use it later, but I can still
while and killing centaurs with the flechette. use it now.
- Unlimited the monster pain sounds in Hexen after I played as the Cleric a
while and killed several centaurs with the flechette.
- Fixed: Moving to an old level in a hub caused the old player's inventory to - Fixed: Moving to an old level in a hub caused the old player's inventory to
spawn owned by the current player (but still hanging off the old player), so spawn owned by the current player (but still hanging off the old player), so
the game would hang when trying to delete it. the game would hang when trying to delete it.

View file

@ -17,12 +17,13 @@
std: std:
tok = YYCURSOR; tok = YYCURSOR;
#line 32 "src/sc_man_scanner.re" std2:
#line 33 "src/sc_man_scanner.re"
if (!CMode) if (!CMode)
{ {
#line 26 "src/sc_man_scanner.h" #line 27 "src/sc_man_scanner.h"
{ {
YYCTYPE yych; YYCTYPE yych;
@ -49,9 +50,9 @@ std:
} }
} }
yy2: yy2:
#line 46 "src/sc_man_scanner.re" #line 47 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 55 "src/sc_man_scanner.h" #line 56 "src/sc_man_scanner.h"
yy3: yy3:
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '*') goto yy28; if(yych == '*') goto yy28;
@ -60,32 +61,32 @@ yy3:
yy4: yy4:
yych = *++YYCURSOR; yych = *++YYCURSOR;
goto yy25; goto yy25;
#line 48 "src/sc_man_scanner.re" #line 49 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 66 "src/sc_man_scanner.h" #line 67 "src/sc_man_scanner.h"
yy6: yy6:
++YYCURSOR; ++YYCURSOR;
yych = *YYCURSOR; yych = *YYCURSOR;
goto yy23; goto yy23;
yy7: yy7:
#line 39 "src/sc_man_scanner.re" #line 40 "src/sc_man_scanner.re"
{ goto std; } { goto std; }
#line 74 "src/sc_man_scanner.h" #line 75 "src/sc_man_scanner.h"
yy8: yy8:
++YYCURSOR; ++YYCURSOR;
#line 40 "src/sc_man_scanner.re" #line 41 "src/sc_man_scanner.re"
{ goto newline; } { goto newline; }
#line 79 "src/sc_man_scanner.h" #line 80 "src/sc_man_scanner.h"
yy10: yy10:
++YYCURSOR; ++YYCURSOR;
#line 41 "src/sc_man_scanner.re" #line 42 "src/sc_man_scanner.re"
{ goto string; } { goto string; }
#line 84 "src/sc_man_scanner.h" #line 85 "src/sc_man_scanner.h"
yy12: yy12:
++YYCURSOR; ++YYCURSOR;
#line 43 "src/sc_man_scanner.re" #line 44 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 89 "src/sc_man_scanner.h" #line 90 "src/sc_man_scanner.h"
yy14: yy14:
yych = *++YYCURSOR; yych = *++YYCURSOR;
goto yy17; goto yy17;
@ -183,22 +184,22 @@ yy24:
yy25: yy25:
if(yych != 0x0A) goto yy24; if(yych != 0x0A) goto yy24;
++YYCURSOR; ++YYCURSOR;
#line 37 "src/sc_man_scanner.re" #line 38 "src/sc_man_scanner.re"
{ goto newline; } { goto newline; }
#line 189 "src/sc_man_scanner.h" #line 190 "src/sc_man_scanner.h"
yy28: yy28:
++YYCURSOR; ++YYCURSOR;
#line 36 "src/sc_man_scanner.re" #line 37 "src/sc_man_scanner.re"
{ goto comment; } { goto comment; }
#line 194 "src/sc_man_scanner.h" #line 195 "src/sc_man_scanner.h"
} }
#line 49 "src/sc_man_scanner.re" #line 50 "src/sc_man_scanner.re"
} }
else else
{ {
#line 202 "src/sc_man_scanner.h" #line 203 "src/sc_man_scanner.h"
{ {
YYCTYPE yych; YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@ -210,264 +211,287 @@ yy28:
goto yy34; goto yy34;
} else { } else {
if(yych == '"') goto yy38; if(yych == '"') goto yy38;
goto yy48; goto yy50;
} }
} else { } else {
if(yych <= ',') { if(yych <= ',') {
if(yych <= '&') goto yy43; if(yych <= '&') goto yy45;
if(yych <= '\'') goto yy49; if(yych <= '\'') goto yy51;
goto yy48; goto yy50;
} else { } else {
if(yych <= '-') goto yy40; if(yych <= '-') goto yy40;
if(yych <= '.') goto yy48; if(yych <= '.') goto yy44;
if(yych >= '0') goto yy41; if(yych >= '0') goto yy42;
} }
} }
} else { } else {
if(yych <= '^') { if(yych <= '^') {
if(yych <= '=') { if(yych <= '=') {
if(yych <= ';') goto yy48; if(yych <= ';') goto yy50;
if(yych <= '<') goto yy46; if(yych <= '<') goto yy48;
goto yy44; goto yy46;
} else { } else {
if(yych <= '>') goto yy47; if(yych <= '>') goto yy49;
if(yych <= '@') goto yy48; if(yych <= '@') goto yy50;
if(yych <= 'Z') goto yy49; if(yych <= 'Z') goto yy51;
goto yy48; goto yy50;
} }
} else { } else {
if(yych <= 'z') { if(yych <= 'z') {
if(yych == '`') goto yy48; if(yych == '`') goto yy50;
goto yy49; goto yy51;
} else { } else {
if(yych == '|') goto yy45; if(yych == '|') goto yy47;
if(yych <= '~') goto yy48; if(yych <= '~') goto yy50;
goto yy49; goto yy51;
} }
} }
} }
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '*') goto yy73; if(yych == '*') goto yy75;
if(yych == '/') goto yy71; if(yych == '/') goto yy73;
yy33: yy33:
#line 67 "src/sc_man_scanner.re" #line 69 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 256 "src/sc_man_scanner.h" #line 257 "src/sc_man_scanner.h"
yy34: yy34:
++YYCURSOR; ++YYCURSOR;
yych = *YYCURSOR; yych = *YYCURSOR;
goto yy70; goto yy72;
yy35: yy35:
#line 57 "src/sc_man_scanner.re" #line 58 "src/sc_man_scanner.re"
{ goto std; } { goto std; }
#line 264 "src/sc_man_scanner.h" #line 265 "src/sc_man_scanner.h"
yy36: yy36:
++YYCURSOR; ++YYCURSOR;
#line 58 "src/sc_man_scanner.re" #line 59 "src/sc_man_scanner.re"
{ goto newline; } { goto newline; }
#line 269 "src/sc_man_scanner.h" #line 270 "src/sc_man_scanner.h"
yy38: yy38:
++YYCURSOR; ++YYCURSOR;
#line 59 "src/sc_man_scanner.re" #line 60 "src/sc_man_scanner.re"
{ goto string; } { goto string; }
#line 274 "src/sc_man_scanner.h" #line 275 "src/sc_man_scanner.h"
yy40: yy40:
yych = *++YYCURSOR; ++YYCURSOR;
if(yych <= '/') goto yy33; #line 62 "src/sc_man_scanner.re"
if(yych <= '9') goto yy67; { goto negative_check; }
goto yy33; #line 280 "src/sc_man_scanner.h"
yy41: yy42:
++YYCURSOR; ++YYCURSOR;
if((yych = *YYCURSOR) <= '@') { if((yych = *YYCURSOR) <= '@') {
if(yych <= '-') { if(yych <= '-') {
if(yych == '\'') goto yy51; if(yych == '\'') goto yy53;
} else { } else {
if(yych <= '.') goto yy65; if(yych <= '.') goto yy69;
if(yych <= '/') goto yy42; if(yych <= '/') goto yy43;
if(yych <= '9') goto yy63; if(yych <= '9') goto yy67;
} }
} else { } else {
if(yych <= '_') { if(yych <= '_') {
if(yych <= 'Z') goto yy51; if(yych <= 'Z') goto yy53;
if(yych >= '_') goto yy51; if(yych >= '_') goto yy53;
} else { } else {
if(yych <= '`') goto yy42; if(yych <= '`') goto yy43;
if(yych <= 'z') goto yy51; if(yych <= 'z') goto yy53;
if(yych >= 0x7F) goto yy51; if(yych >= 0x7F) goto yy53;
} }
} }
yy42:
#line 61 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 303 "src/sc_man_scanner.h"
yy43: yy43:
yych = *++YYCURSOR; #line 63 "src/sc_man_scanner.re"
if(yych == '&') goto yy61; { goto normal_token; }
goto yy33; #line 304 "src/sc_man_scanner.h"
yy44: yy44:
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '=') goto yy59; if(yych <= '/') goto yy33;
if(yych <= '9') goto yy65;
goto yy33; goto yy33;
yy45: yy45:
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '|') goto yy57; if(yych == '&') goto yy63;
goto yy33; goto yy33;
yy46: yy46:
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '<') goto yy55; if(yych == '=') goto yy61;
goto yy33; goto yy33;
yy47: yy47:
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '>') goto yy53; if(yych == '|') goto yy59;
goto yy33; goto yy33;
yy48: yy48:
yych = *++YYCURSOR; yych = *++YYCURSOR;
if(yych == '<') goto yy57;
goto yy33; goto yy33;
yy49: yy49:
yych = *++YYCURSOR;
if(yych == '>') goto yy55;
goto yy33;
yy50:
yych = *++YYCURSOR;
goto yy33;
yy51:
++YYCURSOR; ++YYCURSOR;
yych = *YYCURSOR; yych = *YYCURSOR;
goto yy52; goto yy54;
yy50: yy52:
#line 68 "src/sc_man_scanner.re" #line 70 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 334 "src/sc_man_scanner.h" #line 340 "src/sc_man_scanner.h"
yy51: yy53:
++YYCURSOR; ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
yy52: yy54:
if(yych <= 'Z') { if(yych <= 'Z') {
if(yych <= '/') { if(yych <= '/') {
if(yych == '\'') goto yy51; if(yych == '\'') goto yy53;
goto yy50; goto yy52;
} else { } else {
if(yych <= '9') goto yy51; if(yych <= '9') goto yy53;
if(yych <= '@') goto yy50; if(yych <= '@') goto yy52;
goto yy51; goto yy53;
} }
} else { } else {
if(yych <= '`') { if(yych <= '`') {
if(yych == '_') goto yy51; if(yych == '_') goto yy53;
goto yy50; goto yy52;
} else { } else {
if(yych <= 'z') goto yy51; if(yych <= 'z') goto yy53;
if(yych <= '~') goto yy50; if(yych <= '~') goto yy52;
goto yy51; goto yy53;
} }
} }
yy53: yy55:
++YYCURSOR;
#line 68 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 369 "src/sc_man_scanner.h"
yy57:
++YYCURSOR;
#line 67 "src/sc_man_scanner.re"
{ goto normal_token; }
#line 374 "src/sc_man_scanner.h"
yy59:
++YYCURSOR; ++YYCURSOR;
#line 66 "src/sc_man_scanner.re" #line 66 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 363 "src/sc_man_scanner.h" #line 379 "src/sc_man_scanner.h"
yy55: yy61:
++YYCURSOR; ++YYCURSOR;
#line 65 "src/sc_man_scanner.re" #line 65 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 368 "src/sc_man_scanner.h" #line 384 "src/sc_man_scanner.h"
yy57: yy63:
++YYCURSOR; ++YYCURSOR;
#line 64 "src/sc_man_scanner.re" #line 64 "src/sc_man_scanner.re"
{ goto normal_token; } { goto normal_token; }
#line 373 "src/sc_man_scanner.h" #line 389 "src/sc_man_scanner.h"
yy59: yy65:
++YYCURSOR; ++YYCURSOR;
#line 63 "src/sc_man_scanner.re" if(YYLIMIT == YYCURSOR) YYFILL(1);
{ goto normal_token; } yych = *YYCURSOR;
#line 378 "src/sc_man_scanner.h" if(yych <= '/') goto yy43;
yy61: if(yych <= '9') goto yy65;
++YYCURSOR; goto yy43;
#line 62 "src/sc_man_scanner.re" yy67:
{ goto normal_token; }
#line 383 "src/sc_man_scanner.h"
yy63:
++YYCURSOR; ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
if(yych <= '@') { if(yych <= '@') {
if(yych <= '-') { if(yych <= '-') {
if(yych == '\'') goto yy51; if(yych == '\'') goto yy53;
goto yy42; goto yy43;
} else { } else {
if(yych <= '.') goto yy65; if(yych <= '.') goto yy69;
if(yych <= '/') goto yy42; if(yych <= '/') goto yy43;
if(yych <= '9') goto yy63; if(yych <= '9') goto yy67;
goto yy42; goto yy43;
} }
} else { } else {
if(yych <= '_') { if(yych <= '_') {
if(yych <= 'Z') goto yy51; if(yych <= 'Z') goto yy53;
if(yych <= '^') goto yy42; if(yych <= '^') goto yy43;
goto yy51; goto yy53;
} else { } else {
if(yych <= '`') goto yy42; if(yych <= '`') goto yy43;
if(yych <= 'z') goto yy51; if(yych <= 'z') goto yy53;
if(yych <= '~') goto yy42; if(yych <= '~') goto yy43;
goto yy51; goto yy53;
} }
} }
yy65:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '/') goto yy42;
if(yych <= '9') goto yy65;
goto yy42;
yy67:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == '.') goto yy65;
if(yych <= '/') goto yy42;
if(yych <= '9') goto yy67;
goto yy42;
yy69: yy69:
++YYCURSOR; ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
yy70: if(yych <= '/') goto yy43;
if(yych == 0x0A) goto yy35; if(yych <= '9') goto yy69;
if(yych <= ' ') goto yy69; goto yy43;
goto yy35;
yy71: yy71:
++YYCURSOR; ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
if(yych == 0x0A) goto yy75; yy72:
goto yy71; if(yych == 0x0A) goto yy35;
if(yych <= ' ') goto yy71;
goto yy35;
yy73: yy73:
++YYCURSOR; ++YYCURSOR;
#line 54 "src/sc_man_scanner.re" if(YYLIMIT == YYCURSOR) YYFILL(1);
{ goto comment; } yych = *YYCURSOR;
#line 443 "src/sc_man_scanner.h" if(yych == 0x0A) goto yy77;
goto yy73;
yy75: yy75:
++YYCURSOR; ++YYCURSOR;
#line 55 "src/sc_man_scanner.re" #line 55 "src/sc_man_scanner.re"
{ goto newline; } { goto comment; }
#line 448 "src/sc_man_scanner.h" #line 448 "src/sc_man_scanner.h"
yy77:
++YYCURSOR;
#line 56 "src/sc_man_scanner.re"
{ goto newline; }
#line 453 "src/sc_man_scanner.h"
} }
#line 71 "src/sc_man_scanner.re" #line 73 "src/sc_man_scanner.re"
} }
negative_check:
if (YYCURSOR >= YYLIMIT)
{
goto normal_token;
}
if (*YYCURSOR >= '0' && *YYCURSOR <= '9')
{
goto std2;
}
if (*YYCURSOR != '.' || YYCURSOR+1 >= YYLIMIT)
{
goto normal_token;
}
if (*(YYCURSOR+1) >= '0' && *YYCURSOR <= '9')
{
goto std2;
}
goto normal_token;
comment: comment:
#line 456 "src/sc_man_scanner.h" #line 480 "src/sc_man_scanner.h"
{ {
YYCTYPE yych; YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR; yych = *YYCURSOR;
if(yych == 0x0A) goto yy81; if(yych == 0x0A) goto yy83;
if(yych != '*') goto yy83; if(yych != '*') goto yy85;
++YYCURSOR; ++YYCURSOR;
if((yych = *YYCURSOR) == '/') goto yy84; if((yych = *YYCURSOR) == '/') goto yy86;
yy80: yy82:
#line 88 "src/sc_man_scanner.re" #line 109 "src/sc_man_scanner.re"
{ goto comment; } { goto comment; }
#line 468 "src/sc_man_scanner.h" #line 492 "src/sc_man_scanner.h"
yy81: yy83:
++YYCURSOR; ++YYCURSOR;
#line 78 "src/sc_man_scanner.re" #line 99 "src/sc_man_scanner.re"
{ {
if (YYCURSOR >= YYLIMIT) if (YYCURSOR >= YYLIMIT)
{ {
@ -478,17 +502,17 @@ yy81:
sc_Crossed = true; sc_Crossed = true;
goto comment; goto comment;
} }
#line 482 "src/sc_man_scanner.h" #line 506 "src/sc_man_scanner.h"
yy83: yy85:
yych = *++YYCURSOR; yych = *++YYCURSOR;
goto yy80; goto yy82;
yy84: yy86:
++YYCURSOR; ++YYCURSOR;
#line 76 "src/sc_man_scanner.re" #line 97 "src/sc_man_scanner.re"
{ goto std; } { goto std; }
#line 490 "src/sc_man_scanner.h" #line 514 "src/sc_man_scanner.h"
} }
#line 89 "src/sc_man_scanner.re" #line 110 "src/sc_man_scanner.re"
newline: newline:

View file

@ -15,6 +15,7 @@
std: std:
tok = YYCURSOR; tok = YYCURSOR;
std2:
/*!re2c /*!re2c
any = [\000-\377]; any = [\000-\377];
WSP = ([\000- ]\[\n]); WSP = ([\000- ]\[\n]);
@ -58,7 +59,8 @@ std:
"\n" { goto newline; } "\n" { goto newline; }
"\"" { goto string; } "\"" { goto string; }
[-]? D+ ([.]D*)? { goto normal_token; } /* number */ [-] { goto negative_check; }
((D+) | (D* [.] D+) | (D+ [.] D*)) { goto normal_token; } /* number */
"&&" { goto normal_token; } "&&" { goto normal_token; }
"==" { goto normal_token; } "==" { goto normal_token; }
"||" { goto normal_token; } "||" { goto normal_token; }
@ -71,6 +73,25 @@ std:
*/ */
} }
negative_check:
if (YYCURSOR >= YYLIMIT)
{
goto normal_token;
}
if (*YYCURSOR >= '0' && *YYCURSOR <= '9')
{
goto std2;
}
if (*YYCURSOR != '.' || YYCURSOR+1 >= YYLIMIT)
{
goto normal_token;
}
if (*(YYCURSOR+1) >= '0' && *YYCURSOR <= '9')
{
goto std2;
}
goto normal_token;
comment: comment:
/*!re2c /*!re2c
"*/" { goto std; } "*/" { goto std; }

File diff suppressed because it is too large Load diff