With this patch you can play simutrans on a torus, i.e. if you leave the map on the top/left, you will re-enter it at the bottom/right and vice versa.
There are still some bugs (wegbauer and income calculation), but it is still playable.
I didn't aimed, that it comes into trunk. I just wanted to test it and now you can test it, too.
You can find the path at www.tu-chemnitz.de/~gerw/patches/torus_v2.patch (http://www.tu-chemnitz.de/~gerw/patches/torus_v2.patch).
Edit: Income calculation should work now.
Sounds funny! But when clicking the link it says "Error 404"! :'(
Should work now. I've forgotten the "/patches".
ways and paths can be built trough the limits of the map ?
Yes. And vehicles can drive through. If all works perfect, you shouldn't notice the map borders at all.
That sounds like fun :) Too bad you cannot allow Simutrans to be played on a sphere!
Quote from: VS on June 07, 2009, 03:20:44 PM
That sounds like fun :) Too bad you cannot allow Simutrans to be played on a sphere!
But it could be possible (with some work) to play simutrans on a Cross-cap (http://en.wikipedia.org/wiki/Cross-cap). It's almost a sphere...
there is a little big problem ... ingame map extension couldn't be used anymore :/
Ooh, this does sound like fun :)
Quote from: gauthier on June 07, 2009, 08:33:21 PMthere is a little big problem ... ingame map extension couldn't be used anymore :/
Of course. You can't extend your map, if you built over the edges. So map extension is disabled. You can enable it by reverting the changes in simwerkz.h
Quote from: gauthier on June 07, 2009, 08:33:21 PM
there is a little big problem ... ingame map extension couldn't be used anymore :/
why would you like to enlarge an infinite map (ie a map without borders) ? ;)
for the same reaseon as normal maps ;)
I linke the idea of an torus map. However, I fear several stuff need still to be fixed, like the income and the factory-chain builder and probably some other places too.
The income is already fixed. And also connection of factories should work right, since I used the function welt->torus_dist, which calculates the distance of to coordinates on the torus.
One thing that doesn't work yet is wegbauer_t::calc_distance. It is easy, if you calculate routes from a single starting point to an initial end point. But if you consider several end points, some additional logic is needed.
And I think, there are some differences of koord(3d) left, which should be replaced by welt->koord_diff.
Does this patch completely rule out map enlargement, or is it mutually exclusive per-map feature?
In the current version of the patch, all maps are tori. Therefore map enlargement is disabled.
It could be included as a setting in new world window.