[Freeciv-Dev] (PR#16942) Freeciv-gtk2-2.1.0 beta1 technology goal problem
URL: http://bugs.freeciv.org/Ticket/Display.html?id=16942 [EMAIL PROTECTED] - Wed May 10 02:52:55 2006]: The technology goal is not strictly followed. The AI researches any tech not relevant to technology goal. I had to monitor constantly the science tab to insure that AI doesn't research irrelevant technologies. This is really annoying since managing 50+ cities is already difficult. Does it still happen in 2.1.0-beta4? Did you by any chance accidentally turn on AI control for your player (check the Players tab - the checkbox in the AI column)? To further investigate, we need to know your system specs and Freeciv client used. ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#19705) 2.1.0b2 Resources
URL: http://bugs.freeciv.org/Ticket/Display.html?id=19705 [EMAIL PROTECTED] - Thu Aug 17 15:13:43 2006]: Where Resource shields exist on terrain, mining them doesn't produce a unique resource (silk, pheasant, etc.). Is this a bug or just a change? The Resource shield -is- the unique resource for grassland terrain. It provides one extra production when worked. ~~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39563) [Bug] AI doesn't want to build anything in trunk / default.ruleset
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39563 Autogames produce only tons of: 1: Maria Theresia's Graz(54,37) [s2 d0 u0 g0] Falling back - didn't want to build soldiers, workers, caravans, settlers, or buildings! with actual player/city varying, of course. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#20167) 2.1 aqueduct
URL: http://bugs.freeciv.org/Ticket/Display.html?id=20167 [EMAIL PROTECTED] - Mon Aug 28 14:45:11 2006]: Before I report a bug, I just would like to say I love Freeciv, even though I am horrible at it. A very glaring bug I've noticed in Freeciv 2.1 is that the Aqueduct city improvement image is not correct. It is the same picture as the airport. (...) The images are correct here in 2.1.0-beta4 with both Trident and Amplio (didn't check the others). Has this problem been resolved with later versions? If not, what tileset are you using? ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#20395) two bugs in 2.1.0 Beta2
URL: http://bugs.freeciv.org/Ticket/Display.html?id=20395 [EMAIL PROTECTED] - Wed Sep 06 00:54:19 2006]: On Tue, 2006-09-05 at 16:57, Jason Dorje Short wrote: URL: http://bugs.freeciv.org/Ticket/Display.html?id=20395 Daniel J McDonald wrote: URL: http://bugs.freeciv.org/Ticket/Display.html?id=20395 On Sun, 2006-09-03 at 17:07, The default queue wrote: - 1. when using Civ2 rules, the image for the aqueduct is the same as the airport. I cannot reproduce in 2.1.0-beta4. Has this been resolved in later versions? 2. When using default rules, fighters can't engage other units except when immediately adjacent to a city. Aparently both fighters and bombers are completely useless. They might be able to defend, but they cannot attack a city - not even when on a carrier immediately adjacent. I have no problem with it...you just move onto the unit/city and it attacks... in 2.0.8, it sure did. Not in the beta I compiled. And I tried with all flying types (well, I didn't bother with a stealth bomber or an a-bomb, and I didn't see awacs in that rule-set) But I did try helicoptors, cruise missles, stealth fighters, regular fighters, bombers. Paratroopers still work. Is there a later snapshot I should try to compile? I used the srpm from Mandriva Cooker for 2.0.8, removed a few patches, adjusted version numbers, stuck in the new tarball, and rpmbuild -ba -jason Is this also something you encounter when using the Civ2 ruleset? Have you tried the default rules? Also, have you tried both using goto and moving them with the numeric keyboard? ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39564) [Patch] Fix AI choice related crashes
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39564 Crash was caused by ai_choose_role_unit() not updating choice.type. Actually ai_choose_role_unit() its usage was buggy in other ways too. It was not actually updating choice.want either, but callers were expected to do that - some did not. need_boat was updated by some callers from FALSE to TRUE, but none was updating it from TRUE to FALSE (so when we first consider sending military unit to another continent, and then decide to build University instead, that University will need_boat). - ML diff -Nurd -X.diff_ignore freeciv/ai/advdomestic.c freeciv/ai/advdomestic.c --- freeciv/ai/advdomestic.c 2007-08-13 20:51:05.0 +0300 +++ freeciv/ai/advdomestic.c 2007-08-14 12:26:21.0 +0300 @@ -265,9 +265,8 @@ if (settler_want 0) { CITY_LOG(LOG_DEBUG, pcity, desires terrain improvers with passion %d, settler_want); - choice-want = settler_want; - choice-type = CT_CIVILIAN; - ai_choose_role_unit(pplayer, pcity, choice, F_SETTLERS, settler_want); + ai_choose_role_unit(pplayer, pcity, choice, CT_CIVILIAN, + F_SETTLERS, settler_want, FALSE); } /* Terrain improvers don't use boats (yet) */ @@ -300,11 +299,10 @@ if (founder_want choice-want) { CITY_LOG(LOG_DEBUG, pcity, desires founders with passion %d, founder_want); - choice-want = founder_want; - choice-need_boat = pcity-ai.founder_boat; - choice-type = CT_CIVILIAN; - ai_choose_role_unit(pplayer, pcity, choice, F_CITIES, founder_want); - + ai_choose_role_unit(pplayer, pcity, choice, CT_CIVILIAN, + F_CITIES, founder_want, + pcity-ai.founder_boat); + } else if (founder_want -choice-want) { /* We need boats to colonize! */ /* We might need boats even if there are boats free, @@ -314,11 +312,16 @@ CITY_LOG(LOG_DEBUG, pcity, desires founders with passion %d and asks for a new boat (%d of %d free), -founder_want, ai-stats.available_boats, ai-stats.boats); + + /* First fill choice with founder information */ choice-want = 0 - founder_want; choice-type = CT_CIVILIAN; choice-value.utype = founder_type; /* default */ - choice-need_boat = TRUE; - ai_choose_role_unit(pplayer, pcity, choice, L_FERRYBOAT, -founder_want); + + /* Then try to overwrite it with ferryboat information + * If no ferryboat is found, above founder choice stays. */ + ai_choose_role_unit(pplayer, pcity, choice, CT_CIVILIAN, + L_FERRYBOAT, -founder_want, TRUE); } } else if (!founder_type (founder_want choice-want || founder_want -choice-want)) { diff -Nurd -X.diff_ignore freeciv/ai/advmilitary.c freeciv/ai/advmilitary.c --- freeciv/ai/advmilitary.c 2007-08-13 20:51:05.0 +0300 +++ freeciv/ai/advmilitary.c 2007-08-14 12:26:53.0 +0300 @@ -1232,7 +1232,8 @@ /* We might need a new boat even if there are boats free, * if they are blockaded or in inland seas*/ assert(is_ground_unit(myunit)); - ai_choose_role_unit(pplayer, pcity, choice, L_FERRYBOAT, choice-want); + ai_choose_role_unit(pplayer, pcity, choice, CT_ATTACKER, + L_FERRYBOAT, choice-want, TRUE); if (SEA_MOVING == utype_move_type(choice-value.utype)) { struct ai_data *ai = ai_data_get(pplayer); diff -Nurd -X.diff_ignore freeciv/ai/aitools.c freeciv/ai/aitools.c --- freeciv/ai/aitools.c 2007-08-14 00:28:28.0 +0300 +++ freeciv/ai/aitools.c 2007-08-14 12:24:15.0 +0300 @@ -1174,14 +1174,23 @@ Calls ai_wants_role_unit to choose the best unit with the given role and set tech wants. Sets choice-value.utype when we can build something. **/ -void ai_choose_role_unit(struct player *pplayer, struct city *pcity, - struct ai_choice *choice, int role, int want) +bool ai_choose_role_unit(struct player *pplayer, struct city *pcity, + struct ai_choice *choice, enum choice_type type, + int role, int want, bool need_boat) { struct unit_type *iunit = ai_wants_role_unit(pplayer, pcity, role, want); if (iunit != NULL) { +choice-type = type; choice-value.utype = iunit; +choice-want = want; + +choice-need_boat = need_boat; + +return TRUE; } + + return FALSE; } /** diff -Nurd -X.diff_ignore freeciv/ai/aitools.h freeciv/ai/aitools.h --- freeciv/ai/aitools.h 2007-08-13 20:51:05.0 +0300 +++ freeciv/ai/aitools.h 2007-08-14 12:24:29.0 +0300 @@ -97,8 +97,9 @@ void city_production_from_ai_choice(struct universal *product, struct ai_choice *choice); -void ai_choose_role_unit(struct player *pplayer, struct city *pcity, -
[Freeciv-Dev] (PR#20936) unforgiving AI doesn't accept any treaty
URL: http://bugs.freeciv.org/Ticket/Display.html?id=20936 [EMAIL PROTECTED] - Mon Sep 18 17:45:31 2006]: It appears to be impossible to satisfy foreign governments when trying to make treaties. On easy, I was negotiating with the Thai, and I gave them a world map, shared vision, 100 gold, two technologies, and a city... all I wanted in return was a cease fire. No deal. I had done nothing to make them angry with me. It is a known problem that AI often become very hostile without apparent reason and will never ever 'forgive' you during the game. The reason for this behavior, is that all AI players play the game to win (i.e. exterminate everyone else) so if they see you taking the lead (top score) or a member of a powerful alliance, they will become perpetually hostile towards you. This is IMHO a quite depressing play style and effectively removes much of the fun in player vs. AI games for me. The most annoying part, I think, is the fact that far-away civilizations you meet late in the game are already in this terminator-mood - I guess through alliances with players hostile towards you. I wish that AI attitudes were decided through 1) your own action - i.e. attacks on their forces, or 2) strategical rivalry - i.e. control of fertile land or a body of water etc. Also that attitudes could improve through lack of armed conflict for a long period of time, bribes, or general changes in the political geography... Oh well, sorry about the rant. This is just the no 1 thing that kills the fun for me in single player Freeciv and I had to get it off my heart. ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39562) [Patch] Improved choice asserts
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39562 On 14/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: In current trunk bad choice structures cause illegal memory access (old iterators were more robust, but at the same time they hide bugs). This patch makes easier to hunt those choice problems down. One very important bit was left out when I cleaned patch up. - ML diff -Nurd -X.diff_ignore freeciv/ai/aicity.c freeciv/ai/aicity.c --- freeciv/ai/aicity.c 2007-08-13 20:51:05.0 +0300 +++ freeciv/ai/aicity.c 2007-08-14 12:42:47.0 +0300 @@ -1380,7 +1380,7 @@ } if (pcity-ai.choice.want != 0) { -ASSERT_REAL_CHOICE_TYPE(pcity-ai.choice.type); +ASSERT_CHOICE(pcity-ai.choice); CITY_LOG(LOG_DEBUG, pcity, wants %s with desire %d., is_unit_choice_type(pcity-ai.choice.type) @@ -1532,7 +1532,7 @@ /* Not dealing with this city a second time */ pcity-ai.choice.want = 0; -ASSERT_REAL_CHOICE_TYPE(bestchoice.type); +ASSERT_CHOICE(bestchoice); /* Try upgrade units at danger location (high want is usually danger) */ if (pcity-ai.urgency 1) { @@ -1692,6 +1692,7 @@ game.info.turn + myrand(RECALC_SPEED) + RECALC_SPEED; } TIMING_LOG(AIT_CITY_SETTLERS, TIMER_STOP); +ASSERT_CHOICE(pcity-ai.choice); } city_list_iterate_end; city_list_iterate(pplayer-cities, pcity) { diff -Nurd -X.diff_ignore freeciv/common/city.h freeciv/common/city.h --- freeciv/common/city.h 2007-08-13 20:51:03.0 +0300 +++ freeciv/common/city.h 2007-08-14 12:42:59.0 +0300 @@ -150,25 +150,26 @@ enum choice_type { CT_NONE = 0, - CT_BUILDING = 0, + CT_BUILDING = 1, CT_CIVILIAN, CT_ATTACKER, CT_DEFENDER, CT_LAST }; -/* FIXME: - - This should detect also cases where type is just initialized with - CT_NONE (probably in order to silence compiler warnings), but no real value - is given. You have to change value of CT_BUILDING into 1 before you - can add this check. It's left this way for now, is case hardcoded - value 0 is still used somewhere instead of CT_BUILDING. - - -- Caz -*/ -#define ASSERT_REAL_CHOICE_TYPE(type)\ -assert(type = 0 type CT_LAST /* type != CT_NONE */ ); +#define ASSERT_CHOICE(c) \ + do { \ +if ((c).want 0) { \ + assert((c).type = 0 (c).type CT_LAST (c).type != CT_NONE);\ + if ((c).type == CT_BUILDING) { \ +int _iindex = improvement_index((c).value.building); \ +assert(_iindex = 0 _iindex B_LAST);\ + } else { \ +int _uindex = utype_index((c).value.utype); \ +assert(_uindex = 0 _uindex U_LAST);\ + } \ +}\ + } while(0); struct ai_choice { enum choice_type type; ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#21224) 2.1b2 civclient WinXP Display improper for production in city window
URL: http://bugs.freeciv.org/Ticket/Display.html?id=21224 [s1kevin - Sat Sep 23 22:48:31 2006]: Screenshot of problem The screenshot didn't stick to the ticket. Maybe it was too large or had a disallowed file ending? ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#21400) probleme version 2.1.0
URL: http://bugs.freeciv.org/Ticket/Display.html?id=21400 [EMAIL PROTECTED] - Thu Sep 28 17:54:29 2006]: Bonjour, J'ai un petit soucis avec la derniere version en beta, quand je clic sur scénario ça me fait planter !!! cela pourrait pas venir de mon firewall look n stop ??? si oui comment regler le soucis ? En tout cas bonne initiative ;) Merci Julian Hi Julian, So if I understand you correctly, (sorry, my French is rusty) the game crash (or freeze) when you click on the Scenario button (on the main menu, I guess.) I recall having similar problems myself with earlier versions, problems that are resolved in (at least) 2.1.0-beta4. Could you download this latest version and try again? ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39564) [Patch] Fix AI choice related crashes
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39564 Here is S2_1 version. Trunk version is already committed. This is less critical, as S2_1 does not crash because of the bug. - ML diff -Nurd -X.diff_ignore freeciv/ai/advdomestic.c freeciv/ai/advdomestic.c --- freeciv/ai/advdomestic.c 2007-08-05 15:36:05.0 +0300 +++ freeciv/ai/advdomestic.c 2007-08-14 13:56:21.0 +0300 @@ -171,9 +171,8 @@ if (settler_want 0) { CITY_LOG(LOG_DEBUG, pcity, desires terrain improvers with passion %d, settler_want); - choice-want = settler_want; - choice-type = CT_NONMIL; - ai_choose_role_unit(pplayer, pcity, choice, F_SETTLERS, settler_want); + ai_choose_role_unit(pplayer, pcity, choice, CT_NONMIL, + F_SETTLERS, settler_want, FALSE); } /* Terrain improvers don't use boats (yet) */ } else if (!settler_type settler_want 0) { @@ -205,10 +204,8 @@ if (founder_want choice-want) { CITY_LOG(LOG_DEBUG, pcity, desires founders with passion %d, founder_want); - choice-want = founder_want; - choice-need_boat = pcity-ai.founder_boat; - choice-type = CT_NONMIL; - ai_choose_role_unit(pplayer, pcity, choice, F_CITIES, founder_want); + ai_choose_role_unit(pplayer, pcity, choice, CT_NONMIL, + F_CITIES, founder_want, pcity-ai.founder_boat); } else if (founder_want -choice-want) { /* We need boats to colonize! */ @@ -219,11 +216,17 @@ CITY_LOG(LOG_DEBUG, pcity, desires founders with passion %d and asks for a new boat (%d of %d free), -founder_want, ai-stats.available_boats, ai-stats.boats); + + /* First fill choice with founder information */ choice-want = 0 - founder_want; choice-type = CT_NONMIL; choice-choice = founder_type-index; /* default */ choice-need_boat = TRUE; - ai_choose_role_unit(pplayer, pcity, choice, L_FERRYBOAT, -founder_want); + + /* Then try to overwrite it with ferryboat information + * If no ferryboat is found, above founder choice stays. */ + ai_choose_role_unit(pplayer, pcity, choice, CT_NONMIL, + L_FERRYBOAT, -founder_want, TRUE); } } else if (!founder_type (founder_want choice-want || founder_want -choice-want)) { diff -Nurd -X.diff_ignore freeciv/ai/advmilitary.c freeciv/ai/advmilitary.c --- freeciv/ai/advmilitary.c 2007-08-04 02:56:41.0 +0300 +++ freeciv/ai/advmilitary.c 2007-08-14 13:59:55.0 +0300 @@ -1197,7 +1197,8 @@ /* We might need a new boat even if there are boats free, * if they are blockaded or in inland seas*/ assert(is_ground_unit(myunit)); - ai_choose_role_unit(pplayer, pcity, choice, L_FERRYBOAT, choice-want); + ai_choose_role_unit(pplayer, pcity, choice, CT_ATTACKER, + L_FERRYBOAT, choice-want, TRUE); if (SEA_MOVING == utype_by_number(choice-choice)-move_type) { struct ai_data *ai = ai_data_get(pplayer); diff -Nurd -X.diff_ignore freeciv/ai/aitools.c freeciv/ai/aitools.c --- freeciv/ai/aitools.c 2007-08-14 00:28:12.0 +0300 +++ freeciv/ai/aitools.c 2007-08-14 13:58:05.0 +0300 @@ -1158,14 +1158,23 @@ Calls ai_wants_role_unit to choose the best unit with the given role and set tech wants. Sets choice-choice if we can build something. **/ -void ai_choose_role_unit(struct player *pplayer, struct city *pcity, - struct ai_choice *choice, int role, int want) +bool ai_choose_role_unit(struct player *pplayer, struct city *pcity, + struct ai_choice *choice, enum choice_type type, + int role, int want, bool need_boat) { struct unit_type *iunit = ai_wants_role_unit(pplayer, pcity, role, want); if (iunit != NULL) { +choice-type = type; choice-choice = iunit-index; +choice-want = want; + +choice-need_boat = need_boat; + +return TRUE; } + + return FALSE; } /** diff -Nurd -X.diff_ignore freeciv/ai/aitools.h freeciv/ai/aitools.h --- freeciv/ai/aitools.h 2007-07-04 14:04:26.0 +0300 +++ freeciv/ai/aitools.h 2007-08-14 13:58:39.0 +0300 @@ -93,8 +93,9 @@ void init_choice(struct ai_choice *choice); void adjust_choice(int value, struct ai_choice *choice); void copy_if_better_choice(struct ai_choice *cur, struct ai_choice *best); -void ai_choose_role_unit(struct player *pplayer, struct city *pcity, - struct ai_choice *choice, int role, int want); +bool ai_choose_role_unit(struct player *pplayer, struct city *pcity, + struct ai_choice *choice, enum choice_type type, + int role, int want, bool need_boat); void ai_advisor_choose_building(struct city *pcity, struct ai_choice
[Freeciv-Dev] (PR#21601) bugs in 2.1.0 beta
URL: http://bugs.freeciv.org/Ticket/Display.html?id=21601 [EMAIL PROTECTED] - Wed Oct 04 08:35:47 2006]: Hello, I've been trying the new civ and found what I think are bugs, although could be something else I can't figure out. - planes and missiles can't attack land units or cities. Does it work in 2.1.0-beta4? If not: what system, Freeciv client, and ruleset are you running? - The production bar in the city dialog box looks empty instead of showing the progress of the unit being produced. See above. - Don't have a dialog box for the established trade routes. It has been reimagined as a popupbox, which is causing a lot of grief. Click and hold down the left mouse button on the 'Trade' value in the city dialog. - it doesn't always tell you when you lose a unit after an attack. Does this happen when a unit dies of a specific cause, or just randomly? I hope it helps. Otherwise, the game is great, it already was, but the graphics improvement makes it friendlier and some of the new features make it harder to win (better). Thanks for developing it. Cheers, Jose Thanks for the report. ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39565) NULL instead of valid impr_type in punittype-need_improvement
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39565 At least I guess crash was caused by $subject. I will commit attached patch immediately to avoid actual crash. Bug must still be fixed and this patch should be reverted after that. - ML diff -Nurd -X.diff_ignore freeciv/ai/advmilitary.c freeciv/ai/advmilitary.c --- freeciv/ai/advmilitary.c 2007-08-14 13:52:16.0 +0300 +++ freeciv/ai/advmilitary.c 2007-08-14 14:35:40.0 +0300 @@ -1038,9 +1038,13 @@ best_choice-type = CT_BUILDING; } else { /* This should never happen? */ +/* FIXME: Restore this when bug causing it to crash is fixed. + *Commented out just as a critical fix to avoid crash. */ +#if 0 CITY_LOG(LOG_DEBUG, pcity, cannot build %s or %s, improvement_rule_name(impr_req), utype_rule_name(punittype)); +#endif } } } ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39563) [Bug] AI doesn't want to build anything in trunk / default.ruleset
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39563 On 14/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: Autogames produce only tons of: 1: Maria Theresia's Graz(54,37) [s2 d0 u0 g0] Falling back - didn't want to build soldiers, workers, caravans, settlers, or buildings! with actual player/city varying, of course. At the same time, more and more different crashes show up. Does William have a fix, or should we revert (PR#39525, r13286)? Don't know how difficult it would be to remove just changes brought by r13286 and changes committed to fix its problems. I'm not yet ready to revert all development since. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39566) worklist_iterate
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39566 About, worklist.h, line 59: Because of an argument of the macro is named worklist, you cannot use struct worklist. Or it will give some like: worklist_iterate(pcity-worklist, prod) { { struct pcity-worklist *_worklist = (pcity-worklist) Funny, but cannot compile... /* Iterate over all entries in the worklist. */ #define worklist_iterate(worklist, prod)\ { \ struct worklist *_worklist = (worklist); \ int _iter, _length = worklist_length(_worklist); \ struct city_production prod; \ \ for (_iter = 0; _iter _length; _iter++) { \ worklist_peek_ith(_worklist, prod, _iter); ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39566) worklist_iterate
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39566 On 14/08/07, Pepeto _ [EMAIL PROTECTED] wrote: About, worklist.h, line 59: Because of an argument of the macro is named worklist, you cannot use struct worklist. Or it will give some like: Thanks. All users seem to use worklist named worklist, which of course again works (even if I'm not big fan of naming structures and their instances with the same name). Attached is patch for S2_1. In trunk we have different macro which has doesn't have this issue. - ML diff -Nurd -X.diff_ignore freeciv/common/worklist.h freeciv/common/worklist.h --- freeciv/common/worklist.h 2007-03-05 19:14:29.0 +0200 +++ freeciv/common/worklist.h 2007-08-14 15:40:00.0 +0300 @@ -57,9 +57,9 @@ fc__attribute((__format__ (__printf__, 4, 5))); /* Iterate over all entries in the worklist. */ -#define worklist_iterate(worklist, prod)\ +#define worklist_iterate(wl, prod) \ { \ - struct worklist *_worklist = (worklist);\ + struct worklist *_worklist = (wl);\ int _iter, _length = worklist_length(_worklist); \ struct city_production prod; \ \ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#31618) cant load saved games Freeciv 2.1.0-beta2 (Win32 client)
URL: http://bugs.freeciv.org/Ticket/Display.html?id=31618 [EMAIL PROTECTED] - Wed Dec 27 23:31:41 2006]: i am using the freeciv installation package for windowsXP Freeciv-2.1.0-beta2-win32-setup.exe this machine runs a winxp home lang:jp intel graphics adapter 82845g/gl/ge/pe/gv and celeron 2,4ghz 256ram dell optiplex/gx60 i get randow program termination and cant load my saved games I can only load saves if they are located in certain places on the hard drive. I usually put them in Freeciv's install folder. If a certain savegame causes this problem, could you please send it here? ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39567) [Patch] Fix using separate builddir in mingw32 builds
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39567 $subject - ML diff -Nurd -X.diff_ignore freeciv/win32/Makefile.am freeciv/win32/Makefile.am --- freeciv/win32/Makefile.am 2007-08-14 00:23:21.0 +0300 +++ freeciv/win32/Makefile.am 2007-08-14 16:32:22.0 +0300 @@ -14,8 +14,8 @@ CLEANFILES = $(nodist_noinst_DATA) clienticon.o: clienticon.rc - $(WINDRES) -i clienticon.rc -o clienticon.o + $(WINDRES) -I$(srcdir) -i $(srcdir)/clienticon.rc -o clienticon.o servericon.o: servericon.rc - $(WINDRES) -i servericon.rc -o servericon.o + $(WINDRES) -I$(srcdir) -i $(srcdir)/servericon.rc -o servericon.o endif ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#28945) 2.1.0 Beta 2 crash at end of turn
URL: http://bugs.freeciv.org/Ticket/Display.html?id=28945 Yes, I believe the crash has been addressed in a newer version. Thanks. KK Daniel Markstedt [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] - Tue Dec 12 20:49:36 2006]: I have had the eternally repeated problem of the game losing connection to the server (localhost, single player) always around the same time in the game. I have yet to come close to finishing a game because it is constantly doing this...I even downloaded the beta 2 several timew to see if it would correct, with no luck. I attached my latest save here. Next turn will cause the game to quit. I hope this can be corrected soon as 2.1 is WAY better than 2.0.8. Kurt This crash is not reproducible in a recent S2_1. Chances are it has been fixed since this report. Please confirm! ~Daniel Yes, I believe the crash has been addressed in a newer version. Thanks.KKDaniel Markstedt [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] - Tue Dec 12 20:49:36 2006]: I have had the eternally repeated problem of the game losing connection to the server (localhost, single player) always around the same time in the game. I have yet to come close to finishing a game because it is constantly doing this...I even downloaded the beta 2 several timew to see if it would correct, with no luck. I attached my latest save here. Next turn will cause the game to quit. I hope this can be corrected soon as 2.1 is WAY better than 2.0.8. Kurt This crash is not reproducible in a recent S2_1. Chances are it has beenfixed since this report. Please confirm!~Daniel___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#4712) Version strings for svn versions
URL: http://bugs.freeciv.org/Ticket/Display.html?id=4712 Since this ticket has last been touched, we have moved from self-hosted CVS to gna svn. Attached patch adds target fc_svnrev_gen.h to common/Makefile. At this point this file is not used (included) anywhere, and it is not dependency for anything (it will be built only if explicitly requested) That header contains a couple of macros. - First there is either FC_SVNREV_ON or FC_SVNREV_OFF defined. FC_SVNREV_ON will be defined if source directory is unmodified svn checkout directory. - FC_SVNREV itself contains release string (r13171) if FC_SVNREV_ON defined, or some fallback string if FC_SVNREV_OFF is defined. I have tested this in my system using number of tricks, but in the end it cannot be fully tested before it is committed (since changing build system locally to support this will mean that local system is not unmodified). Plan is to commit this and then to test that it works. Then we can start using it. - ML diff -Nurd -X.diff_ignore freeciv/bootstrap/fc_svnrev_gen.h.in freeciv/bootstrap/fc_svnrev_gen.h.in --- freeciv/bootstrap/fc_svnrev_gen.h.in 1970-01-01 02:00:00.0 +0200 +++ freeciv/bootstrap/fc_svnrev_gen.h.in 2007-08-14 20:35:28.0 +0300 @@ -0,0 +1,28 @@ +/** + Freeciv - Copyright (C) 2004 - The Freeciv Project + 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, 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. +***/ + +/* common/fc_svnrev_gen.h is automatically generated from + * bootstrap/fc_svnrev_gen.h.in. Do not edit fc_svnrev_ge.h, edit + * fc_svnrev_gen.h.in */ + +#ifndef FC__FC_SVNREV_H +#define FC__FC_SVNREV_H + +/* Either FC_SVNREV_OFF or FC_SVNREV_ON macro defined. + * If FC_SVNREV_ON is defined, FC_SVNREV contains valid svn revision number + * string (currently starting with 'r') + * If FC_SVNREV_OFF is defined, FC_SVNREV contains some fallback string */ +#define FC_SVNREV_SVNREVSTATE +#define FC_SVNREV SVNREV + +#endif /* FC__FC_SVNREV_H */ diff -Nurd -X.diff_ignore freeciv/common/Makefile.am freeciv/common/Makefile.am --- freeciv/common/Makefile.am 2007-08-04 18:38:32.0 +0300 +++ freeciv/common/Makefile.am 2007-08-14 20:39:54.0 +0300 @@ -91,6 +91,31 @@ cd $(srcdir) ./generate_packets.py touch packets_generate +.PHONY: fc_svnrev_gen.h +fc_svnrev_gen.h : + (REV= ; REVSTATE=OFF ; \ + if which svn which tail \ + test -d $(top_srcdir)/.svn ; then \ + if test x$$(cd $(top_srcdir) ; svn diff | tail -n 1) = x ; then \ +MAXREV=0 ; \ +REV=$$(cd $(top_srcdir) ; svn ls -v | (while read REVNUM REST ; do if test $$REVNUM -gt $$MAXREV ; then MAXREV=$$REVNUM ; fi ; done ; echo r$$MAXREV )) ; \ +fi ; \ +echo REV: $$REV; \ +if test x$$REV = x ; then \ + REV=svn ; \ +else \ + REVSTATE=ON ; \ +fi ; \ +else \ + REV=dist ; \ +fi ; \ +cat $(top_srcdir)/bootstrap/fc_svnrev_gen.h.in | sed -e s,SVNREV,$$REV, -e s,SVNREVSTATE,$$REVSTATE, fc_svnrev_gen.h.tmp ; \ + if ! test -f fc_svnrev_gen.h || ! cmp fc_svnrev_gen.h fc_svnrev_gen.h.tmp ; then \ + mv fc_svnrev_gen.h.tmp fc_svnrev_gen.h ; \ +else \ + rm fc_svnrev_gen.h.tmp ; \ +fi) /dev/null + #libcivcommon_a_DEPENDENCIES = ../utility/libcivutility.a #libcivcommon_a_LIBADD = ../utility/libcivutility.a ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#20395) two bugs in 2.1.0 Beta2
URL: http://bugs.freeciv.org/Ticket/Display.html?id=20395 2. When using default rules, fighters can't engage other units except when immediately adjacent to a city. Aparently both fighters and bombers are completely useless. They might be able to defend, but they cannot attack a city - not even when on a carrier immediately adjacent. I have no problem with it...you just move onto the unit/city and it attacks... in 2.0.8, it sure did. Not in the beta I compiled. And I tried with all flying types (well, I didn't bother with a stealth bomber or an a-bomb, and I didn't see awacs in that rule-set) But I did try helicoptors, cruise missles, stealth fighters, regular fighters, bombers. Paratroopers still work. Is there a later snapshot I should try to compile? I used the srpm from Mandriva Cooker for 2.0.8, removed a few patches, adjusted version numbers, stuck in the new tarball, and rpmbuild -ba -jason This appears to be fixed in 2.1.0 Beta 4 -- Daniel J McDonald, CCIE # 2495 ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39568) cannot sell an improvement
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39568 On 14/08/07, Pepeto _ [EMAIL PROTECTED] wrote: In the gtk2.0 client, you cannot sell an improvement by clicking on this in the city dialog if you bought in the same turn. This quite annoying... Thanks. Your patch is good for S2_1. More intrusive trunk version attached. Untested. - ML diff -Nurd -X.diff_ignore freeciv/client/gui-gtk-2.0/citydlg.c freeciv/client/gui-gtk-2.0/citydlg.c --- freeciv/client/gui-gtk-2.0/citydlg.c 2007-08-13 20:51:06.0 +0300 +++ freeciv/client/gui-gtk-2.0/citydlg.c 2007-08-14 23:02:58.0 +0300 @@ -2495,12 +2495,8 @@ return; } - if (pdialog-pcity-did_buy || pdialog-pcity-did_sell - || pdialog-pcity-owner != game.player_ptr) { -return; - } - - if (!can_city_sell_building(pdialog-pcity, pimprove)) { + if (!can_player_sell_building_now(game.player_ptr, pdialog-pcity, +pimprove)) { return; } diff -Nurd -X.diff_ignore freeciv/client/gui-sdl/citydlg.c freeciv/client/gui-sdl/citydlg.c --- freeciv/client/gui-sdl/citydlg.c 2007-08-13 22:44:48.0 +0300 +++ freeciv/client/gui-sdl/citydlg.c 2007-08-14 23:19:44.0 +0300 @@ -1490,14 +1490,20 @@ set_wstate(pCityDlg-pImprv-pScroll-pDown_Right_Button, FC_WS_NORMAL); /* down */ } - if (pCityDlg-pCity-did_sell) { + /* There is common_function_sell_building_now(), but we are not using + * it here, since we want to use set_group_state() when possible */ + if (pCityDlg-pCity-did_sell + || pCityDlg-pCity-owner != game.player_ptr) { set_group_state(pCityDlg-pImprv-pBeginActiveWidgetList, pCityDlg-pImprv-pEndActiveWidgetList, FC_WS_DISABLED); } else { struct widget *pTmpWidget = pCityDlg-pImprv-pEndActiveWidgetList; while (TRUE) { - if (is_wonder(improvement_by_number(MAX_ID - 3000 - pTmpWidget-ID))) { + struct impr_type *pimpr = improvement_by_number(MAX_ID - 3000 - + pTmpWidget-ID); + + if (!can_city_sell_building(pCityDlg-pCity, pimpr)) { set_wstate(pTmpWidget, FC_WS_DISABLED); } else { set_wstate(pTmpWidget, FC_WS_NORMAL); diff -Nurd -X.diff_ignore freeciv/client/gui-win32/citydlg.c freeciv/client/gui-win32/citydlg.c --- freeciv/client/gui-win32/citydlg.c 2007-08-13 20:51:06.0 +0300 +++ freeciv/client/gui-win32/citydlg.c 2007-08-14 23:20:58.0 +0300 @@ -397,7 +397,11 @@ const char *descr = city_production_name_translation(pcity); EnableWindow(pdialog-buy_but, city_can_buy(pcity)); - EnableWindow(pdialog-sell_but, !pcity-did_sell); + + /* FIXME: Should not pass NULL as improvement + * to can_player_sell_building_now(). It skips many tests. */ + EnableWindow(pdialog-sell_but, + can_player_sell_building_now(game.player_ptr, pcity, NULL)); get_city_dialog_production(pcity, buf, sizeof(buf)); diff -Nurd -X.diff_ignore freeciv/client/gui-xaw/citydlg.c freeciv/client/gui-xaw/citydlg.c --- freeciv/client/gui-xaw/citydlg.c 2007-08-13 20:51:06.0 +0300 +++ freeciv/client/gui-xaw/citydlg.c 2007-08-14 23:22:48.0 +0300 @@ -1476,7 +1476,10 @@ struct city *pcity=pdialog-pcity; XtSetSensitive(pdialog-buy_command, city_can_buy(pcity)); - XtSetSensitive(pdialog-sell_command, !pcity-did_sell); + /* FIXME: Should not pass NULL as improvement + * to can_player_sell_building_now(). It skips many tests. */ + XtSetSensitive(pdialog-sell_command, + can_player_sell_building_now(game.player_ptr, pcity, NULL)); xaw_set_label(pdialog-building_label, city_production_name_translation(pcity)); diff -Nurd -X.diff_ignore freeciv/common/improvement.c freeciv/common/improvement.c --- freeciv/common/improvement.c 2007-08-13 20:51:03.0 +0300 +++ freeciv/common/improvement.c 2007-08-14 23:05:51.0 +0300 @@ -538,3 +538,21 @@ return (city_has_building(pcity, pimprove) is_improvement(pimprove)); } +/ + Return TRUE iff the player can sell the given improvement from city. +/ +bool can_player_sell_building_now(struct player *pplayer, + struct city *pcity, + struct impr_type *pimprove) +{ + if (pcity-did_sell || pcity-owner != pplayer) { +return FALSE; + } + + if (pimprove != NULL + !can_city_sell_building(pcity, pimprove)) { +return FALSE; + } + + return TRUE; +} diff -Nurd -X.diff_ignore freeciv/common/improvement.h freeciv/common/improvement.h --- freeciv/common/improvement.h 2007-08-13 20:51:03.0 +0300 +++ freeciv/common/improvement.h 2007-08-14 23:03:21.0 +0300 @@ -109,6 +109,9 @@ bool can_sell_building(struct impr_type *pimprove); bool
Re: [Freeciv-Dev] (PR#19029) Compilation of 2.1 fails
URL: http://bugs.freeciv.org/Ticket/Display.html?id=19029 On 30/07/06, Christian Knoke [EMAIL PROTECTED] wrote: Freeciv 2.1 and HEAD, SVN 28 JUL 2006, GTK2 Freeciv compilation fails if the top edge GGZ lib isn't present on the system. It is not possible to disable GGZ during compile in order to make compilation work without GGZ. ggz.m4 has been updated since (at the very same day, actually). Has it solved these problems? - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39355) 2.1.0b3 Save Local Options doesn't save global worklists any longer
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39355 On 25/04/07, Kevin Benton [EMAIL PROTECTED] wrote: My challenge is that Save Local Options no longer saves the global worklists. Works for me. Can you send more detailed instructions on how to reproduce this problem? - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39434) Crash in 2.1 in vsnprintf, probably related to unit_name_translation changes
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39434 On 04/07/07, William Allen Simpson [EMAIL PROTECTED] wrote: Ulrik Sverdrup wrote: This patch reinstates the ptype local variable that is needed after punit is wiped to print the user messages. Thanks! Added comments. Probably shouldn't be destroyed until after the messages are sent, but the logic isn't readily apparent. Committed revision 13045. What is keeping this ticket open? - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39559) [Patch] Fix gui-win32 compile (or parts of it)
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39559 On 14/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: It still does not compile. But there is patch somewhere in RT that should fix some of the older problems, so I'm avoiding duplicate work here. There was no usable patch for fixing those problems. So I had to write it myself. With attached patch gui-win32 compiles. It has not adopted to new cursor code, but old one had to go. - ML diff -Nurd -X.diff_ignore freeciv/client/gui-win32/graphics.c freeciv/client/gui-win32/graphics.c --- freeciv/client/gui-win32/graphics.c 2007-08-04 18:38:53.0 +0300 +++ freeciv/client/gui-win32/graphics.c 2007-08-15 01:56:51.0 +0300 @@ -90,8 +90,7 @@ Load the cursors (mouse substitute sprites), including a goto cursor, an airdrop cursor, a nuke cursor, and a patrol cursor. **/ -void -load_cursors(void) +void load_cursors(void) { enum cursor_type cursor; ICONINFO ii; diff -Nurd -X.diff_ignore freeciv/client/gui-win32/mapview.c freeciv/client/gui-win32/mapview.c --- freeciv/client/gui-win32/mapview.c 2007-08-04 18:38:53.0 +0300 +++ freeciv/client/gui-win32/mapview.c 2007-08-15 02:01:01.0 +0300 @@ -201,6 +201,11 @@ SetWindowText(unit_info_frame, get_unit_info_label_text1(punitlist)); SetWindowText(unit_info_label, get_unit_info_label_text2(punitlist)); + /* Cursor handling has changed a lot. New form is not yet implemented + * for gui-win32. Old code below is probably never needed again, but + * I left it here just in case. Remove when new implementation is in + * place. */ +#if 0 switch (hover_state) { case HOVER_NONE: if (action_state == CURSOR_ACTION_SELECT) { @@ -245,6 +250,7 @@ cursor_type = CURSOR_PARADROP; break; } +#endif do_mainwin_layout(); } @@ -258,6 +264,14 @@ } /** + This function will change the current mouse cursor. +**/ +void update_mouse_cursor(enum cursor_type new_cursor_type) +{ + /* PORT ME */ +} + +/** **/ void update_turn_done_button(bool do_restore) diff -Nurd -X.diff_ignore freeciv/client/gui-win32/mapview.h freeciv/client/gui-win32/mapview.h --- freeciv/client/gui-win32/mapview.h 2007-08-04 18:38:53.0 +0300 +++ freeciv/client/gui-win32/mapview.h 2007-08-15 01:23:57.0 +0300 @@ -22,6 +22,7 @@ void overview_expose(HDC hdc); void map_handle_hscroll(int pos); void map_handle_vscroll(int pos); +void anim_cursor(float time); /* These values are stored in the mapview struct now. */ #define map_view_x mapview.map_x0 diff -Nurd -X.diff_ignore freeciv/client/gui-win32/menu.c freeciv/client/gui-win32/menu.c --- freeciv/client/gui-win32/menu.c 2007-08-04 18:38:53.0 +0300 +++ freeciv/client/gui-win32/menu.c 2007-08-15 01:27:04.0 +0300 @@ -1156,7 +1156,8 @@ !unit_has_type_flag(punit, F_UNDISBANDABLE)); my_enable_menu(menu, IDM_ORDERS_HOMECITY, can_unit_change_homecity(punit)); - my_enable_menu(menu, IDM_ORDERS_LOAD, find_transporter_for_unit(punit)); + my_enable_menu(menu, IDM_ORDERS_LOAD, + find_transporter_for_unit(punit)-id); my_enable_menu(menu, IDM_ORDERS_UNLOAD, (can_unit_unload(punit, game_find_unit_by_number(punit-transported_by)) can_unit_exist_at_tile(punit, punit-tile)) diff -Nurd -X.diff_ignore freeciv/client/gui-win32/optiondlg.c freeciv/client/gui-win32/optiondlg.c --- freeciv/client/gui-win32/optiondlg.c 2007-08-04 18:38:53.0 +0300 +++ freeciv/client/gui-win32/optiondlg.c 2007-08-15 01:30:35.0 +0300 @@ -80,6 +80,9 @@ } } break; +case COT_FONT: + /* FIXME: */ + break; } } client_options_iterate_end; DestroyWindow(dlg); @@ -153,7 +156,10 @@ (void *) fcwin_box_add_edit(vbox, , 40, 0, 0, TRUE, TRUE, 0); break; } -} + case COT_FONT: + /* FIXME: */ + break; +} } client_options_iterate_end; fcwin_box_add_box(hbox,vbox_labels,TRUE,TRUE,0); fcwin_box_add_box(hbox,vbox,TRUE,TRUE,0); @@ -199,6 +205,9 @@ } SetWindowText((HWND)(o-p_gui_data), o-p_string_value); break; +case COT_FONT: + /* FIXME: */ + break; } } client_options_iterate_end; fcwin_redo_layout(option_dialog); diff -Nurd -X.diff_ignore freeciv/client/gui-win32/pages.c freeciv/client/gui-win32/pages.c --- freeciv/client/gui-win32/pages.c 2007-08-04 18:38:53.0 +0300 +++ freeciv/client/gui-win32/pages.c 2007-08-15 02:02:27.0 +0300 @@ -15,6 +15,8 @@ #include config.h #endif +#include connectdlg_g.h + #include pages.h
[Freeciv-Dev] (PR#37727) freeciv 2.1.0-Beta3 crash
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37727 [EMAIL PROTECTED] - Wed Mar 07 18:49:54 2007]: The error file is attached. I hope this is helpful. Roy Gathercoal Your error file didn't stick to the ticket. Could you try sending it again? ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#38343) 2.1.0b3 civclient Can't toggle city production from map display
URL: http://bugs.freeciv.org/Ticket/Display.html?id=38343 [s1kevin - Sat Mar 17 21:26:22 2007]: Using the Ctrl-P and from the View/Production menu, running in the Win32-gtk client, I am unable to toggle the display of the city production value from the map display. Cannot reproduce with 2.1.0-beta4 on WinXP. The command works fine here. ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39569) [client/win32] help for wonders borked
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39569 Originally reported in PR#39473: 2.1.0-beta4 on Windows XP, Win32 client. Helpsystem entries for wonders all have '0' listed as requirement, while the actual req is shown as obsoleting. Obsolete by tech is not listed at all. ~Daniel ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev