Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2004:
[Freeciv-Dev] Re: (PR#7408) unit_list_size(&ptile->units) == 0 Again (Se
Home

[Freeciv-Dev] Re: (PR#7408) unit_list_size(&ptile->units) == 0 Again (Se

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] Re: (PR#7408) unit_list_size(&ptile->units) == 0 Again (Sea barbarians)
From: "mateusz stefek" <matusik_s@xxxxx>
Date: Tue, 17 Feb 2004 00:34:31 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=7408 >

On 2004.02.16 08:49, Jason Short wrote:
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=7408 >
> 
> mateusz stefek wrote:
> 
> > There's another problem: Suppose that Player B has a loaded transport 
> > within sight of player A. They have shared vision.
> > Then player B removes shared vision and moves his transport. Server doesn't 
> > remove units inside transport from A's client.

Strange, This bug "works wrong". When B shares vision with A, A shouldn't be 
able to see units inside B's transport anyway. This bug is supposed to occur 
only when B cancels alliance. (Bug "works" also when players are at war, but 
with shared vision)
Probably problem is in move_unit(). It somehow sends transported units to 
onlookers when transport moves.
 
> Argh!  And I guess for units in cities, too?
> 
> Solutions:
> 
> - Server detects when alliances change and goes over every unit to see 
> if it must be removed.

It would be very hard because shared vision is transitive and alliance is not 
equivalent to shared vision in this case. (Transported units are shown when 
players are allied, not when they share vision)

Current "sight system" is getting horibly complicated. We have already normal 
vision, shared vision, tower vision, alliances, transports, cities, borders, 
Apollo, fogofwar=0 and partial invisible units. And when something changes we 
must consider every possible change in client.

And another problem: What about transported missiles in submarines? 
Suppose that players A and B are allied, but no shared vision.B's loaded 
submarine is two tiles from A transport. 
Players are allied, but without shared vision. It seems that 
can_player_see_unit_at2(A, unit) returns TRUE for the missile and FALSE for the 
submarine.


I'm confused.
--
mateusz





[Prev in Thread] Current Thread [Next in Thread]