Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2003:
[Freeciv-Dev] Re: New drawing algorythm
Home

[Freeciv-Dev] Re: New drawing algorythm

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Daniel L Speyer <dspeyer@xxxxxxxxxxx>
Cc: "freeciv-dev@xxxxxxxxxxx" <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: New drawing algorythm
From: Rafal Bursig <bursig@xxxxxxxxx>
Date: Mon, 24 Feb 2003 12:57:22 +0100

Dnia 2003.02.24 01:16 Daniel L Speyer napisał(a):
Behold, the long awaited (i.e. incredibly late) new isometric drawing
algorythm is ready.  Some of you probably still remember when I said
I'd
write this.

It's substantially faster (a factor of 2 worst-case, by my brute-force
measurements), more versatile, more contained withn the
gui-independant
sections, and ,IMHO, much prettier (even though there's more to be
done
refining the tilesets).

It requires non-trivial work to convert a tileset -- so far I've done
lexxy and isotrident.  I'll do others if requested (does anybody still
use cevo?  did anybody ever use isoengels?).

The tilesets (along with screenshots, are available at
http://dspeyer.student.umd.edu/new-algor (both tilesets require the
common
isomisc directory, also available there).

The provided diff is from 1.14.0.  It probably contradicts with
Jason's
unification patches, and is (I think) orthogonal to Eric's sprite
loading
system.

As always, comments, bug reports, suggestions, large sums of money,
etc. are appreciated.

Hi Daniel

This method is faster that current becouse you eliminate transparent pixels from terrain tiles and make automaticaly blending. Sometime ago I made code in SDLClient similar to your with some differences. I don't load ready tiles only create it inside client at start and use different blending code.

But...

tile == exp. 64x32 pixels (standart terrain tile)
cell == exp. 32x16 pixels (1/4 standart terrain tile - corrner of tile)

Current I can tell about some problems your code :
- If you use standart draw loops in update_mapcanvas(...) then you redraw all cell 2 times becouse this loop is made for normal tiles. - your FOW method don't work with terrains bigger that standart tiles size (exp. 64x32) and you got such terrains if you use civ3 tilesets and it don't work with terrains that have pixels outside standart tile rhomb. - you force to all gui struct Sprite design by adding int width and int hight parms and this is problematic. - there are other aspects becouse draw code is high unificate and you simple can't use things unavilable on other eviroments (exp. mask).

Rafal



[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] Re: New drawing algorythm, Rafal Bursig <=