4 Original GPL release version 4.12
5 Copyright 1993-2000 Jonathan Potter
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 All users of Directory Opus 4 (including versions distributed
22 under the GPL) are entitled to upgrade to the latest version of
23 Directory Opus version 5 at a reduced price. Please see
24 http://www.gpsoft.com.au for more information.
26 The release of Directory Opus 4 under the GPL in NO WAY affects
27 the existing commercial status of Directory Opus 5.
38 #if defined(__PPC__) || defined(__AROS__)
42 #define __aligned __attribute__((__aligned__(4)))
43 #define lsprintf sprintf
57 #include <exec/types.h>
58 #include <exec/memory.h>
59 #include <exec/execbase.h>
61 #include <dos/dosextens.h>
62 #include <dos/exall.h>
63 #include <intuition/intuitionbase.h>
64 #include <intuition/iobsolete.h>
65 #include <intuition/sghooks.h>
66 #include <graphics/gfxbase.h>
67 #include <graphics/gfxmacros.h>
68 #include <workbench/workbench.h>
69 #include <workbench/startup.h>
70 #include <diskfont/diskfont.h>
71 #include <proto/exec.h>
72 #include <proto/dos.h>
73 #include <proto/intuition.h>
74 #include <proto/graphics.h>
75 #include <proto/layers.h>
76 #include <proto/asl.h>
77 #include <proto/utility.h>
78 #include <proto/console.h>
79 #include <proto/locale.h>
80 #include <proto/dopus.h>
81 #include <proto/diskfont.h>
82 #include <proto/icon.h>
83 #include <proto/workbench.h>
84 #include <clib/alib_protos.h>
86 #include <proto/dopus.h>
87 #include <dopus/config.h>
88 #include <dopus/configflags.h>
89 #include <dopus/dopusmessage.h>
90 #include <dopus/stringdata.h>
101 #define GAD_BASE 1000
102 #define STRING_BASE 10000
103 #define REQ_BASE 11000
105 #define CONFIG_STRUCTURE_SIZE 9200
123 #define FFLAG_8ONLY 1
124 #define FFLAG_NOPROP 2
128 #define HIDDENLINES 6
130 #define FB_OUTPUTWIN 0
131 #define FB_OUTPUTFILE 1
134 #define FB_RUNASYNC 4
135 #define FB_CDSOURCE 5
137 #define FB_DOALLFILES 7
138 #define FB_RECURSEDIR 8
139 #define FB_RELOADFILE 9
140 #define FB_AUTOICONIFY 10
141 #define FB_NOQUOTE 11
142 #define FB_RESCANSOURCE 12
143 #define FB_RESCANDEST 13
144 #define FB_SHELLSTARTUP 14
145 #define FB_DOPUSSTARTUP 15
147 #define FF_OUTPUTWIN (1<<FB_OUTPUTWIN)
148 #define FF_OUTPUTFILE (1<<FB_OUTPUTFILE)
149 #define FF_WB2F (1<<FB_WB2F)
150 #define FF_DOPUS2F (1<<FB_DOPUS2F)
151 #define FF_RUNASYNC (1<<FB_RUNASYNC)
152 #define FF_CDSOURCE (1<<FB_CDSOURCE)
153 #define FF_CDDEST (1<<FB_CDDEST)
154 #define FF_DOALLFILES (1<<FB_DOALLFILES)
155 #define FF_RECURSEDIR (1<<FB_RECURSEDIR)
156 #define FF_RELOADFILE (1<<FB_RELOADFILE)
157 #define FF_AUTOICONIFY (1<<FB_AUTOICONIFY)
158 #define FF_NOQUOTE (1<<FB_NOQUOTE)
159 #define FF_RESCANSOURCE (1<<FB_RESCANSOURCE)
160 #define FF_RESCANDEST (1<<FB_RESCANDEST)
161 #define FF_SHELLSTARTUP (1<<FB_SHELLSTARTUP)
162 #define FF_DOPUSSTARTUP (1<<FB_DOPUSSTARTUP)
164 #define SFB_AUTOICONIFY 0
166 #define SFB_CDSOURCE 2
167 #define SFB_DOPUS2F 3
168 #define SFB_DOALLFILES 4
169 #define SFB_DOPUSSTARTUP 5
170 #define SFB_SHELLSTARTUP 6
171 #define SFB_NOQUOTE 7
172 #define SFB_OUTPUTFILE 8
173 #define SFB_OUTPUTWIN 9
174 #define SFB_RECURSEDIR 10
175 #define SFB_RELOADFILE 11
176 #define SFB_RESCANDEST 12
177 #define SFB_RESCANSOURCE 13
178 #define SFB_RUNASYNC 14
181 #define FT_INTERNAL 0
182 #define FT_EXECUTABLE 1
183 #define FT_WORKBENCH 2
187 #define FT_REQUESTER 5
190 #define FC_INTERNAL '*'
191 #define FC_WORKBENCH '%'
194 #define FC_REQUESTER '@'
197 #define MENUCOUNT 100
199 #define DRIVECOUNT 32
201 #define USEDRIVECOUNT 30
204 #define FTYC_MATCHNAME 2
205 #define FTYC_MATCHBITS 3
206 #define FTYC_MATCHCOMMENT 4
207 #define FTYC_MATCHSIZE 5
208 #define FTYC_MATCHDATE 6
209 #define FTYC_MOVETO 7
211 #define FTYC_SEARCHFOR 9
212 #define FTYC_MATCHI 10
215 #define FTYC_ENDSECTION 255
217 #define FTYC_ENDLIMIT 252
218 #define FTYC_COMMANDOK 11
219 #define FTYC_CYCLEEND 12
221 #define FILETYPE_FUNCNUM 16
224 struct fileclass
*last
,*next
;
227 unsigned char *recognition
;
230 extern struct TagItem scr_taglist
[];
231 extern struct ExtNewScreen configscr
;
232 extern struct NewWindow configwin
,requestwin
;
233 extern struct ExecBase
*SysBase
;
234 extern struct DOpusBase
*DOpusBase
;
235 extern struct GfxBase
*GfxBase
;
236 extern struct DosLibrary
*DOSBase
;
237 extern struct IntuitionBase
*IntuitionBase
;
238 extern struct muBase
*muBase
;
239 extern struct Screen
*Screen
;
240 extern struct Window
*Window
;
241 extern struct ViewPort
*vp
;
242 extern struct RastPort
*rp
;
243 extern struct Process
*myproc
;
244 extern struct IntuiMessage
*IMsg
;
245 extern APTR wsave
,realwsave
;
246 extern char *spacestring
;
247 extern char fontbuf
[50];
248 extern struct TextAttr sfont
,bsfont
;
249 extern struct Config
*config
,*undoconfig
;
250 extern struct dopusfiletype
*firsttype
;
251 extern struct dopushotkey
*firsthotkey
;
252 extern struct dopusgadgetbanks
*firstbank
,*curbank
;
253 extern struct DOpusRemember
*typekey
,*fontkey
;
254 extern char configname
[256],loadnamebuf
[256];
255 extern char filebuf
[256],dirbuf
[258];
256 extern struct DOpusFileReq filereq
;
258 extern struct MsgPort
*conport
,*cmdport
,*appport
;
260 extern struct MsgPort *clip_port;
261 extern struct IOClipReq *clip_io;
265 struct Config *config;
266 struct DOpusRemember *typekey;
267 struct dopusfiletype *firsttype;
268 struct dopusgadgetbanks *firstbank,*curbank;
269 struct dopushotkey *firsthotkey;
272 extern struct ConfigStuff cstuff
;
273 extern struct DOpusRemember
*mainkey
,*gadgetkey
,*tickkey
,*screenkey
,*clipkey
,*buttonkey
;
274 extern struct Gadget
*maingad
,*tickgad
,*gadgads
,*menugads
,*drivegads
;
275 extern int tickcount
;
276 extern struct dopusconfigmsg msg
;
278 extern struct TagItem taglist
[2];
279 extern UWORD drawinfo
[];
280 extern int lchanged
,changed
;
283 *checkonimage
,*checkoffimage
,
284 *buttononimage
,*buttonoffimage
,
285 copy_checkonimage
,copy_checkoffimage
;
287 #define CTYPE_MOVEREL -3
288 #define CTYPE_MOVE -2
289 #define CTYPE_SKIP -1
297 struct ConfigGadget
{
309 #define CFG_MAINMENU 11
312 #define CFG_FILETYPE 2
313 #define CFG_HOTKEYS 3
315 #define CFG_OPERATION 5
320 #define CFG_CANCEL 10
323 #define OP_DATEFORMAT 1
325 #define OP_ERRORCHECK 3
333 #define SYS_AMIGADOS 0
335 #define SYS_DIRECTORIES 2
336 #define SYS_HOTKEYS 3
338 #define SYS_MODULES 5
339 #define SYS_SHOWPATTERN 6
340 #define SYS_STARTUP 7
341 #define SYS_VIEWPLAY 8
343 #define SYS_CANCEL 10
345 #define GAD_NEXTBANK 0
346 #define GAD_NEWBANK 1
347 #define GAD_COPYBANK 2
348 #define GAD_SWAPBANK 3
349 #define GAD_DELETEBANK 4
350 #define GAD_COPYGADGET 5
351 #define GAD_SWAPGADGET 6
352 #define GAD_DELETEGADGET 7
356 #define MENU_COPYMENU 0
357 #define MENU_SWAPMENU 1
358 #define MENU_DELETEMENU 2
359 #define MENU_SORTMENU 3
360 #define MENU_INSERTITEM 4
361 #define MENU_COPYITEM 5
362 #define MENU_SWAPITEM 6
363 #define MENU_DELETEITEM 7
365 #define MENU_CANCEL 9
366 #define MENU_MOVEUP 10
367 #define MENU_MOVEDOWN 11
368 #define MENU_SLIDER 12
370 #define DRIVE_GETDRIVES 0
371 #define DRIVE_COPYBANK 1
372 #define DRIVE_SWAPBANK 2
373 #define DRIVE_DELETEBANK 3
374 #define DRIVE_SORTBANK 4
375 #define DRIVE_COPYDRIVE 5
376 #define DRIVE_SWAPDRIVE 6
377 #define DRIVE_DELETEDRIVE 7
379 #define DRIVE_CANCEL 9
380 #define DRIVE_EDITNAME 10
381 #define DRIVE_EDITSAMPLE 11
382 #define DRIVE_EDITREQ 12
383 #define DRIVE_EDITPATH 13
385 #define FILETYPE_NEW 0
386 #define FILETYPE_SWAP 1
387 #define FILETYPE_DELETE 2
388 #define FILETYPE_OKAY 3
389 #define FILETYPE_CANCEL 4
391 #define HOTKEYS_NEWHOTKEY 0
392 #define HOTKEYS_DELETE 1
393 #define HOTKEYS_DUPLICATE 2
394 #define HOTKEYS_OKAY 3
395 #define HOTKEYS_SWAP 4
396 #define HOTKEYS_CANCEL 5
399 #define EDIT_CANCEL 1
400 #define EDIT_EDITCLASS 2
402 #define EDIT_SAMPLE 4
403 #define EDIT_NEWENTRY 5
404 #define EDIT_DUPLICATE 6
406 #define EDIT_DELETE 8
408 #define EDIT_PRIORITY 10
409 #define EDIT_DELAY 11
412 #define EDIT_REQUESTER 14
414 #define EDIT_ARGREQ 16
415 #define EDIT_FILETYPEACTION 17
418 #define CLASS_CANCEL 1
420 #define CLASS_NEWENTRY 4
421 #define CLASS_DUPLICATE 5
423 #define CLASS_DELETE 7
424 #define CLASS_OPERATION 8
426 #define CLASS_FILEVIEWREQ 10
427 #define CLASS_FILEVIEW 11
428 #define CLASS_HEXDEC 12
429 #define CLASS_VIEWSLIDER 13
430 #define CLASS_VIEWUP 14
431 #define CLASS_VIEWDOWN 15
432 #define CLASS_TYPEID 16
434 #define EDIT_FUNCTIONS 1
436 #define EDIT_FUNCTIONTYPE 3
438 #define SCREEN_ARROWS 0
439 #define SCREEN_COLOURS 1
440 #define SCREEN_FONTS 2
441 #define SCREEN_GENERAL 3
442 #define SCREEN_PALETTE 4
443 #define SCREEN_SCREENMODE 5
444 #define SCREEN_SLIDERS 6
445 #define SCREEN_OKAY 7
446 #define SCREEN_CANCEL 8
448 #define PALETTE_SLIDER 100
449 #define PALETTE_STRING 103
451 #define COLOURS_SELECT 200
453 #define SCREENMODE_WIDTH 300
454 #define SCREENMODE_HEIGHT 301
455 #define SCREENMODE_DEPTH 302
456 #define SCREENMODE_DEFWIDTH 303
457 #define SCREENMODE_DEFHEIGHT 304
458 #define SCREENMODE_HALFHEIGHT 305
459 #define SCREENMODE_SLIDER 306
461 #define HOTKEY_SAMPLE 400
462 #define HOTKEY_MMB 401
464 #define FORMAT_MAXNUM 9
466 #define FORMAT_WINDOW 500
467 #define FORMAT_RESET 501
468 #define FORMAT_CLEAR 502
469 #define FORMAT_LENGTH 503
470 #define FORMAT_SEPARATE 510
471 #define FORMAT_REVERSESORT 511
472 #define FORMAT_SIZEKMG 512 // HUX
474 #define ICON_ICONREQ 600
475 #define ICON_ICONPATH 601
476 #define ICON_TOOLREQ 602
477 #define ICON_TOOLPATH 603
479 #define ARROWBASE 600
480 #define ARROWCYCLE 610
482 #define FONT_SIZE 700
484 #define SCREEN_SLIDER_LEFTCYCLE 800
485 #define SCREEN_SLIDER_RIGHTCYCLE 801
487 #define COLBIT_STATUS 0
488 #define COLBIT_SELDISKNAME 1
489 #define COLBIT_DISKNAME 2
490 #define COLBIT_SELDIRECTORY 3
491 #define COLBIT_DIRECTORY 4
492 #define COLBIT_SELFILE 5
493 #define COLBIT_FILE 6
494 #define COLBIT_SLIDERS 7
495 #define COLBIT_ARROWS 8
496 #define COLBIT_TINYGADS 9
497 #define COLBIT_CLOCK 10
498 #define COLBIT_REQUESTER 11
499 #define COLBIT_3DBOXES 12
500 #define COLBIT_STRINGS 13
501 #define COLBIT_SELSTRINGS 14
503 #define COLOURS_STATUS (1<<COLBIT_STATUS)
504 #define COLOURS_SELDISKNAME (1<<COLBIT_SELDISKNAME)
505 #define COLOURS_DISKNAME (1<<COLBIT_DISKNAME)
506 #define COLOURS_SELDIRECTORY (1<<COLBIT_SELDIRECTORY)
507 #define COLOURS_DIRECTORY (1<<COLBIT_DIRECTORY)
508 #define COLOURS_SELFILE (1<<COLBIT_SELFILE)
509 #define COLOURS_FILE (1<<COLBIT_FILE)
510 #define COLOURS_SLIDERS (1<<COLBIT_SLIDERS)
511 #define COLOURS_ARROWS (1<<COLBIT_ARROWS)
512 #define COLOURS_TINYGADS (1<<COLBIT_TINYGADS)
513 #define COLOURS_CLOCK (1<<COLBIT_CLOCK)
514 #define COLOURS_REQUESTER (1<<COLBIT_REQUESTER)
515 #define COLOURS_3DBOXES (1<<COLBIT_3DBOXES)
516 #define COLOURS_STRINGS (1<<COLBIT_STRINGS)
517 #define COLOURS_SELSTRINGS (1<<COLBIT_SELSTRINGS)
519 #define COLOURS_ALL ~0
526 extern struct ColourSel coloursel
[];
546 *formatgadgets
[11], // JRZ: was 10
550 *filetypeactiongadgets
[11],
554 *classopslist
[], // JRZ: was 12
556 *formatnames
[FORMAT_MAXNUM
+1],
557 *selectedformatnames
[FORMAT_MAXNUM
+1],
560 *palettegadgets
[],*coloursgadgets
[],
561 *screenmodegadgets
[],
563 *windownames
[2],*errorcheckingtxt
[],*separatenames
[3];
565 extern struct ConfigGadget
566 *operationgadgets
[8],*systemgadgets
[9],scr_generalgadgets
[];
570 #define UNDO_GADGET 2
572 #define UNDO_FILETYPE 8
573 #define UNDO_DRIVE 16
574 #define UNDO_HOTKEYS 32
575 #define UNDO_ALL (UNDO_MAIN|UNDO_GADGET|UNDO_MENU|UNDO_FILETYPE|UNDO_DRIVE|UNDO_HOTKEYS)
578 struct Config
*config
;
579 struct newdopusfunction
*menu
;
580 struct dopusfunction
*drive
;
581 struct dopusfiletype
*firsttype
;
582 struct dopusgadgetbanks
*firstbank
;
583 struct DOpusRemember
*key
;
584 struct dopushotkey
*firsthotkey
;
588 extern struct ConfigUndo
*makeundo();
589 extern char *getcopy(),*compilefunclist(),**makefiletypelist(),**makeclasslist();
590 extern struct dopusgadgetbanks
*lastbank();
592 extern int fontplaceflags
[],fontplacevals
[];
593 extern struct RMBGadget nextbankrmb
,insertbankrmb
,formatclearrmb
,sampleclearrmb
;
594 extern struct DOpusListView
595 editlists
[3],cmdlist
,screenmodeview
,listlist
,iconlistview
,
596 fontsizelistview
,fontlistview
,fontplacelist
,editclasslist
,hotkeyslist
,
597 helplist
,filetypeactionlist
,
598 modulelist
/*,languagelist*/;
599 extern char *external_module_list
[],*external_module_name
[];
600 extern int external_module_map
[];
603 editfuncgadgets
[15],cmdcancelgad
,menuslidergads
[3],editdrivegadgets
[4],
604 palettegads
[6],coloursgad
,screenmodegads
[7],editclassgadgets
[14],
605 listokaygad
[3],formatgads
[11 /* HUX: was 10 */],hotkeygad
,hotkeymmbgad
,arrowgadgets
[8],
606 fontsizegadget
,helpgad
,helpcancelgad
,draggad
,icongads
[4],depthgads
[2],
607 screen_sliders_gadgets
[];
609 extern struct Image menusliderimage
;
610 extern struct PropInfo menusliderprop
,paletteprop
[3];
613 edit_namebuf
[256],edit_stackbuf
[7],edit_prioritybuf
[5],edit_delaybuf
[3],
614 edit_funcbuf
[256],edit_pathbuf
[256],edit_actionbuf
[40],
615 palette_buf
[3][4],screenwidth_buf
[6],screenheight_buf
[6],screendepth_buf
[4],
616 formatlen_buf
[5][8],fontsize_buf
[12],edit_typeidbuf
[8];
618 extern struct StringInfo namesinfo
,funcsinfo
;
622 glass_data
[2][18],uparrow_data
[6],downarrow_data
[6],
623 pageflip_data1
[5],pageflip_data2
[3];
626 __chip glass_data
[2][36],
627 __chip uparrow_data
[12],
628 __chip downarrow_data
[12],
629 __chip pageflip_data1
[10],
630 __chip pageflip_data2
[6];
633 extern struct IntuiMessage
*getintuimsg();
635 extern struct newdopusfunction
*selgad
;
636 extern struct Gadget
*seligad
;
639 struct ScreenMode
*next
;
648 #define MODE_WORKBENCHUSE 1
649 #define MODE_WORKBENCHCLONE 2
650 #define MODE_PUBLICSCREENUSE 3
651 #define MODE_PUBLICSCREENCLONE 4
653 extern char **screenmodelist
;
654 extern struct ScreenMode
*firstmode
,*screenmode
;
655 extern struct ScreenMode
*showdisplaydesc(),*getscreenmode();
657 #define SCRFLAGS_DEFWIDTH 1
658 #define SCRFLAGS_DEFHEIGHT 2
659 #define SCRFLAGS_HALFHEIGHT 4
661 extern struct MenuItem
662 projectitems
[],edititems
[],gadrowsitems
[],classitems
[],neatstuffitem
;
663 extern struct Menu projectmenu
,editmenu
,gadrowsmenu
,classmenu
,neatstuffmenu
;
665 extern int changed
,curoperation
,clipcount
;
670 struct dopusfunction func
;
673 extern struct Clip
*firstclip
;
675 extern UWORD defpalettes
[11][4],def_dopus_palette
[16];
676 extern struct DOpusListView palettelist
,listformatlists
[2];
677 extern int rowtrans
[5];
679 extern struct Library
*DiskfontBase
;
680 extern struct Library
*WorkbenchBase
;
681 extern struct Library
*IconBase
;
682 extern struct TextFont
*tfont
;
684 *fontdatabuf
,**fontlist
,*(**fontsizelist
),
685 **noproplist
,*(**nopropsizelist
),
686 **only8list
,*only8sizelist
[];
688 extern int gadflagvals
[];
690 extern struct fileclass
*firstclass
;
691 extern int classopvals
[];
692 extern char classname
[256];
693 extern struct DOpusRemember
*helpkey
;
694 extern char *helpbuffer
;
696 extern char currenthelpname
[256];
698 extern char **fileclasslist
;
699 extern char *fileclasstype
[];
700 extern char maxlength
[5];
702 extern struct StringExtend stringex
;
704 extern struct DiskObject dropboxobj
;
705 extern struct DiskObject
*dropboxicon
;
706 extern void *appobject
;
707 extern struct AppMessage
*appmsg
;
709 #define MY_APPOBJECT 1
711 extern unsigned char *fileview_buf
;
712 extern int fileview_lines
,fileview_size
,fileview_topline
,fileview_type
,fileview_oldtop
;
713 extern int fileview_offset
,fileview_position
;
714 extern char *fileview_types
[];
716 extern char *icontypes
[],*palettenames
[14],*fontplacenames
[FONT_COUNT
+1];
718 extern struct IntuiText
719 newtext
,opentext
,savetext
,saveastext
,cuttext
,copytext
,
720 pastetext
,erasetext
,newclasstext
,editclasstext
,deleteclasstext
,
721 clearclasstext
,duplicateclasstext
,clearcliptext
,
722 gadrowstext
[5],paintmodetext
;
726 extern char *ftype_funcs
[];
728 extern struct StringData stringdata
;
730 extern short func_list_items
[];
732 extern struct Border
*gadget_dog_sel_border
,*gadget_dog_unsel_border
;
733 extern struct Border
*gadget_sel_border
,*gadget_unsel_border
;
735 extern int x_off
,y_off
,x_bot
,y_bot
;
737 extern int paint_state
,paint_fg
,paint_bg
;
739 extern int screen_depth
;
742 editfuncgadgets_xy
[15][2],
743 editdrivegadgets_xy
[4][2],
744 menuslidergads_xy
[3][2],
745 palettegads_xy
[6][2],
747 screenmodegads_xy
[7][2],
748 formatgads_xy
[11 /* HUX: was 10 */][2],
752 arrowgadgets_xy
[8][2],
753 fontsizegadget_xy
[2],
754 editclassgadgets_xy
[14][2],
755 screen_sliders_gadgets_xy
[2][2];
757 #define FTFUNC_AUTOFUNC1 0
758 #define FTFUNC_AUTOFUNC2 1
759 #define FTFUNC_DOUBLECLICK 2
760 #define FTFUNC_CLICKMCLICK 3
761 #define FTFUNC_ANSIREAD 4
762 #define FTFUNC_AUTOFUNC3 5
763 #define FTFUNC_HEXREAD 6
764 #define FTFUNC_LOOPPLAY 7
765 #define FTFUNC_PLAY 8
766 #define FTFUNC_AUTOFUNC4 9
767 #define FTFUNC_READ 10
768 #define FTFUNC_SHOW 11
770 #define FREQ_FILETYPE 10
771 #define FREQ_FILECLASS 11
772 #define FREQ_ARGREQ 12
773 #define FREQ_PATHREQ 20
774 #define FREQ_GENERIC 21
784 extern struct ColourTable screen_pens
[16];
786 extern short colour_box_xy
[2][16][4],colour_box_num
;
788 extern struct ScreenMode
*curmode
;
789 extern ULONG palette_backup
[48];
790 extern struct DOpusRemember
*borderkey
;
791 extern short palettegad_xy
[16][4];
794 extern char *left_right_cycle
[3];
796 #include "configstrings.h"
798 #include "functions.h"