sys7.1-doc-wip/Make/BBSStartup
2019-07-27 22:37:48 +08:00

154 lines
3.3 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# 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 couldnt launch tool server."
Exit 0
End
ToolServer '"{MPW}MPW Shell"'
Else
Exit 0
End
Else
ToolServer 'Nothing' ∑ Dev:Null ∂
|| Begin
Alert "I couldnt locate your tool server."
Exit 0
End
End
#
# Initialize ToolServer
#
Set | ToolServer
Export | ToolServer
Alias | ToolServer
#
# Done
#
Exit 0
#
# End of BBSStartup
#