- Added search feature ('/' and 'n' keys)
- Bumped version to 1.7a
This commit is contained in:
parent
52bf862f07
commit
ef16be4174
45
CHANGELOG
45
CHANGELOG
|
@ -2,22 +2,51 @@ Ideas for future versions:
|
||||||
- Fix the bug where netmapr crashes on my 24-bit Truecolour display under
|
- Fix the bug where netmapr crashes on my 24-bit Truecolour display under
|
||||||
Solaris (and possibly other platforms)
|
Solaris (and possibly other platforms)
|
||||||
- Perhaps change to SVG for objects
|
- Perhaps change to SVG for objects
|
||||||
- Add more objects:
|
|
||||||
House
|
|
||||||
Phone
|
Version 1.6:
|
||||||
|
- Traffic flows are now always drawn last - this should speed up diagram
|
||||||
|
creation by avoiding lots of object draw order adjustments.
|
||||||
|
- Endpoints on arrowheads are now only adjusted to be outside objects
|
||||||
|
when the link is NOT a traffic flow - ie. traffic flows can terminate
|
||||||
|
INSIDE objects as opposed to next to them.
|
||||||
|
- Newly created links are now placed one place below their start/end objects
|
||||||
|
in the "thing" stack, rather than always at the very bottom.
|
||||||
|
- Added { / } commands (or shift+mouse wheel) to raise/lower map items by
|
||||||
|
a large amount at once (10% of total number of items) rather than one
|
||||||
|
position at a time.
|
||||||
|
- Added new object: Phone
|
||||||
|
- Status bar modifications:
|
||||||
|
- Added more statusbar text feedback for common actions
|
||||||
|
- Status bar now flashes red when errors are displayed.
|
||||||
|
- Status bar now flashes green when important information is displayed.
|
||||||
|
- Bug Fixes:
|
||||||
|
- Fixed yet another bug with AP_END arrowheads being drawn
|
||||||
|
underneath objects.
|
||||||
|
- Fixed bug where changing the colour of a line/text object
|
||||||
|
would remove the ISFLOW attribute.
|
||||||
|
- Fixed a number of bugs and graphical glitches with the "shadow" when
|
||||||
|
moving or resizing things.
|
||||||
|
|
||||||
Version 1.5:
|
Version 1.5:
|
||||||
- Now handles spaces in filenames under Windows
|
- Can now export to SVG files (save with ".SVG" extension)
|
||||||
- Disabled Delete Map and New Map functions in readonly mode
|
- Modifications to allow SVG exports:
|
||||||
- Preparation for SVG exports:
|
|
||||||
- Added vector types: Subobj/obj (to draw filled objects), Poly
|
- Added vector types: Subobj/obj (to draw filled objects), Poly
|
||||||
- Modified vector type "box" to take a "fill colour" argument
|
- Modified vector type "box" to take a "fill colour" argument
|
||||||
- Removed vector types Fill and Fillbox
|
- Removed vector types Fill and Fillbox
|
||||||
|
- Fix bug where traffic flows could be selected without flow mode being on
|
||||||
|
- Added new objects: House, Building, IDS Sensor
|
||||||
|
- Better handling for spaces in filenames under Windows
|
||||||
|
- Delete Map and New Map functions are now disabled in readonly mode
|
||||||
- Rewrote entire objects.dat file to avoid use of "fill" command
|
- Rewrote entire objects.dat file to avoid use of "fill" command
|
||||||
- Can now export to SVG files (same with ".SVG" extension)
|
- Many improvements to mapbox:
|
||||||
|
- Current map name is now centred and highlighted
|
||||||
|
- Long map names are now displayed with "..." if they won't fit
|
||||||
|
- Map names are now sorted
|
||||||
- Improved behaviour of grid with respect to link endpoints when
|
- Improved behaviour of grid with respect to link endpoints when
|
||||||
moving & resizing objects
|
moving & resizing objects
|
||||||
- Grid lines now look more visio-like
|
- Modifications to grid settings:
|
||||||
|
- Grid lines now look more visio-like and are now always visible
|
||||||
- Removed grid size of '5' as this was too small to be useful
|
- Removed grid size of '5' as this was too small to be useful
|
||||||
- Changed default grid size from 10 to 15.
|
- Changed default grid size from 10 to 15.
|
||||||
|
|
||||||
|
|
121
constants.h
121
constants.h
|
@ -1,63 +1,71 @@
|
||||||
#define VERSION "1.5"
|
#define VERSION "1.7a"
|
||||||
|
|
||||||
#define SMALLBUFLEN 64
|
/* variable sizes */
|
||||||
#define BUFLEN 512
|
#define SMALLBUFLEN 64 /* small text buffer */
|
||||||
|
#define BUFLEN 512 /* large text buffer */
|
||||||
|
|
||||||
#define DOUBLECLICKTHRES 250
|
/* user interface settings elements */
|
||||||
|
#define DOUBLECLICKTHRES 250 /* how fast a double click needs to be (in ticks) */
|
||||||
|
#define CURSORWIDTH 6 /* width of text cursor */
|
||||||
|
#define FIRSTLET 33 /* first ASCII value for letters */
|
||||||
|
#define LASTLET 122 /* last ASCII value for letters */
|
||||||
|
#define OBOXPAGESIZE (4) /* how many lines a pageup/down will scroll the object box */
|
||||||
|
#define MULTIRAISENUM (10) /* this many presses of { or } will raise/lower a thing to the very bottom/top */
|
||||||
|
#define LINESELTHRESHOLD (4) /* how close to a link you need to click to select it */
|
||||||
|
|
||||||
#define DEFTEXTW 8
|
/* graphical elements */
|
||||||
#define DEFTEXTH 10
|
#define SHORTCUTSIZE (10) /* font size (points) for shortcut numbers on buttons */
|
||||||
|
#define BEZIERQUALITY 50 /* how many sub=lines to use when drawing bezier curves */
|
||||||
|
#define MAPBOXTEXTHEIGHT 10 /* size of text in mapbox (points) */
|
||||||
|
#define LINESELHANDLESIZE (5) /* how large the boxes on the ends of a selected link are */
|
||||||
|
#define OBJSELHANDLEPCT (15) /* what percentage of the selected object's size the selection boxes are */
|
||||||
|
#define SIDEBARW 100 /* how width the toolbox/mapbox/objectbox are */
|
||||||
|
#define ERRORFLASHSPEED 5 /* how fast to fade out the statusbar error highlight */
|
||||||
|
#define INFOFLASHSPEED 2 /* how fast to fade out the statusbar information highlight */
|
||||||
|
|
||||||
#define MAXPOINTS 20
|
/* defaults */
|
||||||
#define MAXBUTTONS 40
|
#define DEFTEXTW 8 /* default text width (in pixels) for new text items */
|
||||||
|
#define DEFTEXTH 10 /* default text height (in POINTS) for new text items */
|
||||||
|
|
||||||
#define MAXMAPS 60
|
/* maximum/minimum values */
|
||||||
|
#define MAXBUTTONS 18 /* maximum number of toolbox buttons from buttons.dat */
|
||||||
|
#define MAXOBJTYPES 50 /* maximum amount of different types from objects.dat */
|
||||||
|
|
||||||
#define MAXHISTORY 50
|
#define MAXCHILDREN 30 /* maximum amount of submaps for any one given map */
|
||||||
#define MAXCHILDREN 30
|
#define MAXHISTORY 50 /* maximum amount that we can drill down into a map */
|
||||||
|
#define MAXLINKS 512 /* maximum number of links between objects each map can contain */
|
||||||
|
#define MAXMAPS 60 /* maximum number of (sub)maps in a project */
|
||||||
|
#define MAXOBJECTS 512 /* maximum number of objects each map can contain */
|
||||||
|
#define MAXPOINTS 20 /* maximum number of points on a line */
|
||||||
|
#define MAXTEXT 512 /* maximum number of text objects per map */
|
||||||
|
|
||||||
#define MAXOBJTYPES 30
|
#define MINLETTERWIDTH 6 /* minimum letter width (pixels) */
|
||||||
#define MAXOBJECTS 512
|
#define MINLETTERHEIGHT 6 /* minimum letter width (points) */
|
||||||
#define MAXLINKS 512
|
#define MAXLETTERWIDTH 100 /* maximum letter width (pixels) */
|
||||||
#define MAXLETTERVECTS 95
|
#define MAXLETTERHEIGHT 100 /* maximum letter width (points) */
|
||||||
#define MAXTEXT 512
|
|
||||||
|
|
||||||
#define CURSORWIDTH 6
|
#define MAXOBJWIDTH 500 /* maximum object width */
|
||||||
|
#define MAXOBJHEIGHT 500 /* maximum object height */
|
||||||
|
#define MINOBJWIDTH 20 /* minimum object width */
|
||||||
|
#define MINOBJHEIGHT 20 /* minimum object height */
|
||||||
|
|
||||||
#define FIRSTLET 33
|
#define MAXFILLSTACK 500000 /* used for flood fill function */
|
||||||
#define LASTLET 122
|
|
||||||
|
|
||||||
#define MINLETTERWIDTH 6
|
#define OLDMAXVECTORSPERIMAGE (60) /* maximum vectors per image in old version map files */
|
||||||
#define MINLETTERHEIGHT 6
|
#define MAXVECTORSPERIMAGE (120) /* maximum vectors per image in current map files */
|
||||||
#define MAXLETTERWIDTH 100
|
|
||||||
#define MAXLETTERHEIGHT 100
|
|
||||||
|
|
||||||
#define MAXOBJWIDTH 300
|
#define MAXLINESTYLE (4) /* Types of lines (dotted, dashed, etc) */
|
||||||
#define MAXOBJHEIGHT 300
|
#define LINESTYLESIZE (10) /* How big each line style array is */
|
||||||
#define MINOBJWIDTH 20
|
|
||||||
#define MINOBJHEIGHT 20
|
|
||||||
|
|
||||||
#define MAPBOXTEXTHEIGHT 10
|
|
||||||
|
|
||||||
#define MAXFILLSTACK 500000
|
|
||||||
|
|
||||||
#define BEZIERQUALITY 50
|
|
||||||
|
|
||||||
#define SHORTCUTSIZE (10)
|
|
||||||
|
|
||||||
#define OLDMAXVECTORSPERIMAGE (60)
|
|
||||||
#define MAXVECTORSPERIMAGE (120)
|
|
||||||
|
|
||||||
#define LINESELTHRESHOLD (4)
|
|
||||||
#define LINESELHANDLESIZE (5)
|
|
||||||
#define OBJSELHANDLEPCT (15)
|
|
||||||
|
|
||||||
|
/*************************************
|
||||||
|
* Constants
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* The SDL_Color.unused item is ORed with the following */
|
||||||
#define USECOLOUR (0x01) /* used as a NULL value for colours */
|
#define USECOLOUR (0x01) /* used as a NULL value for colours */
|
||||||
#define ISFLOW (0x02) /* used to show whether things are traffic flows */
|
#define ISFLOW (0x02) /* used to show whether things are traffic flows */
|
||||||
|
|
||||||
#define GRIDBRIGHTNESS 100
|
/* map element ("thing") types */
|
||||||
|
|
||||||
#define T_EMPTY (0)
|
#define T_EMPTY (0)
|
||||||
#define T_OBJECT (1)
|
#define T_OBJECT (1)
|
||||||
#define T_LINK (2)
|
#define T_LINK (2)
|
||||||
|
@ -65,12 +73,7 @@
|
||||||
#define T_LINKPOINT (4)
|
#define T_LINKPOINT (4)
|
||||||
#define T_MAP (5)
|
#define T_MAP (5)
|
||||||
|
|
||||||
#define O_ROUTER (0)
|
/* vector types */
|
||||||
#define O_SWITCH (1)
|
|
||||||
#define O_FIREWALL (2)
|
|
||||||
#define O_SERVER (3)
|
|
||||||
#define O_PC (4)
|
|
||||||
|
|
||||||
#define VT_LINE (0)
|
#define VT_LINE (0)
|
||||||
#define VT_BOX (1)
|
#define VT_BOX (1)
|
||||||
#define VT_DOT (2)
|
#define VT_DOT (2)
|
||||||
|
@ -81,9 +84,11 @@
|
||||||
#define VT_ENDPOLY (7)
|
#define VT_ENDPOLY (7)
|
||||||
#define VT_SUBOBJ (8)
|
#define VT_SUBOBJ (8)
|
||||||
|
|
||||||
|
/* boolean flags */
|
||||||
#define TRUE (-1)
|
#define TRUE (-1)
|
||||||
#define FALSE (0)
|
#define FALSE (0)
|
||||||
|
|
||||||
|
/* states */
|
||||||
#define S_NONE (0)
|
#define S_NONE (0)
|
||||||
#define S_OBJMOVING (1)
|
#define S_OBJMOVING (1)
|
||||||
#define S_RESIZING (2)
|
#define S_RESIZING (2)
|
||||||
|
@ -110,8 +115,9 @@
|
||||||
#define S_EDITTEXT (23)
|
#define S_EDITTEXT (23)
|
||||||
#define S_CHANGEOBJECT (24)
|
#define S_CHANGEOBJECT (24)
|
||||||
#define S_DRAWFLOW (25)
|
#define S_DRAWFLOW (25)
|
||||||
|
#define S_SEARCH (26)
|
||||||
|
|
||||||
|
/* toolbox buttons */
|
||||||
#define TB_POINTER (0)
|
#define TB_POINTER (0)
|
||||||
#define TB_ADDOBJ (1)
|
#define TB_ADDOBJ (1)
|
||||||
#define TB_ADDTEXT (2)
|
#define TB_ADDTEXT (2)
|
||||||
|
@ -131,27 +137,22 @@
|
||||||
#define TB_LOAD (16)
|
#define TB_LOAD (16)
|
||||||
#define TB_SAVE (17)
|
#define TB_SAVE (17)
|
||||||
|
|
||||||
#define SIDEBARW 100
|
|
||||||
|
|
||||||
#define NUMSTYLES (7)
|
|
||||||
|
|
||||||
|
/* selection screen values */
|
||||||
#define YES (1)
|
#define YES (1)
|
||||||
#define NO (0)
|
#define NO (0)
|
||||||
#define MAYBE (-1)
|
#define MAYBE (-1)
|
||||||
|
|
||||||
/* line styles etc */
|
/* Line styles are a 32-bit int split up as follows: */
|
||||||
/*
|
/*
|
||||||
* Unused Arrow Style Thickness (max 5?)
|
* Unused Arrow Style Thickness (max 5?)
|
||||||
* 00000000 00000000 00000000 00000000
|
* 00000000 00000000 00000000 00000000
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define LS_SOLID (0)
|
#define LS_SOLID (0)
|
||||||
#define LS_DOTTED (1)
|
#define LS_DOTTED (1)
|
||||||
#define LS_BIGDASH (2)
|
#define LS_BIGDASH (2)
|
||||||
#define LS_DASHDOT (3)
|
#define LS_DASHDOT (3)
|
||||||
|
|
||||||
#define MAXLINESTYLE (4)
|
|
||||||
#define LINESTYLESIZE (10)
|
|
||||||
|
|
||||||
/* arrow positions */
|
/* arrow positions */
|
||||||
#define AP_NONE (0)
|
#define AP_NONE (0)
|
||||||
|
@ -159,14 +160,14 @@
|
||||||
#define AP_END (2)
|
#define AP_END (2)
|
||||||
#define AP_BOTH (3)
|
#define AP_BOTH (3)
|
||||||
|
|
||||||
|
/* Special mapbox child values for scroll buttons */
|
||||||
#define C_NONE (-1)
|
#define C_NONE (-1)
|
||||||
#define C_SCROLLUP (-2)
|
#define C_SCROLLUP (-2)
|
||||||
#define C_SCROLLDOWN (-3)
|
#define C_SCROLLDOWN (-3)
|
||||||
|
|
||||||
/* mouse positions */
|
/* Mouse positions */
|
||||||
#define MP_NONE (0)
|
#define MP_NONE (0)
|
||||||
#define MP_TOOLBOX (1)
|
#define MP_TOOLBOX (1)
|
||||||
#define MP_MAPBOXNAME (2)
|
#define MP_MAPBOXNAME (2)
|
||||||
#define MP_MAPBOXCHILDREN (3)
|
#define MP_MAPBOXCHILDREN (3)
|
||||||
#define MP_OBJECTBOX (4)
|
#define MP_OBJECTBOX (4)
|
||||||
|
|
||||||
|
|
|
@ -214,7 +214,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan=3><center><img src="objbox.jpg" alt="Object Box"></center></td>
|
<td rowspan=4><center><img src="objbox.jpg" alt="Object Box"></center></td>
|
||||||
<td>Left mouse button</td>
|
<td>Left mouse button</td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
<td>Select new object type.</td>
|
<td>Select new object type.</td>
|
||||||
|
@ -223,7 +223,13 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>Mouse Wheel</td>
|
<td>Mouse Wheel</td>
|
||||||
<td>'q' and 'w' keys<br>',' and '.' keys</td>
|
<td>'q' and 'w' keys<br>',' and '.' keys</td>
|
||||||
<td>Scroll the object selection box up and down.</td>
|
<td>Scroll the object selection box up/down by one line.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>SHIFT + Mouse Wheel</td>
|
||||||
|
<td>PgUp and PgDown Keys</td>
|
||||||
|
<td>Scroll the object selection box up/down by one page.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
BIN
netmapr.exe
BIN
netmapr.exe
Binary file not shown.
22
netmapr.h
22
netmapr.h
|
@ -89,10 +89,11 @@ typedef struct {
|
||||||
} object_t;
|
} object_t;
|
||||||
|
|
||||||
|
|
||||||
struct {
|
|
||||||
vectorimg_t vect;
|
//struct {
|
||||||
char name;
|
// vectorimg_t vect;
|
||||||
} letter[MAXLETTERVECTS];
|
// char name;
|
||||||
|
//} letter[MAXLETTERVECTS];
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int id;
|
int id;
|
||||||
|
@ -167,6 +168,8 @@ map_t map[MAXMAPS];
|
||||||
|
|
||||||
char typedesc[6][BUFLEN];
|
char typedesc[6][BUFLEN];
|
||||||
|
|
||||||
|
|
||||||
|
void adjustendpoint(SDL_Surface *screen, int *adjx, int *adjy, double x1, double y1, double x2, double y2, int arrowstyle, int arrowpos );
|
||||||
void addlinkpoint(int linkid, int x, int y);
|
void addlinkpoint(int linkid, int x, int y);
|
||||||
int addvector(vectorimg_t *vimg, int type, int x1, int y1, int x2, int y2, SDL_Color *c, SDL_Color *fc);
|
int addvector(vectorimg_t *vimg, int type, int x1, int y1, int x2, int y2, SDL_Color *c, SDL_Color *fc);
|
||||||
void changegridsize(void);
|
void changegridsize(void);
|
||||||
|
@ -183,7 +186,10 @@ void deletething(int id, int type);
|
||||||
void deletelink(int linkid);
|
void deletelink(int linkid);
|
||||||
void deleteobject(int oid );
|
void deleteobject(int oid );
|
||||||
void deletetext(int textid);
|
void deletetext(int textid);
|
||||||
|
int dosearch(void);
|
||||||
|
int dosearchnext(void);
|
||||||
void drawarrowhead(SDL_Surface *screen, double x1, double y1, double x2, double y2, SDL_Color c, int arrowstyle, int arrowpos);
|
void drawarrowhead(SDL_Surface *screen, double x1, double y1, double x2, double y2, SDL_Color c, int arrowstyle, int arrowpos);
|
||||||
|
void drawarrowheadSVG(double x1, double y1, double x2, double y2, SDL_Color c, int arrowstyle, int arrowpos);
|
||||||
void lerp(int *newx, int *newy, int ax, int ay, int bx, int by, float t);
|
void lerp(int *newx, int *newy, int ax, int ay, int bx, int by, float t);
|
||||||
void drawbezier(SDL_Surface *screen, int x1, int y1, int x2,int y2, int x3,int y3, int x4,int y4, SDL_Color c);
|
void drawbezier(SDL_Surface *screen, int x1, int y1, int x2,int y2, int x3,int y3, int x4,int y4, SDL_Color c);
|
||||||
void drawbox(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c, SDL_Color *fc);
|
void drawbox(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c, SDL_Color *fc);
|
||||||
|
@ -192,7 +198,6 @@ void drawellipse(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color
|
||||||
void drawflowbox(SDL_Surface *dest, int oid, int otype);
|
void drawflowbox(SDL_Surface *dest, int oid, int otype);
|
||||||
void drawcolorchart(SDL_Surface *dest);
|
void drawcolorchart(SDL_Surface *dest);
|
||||||
void drawmaplist(SDL_Surface *dest);
|
void drawmaplist(SDL_Surface *dest);
|
||||||
int drawletter(SDL_Surface *dest,int x, int y, int w, int h, char let, SDL_Color col);
|
|
||||||
void drawline(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c, int linestyle);
|
void drawline(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c, int linestyle);
|
||||||
void drawlinebehind(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c);
|
void drawlinebehind(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c);
|
||||||
void drawlink(SDL_Surface *dest, link_t *l);
|
void drawlink(SDL_Surface *dest, link_t *l);
|
||||||
|
@ -239,7 +244,7 @@ void goback(void);
|
||||||
int linelen(int x1,int y1,int x2,int y2);
|
int linelen(int x1,int y1,int x2,int y2);
|
||||||
int linkat(int x, int y);
|
int linkat(int x, int y);
|
||||||
int loadmap(void);
|
int loadmap(void);
|
||||||
void lowerselected(void);
|
void lowerselected(int amt);
|
||||||
int objat(int x, int y);
|
int objat(int x, int y);
|
||||||
void paste(void);
|
void paste(void);
|
||||||
void pasteline(SDL_Surface *screen, int *lbuf);
|
void pasteline(SDL_Surface *screen, int *lbuf);
|
||||||
|
@ -248,6 +253,7 @@ void push(int x, int y);
|
||||||
int initgraphics(void);
|
int initgraphics(void);
|
||||||
void initmap(int mapnum);
|
void initmap(int mapnum);
|
||||||
int initobject(int onum);
|
int initobject(int onum);
|
||||||
|
int isinhistory(int mapid);
|
||||||
int isflow(int oid, int otype);
|
int isflow(int oid, int otype);
|
||||||
int isonline (int fx, int fy, int x1, int y1, int x2, int y2);
|
int isonline (int fx, int fy, int x1, int y1, int x2, int y2);
|
||||||
int isonlink(int linkid, int mx, int my);
|
int isonlink(int linkid, int mx, int my);
|
||||||
|
@ -262,7 +268,9 @@ int isonmapboxchildren (int x, int y);
|
||||||
int isonmapname (int x, int y);
|
int isonmapname (int x, int y);
|
||||||
int isongoback (int x, int y);
|
int isongoback (int x, int y);
|
||||||
void initvars(void);
|
void initvars(void);
|
||||||
void raiseselected(void);
|
void raiseselected(int amt);
|
||||||
|
void seterror(int errnum);
|
||||||
|
void setinfo(int infonum);
|
||||||
void setmod(int tf);
|
void setmod(int tf);
|
||||||
int savemap(void);
|
int savemap(void);
|
||||||
void scrollobox(int amt);
|
void scrollobox(int amt);
|
||||||
|
|
BIN
netmapr.jpg
BIN
netmapr.jpg
Binary file not shown.
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 149 KiB |
114
objects.dat
114
objects.dat
|
@ -488,3 +488,117 @@ line 165 75 180 70 0 0 0
|
||||||
# right wing
|
# right wing
|
||||||
poly 0 0 0 p 278 35 283 45 183 80 173 60 273 25 278 35 f 0 110 148
|
poly 0 0 0 p 278 35 283 45 183 80 173 60 273 25 278 35 f 0 110 148
|
||||||
end
|
end
|
||||||
|
object house 200 200
|
||||||
|
# roof
|
||||||
|
poly 0 0 0 p 0 100 100 0 199 100 0 100 f 200 0 0
|
||||||
|
# base
|
||||||
|
box 25 100 175 199 0 0 0 255 146 143
|
||||||
|
# door
|
||||||
|
box 60 125 100 199 0 0 0 173 97 0
|
||||||
|
# window
|
||||||
|
box 115 115 160 150 0 0 0 0 0 255
|
||||||
|
line 137 115 137 150 0 0 0
|
||||||
|
line 115 132 160 132 0 0 0
|
||||||
|
# chimney
|
||||||
|
box 137 25 150 60 210 0 0 210 0 0
|
||||||
|
line 137 60 137 25 0 0 0
|
||||||
|
line 137 25 150 25 0 0 0
|
||||||
|
line 150 25 150 60 0 0 0
|
||||||
|
# chimney top
|
||||||
|
box 134 20 153 25 0 0 0 173 97 0
|
||||||
|
end
|
||||||
|
object building 150 200
|
||||||
|
# front
|
||||||
|
box 0 25 102 199 240 240 240 150 150 150
|
||||||
|
# side
|
||||||
|
poly 240 240 240 p 102 25 149 0 149 175 102 199 102 25 f 90 90 90
|
||||||
|
# top
|
||||||
|
poly 240 240 240 p 0 25 47 0 149 0 102 25 0 25 f 200 200 200
|
||||||
|
# windows - top row
|
||||||
|
box 14 40 24 50 0 0 0 0 0 255
|
||||||
|
box 30 40 40 50 0 0 0 0 0 255
|
||||||
|
box 46 40 56 50 0 0 0 0 0 255
|
||||||
|
box 62 40 72 50 0 0 0 0 0 255
|
||||||
|
box 78 40 88 50 0 0 0 0 0 255
|
||||||
|
# windows - top row
|
||||||
|
box 14 56 24 66 0 0 0 0 0 255
|
||||||
|
box 30 56 40 66 0 0 0 0 0 255
|
||||||
|
box 46 56 56 66 0 0 0 0 0 255
|
||||||
|
box 62 56 72 66 0 0 0 0 0 255
|
||||||
|
box 78 56 88 66 0 0 0 0 0 255
|
||||||
|
# windows - top row
|
||||||
|
box 14 72 24 82 0 0 0 0 0 255
|
||||||
|
box 30 72 40 82 0 0 0 0 0 255
|
||||||
|
box 46 72 56 82 0 0 0 0 0 255
|
||||||
|
box 62 72 72 82 0 0 0 0 0 255
|
||||||
|
box 78 72 88 82 0 0 0 0 0 255
|
||||||
|
# windows - top row
|
||||||
|
box 14 88 24 98 0 0 0 0 0 255
|
||||||
|
box 30 88 40 98 0 0 0 0 0 255
|
||||||
|
box 46 88 56 98 0 0 0 0 0 255
|
||||||
|
box 62 88 72 98 0 0 0 0 0 255
|
||||||
|
box 78 88 88 98 0 0 0 0 0 255
|
||||||
|
# windows - top row
|
||||||
|
box 14 104 24 114 0 0 0 0 0 255
|
||||||
|
box 30 104 40 114 0 0 0 0 0 255
|
||||||
|
box 46 104 56 114 0 0 0 0 0 255
|
||||||
|
box 62 104 72 114 0 0 0 0 0 255
|
||||||
|
box 78 104 88 114 0 0 0 0 0 255
|
||||||
|
# windows - top row
|
||||||
|
box 14 120 24 130 0 0 0 0 0 255
|
||||||
|
box 30 120 40 130 0 0 0 0 0 255
|
||||||
|
box 46 120 56 130 0 0 0 0 0 255
|
||||||
|
box 62 120 72 130 0 0 0 0 0 255
|
||||||
|
box 78 120 88 130 0 0 0 0 0 255
|
||||||
|
# door
|
||||||
|
box 20 175 30 199 240 240 240 200 200 200
|
||||||
|
box 30 175 40 199 240 240 240 200 200 200
|
||||||
|
# door outline
|
||||||
|
line 30 176 30 198 150 150 150
|
||||||
|
end
|
||||||
|
object ids-sensor 300 200
|
||||||
|
# front
|
||||||
|
box 0 25 275 199 170 230 255 0 150 213
|
||||||
|
# top
|
||||||
|
poly 170 230 255 p 0 25 25 0 299 0 275 25 0 25 f 0 180 255
|
||||||
|
# side
|
||||||
|
poly 170 230 255 p 275 25 299 0 299 175 275 199 275 25 f 0 90 128
|
||||||
|
# circle
|
||||||
|
subobj 250 250 250
|
||||||
|
circle 137 110 80 60 20 20 20
|
||||||
|
endsub
|
||||||
|
# inner
|
||||||
|
subobj 0 150 213
|
||||||
|
circle 137 110 65 45 20 20 20
|
||||||
|
endsub
|
||||||
|
# top arrow
|
||||||
|
poly 0 0 0 p 15 75 235 75 , 235 65 , 260 80 , 235 95 , 235 85 15 85 , 15 75 f 250 250 250
|
||||||
|
# bottom arrow
|
||||||
|
poly 0 0 0 p 260 125 40 125 , 40 115 , 15 130 , 40 145 , 40 135 260 135 , 260 125 f 250 250 250
|
||||||
|
end
|
||||||
|
object phone 200 145
|
||||||
|
# base
|
||||||
|
poly 0 0 0 p 25 95 , 25 144 , 175 144 , 175 95 , 135 35 , 65 35 , 25 95 f 0 90 128
|
||||||
|
box 65 20 75 35 0 0 0 0 150 203
|
||||||
|
box 125 20 135 35 0 0 0 0 150 203
|
||||||
|
# handset ends
|
||||||
|
box 0 50 40 70 0 0 0 0 180 255
|
||||||
|
box 160 50 199 70 0 0 0 0 180 255
|
||||||
|
# handset
|
||||||
|
# left end
|
||||||
|
poly 0 0 0 p 10 50 , 10 10 , 20 0 , 30 0 , 30 50 , 10 50 f 0 150 203
|
||||||
|
# right end
|
||||||
|
poly 0 0 0 p 190 50 , 190 10 , 180 0 , 170 0 , 170 50 , 190 50 f 0 150 203
|
||||||
|
# top bit
|
||||||
|
box 30 0 170 20 0 0 0 0 150 203
|
||||||
|
# fixups
|
||||||
|
line 30 1 30 19 0 150 203
|
||||||
|
line 170 1 170 19 0 150 203
|
||||||
|
# dial
|
||||||
|
subobj 0 180 255 0 0
|
||||||
|
circle 100 85 40 40 0 0 0
|
||||||
|
endsub
|
||||||
|
subobj 0 90 128
|
||||||
|
circle 100 85 25 25 0 0 0
|
||||||
|
endsub
|
||||||
|
end
|
||||||
|
|
|
@ -9,3 +9,5 @@ WINFILE=${FULLNAME}-win32.zip
|
||||||
mkdir ${FULLNAME}
|
mkdir ${FULLNAME}
|
||||||
cp README.txt INSTALL.txt objects.dat buttons.dat netmapr.exe netmapr.c netmapr.h constants.h convert.c convert.h verdana.ttf example.map icon.bmp windows_files/*.dll ${FULLNAME}/
|
cp README.txt INSTALL.txt objects.dat buttons.dat netmapr.exe netmapr.c netmapr.h constants.h convert.c convert.h verdana.ttf example.map icon.bmp windows_files/*.dll ${FULLNAME}/
|
||||||
cp -R doc ${FULLNAME}/
|
cp -R doc ${FULLNAME}/
|
||||||
|
|
||||||
|
zip -r ${WINFILE} ${FULLNAME}
|
||||||
|
|
Loading…
Reference in New Issue