diff src/structdesc.c @ 8:0836fb919dfa

First entry of Paradise Server 2.9 patch 10 Beta
author darius
date Sat, 06 Dec 1997 04:37:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/structdesc.c	Sat Dec 06 04:37:05 1997 +0000
@@ -0,0 +1,159 @@
+/*--------------------------------------------------------------------------
+NETREK II -- Paradise
+
+Permission to use, copy, modify, and distribute this software and its
+documentation, or any derivative works thereof, for any NON-COMMERCIAL
+purpose and without fee is hereby granted, provided that this copyright
+notice appear in all copies.  No representations are made about the
+suitability of this software for any purpose.  This software is provided
+"as is" without express or implied warranty.
+
+    Xtrek Copyright 1986                            Chris Guthrie
+    Netrek (Xtrek II) Copyright 1989                Kevin P. Smith
+                                                    Scott Silvey
+    Paradise II (Netrek II) Copyright 1993          Larry Denys
+                                                    Kurt Olsen
+                                                    Brandon Gillespie
+--------------------------------------------------------------------------*/
+
+
+#include "config.h"
+#include "structdesc.h"
+#include "struct.h"
+
+#define OFFSET_OF(field)	( (char*)(&((struct ship*)0)->field) -\
+ 			  (char*)0)
+
+static char *all_ship_flag_names[] = {
+  "UNDOCKABLE",
+  "CANORBIT",
+  "CANWARP",
+  "CANFUEL",
+  "CANREPAIR",
+  "CANREFIT",
+  "ARMYNEEDKILL",
+  "HASPHASERS",
+  "PLASMASTYLE",
+  "HASPLASMA",			/* obsolete */
+  "PLASMAARMED",
+  "HASMISSILE",
+  "HASFIGHTERS",
+  0
+};
+
+struct field_desc ship_fields[] = {
+  {"alttype", FT_SHORT, OFFSET_OF(s_alttype)},
+  {"name", FT_STRING, OFFSET_OF(s_name[0])},
+
+  {"turns", FT_INT, OFFSET_OF(s_turns)},
+
+  {"imp.acc", FT_INT, OFFSET_OF(s_imp.acc)},
+  {"imp.dec", FT_INT, OFFSET_OF(s_imp.dec)},
+  {"imp.cost", FT_INT, OFFSET_OF(s_imp.cost)},
+  {"imp.maxspeed", FT_INT, OFFSET_OF(s_imp.maxspeed)},
+  {"imp.etemp", FT_INT, OFFSET_OF(s_imp.etemp)},
+
+  {"after.acc", FT_INT, OFFSET_OF(s_after.acc)},
+  {"after.dec", FT_INT, OFFSET_OF(s_after.dec)},
+  {"after.cost", FT_INT, OFFSET_OF(s_after.cost)},
+  {"after.maxspeed", FT_INT, OFFSET_OF(s_after.maxspeed)},
+  {"after.etemp", FT_INT, OFFSET_OF(s_after.etemp)},
+
+  {"warp.acc", FT_INT, OFFSET_OF(s_warp.acc)},
+  {"warp.dec", FT_INT, OFFSET_OF(s_warp.dec)},
+  {"warp.cost", FT_INT, OFFSET_OF(s_warp.cost)},
+  {"warp.maxspeed", FT_INT, OFFSET_OF(s_warp.maxspeed)},
+  {"warp.etemp", FT_INT, OFFSET_OF(s_warp.etemp)},
+
+  {"warpinitcost", FT_INT, OFFSET_OF(s_warpinitcost)},
+  {"warpinittime", FT_INT, OFFSET_OF(s_warpinittime)},
+  {"warpprepspeed", FT_INT, OFFSET_OF(s_warpprepspeed)},
+
+  {"mass", FT_SHORT, OFFSET_OF(s_mass)},
+
+  {"tractstr", FT_SHORT, OFFSET_OF(s_tractstr)},
+  {"tractrng", FT_FLOAT, OFFSET_OF(s_tractrng)},
+  {"tractcost", FT_INT, OFFSET_OF(s_tractcost)},
+  {"tractetemp", FT_INT, OFFSET_OF(s_tractetemp)},
+
+  {"torp.damage", FT_SHORT, OFFSET_OF(s_torp.damage)},
+  {"torp.speed", FT_SHORT, OFFSET_OF(s_torp.speed)},
+  {"torp.cost", FT_SHORT, OFFSET_OF(s_torp.cost)},
+  {"torp.fuse", FT_SHORT, OFFSET_OF(s_torp.fuse)},
+  {"torp.wtemp", FT_SHORT, OFFSET_OF(s_torp.wtemp)},
+  {"torp.wtemp_halfarc", FT_SHORT, OFFSET_OF(s_torp.wtemp_halfarc)},
+  {"torp.wtemp_factor", FT_SHORT, OFFSET_OF(s_torp.wtemp_factor)},
+  {"torpturns", FT_SHORT, OFFSET_OF(s_torp.aux)},	/* name anomaly */
+
+  {"phaser.damage", FT_SHORT, OFFSET_OF(s_phaser.damage)},
+  {"phaser.range", FT_SHORT, OFFSET_OF(s_phaser.speed)},	/* name anomaly */
+  {"phaser.cost", FT_SHORT, OFFSET_OF(s_phaser.cost)},
+  {"phaser.fuse", FT_SHORT, OFFSET_OF(s_phaser.fuse)},
+  {"phaser.wtemp", FT_SHORT, OFFSET_OF(s_phaser.wtemp)},
+
+  {"missile.damage", FT_SHORT, OFFSET_OF(s_missile.damage)},
+  {"missile.speed", FT_SHORT, OFFSET_OF(s_missile.speed)},
+  {"missile.cost", FT_SHORT, OFFSET_OF(s_missile.cost)},
+  {"missile.fuse", FT_SHORT, OFFSET_OF(s_missile.fuse)},
+  {"missile.wtemp", FT_SHORT, OFFSET_OF(s_missile.wtemp)},
+  {"missile.count", FT_SHORT, OFFSET_OF(s_missile.count)},
+  {"missileturns", FT_SHORT, OFFSET_OF(s_missile.aux)},	/* name anomaly */
+  {"missilestored", FT_SHORT, OFFSET_OF(s_missilestored)},
+
+  {"plasma.damage", FT_SHORT, OFFSET_OF(s_plasma.damage)},
+  {"plasma.speed", FT_SHORT, OFFSET_OF(s_plasma.speed)},
+  {"plasma.cost", FT_SHORT, OFFSET_OF(s_plasma.cost)},
+  {"plasma.fuse", FT_SHORT, OFFSET_OF(s_plasma.fuse)},
+  {"plasma.wtemp", FT_SHORT, OFFSET_OF(s_plasma.wtemp)},
+  {"plasmaturns", FT_SHORT, OFFSET_OF(s_plasma.aux)},	/* name anomaly */
+
+  {"maxwpntemp", FT_INT, OFFSET_OF(s_maxwpntemp)},
+  {"wpncoolrate", FT_SHORT, OFFSET_OF(s_wpncoolrate)},
+
+  {"maxegntemp", FT_INT, OFFSET_OF(s_maxegntemp)},
+  {"egncoolrate", FT_SHORT, OFFSET_OF(s_egncoolrate)},
+
+  {"maxfuel", FT_INT, OFFSET_OF(s_maxfuel)},
+  {"recharge", FT_SHORT, OFFSET_OF(s_recharge)},
+  {"mingivefuel", FT_INT, OFFSET_OF(s_mingivefuel)},
+  {"takeonfuel", FT_INT, OFFSET_OF(s_takeonfuel)},
+
+  {"explodedamage", FT_SHORT, OFFSET_OF(s_expldam)},
+  {"fueldamage", FT_SHORT, OFFSET_OF(s_fueldam)},
+
+  {"armyperkill", FT_FLOAT, OFFSET_OF(s_armyperkill)},
+  {"maxarmies", FT_SHORT, OFFSET_OF(s_maxarmies)},
+  {"bomb", FT_INT, OFFSET_OF(s_bomb)},
+
+  {"repair", FT_SHORT, OFFSET_OF(s_repair)},
+  {"maxdamage", FT_INT, OFFSET_OF(s_maxdamage)},
+  {"maxshield", FT_INT, OFFSET_OF(s_maxshield)},
+  {"shieldcost", FT_INT, OFFSET_OF(s_shieldcost)},
+
+  {"detcost", FT_SHORT, OFFSET_OF(s_detcost)},
+  {"cloakcost", FT_SHORT, OFFSET_OF(s_cloakcost)},
+
+  {"scanrange", FT_SHORT, OFFSET_OF(s_scanrange)},
+
+  {"numports", FT_SHORT, OFFSET_OF(s_numports)},
+
+  {"letter", FT_CHAR, OFFSET_OF(s_letter)},
+  {"desig1", FT_CHAR, OFFSET_OF(s_desig1)},
+  {"desig2", FT_CHAR, OFFSET_OF(s_desig2)},
+
+  {"bitmap", FT_SHORT, OFFSET_OF(s_bitmap)},
+  {"width", FT_SHORT, OFFSET_OF(s_width)},
+  {"height", FT_SHORT, OFFSET_OF(s_height)},
+
+  {"timer", FT_INT, OFFSET_OF(s_timer)},
+  {"maxnum", FT_INT, OFFSET_OF(s_maxnum)},
+  {"rank", FT_INT, OFFSET_OF(s_rank)},
+  {"numdefn", FT_INT, OFFSET_OF(s_numdefn)},
+  {"numplan", FT_INT, OFFSET_OF(s_numplan)},
+
+  {"nflags", FT_LONGFLAGS, OFFSET_OF(s_nflags), (void *) all_ship_flag_names},
+
+  {0},
+};
+
+#undef OFFSET_OF