| Run file for StrongED.
|  StrongED developers.

| Set up directory path and load sprites.
Set StrongED$Dir <Obey$Dir>
IconSprites <StrongED$Dir>.Resources.!Sprites

| Find operating system version.
SetEval StrongED$OSVsn 500
RMEnsure UtilityModule 5.00 SetEval StrongED$OSVsn 400
RMEnsure UtilityModule 4.00 SetEval StrongED$OSVsn 350
RMEnsure UtilityModule 3.50 SetEval StrongED$OSVsn 310
RMEnsure UtilityModule 3.10 SetEval StrongED$OSVsn 200

| StrongED needs at least RISC OS 3.10 to run.
If StrongED$OSVsn < 310 Then Error 0 StrongED needs RISC OS 3.10 or later.

| Don't use dynamic areas on RISC OS 3.10 or 5.00
If StrongED$OSVsn > 310 AND StrongED$OSVsn < 500 Then Set StrongED$UseDA 1 Else Set StrongED$UseDA 0

| StrongED uses CallASWI so make sure it's available
RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 RMLoad System:Modules.CallASWI
RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 Error StrongED requires CallASWI 0.02 or later

| Ensure the modules StrongED needs are loaded.
RMEnsure Dialogue    1.12 RMLoad <StrongED$Dir>.Tools.Dialogue
RMEnsure BasicRunner 2.01 RMLoad <StrongED$Dir>.Tools.BasicRun
RMEnsure StrongTask  1.02 RMLoad <StrongED$Dir>.Tools.StrongTask
RMEnsure KeyExtend   0.18 RMLoad <StrongED$Dir>.Tools.KeyExtend
Desktop_KeyExtend

| Claim file type and external edits.
Set Alias$@RunType_FFF Run <StrongED$Dir>.!Run %%*0
Set Alias$@EditType_FFF Run <StrongED$Dir>.!Run %%*0

| Claim linked and embedded objects.
Set OLEServer$Type_FFF -N StrongED -R /<StrongED$Dir>
Set OLEServer$Type_FFB -N StrongED -R /<StrongED$Dir>

| Register as TaskWindow server.
Set TaskWindow$Server <StrongED$Dir>
Set Alias$TaskWindow "StrongTask %%*0"

| Find out some information about BASIC.
WimpSlot -min 64K -max 64K
Run <StrongED$Dir>.Tools.Export

| Set up StrongED's read and write paths.
Obey <StrongED$Dir>.SetupCfg

| Run ResFind to figure out which set of resources to use.
| We need to reset Obey$Dir to this file because the call to SetupCfg
| altered it and ResFind uses it to set StrongED$Dir (ugly, I know).
Set Obey$Dir <StrongED$Dir>
Run <StrongED$Dir>.Tools.ResFind StrongED

| Ensure we have a scrap directory
If "<Wimp$ScrapDir>" = "" Then Error 0 Please locate !Scrap
IfThere <Wimp$ScrapDir>.StrongED Then Else CDir <Wimp$ScrapDir>.StrongED
Set StrongED_Scrap$Dir <Wimp$ScrapDir>.StrongED

| Finally set wimpslot and run StrongED.
WimpSlot -min 256K -max 256K
Run <StrongED$Dir>.!RunImage %*0