--- deliantra/server/include/define.h 2011/04/28 12:11:04 1.133 +++ deliantra/server/include/define.h 2018/11/17 23:40:00 1.145 @@ -1,24 +1,25 @@ /* * This file is part of Deliantra, the Roguelike Realtime MMORPG. - * - * Copyright (©) 2005,2006,2007,2008,2009,2010,2011 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * + * Copyright (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team + * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team * Copyright (©) 2003-2005 Mark Wedel & Crossfire Development Team * Copyright (©) 1992 Frank Tore Johansen - * + * * Deliantra is free software: you can redistribute it and/or modify it under * the terms of the Affero 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 Affero GNU General Public License * and the GNU General Public License along with this program. If not, see * . - * + * * The authors can be reached via e-mail to */ @@ -112,7 +113,7 @@ #define MAP 22 #define DOOR 23 #define KEY 24 -//25 +#define PHYSICS 25 // deliantra: "things that move" #define TIMED_GATE 26 #define TRIGGER 27 #define GRIMREAPER 28 @@ -163,7 +164,7 @@ #define FIREWALL 62 #define ANVIL 63 #define CHECK_INV 64 /* by b.t. thomas@nomad.astro.psu.edu */ -#define MOOD_FLOOR 65 /* +#define MOOD_FLOOR 65 /* * values of last_sp set how to change: * 0 = furious, all monsters become aggressive * 1 = angry, all but friendly become aggressive @@ -248,7 +249,7 @@ /* These are the items that currently can change digestion, regeneration, * spell point recovery and mana point recovery. Seems sort of an arbitary - * list, but other items store other info into stats array. + * list, but other items store other info into stats array. * As a special exception, bows use stats.sp for their own purposes. */ static const struct digest_types : typeset @@ -285,6 +286,7 @@ #define ST_MAT_FLOOR 1 /* Floor */ #define ST_MAT_WALL 2 /* Wall */ #define ST_MAT_ITEM 3 /* All other items, including doors & such */ +#define ST_MAT_QUAD 4 /* Quad build material */ /* definitions for weapontypes */ @@ -356,8 +358,8 @@ /* Instead of using arbitrary constants for indexing the * freearr, add these values. <= SIZEOFFREE1 will get you - * within 1 space. <= SIZEOFFREE2 wll get you withing - * 2 spaces, and the entire array (< SIZEOFFREE) is + * within 1 space. <= SIZEOFFREE2 wll get you withing + * 2 spaces, and the entire array (< SIZEOFFREE) is * three spaces */ #define SIZEOFFREE0 0 @@ -368,7 +370,7 @@ #define NROF_SOUNDS (23 + NROFREALSPELLS) /* Number of sounds */ -/* +/* * If any FLAG's are added or changed, make sure the flag_names structure in * common/loader.C is updated. */ @@ -384,7 +386,7 @@ #define FLAG_UNPAID 6 /* Object hasn't been paid for yet */ #define FLAG_USE_SHIELD 7 /* Can this creature use a shield? */ #define FLAG_NO_PICK 8 /* Object can't be picked up */ -/*#define FLAG_WALK_ON 9*/ +#define FLAG_IS_TRANSPARENT_FLOOR 9 // floor shows things on lower z-level(s), CF: walk_on /*#define FLAG_NO_PASS 10*//* Nothing can pass (wall() is true) */ #define FLAG_ANIMATE 11 /* The object looks at archetype for faces */ /*#define FLAG_SLOW_MOVE 12*//* Uses the stats.exp/1000 to slow down */ @@ -491,7 +493,7 @@ #define FLAG_ACTIVATE_ON_PUSH 105 /* connected object is activated when 'pushed' */ #define FLAG_ACTIVATE_ON_RELEASE 106 /* connected object is activated when 'released' */ #define FLAG_IS_WATER 107 /* apparently not used inside the server for anything */ -#define FLAG_CONTENT_ON_GEN 108 +#define FLAG_CONTENT_ON_GEN 108 #define FLAG_IS_A_TEMPLATE 109 /* Object has no ingame life until instanciated */ #define FLAG_IS_BUILDABLE 110 /* Can build on item */ #define FLAG_DESTROY_ON_DEATH 111 /* Object will be destroyed when env dies */ @@ -500,10 +502,11 @@ * (for the quads world for instance) */ -#define NUM_FLAGS 114 /* Should always be equal to the last - * defined flag + 1. If you change this, - * make sure you update the flag_links - * in common/loader.l +// temporary assignments +#define FLAG_PHYSICS_QUEUE 114 // object queued for physics TODO: temporary allocation + +#define NUM_FLAGS 115 /* Should always be equal to the last + * defined flag + 1. */ /* If you add new movement types, you may need to update @@ -535,7 +538,7 @@ * on the 'type' move_block parameter * Add check - if type is 0, don't stop anything from moving * onto it. - * + * */ #define OB_TYPE_MOVE_BLOCK(ob1, type) \ ((type) && (ob1->move_type & type) == ob1->move_type) @@ -573,8 +576,8 @@ #define F_APPROX 32 /* flag to give a guess of item value */ #define F_SHOP 64 /* consider the effect that the shop that the player is in has */ -#define DIRX(xyz) freearr_x[(xyz)->direction] -#define DIRY(xyz) freearr_y[(xyz)->direction] +#define DIRX(xyz) freearr_x[(xyz)] +#define DIRY(xyz) freearr_y[(xyz)] #define ARMOUR_SPEED(xyz) (xyz)->last_sp #define ARMOUR_SPELLS(xyz) (xyz)->gen_sp_armour