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
|
# Win32-specific ignores
|
||||||
binary/
|
binary/
|
||||||
build/
|
build/
|
||||||
|
ipch/
|
||||||
Nethack.sln
|
Nethack.sln
|
||||||
Nethack.sdf
|
Nethack.sdf
|
||||||
Nethack.opensdf
|
Nethack.opensdf
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ OBJECT:('%',"corpse"),random,montype:"watch captain"
|
|||||||
|
|
||||||
# Rubble!
|
# Rubble!
|
||||||
LOOP [9 + 2d5] {
|
LOOP [9 + 2d5] {
|
||||||
OBJECT[90%]:('`',"boulder"),random
|
[90%]: OBJECT:('`',"boulder"),random
|
||||||
OBJECT:('*',"rock"),random
|
OBJECT:('*',"rock"),random
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,9 +158,15 @@ $inside = selection: floodfill(18,8)
|
|||||||
$near_temple = selection: filter(fillrect(17,8, 23,14), $inside)
|
$near_temple = selection: filter(fillrect(17,8, 23,14), $inside)
|
||||||
|
|
||||||
LOOP [5 + 1d10] {
|
LOOP [5 + 1d10] {
|
||||||
MONSTER[50%]: ('o', "orc-captain"), rndcoord($inside), hostile
|
IF [50%] {
|
||||||
MONSTER[80%]: ('o', "Uruk-hai"), rndcoord($inside), hostile
|
MONSTER: ('o', "orc-captain"), rndcoord($inside), hostile
|
||||||
MONSTER: ('o', "Mordor orc"), 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
|
# shamans can be hanging out in/near the temple
|
||||||
LOOP [2d3] {
|
LOOP [2d3] {
|
||||||
@@ -169,11 +175,14 @@ LOOP [2d3] {
|
|||||||
# these are not such a big deal
|
# these are not such a big deal
|
||||||
# to run into outside the bars
|
# to run into outside the bars
|
||||||
LOOP [9 + 2d5] {
|
LOOP [9 + 2d5] {
|
||||||
MONSTER[90%]: ('o', "hill orc"), random, hostile
|
IF [90%] {
|
||||||
MONSTER: ('o', "goblin"), random, hostile
|
MONSTER: ('o', "hill orc"), random, hostile
|
||||||
|
} ELSE {
|
||||||
|
MONSTER: ('o', "goblin"), random, hostile
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WALLIFY:(1,0, 70,20)
|
WALLIFY
|
||||||
|
|
||||||
|
|
||||||
# Minetown variant 2
|
# Minetown variant 2
|
||||||
|
|||||||
@@ -124,8 +124,15 @@ extern void FDECL(interject, (int));
|
|||||||
#define strncmpi(a,b,c) strnicmp(a,b,c)
|
#define strncmpi(a,b,c) strnicmp(a,b,c)
|
||||||
#endif
|
#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 <sys/types.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
#undef randomize
|
#undef randomize
|
||||||
#undef random
|
#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 px = x2-x1;
|
||||||
long py = y2-y1;
|
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));
|
if (x1 == x2 && y1 == y2) return isqrt(dist2(x1,y1, x3,y3));
|
||||||
|
|
||||||
long s = px*px + py*py;
|
u = ((x3 - x1) * px + (y3 - y1) * py) / (float)s;
|
||||||
float u = ((x3 - x1) * px + (y3 - y1) * py) / (float)s;
|
|
||||||
|
|
||||||
if (u > 1) u = 1;
|
if (u > 1) u = 1;
|
||||||
else if (u < 0) u = 0;
|
else if (u < 0) u = 0;
|
||||||
|
|
||||||
long x = x1 + u * px;
|
x = x1 + u * px;
|
||||||
long y = y1 + u * py;
|
y = y1 + u * py;
|
||||||
long dx = x - x3;
|
dx = x - x3;
|
||||||
long dy = y - y3;
|
dy = y - y3;
|
||||||
long dist = isqrt(dx*dx + dy*dy);
|
dist = isqrt(dx*dx + dy*dy);
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,79 +1,451 @@
|
|||||||
#define CHAR 257
|
|
||||||
#define INTEGER 258
|
/* A Bison parser, made by GNU Bison 2.4.1. */
|
||||||
#define BOOLEAN 259
|
|
||||||
#define PERCENT 260
|
/* Skeleton interface for Bison's Yacc-like parsers in C
|
||||||
#define MESSAGE_ID 261
|
|
||||||
#define MAZE_ID 262
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||||
#define LEVEL_ID 263
|
Free Software Foundation, Inc.
|
||||||
#define LEV_INIT_ID 264
|
|
||||||
#define GEOMETRY_ID 265
|
This program is free software: you can redistribute it and/or modify
|
||||||
#define NOMAP_ID 266
|
it under the terms of the GNU General Public License as published by
|
||||||
#define OBJECT_ID 267
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
#define COBJECT_ID 268
|
(at your option) any later version.
|
||||||
#define MONSTER_ID 269
|
|
||||||
#define TRAP_ID 270
|
This program is distributed in the hope that it will be useful,
|
||||||
#define DOOR_ID 271
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
#define DRAWBRIDGE_ID 272
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
#define MAZEWALK_ID 273
|
GNU General Public License for more details.
|
||||||
#define WALLIFY_ID 274
|
|
||||||
#define REGION_ID 275
|
You should have received a copy of the GNU General Public License
|
||||||
#define FILLING 276
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
#define RANDOM_OBJECTS_ID 277
|
|
||||||
#define RANDOM_MONSTERS_ID 278
|
/* As a special exception, you may create a larger work that contains
|
||||||
#define RANDOM_PLACES_ID 279
|
part or all of the Bison parser skeleton and distribute that work
|
||||||
#define ALTAR_ID 280
|
under terms of your choice, so long as that work isn't itself a
|
||||||
#define LADDER_ID 281
|
parser generator using the skeleton or a modified version thereof
|
||||||
#define STAIR_ID 282
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
||||||
#define NON_DIGGABLE_ID 283
|
the parser skeleton itself, you may (at your option) remove this
|
||||||
#define NON_PASSWALL_ID 284
|
special exception, which will cause the skeleton and the resulting
|
||||||
#define ROOM_ID 285
|
Bison output files to be licensed under the GNU General Public
|
||||||
#define PORTAL_ID 286
|
License without this special exception.
|
||||||
#define TELEPRT_ID 287
|
|
||||||
#define BRANCH_ID 288
|
This special exception was added by the Free Software Foundation in
|
||||||
#define LEV 289
|
version 2.2 of Bison. */
|
||||||
#define CHANCE_ID 290
|
|
||||||
#define CORRIDOR_ID 291
|
|
||||||
#define GOLD_ID 292
|
/* Tokens. */
|
||||||
#define ENGRAVING_ID 293
|
#ifndef YYTOKENTYPE
|
||||||
#define FOUNTAIN_ID 294
|
# define YYTOKENTYPE
|
||||||
#define POOL_ID 295
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||||||
#define SINK_ID 296
|
know about them. */
|
||||||
#define NONE 297
|
enum yytokentype {
|
||||||
#define RAND_CORRIDOR_ID 298
|
CHAR = 258,
|
||||||
#define DOOR_STATE 299
|
INTEGER = 259,
|
||||||
#define LIGHT_STATE 300
|
BOOLEAN = 260,
|
||||||
#define CURSE_TYPE 301
|
PERCENT = 261,
|
||||||
#define ENGRAVING_TYPE 302
|
SPERCENT = 262,
|
||||||
#define DIRECTION 303
|
MINUS_INTEGER = 263,
|
||||||
#define RANDOM_TYPE 304
|
PLUS_INTEGER = 264,
|
||||||
#define O_REGISTER 305
|
MAZE_GRID_ID = 265,
|
||||||
#define M_REGISTER 306
|
SOLID_FILL_ID = 266,
|
||||||
#define P_REGISTER 307
|
MINES_ID = 267,
|
||||||
#define A_REGISTER 308
|
ROGUELEV_ID = 268,
|
||||||
#define ALIGNMENT 309
|
MESSAGE_ID = 269,
|
||||||
#define LEFT_OR_RIGHT 310
|
MAZE_ID = 270,
|
||||||
#define CENTER 311
|
LEVEL_ID = 271,
|
||||||
#define TOP_OR_BOT 312
|
LEV_INIT_ID = 272,
|
||||||
#define ALTAR_TYPE 313
|
GEOMETRY_ID = 273,
|
||||||
#define UP_OR_DOWN 314
|
NOMAP_ID = 274,
|
||||||
#define SUBROOM_ID 315
|
OBJECT_ID = 275,
|
||||||
#define NAME_ID 316
|
COBJECT_ID = 276,
|
||||||
#define FLAGS_ID 317
|
MONSTER_ID = 277,
|
||||||
#define FLAG_TYPE 318
|
TRAP_ID = 278,
|
||||||
#define MON_ATTITUDE 319
|
DOOR_ID = 279,
|
||||||
#define MON_ALERTNESS 320
|
DRAWBRIDGE_ID = 280,
|
||||||
#define MON_APPEARANCE 321
|
object_ID = 281,
|
||||||
#define CONTAINED 322
|
monster_ID = 282,
|
||||||
#define STRING 323
|
terrain_ID = 283,
|
||||||
#define MAP_ID 324
|
MAZEWALK_ID = 284,
|
||||||
typedef union
|
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;
|
char* map;
|
||||||
struct {
|
struct {
|
||||||
xchar room;
|
long room;
|
||||||
xchar wall;
|
long wall;
|
||||||
xchar door;
|
long door;
|
||||||
} corpos;
|
} 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;
|
} YYSTYPE;
|
||||||
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||||
|
# define YYSTYPE_IS_DECLARED 1
|
||||||
|
#endif
|
||||||
|
|
||||||
extern YYSTYPE yylval;
|
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 (casesense) {
|
||||||
if (!strcmp(name, f->name)) return f;
|
if (!strcmp(name, f->name)) return f;
|
||||||
} else {
|
} else {
|
||||||
if (!strcasecmp(name, f->name)) return f;
|
if (!strcmpi(name, f->name)) return f;
|
||||||
}
|
}
|
||||||
f = f->next;
|
f = f->next;
|
||||||
}
|
}
|
||||||
@@ -748,7 +748,7 @@ vardef_defined(f, name, casesense)
|
|||||||
if (casesense) {
|
if (casesense) {
|
||||||
if (!strcmp(name, f->name)) return f;
|
if (!strcmp(name, f->name)) return f;
|
||||||
} else {
|
} else {
|
||||||
if (!strcasecmp(name, f->name)) return f;
|
if (!strcmpi(name, f->name)) return f;
|
||||||
}
|
}
|
||||||
f = f->next;
|
f = f->next;
|
||||||
}
|
}
|
||||||
@@ -988,7 +988,7 @@ char c;
|
|||||||
/* didn't find it; lets try case insensitive search */
|
/* didn't find it; lets try case insensitive search */
|
||||||
for (i = LOW_PM; i < NUMMONS; i++)
|
for (i = LOW_PM; i < NUMMONS; i++)
|
||||||
if (!class || class == mons[i].mlet)
|
if (!class || class == mons[i].mlet)
|
||||||
if (!strcasecmp(s, mons[i].mname)) {
|
if (!strcmpi(s, mons[i].mname)) {
|
||||||
if (be_verbose)
|
if (be_verbose)
|
||||||
lc_warning("Monster type \"%s\" matches \"%s\".", s, mons[i].mname);
|
lc_warning("Monster type \"%s\" matches \"%s\".", s, mons[i].mname);
|
||||||
return i;
|
return i;
|
||||||
@@ -1020,7 +1020,7 @@ char c; /* class */
|
|||||||
for (i = class ? bases[class] : 0; i < NUM_OBJECTS; i++) {
|
for (i = class ? bases[class] : 0; i < NUM_OBJECTS; i++) {
|
||||||
if (class && objects[i].oc_class != class) break;
|
if (class && objects[i].oc_class != class) break;
|
||||||
objname = obj_descr[i].oc_name;
|
objname = obj_descr[i].oc_name;
|
||||||
if (objname && !strcasecmp(s, objname)) {
|
if (objname && !strcmpi(s, objname)) {
|
||||||
if (be_verbose)
|
if (be_verbose)
|
||||||
lc_warning("Object type \"%s\" matches \"%s\".", s, objname);
|
lc_warning("Object type \"%s\" matches \"%s\".", s, objname);
|
||||||
return i;
|
return i;
|
||||||
|
|||||||
@@ -1,26 +1,20 @@
|
|||||||
# $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$
|
# Uncomment as appropriate for your form of YACC/LEX.
|
||||||
# $Date:2002/01/22 22:54:54 $ $Revision: 1.2 $
|
#
|
||||||
#YACC = byacc.exe
|
#YACC = yacc.exe
|
||||||
#LEX = flex.exe
|
#YACC = byacc.exe
|
||||||
#YTABC = y_tab.c
|
YACC = bison.exe -y
|
||||||
#YTABH = y_tab.h
|
#
|
||||||
#LEXYYC = lexyy.c
|
#LEX = lex.exe
|
||||||
|
LEX = flex.exe
|
||||||
!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
|
|
||||||
|
|
||||||
|
# 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
|
default: all
|
||||||
|
|
||||||
all: ..\util\lev_yacc.c ..\util\lev_lex.c
|
all: tools ..\util\lev_yacc.c ..\util\lev_lex.c
|
||||||
|
|
||||||
rebuild: clean all
|
rebuild: clean all
|
||||||
|
|
||||||
@@ -29,15 +23,29 @@ clean:
|
|||||||
-del ..\util\lev_yacc.c
|
-del ..\util\lev_yacc.c
|
||||||
-del ..\include\lev_comp.h
|
-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
|
# Level Compiler Stuff
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
..\util\lev_yacc.c ..\include\lev_comp.h: ..\util\lev_comp.y
|
..\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
|
@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_yacc.c ..\util\lev_yacc.c
|
||||||
@copy ..\sys\share\lev_comp.h ..\include\lev_comp.h
|
@copy ..\sys\share\lev_comp.h ..\include\lev_comp.h
|
||||||
!ELSE
|
!ELSE
|
||||||
|
@echo Generating lev_yacc.c and lev_comp.h
|
||||||
chdir ..\util
|
chdir ..\util
|
||||||
$(YACC) -d lev_comp.y
|
$(YACC) -d lev_comp.y
|
||||||
copy $(YTABC) $@
|
copy $(YTABC) $@
|
||||||
@@ -48,10 +56,11 @@ clean:
|
|||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
..\util\lev_lex.c: ..\util\lev_comp.l
|
..\util\lev_lex.c: ..\util\lev_comp.l
|
||||||
!IF "$(LEX)"==""
|
!IFNDEF LEX
|
||||||
@echo Using pre-built lev_lex.c
|
@echo Using pre-built lev_lex.c
|
||||||
@copy ..\sys\share\lev_lex.c $@
|
@copy ..\sys\share\lev_lex.c $@
|
||||||
!ELSE
|
!ELSE
|
||||||
|
@echo Generating lev_lex.c
|
||||||
chdir ..\util
|
chdir ..\util
|
||||||
$(LEX) lev_comp.l
|
$(LEX) lev_comp.l
|
||||||
copy $(LEXYYC) $@
|
copy $(LEXYYC) $@
|
||||||
|
|||||||
Reference in New Issue
Block a user