Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CF: CVS changes (png support)
- To: crossfire mailing list <crossfire (at) ifi.uio.no>
- Subject: CF: CVS changes (png support)
- From: Mark Wedel <>
- Date: Sat, 03 Jun 2000 00:23:31 -0700
- Sender:
The changes below add support for png display in the client. Most of the
changes are in the client. It works pretty good, but at least on my system,
there appears to be a bug someplace that causes some pngs not to get rendered
correctly - it is in one of the libraries, as if I use gimp or imagemagick to
display the file at question, it displays fine, yet if I use a sample display
program that imlib provides source for, it does not display correctly (it has
vertical white stripes every other pixel). The client sees the same thing.
The png images have been checked into CVS as of a couple days ago. Peter - you
can delete the arch32 distribution now if you want, so that data has been merged
in.
Server changes:
lib/crossfire.png: Some floors modified to no longer have transperencies.
include/newserver.h: Add Send_Face_Png made, also update versions of
the protocol
include/newclient.h: Add CF_FACE_PNG constant.
socket/request.c: Add support for receiving PNG facemode request,
ad final logic to send png images to the client.
Changes by Mark Wedel, 6/2/2000
Client changes:
Protocol: Update for png information - addition of image command.
client.c: Add support for image command. Change initializing so we get
the protocol from the server early on - we need to know it before
we tell it what facemode we want, as it may not support png
images. do protocol version check and if the server does not
support it and the user request png, fail out.
client.h: Increase versions of protocol. Add Png_Display to possible display
modes.
command.c: Add ImageCmd function which processes the image command
(used for receipt of png images). the use of the image command
can be abstracted in the future for other image formats quite easily.
config.h.in (& config.h): Add HAVE_IMLIB_H define which lets us know if
the imlib is available.
configure.in (& configure): Add detection for imlib and set the appropriate
variables so that they get linked properly. Also add check
for Imlib.h
gx11.c: Update for png support - add display_newpng command, change
XPM_SIZE to image_size and make it a variable and not a define.
Pull in appropriate imlib support, as well as rendering of
png data. Some dead code removed. display_usepng,
display_usxpm, and display_newpng functions added.
newclient.h: Add CF_FACE_PNG constant for CS communication.
proto.h: Updated for new png functions.
x11.c: Many of the same changes as gx11.c above. More work was done here
as the 24 image size was hardcoded into this file - it is
now a variable also, so supporting other image sizes in the future
should also be quite easy. Once the Png's are rendered, they are
drawn the same was as the Xpm's are, so many checks for
display_mode==Xpm_Display also check for Png_Display.
xutil.c: Support for PNG images added. Changes are mostly related to
caching code.
Changes by Mark Wedel, 6/2/2000
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to ]