SNES Mosaic Effects. More...
#include <snes/types.h>Go to the source code of this file.
Macros | |
| #define | MOSAIC_BG1 0x01 |
| #define | MOSAIC_BG2 0x02 |
| #define | MOSAIC_BG3 0x04 |
| #define | MOSAIC_BG4 0x08 |
| #define | MOSAIC_BG_ALL 0x0F |
| #define | MOSAIC_MAX 15 |
| #define | MOSAIC_MIN 0 |
Functions | |
| void | mosaicDisable (void) |
| Disable mosaic effect for all backgrounds. | |
| void | mosaicEnable (u8 bgMask) |
| Enable mosaic effect for specified backgrounds. | |
| void | mosaicFadeIn (u8 speed) |
| Animate mosaic fade in (pixelated -> clear) | |
| void | mosaicFadeOut (u8 speed) |
| Animate mosaic fade out (clear -> pixelated) | |
| u8 | mosaicGetSize (void) |
| Get current mosaic size. | |
| void | mosaicInit (void) |
| Initialize mosaic system. | |
| void | mosaicSetSize (u8 size) |
| Set mosaic pixel block size. | |
SNES Mosaic Effects.
Mosaic is a PPU effect that pixelates backgrounds, commonly used for:
Hardware: Register $2106 (MOSAIC)
| #define MOSAIC_BG1 0x01 |
Enable mosaic for BG1
| #define MOSAIC_BG2 0x02 |
Enable mosaic for BG2
| #define MOSAIC_BG3 0x04 |
Enable mosaic for BG3
| #define MOSAIC_BG4 0x08 |
Enable mosaic for BG4
| #define MOSAIC_BG_ALL 0x0F |
Enable mosaic for all backgrounds
| #define MOSAIC_MAX 15 |
Maximum mosaic (16x16 pixel blocks)
| #define MOSAIC_MIN 0 |
Minimum mosaic (1x1, no visible effect)
| void mosaicDisable | ( | void | ) |
Disable mosaic effect for all backgrounds.
| void mosaicEnable | ( | u8 | bgMask | ) |
Enable mosaic effect for specified backgrounds.
| bgMask | Bitmask of backgrounds (MOSAIC_BG1 | MOSAIC_BG2 | etc.) |
Example:
| void mosaicFadeIn | ( | u8 | speed | ) |
Animate mosaic fade in (pixelated -> clear)
Smoothly decreases mosaic from current level to 0. Blocks until animation completes.
| speed | Frames to wait between steps (1 = fast, higher = slower) |
Example:
| void mosaicFadeOut | ( | u8 | speed | ) |
Animate mosaic fade out (clear -> pixelated)
Smoothly increases mosaic from current level to maximum. Blocks until animation completes.
| speed | Frames to wait between steps (1 = fast, higher = slower) |
Example:
| u8 mosaicGetSize | ( | void | ) |
Get current mosaic size.
| void mosaicInit | ( | void | ) |
Initialize mosaic system.
Disables all mosaic effects. Call this once during setup.
| void mosaicSetSize | ( | u8 | size | ) |
Set mosaic pixel block size.
| size | Mosaic level (0-15) 0 = 1x1 pixels (no visible effect) 15 = 16x16 pixel blocks (maximum pixelation) |
Note: Mosaic must be enabled with mosaicEnable() to see the effect.