mac-rom/Make/BBSStartup

154 lines
3.2 KiB
Plaintext

#
# File: BBSStartup
#
# Written by: Kurt Clark
#
# Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
#
# Change History (most recent first):
#
# <SM6> 10/13/93 IH Check shell variable BlockSuperMarioSetKeys and do not call
# setkeys if it is set (I was already using these keys).
# <SM5> 6/14/93 kc Fix some quoting problems
# <SM4> 5/21/93 kc Move UseToolServer check to after the control keys are set, fix
# lookup entrypoint so that it will work with Ludwig sources.
# <SM3> 3/3/93 kc Fix toolserver so that it isn't launched by default.
# <SM2> 2/24/93 kc Change default tools server worksheet to TSWorkSheet.
# <SM1> 2/19/93 kc Rewrite existing BBSStartup.
#
#
#
# Variables
#
Set TheNameFile "{Sources}SuperMarioSources:Names"
Export TheNameFile
If !"{ToolServer}"
Set ToolServer "ToolServer"
Export ToolServer
End
If !{TSWorkSheet}
Set TSWorkSheet "{MPW}TSWorkSheet"
Export TSWorkSheet
End
#
# Aliases
#
Alias Nothing "Set Status 0" # For convenience.
Alias ToolServer "RShell -r ¶"{ToolServer}¶" ·· ¶"{TSWorkSheet}¶""
#
# Keys
#
#
# Give a chance to block these keys if we don't want them.
#
If !{BlockSuperMarioSetKeys}
# Make sure the MPW Shell supports SetKeys.
Which SetKey · dev:null ¶
|| Begin
Which SetKeys · dev:null ¶
&& Begin
Alias SetKey SetKeys
End ¶
|| Begin
Alias SetKey '#'
End
End
# Execute in background.
SetKey Control-Return ¶
'(Evaluate "`Position "{active}"`" =~ ¶
/([0-9]*)¨1 ([0-9]+)¨2,([0-9]+)¨3/ ) · Dev:Null ;¶
If {¨2} == {¨3} ; Find {¨1} "{active}" ; End ;¶
ToolServer < "{active}".¤ ;¶
Find ¥!{¨2}:¥!{¨3} "{active}" '
# Kill running background task.
SetKey Control-. ¶
'Set pid 0 ;¶
Loop ;¶
RShell -k {pid} && Break ; || Nothing ;¶
Evaluate pid += 1 ;¶
Break If {pid} >= 16 ;¶
End · Dev:Null '
# Kill all background tasks.
SetKey Control-Shift-. ¶
'Set pid 0 ;¶
Loop ;¶
RShell -k {pid} || Nothing ;¶
Evaluate pid += 1 ;¶
Break If {pid} >= 16 ;¶
End · Dev:Null '
# Locate the source for the selected entrypoint.
SetKey Command-Option-D '"{sources}"Tools:LookupEntryPoint'
End
#
# Check Switch
#
If !{UseToolServer}
Exit 0
End
#
# Patch the shell so that you can issue multiple commands
#
{sources}Tools:PatchShell
#
# Launch the ToolServer if running local, or locate it otherwise.
#
Open -n -t "{TSWorkSheet}"
If "{ToolServer}" =~ /"ToolServer"/ # running local
If `Exists "{MPW}ToolServer"`
Execute "{MPW}ToolServer" ¶
|| Begin
Alert "I couldnÕt launch tool server."
Exit 0
End
ToolServer '"{MPW}MPWÊShell"'
Else
Exit 0
End
Else
ToolServer 'Nothing' · Dev:Null ¶
|| Begin
Alert "I couldnÕt locate your tool server."
Exit 0
End
End
#
# Initialize ToolServer
#
Set | ToolServer
Export | ToolServer
Alias | ToolServer
#
# Done
#
Exit 0
#
# End of BBSStartup
#