shogun/soft.zabstr

72 lines
3.1 KiB
Plaintext

<FLAGS-AND-DEFAULTS (("IN-ZILCH" T)) (("SOFT-KEY-DEFINITIONS" "DEFS" #WORD
*16030754313*))>
<DEFAULTS-DEFINED READ-CHAR READ-LINE MOUSE-INPUT FKEY-MAX-LEN SOFT-WINDOW
SOFT-KEY-DEFINITIONS DIROUT-TABLE>
<BEGIN-SEGMENT 0>
<CONSTANT TCHARS <TABLE (BYTE) 255 0>>
<GLOBAL DEMO-VERSION? <>>
<CONSTANT SLIDE-SHOW-TIMEOUT 150>
<CONSTANT DEMO-TIMEOUT 600>
<DEFINE-ROUTINE SLIDE-SHOW-HANDLER>
<DEFINE-ROUTINE READ-DEMO>
<DEFINE-ROUTINE INPUT-DEMO>
<DEFAULT-DEFINITION READ-CHAR <DEFMAC READ-CHAR () '<COND (,DEMO-VERSION? <
INPUT-DEMO 1>) (T <INPUT 1>)>>>
<DEFAULT-DEFINITION READ-LINE <DEFMAC READ-LINE () '<COND (,DEMO-VERSION? <
READ-DEMO ,P-INBUF>) (T <READ ,P-INBUF #ZLOCAL!-IZILCH FALSE-VALUE>)>>>
<DEFINE-ROUTINE READ-INPUT>
<DEFINE-ROUTINE CONVERT-KEYS>
<GLOBAL MOUSE-LOC-X <>>
<GLOBAL MOUSE-LOC-Y <>>
<DEFAULT-DEFINITION MOUSE-INPUT <ROUTINE MOUSE-INPUT>>
<LOWCORE MSLOCX %<> T>
<LOWCORE MSLOCY %<> T>
<DEFINE-ROUTINE ADD-TO-INPUT>
<DEFINE-ROUTINE SCRIPT-INBUF>
<DEFINE-ROUTINE YES?>
<DEFAULT-DEFINITION DIROUT-TABLE <CONSTANT DIROUT-TABLE <ITABLE 80 <BYTE 0>>>>
<DEFINE-ROUTINE PRINT-CENTER-TABLE>
<GLOBAL SPACE-WIDTH 0>
<CONSTANT SPACE-TABLE <LTABLE (STRING) " ">>
<DEFINE-ROUTINE XERASE>
<DEFINE-ROUTINE INVERSE-COLOR>
<DEFINE-ROUTINE NORMAL-COLOR>
<DEFINE-ROUTINE TYPE-ANY-KEY>
<END-SEGMENT>
<BEGIN-SEGMENT SOFT-KEYS>
<DEFINE SOFT-KEYS ("ARGS" TUP "AUX" (CNT 0) (DL (0)) L) <SET L <MAPF ,LIST <
FUNCTION ("AUX" VAL STR STRL) <COND (<EMPTY? .TUP> <MAPSTOP>)> <SET VAL <NTH .
TUP 1>> <SET STR <NTH .TUP 2>> <SET TUP <REST .TUP 2>> <COND (<TYPE? .STR
STRING> <SET STRL <LENGTH .STR>> <SET DL (.VAL .STRL .STR !.DL)> <COND (<L? .
STRL ,FKEY-MAX-LEN> <SET STR <STRING .STR <ISTRING <- ,FKEY-MAX-LEN .STRL> !\ >
>>)> <SET CNT <+ .CNT 1>> <MAPRET .VAL <TABLE (STRING) ,FKEY-MAX-LEN .STRL .STR
>>) (ELSE <MAPRET .VAL <EVAL .STR>>)>>>> <CONSTANT FKEY-TBL <NTH .L 2>> <
CONSTANT FKEYS-STRTABLE-LEN <* .CNT <+ ,FKEY-MAX-LEN 2>>> <CONSTANT
DEFAULT-FKEYS <TABLE (STRING) !.DL>> <CONSTANT FKEYS <LTABLE !.L>>>
<CONSTANT FNAMES <LTABLE ,UP-ARROW " UP" ,DOWN-ARROW " DN" ,LEFT-ARROW " LF" ,
RIGHT-ARROW " RT" ,F1 " F1" ,F2 " F2" ,F3 " F3" ,F4 " F4" ,F5 " F5" ,F6 " F6" ,
F7 " F7" ,F8 " F8" ,F9 " F9" ,F10 "F10">>
<SYNTAX DEFINE = V-DEFINE>
<GLOBAL DONE-DEFINE? <>>
<GLOBAL MONO-X 0>
<DEFINE-ROUTINE V-DEFINE>
<DEFINE-ROUTINE IN-WINDOW?>
<LOWCORE MSLOCY %<> T>
<LOWCORE MSLOCX %<> T>
<DEFINE-ROUTINE MAX-SOFT-CMD>
<DEFINE-ROUTINE DISPLAY-SOFTS>
<DEFINE-ROUTINE DISPLAY-SOFT>
<DEFINE-ROUTINE SOFT-RESET-DEFAULTS>
<CONSTANT DEFS-NAME <LTABLE (PURE STRING) "DEFS">>
<DEFINE-ROUTINE SOFT-SAVE-DEFS>
<DEFINE-ROUTINE SOFT-RESTORE-DEFS>
<DEFINE-ROUTINE SOFT-EXIT>
<DEFAULT-DEFINITION FKEY-MAX-LEN <CONSTANT FKEY-MAX-LEN 30>>
<DEFAULT-DEFINITION SOFT-WINDOW <CONSTANT SOFT-WINDOW 2>>
<DEFAULT-DEFINITION SOFT-KEY-DEFINITIONS <SOFT-KEYS ,UP-ARROW "" ,DOWN-ARROW ""
,LEFT-ARROW "" ,RIGHT-ARROW "" ,F1 "" ,F2 "" ,F3 "" ,F4 "" ,F5 "" ,F6 "" ,F7 ""
,F8 "" ,F9 "" ,F10 "" -1 0 -1 <TABLE "Save Definition File" SOFT-SAVE-DEFS> -1
<TABLE "Restore Definition File" SOFT-RESTORE-DEFS> -1 <TABLE "Reset Defaults"
SOFT-RESET-DEFAULTS> -1 <TABLE "Exit" SOFT-EXIT>>>
<END-SEGMENT>