Re: [Freeciv-Dev] Development tasks

2011-08-19 Thread Marko Lindqvist
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

2011-08-16 Thread patrick kelle
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

2011-08-15 Thread patrick kelle
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

2011-08-15 Thread David Lowe
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

2011-08-15 Thread David Lowe
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

2011-08-15 Thread patrick kelle
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

2011-08-15 Thread Marko Lindqvist
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

2011-08-14 Thread Marko Lindqvist
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

2011-06-08 Thread Marko Lindqvist
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

2011-06-07 Thread David Lowe
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