View changes for revision:                                                                                                                              
Auto-scrolling controller (218, rev. 39)
By  Hiccup on 08-28-16, 10:51 am
Category 'Camera controllers', known
==Old==
This sprite have to use together with paths. Unknown 1 is for speed. It should be divisible by 8. Unknown 3 maybe acceleration from former node's speed to this node's speed.

And I've found some interesting formula: x=98k/y. Where k is a amount of pixel being passed within x mario's second. And y is the value you entered in unknown 1. It relates together. But it might not always work. It may have something to do with unknown 3 too...

Calculation example: let say you want a sprite to move camera up 4 tiles within 16 mario sec.. Your formula is x=98k/y. As 4 tiles=64 pixels. Substitute it, then you have to multiply it with 98. 98x64=6272. And subtitute x with 16. Then 16=6272/y.
And solve it to find y. After you got y, you insert that number into unknown 1. And test it in the emu, does 4 tiles are passed within 16 mario sec. or not? But I think it does. Remember unknown 3 ? 0. Sometimes the time don't have to be whole number.
Also, I think the position where the sprite is first recognized by the game will determine the camera movement along the path. (Camera movement to the right , left, or straightly of the path) And there're some nybbles controlling how the sprite will act; wait for Mario to come near then scroll or scroll immediately when recognized. I don't know which, but it does have.
That's all I've found. :)
Hope this help!
Data files: none
Sprite fields:
Path ID: value at nybble 10-11. Sets the path the camera will follow while scrolling. Unknown 1 of the first node is target speed and and unknown 3 is the time it takes to get up to that speed.
Loads from?: list at nybble 7: 0=Midway Point,1=Unknown 1,2=Level Start. 1 is unused.
Scrolling direction: list at nybble 9: 0=Vertical,1=Horizontal
Starting node: value at nybble 4-5
Start from both Midway and Level Start: checkbox at nybble 6 with mask 8
Auto-scrolling controller (218, rev. 40)
By  Hiccup on 08-28-16, 10:51 am
Category 'Camera controllers', known
==Old==
This sprite have to use together with paths. Unknown 1 is for speed. It should be divisible by 8. Unknown 3 maybe acceleration from former node's speed to this node's speed.

And I've found some interesting formula: x=98k/y. Where k is a amount of pixel being passed within x mario's second. And y is the value you entered in unknown 1. It relates together. But it might not always work. It may have something to do with unknown 3 too...

Calculation example: let say you want a sprite to move camera up 4 tiles within 16 mario sec.. Your formula is x=98k/y. As 4 tiles=64 pixels. Substitute it, then you have to multiply it with 98. 98x64=6272. And subtitute x with 16. Then 16=6272/y.
And solve it to find y. After you got y, you insert that number into unknown 1. And test it in the emu, does 4 tiles are passed within 16 mario sec. or not? But I think it does. Remember unknown 3 ? 0. Sometimes the time don't have to be whole number.
Also, I think the position where the sprite is first recognized by the game will determine the camera movement along the path. (Camera movement to the right , left, or straightly of the path) And there're some nybbles controlling how the sprite will act; wait for Mario to come near then scroll or scroll immediately when recognized. I don't know which, but it does have.
That's all I've found. :)
Hope this help!
Data files: none
Sprite fields:
Path ID: value at nybble 10-11. Sets the path the camera will follow while scrolling. Unknown 1 of the first node is target speed and and unknown 3 is something to do with time.
Loads from?: list at nybble 7: 0=Midway Point,1=Unknown 1,2=Level Start. 1 is unused.
Scrolling direction: list at nybble 9: 0=Vertical,1=Horizontal
Starting node: value at nybble 4-5
Start from both Midway and Level Start: checkbox at nybble 6 with mask 8