Index: client/packhand.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/packhand.c,v retrieving revision 1.196 diff -u -r1.196 packhand.c --- client/packhand.c 2001/10/18 16:45:31 1.196 +++ client/packhand.c 2001/12/05 18:15:20 @@ -1635,7 +1635,8 @@ u->firepower = p->firepower; u->obsoleted_by = p->obsoleted_by; u->fuel = p->fuel; - u->flags = p->flags; + u->flags1 = p->flags1; + u->flags2 = p->flags2; u->roles = p->roles; u->happy_cost = p->happy_cost; u->shield_cost = p->shield_cost; Index: common/packets.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/common/packets.c,v retrieving revision 1.166 diff -u -r1.166 packets.c --- common/packets.c 2001/10/18 16:45:32 1.166 +++ common/packets.c 2001/12/05 18:15:25 @@ -2967,7 +2967,8 @@ cptr=put_uint8(cptr, packet->firepower); cptr=put_uint8(cptr, packet->obsoleted_by); cptr=put_uint8(cptr, packet->fuel); - cptr=put_uint32(cptr, packet->flags); + cptr=put_uint32(cptr, packet->flags1); + cptr=put_uint32(cptr, packet->flags2); cptr=put_uint32(cptr, packet->roles); cptr=put_uint8(cptr, packet->happy_cost); /* unit upkeep -- SKi */ cptr=put_uint8(cptr, packet->shield_cost); @@ -3021,7 +3022,8 @@ iget_uint8(&iter, &packet->obsoleted_by); if (packet->obsoleted_by>127) packet->obsoleted_by-=256; iget_uint8(&iter, &packet->fuel); - iget_uint32(&iter, &packet->flags); + iget_uint32(&iter, &packet->flags1); + iget_uint32(&iter, &packet->flags2); iget_uint32(&iter, &packet->roles); iget_uint8(&iter, &packet->happy_cost); /* unit upkeep -- SKi */ iget_uint8(&iter, &packet->shield_cost); @@ -3030,7 +3032,7 @@ iget_string(&iter, packet->name, sizeof(packet->name)); iget_string(&iter, packet->graphic_str, sizeof(packet->graphic_str)); iget_string(&iter, packet->graphic_alt, sizeof(packet->graphic_alt)); - if(packet->flags & (1L<flags1 & (1L<paratroopers_range); iget_uint8(&iter, &packet->paratroopers_mr_req); iget_uint8(&iter, &packet->paratroopers_mr_sub); @@ -3042,7 +3044,7 @@ if (has_capability("pop_cost", pc->capability)) { iget_uint8(&iter, &packet->pop_cost); } else { - packet->pop_cost=(packet->flags & (1L<pop_cost=(packet->flags1 & (1L<flags & (1 << F_FANATIC))) return 0; + (ut->flags1 & (1 << F_FANATIC))) return 0; return ut->shield_cost * g->unit_shield_cost_factor; } @@ -166,7 +166,11 @@ int unit_type_flag(Unit_Type_id id, int flag) { assert(flag>=0 && flagflags = 0; + u->flags1 = 0; + u->flags2 = 0; slist = secfile_lookup_str_vec(file, &nval, "%s.flags", sec[i]); for(j=0; jflags |= (1<flags |= (1<flags1 |= (1<flags1 |= (1<name, sval, filename); } - u->flags |= (1<flags1 |= (1 << ival); + } else { + u->flags2 |= (1 << (32 - ival)); + } if(ival == F_PARATROOPERS) { u->paratroopers_range = secfile_lookup_int(file, @@ -2233,7 +2238,8 @@ packet.firepower = u->firepower; packet.obsoleted_by = u->obsoleted_by; packet.fuel = u->fuel; - packet.flags = u->flags; + packet.flags1 = u->flags1; + packet.flags2 = u->flags2; packet.roles = u->roles; packet.happy_cost = u->happy_cost; packet.shield_cost = u->shield_cost;