I have not had much spare time lately, so as you may see on the file-dates it was some time ago I extended ExoticPan width zoom, and after getting past the initial asm/obj project additions, it was actually prety simple.
There is a not yet implemented feature and a couple of small bugs, but apart from that its still useable.
The persistence format already had room for a zoom factor, so no problem there.
I came to think of that it may not be practical to specify zoom on every "pan panel" as a lot of these are used to counter unwanted camera movements. Camera shakes probably does not change the requested zoom,
I concluded that if a panel has "0" in zoom then that is disregarded in zoom calculation, and thus the linear zoom interpolation is done between the nearest two panels that has zoom information.
In order to activate the zoom function, at least two "zoom panels" must be defined. (a panel definition width zoom value different from 0)
So to activate the zoom function, press "I" and "O" buttons, and the current panel height is displayed in the zoom field (making this a zoom panel.
Move at least a frame, press "a" to create a new panel and press "I" or "O" to zoom in or out, then we are in action.
OK a bit convoluted, but it's usable.
First problem is that you cannot in first frame start with a zoom different form current panel height. (First panel works fine as interpolation start, only it has to be = output panel height. (So a bug I have to fix)
Second issue is the function to adjust the frame so it is inside the source frame. (Used to be the "i" button for "Inside" which had to move, so now it's called "UnBleeed" and has the "u" button assigned. Only issue is that I have not yet modified the code to take zoom into account. I will fix that in time.
Third issue is a generic keyboard clash. I use the "Del" key to remove a panel definition. On the other hand you may put focus in one of the text fields, mark some characters, and press "Del" to get rid of them. In this case the "remove panel" function wins
That will probably pass under the radar for a while.
Also some documentation to update....
Hope it's interesting to some...