Swadge 2024 2.0.0
APIs to develop games for the Magfest Swadge
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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, int32_t xOff, int32_t yOff, wsgPalette_t *palette, bool flipLR, bool flipUD, int32_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,
int32_t xOff,
int32_t yOff,
wsgPalette_t * palette,
bool flipLR,
bool flipUD,
int32_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 )