by Spike » Mon Jul 26, 2010 4:37 pm
I've never played Zelda, so I'll have to use other games as a point of reference...
If you want a hub system such as that found in HalfLife, Quake2, or Hexen2 where you can return to a previous map where all the ents are how you left them... forget about it. Without extensions it cannot be done.
What you can achieve is loading a previously visted map with entities that are spawned conditionally such that it appears to be a progression of the previous map. The serverflags global is persistant and can be used to decide the previously visited maps. This is the same global that holds the grabbed runes in Quake, and it is this field that spawns the various barriers on start.bsp. Spawn spot selection is also tweeked such that if you have any rune, it uses info_player_start2 instead of the regular start spot.
This only really works with maps which have no monsters, as they are likely to respawn without intervention.
Note that if you want a true hub system and are willing to stick to a single engine, FTE can support hub systems with a couple of changes to a mod. Simply add an extra optional string argument to changelevel, and the previous map will be archived in case you return. The extra argument is passed to the next map via a 'startspot' string global, and this can be used to choose the player's spawn spot on the new level.
.