Swadge 2024 2.0.0
APIs to develop games for the Magfest Swadge
Loading...
Searching...
No Matches
wsgPalette.c File Reference

Detailed Description

Provides palette swap functionality for Swadge.

Author
Jeremy Stintzcum (jerem.nosp@m.y.st.nosp@m.intzc.nosp@m.um@g.nosp@m.mail..nosp@m.com)
Version
1.0.0
Date
2024-09-20

Functions

void drawWsgPalette (const wsg_t *wsg, int16_t xOff, int16_t yOff, wsgPalette_t *palette, bool flipLR, bool flipUD, int16_t rotateDeg)
 Draw a WSG to the display utilizing a palette.
 
void drawWsgPaletteSimple (const wsg_t *wsg, int16_t xOff, int16_t yOff, wsgPalette_t *palette)
 Draw a WSG to the display without flipping or rotation.
 
void drawWsgPaletteSimpleScaled (const wsg_t *wsg, int16_t xOff, int16_t yOff, wsgPalette_t *palette, int16_t xScale, int16_t yScale)
 Draw a WSG to the display without flipping or rotation.
 
void drawWsgPaletteSimpleHalf (const wsg_t *wsg, int16_t xOff, int16_t yOff, wsgPalette_t *palette)
 Draw a WSG to the display without flipping or rotation at half size.
 
void wsgPaletteReset (wsgPalette_t *palette)
 Resets the palette to initial state.
 
void wsgPaletteSet (wsgPalette_t *palette, paletteColor_t replacedColor, paletteColor_t newColor)
 Sets a single color to the provided palette.
 
void wsgPaletteSetGroup (wsgPalette_t *palette, paletteColor_t *replacedColors, paletteColor_t *newColors, uint8_t arrSize)
 

Function Documentation

◆ drawWsgPalette()

void drawWsgPalette ( const wsg_t * wsg,
int16_t xOff,
int16_t yOff,
wsgPalette_t * palette,
bool flipLR,
bool flipUD,
int16_t rotateDeg )

Draw a WSG to the display utilizing a palette.

Parameters
wsgThe WSG to draw to the display
xOffThe x offset to draw the WSG at
yOffThe y offset to draw the WSG at
paletteThe new palette used to translate the colors
flipLRtrue to flip the image across the Y axis
flipUDtrue to flip the image across the X axis
rotateDegThe number of degrees to rotate clockwise, must be 0-359

◆ drawWsgPaletteSimple()

void drawWsgPaletteSimple ( const wsg_t * wsg,
int16_t xOff,
int16_t yOff,
wsgPalette_t * palette )

Draw a WSG to the display without flipping or rotation.

Parameters
wsgThe WSG to draw to the display
xOffThe x offset to draw the WSG at
yOffThe y offset to draw the WSG at
paletteColor Map to use

◆ drawWsgPaletteSimpleScaled()

void drawWsgPaletteSimpleScaled ( const wsg_t * wsg,
int16_t xOff,
int16_t yOff,
wsgPalette_t * palette,
int16_t xScale,
int16_t yScale )

Draw a WSG to the display without flipping or rotation.

Parameters
wsgThe WSG to draw to the display
xOffThe x offset to draw the WSG at
yOffThe y offset to draw the WSG at
paletteColor Map to use
xScaleThe amount to scale the image horizontally
yScaleThe amount to scale the image vertically

◆ drawWsgPaletteSimpleHalf()

void drawWsgPaletteSimpleHalf ( const wsg_t * wsg,
int16_t xOff,
int16_t yOff,
wsgPalette_t * palette )

Draw a WSG to the display without flipping or rotation at half size.

Parameters
wsgThe WSG to draw to the display
xOffThe x offset to draw the WSG at
yOffThe y offset to draw the WSG at
paletteColor Map to use

◆ wsgPaletteReset()

void wsgPaletteReset ( wsgPalette_t * palette)

Resets the palette to initial state.

Parameters
paletteColor map to modify

◆ wsgPaletteSet()

void wsgPaletteSet ( wsgPalette_t * palette,
paletteColor_t replacedColor,
paletteColor_t newColor )

Sets a single color to the provided palette.

Parameters
paletteColor map to modify
replacedColorColor to be replaced
newColorColor that will replace the previous

◆ wsgPaletteSetGroup()

void wsgPaletteSetGroup ( wsgPalette_t * palette,
paletteColor_t * replacedColors,
paletteColor_t * newColors,
uint8_t arrSize )