Update of /cvsroot/alleg/allegro/tools/plugins In directory sc8-pr-cvs1:/tmp/cvs-serv9041/tools/plugins Modified Files: datalpha.c datfli.c datfname.c datfont.c datgrab.c datgrid.c datimage.c datitype.c datmidi.c datpal.c datsamp.c datworms.c Log Message: Modified the dat/grabber plugins interface to expose datafile properties to plugins. Index: datalpha.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datalpha.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- datalpha.c 7 Jul 2003 15:55:08 -0000 1.9 +++ datalpha.c 29 Nov 2003 08:32:36 -0000 1.10 @@ -280,7 +280,7 @@ params.colordepth = -1; params.relative = FALSE; /* required (see above) */ - alpha = datedit_grab(¶ms); + alpha = datedit_grab(NULL, ¶ms); if ((alpha) && (alpha->dat)) { if (pal) @@ -422,7 +422,8 @@ &alpha_menu, alpha_query, DATEDIT_MENU_POPUP | DATEDIT_MENU_OBJECT, - 0 + 0, + NULL }; @@ -432,6 +433,7 @@ &read_alpha_menu, NULL, DATEDIT_MENU_FILE, - 0 + 0, + NULL }; Index: datfli.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datfli.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- datfli.c 5 Oct 2002 06:40:18 -0000 1.4 +++ datfli.c 29 Nov 2003 08:32:36 -0000 1.5 @@ -96,6 +96,7 @@ "fli;flc", "fli;flc", NULL, + NULL, NULL }; Index: datfname.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datfname.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- datfname.c 7 Jul 2003 15:55:08 -0000 1.1 +++ datfname.c 29 Nov 2003 08:32:36 -0000 1.2 @@ -175,6 +175,7 @@ &change_filename_menu, change_query, DATEDIT_MENU_OBJECT | DATEDIT_MENU_POPUP, - 0 + 0, + NULL }; Index: datfont.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datfont.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- datfont.c 26 Nov 2002 13:35:50 -0000 1.23 +++ datfont.c 29 Nov 2003 08:32:36 -0000 1.24 @@ -769,9 +769,10 @@ /* imports a font from an external file (handles various formats) */ -static void *grab_font(AL_CONST char *filename, long *size, int x, int y, int w, int h, int depth) +static DATAFILE *grab_font(int type, AL_CONST char *filename, DATAFILE_PROPERTY **prop, int depth) { PACKFILE *f; + FONT *font; int id; if (stricmp(get_extension(filename), "fnt") == 0) { @@ -783,16 +784,18 @@ pack_fclose(f); if (id == FONTMAGIC) - return import_grx_font(filename); + font = import_grx_font(filename); else - return import_bios_font(filename); + font = import_bios_font(filename); } else if (stricmp(get_extension(filename), "txt") == 0) { - return import_scripted_font(filename); + font = import_scripted_font(filename); } else { - return import_bitmap_font(filename, ' ', -1, TRUE); + font = import_bitmap_font(filename, ' ', -1, TRUE); } + + return datedit_construct(type, font, 0, prop); } @@ -995,8 +998,8 @@ { char name[80*6]; /* 80 chars * max UTF8 char width */ int ret = d_button_proc(msg, d, c); + DATAFILE *dat; FONT *fnt, *f; - long size; int base; int i; @@ -1011,15 +1014,17 @@ strcpy(grabber_import_file, name); grabber_busy_mouse(TRUE); - fnt = grab_font(name, &size, -1, -1, -1, -1, -1); + dat = grab_font(DAT_FONT, name, NULL, -1); grabber_busy_mouse(FALSE); - if (!fnt) { + if (!dat) { datedit_error("Error importing %s", name); } else { int import_begin, import_end; + fnt = dat->dat; + centre_dialog(char_dlg); set_dialog_color(char_dlg, gui_fg_color, gui_bg_color); do_dialog(char_dlg, 2); @@ -1404,6 +1409,7 @@ "txt;fnt;bmp;lbm;pcx;tga", "txt;bmp;pcx;tga", grab_font, - export_font + export_font, + NULL }; Index: datgrab.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datgrab.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- datgrab.c 5 Oct 2002 06:40:18 -0000 1.5 +++ datgrab.c 29 Nov 2003 08:32:36 -0000 1.6 @@ -478,7 +478,8 @@ &grabber_menu, grabber_query, DATEDIT_MENU_OBJECT, - 0 + 0, + "XPOS;YPOS;XSIZ;YSIZ" }; @@ -499,7 +500,8 @@ &boxgrab_menu, boxgrab_query, DATEDIT_MENU_OBJECT | DATEDIT_MENU_POPUP, - 2 /* ctrl+B */ + 2, /* ctrl+B */ + "XPOS;YPOS;XSIZ;YSIZ" }; @@ -520,6 +522,7 @@ &ungrab_menu, ungrab_query, DATEDIT_MENU_OBJECT | DATEDIT_MENU_POPUP, - 0 + 0, + NULL }; Index: datgrid.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datgrid.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- datgrid.c 7 Feb 2003 13:29:19 -0000 1.13 +++ datgrid.c 29 Nov 2003 08:32:36 -0000 1.14 @@ -775,7 +775,8 @@ &griddler_menu, griddler_query, DATEDIT_MENU_FILE | DATEDIT_MENU_POPUP, - 0 + 0, + "XPOS;YPOS;XSIZ;YSIZ" }; @@ -796,6 +797,7 @@ &autocrop_menu, autocrop_query, DATEDIT_MENU_OBJECT | DATEDIT_MENU_POPUP, - 0 + 0, + "XCRP;YCRP" }; Index: datimage.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datimage.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- datimage.c 26 Nov 2002 13:35:51 -0000 1.13 +++ datimage.c 29 Nov 2003 08:32:36 -0000 1.14 @@ -331,9 +331,10 @@ /* reads a bitmap from an external file */ -static void *grab_bitmap(AL_CONST char *filename, long *size, int x, int y, int w, int h, int depth) +static DATAFILE *grab_bitmap(int type, AL_CONST char *filename, DATAFILE_PROPERTY **prop, int depth) { BITMAP *bmp; + int x, y, w, h; if (depth > 0) { int oldcolordepth = _color_depth; @@ -352,15 +353,20 @@ if (!bmp) return NULL; + x = datedit_numprop(prop, DAT_XPOS); + y = datedit_numprop(prop, DAT_YPOS); + w = datedit_numprop(prop, DAT_XSIZ); + h = datedit_numprop(prop, DAT_YSIZ); + if ((x >= 0) && (y >= 0) && (w >= 0) && (h >= 0)) { BITMAP *b2 = create_bitmap_ex(bitmap_color_depth(bmp), w, h); clear_to_color(b2, bitmap_mask_color(b2)); blit(bmp, b2, x, y, 0, 0, w, h); destroy_bitmap(bmp); - return b2; + bmp = b2; } - else - return bmp; + + return datedit_construct(type, bmp, 0, prop); } @@ -553,19 +559,21 @@ /* reads an RLE sprite from an external file */ -static void *grab_rle_sprite(AL_CONST char *filename, long *size, int x, int y, int w, int h, int depth) +static DATAFILE *grab_rle_sprite(int type, AL_CONST char *filename, DATAFILE_PROPERTY **prop, int depth) { + DATAFILE *dat; BITMAP *bmp; RLE_SPRITE *spr; - bmp = (BITMAP *)grab_bitmap(filename, size, x, y, w, h, depth); - if (!bmp) + dat = grab_bitmap(type, filename, prop, depth); + if (!dat) return NULL; - spr = get_rle_sprite(bmp); + bmp = dat->dat; + dat->dat = get_rle_sprite(bmp); destroy_bitmap(bmp); - return spr; + return dat; } @@ -764,7 +772,8 @@ "bmp;lbm;pcx;tga", "bmp;pcx;tga", grab_bitmap, - export_bitmap + export_bitmap, + "XPOS;YPOS;XSIZ;YSIZ" }; @@ -790,7 +799,8 @@ "bmp;lbm;pcx;tga", "bmp;pcx;tga", grab_rle_sprite, - export_rle_sprite + export_rle_sprite, + "XPOS;YPOS;XSIZ;YSIZ" }; @@ -816,7 +826,8 @@ "bmp;lbm;pcx;tga", "bmp;pcx;tga", grab_bitmap, - export_bitmap + export_bitmap, + "XPOS;YPOS;XSIZ;YSIZ" }; @@ -842,6 +853,7 @@ "bmp;lbm;pcx;tga", "bmp;pcx;tga", grab_bitmap, - export_bitmap + export_bitmap, + "XPOS;YPOS;XSIZ;YSIZ" }; Index: datitype.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datitype.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- datitype.c 7 Jul 2003 15:33:49 -0000 1.6 +++ datitype.c 29 Nov 2003 08:32:36 -0000 1.7 @@ -267,7 +267,8 @@ &change_type_menu, change_query, DATEDIT_MENU_OBJECT | DATEDIT_MENU_POPUP, - 0 + 0, + NULL }; @@ -288,7 +289,8 @@ &change_depth_menu, change_query, DATEDIT_MENU_OBJECT | DATEDIT_MENU_POPUP, - 0 + 0, + NULL }; Index: datmidi.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datmidi.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- datmidi.c 26 Nov 2002 13:35:52 -0000 1.9 +++ datmidi.c 29 Nov 2003 08:32:36 -0000 1.10 @@ -101,9 +101,9 @@ /* imports a MIDI object from an external file */ -static void *grab_midi(AL_CONST char *filename, long *size, int x, int y, int w, int h, int depth) +static DATAFILE *grab_midi(int type, AL_CONST char *filename, DATAFILE_PROPERTY **prop, int depth) { - return load_midi(filename); + return datedit_construct(type, load_midi(filename), 0, prop); } @@ -149,7 +149,8 @@ "mid", "mid", grab_midi, - export_midi + export_midi, + NULL }; Index: datpal.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datpal.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- datpal.c 5 Oct 2002 06:40:18 -0000 1.5 +++ datpal.c 29 Nov 2003 08:32:36 -0000 1.6 @@ -116,7 +116,7 @@ /* grabs a palette from an external file */ -static void *grab_palette(AL_CONST char *filename, long *size, int x, int y, int w, int h, int depth) +static DATAFILE *grab_palette(int type, AL_CONST char *filename, DATAFILE_PROPERTY **prop, int depth) { int oldcolordepth = _color_depth; RGB *pal; @@ -138,8 +138,7 @@ destroy_bitmap(bmp); - *size = sizeof(PALETTE); - return pal; + return datedit_construct(type, pal, sizeof(PALETTE), prop); } @@ -197,7 +196,8 @@ &grabber_menu, grabber_query, DATEDIT_MENU_OBJECT, - 0 + 0, + NULL }; @@ -223,6 +223,7 @@ "bmp;lbm;pcx;tga", "bmp;pcx;tga", grab_palette, - export_palette + export_palette, + NULL }; Index: datsamp.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datsamp.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- datsamp.c 26 Nov 2002 13:35:52 -0000 1.9 +++ datsamp.c 29 Nov 2003 08:32:36 -0000 1.10 @@ -108,9 +108,9 @@ /* imports a sample from an external file */ -static void *grab_sample(AL_CONST char *filename, long *size, int x, int y, int w, int h, int depth) +static DATAFILE *grab_sample(int type, AL_CONST char *filename, DATAFILE_PROPERTY **prop, int depth) { - return load_sample(filename); + return datedit_construct(type, load_sample(filename), 0, prop); } @@ -169,6 +169,7 @@ "pat", "pat", NULL, + NULL, NULL }; @@ -195,6 +196,7 @@ "voc;wav", "wav", grab_sample, - export_sample + export_sample, + NULL }; Index: datworms.c =================================================================== RCS file: /cvsroot/alleg/allegro/tools/plugins/datworms.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- datworms.c 14 Jun 2003 09:48:06 -0000 1.3 +++ datworms.c 29 Nov 2003 08:32:36 -0000 1.4 @@ -238,6 +238,7 @@ &worms_menu, NULL, DATEDIT_MENU_HELP, - 0 + 0, + NULL }; |