turn plugin junk into a struct

sorting magic tools by (localized) name
emboss now keeps color
minor fixups
This commit is contained in:
William Kendrick 2007-07-20 18:37:36 +00:00
parent 94a6da19f7
commit 40200798d8
6 changed files with 85 additions and 43 deletions

View file

@ -18,7 +18,7 @@ int emboss_init(magic_api * api)
{
char fname[1024];
snprintf(fname, sizeof(fname), "%s/sounds/magic/one.wav",
snprintf(fname, sizeof(fname), "%s/sounds/magic/emboss.wav",
api->data_directory);
emboss_snd = Mix_LoadWAV(fname);
@ -64,6 +64,7 @@ void do_emboss(void * ptr, int which, SDL_Surface * canvas, SDL_Surface * last,
Uint8 r1, g1, b1,
r2, g2, b2;
int r, g, b;
float h, s, v;
int avg1, avg2;
for (yy = -16; yy < 16; yy++)
@ -78,12 +79,18 @@ void do_emboss(void * ptr, int which, SDL_Surface * canvas, SDL_Surface * last,
avg1 = (r1 + g1 + b1) / 3;
avg2 = (r2 + g2 + b2) / 3;
api->rgbtohsv(r1, g1, b1, &h, &s, &v);
r = 128 + (((avg1 - avg2) * 3) / 2);
if (r < 0) r = 0;
if (r > 255) r = 255;
g = b = r;
api->putpixel(canvas, x + xx, y + yy, SDL_MapRGB(canvas->format, r, g, b));
v = (r / 255.0);
api->hsvtorgb(h, s, v, &r1, &g1, &b1);
api->putpixel(canvas, x + xx, y + yy, SDL_MapRGB(canvas->format, r1, g1, b1));
}
}
}

View file

@ -404,6 +404,8 @@ void flower_drawstalk(magic_api * api, SDL_Surface * canvas,
}
}
}
free(curve);
}
void flower_shutdown(magic_api * api)

View file

@ -19,7 +19,7 @@ int metalpaint_init(magic_api * api)
{
char fname[1024];
snprintf(fname, sizeof(fname), "%s/sounds/magic/one.wav",
snprintf(fname, sizeof(fname), "%s/sounds/magic/metalpaint.wav",
api->data_directory);
metalpaint_snd = Mix_LoadWAV(fname);