Author: cazfi
Date: Sat Dec 27 07:36:15 2014
New Revision: 27416

URL: http://svn.gna.org/viewcvs/freeciv?rev=27416&view=rev
Log:
Multiply worker task want by 100 to get better resolution with integers

See patch #5561

Modified:
    trunk/ai/threaded/taicity.c
    trunk/client/gui-gtk-3.0/citydlg.c

Modified: trunk/ai/threaded/taicity.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/ai/threaded/taicity.c?rev=27416&r1=27415&r2=27416&view=diff
==============================================================================
--- trunk/ai/threaded/taicity.c (original)
+++ trunk/ai/threaded/taicity.c Sat Dec 27 07:36:15 2014
@@ -38,6 +38,9 @@
 #include "taimsg.h"
 
 #include "taicity.h"
+
+/* Task Want Multiplier */
+#define TWMP 100
 
 struct tai_worker_task_req
 {
@@ -164,8 +167,8 @@
           int value = adv_city_worker_act_get(pcity, cindex, act);
 
           if (tile_worked(ptile) == pcity) {
-            if (value - orig_value > worked.want) {
-              worked.want  = value - orig_value;
+            if ((value - orig_value) * TWMP > worked.want) {
+              worked.want  = TWMP * (value - orig_value);
               worked.ptile = ptile;
               worked.act   = act;
               worked.tgt   = NULL;
@@ -179,7 +182,7 @@
           } else {
             if (value > orig_value && value > uw_max) {
               uw_max = value;
-              unworked.want  = value - orig_value;
+              unworked.want  = TWMP * (value - orig_value);
               unworked.ptile = ptile;
               unworked.act   = act;
               unworked.tgt   = NULL;
@@ -247,8 +250,8 @@
         value += extra;
 
         if (tile_worked(ptile) == pcity) {
-          if (value - orig_value > worked.want) {
-            worked.want  = value - orig_value;
+          if ((value - orig_value) * TWMP > worked.want) {
+            worked.want  = TWMP * (value - orig_value);
             worked.ptile = ptile;
             worked.act   = ACTIVITY_GEN_ROAD;
             worked.tgt   = NULL;
@@ -262,7 +265,7 @@
         } else {
           if (value > orig_value && value > uw_max) {
             uw_max = value;
-            unworked.want  = value - orig_value;
+            unworked.want  = TWMP * (value - orig_value);
             unworked.ptile = ptile;
             unworked.act   = ACTIVITY_GEN_ROAD;
             unworked.tgt   = NULL;
@@ -291,8 +294,8 @@
         value = adv_city_worker_extra_get(pcity, cindex, pextra);
 
         if (tile_worked(ptile) == pcity) {
-          if (value - orig_value > worked.want) {
-            worked.want  = value - orig_value;
+          if ((value - orig_value) * TWMP > worked.want) {
+            worked.want  = TWMP * (value - orig_value);
             worked.ptile = ptile;
             worked.act   = ACTIVITY_BASE;
             worked.tgt   = NULL;
@@ -306,7 +309,7 @@
         } else {
           if (value > orig_value && value > uw_max) {
             uw_max = value;
-            unworked.want  = value - orig_value;
+            unworked.want  = TWMP * (value - orig_value);
             unworked.ptile = ptile;
             unworked.act   = ACTIVITY_BASE;
             unworked.tgt   = NULL;
@@ -322,7 +325,7 @@
   } city_tile_iterate_end;
 
   if (worked.ptile == NULL
-      || (old_worst_worked < uw_max && uw_max - orig_worst_worked > 
worked.want)) {
+      || (old_worst_worked < uw_max && (uw_max - orig_worst_worked) * TWMP > 
worked.want)) {
     /* It's better to improve best yet unworked tile and take it to use after 
that,
        than to improve already worked tile. */
     selected = &unworked;

Modified: trunk/client/gui-gtk-3.0/citydlg.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/citydlg.c?rev=27416&r1=27415&r2=27416&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/citydlg.c  (original)
+++ trunk/client/gui-gtk-3.0/citydlg.c  Sat Dec 27 07:36:15 2014
@@ -2664,7 +2664,7 @@
 
     task.tile_id = ptile->index;
     task.activity = act;
-    task.want = 1;
+    task.want = 100;
   }
 
   send_packet_worker_task(&client.conn, &task);


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to