Strange but true.
A slight discrepancy in how the fractal was processed into tiles means the all existing worlds are technically off by one block to the south east. Whatever block you are standing on, the fractal equations really gave me the block to the north west... and I added one. This probably seems like a small thing... and indeed, up until now it has had absolutely no affect.
The funny thing is that I happened to notice it as I was copying the terrain generation over to the new engine. I even put a comment in about it and how it doesn't cause any issues... and then promptly moved on and forgot about it. It didn't seem like a big deal and fixing it would make all existing worlds off by one block to the north west... which "might" manifest itself as a noticeable duplication of exact tile patterns along some border.
For the curious, this happens because in the process of turning fractal heights into terrain types, I need to search the surrounding blocks. So I ask for a portion of the fractal 2 bigger each way than I actually need, ie: I wanted an extra 1 block border all the way around and then I'd just ignore the border when generating the tile itself. The problem is that I didn't offset what I was asking for from the fractal. Where I should have asked for the range starting at (-1,-1) I was asking for (0,0).
Anyway.
As you know, recently I've been working on refactoring how the trees were generated. The existing released engine (hence forth known as 'the old engine'), does this as a last step of terrain generation. The terrain is already generated, caves are carved out, and grass and plantable blocks figured out... and then I just plop the trees down in the tile based on a selection algorithm. As noted elsewhere, there were some problems with this approach... trees couldn't cross tile boundaries, I had no idea where I'd actually placed trees: useful information for other things, etc..
The new approach figures out where the trees should be for the whole "node" (1024x1024 space) and just selects the right ones for tile generation. They can cross boundaries because that tree will just get rendered in both tiles.
This is trickier than it sounds because the trees need to know about the caves. A height map and terrain classification isn't enough. So I had to go back to my cave algorithm and create an intermediate form where it carves the surface caves and gorges out of the height map... now the trees know where they should properly go. It also now takes a bit of time to generate a node but that was inevitable. All of that stuff is cached anyway and mostly speeds up all other tile generation. Towns, buildings, and roads should easily double the time it takes to generate node descriptors but should only minimally impact tile generation.
So, anyway, I refactored the caves accordingly, modified the tree generator to generate a node-wide descriptor of where all of the trees are (approximately 15,000 trees in a node, by the way) and I was working on the tile-level generation. All of it was finally coming together.
Then I noticed some of my trees were floating in the air.
Investigating, it looked like it was always a case where there was a raised area to the west or north... more specifically, west and north. My previous issue came back to haunt me.
So now the fractal is universally located across the board... that means your existing worlds may end up with a slight seam (if you happen to notice it) between already generated and ungenerated parts. Hopefully that's the only other change other than the trees. ("I am altering the deal. Pray I don't alter it further."
http://www.youtube.com/watch?v=jsW9MlYu31g)
As an aside, this also fixed a little glitch, one of those little details that only I might notice, where the far-horizon terrain occasionally seemed to be one block off from the paging in real terrain...