<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39557 >

 Fix gui-sdl compile errors. Already committed.


 - ML

diff -Nurd -X.diff_ignore freeciv/client/gui-sdl/repodlgs.c freeciv/client/gui-sdl/repodlgs.c
--- freeciv/client/gui-sdl/repodlgs.c	2007-08-13 20:51:07.000000000 +0300
+++ freeciv/client/gui-sdl/repodlgs.c	2007-08-13 23:27:14.000000000 +0300
@@ -107,7 +107,6 @@
   city_list_iterate(game.player_ptr->cities, pCity) {
     if (VUT_UTYPE == pCity->production.kind) {
       struct unit_type *pUnitType = pCity->production.value.utype;
-      (unitarray[utype_index(pUnitType)].building_count)++;
       (total->building_count)++;
       entries[utype_index(pUnitType)].soonest_completions =
 	MIN(entries[utype_index(pUnitType)].soonest_completions,
@@ -165,7 +164,7 @@
 static int popup_upgrade_unit_callback(struct widget *pWidget)
 {
   if (Main.event.button.button == SDL_BUTTON_LEFT) {
-    struct unit_type ut1;
+    struct unit_type *ut1;
     struct unit_type *ut2;
     int value;
     char cBuf[128];
@@ -174,13 +173,13 @@
     SDL_Surface *pText;
     SDL_Rect dst;
     SDL_Rect area;
-    
-    ut1.index = MAX_ID - pWidget->ID;
-    
+
+    ut1 = utype_by_number(MAX_ID - pWidget->ID);
+
     if (pUnits_Upg_Dlg) {
       return 1;
     }
-    CHECK_UNIT_TYPE(&ut1);
+    CHECK_UNIT_TYPE(ut1);
     
     set_wstate(pWidget, FC_WS_NORMAL);
     pSellected_Widget = NULL;
@@ -189,13 +188,13 @@
     
     pUnits_Upg_Dlg = fc_calloc(1, sizeof(struct SMALL_DLG));
   
-    ut2 = can_upgrade_unittype(game.player_ptr, &ut1);
-    value = unit_upgrade_price(game.player_ptr, &ut1, ut2);
+    ut2 = can_upgrade_unittype(game.player_ptr, ut1);
+    value = unit_upgrade_price(game.player_ptr, ut1, ut2);
     
     my_snprintf(cBuf, sizeof(cBuf),
           _("Upgrade as many %s to %s as possible for %d gold each?\n"
             "Treasury contains %d gold."),
-          utype_name_translation(&ut1),
+          utype_name_translation(ut1),
           utype_name_translation(ut2),
           value, game.player_ptr->economic.gold);
    
@@ -888,7 +887,8 @@
       pBuf = pWidget;
       if ((units[utype_index(i)].active_count > 0) || (units[utype_index(i)].building_count > 0)) {
         if (utype_number(i) == MAX_ID - pBuf->ID) {
-UPD:	  upgrade = can_upgrade_unittype(game.player_ptr, i)->index;
+        UPD:
+          upgrade = utype_index(can_upgrade_unittype(game.player_ptr, i));
 	  pBuf = pBuf->prev;
 	  if(upgrade) {
 	    pBuf->string16->fgcol = *get_game_colorRGB(COLOR_THEME_UNITUPGRADE_TEXT);
@@ -2005,7 +2005,7 @@
     for (i = 0; i < entries_used; i++) {
       struct improvement_entry *p = &entries[i];
       struct impr_type *pImprove = p->type;
-	
+
       pSurf = crop_rect_from_surface(pBackground, NULL);
       
       my_snprintf(cBuf, sizeof(cBuf), "%s", improvement_name_translation(pImprove));
@@ -2071,9 +2071,9 @@
     		(WF_RESTORE_BACKGROUND|WF_FREE_THEME|WF_FREE_DATA));
       
       set_wstate(pBuf, FC_WS_NORMAL);
-      
+
       pBuf->data.cont = fc_calloc(1, sizeof(struct CONTAINER));
-      pBuf->data.cont->id0 = p->type;
+      pBuf->data.cont->id0 = improvement_index(p->type);
       pBuf->data.cont->id1 = p->count;
       pBuf->action = popup_sell_impv_callback;
       
diff -Nurd -X.diff_ignore freeciv/client/gui-sdl/wldlg.c freeciv/client/gui-sdl/wldlg.c
--- freeciv/client/gui-sdl/wldlg.c	2007-08-13 20:51:07.000000000 +0300
+++ freeciv/client/gui-sdl/wldlg.c	2007-08-13 23:37:37.000000000 +0300
@@ -203,8 +203,8 @@
   
   /* Deny adding currently building Impr/Wonder Target */ 
   if (pEditor->pCity
-   && VUT_IMPROVEMENT == prod.kind
-   && are_universals_equal(&prod, &pEditor->currently_building) {
+      && VUT_IMPROVEMENT == prod.kind
+      && are_universals_equal(&prod, &pEditor->currently_building)) {
     return;
   }
   
@@ -298,7 +298,7 @@
     if (is_wonder(one.value.building)) {
       return is_wonder(two.value.building);
     }
-    return (one.value.building == two.value.building;
+    return one.value.building == two.value.building;
   }
   return FALSE;
 }
@@ -668,7 +668,7 @@
 			utype_name_translation(pWorkList->entries[count].value.utype),
 			adj_font(10)),
 		(WF_RESTORE_BACKGROUND|WF_FREE_DATA));
-	pBuf->ID = MAX_ID - cid_encode_unit(pWorkList->entries[count].value.utype));
+	pBuf->ID = MAX_ID - cid_encode_unit(pWorkList->entries[count].value.utype);
       } else {
 	pBuf = create_iconlabel(NULL, pWidget->dst,
 		create_str16_from_char(
@@ -676,7 +676,7 @@
 				pWorkList->entries[count].value.building),
 			adj_font(10)),
 		(WF_RESTORE_BACKGROUND|WF_FREE_DATA));
-	pBuf->ID = MAX_ID - cid_encode_building(pWorkList->entries[count].value);
+	pBuf->ID = MAX_ID - cid_encode_building(pWorkList->entries[count].value.building);
       }
       
       pBuf->string16->style |= SF_CENTER;
@@ -766,13 +766,13 @@
 	    create_str16_from_char(utype_name_translation(target.value.utype),
 				   adj_font(10)),
 				   (WF_RESTORE_BACKGROUND|WF_FREE_DATA));
-	  pBuf->ID = MAX_ID - B_LAST - target.value;
+	  pBuf->ID = MAX_ID - B_LAST - utype_index(target.value.utype);
         } else {
 	  pBuf = create_iconlabel(NULL, pWidget->dst,
 	    create_str16_from_char(city_improvement_name_translation(pEditor->pCity, target.value.building),
 				   adj_font(10)),
 				   (WF_RESTORE_BACKGROUND|WF_FREE_DATA));
-	  pBuf->ID = MAX_ID - target.value;
+	  pBuf->ID = MAX_ID - improvement_index(target.value.building);
         }
         pBuf->string16->style |= SF_CENTER;
         set_wstate(pBuf, FC_WS_NORMAL);
@@ -1189,9 +1189,12 @@
   worklist_iterate(worklist, prod) {
 
     if(VUT_UTYPE == prod.kind) {
-      pStr = create_str16_from_char(utype_name_translation(prod.value.utype), adj_font(10));
+      pStr = create_str16_from_char(utype_name_translation(prod.value.utype),
+                                    adj_font(10));
     } else {
-      pStr = create_str16_from_char(city_improvement_name_translation(pCity, prod.value), adj_font(10));
+      pStr = create_str16_from_char(city_improvement_name_translation(pCity,
+                                                           prod.value.building),
+                                    adj_font(10));
     }
     pStr->style |= SF_CENTER;
     pBuf = create_iconlabel(NULL, pWindow->dst, pStr,
@@ -1482,7 +1485,8 @@
       if (pCity) {
         /* FIXME: under the current definition of cid_decode, the following
          * line yields an improvement, not a unit_type */
-        turns = city_turns_to_build(pCity, cid_production(un->index), TRUE);
+        turns = city_turns_to_build(pCity, cid_production(utype_index(un)),
+                                    TRUE);
         if (turns == FC_INFINITY) {
           my_snprintf(cBuf, sizeof(cBuf),
 		    _("(%d/%d/%d)\n%d/%d %s\nnever"),
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to