--- 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