Index: Plug.tmpasm =================================================================== --- Plug.tmpasm (revision 35075) +++ Plug.tmpasm (revision 35076) @@ -1,4 +1,9 @@ put /local/pcb/mod {io_pads} +put /local/pcb/mod/CONF {$(PLUGDIR)/io_pads/io_pads_conf.h} +put /local/pcb/mod/CONFFILE {io_pads.conf} +put /local/pcb/mod/CONFVAR {io_pads_conf_internal} + + put /local/pcb/mod/OBJS [@ $(PLUGDIR)/io_pads/io_pads.o $(PLUGDIR)/io_pads/read.o Index: io_pads.c =================================================================== --- io_pads.c (revision 35075) +++ io_pads.c (revision 35076) @@ -34,7 +34,11 @@ #include #include #include "plug_io.h" +#include "io_pads_conf.h" +#include "../src_plugins/io_pads/conf_internal.c" +conf_io_pads_t conf_io_pads; + #include "read.h" #include "write.h" @@ -65,6 +69,8 @@ { RND_HOOK_UNREGISTER(pcb_plug_io_t, pcb_plug_io_chain, &io_pads_2005); RND_HOOK_UNREGISTER(pcb_plug_io_t, pcb_plug_io_chain, &io_pads_9_4); + rnd_conf_unreg_intern(io_pads_conf_internal); + rnd_conf_unreg_fields("plugins/io_pads/"); } int pplg_init_io_pads(void) @@ -96,6 +102,11 @@ io_pads_9_4.write_pcb = io_pads_write_pcb_9_4; RND_HOOK_REGISTER(pcb_plug_io_t, pcb_plug_io_chain, &io_pads_9_4); + rnd_conf_reg_intern(io_pads_conf_internal); +#define conf_reg(field,isarray,type_name,cpath,cname,desc,flags) \ + rnd_conf_reg_field(conf_io_pads, field,isarray,type_name,cpath,cname,desc,flags); +#include "io_pads_conf_fields.h" + return 0; } Index: io_pads.conf =================================================================== --- io_pads.conf (nonexistent) +++ io_pads.conf (revision 35076) @@ -0,0 +1,11 @@ +li:pcb-rnd-conf-v1 { + ha:append { + ha:plugins { + ha:io_pads { + load_teardrops = 0 + load_polygons = 1 + save_trace_indep = 0 + } + } + } +} Index: io_pads_conf.h =================================================================== --- io_pads_conf.h (nonexistent) +++ io_pads_conf.h (revision 35076) @@ -0,0 +1,16 @@ +#ifndef PCB_IO_PADS_CONF_H +#define PCB_IO_PADS_CONF_H + +#include + +typedef struct { + const struct { + const struct { + RND_CFT_BOOLEAN load_teardrops; /* Enable loading teardrops - creates many extended objects */ + RND_CFT_BOOLEAN load_polygons; /* Enable loading polygon ''pours'' - major slowdown */ + RND_CFT_BOOLEAN save_trace_indep; /* Save traces as independent objects instead of routed signals */ + } io_pads; + } plugins; +} conf_io_pads_t; + +#endif Index: read.c =================================================================== --- read.c (revision 35075) +++ read.c (revision 35076) @@ -50,7 +50,10 @@ #include "delay_clearance.h" #include "delay_postproc.h" #include "read.h" +#include "io_pads_conf.h" +extern conf_io_pads_t conf_io_pads; + /* Parser return value convention: 1 = succesfully read a block or *section* or line 0 = eof Index: write.c =================================================================== --- write.c (revision 35075) +++ write.c (revision 35076) @@ -46,7 +46,10 @@ #include "data.h" #include "data_it.h" #include "plug_io.h" +#include "io_pads_conf.h" +extern conf_io_pads_t conf_io_pads; + typedef struct { FILE *f; pcb_board_t *pcb;