Re: [Freeciv-Dev] Development tasks
On 16 August 2011 10:52, patrick kelle patrick.kell...@gmail.com wrote: Is there any other task that needs to be done and helps to understand the code better? If you have nothing specific in mind I will look more into the qt client. Good documentation would make it easier for newcomers to understand the code. We don't have that yet, but we have discussed about improving the situation. That's task for someone, and one who writes the documentation certainly learns even more than those later using the documentation. Some links: http://gna.org/patch/?2509 http://gna.org/task/?7327 https://mail.gna.org/public/freeciv-dev/2011-02/msg00675.html - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
Is there any other task that needs to be done and helps to understand the code better? If you have nothing specific in mind I will look more into the qt client. Regards, Patrick On Mon, Aug 15, 2011 at 9:54 PM, Marko Lindqvist cazf...@gmail.com wrote: On 15 August 2011 21:32, patrick kelle patrick.kell...@gmail.com wrote: Ok thanks for the details. I will try to take a look into the function pointers and complete the list. Please check patch #2831 that has been submitted since I sent that email. Working at the function pointer layer might be waste of time now. -ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
Hi, has there been done any more work on the qt client? I might help David a bit if help is needed. Regards, Patrick On Sun, Aug 14, 2011 at 8:23 PM, Marko Lindqvist cazf...@gmail.com wrote: As I know that there are new members in this list urging to get something to do, let's revisit my June mail. These are about bigger subprojects ,if you want to work on such. Fixes to individual bugs and simple one-patch features are very much welcome also. On 7 June 2011 19:32, Marko Lindqvist cazf...@gmail.com wrote: I wonder if there is people lurking on this mailing list wanting to start contributing to freeciv, but don't really know what to work on. We do have some areas where we really would have use for some help. As you can see, we basically would want someone taking active role with each client. gtk3 migration. Yesterday I copied gtk2-client code as base to start gtk3-client development. gtk3-client is really important thing to do so we will have at least one well maintained client also in the future when gtk2 libraries are no longer available by default, or maybe not at all. But all of the currently active contributors seem to lack either time or other resources to take really active role in this work. I'd like to see someone taking main responsibility for gtk3 migration. More information about our plans are in https://gna.org/task/?7334 and https://gna.org/patch/?2689 I'll add gtk3-client category to task and bug trackers tonight. I have been working on this quite much myself. SDL-client maintainership If we want to keep SDL-client in well maintained state, we really need someone taking active role with it. At the moment biggest single issue is https://gna.org/bugs/?15804 If that is not fixed soon, we have quite useless sdl-client in 2.3 series already. Qt-client development Again, someone should take active role in Qt-client development if we want to see it forward. It was my original intend when I started that client that development should be later given to someone else, but as plan B I could slowly develop it myself. With the new things coming up, I really don't have time to execute that plan B. Qt-client is on hold until someone starts to work with it again. David Lowe promised to work on this, but we never got Qt-client compilation to work with his Mac OS X. I also remind you about the fact that we've now got loadable AI module support. Somebody may want to start developing their own alternative AI for freeciv. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
On 15 Aug, 2011, at 2:21 AM, patrick kelle wrote: has there been done any more work on the qt client? I might help David a bit if help is needed. I regret to say i haven't made any progress on it. Right now my trusty/rusty PowerBook won't even boot into Debian, so i won't be able to do any work on the client until i get that straightened out. As well, tomorrow i start Multi-Variable Calculus and i expect that'll keep me plenty busy until the end of the year. So yeah, anything you do here will be a blessing. FWIW, here was where we left off: On 7 Jun, 2011, at 9:32 AM, Marko Lindqvist wrote: By the time I had to stop Qt-client development due to time restrictions, I had also encountered design problem in fitting client common code and Qt models of graphics canvas together. This probably needs to be resolved before any other work on Qt-client makes sense. Client common code just overdraws old sprites with new ones, possibly even with completely black ones, when screen needs update. In fact it doesn't even remember exact sprites it has previously drawn. Qt-classes I looked at the time worked on the idea that they store graphical items to be shown. While you can place such items on top of each other (overdraw), old ones would still need to be removed to free memory and not to use processing time when refreshing screen. I'd start this task by investigating if there's some other way in Qt to implement canvas than one requiring explicit removal of items, as it would require bug changes to client common code to handle the removal. I did implement canvas that has this memory usage problem. So if you want to see what Qt-client looks like with it, you can test it. But usable for longer use it is not as client gets slower with every screen refresh (more items to handle). See patch #2443. Sent from my MacBookPro Never go to a doctor whose office plants have died. - Bombeck ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
On 15 Aug, 2011, at 2:21 AM, patrick kelle wrote: I might help David a bit if help is needed. I almost forgot this: On 8 June 2011 10:48, Marko Lindqvist cazf...@gmail.com wrote: Easier, maybe even boring, task could be checking that all functions belonging to client common - gui API go through function pointer layer. I just implemented it with minimum effort - only those cases that caused actual compilation errors. I think that for consistency callback layer should be used even for those functions that don't cause compilation failures. In any case going through all these functions teaches one a lot about client common - gui-specific interface. Function pointer layer exist to overcome different symbol mangling in C and C++. C-code, such as client common code, cannot call functions from C++ (gui-qt) with the usual convention of just giving function name as deep down the C and C++ have different idea what the name looks like even when in source code it seems the same. So gui-qt just sets up table of function pointers (C++ code itself can put those pointers correctly) and C-side uses those pointers to call functions. For example for gui-specific function ui_init(): - Actual implementation is in gui_main.cpp with name qtg_ui_init() (named so that prefix 'qtg_' is added) - qtg_ui_init() in header qtg_cxxside.h (all the functions accessed by function pointer layer are here) - In qtg_cxxside.cpp function setup_gui_funcs() sets function pointer funcs-ui_init (named after the gui-specific function) to point to qtg_ui_main() - In qtg_cside.h that pointer is defined to be part of gui_funcs-structure - In qtg_side.c is qt-client version of ui_init() that just calls qtg_ui_init() through function pointer (wraps it) Sent from my MacBookPro Next time buy the two-ply kind, said Tom roughly. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
Ok thanks for the details. I will try to take a look into the function pointers and complete the list. On Mon, Aug 15, 2011 at 4:55 PM, David Lowe doctorjl...@verizon.net wrote: On 15 Aug, 2011, at 2:21 AM, patrick kelle wrote: I might help David a bit if help is needed. I almost forgot this: On 8 June 2011 10:48, Marko Lindqvist cazf...@gmail.com wrote: Easier, maybe even boring, task could be checking that all functions belonging to client common - gui API go through function pointer layer. I just implemented it with minimum effort - only those cases that caused actual compilation errors. I think that for consistency callback layer should be used even for those functions that don't cause compilation failures. In any case going through all these functions teaches one a lot about client common - gui-specific interface. Function pointer layer exist to overcome different symbol mangling in C and C++. C-code, such as client common code, cannot call functions from C++ (gui-qt) with the usual convention of just giving function name as deep down the C and C++ have different idea what the name looks like even when in source code it seems the same. So gui-qt just sets up table of function pointers (C++ code itself can put those pointers correctly) and C-side uses those pointers to call functions. For example for gui-specific function ui_init(): - Actual implementation is in gui_main.cpp with name qtg_ui_init() (named so that prefix 'qtg_' is added) - qtg_ui_init() in header qtg_cxxside.h (all the functions accessed by function pointer layer are here) - In qtg_cxxside.cpp function setup_gui_funcs() sets function pointer funcs-ui_init (named after the gui-specific function) to point to qtg_ui_main() - In qtg_cside.h that pointer is defined to be part of gui_funcs-structure - In qtg_side.c is qt-client version of ui_init() that just calls qtg_ui_init() through function pointer (wraps it) Sent from my MacBookPro Next time buy the two-ply kind, said Tom roughly. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
On 15 August 2011 21:32, patrick kelle patrick.kell...@gmail.com wrote: Ok thanks for the details. I will try to take a look into the function pointers and complete the list. Please check patch #2831 that has been submitted since I sent that email. Working at the function pointer layer might be waste of time now. -ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
As I know that there are new members in this list urging to get something to do, let's revisit my June mail. These are about bigger subprojects ,if you want to work on such. Fixes to individual bugs and simple one-patch features are very much welcome also. On 7 June 2011 19:32, Marko Lindqvist cazf...@gmail.com wrote: I wonder if there is people lurking on this mailing list wanting to start contributing to freeciv, but don't really know what to work on. We do have some areas where we really would have use for some help. As you can see, we basically would want someone taking active role with each client. gtk3 migration. Yesterday I copied gtk2-client code as base to start gtk3-client development. gtk3-client is really important thing to do so we will have at least one well maintained client also in the future when gtk2 libraries are no longer available by default, or maybe not at all. But all of the currently active contributors seem to lack either time or other resources to take really active role in this work. I'd like to see someone taking main responsibility for gtk3 migration. More information about our plans are in https://gna.org/task/?7334 and https://gna.org/patch/?2689 I'll add gtk3-client category to task and bug trackers tonight. I have been working on this quite much myself. SDL-client maintainership If we want to keep SDL-client in well maintained state, we really need someone taking active role with it. At the moment biggest single issue is https://gna.org/bugs/?15804 If that is not fixed soon, we have quite useless sdl-client in 2.3 series already. Qt-client development Again, someone should take active role in Qt-client development if we want to see it forward. It was my original intend when I started that client that development should be later given to someone else, but as plan B I could slowly develop it myself. With the new things coming up, I really don't have time to execute that plan B. Qt-client is on hold until someone starts to work with it again. David Lowe promised to work on this, but we never got Qt-client compilation to work with his Mac OS X. I also remind you about the fact that we've now got loadable AI module support. Somebody may want to start developing their own alternative AI for freeciv. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
On 8 June 2011 04:33, David Lowe doctorjl...@verizon.net wrote: On 7 Jun, 2011, at 9:32 AM, Marko Lindqvist wrote: Qt-client development Until somebody better comes along, i can at least at least keep this ball rolling. Caveat: i've only worked through the TrollTech tutorials last semester while learning C++, so i'm far from being an expert. Since i've never done anything this big before, i could benefit if somebody with the big picture gave a breakdown of the tasks. By the time I had to stop Qt-client development due to time restrictions, I had also encountered design problem in fitting client common code and Qt models of graphics canvas together. This probably needs to be resolved before any other work on Qt-client makes sense. Client common code just overdraws old sprites with new ones, possibly even with completely black ones, when screen needs update. In fact it doesn't even remember exact sprites it has previously drawn. Qt-classes I looked at the time worked on the idea that they store graphical items to be shown. While you can place such items on top of each other (overdraw), old ones would still need to be removed to free memory and not to use processing time when refreshing screen. I'd start this task by investigating if there's some other way in Qt to implement canvas than one requiring explicit removal of items, as it would require bug changes to client common code to handle the removal. I did implement canvas that has this memory usage problem. So if you want to see what Qt-client looks like with it, you can test it. But usable for longer use it is not as client gets slower with every screen refresh (more items to handle). See patch #2443. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] Development tasks
On 7 Jun, 2011, at 9:32 AM, Marko Lindqvist wrote: Qt-client development Again, someone should take active role in Qt-client development if we want to see it forward. It was my original intend when I started that client that development should be later given to someone else, but as plan B I could slowly develop it myself. With the new things coming up, I really don't have time to execute that plan B. Qt-client is on hold until someone starts to work with it again. Until somebody better comes along, i can at least at least keep this ball rolling. Caveat: i've only worked through the TrollTech tutorials last semester while learning C++, so i'm far from being an expert. Since i've never done anything this big before, i could benefit if somebody with the big picture gave a breakdown of the tasks. Sent from my MacBookPro You see, without that little doohicky, the Universe stops. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev