Look the difference between Diamond and Platinum.
Here's the reason why: ALL textures in the 4th generation doesn't just have one texture for one block, it isn't like the 3rd generation. They come in different sizes, but they all have to fit to the end of a block though. The textures can reach out to a varity of blocks. So it's not just one, but can be like 6 of them. Like the flowers for instance and the trees as well.
The same thing applies for the 5th generation as well, although there can be some frame movements with a texture as well, like small grass in Black/White in the town you start in, it has a frame movement, to make it look as if the grass was being blown by the wind.
As for movement permissions, they have several options and is totally different from the 3rd generation. In the 3rd generation, the movement permissions were just simple bytes that allocated the movement and all that. As for the 4th generation, things have changed. Movement permissions have their behavior bytes (for the movement of grass, water reflection, ect.), their level byte (for the hight of the sprite) and their passable byte (for not being passable, being passable, or requiring surf. Like in the 3rd generation). But in the 5th generation, the movement permissions have been changed around a bit, like for instance... you cannot be able to encounter a wild Pokémon by being on the water, you'd only encounter a wild Pokémon if you're using surf, so even if you're surfing on a block where there's no water at all... you'd still encounter a wild Pokémon if there's any data for the wild Pokémon in water.
And there's movement permissions in Black/White that is able to make sprites co-respond in the direction that the movement is faced. So like it changes the up, down, left and right movements facing in a different direction. Because this is something that was implemented in the 5th generation... there is no data of this whatsoever in the 4th generation.