For the scrolling, use SetViewport(int x, int y) to move the corner of the screen along a line parallel to the isometric line.
For the fence, you could check which side of the fence each object is on ([edit] say by using walkable areas) and set the baseline appropriately. I did that for the jail cell bars in IIISpy (*plug*). But this is a big problem with writing isometric games - generally they get away with it by one of the following methods:
(a) all objects are approximately the same size, so an appropriate baseline is easy-ish to calculate.
(b) put objects into an axis-aligned BSP, and split objects into pieces when they are "hard" to order.
(c) use a z-buffer.
(d) something else I'd like to know
[edit] I guess what I'm saying is that a general solution is not likely to be achievable in AGS, without a pretty tricky plugin.
Steve
For the fence, you could check which side of the fence each object is on ([edit] say by using walkable areas) and set the baseline appropriately. I did that for the jail cell bars in IIISpy (*plug*). But this is a big problem with writing isometric games - generally they get away with it by one of the following methods:
(a) all objects are approximately the same size, so an appropriate baseline is easy-ish to calculate.
(b) put objects into an axis-aligned BSP, and split objects into pieces when they are "hard" to order.
(c) use a z-buffer.
(d) something else I'd like to know

[edit] I guess what I'm saying is that a general solution is not likely to be achievable in AGS, without a pretty tricky plugin.
Steve