]> git.pond.sub.org Git - empserver/commitdiff
(mult, player_coms): Command `mult' is disabled since 4.0.0 ('96), and
authorMarkus Armbruster <armbru@pond.sub.org>
Mon, 1 Mar 2004 09:04:02 +0000 (09:04 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Mon, 1 Mar 2004 09:04:02 +0000 (09:04 +0000)
its code is obviously not in working order.  Remove.
(minmult, maxmult, configkeys): Unused configuration parameters,
remove.
(tradedesc): Remove code related to mult that had no effect.
(multread, commread, commwrite, commamt, commset, multset, commprice):
Dangerous, because code bypasses ef_read() & friends, remove.
(diss): Commodity cleanup uses the above, remove.  Command is disabled
and unlikely to work anyway.

13 files changed:
include/commands.h
include/nat.h
include/optlist.h
info/Commands/mult.t [deleted file]
src/lib/commands/Makefile
src/lib/commands/diss.c
src/lib/commands/mult.c [deleted file]
src/lib/gen/emp_config.c
src/lib/global/constants.c
src/lib/player/empmod.c
src/lib/subs/Makefile
src/lib/subs/comsub.c [deleted file]
src/lib/subs/trdsub.c

index 102b7f1ae2eeb63e624607673a7e14ea83915d41..1c544c1fcb7209bd95b6e91d0888dcde98085ce5 100644 (file)
@@ -142,7 +142,6 @@ int mobq(void);
 int mobupdate(void);
 int morale(void);
 int move(void);
-int mult(void);
 int multifire(void);
 int name(void);
 int nati(void);
index 8cf7006fcae60347a6c3387f59705084015fb231..5b94b89f47296ab47165bfc785f388203cfdbf3b 100644 (file)
@@ -148,14 +148,6 @@ extern double tfactfire(natid cn, double mult);
 extern double techfact(int level, double mult);
 extern double techfactfire(int level, double mult);
 extern double reltech(int level1, int level2, double mult);
-/* src/lib/subs/comsub.c */
-extern double multread(natid, natid);
-extern int commread(void);
-extern int commwrite(void);
-extern int commamt(natid, int, float *);
-extern void commset(natid, int, int);
-extern void multset(natid, float);
-extern void commprice(int, float *);
 
 extern s_char *cname(natid n);
 extern s_char *relatename(struct natstr *np, natid other);
index 5f164e29eb4b192a11f85d5051a8f72f181317f3..d74894f5707514db026f29259dee253c443adea2 100644 (file)
@@ -187,8 +187,6 @@ extern double fallout_spread;
 extern float drnuke_const;
 extern int MARK_DELAY;
 extern int TRADE_DELAY;
-extern double maxmult;
-extern double minmult;
 extern double buytax;
 extern double tradetax;
 extern int trade_1_dist;
diff --git a/info/Commands/mult.t b/info/Commands/mult.t
deleted file mode 100644 (file)
index f2048c9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-.TH Command MULT
-.NA mult "Set price multipliers of goods"
-.LV Expert
-.SY "mult <CNUM/CNAME> <NUMBER>"
-The mult command allows a nation to set price multipliers
-of the goods they are selling.
-.sp
-The <CNUM/CNAME> argument is the number or name of the nation
-for which you want to reset the multiplier, and <NUMBER> is
-the new multiplier (a floating-point number). If no
-arguments are given, you are prompted for them. A carriage return
-or incorrect nation at this prompt allows the changing
-of all the price multipliers.
-.sp
-For example, if one nation is a \*Qnice\*U nation,
-and another is particularly unfriendly,
-the price multiplier for the nice one might be 0.75,
-while the \*Qnasty\*U nation might have one around 5.
-.s1
-The price multiplier affects the price of a nation's goods
-to other nations.
-Final item price is determined by multiplying the price
-of the item at the time of the sale by the individual price multiplier
-for the nation buying the item.
-You cannot have a price multiplier below 0.05.
-.s1
-Typical output looks like:
-.EX mult
-.NF
-for which country? bar
-bar (  1.000) : 3.00
-.FI
-.s1
-.EX mult
-.NF
-for which country?
-Editing nation price multipliers...
-MGM (1.00) : 
-hodedo (2.55) : 100
-bar (1.00) : ^C
-Aborted
-.FI
-.s1
-The second editing session left unchanged all price multipliers except the
-one for country \*Qhodedo\*U, which was set to 100.
-.s1
-.SA "buy, sell, Obsolete"
index 5586b8942a8ee63b3f7b6d6ecd9cb5a8bc67b19c..058d032409d33d65edae245f68dff2b5f9fe3600 100644 (file)
@@ -42,7 +42,7 @@ OBJS =  acce.o add.o anti.o arm.o army.o assa.o atta.o bdes.o best.o boar.o \
        expl.o fina.o flash.o flee.o fly.o foll.o forc.o fort.o fuel.o give.o \
        grin.o hard.o head.o hidd.o improve.o info.o land.o laun.o lboard.o \
        ldump.o ledg.o leve.o load.o look.o lost.o lstat.o lten.o map.o \
-       marc.o mark.o mfir.o mine.o miss.o mobq.o mobu.o mora.o move.o mult.o \
+       marc.o mark.o mfir.o mine.o miss.o mobq.o mobu.o mora.o move.o \
        name.o nati.o navi.o ndump.o new.o newe.o news.o nuke.o offe.o offs.o \
        orde.o orig.o para.o path.o payo.o pboa.o pdump.o plan.o play.o \
        powe.o prod.o pstat.o rada.o rang.o rea.o real.o reco.o reje.o rela.o \
@@ -64,7 +64,7 @@ NTOBJS = acce.obj add.obj anti.obj arm.obj army.obj assa.obj atta.obj \
        land.obj laun.obj lboard.obj ldump.obj ledg.obj leve.obj load.obj \
        look.obj lost.obj lstat.obj lten.obj map.obj marc.obj mark.obj \
        mfir.obj mine.obj miss.obj mobq.obj mobu.obj mora.obj move.obj \
-       mult.obj name.obj nati.obj navi.obj ndump.obj new.obj newe.obj \
+       name.obj nati.obj navi.obj ndump.obj new.obj newe.obj \
        news.obj nuke.obj offe.obj offs.obj orde.obj orig.obj para.obj \
        path.obj payo.obj pboa.obj pdump.obj plan.obj play.obj powe.obj \
        prod.obj pstat.obj rada.obj rang.obj rea.obj real.obj reco.obj \
index b61a5c478ee4256eb66dd4cf0c2fed737a7a2d61..70b06073367a1c06c7d513ea142327f8ae0e6983 100644 (file)
@@ -236,13 +236,6 @@ diss(void)
        loan.l_status = LS_FREE;
        putloan(ni.cur, &loan);
     }
-    /* clean up commodity and trade for this nation. */
-    commread();
-    for (n = 1; n < I_MAX + 1; n++) {
-       val = commamt(player->cnum, n, &dummy);
-       commset(player->cnum, n, -val);
-    }
-    commwrite();
     snxtitem_all(&ni, EF_TRADE);
     while (nxtitem(&ni, (s_char *)&trade)) {
        if (trade.trd_unitid >= 0 && trade.trd_owner == player->cnum) {
diff --git a/src/lib/commands/mult.c b/src/lib/commands/mult.c
deleted file mode 100644 (file)
index 5abdbca..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                           Ken Stevens, Steve McClure
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 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 GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- *  ---
- *
- *  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- *  related information and legal notices. It is expected that any future
- *  projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  mult.c: Set per-nation list of price multipliers
- * 
- *  Known contributors to this file:
- *     Dave Pare, 1986
- */
-
-#include "misc.h"
-#include "player.h"
-#include "var.h"
-#include "nat.h"
-#include "file.h"
-#include "xy.h"
-#include "nsc.h"
-#include "commands.h"
-#include "optlist.h"
-#include <math.h>              /* bailey@math-cs.kent.edu */
-
-static void multsingle(natid us, natid them, struct natstr *natp);
-
-int
-mult(void)
-{
-    struct nstr_item ni;
-    struct natstr nat;
-    int nats;
-
-    if (!opt_MARKET) {
-       pr("The market is disabled.\n");
-       return RET_FAIL;
-    }
-    pr("The mult command is no longer used.\n");
-    if (!snxtitem(&ni, EF_NATION, player->argp[1]))
-       return RET_SYN;
-    if (commread() < 0) {
-       pr("Unable to read commodity file; get help!\n");
-       return RET_SYS;
-    }
-    nats = 0;
-    while (!player->aborted && nxtitem(&ni, (s_char *)&nat)) {
-       if ((nat.nat_stat & STAT_NORM) == 0)
-           continue;
-       multsingle(player->cnum, (natid)ni.cur, &nat);
-       nats++;
-    }
-    pr("%d nation multipliers changed\n", nats);
-    return RET_OK;
-}
-
-/*
- * Set the multipler for a single country.
- */
-static void
-multsingle(natid us, natid them, struct natstr *natp)
-{
-    double price;
-    s_char *p;
-    s_char prompt[128];
-    s_char buf[1024];
-
-    sprintf(prompt, "%s (%7.3f) : ", natp->nat_cnam, multread(us, them));
-    p = getstarg(player->argp[2], prompt, buf);
-    if (p == 0 || *p == 0)
-       return;
-    if ((price = atof(p)) == 0.0)
-       return;
-#if defined(HUGE)
-    if ((price == HUGE) || (price > 1000000.0))        /* Inf causes overflow. */
-#else
-    if (price > 1000000.0)
-#endif
-       price = 1000000.0;      /* bailey@math-cs.kent.edu */
-    /*
-     * no free lunches!
-     */
-    if (price <= minmult)
-       price = minmult;
-    if (price >= maxmult)
-       price = maxmult;
-    if (commread() < 0) {
-       pr("Unable to re-read commodity file; get help!\n");
-       return;
-    }
-    multset(them, price);
-    if (commwrite() < 0) {
-       pr("Unable to write out commodity file; get help!\n");
-    }
-}
index 0b58dca7da62d5efbc0e53caae2204c1e19e535c..135aa5114c406e2590146c460a2ec6d04f4f5d83 100644 (file)
@@ -299,10 +299,6 @@ struct keymatch configkeys[] = {
      "Number of seconds commodities stay on the market for bidding"},
     {"TRADE_DELAY", intset, (caddr_t)&TRADE_DELAY, 0,
      "Number of seconds ships, planes, and units stay on the market for bidding"},
-    {"maxmult", doubleset, (caddr_t)&maxmult, 0,
-     "Maximum trade multiple (used for mult command)"},
-    {"minmult", doubleset, (caddr_t)&minmult, 0,
-     "Minimum trade multiple (used for mult command)"},
     {"buytax", doubleset, (caddr_t)&buytax, 0,
      "Tax (in percentage points) charged to the buyer on market purchases"},
     {"tradetax", doubleset, (caddr_t)&tradetax, 0,
index e1ba71320ce652073e99f4afb01d47cec860737c..fc6a7c03e97889c84fdf37b55b7013c13ceff8ca 100644 (file)
@@ -156,8 +156,6 @@ double bankint = 0.25;              /* bank interest rate (dt * bars) */
               charged (price paid * buytax).
    Not perfect, but it works. :) */
 
-double minmult = 0.5;          /* minimum trade mulitple */
-double maxmult = 10.0;         /* maximum trade multiple */
 double tradetax = 0.99;                /* Tax charged on trade */
 double buytax = 1.0;           /* Tax charged on market purchases */
 int startmob = 127;            /* Sanctuary starting mobility */
index aaf599f944c25c1ddd134d059715133e647e9bda..43f8a9843ef71b00d35c949419a47ecb0b8f2f26 100644 (file)
@@ -162,7 +162,6 @@ struct cmndstr player_coms[] = {
     {"move <c|m|s|g|p|i|o|b|f|r|u> <SECT> <NUM> <PATH|DESTINATION>", 1,
      move, C_MOD, NORM + CAP},
     {"mquota <SHIPS> <value>", 2, mobq, C_MOD, NORM + CAP},
-    {"mult [COUNTRY]", 1, mult, C_MOD, GOD},
     {"name <SHIPS> <NAME>", 0, name, C_MOD, NORM},
     {"nation", 0, nati, 0, VIS},
     {"navigate <SHIPS> <PATH|DESTINATION>", 1, navi, C_MOD, NORM + CAP},
index 2ca3e38264d20df100093125ef42e71ac2be3636..00fe3a6db8dee0d79df8e8e4d7e6df84480573c8 100644 (file)
@@ -36,7 +36,7 @@ LIB = $(SRCDIR)/lib/libsubs.a
 NTLIB = $(SRCDIR)\lib\libsubs.lib
 
 OBJS = aircombat.o askyn.o aswplnsubs.o attsub.o bigmap.o border.o bsanct.o \
-       caploss.o chkmoney.o cnumb.o comsub.o control.o detonate.o disloan.o \
+       caploss.o chkmoney.o cnumb.o control.o detonate.o disloan.o \
        distrea.o fileinit.o fortdef.o getbit.o getele.o land.o landgun.o \
        list.o lndsub.o lostsub.o mission.o move.o mslsub.o mtch.o natarg.o \
        neigh.o nreport.o nstr.o nuke.o nxtitem.o nxtsct.o paths.o plane.o \
@@ -45,7 +45,7 @@ OBJS = aircombat.o askyn.o aswplnsubs.o attsub.o bigmap.o border.o bsanct.o \
        takeover.o trdsub.o trechk.o whatitem.o wu.o
 
 NTOBJS = aircombat.obj askyn.obj aswplnsubs.obj attsub.obj bigmap.obj \
-       border.obj bsanct.obj caploss.obj chkmoney.obj cnumb.obj comsub.obj \
+       border.obj bsanct.obj caploss.obj chkmoney.obj cnumb.obj \
        control.obj detonate.obj disloan.obj distrea.obj fileinit.obj fortdef.obj \
        getbit.obj getele.obj land.obj landgun.obj list.obj lndsub.obj \
        lostsub.obj mission.obj move.obj mslsub.obj mtch.obj natarg.obj neigh.obj \
diff --git a/src/lib/subs/comsub.c b/src/lib/subs/comsub.c
deleted file mode 100644 (file)
index 6411058..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                           Ken Stevens, Steve McClure
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 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 GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- *  ---
- *
- *  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- *  related information and legal notices. It is expected that any future
- *  projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  comsub.c: Commodity read/write stuff
- * 
- *  Known contributors to this file:
- *     Dave Pare, 1986
- *     Steve McClure, 1998
- */
-
-#include "misc.h"
-#include "player.h"
-#include "var.h"
-#include "nat.h"
-#include "prototypes.h"
-
-#if !defined(_WIN32)
-#include <sys/uio.h>
-#endif
-
-int commf;
-
-int c_comm[MAXNOC][I_MAX + 1];
-float c_price[MAXNOC][I_MAX + 1];
-float c_mult[MAXNOC][MAXNOC];
-
-#if !defined(_WIN32)
-static struct iovec commvec[3] = {
-    {(caddr_t)c_comm, sizeof(c_comm)}
-    ,
-    {(caddr_t)c_price, sizeof(c_price)}
-    ,
-    {(caddr_t)c_mult, sizeof(c_mult)}
-};
-static int nvec = sizeof(commvec) / sizeof(struct iovec);
-#endif
-
-/*
- * comm file is the list of "deity commodities"
- * lying around.  Perhaps a better way of doing this
- * might be at each update seeing what is on sale,
- * then buying it, then distributing things amongst the
- * people wanting the items.
- *
- * Of course that would be a gigantic pain...
- */
-
-int
-commread(void)
-{
-    int n;
-
-    (void)lseek(commf, (off_t) 0, 0);
-#if !defined(_WIN32)
-    if ((n = readv(commf, commvec, nvec)) !=
-       sizeof(c_comm) + sizeof(c_price) + sizeof(c_mult)) {
-       logerror("commread: readv returns %d", n);
-       return -1;
-    }
-#else
-    if ((n = read(commf, c_comm, sizeof(c_comm))) != sizeof(c_comm)) {
-       logerror("commread: read returns %d, not %d", n, sizeof(c_comm));
-       return -1;
-    }
-    if ((n = read(commf, c_price, sizeof(c_price))) != sizeof(c_price)) {
-       logerror("commread: read returns %d, not %d", n, sizeof(c_price));
-       return -1;
-    }
-    if ((n = read(commf, c_mult, sizeof(c_mult))) != sizeof(c_mult)) {
-       logerror("commread: read returns %d, not %d", n, sizeof(c_mult));
-       return -1;
-    }
-#endif
-    return 0;
-}
-
-int
-commwrite(void)
-{
-#if defined(_WIN32)
-    int n;
-#endif
-    (void)lseek(commf, (off_t) 0, 0);
-#if !defined(_WIN32)
-    if (writev(commf, commvec, nvec) !=
-       sizeof(c_comm) + sizeof(c_price) + sizeof(c_mult)) {
-       logerror("commwrite: writev failed");
-       return -1;
-    }
-#else
-    if ((n = write(commf, c_comm, sizeof(c_comm))) != sizeof(c_comm)) {
-       logerror("commwrite: write returns %d, not %d", n, sizeof(c_comm));
-       return -1;
-    }
-    if ((n = write(commf, c_price, sizeof(c_price))) != sizeof(c_price)) {
-       logerror("commwrite: write returns %d, not %d", n,
-                sizeof(c_price));
-       return -1;
-    }
-    if ((n = write(commf, c_mult, sizeof(c_mult))) != sizeof(c_mult)) {
-       logerror("commwrite: write returns %d, not %d", n, sizeof(c_mult));
-       return -1;
-    }
-#endif
-    return 0;
-}
-
-/*
- * returns amount of commodity, and price to the user
- */
-int
-commamt(natid trader, int product, float *priceval)
-{
-    *priceval = c_price[trader][product] * c_mult[trader][player->cnum];
-    return c_comm[trader][product];
-}
-
-void
-commset(natid trader, int product, int amt)
-{
-    c_comm[trader][product] += amt;
-}
-
-double
-multread(natid trader, natid tradee)
-{
-    return c_mult[trader][tradee];
-}
-
-void
-multset(natid tradee, float newmult)
-{
-    c_mult[player->cnum][tradee] = newmult;
-}
-
-void
-commprice(int product, float *newprice)
-{
-    c_price[player->cnum][product] = *newprice;
-}
index 52f0c979bd3e536a81a6ac3e1e2c804a03d970c7..ef797c14fdaae139a47e86987c886f277468b82a 100644 (file)
@@ -104,7 +104,6 @@ int
 trade_desc(struct trdstr *tp, union trdgenstr *tgp)
 {
     int i;
-    float price;
     struct sctstr sect;
     struct nukstr *np;
     struct shpstr *sp;
@@ -116,7 +115,6 @@ trade_desc(struct trdstr *tp, union trdgenstr *tgp)
     struct plnstr plane;
     struct lndstr land;
 
-    price = multread(tp->trd_owner, player->cnum) * tp->trd_price;
     switch (tp->trd_type) {
     case EF_NUKE:
        np = &tgp->nuk;