How does CONFIG.INI work?

If you look at the animations included with Game Frame, you’ll find a CONFIG.INI file in every folder. You can use this file to control many aspects of your animations, outlined below.

Under the [animation] section, the following controls are available:

hold: This essentially controls the frame rate. You give it a number  of milliseconds to hold every frame, so if you enter a value of 1000, it will hold every frame for one second before displaying the next one.

loop: This true/false statement tells the system whether to restart the animation once it reaches the last frame, or progress to the next folder on the microSD card. For instance, if you have a character walk cycle, you’ll want to set this to true, whereas if you have a very long animation with a distinct beginning and end, you might want this set to false.

finish: This true/false statement can instruct the system to finish the animation even if the system duration has elapsed. For example, if you have a long animation, it will play to completion even if the Game Frame is set to cycle animations every 10 seconds.

Under the [translate] section, the following controls are available:

moveX/moveY: This represents the number of pixels your images will be pushed across the screen every frame. You can use positive or negative values, depending on which direction to want to move. Using these controls, you can make simple looping animations (like a short walk cycle) that move across the screen as they would in a game. Note that the system will continue to iterate through your files (e.g. 0.bmp, 1.bmp, 2.bmp, etc.) while moving them across the screen. Also, if your graphics are larger than 16×16, the system will initialize their positions according to your moveX/moveY values so that you can pan across the entire image.

loop: This controls whether the above moveX/moveY scrolling movement should repeat when completed. If set to false, the system will proceed to the next image folder when completed. For instance, if you have a man walk across the screen, you might set this to false so he doesn’t have countless twins following him. However, if you have a taxi cab drive across, perhaps you want this set to true.

panoff: This one is a little weird to explain, but it’s handy. It controls whether the moveX/moveY animation should begin and end its movement off-screen. For example, if you have have a little man who walks right, a panoff value of TRUE will cause him to start off screen to the left, walk on, and keep going off the right side of the screen. Alternatively, if you have a long 256×16 train image that you want to scroll across the screen infinitely, you’d set panoff to FALSE. Just note that when panoff is set to FALSE, the “first” and “last” 16×16 frames of the panning movement should be identical. For example, in the 256×16  train, the left-most 16×16 pixels should match the right-most 16×16 pixels. That way, when the movement reaches the end of the image and loops back to the start, the transition will be seamless.

nextfolder: This will hardcode a folder for the system to play next. This overrides the shuffle mode, and can accidentally be used to make the system cycle between two folders indefinitely, so just be aware of it. There is also another method of creating folder sequences called numerical nesting.

There is further discussion of CONFIG.INI in this forum thread.