indent foam.c

This commit is contained in:
Bill Kendrick 2017-10-15 11:44:56 -07:00
parent 8eff6a9930
commit c855261af2

View file

@ -36,26 +36,23 @@
/* Our globals: */ /* Our globals: */
static Mix_Chunk * foam_snd; static Mix_Chunk *foam_snd;
static Uint8 foam_r, foam_g, foam_b; static Uint8 foam_r, foam_g, foam_b;
static int foam_mask_w, foam_mask_h; static int foam_mask_w, foam_mask_h;
static int * foam_mask, * foam_mask_tmp; static int *foam_mask, *foam_mask_tmp;
static SDL_Surface * foam_7, * foam_5, * foam_3, * foam_1; static SDL_Surface *foam_7, *foam_5, *foam_3, *foam_1;
Uint32 foam_api_version(void); Uint32 foam_api_version(void);
int foam_init(magic_api * api); int foam_init(magic_api * api);
char * foam_get_description(magic_api * api, int which, int mode); char *foam_get_description(magic_api * api, int which, int mode);
void foam_release(magic_api * api, int which, void foam_release(magic_api * api, int which,
SDL_Surface * canvas, SDL_Surface * last, SDL_Surface * canvas, SDL_Surface * last, int x, int y, SDL_Rect * update_rect);
int x, int y, SDL_Rect * update_rect);
void foam_drag(magic_api * api, int which, SDL_Surface * canvas, void foam_drag(magic_api * api, int which, SDL_Surface * canvas,
SDL_Surface * last, int ox, int oy, int x, int y, SDL_Surface * last, int ox, int oy, int x, int y, SDL_Rect * update_rect);
SDL_Rect * update_rect);
void foam_click(magic_api * api, int which, int mode, void foam_click(magic_api * api, int which, int mode,
SDL_Surface * canvas, SDL_Surface * last, SDL_Surface * canvas, SDL_Surface * last, int x, int y, SDL_Rect * update_rect);
int x, int y, SDL_Rect * update_rect); SDL_Surface *foam_get_icon(magic_api * api, int which);
SDL_Surface * foam_get_icon(magic_api * api, int which); char *foam_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED);
char * foam_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED);
void foam_switchin(magic_api * api, int which, int mode, SDL_Surface * canvas); void foam_switchin(magic_api * api, int which, int mode, SDL_Surface * canvas);
void foam_switchout(magic_api * api, int which, int mode, SDL_Surface * canvas); void foam_switchout(magic_api * api, int which, int mode, SDL_Surface * canvas);
void foam_set_color(magic_api * api, Uint8 r, Uint8 g, Uint8 b); void foam_set_color(magic_api * api, Uint8 r, Uint8 g, Uint8 b);
@ -67,73 +64,70 @@ int foam_requires_colors(magic_api * api, int which);
#define FOAM_PROP 8 #define FOAM_PROP 8
#define FOAM_RADIUS 3 #define FOAM_RADIUS 3
Uint32 foam_api_version(void) { return(TP_MAGIC_API_VERSION); } Uint32 foam_api_version(void)
{
return (TP_MAGIC_API_VERSION);
}
// No setup required: // No setup required:
int foam_init(magic_api * api) int foam_init(magic_api * api)
{ {
char fname[1024]; char fname[1024];
SDL_Surface * foam_data; SDL_Surface *foam_data;
snprintf(fname, sizeof(fname), "%s/sounds/magic/foam.ogg", snprintf(fname, sizeof(fname), "%s/sounds/magic/foam.ogg", api->data_directory);
api->data_directory);
foam_snd = Mix_LoadWAV(fname); foam_snd = Mix_LoadWAV(fname);
snprintf(fname, sizeof(fname), "%s/images/magic/foam_data.png", snprintf(fname, sizeof(fname), "%s/images/magic/foam_data.png", api->data_directory);
api->data_directory);
foam_data = IMG_Load(fname); foam_data = IMG_Load(fname);
foam_7 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 4) / 4, foam_7 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 4) / 4, ((api->canvas_h / FOAM_PROP) * 4) / 4, 0);
((api->canvas_h / FOAM_PROP) * 4) / 4, 0); foam_5 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 3) / 4, ((api->canvas_h / FOAM_PROP) * 3) / 4, 0);
foam_5 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 3) / 4, foam_3 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 2) / 4, ((api->canvas_h / FOAM_PROP) * 2) / 4, 0);
((api->canvas_h / FOAM_PROP) * 3) / 4, 0); foam_1 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 1) / 4, ((api->canvas_h / FOAM_PROP) * 1) / 4, 0);
foam_3 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 2) / 4,
((api->canvas_h / FOAM_PROP) * 2) / 4, 0);
foam_1 = api->scale(foam_data, ((api->canvas_w / FOAM_PROP) * 1) / 4,
((api->canvas_h / FOAM_PROP) * 1) / 4, 0);
SDL_FreeSurface(foam_data); SDL_FreeSurface(foam_data);
return(1); return (1);
} }
// We have multiple tools: // We have multiple tools:
int foam_get_tool_count(magic_api * api ATTRIBUTE_UNUSED) int foam_get_tool_count(magic_api * api ATTRIBUTE_UNUSED)
{ {
return(1); return (1);
} }
// Load our icons: // Load our icons:
SDL_Surface * foam_get_icon(magic_api * api, int which ATTRIBUTE_UNUSED) SDL_Surface *foam_get_icon(magic_api * api, int which ATTRIBUTE_UNUSED)
{ {
char fname[1024]; char fname[1024];
snprintf(fname, sizeof(fname), "%s/images/magic/foam.png", snprintf(fname, sizeof(fname), "%s/images/magic/foam.png", api->data_directory);
api->data_directory);
return(IMG_Load(fname)); return (IMG_Load(fname));
} }
// Return our names, localized: // Return our names, localized:
char * foam_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED) char *foam_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
{ {
return(strdup(gettext_noop("Foam"))); return (strdup(gettext_noop("Foam")));
} }
// Return our descriptions, localized: // Return our descriptions, localized:
char * foam_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED) char *foam_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
{ {
return(strdup(gettext_noop("Click and drag the mouse to cover an area with foamy bubbles."))); return (strdup(gettext_noop("Click and drag the mouse to cover an area with foamy bubbles.")));
} }
// Do the effect: // Do the effect:
static void do_foam(void * ptr, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas ATTRIBUTE_UNUSED, SDL_Surface * last ATTRIBUTE_UNUSED, static void do_foam(void *ptr, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas ATTRIBUTE_UNUSED,
int x, int y) SDL_Surface * last ATTRIBUTE_UNUSED, int x, int y)
{ {
magic_api * api = (magic_api *) ptr; magic_api *api = (magic_api *) ptr;
int xx, yy, nx, ny; int xx, yy, nx, ny;
/* SDL_Rect dest; */ /* SDL_Rect dest; */
for (yy = -FOAM_RADIUS; yy < FOAM_RADIUS; yy++) for (yy = -FOAM_RADIUS; yy < FOAM_RADIUS; yy++)
@ -145,9 +139,7 @@ static void do_foam(void * ptr, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas
nx = (x / FOAM_PROP) + xx; nx = (x / FOAM_PROP) + xx;
ny = (y / FOAM_PROP) + yy; ny = (y / FOAM_PROP) + yy;
if (nx >= 0 && ny >= 0 && if (nx >= 0 && ny >= 0 && nx < foam_mask_w && ny < foam_mask_h)
nx < foam_mask_w &&
ny < foam_mask_h)
{ {
foam_mask[ny * foam_mask_w + nx] = 1; foam_mask[ny * foam_mask_w + nx] = 1;
} }
@ -158,16 +150,27 @@ static void do_foam(void * ptr, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas
// Affect the canvas on drag: // Affect the canvas on drag:
void foam_drag(magic_api * api, int which, SDL_Surface * canvas, void foam_drag(magic_api * api, int which, SDL_Surface * canvas,
SDL_Surface * last, int ox, int oy, int x, int y, SDL_Surface * last, int ox, int oy, int x, int y, SDL_Rect * update_rect)
SDL_Rect * update_rect)
{ {
api->line((void *) api, which, canvas, last, ox, oy, x, y, 1, do_foam); api->line((void *)api, which, canvas, last, ox, oy, x, y, 1, do_foam);
foam_release(api, which, canvas, last, x, y, update_rect); foam_release(api, which, canvas, last, x, y, update_rect);
/* FIXME */ /* FIXME */
if (ox > x) { int tmp = ox; ox = x; x = tmp; } if (ox > x)
if (oy > y) { int tmp = oy; oy = y; y = tmp; } {
int tmp = ox;
ox = x;
x = tmp;
}
if (oy > y)
{
int tmp = oy;
oy = y;
y = tmp;
}
update_rect->x = 0; update_rect->x = 0;
update_rect->y = 0; update_rect->y = 0;
@ -189,8 +192,8 @@ void foam_click(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, in
foam_mask_w = canvas->w / FOAM_PROP; foam_mask_w = canvas->w / FOAM_PROP;
foam_mask_h = canvas->h / FOAM_PROP; foam_mask_h = canvas->h / FOAM_PROP;
foam_mask = (int *) malloc(sizeof(int) * (foam_mask_w * foam_mask_h)); foam_mask = (int *)malloc(sizeof(int) * (foam_mask_w * foam_mask_h));
foam_mask_tmp = (int *) malloc(sizeof(int) * (foam_mask_w * foam_mask_h)); foam_mask_tmp = (int *)malloc(sizeof(int) * (foam_mask_w * foam_mask_h));
} }
for (i = 0; i < foam_mask_w * foam_mask_h; i++) for (i = 0; i < foam_mask_w * foam_mask_h; i++)
@ -218,7 +221,7 @@ static int foam_mask_test(int r, int x, int y)
} }
} }
return(tot); return (tot);
} }
// Affect the canvas on release: // Affect the canvas on release:
@ -230,7 +233,7 @@ void foam_release(magic_api * api ATTRIBUTE_UNUSED ATTRIBUTE_UNUSED, int which A
int changes, max_iters; int changes, max_iters;
SDL_Rect dest; SDL_Rect dest;
int n; int n;
SDL_Surface * img; SDL_Surface *img;
SDL_BlitSurface(last, NULL, canvas, NULL); SDL_BlitSurface(last, NULL, canvas, NULL);
@ -434,15 +437,17 @@ int foam_requires_colors(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_U
return 0; /* FIXME: Would be nice to tint the bubbles */ return 0; /* FIXME: Would be nice to tint the bubbles */
} }
void foam_switchin(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED, SDL_Surface * canvas ATTRIBUTE_UNUSED) void foam_switchin(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED,
SDL_Surface * canvas ATTRIBUTE_UNUSED)
{ {
} }
void foam_switchout(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED, SDL_Surface * canvas ATTRIBUTE_UNUSED) void foam_switchout(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED,
SDL_Surface * canvas ATTRIBUTE_UNUSED)
{ {
} }
int foam_modes(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED) int foam_modes(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
{ {
return(MODE_PAINT); return (MODE_PAINT);
} }