--- deliantra/server/include/material.h 2009/10/12 14:00:58 1.16
+++ deliantra/server/include/material.h 2012/10/29 23:55:53 1.25
@@ -1,30 +1,30 @@
/*
* This file is part of Deliantra, the Roguelike Realtime MMORPG.
- *
- * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
- * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team
- * Copyright (©) 1992,2007 Frank Tore Johansen
- *
+ *
+ * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
+ * Copyright (©) 2002 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
*/
/* #defines are needed by living.h, so they must be loaded early */
-#ifndef MATERIAL_H_1
-#define MATERIAL_H_1
+#ifndef MATERIAL_H_
+#define MATERIAL_H_
#define NROFMATERIALS 13
@@ -41,8 +41,7 @@
#define M_SOFT_METAL 1024
#define M_BONE 2048
#define M_ICE 4096
-#define M_SPECIAL 8192 /* when displaying names, don't show the
- materialname */
+#define M_SPECIAL 8192 /* when displaying names, don't show the materialname */
struct materialtype_t : zero_initialised
{
@@ -62,9 +61,20 @@
int weight;
int value;
int density; // g/cm³ * 1000 == kg/m³
+
+ materialtype_t ();
+ void reset ();
};
extern materialtype_t *materialt;
+extern materialtype_t material_null; // defined in shstr.C
+
+#define MATERIAL_NULL &material_null
+
+void reload_materials ();
+// provide a material for the item if the material isn't set yet
+void select_material (object *op, int difficulty);
+materialtype_t *name_to_material (const shstr_tmp name);
-#endif /* MATERIAL_H_1 */
+#endif