leisuresuitlarry/SYSDEFS.H

419 lines
12 KiB
C

[
[ sysdefs.h
[
[ AL'S SYSDEFS
[
[ February 25, 1987
[
[************** ACTIONS **************]
%action Return() 0
[Variable actions
%action Increment(VAR) 1
%action Decrement(VAR) 2
%action Assignn(VAR, NUM) 3
%action Assignv(VAR, VAR) 4
%action Addn(VAR, NUM) 5
%action Addv(VAR, VAR) 6
%action Subn(VAR, NUM) 7
%action Subv(VAR, VAR) 8
%action Lindirectv(VAR, VAR) 9
%action Rindirect(VAR, VAR) 10
%action Lindirectn(VAR, NUM) 11
%action increment(VAR) 1
%action decrement(VAR) 2
%action assignn(VAR, NUM) 3
%action assignv(VAR, VAR) 4
%action addn(VAR, NUM) 5
%action addv(VAR, VAR) 6
%action subn(VAR, NUM) 7
%action subv(VAR, VAR) 8
%action lindirectv(VAR, VAR) 9
%action rindirect(VAR, VAR) 10
%action lindirectn(VAR, NUM) 11
%action Set(FLAG) 12
%action Reset(FLAG) 13
%action Toggle(FLAG) 14
%action SetV(VAR) 15
%action ResetV(VAR) 16
%action ToggleV(VAR) 17
[Logics
%action NewRoom(NUM) 18
%action NewRoomV(VAR) 19
%action LoadLogics(NUM) 20
%action LoadLogicsV(VAR) 21
%action Call(NUM) 22
%action CallV(VAR) 23
[Pictures
%action LoadPic(VAR) 24
%action DrawPic(VAR) 25
%action ShowPic() 26
%action DiscardPic(VAR) 27
%action OverlayPic(VAR) 28
%action ShowPriScreen() 29
[Views
%action LoadView(VIEW) 30
%action LoadViewV(VAR) 31
%action DiscardView(VIEW) 32
[Animated objects
%action AnimateObj(OBJECT) 33
%action UnanimateAll() 34
%action Draw(OBJECT) 35
%action Erase(OBJECT) 36
%action Position(OBJECT, NUM, NUM) 37
%action PositionV(OBJECT, VAR, VAR) 38
%action GetPosn(OBJECT, VAR, VAR) 39
%action Reposition(OBJECT, VAR, VAR) 40
[Views of animated objects
%action SetView(OBJECT, VIEW) 41
%action SetViewV(OBJECT, VAR) 42
%action SetLoop(OBJECT, NUM) 43
%action SetLoopV(OBJECT, VAR) 44
%define FACING_RIGHT 0
%define FACING_LEFT 1
%define FACING_FRONT 2
%define FACING_BACK 3
%action FixLoop(OBJECT) 45
%action ReleaseLoop(OBJECT) 46
%action SetCel(OBJECT, NUM) 47
%action SetCelV(OBJECT, VAR) 48
%action LastCel(OBJECT, VAR) 49
%action CurrentCel(OBJECT, VAR) 50
%action CurrentLoop(OBJECT, VAR) 51
%action CurrentView(OBJECT, VAR) 52
%action NumberOfLoops(OBJECT, VAR) 53
[Priority control of animated objects
%action SetPriority(OBJECT, NUM) 54
%action SetPriorityV(OBJECT, VAR) 55
%action ReleasePriority(OBJECT) 56
%action GetPriority(OBJECT, VAR) 57
[Attributes of animated objects
%action StopUpdate(OBJECT) 58
%action StartUpdate(OBJECT) 59
%action ForceUpdate(OBJECT) 60
%action IgnoreHorizon(OBJECT) 61
%action ObserveHorizon(OBJECT) 62
%action SetHorizon(NUM) 63
%action ObjectOnWater(OBJECT) 64
%action ObjectOnLand(OBJECT) 65
%action ObjectOnAnything(OBJECT) 66
%action IgnoreObjs(OBJECT) 67
%action ObserveObjs(OBJECT) 68
%action Distance(OBJECT, OBJECT, VAR) 69
[Cycling of animated objects
%action StopCycling(OBJECT) 70
%action StartCycling(OBJECT) 71
%action NormalCycle(OBJECT) 72
%action EndOfLoop(OBJECT, FLAG) 73
%action ReverseCycle(OBJECT) 74
%action ReverseLoop(OBJECT, FLAG) 75
%define BeginningOfLoop ReverseLoop
%action CycleTime(OBJECT, VAR) 76
%define CycleFrequency CycleTime
[Motion of animated objects
%action StopMotion(OBJECT) 77
%action StartMotion(OBJECT) 78
%action StepSize(OBJECT, VAR) 79
%action StepTime(OBJECT, VAR) 80
%define StepFrequency StepTime
%action MoveObj(OBJECT, NUM, NUM, NUM, FLAG) 81
%action MoveObjV(OBJECT, VAR, VAR, VAR, FLAG) 82
[object, x, y, stepsize (preferably 0), flag to set upon arrival
%action FollowEgo(OBJECT, NUM, FLAG) 83
%action Wander(OBJECT) 84
%action NormalMotion(OBJECT) 85
%action SetDir(OBJECT, VAR) 86
%action GetDir(OBJECT, VAR) 87
%action IgnoreBlocks(OBJECT) 88
%action ObserveBlocks(OBJECT) 89
%action Block(NUM, NUM, NUM, NUM) 90
%action Unblock() 91
[Inventory objects
%action Get(OBJECT) 92
%action GetV(VAR) 93
%action Drop(OBJECT) 94
%action Put(OBJECT, VAR) 95
%action PutV(VAR, VAR) 96
%action GetRoomV(VAR, VAR) 97
[Sounds
%action LoadSound(NUM) 98
%action Sound(NUM, FLAG) 99
%action StopSound() 100
[Screen Display
%action Print(MSGNUM) 101
%action PrintV(VAR) 102
%action Display(NUM, NUM, MSGNUM) 103
[row, col, message
%action DisplayV(VAR, VAR, VAR) 104
[row, col, message
%action ClearLines(NUM, NUM, NUM) 105
[top row, bottom row, attribute
%action TextScreen() 106
%action Graphics() 107
%action SetCursorChar(MSGNUM) 108
%action SetTextAttribute(NUM, NUM) 109
%action ShakeScreen(NUM) 110
[Screen handling
%action ConfigureScreen(NUM, NUM, NUM) 111
[ picture row, input row, status row
%action StatusLineOn() 112
%action StatusLineOff() 113
[String handling
%action SetString(NUM, MSGNUM) 114
%action GetString(NUM, MSGNUM, NUM, NUM, NUM) 115
[string#, prompt, row, col, max length
%action WordToString(NUM, NUM) 116
[word#, string#
%action Parse(NUM) 117
%action GetNum(MSGNUM, VAR) 118
[Input handling
%action PreventInput() 119
%action AcceptInput() 120
%action SetKey(NUM, NUM, NUM) 121
%define JOYSTICK_LOW_BYTE 1
%define BUTTON_0 1
%define BUTTON_1 2
%define BUTTON_0_DOUBLE 3
%define BUTTON_1_DOUBLE 4
[Add to picture
%action AddToPic(VIEW, NUM, NUM, NUM, NUM, NUM, NUM) 122
[view, loop, cel, x, y, obj priority, box priority
%action AddToPicV(VAR, VAR, VAR, VAR, VAR, VAR, VAR) 123
[view, loop, cel, x, y, obj priority, box priority
%define AddToPicture AddToPic
%define AddToPictureV AddToPicV
[User requested actions
%action Status() 124
%action SaveGame() 125
%action RestoreGame() 126
%action InitDisk() 127
%action RestartGame() 128
[Show object view
%action ShowObj(VIEW) 129
[Miscellaneous
%action Random(NUM, NUM, VAR) 130
%action ProgramControl() 131
%action PlayerControl() 132
%action ObjStatusV(VAR) 133
%action Quit(NUM) 134
[0 = prompt
[1 = immediate
%action ShowMem() 135
%action Pause() 136
%action EchoLine() 137
%action CancelLine() 138
%action InitJoy() 139
%action ToggleMonitor() 140
%action Version() 141
%action ScriptSize(NUM) 142
%action SetGameId(MSGNUM) 143
%action Log(MSGNUM) 144
%action SetScanStart() 145
%action ResetScanStart() 146
%action RepositionTo(OBJECT, NUM, NUM) 147
%action RepositionToV(OBJECT, VAR, VAR) 148
%action TraceOn() 149
%action TraceInfo(NUM, NUM, NUM) 150
[logic #, position of top of window, number of lines
%action PrintAt(MSGNUM, NUM, NUM, NUM) 151
[msg #, row, col, width
%action PrintAtV(VAR, NUM, NUM, NUM) 152
[msg #, row, col, width
%action DiscardViewV(VAR) 153
%action ClearTextRect(NUM, NUM, NUM, NUM, NUM) 154
[top, left, bottom, right, attribute
%action SetUpperLeft(NUM, NUM) 155 [x, y
%action SetMenu(MSGNUM) 156
[menu name]
%action SetMenuItem(MSGNUM, NUM) 157
[item name, controller number]
%action SubmitMenu() 158
[terminate menu collecting]
%action EnableItem(NUM) 159
[enable item corresponding to controller]
%action DisableItem(NUM) 160
[disable item corresponding to controller]
%action MenuInput() 161
[pause game; display menus, at last choice
%action ShowObjV( VAR) 162
#action OpenDialogue() 163
#action CloseDialogue() 164
#action MulN(VAR, NUM) 165
#action MulV(VAR, VAR) 166
#action DivN(VAR, NUM) 167
#action DivV(VAR, VAR) 168
#action CloseWindow() 169
[************** TESTS **************]
%test Equaln(VAR, NUM) 1
%test Equalv(VAR, VAR) 2
%test Lessn(VAR, NUM) 3
%test Lessv(VAR, VAR) 4
%test Greatern(VAR, NUM) 5
%test Greaterv(VAR, NUM) 6
%test Isset(FLAG) 7
%test IssetV(VAR) 8
%test Has(OBJECT) 9
%test ObjInRoom(OBJECT, VAR) 10
%test Posn(OBJECT, NUM, NUM, NUM, NUM) 11
%test Controller(NUM) 12
%test HaveKey() 13
%test Said(WORDLIST) 14
%test CompareStrings(NUM, NUM) 15
%test ObjInBox(OBJECT, NUM, NUM, NUM, NUM) 16
%test CenterPosn(OBJECT, NUM, NUM, NUM, NUM) 17
%test RightPosn(OBJECT, NUM, NUM, NUM, NUM) 18
%test equaln(VAR, NUM) 1
%test equalv(VAR, VAR) 2
%test lessn(VAR, NUM) 3
%test lessv(VAR, VAR) 4
%test greatern(VAR, NUM) 5
%test greaterv(VAR, NUM) 6
%test isset(FLAG) 7
%test isset.v(VAR) 8
%test has(OBJECT) 9
%test obj.in.room(OBJECT, VAR) 10
%test posn(OBJECT, NUM, NUM, NUM, NUM) 11
%test controller(NUM) 12
%test have.key() 13
%test said(WORDLIST) 14
%test compare.strings(NUM, NUM) 15
%test obj.in.box(OBJECT, NUM, NUM, NUM, NUM) 16
%test center.posn(OBJECT, NUM, NUM, NUM, NUM) 17
%test right.posn(OBJECT, NUM, NUM, NUM, NUM) 18
[************** VARS **************
%var currentRoom 0
%var previousRoom 1
%var edgeEgoHit 2
%define NOT_HIT 0
%define TOP 1
%define RIGHT 2
%define BOTTOM 3
%define LEFT 4
%var currentScore 3
%var objHitEdge 4
%var edgeObjHit 5
%var egoDir 6
%define EGO_STOPPED 0
%define EGO_UP 1
%define EGO_UP_RIGHT 2
%define EGO_RIGHT 3
%define EGO_DOWN_RIGHT 4
%define EGO_DOWN 5
%define EGO_DOWN_LEFT 6
%define EGO_LEFT 7
%define EGO_UP_LEFT 8
%var maxScore 7
%var memoryLeft 8
%var unknownWord 9
%var animationInterval 10
%var elapsedSeconds 11
%var elapsedMinutes 12
%var elapsedHours 13
%var elapsedDays 14
%var doubleClickDelay 15
%var currentEgo 16
%var errorNumber 17
%var errorParameter 18
%var lastChar 19
%var machineType 20
#define PC 0 [PC, compatibles
#define JR 1 [PCjr
#define TANDY 2 [Tandy 1000
#define APPLEII 3 [Apple IIe, IIc
#define ST 4 [Atari ST
#define AMIGA 5 [Amiga
#define MAC 6 [Fat Mac, Mac Plus
#define CORTLAND 7 [?
%var printTimeout 21 [in 1/2 second increments
%var numberOfVoices 22 [in this machine's sound chip
%var attenuation 23 [0 - 15 == loud - off
%var inputLength 24 [max length of user input allowed
%var selectedObject 25 [obj # selected from status screen
%var monitorType 26
%define COMPOSITE 0
%define RGB 1
%define MONO 2
%define EGA 3
[************** FLAGS **************
%flag onWater 0
%flag egoHidden 1
%flag haveInput 2
%flag hitSpecial 3
%flag haveMatch 4
%flag initLog 5
%flag restartInProgress 6
%flag noScript 7
%flag enableDoubleClick 8
%flag soundOn 9
%flag enableTrace 10
%flag hasNoiseChannel 11 [set if machine has noise channel
%flag restoreInProgress 12
%flag enableObjectSelect 13 [set if ok to choose from status screen
%flag enableMenu 14
%flag leaveWindow 15
%flag noPromptRestart 16
[************ CONSTANTS **************]
[ screen boundaries:
%define TOP_EDGE 0
%define BOTTOM_EDGE 167
%define LEFT_EDGE 0
%define RIGHT_EDGE 159
%define SCREEN_TOP 0
%define SCREEN_BOTTOM 167
%define SCREEN_LEFT 0
%define SCREEN_RIGHT 159
%define FALL_THROUGH 200 [makes ego move off screen
%define MAX_FLAG_VALUE 255 [maximum value storable
%define ERROR -1