/* $VER: HexenPortal.rexx 0.4 (1999-02-22) */ options results call Tags SELECT WHEN arg(1)="START" then call Start WHEN arg(1)="LOAD_1" then call Config("Load","1_") WHEN arg(1)="SAVE_1" then call Config("Save","1_") WHEN arg(1)="LOAD_2" then call Config("Load","2_") WHEN arg(1)="SAVE_2" then call Config("Save","2_") WHEN arg(1)="LOAD_3" then call Config("Load","3_") WHEN arg(1)="SAVE_3" then call Config("Save","3_") WHEN arg(1)="LOADSETTINGS" then call LoadSettings WHEN arg(1)="SAVESETTINGS" then call SaveSettings OTHERWISE call Init end exit Init: address HexenPortal window ID DOOM TITLE '"HexenPortal v0.4"' COMMAND '"quit"' PORT HexenPortal ATTRS MUIA_Window_ScreenTitle '"HexenPortal 0.4 ©1999 Lorens Johansson Freely Distributable Emailware"' menu LABEL "HexenPortal" item COMMAND '"method 'MUIM_Application_AboutMUI' 0"' PORT HexenPortal ATTRS MUIA_Menuitem_Shortcut 'A' LABEL "About MUI" item ATTRS MUIA_Menuitem_Title '-1' item COMMAND '"quit"' PORT HexenPortal ATTRS MUIA_Menuitem_Shortcut 'Q' LABEL "Quit" endmenu menu LABEL "Settings" item COMMAND '"method 'MUIM_Application_OpenConfigWindow'"' PORT HexenPortal ATTRS MUIA_Menuitem_Shortcut 'M' LABEL "MUI Settings..." item ATTRS MUIA_Menuitem_Title '-1' item COMMAND '"HexenPortal.rexx SAVESETTINGS"' ATTRS MUIA_Menuitem_Shortcut 'S' LABEL "Save Settings" endmenu text help '"HexenPortal v0.4 by\nLorens Johansson (http://members.xoom.com/snorslex)\nIf you use this program, you are required to\nEmail the author (SnorsleX@SoftHome.net). Otherwise,\nhow is he supposed to know to keep supporting\nHexenPortal ?!?\n\033rLorens Johansson"' label "\033c\033bHexenPortal v0.4\033n\n\033cLorens Johansson\n\033cFreely Distributable Emailware" group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Hexen (68k),WarpHexen (PPC),VAxen (PPC),Information" group group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings" group label "\033cThis is made for version: \033b0.37" group frame ATTRS MUIA_Group_Columns 3 label "Parameters" space HORIZ group group ATTRS MUIA_Group_Columns 8 label "-directgfx" check ID 1_DIR ATTRS MUIA_CycleChain 1 HELP '"Make use of direct accessing the videomem\non a CyberGraphX/Picasso96 screen.\nIf not enabled, WritePixel#?() will be used."' label "-fpu" check ID 1_FPU ATTRS MUIA_CycleChain 1 HELP '"Enable FPU routines.\nYou should use that switch on a 68060 with FPU."' label "-mmu" check ID 1_MMU ATTRS MUIA_CycleChain 1 HELP '"Enable MMU hack.\nNeeds a 040/060 with working MMU"' label "-nodoublebuffer" check ID 1_NDO ATTRS MUIA_CycleChain 1 HELP '"Disables doublebuffering."' label "-nojoy" check ID 1_NJO ATTRS MUIA_CycleChain 1 HELP '"Disables joystick."' label "-nomouse" check ID 1_NMO ATTRS MUIA_CycleChain 1 HELP '"Disables mouse."' label "-nomusic" check ID 1_NMU ATTRS MUIA_CycleChain 1 HELP '"Disables music."' label "-nosfx" check ID 1_NSF ATTRS MUIA_CycleChain 1 HELP '"Disables only sound effects."' label "-nosound" check ID 1_NSO ATTRS MUIA_CycleChain 1 HELP '"Disables all sound."' endgroup group ATTRS MUIA_Group_Columns 6 label "-amfx" check ID 1_CAM ATTRS MUIA_CycleChain 1 HELP '"AHI audiomode to use for SFX. A requester will pop up,\nif no mode is given. If this option is omitted,\naudio.device will be used.\nSee below how to change the number of soundchannels."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal string ID 1_SAM ATTRS '0x80423661' 1; end; else do; address HexenPortal string ID 1_SAM ATTRS '0x80423661' 0; end""" string ID 1_SAM ATTRS MUIA_CycleChain 1 label "-file" check ID 1_CFI ATTRS MUIA_CycleChain 1 HELP '"Additional WAD file(s)."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal popasl ID 1_SFI ATTRS '0x80423661' 1; end; else do; address HexenPortal popasl ID 1_SFI ATTRS '0x80423661' 0; end""" popasl ID 1_SFI ATTRS MUIA_CycleChain 1 label "-playdemo" check ID 1_CPL ATTRS MUIA_CycleChain 1 HELP '"Plays the given demo and exits afterwards."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal string ID 1_SPL ATTRS '0x80423661' 1; end; else do; address HexenPortal string ID 1_SPL ATTRS '0x80423661' 0; end""" string ID 1_SPL ATTRS MUIA_CycleChain 1 label "-skill" check ID 1_CSK ATTRS MUIA_CycleChain 1 HELP '"Select a skill and skip loading demos."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal string ID 1_SSK ATTRS '0x80423661' 1; end; else do; address HexenPortal string ID 1_SSK ATTRS '0x80423661' 0; end""" string ID 1_SSK ATTRS MUIA_CycleChain 1 label "-smgame" check ID 1_CSM ATTRS MUIA_CycleChain 1 HELP '"Screenmode to use for the game."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal string ID 1_SSM ATTRS '0x80423661' 1; end; else do; address HexenPortal string ID 1_SSM ATTRS '0x80423661' 0; end""" string ID 1_SSM ATTRS MUIA_CycleChain 1 label "-warp" check ID 1_CWA ATTRS MUIA_CycleChain 1 HELP '"Warp to the specified map without loading demos."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal popslider ID 1_SW1 ATTRS '0x80423661' 1; address HexenPortal popslider ID 1_SW2 ATTRS '0x80423661' 1; end; else do; address HexenPortal popslider ID 1_SW1 ATTRS '0x80423661' 0; address HexenPortal popslider ID 1_SW2 ATTRS '0x80423661' 0; end""" group ATTRS MUIA_Group_Columns 4 label "Episode" popslider ID 1_SW1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 1 MUIA_Slider_Max 3 label "Mission" popslider ID 1_SW2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 1 MUIA_Slider_Max 9 endgroup endgroup group ATTRS MUIA_Group_Columns 2 label "Additional:" string ID 1_ADD endgroup endgroup space HORIZ endgroup space group ATTRS MUIA_Group_Columns 2 label "Hexen Path:" popasl ID 1_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the Hexen executable!"' endgroup endgroup group group frame ATTRS MUIA_Group_Columns 2 label "Hexen.cfg" button ID 1_FGL ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx LOAD_1""" label "Load Hexen.cfg" button ID 1_FGS ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx SAVE_1""" label "Save Hexen.cfg" endgroup group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,Mouse/Joy,ChatMacros" group scroll ATTRS MUIA_Group_Columns 2 label "Mouse Sensitivity:" slider ID 1_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9 label "Sfx Volume:" slider ID 1_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15 label "Music Volume:" slider ID 1_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15 label "Gamma Correct:" slider ID 1_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4 label "Sound Channels:" slider ID 1_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 16 label "Screen Blocks:" slider ID 1_6 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 1 MUIA_Slider_Max 6 label "Savedir:" string ID 1_7 ATTRS MUIA_CycleChain 1 label "Messages On:" group ATTRS MUIA_Group_Columns 2 check ID 1_8 ATTRS MUIA_CycleChain 1 space HORIZ endgroup endgroup group scroll ATTRS MUIA_Group_Columns 2 label "Key Right:" poplist ID 1_20 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Left:" poplist ID 1_21 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Up:" poplist ID 1_22 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Down:" poplist ID 1_23 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Strafe Left:" poplist ID 1_24 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Strafe Right:" poplist ID 1_25 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Jump:" poplist ID 1_26 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Fly Up:" poplist ID 1_27 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Fly Down:" poplist ID 1_28 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Fly Center:" poplist ID 1_29 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Look Up:" poplist ID 1_30 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Look Down:" poplist ID 1_31 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Look Center:" poplist ID 1_32 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Inv Left:" poplist ID 1_33 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Inv Right:" poplist ID 1_34 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Use Artifact:" poplist ID 1_35 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Fire:" poplist ID 1_36 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Use:" poplist ID 1_37 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Strafe:" poplist ID 1_38 ATTRS MUIA_CycleChain 1 labels keys_Hexen label "Key Speed:" poplist ID 1_39 ATTRS MUIA_CycleChain 1 labels keys_Hexen endgroup group scroll ATTRS MUIA_Group_Columns 2 label "Use Mouse:" check ID 1_60 label "Mouse Fire:" cycle ID 1_61 ATTRS MUIA_CycleChain 1 labels mousenr label "Mouse Strafe:" cycle ID 1_62 ATTRS MUIA_CycleChain 1 labels mousenr label "Mouse Forward:" cycle ID 1_63 ATTRS MUIA_CycleChain 1 labels mousenr label "Mouse Jump:" cycle ID 1_64 ATTRS MUIA_CycleChain 1 labels mousenr label "Use Joystick:" check ID 1_70 label "Joy Fire:" cycle ID 1_71 ATTRS MUIA_CycleChain 1 labels joynr_Hexen label "Joy Strafe:" cycle ID 1_72 ATTRS MUIA_CycleChain 1 labels joynr_Hexen label "Joy Use:" cycle ID 1_73 ATTRS MUIA_CycleChain 1 labels joynr_Hexen label "Joy Speed:" cycle ID 1_74 ATTRS MUIA_CycleChain 1 labels joynr_Hexen label "Joy Jump:" cycle ID 1_75 ATTRS MUIA_CycleChain 1 labels joynr_Hexen endgroup group scroll ATTRS MUIA_Group_Columns 2 label "ChatMacro0:" string ID 1_80 ATTRS MUIA_CycleChain 1 label "ChatMacro1:" string ID 1_81 ATTRS MUIA_CycleChain 1 label "ChatMacro2:" string ID 1_82 ATTRS MUIA_CycleChain 1 label "ChatMacro3:" string ID 1_83 ATTRS MUIA_CycleChain 1 label "ChatMacro4:" string ID 1_84 ATTRS MUIA_CycleChain 1 label "ChatMacro5:" string ID 1_85 ATTRS MUIA_CycleChain 1 label "ChatMacro6:" string ID 1_86 ATTRS MUIA_CycleChain 1 label "ChatMacro7:" string ID 1_87 ATTRS MUIA_CycleChain 1 label "ChatMacro8:" string ID 1_88 ATTRS MUIA_CycleChain 1 label "ChatMacro9:" string ID 1_89 ATTRS MUIA_CycleChain 1 endgroup endgroup endgroup endgroup endgroup group group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings" group label "\033cThis is made for version: \033b1.2" group frame label "Parameters" group ATTRS MUIA_Group_Columns 3 label "-file" check ID 2_CFI ATTRS MUIA_CycleChain 1 HELP '"Additional WAD file."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal popasl ID 2_SFI ATTRS '0x80423661' 1; end; else do; address HexenPortal popasl ID 2_SFI ATTRS '0x80423661' 0; end""" popasl ID 2_SFI ATTRS MUIA_CycleChain 1 endgroup group ATTRS MUIA_Group_Columns 2 label "Additional:" string ID 2_ADD endgroup endgroup space group ATTRS MUIA_Group_Columns 2 label "WarpHexen Path:" popasl ID 2_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the Hexen executable!"' endgroup endgroup group group frame ATTRS MUIA_Group_Columns 2 label "Hexen.cfg" button ID 2_FGL ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx LOAD_2""" label "Load Hexen.cfg" button ID 2_FGS ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx SAVE_2""" label "Save Hexen.cfg" endgroup group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,ChatMacros" group scroll ATTRS MUIA_Group_Columns 2 label "Mouse Sensitivity:" slider ID 2_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9 label "Sfx Volume:" slider ID 2_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15 label "Music Volume:" slider ID 2_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15 label "Gamma Correct:" slider ID 2_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4 label "Sound Channels:" slider ID 2_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 16 label "Screen Blocks:" slider ID 2_6 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11 endgroup group scroll ATTRS MUIA_Group_Columns 2 label "Key Right:" poplist ID 2_20 ATTRS MUIA_CycleChain 1 labels keys label "Key Left:" poplist ID 2_21 ATTRS MUIA_CycleChain 1 labels keys label "Key Up:" poplist ID 2_22 ATTRS MUIA_CycleChain 1 labels keys label "Key Down:" poplist ID 2_23 ATTRS MUIA_CycleChain 1 labels keys label "Key Strafe Left:" poplist ID 2_24 ATTRS MUIA_CycleChain 1 labels keys label "Key Strafe Right:" poplist ID 2_25 ATTRS MUIA_CycleChain 1 labels keys label "Key Jump:" poplist ID 2_26 ATTRS MUIA_CycleChain 1 labels keys label "Key Fly Up:" poplist ID 2_27 ATTRS MUIA_CycleChain 1 labels keys label "Key Fly Down:" poplist ID 2_28 ATTRS MUIA_CycleChain 1 labels keys label "Key Fly Center:" poplist ID 2_29 ATTRS MUIA_CycleChain 1 labels keys label "Key Look Up:" poplist ID 2_30 ATTRS MUIA_CycleChain 1 labels keys label "Key Look Down:" poplist ID 2_31 ATTRS MUIA_CycleChain 1 labels keys label "Key Look Center:" poplist ID 2_32 ATTRS MUIA_CycleChain 1 labels keys label "Key Inv Left:" poplist ID 2_33 ATTRS MUIA_CycleChain 1 labels keys label "Key Inv Right:" poplist ID 2_34 ATTRS MUIA_CycleChain 1 labels keys label "Key Use Artifact:" poplist ID 2_35 ATTRS MUIA_CycleChain 1 labels keys label "Key Fire:" poplist ID 2_36 ATTRS MUIA_CycleChain 1 labels keys label "Key Use:" poplist ID 2_37 ATTRS MUIA_CycleChain 1 labels keys label "Key Strafe:" poplist ID 2_38 ATTRS MUIA_CycleChain 1 labels keys label "Key Speed:" poplist ID 2_39 ATTRS MUIA_CycleChain 1 labels keys endgroup group scroll ATTRS MUIA_Group_Columns 2 label "ChatMacro0:" string ID 2_80 ATTRS MUIA_CycleChain 1 label "ChatMacro1:" string ID 2_81 ATTRS MUIA_CycleChain 1 label "ChatMacro2:" string ID 2_82 ATTRS MUIA_CycleChain 1 label "ChatMacro3:" string ID 2_83 ATTRS MUIA_CycleChain 1 label "ChatMacro4:" string ID 2_84 ATTRS MUIA_CycleChain 1 label "ChatMacro5:" string ID 2_85 ATTRS MUIA_CycleChain 1 label "ChatMacro6:" string ID 2_86 ATTRS MUIA_CycleChain 1 label "ChatMacro7:" string ID 2_87 ATTRS MUIA_CycleChain 1 label "ChatMacro8:" string ID 2_88 ATTRS MUIA_CycleChain 1 label "ChatMacro9:" string ID 2_89 ATTRS MUIA_CycleChain 1 endgroup endgroup endgroup endgroup endgroup group group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings" group label "\033cThis is made for version: \033b0.6" group frame ATTRS MUIA_Group_Columns 3 label "Parameters" space HORIZ group group ATTRS MUIA_Group_Columns 8 label "-asl" check ID 3_ASL ATTRS MUIA_CycleChain 1 HELP '"Use asl requester to select screen mode,\ndefault is PAL|LORES for AGA or 320x200 cgfx mode."' label "-directcgx" check ID 3_DIR ATTRS MUIA_CycleChain 1 HELP '"Use fast copy routines instead of writepixel array."' label "-fps" check ID 3_FPS ATTRS MUIA_CycleChain 1 HELP '"Shows online fps counter."' label "-joy" check ID 3_JOY ATTRS MUIA_CycleChain 1 HELP '"Enables joystick."' label "-mouse" check ID 3_MOU ATTRS MUIA_CycleChain 1 HELP '"Turns mouse on."' label "-music" check ID 3_MUS ATTRS MUIA_CycleChain 1 HELP '"Enables music."' label "-nodoublebuffer" check ID 3_NDO ATTRS MUIA_CycleChain 1 HELP '"Turns off double buffering."' label "-nosfx" check ID 3_NSF ATTRS MUIA_CycleChain 1 HELP '"Disables sound fx effects."' label "-nosound" check ID 3_NSO ATTRS MUIA_CycleChain 1 HELP '"Disables music and sfx (no sound at all)."' label "-window" check ID 3_WIN ATTRS MUIA_CycleChain 1 HELP '"Display results in window on workbench screen.\nWorkbench must have least 15 bit depth.\nDoublebuffering does not work on window.\nWorks also on AGA machines."' endgroup group ATTRS MUIA_Group_Columns 6 label "-file" check ID 3_CFI ATTRS MUIA_CycleChain 1 HELP '"Additional WAD file."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal popasl ID 3_SFI ATTRS '0x80423661' 1; end; else do; address HexenPortal popasl ID 3_SFI ATTRS '0x80423661' 0; end""" popasl ID 3_SFI ATTRS MUIA_CycleChain 1 label "-lbhack" check ID 3_CLB ATTRS MUIA_CycleChain 1 HELP '"Should be used like this:\n-lbhack x, where x is number of frames to\nrender in one combination of LockBitMap and UnlockBitMap.\nThis should make the game faster. By default x is 1\n(every frame bitmap is locked and unlocked).\nTry different values here, I bet something like 15 will be best choice.\nThis is a hack (bitmap should not be locked for a long time)\nso use on your own risk. Number of frames to skip should be >= 1."' PORT INLINE, COMMAND """if %s = 0 then do; address HexenPortal string ID 3_SLB ATTRS '0x80423661' 1; end; else do; address HexenPortal string ID 3_SLB ATTRS '0x80423661' 0; end""" string ID 3_SLB ATTRS MUIA_CycleChain 1 endgroup group ATTRS MUIA_Group_Columns 2 label "Additional:" string ID 3_ADD endgroup endgroup space HORIZ endgroup space group ATTRS MUIA_Group_Columns 2 label "VAxen Path:" popasl ID 3_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the VAxen executable!"' endgroup endgroup group group frame ATTRS MUIA_Group_Columns 2 label "Hexen.cfg" button ID 3_FGL ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx LOAD_3""" label "Load Hexen.cfg" button ID 3_FGS ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx SAVE_3""" label "Save Hexen.cfg" endgroup group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,Mouse/Joy,ChatMacros" group scroll ATTRS MUIA_Group_Columns 2 label "Mouse Sensitivity:" slider ID 3_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9 label "Sfx Volume:" slider ID 3_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15 label "Music Volume:" slider ID 3_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15 label "Gamma Correct:" slider ID 3_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4 label "Sound Channels:" slider ID 3_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 16 label "Screen Blocks:" slider ID 3_6 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11 label "Savedir:" string ID 3_7 ATTRS MUIA_CycleChain 1 label "Messages On:" group ATTRS MUIA_Group_Columns 2 check ID 3_8 ATTRS MUIA_CycleChain 1 space HORIZ endgroup endgroup group scroll ATTRS MUIA_Group_Columns 2 label "Key Right:" poplist ID 3_20 ATTRS MUIA_CycleChain 1 labels keys label "Key Left:" poplist ID 3_21 ATTRS MUIA_CycleChain 1 labels keys label "Key Up:" poplist ID 3_22 ATTRS MUIA_CycleChain 1 labels keys label "Key Down:" poplist ID 3_23 ATTRS MUIA_CycleChain 1 labels keys label "Key Strafe Left:" poplist ID 3_24 ATTRS MUIA_CycleChain 1 labels keys label "Key Strafe Right:" poplist ID 3_25 ATTRS MUIA_CycleChain 1 labels keys label "Key Jump:" poplist ID 3_26 ATTRS MUIA_CycleChain 1 labels keys label "Key Fly Up:" poplist ID 3_27 ATTRS MUIA_CycleChain 1 labels keys label "Key Fly Down:" poplist ID 3_28 ATTRS MUIA_CycleChain 1 labels keys label "Key Fly Center:" poplist ID 3_29 ATTRS MUIA_CycleChain 1 labels keys label "Key Look Up:" poplist ID 3_30 ATTRS MUIA_CycleChain 1 labels keys label "Key Look Down:" poplist ID 3_31 ATTRS MUIA_CycleChain 1 labels keys label "Key Look Center:" poplist ID 3_32 ATTRS MUIA_CycleChain 1 labels keys label "Key Inv Left:" poplist ID 3_33 ATTRS MUIA_CycleChain 1 labels keys label "Key Inv Right:" poplist ID 3_34 ATTRS MUIA_CycleChain 1 labels keys label "Key Use Artifact:" poplist ID 3_35 ATTRS MUIA_CycleChain 1 labels keys label "Key Fire:" poplist ID 3_36 ATTRS MUIA_CycleChain 1 labels keys label "Key Use:" poplist ID 3_37 ATTRS MUIA_CycleChain 1 labels keys label "Key Strafe:" poplist ID 3_38 ATTRS MUIA_CycleChain 1 labels keys label "Key Speed:" poplist ID 3_39 ATTRS MUIA_CycleChain 1 labels keys endgroup group scroll ATTRS MUIA_Group_Columns 2 label "Use Mouse:" check ID 3_60 label "Mouse Fire:" cycle ID 3_61 ATTRS MUIA_CycleChain 1 labels mousenr label "Mouse Strafe:" cycle ID 3_62 ATTRS MUIA_CycleChain 1 labels mousenr label "Mouse Forward:" cycle ID 3_63 ATTRS MUIA_CycleChain 1 labels mousenr label "Use Joystick:" check ID 3_70 label "Joy Fire:" cycle ID 3_71 ATTRS MUIA_CycleChain 1 labels joynr label "Joy Strafe:" cycle ID 3_72 ATTRS MUIA_CycleChain 1 labels joynr label "Joy Use:" cycle ID 3_73 ATTRS MUIA_CycleChain 1 labels joynr label "Joy Speed:" cycle ID 3_74 ATTRS MUIA_CycleChain 1 labels joynr endgroup group scroll ATTRS MUIA_Group_Columns 2 label "ChatMacro0:" string ID 3_80 ATTRS MUIA_CycleChain 1 label "ChatMacro1:" string ID 3_81 ATTRS MUIA_CycleChain 1 label "ChatMacro2:" string ID 3_82 ATTRS MUIA_CycleChain 1 label "ChatMacro3:" string ID 3_83 ATTRS MUIA_CycleChain 1 label "ChatMacro4:" string ID 3_84 ATTRS MUIA_CycleChain 1 label "ChatMacro5:" string ID 3_85 ATTRS MUIA_CycleChain 1 label "ChatMacro6:" string ID 3_86 ATTRS MUIA_CycleChain 1 label "ChatMacro7:" string ID 3_87 ATTRS MUIA_CycleChain 1 label "ChatMacro8:" string ID 3_88 ATTRS MUIA_CycleChain 1 label "ChatMacro9:" string ID 3_89 ATTRS MUIA_CycleChain 1 endgroup endgroup endgroup endgroup endgroup group group REGISTER ATTRS MUIA_CycleChain 1 LABELS "About,Cheats,Credits" group text label "\033c\033bHexenPortal v0.4\033n\n\033cFreely Distributable Emailware\n\n\033cPlease visit my homepage:\nhttp://members.xoom.com/snorslex/\n\nPlease E-Mail me if you like/hate the program!\nSnorsleX@SoftHome.net\n\n\033r©Copyright 1999 Lorens Johansson" endgroup group list ID CHEAT TITLE """\033bCheat,\033bDescription""" ATTRS MUIA_CycleChain 1 MUIA_List_Format """MIW=15 BAR,""" endgroup group view ATTRS MUIA_CycleChain 1 string "\033c\033bCredits goes to:\n\n\033bRobert Karlsson\033n - Beta Testing and for the name HexenPortal.\n\033bChristian Sauer\033n - For helping me with the keynumbers for Hexen!" endgroup endgroup endgroup endgroup group ATTRS MUIA_Group_Columns 2 label "Which Port:" cycle ID WPORT ATTRS MUIA_CycleChain 1 help '"Select which port to play!"' labels "Hexen,WarpHexen,VAxen" endgroup group ATTRS MUIA_Group_Columns 4 label "Buffers:" string ID BUFFS ATTRS MUIA_CycleChain 1 help '"Select how many buffers you want on the drive."' label "Stack Size:" string ID STACK ATTRS MUIA_CycleChain 1 help '"Select how big stack you want to use."' endgroup group ATTRS MUIA_Group_Columns 3 button ID START ATTRS MUIA_CycleChain 1 help '"Starts Hexen."' COMMAND """HexenPortal.rexx START""" label "Run Hexen" space HORIZ button ID QUIT ATTRS MUIA_CycleChain 1 help '"Quits HexenPortal."' COMMAND '"quit"' PORT HexenPortal label "Quit HexenPortal" endgroup endwindow c.0 = 16 c.1 = "\0333VISIT##,Warp to level ##" c.2 = "\0333TICKER,Ticker to count your framerate" c.3 = "\0333SHERLOCK,All puzzle pieces" c.4 = "\0333SHADOWCASTER#,Change class to the # you enter." c.5 = "\0333SATAN,God mode" c.6 = "\0333PUKE##,Runs script (01-99 for the ##)" c.7 = "\0333NRA,All weapons + full mana + full armor" c.8 = "\0333NOISE,Shows sound info on your screen" c.9 = "\0333MAPSCO,Shows you lots of neat places you haven't found yet (only in map mode)" c.10 = "\0333LOCKSMITH,All keys" c.11 = "\0333INIT,Restarts the level you are on" c.12 = "\0333INDIANA,25 of each item" c.13 = "\0333DELIVERANCE,Pig mode ;-)" c.14 = "\0333CLUBMED,Full health" c.15 = "\0333CASPER,No clipping" c.16 = "\0333BUTCHER,Kill all monsters (it tells you how many lives you just ended)" i = 0 do c.0 i = i + 1 list ID CHEAT INSERT STRING c.i end call LoadSettings return Start: address command "cls" say "-) Getting info from GUI. (-" address HexenPortal cycle ID WPORT PRT2 = result if PRT2 = "Hexen" then PRT = "1_" if PRT2 = "WarpHexen" then PRT = "2_" if PRT2 = "VAxen" then PRT = "3_" popasl ID PRT||PAT FULLPATH = result plats = pos(':',FULLPATH) DIR = left(FULLPATH,plats) FULLPATH = delstr(FULLPATH, 1, plats) done = 0 do until done = 1 plats = pos('/',FULLPATH) if plats ~= 0 then do DIR = DIR||left(FULLPATH,plats) FULLPATH = delstr(FULLPATH, 1, plats) end else do FILE = delstr(FULLPATH, 1, plats) done = 1 end end if PRT = "1_" then do check ID 1_DIR if result = 1 then FILE = FILE||" -directgfx" check ID 1_FPU if result = 1 then FILE = FILE||" -fpu" check ID 1_MMU if result = 1 then FILE = FILE||" -mmu" check ID 1_NDO if result = 1 then FILE = FILE||" -nodoublebuffer" check ID 1_NJO if result = 1 then FILE = FILE||" -nojoy" check ID 1_NMO if result = 1 then FILE = FILE||" -nomouse" check ID 1_NMU if result = 1 then FILE = FILE||" -nomusic" check ID 1_NSF if result = 1 then FILE = FILE||" -nosfx" check ID 1_NSO if result = 1 then FILE = FILE||" -nosound" check ID 1_CAM if result = 1 then do string ID 1_SAM FILE = FILE||" -amfx "||result end check ID 1_CFI if result = 1 then do popasl ID 1_SFI FILE = FILE||" -file "||result end check ID 1_CPL if result = 1 then do string ID 1_SPL FILE = FILE||" -playdemo "||result end check ID 1_CSK if result = 1 then do string ID 1_SSK FILE = FILE||" -skill "||result end check ID 1_CSM if result = 1 then do string ID 1_SSM FILE = FILE||" -smgame "||result end check ID 1_CWA if result = 1 then do popslider ID 1_SW1 FILE = FILE||" -warp "||result popslider ID 1_SW2 FILE = FILE||result end string ID 1_ADD FILE = FILE||" "||result end if PRT = "2_" then do check ID 2_CFI if result = 1 then do popasl ID 2_SFI FILE = FILE||" -file "||result end string ID 2_ADD FILE = FILE||" "||result end if PRT = "3_" then do check ID 3_ASL if result = 1 then FILE = FILE||" -asl" check ID 3_DIR if result = 1 then FILE = FILE||" -directcgx" check ID 3_FPS if result = 1 then FILE = FILE||" -fps" check ID 3_JOY if result = 1 then FILE = FILE||" -joy" check ID 3_MOU if result = 1 then FILE = FILE||" -mouse" check ID 3_MUS if result = 1 then FILE = FILE||" -music" check ID 3_NDO if result = 1 then FILE = FILE||" -nodoublebuffer" check ID 3_NSF if result = 1 then FILE = FILE||" -nosfx" check ID 3_NSO if result = 1 then FILE = FILE||" -nosound" check ID 3_WIN if result = 1 then FILE = FILE||" -window" check ID 3_CFI if result = 1 then do popasl ID 3_SFI FILE = FILE||" -file "||result end check ID 3_CLB if result = 1 then do string ID 3_SLB FILE = FILE||" -lbhack "||result end string ID 3_ADD FILE = FILE||" "||result end say "-) Changing Directory. (-" call PRAGMA(D,DIR) say "-) Setting Stack Value (-" Address HexenPortal string ID STACK newstack = result say "-) New Stack is ["||newstack||"] (-" call pragma(S,newstack) say "-) Caculates Buffers (-" parse var DIR drive ":" rest drive = drive || ":" address command "addbuffers "||drive||" >t:buffers" if ~open(buff,'t:buffers',"R") then do say "-» Something went wrong when adding buffers to "||drive||" «-" exit end buffers = readln(buff) buffers = word(buffers,3) call close(buff) address command "delete t:buffers <>NIL: quiet" say "-) There is "||buffers||" buffers on "||drive||" (-" Address HexenPortal string ID BUFFS newbuff = result buffchange = newbuff - buffers if buffchange > 0 then do say "-) Needs to add "||buffchange||" buffers to "||drive||" (-" say "-) Adding buffers. (-" end if buffchange < 0 then do say "-) Needs to remove "||abs(buffchange)||" buffers from "||drive||" (-" say "-) Removing buffers. (-" end address command "addbuffers "||drive buffchange||" >NIL:" say "-) The commandline is ["||FILE||"] (-" say "-) Launching "||PRT2||". (-" say "" address command FILE return LoadSettings: if open(set,'HexenPortal.prefs',"R") then do address HexenPortal call readln(set) check ID 1_DIR ATTRS MUIA_Selected result call readln(set) check ID 1_FPU ATTRS MUIA_Selected result call readln(set) check ID 1_MMU ATTRS MUIA_Selected result call readln(set) check ID 1_NDO ATTRS MUIA_Selected result call readln(set) check ID 1_NJO ATTRS MUIA_Selected result call readln(set) check ID 1_NMO ATTRS MUIA_Selected result call readln(set) check ID 1_NMU ATTRS MUIA_Selected result call readln(set) check ID 1_NSF ATTRS MUIA_Selected result call readln(set) check ID 1_NSO ATTRS MUIA_Selected result call readln(set) chk = result if chk = 0 then string ID 1_SAM ATTRS MUIA_Disabled 1 check ID 1_CAM ATTRS MUIA_Selected chk call readln(set) string ID 1_SAM content result call readln(set) chk = result if chk = 0 then popasl ID 1_SFI ATTRS MUIA_Disabled 1 check ID 1_CFI ATTRS MUIA_Selected chk call readln(set) popasl ID 1_SFI content result call readln(set) chk = result if chk = 0 then string ID 1_SPL ATTRS MUIA_Disabled 1 check ID 1_CPL ATTRS MUIA_Selected chk call readln(set) string ID 1_SPL content result call readln(set) chk = result if chk = 0 then string ID 1_SSK ATTRS MUIA_Disabled 1 check ID 1_CSK ATTRS MUIA_Selected chk call readln(set) string ID 1_SSK content result call readln(set) chk = result if chk = 0 then string ID 1_SSM ATTRS MUIA_Disabled 1 check ID 1_CSM ATTRS MUIA_Selected chk call readln(set) string ID 1_SSM content result call readln(set) chk = result if chk = 0 then do;popslider ID 1_SW1 ATTRS MUIA_Disabled 1;popslider ID 1_SW2 ATTRS MUIA_Disabled 1;end check ID 1_CWA ATTRS MUIA_Selected chk call readln(set) popslider ID 1_SW1 ATTRS MUIA_Slider_Level result call readln(set) popslider ID 1_SW2 ATTRS MUIA_Slider_Level result call readln(set) string ID 1_ADD content result call readln(set) chk = result if chk = 0 then popasl ID 2_SFI ATTRS MUIA_Disabled 1 check ID 2_CFI ATTRS MUIA_Selected chk call readln(set) popasl ID 2_SFI content result call readln(set) string ID 2_ADD content result call readln(set) check ID 3_ASL ATTRS MUIA_Selected result call readln(set) check ID 3_DIR ATTRS MUIA_Selected result call readln(set) check ID 3_FPS ATTRS MUIA_Selected result call readln(set) check ID 3_JOY ATTRS MUIA_Selected result call readln(set) check ID 3_MOU ATTRS MUIA_Selected result call readln(set) check ID 3_MUS ATTRS MUIA_Selected result call readln(set) check ID 3_NDO ATTRS MUIA_Selected result call readln(set) check ID 3_NSF ATTRS MUIA_Selected result call readln(set) check ID 3_NSO ATTRS MUIA_Selected result call readln(set) check ID 3_WIN ATTRS MUIA_Selected result call readln(set) chk = result if chk = 0 then popasl ID 3_SFI ATTRS MUIA_Disabled 1 check ID 3_CFI ATTRS MUIA_Selected chk call readln(set) popasl ID 3_SFI content result call readln(set) chk = result if chk = 0 then string ID 3_SLB ATTRS MUIA_Disabled 1 check ID 3_CLB ATTRS MUIA_Selected chk call readln(set) string ID 3_SLB content result call readln(set) string ID 3_ADD content result call readln(set) cycle ID WPORT ATTRS MUIA_Cycle_Active result call readln(set) string ID BUFFS content result call readln(set) string ID STACK content result call readln(set) popasl ID 1_PAT content result call readln(set) popasl ID 2_PAT content result call readln(set) popasl ID 3_PAT content result call close(set) end else do address HexenPortal check ID 1_DIR ATTRS MUIA_Selected 1 check ID 1_FPU ATTRS MUIA_Selected 1 check ID 1_MMU ATTRS MUIA_Selected 1 string ID 1_SAM MUIA_Disabled 1 popasl ID 1_SFI MUIA_Disabled 1 string ID 1_SPL MUIA_Disabled 1 string ID 1_SSK MUIA_Disabled 1 string ID 1_SSM MUIA_Disabled 1 popslider ID 1_SW1 MUIA_Disabled 1 popslider ID 1_SW2 MUIA_Disabled 1 popasl ID 2_SFI MUIA_Disabled 1 popasl ID 3_SFI MUIA_Disabled 1 string ID 3_SLB MUIA_Disabled 1 string ID BUFFS content 1000 string ID STACK content 200000 call Req("\033c\033bCould not find HexenPortal.prefs!\033n\n\nJust remember that you can save\nthe prefs in the menu!") end return SaveSettings: call open(set,'HexenPortal.prefs',"W") address HexenPortal check ID 1_DIR call writeln(set,result) check ID 1_FPU call writeln(set,result) check ID 1_MMU call writeln(set,result) check ID 1_NDO call writeln(set,result) check ID 1_NJO call writeln(set,result) check ID 1_NMO call writeln(set,result) check ID 1_NMU call writeln(set,result) check ID 1_NSF call writeln(set,result) check ID 1_NSO call writeln(set,result) check ID 1_CAM call writeln(set,result) string ID 1_SAM call writeln(set,result) check ID 1_CFI call writeln(set,result) popasl ID 1_SFI call writeln(set,result) check ID 1_CPL call writeln(set,result) string ID 1_SPL call writeln(set,result) check ID 1_CSK call writeln(set,result) string ID 1_SSK call writeln(set,result) check ID 1_CSM call writeln(set,result) string ID 1_SSM call writeln(set,result) check ID 1_CWA call writeln(set,result) popslider ID 1_SW1 call writeln(set,result) popslider ID 1_SW2 call writeln(set,result) string ID 1_ADD call writeln(set,result) check ID 2_CFI call writeln(set,result) popasl ID 2_SFI call writeln(set,result) string ID 2_ADD call writeln(set,result) check ID 3_ASL call writeln(set,result) check ID 3_DIR call writeln(set,result) check ID 3_FPS call writeln(set,result) check ID 3_JOY call writeln(set,result) check ID 3_MOU call writeln(set,result) check ID 3_MUS call writeln(set,result) check ID 3_NDO call writeln(set,result) check ID 3_NSF call writeln(set,result) check ID 3_NSO call writeln(set,result) check ID 3_WIN call writeln(set,result) check ID 3_CFI call writeln(set,result) popasl ID 3_SFI call writeln(set,result) check ID 3_CLB call writeln(set,result) string ID 3_SLB call writeln(set,result) string ID 3_ADD call writeln(set,result) cycle ID WPORT WhichP = result if WhichP = "Hexen" then call writeln(set,"0") if WhichP = "WarpHexen" then call writeln(set,"1") if WhichP = "VAxen" then call writeln(set,"2") string ID BUFFS call writeln(set,result) string ID STACK call writeln(set,result) popasl ID 1_PAT call writeln(set,result) popasl ID 2_PAT call writeln(set,result) popasl ID 3_PAT call writeln(set,result) call close(set) return Tags: MUIA_Application_Sleep = 0x80425711 MUIA_AppMessage = 0x80421955 MUIA_Cycle_Active = 0x80421788 MUIA_CycleChain = 0x80421ce7 MUIA_Disabled = 0x80423661 MUIA_Group_Columns = 0x8042f416 MUIA_Group_Horiz = 0x8042536b MUIA_Group_Rows = 0x8042b68f MUIA_List_Format = 0x80423c0a MUIA_Menuitem_Shortcut = 0x80422030 MUIA_Menuitem_Title = 0x804218be MUIA_Radio_Active = 0x80429b41 MUIA_Selected = 0x8042654b MUIA_ShowMe = 0x80429ba8 MUIA_Slider_Level = 0x8042ae3a MUIA_Slider_Max = 0x8042d78a MUIA_Slider_Min = 0x8042e404 MUIA_String_Contents = 0x80428ffd MUIA_Weight = 0x80421d1f MUIA_Window_DepthGadget = 0x80421923 MUIA_Window_NoMenus = 0x80429df5 MUIA_Window_ScreenTitle = 0x804234b0 MUIA_Window_SizeGadget = 0x8042e33d MUIM_Application_AboutMUI = 0x8042d21d MUIM_Application_OpenConfigWindow = 0x804299ba TRUE = 1 FALSE = 0 R='0A'X keys = "9-Tab,13-Return/Enter,27-Escape,29-*UNKNOWN*,31-*UNKNOWN*,32-Space,39-',42-Num_*,43-+/Num_+,44-Comma,45-Minus/Num_Minus,46-./Num_.,47-Num_/,48-0,49-1,50-2,51-3,52-4,53-5,54-6,55-7,56-8,57-9,60-<,61-*UNKNOWN*,63-*UNKNOWN*,64-*UNKNOWN*,68-*UNKNOWN*,71-Num_6,73-Num_9,79-Num_4,81-Num_7,82-Num_3,83-Num_1,90-*UNKNOWN*,91-*UNKNOWN*,92-BackSpace,93-*UNKNOWN*,96-~,97-A,98-B,99-C,100-D,101-E,102-F,103-G,104-H,105-I,106-J,107-K,108-L,109-M,110-N,111-O,112-P,113-Q,114-R,115-S,116-T,117-U,118-V,119-W,120-X,121-Y,122-Z,157-Ctrl/Right_Amiga,172-Arrow_Left/Num_4,173-Arrow_Up/Num_8,174-Arrow_Right/Num_6,175-Arrow_Down/Num_2,182-Right_Shift,184-Alt,187-F1,188-F2,189-F3,190-F4,191-F5,192-F6,193-F7,194-F8,195-F9,196-F10,199-Num_7,201-Num_9,207-Num_1,209-Num_3,210-Num_0,211-Num_./Del,216-Help,254-Left_Shift,255-Num_/," keys_Hexen = "0-(Tilde),15-Num_0,16-Q,17-W,18-E,19-R,20-T,21-Y,22-U,23-I,24-O,25-P,26-[,27-],29-Num_1,30-Num_2,31-Num_3,32-A,33-S,34-D,35-F,36-G,37-H,38-J,39-K,40-L,41-*UNKNOWN*,42-*UNKNOWN*,43-*UNKNOWN*,45-Num_4,46-Num_5,47-Num_6,48-<,49-Z,50-X,51-C,52-V,53-B,54-N,55-M,56-(Comma),57-.,58-(Minus),60-Num_.,61-Num_7,62-Num_8,63-Num_9,64-Space,65-Backspace,66-Tab,67-Num_Enter,68-Return,69-Escape,70-Del,74-Num_(Minus),76-Arrow_Up,77-Arrow_Down,78-Arrow_Right,79-Arrow_Left,80-F1,81-F2,82-F3,83-F4,84-F5,85-F6,86-F7,87-F8,88-F9,89-F10,90-Num_[,91-Num_],92-Num_/,93-Num_*,94-Num_+,95-Help,96-Left_Shift,97-Right_Shift,98-Caps_Lock,99-Ctrl,100-Left_Alt,101-Right_Alt,102-Left_Amiga,103-Right_Amiga," mousenr = "OFF,0-Left,1-Right,2-Middle" joynr = "OFF,0-*UNKNOWN*,1-*UNKNOWN*,2-*UNKNOWN*,3-*UNKNOWN*" joynr_Hexen = "OFF,0-Blue,1-Red,2-Yellow,3-Green" Return 0 Config: WINID = arg(2) keys2 = keys if WINID = "1_" then do keys2 = keys_Hexen end address HexenPortal popasl ID WINID||PAT PATH = result plats = pos(':',PATH) DIR = left(PATH,plats) PATH = delstr(PATH, 1, plats) done = 0 do until done = 1 plats = pos('/',PATH) if plats ~= 0 then do DIR = DIR||left(PATH,plats) PATH = delstr(PATH, 1, plats) end else done = 1 end if WINID = "3_" then do if ~exists(DIR||"VAxen.cfg") then do call Req("\033c\033bCould not find VAxen.cfg!\033n\n\nEither it does not exists or the\npath to Hexen is wrong!") return end end else do if ~exists(DIR||"Hexen.cfg") then do call Req("\033c\033bCould not find Hexen.cfg!\033n\n\nEither it does not exists or the\npath to Hexen is wrong!") return end end address HexenPortal button ID WINID||FGL ATTRS MUIA_Disabled 1 button ID WINID||FGS ATTRS MUIA_Disabled 1 if WINID = "3_" then do call open(file,DIR||"VAxen.cfg","R") end else do call open(file,DIR||"Hexen.cfg","R") end i = 1 do until eof(file) line.i = readln(file) i = i + 1 end line.0 = i - 1 lors = left(arg(1),1) call ch("mouse_sensitivity",WINID||1,lors,s) call ch("sfx_volume",WINID||2,lors,s) call ch("music_volume",WINID||3,lors,s) call ch("usegamma",WINID||4,lors,s) call ch("snd_channels",WINID||5,lors,s) call ch("screenblocks",WINID||6,lors,s) if WINID = "1_"|WINID = "3_" then do call ch("savedir",WINID||7,lors) call ch("messageson",WINID||8,lors,K) end call LSKey("key_right",WINID||20) call LSKey("key_left",WINID||21) call LSKey("key_up",WINID||22) call LSKey("key_down",WINID||23) call LSKey("key_strafeleft",WINID||24) call LSKey("key_straferight",WINID||25) call LSKey("key_jump",WINID||26) call LSKey("key_flyup",WINID||27) call LSKey("key_flydown",WINID||28) call LSKey("key_flycenter",WINID||29) call LSKey("key_lookup",WINID||30) call LSKey("key_lookdown",WINID||31) call LSKey("key_lookcenter",WINID||32) call LSKey("key_invleft",WINID||33) call LSKey("key_invright",WINID||34) call LSKey("key_useartifact",WINID||35) call LSKey("key_fire",WINID||36) call LSKey("key_use ",WINID||37) call LSKey("key_strafe ",WINID||38) call LSKey("key_speed",WINID||39) if WINID = "1_"|WINID = "3_" then do call ch("use_mouse",WINID||60,lors,K) call ch("mouseb_fire",WINID||61,lors,"m/j") call ch("mouseb_strafe",WINID||62,lors,"m/j") call ch("mouseb_forward",WINID||63,lors,"m/j") if WINID = "1_" then call ch("mouseb_jump",WINID||64,lors,"m/j") call ch("use_joystick",WINID||70,lors,K) call ch("joyb_fire",WINID||71,lors,"m/j") call ch("joyb_strafe",WINID||72,lors,"m/j") call ch("joyb_use",WINID||73,lors,"m/j") call ch("joyb_speed",WINID||74,lors,"m/j") if WINID = "1_" then call ch("joyb_jump",WINID||75,lors,"m/j") end call ch("chatmacro0",WINID||80,lors) call ch("chatmacro1",WINID||81,lors) call ch("chatmacro2",WINID||82,lors) call ch("chatmacro3",WINID||83,lors) call ch("chatmacro4",WINID||84,lors) call ch("chatmacro5",WINID||85,lors) call ch("chatmacro6",WINID||86,lors) call ch("chatmacro7",WINID||87,lors) call ch("chatmacro8",WINID||88,lors) call ch("chatmacro9",WINID||89,lors) call close(file) if hexport = "VAxen" then do call open(file,DIR||"VAxen.cfg","R") end else do call open(file,DIR||"Hexen.cfg","R") end i = 1 do until i = line.0 call writeln(file,line.i) i = i + 1 end call close(file) address HexenPortal button ID WINID||FGL ATTRS MUIA_Disabled 0 button ID WINID||FGS ATTRS MUIA_Disabled 0 return 0 LSKey: nr1 = arg(1) nr2 = arg(2) if lors = "L" then do call ch(nr1,nr2,lors,"key") sak = result plats = pos(""||sak||"",keys2) if plats ~= 0 then do len = length(keys2) antal = len - plats + 1 keyjox = right(keys2,antal) sak = right(keys2,antal) sak = left(sak,pos(',',sak)-1) end poplist ID stringid content sak end if lors = "S" then do poplist ID nr2 sak = result plats = pos(sak,keys2) len = length(keys2) antal = len - plats + 1 sak = right(keys2,antal) nysak = left(sak,pos('-',sak)-1) call ch(nr1,nr2,lors,"key",nysak) end return ch: searchingfor = arg(1) stringid = arg(2) saveorload = arg(3) ischat = pos("chatmacro",searchingfor) type = arg(4) key = "" i = 1 do until i = line.0 if upper(left(line.i,length(searchingfor))) = upper(searchingfor) then do if ischat then parse var line.i RUBBISH '"' setting '"' if ~ischat then parse var line.i RUBBISH " " setting if ~ischat then setting = Compress(setting," , ") WASATLINE = i if saveorload = "L" then do select when type = "S" then Address HexenPortal slider ID stringid ATTRS MUIA_Slider_Level setting when type = "C" then Address HexenPortal cycle ID stringid ATTRS MUIA_Cycle_Active setting when type = "K" then Address HexenPortal check ID stringid ATTRS MUIA_Selected setting when type = "key" then key = setting when type = "m/j" then Address HexenPortal cycle ID stringid ATTRS MUIA_Cycle_Active setting + 1 otherwise Address HexenPortal string ID stringid content Setting end end if saveorload = "S" then do select when type = "S" then address HexenPortal slider ID stringid when type = "C" then address HexenPortal cycle ID stringid when type = "K" then address HexenPortal check ID stringid when type = "key" then address HexenPortal poplist ID stringid when type = "m/j" then address HexenPortal cycle ID stringid otherwise Address HexenPortal string ID stringid end changeto=result if type = "m/j" then do changeto = left(changeto,1) if changeto = "O" then changeto = -1 end if saveorload = "S" then if type = "key" then changeto = arg(5) if searchingfor = "key_use " then searchingfor = "key_use" if searchingfor = "key_strafe " then searchingfor = "key_strafe" if ~ischat then line.i = searchingfor" "changeto if ischat then line.i = searchingfor" "'"'changeto'"' end end i = i + 1 end return(key) Req: txt = arg(1) window ID REQUE ATTRS MUIA_Window_DepthGadget 0 MUIA_Window_NoMenus 1 MUIA_Window_SizeGadget 0 text label txt space button ID OK COMMAND '"window ID REQUE close"' PORT HexenPortal ATTRS MUIA_CycleChain 1 label "OK" endwindow return