netsurf/!NetSurf/!Run,feb
John Mark Bell 5deb39efbf [project @ 2005-12-17 16:53:09 by jmb]
Check for required resources before loading any modules; no point in wasting the user's memory is there? ;)
Fix 1383631.

svn path=/import/netsurf/; revision=1898
2005-12-17 16:53:09 +00:00

88 lines
4.0 KiB
Plaintext

| Run file for NetSurf. ( $Revision: 1.43 $ )
|
| This file ensures that the system resources required by NetSurf are
| present. Additionally, it forces setting of system variables related
| to NetSurf.
| Set system variables and application sprites
Set NetSurf$ForceVars 1
<Obey$Dir>.!Boot
UnSet NetSurf$ForceVars
| We need RISC OS 3
RMEnsure UtilityModule 3.00 Error NetSurf needs RISC OS 3 or later
| Ensure Nested WIMP is installed
| http://acorn.riscos.com/ (in the universal boot archive)
RMEnsure WindowManager 3.80 Error NetSurf requires the Nested Window Manager. This can be obtained by downloading the Universal Boot sequence from http://acorn.riscos.com/
| Check for various key resources - can't do much if they don't exist
If "<System$Path>" = "" Then Set System$Path_Message System resources not found.
If "<Wimp$ScrapDir>" = "" Then Error Scrap resource not found.
If "<InetDBase$Path>" = "" Then Error Internet resources can not be found
If "<Unicode$Path>" = "" Then Error NetSurf requires the !Unicode resource. This can be found, along with the Iconv module, at http://moose.mine.nu/iconv_latest.zip
If "<Inet$MimeMappings>" = "" Then Set Inet$MimeMappings InetDBase:MimeMap
| Define this alias for clarity
| Syntax: NetSurfRMLoad <Path to module>
Set Alias$NetSurfRMLoad IfThere %%*0 Then RMLoad %%*0
| Ensure CallASWI is installed
| http://www.iyonix.com/32bit/
RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 NetSurfRMLoad System:Modules.CallASWI
RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 Error NetSurf requires the CallASWI module. This can be downloaded from http://www.iyonix.com/32bit/system.shtml
| Ensure DrawFile module is installed
| http://acorn.riscos.com/riscos/releases/drawfile.arc
| Should be installed in !System.310.Modules
RMEnsure DrawFile 1.30 NetSurfRMLoad System:Modules.DrawFile
RMEnsure DrawFile 1.30 Error NetSurf requires the DrawFile module. An old verson of this can be downloaded from http://acorn.riscos.com/riscos/releases/drawfile.arc
| Ensure SharedUnixLibrary is installed
| http://gccsdk.riscos.info/downloads/sharedunixlib/
RMEnsure SharedUnixLibrary 1.02 NetSurfRMLoad System:Modules.SharedULib
RMEnsure SharedUnixLibrary 1.02 Error NetSurf requires SharedUnixLibrary 1.02 or later. This can be downloaded from http://gccsdk.riscos.info/downloads/sharedunixlib/
| Load AcornURI if it isn't already
| http://sudden.recoil.org/
Unset NetSurf$Start_URI_Handler
RMEnsure AcornURI 0.12 Set NetSurf$Start_URI_Handler 1
RMEnsure AcornURI 0.12 NetSurfRMLoad System:Modules.Network.URI
RMEnsure AcornURI 0.12 Error NetSurf requires AcornURI 0.12 or later. A version of this can be found at http://sudden.recoil.org/others/
RMEnsure AcornURI 0.12 Unset NetSurf$Start_URI_Handler
| Check for mime map module
RMEnsure MimeMap 0.10 NetSurfRMLoad System:Modules.Network.MimeMap
RMEnsure MimeMap 0.10 Error NetSurf requires MimeMap 0.10 or later
| Ensure Tinct is loaded
| http://www.tinct.net/
RMEnsure Tinct 0.13 NetSurfRMLoad System:Modules.Tinct
RMEnsure Tinct 0.13 Error NetSurf requires Tinct 0.13 or later. This can be downloaded from http://www.tinct.net/
| Ensure Iconv
| http://moose.mine.nu:6888/iconv_latest.zip
RMEnsure Iconv 0.04 NetSurfRMLoad System:Modules.Iconv
RMEnsure Iconv 0.04 Error NetSurf requires Iconv 0.04 or later. This can be downloaded from http://moose.mine.nu:6888/iconv_latest.zip
| Disable SpecialFX, if present
Set NetSurf$SpecialFX 1
RMEnsure SpecialFX 1.00 Set NetSurf$SpecialFX 0
If <NetSurf$SpecialFX> Then SpecialFX ~B~G~L NetSurf
Unset NetSurf$SpecialFX
| No longer need this alias
Unset Alias$NetSurfRMLoad
| Now attempt to create Scrap directories
Set NetSurf$ScrapWWW 1
Set NetSurf$ScrapNS 1
IfThere <Wimp$ScrapDir>.WWW Then Set NetSurf$ScrapWWW 0
IfThere <Wimp$ScrapDir>.WWW.NetSurf Then Set NetSurf$ScrapNS 0
If <NetSurf$ScrapWWW> Then CDir <Wimp$ScrapDir>.WWW
If <NetSurf$ScrapNS> Then CDir <Wimp$ScrapDir>.WWW.NetSurf
Unset NetSurf$ScrapWWW
Unset NetSurf$ScrapNS
WimpSlot -min 2240k -max 2240k
Run <NetSurf$Dir>.!RunImage %*0 2><Wimp$ScrapDir>.WWW.NetSurf.Log