2018-12-15 20:07:07 +01:00
|
|
|
#ifndef GUARD_CONTEST_PAINTING_EFFECTS_H
|
|
|
|
#define GUARD_CONTEST_PAINTING_EFFECTS_H
|
|
|
|
|
2019-11-10 19:46:39 +01:00
|
|
|
enum
|
2018-12-15 20:07:07 +01:00
|
|
|
{
|
2019-11-10 19:46:39 +01:00
|
|
|
IMAGE_EFFECT_POINTILLISM = 2,
|
|
|
|
IMAGE_EFFECT_GRAYSCALE_LIGHT = 6,
|
|
|
|
IMAGE_EFFECT_BLUR = 8,
|
|
|
|
IMAGE_EFFECT_OUTLINE_COLORED = 9,
|
|
|
|
IMAGE_EFFECT_INVERT_BLACK_WHITE = 10,
|
|
|
|
IMAGE_EFFECT_THICK_BLACK_WHITE = 11,
|
|
|
|
IMAGE_EFFECT_SHIMMER = 13,
|
|
|
|
IMAGE_EFFECT_OUTLINE = 30,
|
|
|
|
IMAGE_EFFECT_INVERT = 31,
|
|
|
|
IMAGE_EFFECT_BLUR_RIGHT = 32,
|
|
|
|
IMAGE_EFFECT_BLUR_DOWN = 33,
|
|
|
|
IMAGE_EFFECT_CHARCOAL = 36,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
QUANTIZE_EFFECT_STANDARD,
|
|
|
|
QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS,
|
|
|
|
QUANTIZE_EFFECT_PRIMARY_COLORS,
|
|
|
|
QUANTIZE_EFFECT_GRAYSCALE,
|
|
|
|
QUANTIZE_EFFECT_GRAYSCALE_SMALL,
|
|
|
|
QUANTIZE_EFFECT_BLACK_WHITE,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ContestPaintingContext
|
|
|
|
{
|
|
|
|
u8 effect;
|
|
|
|
void *canvasPixels;
|
|
|
|
u16 *canvasPalette;
|
|
|
|
u8 fillerC[0x4];
|
|
|
|
u32 dest;
|
|
|
|
u16 quantizeEffect;
|
2018-12-15 20:07:07 +01:00
|
|
|
u16 var_16;
|
2019-11-10 19:46:39 +01:00
|
|
|
u8 paletteStart;
|
|
|
|
u8 columnStart;
|
|
|
|
u8 rowStart;
|
|
|
|
u8 columnEnd;
|
|
|
|
u8 rowEnd;
|
|
|
|
u8 canvasWidth;
|
|
|
|
u8 canvasHeight;
|
|
|
|
u8 personality;
|
2018-12-15 20:07:07 +01:00
|
|
|
};
|
|
|
|
|
2019-11-10 19:46:39 +01:00
|
|
|
void ApplyImageProcessingEffects(struct ContestPaintingContext *);
|
|
|
|
void ApplyImageProcessingQuantization(struct ContestPaintingContext *);
|
|
|
|
void ConvertImageProcessingToGBA(struct ContestPaintingContext *);
|
2018-12-15 20:07:07 +01:00
|
|
|
|
|
|
|
#endif
|