grass -- needs more work
This commit is contained in:
parent
fab3be3c6f
commit
25ac30c2c1
3 changed files with 44 additions and 18 deletions
|
|
@ -34,6 +34,9 @@ http://www.newbreedsoftware.com/tuxpaint/
|
|||
* "Smudge" (pushes the colors around like wet paint)
|
||||
Albert Cahalan <albert@users.sf.net>
|
||||
|
||||
* "Grass" (makes grass, the painless way)
|
||||
Albert Cahalan <albert@users.sf.net>
|
||||
|
||||
* "Darken" (opposite of "Fade"),
|
||||
* "Tint" (changes colors of parts of the picture), and
|
||||
* "Cartoon" (makes parts of the picture look like a cartoon or comic)
|
||||
|
|
|
|||
36
src/magic.h
36
src/magic.h
|
|
@ -15,12 +15,12 @@
|
|||
/* What tools are available: */
|
||||
|
||||
enum {
|
||||
MAGIC_FILL,
|
||||
MAGIC_GRASS,
|
||||
|
||||
MAGIC_RAINBOW,
|
||||
MAGIC_SPARKLES,
|
||||
|
||||
MAGIC_MIRROR,
|
||||
MAGIC_FLIP,
|
||||
|
||||
MAGIC_BLUR,
|
||||
MAGIC_SMUDGE,
|
||||
|
||||
|
|
@ -39,7 +39,8 @@ enum {
|
|||
MAGIC_DRIP,
|
||||
MAGIC_CARTOON,
|
||||
|
||||
MAGIC_FILL,
|
||||
MAGIC_MIRROR,
|
||||
MAGIC_FLIP,
|
||||
|
||||
NUM_MAGICS
|
||||
};
|
||||
|
|
@ -48,12 +49,12 @@ enum {
|
|||
/* Magic tool names: */
|
||||
|
||||
const char * const magic_names[NUM_MAGICS] = {
|
||||
gettext_noop("Fill"),
|
||||
gettext_noop("Grass"),
|
||||
|
||||
gettext_noop("Rainbow"),
|
||||
gettext_noop("Sparkles"),
|
||||
|
||||
gettext_noop("Mirror"),
|
||||
gettext_noop("Flip"),
|
||||
|
||||
gettext_noop("Blur"),
|
||||
gettext_noop("Smudge"),
|
||||
|
||||
|
|
@ -72,19 +73,20 @@ const char * const magic_names[NUM_MAGICS] = {
|
|||
gettext_noop("Drip"),
|
||||
gettext_noop("Cartoon"),
|
||||
|
||||
gettext_noop("Fill")
|
||||
gettext_noop("Mirror"),
|
||||
gettext_noop("Flip"),
|
||||
};
|
||||
|
||||
|
||||
/* Some text to write when each tool is selected: */
|
||||
|
||||
const char * const magic_tips[NUM_MAGICS] = {
|
||||
gettext_noop("Click in the picture to fill that area with color."),
|
||||
gettext_noop("Click and move to draw grass."),
|
||||
|
||||
gettext_noop("You can draw in rainbow colors!"),
|
||||
gettext_noop("Click and move to draw sparkles."),
|
||||
|
||||
gettext_noop("Click to make a mirror image."),
|
||||
gettext_noop("Click to flip the picture upside-down."),
|
||||
|
||||
gettext_noop("Click and move the mouse around to blur the picture."),
|
||||
gettext_noop("Click and move the mouse around to smudge the picture."),
|
||||
|
||||
|
|
@ -103,19 +105,20 @@ const char * const magic_tips[NUM_MAGICS] = {
|
|||
gettext_noop("Click and move the mouse around to make the picture drip."),
|
||||
gettext_noop("Click and move the mouse around to turn the picture into a cartoon."),
|
||||
|
||||
gettext_noop("Click in the picture to fill that area with color.")
|
||||
gettext_noop("Click to make a mirror image."),
|
||||
gettext_noop("Click to flip the picture upside-down."),
|
||||
};
|
||||
|
||||
|
||||
/* Tool icon filenames: */
|
||||
|
||||
const char * const magic_img_fnames[NUM_MAGICS] = {
|
||||
DATA_PREFIX "images/magic/fill.png",
|
||||
DATA_PREFIX "images/magic/grass.png",
|
||||
|
||||
DATA_PREFIX "images/magic/rainbow.png",
|
||||
DATA_PREFIX "images/magic/sparkles.png",
|
||||
|
||||
DATA_PREFIX "images/magic/mirror.png",
|
||||
DATA_PREFIX "images/magic/flip.png",
|
||||
|
||||
DATA_PREFIX "images/magic/blur.png",
|
||||
DATA_PREFIX "images/magic/smudge.png",
|
||||
|
||||
|
|
@ -134,7 +137,8 @@ const char * const magic_img_fnames[NUM_MAGICS] = {
|
|||
DATA_PREFIX "images/magic/drip.png",
|
||||
DATA_PREFIX "images/magic/cartoon.png",
|
||||
|
||||
DATA_PREFIX "images/magic/fill.png"
|
||||
DATA_PREFIX "images/magic/mirror.png",
|
||||
DATA_PREFIX "images/magic/flip.png",
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -617,6 +617,7 @@ static SDL_Surface * img_paintcan;
|
|||
static SDL_Surface * img_grow, * img_shrink;
|
||||
|
||||
static SDL_Surface * img_sparkles;
|
||||
static SDL_Surface * img_grass;
|
||||
|
||||
static SDL_Surface * img_title_on, * img_title_off,
|
||||
* img_title_large_on, * img_title_large_off;
|
||||
|
|
@ -4064,6 +4065,7 @@ static void magic_draw(int x1, int y1, int x2, int y2, int button_down)
|
|||
/* FIXME: Need sounds for:
|
||||
Smudge
|
||||
Tint
|
||||
Grass (mower?)
|
||||
Cartoon */
|
||||
|
||||
|
||||
|
|
@ -4481,6 +4483,21 @@ static void blit_magic(int x, int y, int button_down)
|
|||
SDL_BlitSurface(img_sparkles, &src, canvas, &dest);
|
||||
}
|
||||
}
|
||||
else if (cur_magic == MAGIC_GRASS)
|
||||
{
|
||||
if ((rand() % 10) < 2)
|
||||
{
|
||||
src.x = 0;
|
||||
src.y = (rand() % 4) * 32;
|
||||
src.w = 32;
|
||||
src.h = 32;
|
||||
|
||||
dest.x = x - 16;
|
||||
dest.y = y - 16;
|
||||
|
||||
SDL_BlitSurface(img_grass, &src, canvas, &dest);
|
||||
}
|
||||
}
|
||||
else if (cur_magic == MAGIC_FLIP)
|
||||
{
|
||||
/* Flip the canvas: */
|
||||
|
|
@ -6162,6 +6179,7 @@ static void setup(int argc, char * argv[])
|
|||
show_progress_bar();
|
||||
|
||||
img_sparkles = loadimage(DATA_PREFIX "images/ui/sparkles.png");
|
||||
img_grass = loadimage(DATA_PREFIX "images/ui/grass.png");
|
||||
|
||||
|
||||
/* Load brushes: */
|
||||
|
|
@ -10317,6 +10335,7 @@ static void cleanup(void)
|
|||
free_surface( &img_paintcan );
|
||||
|
||||
free_surface( &img_sparkles );
|
||||
free_surface( &img_grass );
|
||||
|
||||
free_surface_array( undo_bufs, NUM_UNDO_BUFS );
|
||||
#ifndef LOW_QUALITY_COLOR_SELECTOR
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue