[crossfire] Release of 1.11 in a week or two
Mark Wedel
mwedel at sonic.net
Sun Sep 23 20:12:32 CDT 2007
Nicolas Weeger wrote:
>> It shouldn't be. It's possible that a few things or other changes were
>> outside of #ifdefs. For both client & server, having curl shouldn't be a
>> requirement.
>
> What's the point of metaserver2, then? :)
> I think curl is needed, so newer clients use newer servers.
There is a difference of something being highly desirable and something being
strictly required.
I can think of some number of cases where people may not use the metaserver2
for various reasons, and thus don't really want to bother downloading what may
be extra libraries.
The configure in the client is supposed to error out if curl is not found, but
there is also an option to bypass that and compile the client without it. Now
any ones I compile and official distribute will have metaserver2 support, but if
it isn't hard to remove requirements of certain libraries, then probably not a
bad thing to do so.
>
>> Having pthread, at least for client, may be, as even for metaserver1
>> support, it now uses pthread to get the data from the server in its own
>> thread.
>>
>> pthread may get used for more stuff - threading the client is an
>> interesting idea (one thread to deal with drawing, another for socket) - in
>> this way, GUI is always snappy, and the number of locks needed to make this
>> happen actually isn't that many.
>
> Actually, pthread is probably harder to get for Windows than curl ;)
> And threading the client, what for? I mean, that's not a small task, what is
> the point of threading for now?
I didn't say I was going to hop right on it and do it.
The most basic would be something like what is done right now for metaserver -
have one thread to deal with handling the gui, and another thread to deal with
taking the data from the socket and figuring out what to do with it. In this
way, the gui should always remain responsive even if the client is spending a
bit of time digesting data from the socket.
And in retrospect, having the sound stuff done in a separate thread instead of
a separate program would likely have been better.
>
>> Haven't tried, but see comment about SDL map support getting removed in
>> other message. While I know there is always desire to have as many options
>> as available, as the person that has done considerable work with SDL and
>> opengl for drawing logic, opengl seems a much better solution (it seems to
>> provide many more acceleration options than SDL. For example, if at some
>> point we move lighting effects to the client, opengl has interfaces for
>> that. For SDL, we'd need to write our own lighting routines)
>>
>> Now I realize that everyone may not have working opengl, etc, but for
>> those people, pixmap mode is still there.
>
> Well, SDL is nice because you can use audio things too, so you get sound
> support. But maybe openal could be used, as another thread mentioned.
There are like 20 different sound mechanisms for linux it seems. I do think
openal would be a better long term solution, as it supports more advanced sound
handling, so instead of the client having to deal with mixing, etc, openal would
take care of it.
>
> Also, if I remember correctly, pixmap does not support alpha transparency,
> which is something it'd be great to have (ok, in a few years / centuries,
> when we have artists...)
opengl also supports alpha transparencies also.
I won't really dispute that SDL is better than pixmap mode. I'm just not sure
if both SDL and opengl support really makes sense. Also, I'd have to look at
how the SDL code was done - while I know SDL does support alpha transparencies,
I'm not sure if the implementation done in the client does or not.
More information about the crossfire
mailing list