mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-26 01:49:19 +00:00
154 lines
3.3 KiB
Plaintext
154 lines
3.3 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
|
|||
|
#
|