Lighting changes,
was Re: [crossfire] Circular lighting & negetive glow_radiuses
Mitch Obrian
mikeeusaaa at yahoo.com
Mon Apr 4 11:24:34 CDT 2005
I completley agree with the ambient light.
Now should darkness be converted into the correct
ambient light value at map load or should these 2
things be sepreate?
--- Mark Wedel <
mwedel at sonic.net
> wrote:
>
Alex Schultz wrote:
>
>>
>
>> I don't remember the details, but I don't
>
believe they get more
>
>> powerful as they get farther. However, the core
>
of the cone certainly
>
>> is more potentent than the edges, and that is
>
intentional.
>
>
>
>
>
> Interesting... I just did some tests (with
>
dragonbreath) and the center
>
> of the cone being more powerful at the center,
>
it's also brighter at the
>
> center under my patch, however it is too bright
>
overall. I was about to
>
> say that we could just tweak the spell effect's
>
glow_radius, however
>
> that is already 1, so perhaps I should omit
>
additive lighting from this
>
> patch and wait till we have the greater number of
>
lighting levels (and
>
> perhaps floats should be allowed in an object's
>
glow_radius in the
>
> process for spell effects that often overlap). Do
>
you agree?
>
>
Not 100% sure what you're saying. If you are
>
saying to store the intermediate
>
results in floats, no problems there.
>
>
If the idea is to change glow_radius (which really
>
needs a new name) to a
>
float, that could be done. Could be a little
>
confusing what it really means
>
however (that may just be a question of
>
documentation). For example, if you
>
have a 'brightness 0.2' object, what effect does it
>
have if it is just by itself?
>
>
>
>
>> Also, it is worth noting that the client
>
actually takes single byte
>
>> values for the light level (range of 0-255).
>
However, the fact that
>
>> only 4 light levels are really recognized are
>
sort of done in the
>
>> calculation - there is no good reason for that,
>
as more light levels
>
>> break that.
>
>
>
>
>
> Hmm... though that's currently slightly wasteful
>
bandwidth wise, it is a
>
> nice thing for expanding, in that less would need
>
to be changed in the
>
> lower level protocol to add more lighting levels.
>
>
Well, right now, the server convers the 4 current
>
light levels to an integer
>
(0,64, 128, 192, 255) and sends that as the light
>
level to the client. So right
>
now, that is somewhat wastefull, but was forward
>
enough thinking that the
>
protocl doesn't need to be changed for new light
>
levels.
>
>
>>
>
>> Best place is at load time.
>
>
>
>
>
> I agree. I just don't know exactly where in the
>
code that is :-P as I
>
> haven't looked very far outside of where I've
>
needed to look to make the
>
> patch so far, but it shouldn't be too hard to
>
find.
>
>
common/loader.l - find the glow_radius line.
>
>
>
>
> Good idea, I'll begin working on implementation
>
this conversion soon.
>
> However one issue is whether the radius of the lit
>
area (area that
>
> doesn't round to zero) should be as far from the
>
center as the flat side
>
> of the old square lighting, or should the new
>
radius be equal to the
>
> radius to the corner of the old square, or should
>
it be inbetween?
>
> _________
>
> | |
>
> | |
>
> | | As in, should the new circle fit
>
inside the old box,
>
> should the old box fit inside the new circle, or
>
somewhere inbetween?
>
> | |
>
> |_________|
>
>
The calculated field (circle) should fit inside
>
the square - in other words,
>
the corners of the square won't be illuminated.
>
>
IMO, that will have less bad side effects -
>
however, there is probably no
>
perfect answer. I could see that the scenario that
>
the map designer selected a
>
light level with the intention of the corner being
>
illuminated that thus
>
visible, and what I say above breaks that.
>
>
However, there could also be a case where a map
>
maker intentionally put
>
something out of the light, and increase the range
>
of light could break that.
>
>
One thought I also had is that perhaps the map
>
darkness (perhaps better
>
renamed ambiant_light) represents just that - the
>
ambiant light level of the map.
>
>
The idea being is that something like a tavern may
>
not be truly dark, but
>
could have a somewhat dim overall look. You bring a
>
torch in, you light up the
>
area around you, but the torch range is the same as
>
normal.
>
>
An underground map could have an ambiant light
>
level of 0, representing no
>
light at all.
>
>
currently, the darkness field in the map
>
represents how far one can see
>
without any other light - that is sort of an odd
>
definition - at dusk (or during
>
a full moon) it can be somewhat dark, but one can
>
still see a long ways - just
>
everything is darker during the daytime. I think
>
the ambiant light level
>
would be a nice way to add some atmosphere to more
>
maps.
>
>
>
>
_______________________________________________
>
crossfire mailing list
>
crossfire at metalforge.org
>
http://mailman.metalforge.org/mailman/listinfo/crossfire
>
__________________________________
Do you Yahoo!?
Make Yahoo! your home page
http://www.yahoo.com/r/hs
More information about the crossfire
mailing list