]> git.pond.sub.org Git - empserver/commitdiff
Simplify market time left handling in a few places
authorMarkus Armbruster <armbru@pond.sub.org>
Mon, 14 Jan 2013 20:03:51 +0000 (21:03 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Wed, 8 May 2013 04:57:55 +0000 (06:57 +0200)
src/lib/commands/buy.c
src/lib/commands/mark.c
src/lib/commands/trad.c

index f3c36151055df31b75511c48d0992e9b174d2794..12e60bc1231c045193b234d8c32239530e14b088 100644 (file)
@@ -30,6 +30,7 @@
  *     Dave Pare, 1986
  *     Pat Loney, 1992
  *     Steve McClure, 1996-2000
+ *     Markus Armbruster, 2004-2013
  */
 
 #include <config.h>
@@ -190,7 +191,6 @@ check_market(void)
     int m;
     int n;
     time_t now;
-    double tleft;
     double gain;
     double price;
 
@@ -198,10 +198,7 @@ check_market(void)
        if (comm.com_maxbidder == comm.com_owner || comm.com_owner == 0)
            continue;
        (void)time(&now);
-       tleft = MARK_DELAY / 3600.0 - (now - comm.com_markettime) / 3600.0;
-       if (tleft < 0)
-           tleft = 0;
-       if (tleft > 0.0)
+       if (comm.com_markettime + MARK_DELAY > now)
            continue;
        if (CANT_HAPPEN(comm.com_type <= I_NONE || comm.com_type > I_MAX))
            continue;
index 4b52e722e60731289b6902ab707bc2a8f5156ab2..fd265ea9021c095f24c84078214a8c8f9171c9dd 100644 (file)
@@ -30,6 +30,7 @@
  *     Dave Pare, 1986
  *     Pat Loney, 1992
  *     Steve McClure, 1996
+ *     Markus Armbruster, 2004-2013
  */
 
 #include <config.h>
@@ -70,15 +71,14 @@ mark(void)
 static void
 pr_mark(struct comstr *comm)
 {
-    time_t now;
-    double tleft;
+    time_t now, tleft;
 
     (void)time(&now);
-    tleft = MARK_DELAY / 3600.0 - (now - comm->com_markettime) / 3600.0;
-    if (tleft < 0.0)
-       tleft = 0.0;
+    tleft = comm->com_markettime + MARK_DELAY - now;
+    if (tleft < 0)
+       tleft = 0;
     pr(" %3d  $%12.2f  %2d  %5.2f hrs  (%3d)   %c    %6d  ",
-       comm->com_uid, comm->com_price, comm->com_maxbidder, tleft,
+       comm->com_uid, comm->com_price, comm->com_maxbidder, tleft / 3600.0,
        comm->com_owner, ichr[comm->com_type].i_mnem, comm->com_amount);
     if (comm->com_owner == player->cnum || player->god)
        pr("%s", xyas(comm->sell_x, comm->sell_y, player->cnum));
index 6a850568a76796dd151c2613100bb0804e4f891a..a40fe7f7032e6b5c79c534994706abeb785497a7 100644 (file)
@@ -69,9 +69,8 @@ trad(void)
     struct trdstr tmpt;
     union empobj_storage tg;
     double canspend;
-    time_t now;
+    time_t now, tleft;
     int bid;
-    double tleft;
     double tally;
     int i;
     char buf[1024];
@@ -99,12 +98,11 @@ trad(void)
        };
        pr(" %3d ", ni.cur);
        (void)time(&now);
-       tleft =
-           TRADE_DELAY / 3600.0 - (now - trade.trd_markettime) / 3600.0;
-       if (tleft < 0.0)
-           tleft = 0.0;
+       tleft = trade.trd_markettime + TRADE_DELAY - now;
+       if (tleft < 0)
+           tleft = 0;
        pr("$%7d  %2d %5.2f hrs ",
-          trade.trd_price, trade.trd_maxbidder, tleft);
+          trade.trd_price, trade.trd_maxbidder, tleft / 3600.0);
        trade_desc(&tg.gen);    /* XXX */
        pr("\n");
        if (trade.trd_owner == player->cnum && !player->god)
@@ -281,7 +279,6 @@ check_trade(void)
     struct trdstr trade;
     union empobj_storage tg;
     time_t now;
-    double tleft;
     int price;
     int saveid;
     natid seller;
@@ -309,11 +306,7 @@ check_trade(void)
            continue;
 
        (void)time(&now);
-       tleft =
-           TRADE_DELAY / 3600.0 - (now - trade.trd_markettime) / 3600.0;
-       if (tleft < 0.0)
-           tleft = 0.0;
-       if (tleft > 0.0)
+       if (trade.trd_markettime + TRADE_DELAY > now)
            continue;
 
        saveid = trade.trd_unitid;