Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Lalo Martins
And so says Mark Wedel on 05/02/06 11:24...
>   But what at the main features that are missing?  IMO, there is a lot of 
> stuff 
> in gtkv1 client that I'm not sure people use.  One being the keybinding 
> interface - do people use that very much, or do people just use command line. 
> It doesn't make sense to add features that no one needs.

Sometimes I'll bind from the command line, specially if I'm in a hurry
or I'm just pasting a binding (eg for a pickup mode or a spell I just
learned).  But usually I bind from the GUI, and I *always* unbind and
edit bindings from the GUI.

best,
   Lalo Martins
--
  So many of our dreams at first seem impossible,
   then they seem improbable, and then, when we
   summon the will, they soon become inevitable.
--
personal:  http://www.laranja.org/
technical:http://lalo.revisioncontrol.net/
GNU: never give up freedom http://www.gnu.org/


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Brendan Lally
On 2/5/06, Mark Wedel <[EMAIL PROTECTED]> wrote:
> > I'm not sure that is necessary, not so long ago there was a patch to
> > gcfclient to make it compile against gtk2, I will assume that this
> > gets accepted in the move towards 2.0, with the few bugs it isolates
> > picked up on the way.
>
>   I do wonder if at some point, gtk itself may drop support for the stuff from
> gtk1 they obsoleted.  For example, if gtk3 is released, they may very well say
> 'gtk1 code is going away - we kept and entire released version, but we don't
> want it anymore'.  I'd imagine that may be years away (and gtkv2 may continue 
> to
> be commonly available on distributions for a while even after gtk3 is 
> released),
> but a random thought.  Note that I have no indication that this is actually
> going to happen, but I imagine at some point, the gtk1 stuff that they stopped
> supporting will go away.

But long before that time, gcfclient can have been compiled against
gtk2, and it can use a lot of the code from gcfclient2 to replace
deprecated stuff.

>   Maybe - I'm not 100% sure how big gtk-common would be.  But this goes back 
> to
> the original question, which is why keep the gtk-v1 client.  If the gtkv2 
> client
> has all the same features, is there a reason to keep the gtk-v1 client (this 
> is
> driven people using it, but then perhaps the question is why are people using 
> it
> over gtkv2).
>
>   If it is a matter of layout (I like the layout of gtk1 better), I wonder how
> hard it would be to do a 'gtk API' type of thing - take a glade config file, 
> and
> say 'these are the callbacks you use' - one could whip up a new layout pretty
> darn quickly.

That's pretty much the reasoning behind a gtk-common/ however, I'd
rather have at least one client done manually, since glade is fairly
complicated.

>   IIRC, I did the entire layout of the gtkv2 client in glade in a single 
> evening
> - it was the back end portion that was harder, and in some cases, because of 
> the
> difference in gtk 1 and 2.


>   IIRC, to be 100% gtk2, the text windows (messages) and the lists (inventory,
> look) use new widgets.  If you take those pieces out, what is then left as
> common is the map (which does share code to a good extent right now), and the
> stat/resistances windows (which are pretty trivial).

If we assume that gcfclient is in future compiled against gtk2 by
default then the inventory and text code could be taken directly from
gcfclient2, given that they operate almost identically anyway.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Brendan Lally
On 2/5/06, Mark Wedel <[EMAIL PROTECTED]> wrote:
>   But what at the main features that are missing?  IMO, there is a lot of 
> stuff
> in gtkv1 client that I'm not sure people use.  One being the keybinding
> interface - do people use that very much, or do people just use command line.
> It doesn't make sense to add features that no one needs.

I use the keybinding interface on the occasions I run gcfclient.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Mark Wedel
Brendan Lally wrote:
> On 2/4/06, Mark Wedel <[EMAIL PROTECTED]> wrote:
>>   To me, at some level, keeping the gtk(v1) client about may not make a lot 
>> of
>> sense.  Especially if we start going down the path of new character creation 
>> and
>> other widgets - I don't look forward to trying to write those for the gtkv1 
>> client.
> 
> I'd note at this point that the recent spell interface updates I did
> were for gcfclient not gcfclient2 - I find glade complex and
> confusing, gtk code is comparatively straightforward to write, at
> least for maintenance.

  And that is sort of the point - if/when more stuff is moved to the client, 
having to update multiple clients become more a burden.  As long as we have 
peopel willing to keep updating all the clients, not as much a problem. 
Presuming of course those people stick around and are relatively responsive to 
making needed changes in a timely fashion.

> 
>>   I know a lot of people still use the gtkv1 client.  So my basic question 
>> is,
>> for those of you that do, what needs to be changed/added/fixed in the gtkv2
>> client so you would use it.
> 
> I'm not sure that is necessary, not so long ago there was a patch to
> gcfclient to make it compile against gtk2, I will assume that this
> gets accepted in the move towards 2.0, with the few bugs it isolates
> picked up on the way.

  I do wonder if at some point, gtk itself may drop support for the stuff from 
gtk1 they obsoleted.  For example, if gtk3 is released, they may very well say 
'gtk1 code is going away - we kept and entire released version, but we don't 
want it anymore'.  I'd imagine that may be years away (and gtkv2 may continue 
to 
be commonly available on distributions for a while even after gtk3 is 
released), 
but a random thought.  Note that I have no indication that this is actually 
going to happen, but I imagine at some point, the gtk1 stuff that they stopped 
supporting will go away.

> 
> If cfclient is removed, (and the broken gnome client also), then there
> would only be one toolkit in use. It would then be possible to
> restructure the client directories to have common/ gtk_common/ gtk-v1/
> and gtk-v2/ mapping to:
> protocol parsing and storage, toolkit specific code, and interface 
> respectively.

  Maybe - I'm not 100% sure how big gtk-common would be.  But this goes back to 
the original question, which is why keep the gtk-v1 client.  If the gtkv2 
client 
has all the same features, is there a reason to keep the gtk-v1 client (this is 
driven people using it, but then perhaps the question is why are people using 
it 
over gtkv2).

  If it is a matter of layout (I like the layout of gtk1 better), I wonder how 
hard it would be to do a 'gtk API' type of thing - take a glade config file, 
and 
say 'these are the callbacks you use' - one could whip up a new layout pretty 
darn quickly.

  IIRC, I did the entire layout of the gtkv2 client in glade in a single 
evening 
- it was the back end portion that was harder, and in some cases, because of 
the 
difference in gtk 1 and 2.

  IIRC, to be 100% gtk2, the text windows (messages) and the lists (inventory, 
look) use new widgets.  If you take those pieces out, what is then left as 
common is the map (which does share code to a good extent right now), and the 
stat/resistances windows (which are pretty trivial).

  But what that does mean is that any change to inventory handling (say new 
attribute to display) would be separate code for the clients.  Likewise, any 
changes to message handling couldn't share code.  The map portion could share 
code, and I'd bet to some extent, right now, could pretty easily do so (in both 
cases, it is just going directly to a drawable, and in the case of the opengl 
and SDL drawing modes, doesn't even use GTK - gtk just provides the window, 
nothing else).


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Mark Wedel
Yann Chachkoff wrote:
>> Briefly discussed on irc, but also related to other discussions, is perhaps
>> what client(s) to use going forward. To me, at some level, keeping the
>> gtk(v1) client about may not make a lot of sense.
> 
> I'm not sure about that, at least not on the short term. The gtkv2 is far
> from complete IMHO. On the longer term, it is probably correct that the gtkv1
> would get superceded at some point, though.

  But what at the main features that are missing?  IMO, there is a lot of stuff 
in gtkv1 client that I'm not sure people use.  One being the keybinding 
interface - do people use that very much, or do people just use command line. 
It doesn't make sense to add features that no one needs.

> 
>> Especially if we start going down the path of new character creation and
>> other widgets - I don't look forward to trying to write those for the gtkv1
>> client.
> 
>> I know a lot of people still use the gtkv1 client.
> 
> Well, I think it is actually more accurate to say that it is the most used
> one :).

  Yes, numbers back you up - from metalforge:
  GTK Unix Client  6
  GTK Unix Client 1.5.03
  GTK Unix Client 1.7.01
  GTK Unix Client 1.7.17
  GTK Unix Client 1.8.0   22
  GTK Win32 Client 1.7.0   1
  GTK Win32 Client 1.7.1   2
  GTK Win32 Client 1.8.0   7
  GTK Win32 Client 1.8.0 snapshot 19
  GTK2 Unix Client 1.8.0   6
  Perl Bot 1
  X11 Unix Client  4
  X11 Unix Client 1.7.02
  X11 Unix Client 1.8.0   11

  These numbers are correlated with client and ip address - this likely isn't 
100% accurate (there is a delay between the client connecting and player 
logging 
in, thus getting IP address), but probably gives an OK estimate.  The number 
could also be skewed - people playing that connect via DHCP will be counted 
numerous times, compared to those on static IPs.



> My most important complain is already well known: gtkv2 requires a 1280x1024
> screen resolution, which is not available (or comfortable) on many screens.
> The resolution currently considered as standard is 1024x768 (a lot of laptops
> are limited to it, while a lot of 17''CRT monitors can only display 1280x1024
> at rather low frequencies). Although I understand that people that got bigger
> screens would want a client best suited for them, let's not forget all those
> who cannot properly display such a big client: they'll have no other choice
> but quit playing, or deal with ugly things like virtual scrolling.
> 
> I think that the problem comes down to the impossibility to reconfigure the
> client interface to suit your needs - not everybody needs/wants a 25x25 map
> display, for example; others may want to get bigger tiles instead of getting
> more. Before scrapping gtkv1, I think that the v2 must provide the same level
> of display configuration.

  I'll look into this.  Note it really comes down to the map display area - if 
the map area is made say ~550x550 pixels (instead of the 800x800 right now), 
that you could either get 17x17 display with full sized images, or 25x25 with 
images resized to be 22x22, or something in between.


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Brendan Lally
On 2/4/06, Mark Wedel <[EMAIL PROTECTED]> wrote:
>   To me, at some level, keeping the gtk(v1) client about may not make a lot of
> sense.  Especially if we start going down the path of new character creation 
> and
> other widgets - I don't look forward to trying to write those for the gtkv1 
> client.

I'd note at this point that the recent spell interface updates I did
were for gcfclient not gcfclient2 - I find glade complex and
confusing, gtk code is comparatively straightforward to write, at
least for maintenance.

>   I know a lot of people still use the gtkv1 client.  So my basic question is,
> for those of you that do, what needs to be changed/added/fixed in the gtkv2
> client so you would use it.

I'm not sure that is necessary, not so long ago there was a patch to
gcfclient to make it compile against gtk2, I will assume that this
gets accepted in the move towards 2.0, with the few bugs it isolates
picked up on the way.

If cfclient is removed, (and the broken gnome client also), then there
would only be one toolkit in use. It would then be possible to
restructure the client directories to have common/ gtk_common/ gtk-v1/
and gtk-v2/ mapping to:
protocol parsing and storage, toolkit specific code, and interface respectively.

These parts individually would not be so hard to maintain.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Yann Chachkoff
> Briefly discussed on irc, but also related to other discussions, is perhaps 
> what client(s) to use going forward.
> To me, at some level, keeping the gtk(v1) client about may not make a lot of 
> sense.  

I'm not sure about that, at least not on the short term. The gtkv2 is far from 
complete IMHO.
On the longer term, it is probably correct that the gtkv1 would get superceded 
at some point, though.

> Especially if we start going down the path of new character creation and 
> other widgets - I don't look forward to trying to write those for the gtkv1 
> client.

> I know a lot of people still use the gtkv1 client.  

Well, I think it is actually more accurate to say that it is the most used one 
:).

> So my basic question is, for those of you that do, what needs to be 
> changed/added/fixed in the gtkv2 client so you would use it.

My most important complain is already well known: gtkv2 requires a 1280x1024 
screen resolution, which is not available (or comfortable) on many screens. The 
resolution currently considered as standard is 1024x768 (a lot of laptops are 
limited to it, while a lot of 17''CRT monitors can only display 1280x1024 at 
rather low frequencies). Although I understand that people that got bigger 
screens would want a client best suited for them, let's not forget all those 
who cannot properly display such a big client: they'll have no other choice but 
quit playing, or deal with ugly things like virtual scrolling.

I think that the problem comes down to the impossibility to reconfigure the 
client interface to suit your needs - not everybody needs/wants a 25x25 map 
display, for example; others may want to get bigger tiles instead of getting 
more. Before scrapping gtkv1, I think that the v2 must provide the same level 
of display configuration.


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] gtkv2 client vs gtk client gap list.

2006-02-04 Thread Mark Wedel

  Briefly discussed on irc, but also related to other discussions, is perhaps 
what client(s) to use going forward.

  To me, at some level, keeping the gtk(v1) client about may not make a lot of 
sense.  Especially if we start going down the path of new character creation 
and 
other widgets - I don't look forward to trying to write those for the gtkv1 
client.

  I know a lot of people still use the gtkv1 client.  So my basic question is, 
for those of you that do, what needs to be changed/added/fixed in the gtkv2 
client so you would use it.

  And anyone still using the old X11 client, same question.



___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] crossfire 2.0, smooth movement, thoughts.

2006-02-04 Thread Mark Wedel

  In various 2.0 discussions, the idea of smooth movement has been brought up.

  Thinking about that, I wonder if it is better to aim for 3.0 for that. 
redoing it for smooth movement requires IMO a lot of code changes, and if we 
shoot for that in 2.0, I think 2.0 will be a long ways off.

  I think it also needs to be worked out a lot more.  I have some thoughts on 
how to do it, but it needs to be worked out a lot more.

  For example, I was originally thinking that it could only pertain to players 
and perhaps monsters.  But that doesn't work really wall - arrows should also 
move smoothly, and you should be able to roll boulders smoothly, or else it 
looks really weird.

  Underlying, I was thinking the idea of mapspace remains the same - at some 
level, you need some method to get to objects nearby.  And splitting all the 
spaces into smaller spaces may not help - if you have to examine 200 spaces 
that 
the player is near for objects, that probably isn't an improvement.

  So my general though would be each object would have an offset within the 
space - presuming we want to match pixel offsets to position, it would be that 
each object would have an x and y offset for -15 to +15 - if the offset is more 
than that (say 16), it would move to the next space at a -15 offset.

  But what this does mean is that in many cases, you need to look at 4 spaces 
for objects/monsters (for example, if the player is at 15,15 offset, then 
objects on the neighboring space might be close enough to pick up).  Likewise, 
movement for players get complicated.

  But the question also about how fine to reduce movement comes in.  If we come 
into refining things to single pixel movement, we are talking about a 250 FPS 
redraw rate for the client, or about 4 ms to redraw the image.  I don't think 
any of the clients on current hardware are capable at that rate (ignoring 
graphic performance, have to take into account the other things the client 
does).



___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] gcfclient info window text trimming crash.

2006-02-04 Thread Mark Wedel
Brendan Lally wrote:
> gcfclient can be made to crash reliably with the "Trims text in the
> information window" option set when compiled against 1.2.10.
> 
> This was reported on #crossfire, and I have been able to reproduce it
> reliably (grab lots of items, and repeatedly pickup and drop them).
> 
> Since this appears to be a GTK bug, which is presumably not present
> under gtk2, I therefore suggest that the patch which is connected to
> bug #1423605 - 
> https://sourceforge.net/tracker/index.php?func=detail&aid=1423605&group_id=13833&atid=113833
> as a work around.
> 
> Basically I am adding
> #if GTK_MAJOR_VERSION > 1
> ...
> #endif
> around the trimming code. (although there are also a couple of minor
> cleanups too).
> 
> The reason I am posting this here, is to ask if there is a better way
> to do this (it works fine for me running gtk 1.2, but does it break
> windows builds)?

  It is a little unclear what exactly the GTK_MAJOR_VERSION check is around.

  Does this mean that info trimming is completely disabled with version 1 of 
gtk?  If so, I'd sort of say, what is the point - that is why there is a config 
option.

  Although, I suppose if that is the case, there isn't a big reason for a 
config 
option.

> 
> Presumably 2.0 will compile gcfclient against gtk2, so there will be
> no further issue with this; however since this doesn't seem likely to
> be the case with 1.9 some way to stop it crashing seems to be in
> order.

  Are you sure version 2.0+ of GTK fixes the problem?  IIRC when doing the gtk2 
client, there is a new widget for text stuff for gtk2, and the gtk2 docs 
specifically say don't use the old widget if at all possibly because it is 
severely broken.

  That said, it could be that that option get removed from the config page - if 
people want to muck with their config file, fair enough, but they are doing 
that 
at their own risk.  IIRC, the config page specifically says it may cause 
crashes 
if you use that option.


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire