[CF-Devel] multi tile monsters - one png

Michael Toennies michael.toennies at nord-com.net
Fri Jul 13 14:41:23 CDT 2001


Hi

As i look at the new mapcmd code from mark, i notice that this opens the
door
to a nice feature - to avoid the cutting of multi tile monster pictures.

First, lets remember what multi tile monster means. They are needed for
server to
control monsters which reach over more than 1 tile.

In this process isn't a face(=png picture) involved or used - they are only
used on client side.
The client itself don't know anything about multi monsters nor about the
shown monsters -
it just print the pngs. A multi tile monster is for the client nothing
different than x single
tile pieces.

Well, to send all this parts, the server goes through the objects in a map
tile, collect and sort
them and send the attached faces/animation faces to the client.

Its easy now to include here a control. Every multi tile monster part knows
which his "first" tile
(=head) is and which his relative position to his own position is. So, its
easy to send this to the
client. Means this:

If (multi tile monster part)
 goto head
   if (this monster not shown this map update)
     send client face + x offset of head + y offset of head
     mark monster as shown this step
continue

This will of course invoke 2 more bytes at this point to the map cmd, but
because only ONE time a face
information get send from a multi tile monster, this will safe some byte at
the end.

On client side, there are many ways then to draw this right. Easiest way is
to clip it or to presort
it... Its not hard and there are some working ways.

What will give it to us?

For all clients, this is a great sacrifice for the artists. It will drawing
& storing of bigger monsters
some more easier. And this is REALLY a good thing.

For the iso client but even for the normal client, this will open the way
for some nicer layering.

I had worked with this before in other games, and you will really not miss
the picture tiling when
you had done this.

Its really needed for the iso client, because the cutting for iso multi is
very tricky and a pain in
a ass if you must do it with hands. And i don't want introduce here a
programm (scripting will not work
easily because you need some trick masks).


    
    


More information about the crossfire mailing list