empserver/src/lib/update
Markus Armbruster fa5fa4abcc Don't store RAILWAYS track in sectors
Storing track in sectors is problematic, because we need to update
adjacent sectors when updating a sector in a way that changes its
capability to extend railway into its neighbors.  This invalidates
cached adjacent sectors, and calling code may not be prepared for
that.  Specifically, bridge building caches the bridge head, and
writes it back later, wiping out the track update.

Replace struct sctstr member sct_track by new sct_rail_track().  Make
selector track virtual.  Remove the code to keep sct_track up-to-date:
set_railway(), update_railway().

Unfortunately, this causes cyclic dependencies between link libraries:
the virtual selector needs to be referenced from src/lib/global/nsc.c,
and it needs to reference stuff from src/lib/common/file.c.  Hack
around it in Make.mk for now.
2008-05-07 10:33:41 +02:00
..
age.c Rebase of Hvy Metal I final version 2008-05-07 10:33:41 +02:00
anno.c Update copyright notice 2008-01-19 10:15:37 +01:00
bp.c Use sctstr member sct_uid instead of recomputing it 2008-03-26 22:10:29 +01:00
deliver.c Replace some typedef names by enum tags. 2008-03-14 20:25:42 +01:00
distribute.c Replace some typedef names by enum tags. 2008-03-14 20:25:42 +01:00
finish.c Don't store RAILWAYS track in sectors 2008-05-07 10:33:41 +02:00
human.c Don't produce food without work 2008-05-07 10:33:41 +02:00
land.c Update known contributors comments 2008-03-14 20:25:44 +01:00
main.c Update copyright notice 2008-01-19 10:15:37 +01:00
material.c Update copyright notice 2008-01-19 10:15:37 +01:00
mobility.c Update known contributors comments 2008-03-14 20:25:44 +01:00
move_sat.c Update copyright notice 2008-01-19 10:15:37 +01:00
nat.c Give logx() internal linkage 2008-03-14 20:25:10 +01:00
nav_ship.c Update copyright notice 2008-01-19 10:15:37 +01:00
nav_util.c Update copyright notice 2008-01-19 10:15:37 +01:00
nxtitemp.c Check ef_type before dereferencing struct empobj 2008-03-14 20:25:08 +01:00
plague.c Update copyright notice 2008-01-19 10:15:37 +01:00
plane.c Distinguish between planes "in orbit" and "launched" 2008-03-26 22:09:09 +01:00
populace.c Update copyright notice 2008-01-19 10:15:37 +01:00
prepare.c Update copyright notice 2008-01-19 10:15:37 +01:00
produce.c Update copyright notice 2008-01-19 10:15:37 +01:00
removewants.c Update copyright notice 2008-01-19 10:15:37 +01:00
revolt.c Fix tracking of planes flying a sortie 2008-03-26 22:10:13 +01:00
sail.c Update copyright notice 2008-01-19 10:15:37 +01:00
sect.c Update copyright notice 2008-01-19 10:15:37 +01:00
ship.c Rebase of Hvy Metal I final version 2008-05-07 10:33:41 +02:00