Changes for Win32; update precompiled files
Also fix Orctown probabilities; fixed support for snprintf; update Win32 makefile to allow level compiler use Conflicts: win/win32/levstuff.mak
This commit is contained in:
committed by
Pasi Kallinen
parent
b1835cc65d
commit
7f03ee4216
1
.gitignore
vendored
1
.gitignore
vendored
@@ -34,6 +34,7 @@ Makefile
|
||||
# Win32-specific ignores
|
||||
binary/
|
||||
build/
|
||||
ipch/
|
||||
Nethack.sln
|
||||
Nethack.sdf
|
||||
Nethack.opensdf
|
||||
|
||||
@@ -131,7 +131,7 @@ OBJECT:('%',"corpse"),random,montype:"watch captain"
|
||||
|
||||
# Rubble!
|
||||
LOOP [9 + 2d5] {
|
||||
OBJECT[90%]:('`',"boulder"),random
|
||||
[90%]: OBJECT:('`',"boulder"),random
|
||||
OBJECT:('*',"rock"),random
|
||||
}
|
||||
|
||||
@@ -158,9 +158,15 @@ $inside = selection: floodfill(18,8)
|
||||
$near_temple = selection: filter(fillrect(17,8, 23,14), $inside)
|
||||
|
||||
LOOP [5 + 1d10] {
|
||||
MONSTER[50%]: ('o', "orc-captain"), rndcoord($inside), hostile
|
||||
MONSTER[80%]: ('o', "Uruk-hai"), rndcoord($inside), hostile
|
||||
MONSTER: ('o', "Mordor orc"), rndcoord($inside), hostile
|
||||
IF [50%] {
|
||||
MONSTER: ('o', "orc-captain"), rndcoord($inside), hostile
|
||||
} ELSE {
|
||||
IF [80%] {
|
||||
MONSTER: ('o', "Uruk-hai"), rndcoord($inside), hostile
|
||||
} ELSE {
|
||||
MONSTER: ('o', "Mordor orc"), rndcoord($inside), hostile
|
||||
}
|
||||
}
|
||||
}
|
||||
# shamans can be hanging out in/near the temple
|
||||
LOOP [2d3] {
|
||||
@@ -169,11 +175,14 @@ LOOP [2d3] {
|
||||
# these are not such a big deal
|
||||
# to run into outside the bars
|
||||
LOOP [9 + 2d5] {
|
||||
MONSTER[90%]: ('o', "hill orc"), random, hostile
|
||||
MONSTER: ('o', "goblin"), random, hostile
|
||||
IF [90%] {
|
||||
MONSTER: ('o', "hill orc"), random, hostile
|
||||
} ELSE {
|
||||
MONSTER: ('o', "goblin"), random, hostile
|
||||
}
|
||||
}
|
||||
|
||||
WALLIFY:(1,0, 70,20)
|
||||
WALLIFY
|
||||
|
||||
|
||||
# Minetown variant 2
|
||||
|
||||
@@ -124,8 +124,15 @@ extern void FDECL(interject, (int));
|
||||
#define strncmpi(a,b,c) strnicmp(a,b,c)
|
||||
#endif
|
||||
|
||||
/* Visual Studio defines this in their own headers, which we don't use */
|
||||
#ifndef snprintf
|
||||
#define snprintf _snprintf
|
||||
#pragma warning(disable:4996) /* deprecation warning suggesting snprintf_s */
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#ifdef __BORLANDC__
|
||||
#undef randomize
|
||||
#undef random
|
||||
|
||||
17
src/sp_lev.c
17
src/sp_lev.c
@@ -3440,20 +3440,21 @@ line_dist_coord(x1,y1, x2,y2, x3,y3)
|
||||
{
|
||||
long px = x2-x1;
|
||||
long py = y2-y1;
|
||||
long s = px*px + py*py;
|
||||
long x, y, dx, dy, dist = 0;
|
||||
float u = 0;
|
||||
|
||||
if (x1 == x2 && y1 == y2) return isqrt(dist2(x1,y1, x3,y3));
|
||||
|
||||
long s = px*px + py*py;
|
||||
float u = ((x3 - x1) * px + (y3 - y1) * py) / (float)s;
|
||||
|
||||
u = ((x3 - x1) * px + (y3 - y1) * py) / (float)s;
|
||||
if (u > 1) u = 1;
|
||||
else if (u < 0) u = 0;
|
||||
|
||||
long x = x1 + u * px;
|
||||
long y = y1 + u * py;
|
||||
long dx = x - x3;
|
||||
long dy = y - y3;
|
||||
long dist = isqrt(dx*dx + dy*dy);
|
||||
x = x1 + u * px;
|
||||
y = y1 + u * py;
|
||||
dx = x - x3;
|
||||
dy = y - y3;
|
||||
dist = isqrt(dx*dx + dy*dy);
|
||||
|
||||
return dist;
|
||||
}
|
||||
|
||||
@@ -1,79 +1,451 @@
|
||||
#define CHAR 257
|
||||
#define INTEGER 258
|
||||
#define BOOLEAN 259
|
||||
#define PERCENT 260
|
||||
#define MESSAGE_ID 261
|
||||
#define MAZE_ID 262
|
||||
#define LEVEL_ID 263
|
||||
#define LEV_INIT_ID 264
|
||||
#define GEOMETRY_ID 265
|
||||
#define NOMAP_ID 266
|
||||
#define OBJECT_ID 267
|
||||
#define COBJECT_ID 268
|
||||
#define MONSTER_ID 269
|
||||
#define TRAP_ID 270
|
||||
#define DOOR_ID 271
|
||||
#define DRAWBRIDGE_ID 272
|
||||
#define MAZEWALK_ID 273
|
||||
#define WALLIFY_ID 274
|
||||
#define REGION_ID 275
|
||||
#define FILLING 276
|
||||
#define RANDOM_OBJECTS_ID 277
|
||||
#define RANDOM_MONSTERS_ID 278
|
||||
#define RANDOM_PLACES_ID 279
|
||||
#define ALTAR_ID 280
|
||||
#define LADDER_ID 281
|
||||
#define STAIR_ID 282
|
||||
#define NON_DIGGABLE_ID 283
|
||||
#define NON_PASSWALL_ID 284
|
||||
#define ROOM_ID 285
|
||||
#define PORTAL_ID 286
|
||||
#define TELEPRT_ID 287
|
||||
#define BRANCH_ID 288
|
||||
#define LEV 289
|
||||
#define CHANCE_ID 290
|
||||
#define CORRIDOR_ID 291
|
||||
#define GOLD_ID 292
|
||||
#define ENGRAVING_ID 293
|
||||
#define FOUNTAIN_ID 294
|
||||
#define POOL_ID 295
|
||||
#define SINK_ID 296
|
||||
#define NONE 297
|
||||
#define RAND_CORRIDOR_ID 298
|
||||
#define DOOR_STATE 299
|
||||
#define LIGHT_STATE 300
|
||||
#define CURSE_TYPE 301
|
||||
#define ENGRAVING_TYPE 302
|
||||
#define DIRECTION 303
|
||||
#define RANDOM_TYPE 304
|
||||
#define O_REGISTER 305
|
||||
#define M_REGISTER 306
|
||||
#define P_REGISTER 307
|
||||
#define A_REGISTER 308
|
||||
#define ALIGNMENT 309
|
||||
#define LEFT_OR_RIGHT 310
|
||||
#define CENTER 311
|
||||
#define TOP_OR_BOT 312
|
||||
#define ALTAR_TYPE 313
|
||||
#define UP_OR_DOWN 314
|
||||
#define SUBROOM_ID 315
|
||||
#define NAME_ID 316
|
||||
#define FLAGS_ID 317
|
||||
#define FLAG_TYPE 318
|
||||
#define MON_ATTITUDE 319
|
||||
#define MON_ALERTNESS 320
|
||||
#define MON_APPEARANCE 321
|
||||
#define CONTAINED 322
|
||||
#define STRING 323
|
||||
#define MAP_ID 324
|
||||
typedef union
|
||||
|
||||
/* A Bison parser, made by GNU Bison 2.4.1. */
|
||||
|
||||
/* Skeleton interface for Bison's Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* As a special exception, you may create a larger work that contains
|
||||
part or all of the Bison parser skeleton and distribute that work
|
||||
under terms of your choice, so long as that work isn't itself a
|
||||
parser generator using the skeleton or a modified version thereof
|
||||
as a parser skeleton. Alternatively, if you modify or redistribute
|
||||
the parser skeleton itself, you may (at your option) remove this
|
||||
special exception, which will cause the skeleton and the resulting
|
||||
Bison output files to be licensed under the GNU General Public
|
||||
License without this special exception.
|
||||
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
|
||||
/* Tokens. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||||
know about them. */
|
||||
enum yytokentype {
|
||||
CHAR = 258,
|
||||
INTEGER = 259,
|
||||
BOOLEAN = 260,
|
||||
PERCENT = 261,
|
||||
SPERCENT = 262,
|
||||
MINUS_INTEGER = 263,
|
||||
PLUS_INTEGER = 264,
|
||||
MAZE_GRID_ID = 265,
|
||||
SOLID_FILL_ID = 266,
|
||||
MINES_ID = 267,
|
||||
ROGUELEV_ID = 268,
|
||||
MESSAGE_ID = 269,
|
||||
MAZE_ID = 270,
|
||||
LEVEL_ID = 271,
|
||||
LEV_INIT_ID = 272,
|
||||
GEOMETRY_ID = 273,
|
||||
NOMAP_ID = 274,
|
||||
OBJECT_ID = 275,
|
||||
COBJECT_ID = 276,
|
||||
MONSTER_ID = 277,
|
||||
TRAP_ID = 278,
|
||||
DOOR_ID = 279,
|
||||
DRAWBRIDGE_ID = 280,
|
||||
object_ID = 281,
|
||||
monster_ID = 282,
|
||||
terrain_ID = 283,
|
||||
MAZEWALK_ID = 284,
|
||||
WALLIFY_ID = 285,
|
||||
REGION_ID = 286,
|
||||
FILLING = 287,
|
||||
IRREGULAR = 288,
|
||||
JOINED = 289,
|
||||
ALTAR_ID = 290,
|
||||
LADDER_ID = 291,
|
||||
STAIR_ID = 292,
|
||||
NON_DIGGABLE_ID = 293,
|
||||
NON_PASSWALL_ID = 294,
|
||||
ROOM_ID = 295,
|
||||
PORTAL_ID = 296,
|
||||
TELEPRT_ID = 297,
|
||||
BRANCH_ID = 298,
|
||||
LEV = 299,
|
||||
MINERALIZE_ID = 300,
|
||||
CORRIDOR_ID = 301,
|
||||
GOLD_ID = 302,
|
||||
ENGRAVING_ID = 303,
|
||||
FOUNTAIN_ID = 304,
|
||||
POOL_ID = 305,
|
||||
SINK_ID = 306,
|
||||
NONE = 307,
|
||||
RAND_CORRIDOR_ID = 308,
|
||||
DOOR_STATE = 309,
|
||||
LIGHT_STATE = 310,
|
||||
CURSE_TYPE = 311,
|
||||
ENGRAVING_TYPE = 312,
|
||||
DIRECTION = 313,
|
||||
RANDOM_TYPE = 314,
|
||||
RANDOM_TYPE_BRACKET = 315,
|
||||
A_REGISTER = 316,
|
||||
ALIGNMENT = 317,
|
||||
LEFT_OR_RIGHT = 318,
|
||||
CENTER = 319,
|
||||
TOP_OR_BOT = 320,
|
||||
ALTAR_TYPE = 321,
|
||||
UP_OR_DOWN = 322,
|
||||
SUBROOM_ID = 323,
|
||||
NAME_ID = 324,
|
||||
FLAGS_ID = 325,
|
||||
FLAG_TYPE = 326,
|
||||
MON_ATTITUDE = 327,
|
||||
MON_ALERTNESS = 328,
|
||||
MON_APPEARANCE = 329,
|
||||
ROOMDOOR_ID = 330,
|
||||
IF_ID = 331,
|
||||
ELSE_ID = 332,
|
||||
TERRAIN_ID = 333,
|
||||
HORIZ_OR_VERT = 334,
|
||||
REPLACE_TERRAIN_ID = 335,
|
||||
EXIT_ID = 336,
|
||||
SHUFFLE_ID = 337,
|
||||
QUANTITY_ID = 338,
|
||||
BURIED_ID = 339,
|
||||
LOOP_ID = 340,
|
||||
FOR_ID = 341,
|
||||
TO_ID = 342,
|
||||
SWITCH_ID = 343,
|
||||
CASE_ID = 344,
|
||||
BREAK_ID = 345,
|
||||
DEFAULT_ID = 346,
|
||||
ERODED_ID = 347,
|
||||
TRAPPED_ID = 348,
|
||||
RECHARGED_ID = 349,
|
||||
INVIS_ID = 350,
|
||||
GREASED_ID = 351,
|
||||
FEMALE_ID = 352,
|
||||
CANCELLED_ID = 353,
|
||||
REVIVED_ID = 354,
|
||||
AVENGE_ID = 355,
|
||||
FLEEING_ID = 356,
|
||||
BLINDED_ID = 357,
|
||||
PARALYZED_ID = 358,
|
||||
STUNNED_ID = 359,
|
||||
CONFUSED_ID = 360,
|
||||
SEENTRAPS_ID = 361,
|
||||
ALL_ID = 362,
|
||||
MONTYPE_ID = 363,
|
||||
GRAVE_ID = 364,
|
||||
ERODEPROOF_ID = 365,
|
||||
FUNCTION_ID = 366,
|
||||
MSG_OUTPUT_TYPE = 367,
|
||||
COMPARE_TYPE = 368,
|
||||
UNKNOWN_TYPE = 369,
|
||||
rect_ID = 370,
|
||||
fillrect_ID = 371,
|
||||
line_ID = 372,
|
||||
randline_ID = 373,
|
||||
grow_ID = 374,
|
||||
selection_ID = 375,
|
||||
flood_ID = 376,
|
||||
rndcoord_ID = 377,
|
||||
circle_ID = 378,
|
||||
ellipse_ID = 379,
|
||||
filter_ID = 380,
|
||||
complement_ID = 381,
|
||||
gradient_ID = 382,
|
||||
GRADIENT_TYPE = 383,
|
||||
LIMITED = 384,
|
||||
HUMIDITY_TYPE = 385,
|
||||
STRING = 386,
|
||||
MAP_ID = 387,
|
||||
NQSTRING = 388,
|
||||
VARSTRING = 389,
|
||||
CFUNC = 390,
|
||||
CFUNC_INT = 391,
|
||||
CFUNC_STR = 392,
|
||||
CFUNC_COORD = 393,
|
||||
CFUNC_REGION = 394,
|
||||
VARSTRING_INT = 395,
|
||||
VARSTRING_INT_ARRAY = 396,
|
||||
VARSTRING_STRING = 397,
|
||||
VARSTRING_STRING_ARRAY = 398,
|
||||
VARSTRING_VAR = 399,
|
||||
VARSTRING_VAR_ARRAY = 400,
|
||||
VARSTRING_COORD = 401,
|
||||
VARSTRING_COORD_ARRAY = 402,
|
||||
VARSTRING_REGION = 403,
|
||||
VARSTRING_REGION_ARRAY = 404,
|
||||
VARSTRING_MAPCHAR = 405,
|
||||
VARSTRING_MAPCHAR_ARRAY = 406,
|
||||
VARSTRING_MONST = 407,
|
||||
VARSTRING_MONST_ARRAY = 408,
|
||||
VARSTRING_OBJ = 409,
|
||||
VARSTRING_OBJ_ARRAY = 410,
|
||||
VARSTRING_SEL = 411,
|
||||
VARSTRING_SEL_ARRAY = 412,
|
||||
METHOD_INT = 413,
|
||||
METHOD_INT_ARRAY = 414,
|
||||
METHOD_STRING = 415,
|
||||
METHOD_STRING_ARRAY = 416,
|
||||
METHOD_VAR = 417,
|
||||
METHOD_VAR_ARRAY = 418,
|
||||
METHOD_COORD = 419,
|
||||
METHOD_COORD_ARRAY = 420,
|
||||
METHOD_REGION = 421,
|
||||
METHOD_REGION_ARRAY = 422,
|
||||
METHOD_MAPCHAR = 423,
|
||||
METHOD_MAPCHAR_ARRAY = 424,
|
||||
METHOD_MONST = 425,
|
||||
METHOD_MONST_ARRAY = 426,
|
||||
METHOD_OBJ = 427,
|
||||
METHOD_OBJ_ARRAY = 428,
|
||||
METHOD_SEL = 429,
|
||||
METHOD_SEL_ARRAY = 430,
|
||||
DICE = 431
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define CHAR 258
|
||||
#define INTEGER 259
|
||||
#define BOOLEAN 260
|
||||
#define PERCENT 261
|
||||
#define SPERCENT 262
|
||||
#define MINUS_INTEGER 263
|
||||
#define PLUS_INTEGER 264
|
||||
#define MAZE_GRID_ID 265
|
||||
#define SOLID_FILL_ID 266
|
||||
#define MINES_ID 267
|
||||
#define ROGUELEV_ID 268
|
||||
#define MESSAGE_ID 269
|
||||
#define MAZE_ID 270
|
||||
#define LEVEL_ID 271
|
||||
#define LEV_INIT_ID 272
|
||||
#define GEOMETRY_ID 273
|
||||
#define NOMAP_ID 274
|
||||
#define OBJECT_ID 275
|
||||
#define COBJECT_ID 276
|
||||
#define MONSTER_ID 277
|
||||
#define TRAP_ID 278
|
||||
#define DOOR_ID 279
|
||||
#define DRAWBRIDGE_ID 280
|
||||
#define object_ID 281
|
||||
#define monster_ID 282
|
||||
#define terrain_ID 283
|
||||
#define MAZEWALK_ID 284
|
||||
#define WALLIFY_ID 285
|
||||
#define REGION_ID 286
|
||||
#define FILLING 287
|
||||
#define IRREGULAR 288
|
||||
#define JOINED 289
|
||||
#define ALTAR_ID 290
|
||||
#define LADDER_ID 291
|
||||
#define STAIR_ID 292
|
||||
#define NON_DIGGABLE_ID 293
|
||||
#define NON_PASSWALL_ID 294
|
||||
#define ROOM_ID 295
|
||||
#define PORTAL_ID 296
|
||||
#define TELEPRT_ID 297
|
||||
#define BRANCH_ID 298
|
||||
#define LEV 299
|
||||
#define MINERALIZE_ID 300
|
||||
#define CORRIDOR_ID 301
|
||||
#define GOLD_ID 302
|
||||
#define ENGRAVING_ID 303
|
||||
#define FOUNTAIN_ID 304
|
||||
#define POOL_ID 305
|
||||
#define SINK_ID 306
|
||||
#define NONE 307
|
||||
#define RAND_CORRIDOR_ID 308
|
||||
#define DOOR_STATE 309
|
||||
#define LIGHT_STATE 310
|
||||
#define CURSE_TYPE 311
|
||||
#define ENGRAVING_TYPE 312
|
||||
#define DIRECTION 313
|
||||
#define RANDOM_TYPE 314
|
||||
#define RANDOM_TYPE_BRACKET 315
|
||||
#define A_REGISTER 316
|
||||
#define ALIGNMENT 317
|
||||
#define LEFT_OR_RIGHT 318
|
||||
#define CENTER 319
|
||||
#define TOP_OR_BOT 320
|
||||
#define ALTAR_TYPE 321
|
||||
#define UP_OR_DOWN 322
|
||||
#define SUBROOM_ID 323
|
||||
#define NAME_ID 324
|
||||
#define FLAGS_ID 325
|
||||
#define FLAG_TYPE 326
|
||||
#define MON_ATTITUDE 327
|
||||
#define MON_ALERTNESS 328
|
||||
#define MON_APPEARANCE 329
|
||||
#define ROOMDOOR_ID 330
|
||||
#define IF_ID 331
|
||||
#define ELSE_ID 332
|
||||
#define TERRAIN_ID 333
|
||||
#define HORIZ_OR_VERT 334
|
||||
#define REPLACE_TERRAIN_ID 335
|
||||
#define EXIT_ID 336
|
||||
#define SHUFFLE_ID 337
|
||||
#define QUANTITY_ID 338
|
||||
#define BURIED_ID 339
|
||||
#define LOOP_ID 340
|
||||
#define FOR_ID 341
|
||||
#define TO_ID 342
|
||||
#define SWITCH_ID 343
|
||||
#define CASE_ID 344
|
||||
#define BREAK_ID 345
|
||||
#define DEFAULT_ID 346
|
||||
#define ERODED_ID 347
|
||||
#define TRAPPED_ID 348
|
||||
#define RECHARGED_ID 349
|
||||
#define INVIS_ID 350
|
||||
#define GREASED_ID 351
|
||||
#define FEMALE_ID 352
|
||||
#define CANCELLED_ID 353
|
||||
#define REVIVED_ID 354
|
||||
#define AVENGE_ID 355
|
||||
#define FLEEING_ID 356
|
||||
#define BLINDED_ID 357
|
||||
#define PARALYZED_ID 358
|
||||
#define STUNNED_ID 359
|
||||
#define CONFUSED_ID 360
|
||||
#define SEENTRAPS_ID 361
|
||||
#define ALL_ID 362
|
||||
#define MONTYPE_ID 363
|
||||
#define GRAVE_ID 364
|
||||
#define ERODEPROOF_ID 365
|
||||
#define FUNCTION_ID 366
|
||||
#define MSG_OUTPUT_TYPE 367
|
||||
#define COMPARE_TYPE 368
|
||||
#define UNKNOWN_TYPE 369
|
||||
#define rect_ID 370
|
||||
#define fillrect_ID 371
|
||||
#define line_ID 372
|
||||
#define randline_ID 373
|
||||
#define grow_ID 374
|
||||
#define selection_ID 375
|
||||
#define flood_ID 376
|
||||
#define rndcoord_ID 377
|
||||
#define circle_ID 378
|
||||
#define ellipse_ID 379
|
||||
#define filter_ID 380
|
||||
#define complement_ID 381
|
||||
#define gradient_ID 382
|
||||
#define GRADIENT_TYPE 383
|
||||
#define LIMITED 384
|
||||
#define HUMIDITY_TYPE 385
|
||||
#define STRING 386
|
||||
#define MAP_ID 387
|
||||
#define NQSTRING 388
|
||||
#define VARSTRING 389
|
||||
#define CFUNC 390
|
||||
#define CFUNC_INT 391
|
||||
#define CFUNC_STR 392
|
||||
#define CFUNC_COORD 393
|
||||
#define CFUNC_REGION 394
|
||||
#define VARSTRING_INT 395
|
||||
#define VARSTRING_INT_ARRAY 396
|
||||
#define VARSTRING_STRING 397
|
||||
#define VARSTRING_STRING_ARRAY 398
|
||||
#define VARSTRING_VAR 399
|
||||
#define VARSTRING_VAR_ARRAY 400
|
||||
#define VARSTRING_COORD 401
|
||||
#define VARSTRING_COORD_ARRAY 402
|
||||
#define VARSTRING_REGION 403
|
||||
#define VARSTRING_REGION_ARRAY 404
|
||||
#define VARSTRING_MAPCHAR 405
|
||||
#define VARSTRING_MAPCHAR_ARRAY 406
|
||||
#define VARSTRING_MONST 407
|
||||
#define VARSTRING_MONST_ARRAY 408
|
||||
#define VARSTRING_OBJ 409
|
||||
#define VARSTRING_OBJ_ARRAY 410
|
||||
#define VARSTRING_SEL 411
|
||||
#define VARSTRING_SEL_ARRAY 412
|
||||
#define METHOD_INT 413
|
||||
#define METHOD_INT_ARRAY 414
|
||||
#define METHOD_STRING 415
|
||||
#define METHOD_STRING_ARRAY 416
|
||||
#define METHOD_VAR 417
|
||||
#define METHOD_VAR_ARRAY 418
|
||||
#define METHOD_COORD 419
|
||||
#define METHOD_COORD_ARRAY 420
|
||||
#define METHOD_REGION 421
|
||||
#define METHOD_REGION_ARRAY 422
|
||||
#define METHOD_MAPCHAR 423
|
||||
#define METHOD_MAPCHAR_ARRAY 424
|
||||
#define METHOD_MONST 425
|
||||
#define METHOD_MONST_ARRAY 426
|
||||
#define METHOD_OBJ 427
|
||||
#define METHOD_OBJ_ARRAY 428
|
||||
#define METHOD_SEL 429
|
||||
#define METHOD_SEL_ARRAY 430
|
||||
#define DICE 431
|
||||
|
||||
|
||||
|
||||
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
typedef union YYSTYPE
|
||||
{
|
||||
int i;
|
||||
|
||||
/* Line 1676 of yacc.c */
|
||||
#line 146 "lev_comp.y"
|
||||
|
||||
long i;
|
||||
char* map;
|
||||
struct {
|
||||
xchar room;
|
||||
xchar wall;
|
||||
xchar door;
|
||||
long room;
|
||||
long wall;
|
||||
long door;
|
||||
} corpos;
|
||||
struct {
|
||||
long area;
|
||||
long x1;
|
||||
long y1;
|
||||
long x2;
|
||||
long y2;
|
||||
} lregn;
|
||||
struct {
|
||||
long x;
|
||||
long y;
|
||||
} crd;
|
||||
struct {
|
||||
long ter;
|
||||
long lit;
|
||||
} terr;
|
||||
struct {
|
||||
long height;
|
||||
long width;
|
||||
} sze;
|
||||
struct {
|
||||
long die;
|
||||
long num;
|
||||
} dice;
|
||||
struct {
|
||||
long cfunc;
|
||||
char *varstr;
|
||||
} meth;
|
||||
|
||||
|
||||
|
||||
/* Line 1676 of yacc.c */
|
||||
#line 443 "y.tab.h"
|
||||
} YYSTYPE;
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
#endif
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
|
||||
|
||||
|
||||
2393
sys/share/lev_lex.c
2393
sys/share/lev_lex.c
File diff suppressed because it is too large
Load Diff
8384
sys/share/lev_yacc.c
8384
sys/share/lev_yacc.c
File diff suppressed because it is too large
Load Diff
@@ -697,7 +697,7 @@ funcdef_defined(f, name, casesense)
|
||||
if (casesense) {
|
||||
if (!strcmp(name, f->name)) return f;
|
||||
} else {
|
||||
if (!strcasecmp(name, f->name)) return f;
|
||||
if (!strcmpi(name, f->name)) return f;
|
||||
}
|
||||
f = f->next;
|
||||
}
|
||||
@@ -748,7 +748,7 @@ vardef_defined(f, name, casesense)
|
||||
if (casesense) {
|
||||
if (!strcmp(name, f->name)) return f;
|
||||
} else {
|
||||
if (!strcasecmp(name, f->name)) return f;
|
||||
if (!strcmpi(name, f->name)) return f;
|
||||
}
|
||||
f = f->next;
|
||||
}
|
||||
@@ -988,7 +988,7 @@ char c;
|
||||
/* didn't find it; lets try case insensitive search */
|
||||
for (i = LOW_PM; i < NUMMONS; i++)
|
||||
if (!class || class == mons[i].mlet)
|
||||
if (!strcasecmp(s, mons[i].mname)) {
|
||||
if (!strcmpi(s, mons[i].mname)) {
|
||||
if (be_verbose)
|
||||
lc_warning("Monster type \"%s\" matches \"%s\".", s, mons[i].mname);
|
||||
return i;
|
||||
@@ -1020,7 +1020,7 @@ char c; /* class */
|
||||
for (i = class ? bases[class] : 0; i < NUM_OBJECTS; i++) {
|
||||
if (class && objects[i].oc_class != class) break;
|
||||
objname = obj_descr[i].oc_name;
|
||||
if (objname && !strcasecmp(s, objname)) {
|
||||
if (objname && !strcmpi(s, objname)) {
|
||||
if (be_verbose)
|
||||
lc_warning("Object type \"%s\" matches \"%s\".", s, objname);
|
||||
return i;
|
||||
|
||||
@@ -1,26 +1,20 @@
|
||||
# $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$
|
||||
# $Date:2002/01/22 22:54:54 $ $Revision: 1.2 $
|
||||
#YACC = byacc.exe
|
||||
#LEX = flex.exe
|
||||
#YTABC = y_tab.c
|
||||
#YTABH = y_tab.h
|
||||
#LEXYYC = lexyy.c
|
||||
|
||||
!IF "$(YACC)"!=""
|
||||
@echo Yacc-alike set to $(YACC)
|
||||
@echo YTABC set to $(YTABC)
|
||||
@echo YTABH set to $(YTABH)
|
||||
!ENDIF
|
||||
|
||||
!IF "$(LEX)"!=""
|
||||
@echo Lex-alike set to $(LEX)
|
||||
@echo LEXYYC set to $(LEXYYC)
|
||||
!ENDIF
|
||||
# Uncomment as appropriate for your form of YACC/LEX.
|
||||
#
|
||||
#YACC = yacc.exe
|
||||
#YACC = byacc.exe
|
||||
YACC = bison.exe -y
|
||||
#
|
||||
#LEX = lex.exe
|
||||
LEX = flex.exe
|
||||
|
||||
# these won't have an impact unless YACC/LEX are defined
|
||||
YTABC = y.tab.c
|
||||
YTABH = y.tab.h
|
||||
LEXYYC = lex.yy.c
|
||||
|
||||
default: all
|
||||
|
||||
all: ..\util\lev_yacc.c ..\util\lev_lex.c
|
||||
all: tools ..\util\lev_yacc.c ..\util\lev_lex.c
|
||||
|
||||
rebuild: clean all
|
||||
|
||||
@@ -29,15 +23,29 @@ clean:
|
||||
-del ..\util\lev_yacc.c
|
||||
-del ..\include\lev_comp.h
|
||||
|
||||
tools:
|
||||
!IFDEF YACC
|
||||
@echo Yacc-alike set to $(YACC)
|
||||
@echo YTABC set to $(YTABC)
|
||||
@echo YTABH set to $(YTABH)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF LEX
|
||||
@echo Lex-alike set to $(LEX)
|
||||
@echo LEXYYC set to $(LEXYYC)
|
||||
!ENDIF
|
||||
|
||||
#==========================================
|
||||
# Level Compiler Stuff
|
||||
#==========================================
|
||||
|
||||
..\util\lev_yacc.c ..\include\lev_comp.h: ..\util\lev_comp.y
|
||||
!IF "$(YACC)"==""
|
||||
!IFNDEF YACC
|
||||
@echo Using pre-built lev_yacc.c and lev_comp.h
|
||||
@copy ..\sys\share\lev_yacc.c ..\util\lev_yacc.c
|
||||
@copy ..\sys\share\lev_comp.h ..\include\lev_comp.h
|
||||
!ELSE
|
||||
@echo Generating lev_yacc.c and lev_comp.h
|
||||
chdir ..\util
|
||||
$(YACC) -d lev_comp.y
|
||||
copy $(YTABC) $@
|
||||
@@ -48,10 +56,11 @@ clean:
|
||||
!ENDIF
|
||||
|
||||
..\util\lev_lex.c: ..\util\lev_comp.l
|
||||
!IF "$(LEX)"==""
|
||||
!IFNDEF LEX
|
||||
@echo Using pre-built lev_lex.c
|
||||
@copy ..\sys\share\lev_lex.c $@
|
||||
!ELSE
|
||||
@echo Generating lev_lex.c
|
||||
chdir ..\util
|
||||
$(LEX) lev_comp.l
|
||||
copy $(LEXYYC) $@
|
||||
|
||||
Reference in New Issue
Block a user