Glider4/RoomEditor_103/Sources/E-Globals.p

1 line
7.7 KiB
OpenEdge ABL
Executable File

unit Globals;
interface
uses
Palettes;
const
dlgTop = 50;
dlgLeft = 85;
kDeleteKey = $08;
kTabKey = $09;
kLeftArrow = $1C;
kRightArrow = $1D;
kTabKeyMap = $30;
kCommandKeyMap = $37;
mApple = 128; {Menu resource ID}
iNothing = 0;
iAboutEdit = 1;
mFile = 129; {Menu resource ID}
iNew = 1;
iOpen = 2;
iClose = 4;
iSave = 5;
iSaveAs = 6;
iQuit = 8;
mEdit = 130; {Menu resource ID}
iCut = 1;
iCopy = 2;
iPaste = 3;
iClear = 4;
mSpecial = 131; {Menu resource ID}
iTryGlider = 1;
iControls = 2;
iRestoreDeep = 3;
iGoToRoom = 5;
iPrevRoom = 6;
iNextRoom = 7;
iNewRoom = 9;
mWindows = 132; {Menu resource ID}
iTools = 1;
iAutoHideTools = 2;
iHouse = 4;
iRoomBack = 5;
iRoomCond = 6;
iObject = 7;
iHelp = 9;
mControls = 133;{Menu resource ID}
iHoldKey = 1;
iDropKey = 2;
iAbsMouse = 3;
iRelMouse = 4;
iConfigure = 6;
editToObject = 1;
editToRoom = 2;
fileExists = 3;
fileIsNew = 4;
noFileOpen = 5;
alertStrIDs = 128;
fileStrIDs = 129;
mainWndoID = 129;
fileAlertID = 129;
alertID = 128;
saveNoQuitID = 132;
saveNoCloseID = 133;
houseInfoID = 134;
depthAlertID = 136;
rCustomKeysID = 137;
lockAlertID = 138;
custGetID = 256;
objectPictID = 128;
maskPictID = 129;
sleep = 4;
ceilingVert = 24;
stairVert = 54;
floorVert = 325;
stackSize = 40960;
floorLimit = floorVert + 5;
maxThrust = 5;
holdKey = 1;
dropKey = 2;
absMouse = 3;
relMouse = 4;
mouseSlop = 10;
defaultLeftKey = $2B;
defaultRightKey = $2F;
defaultEnergyKey = $24;
defaultBandKey = $31;
defaultLeftName = ', key';
defaultRightName = '. key';
defaultEnergyName = 'return';
defaultBandName = 'space';
kErrUnaccounted = 1; {error codes}
kErrMacPlusNeeded = 2; {these correspond with STR#}
kErr2Or16Colors = 4; {resources for the TEXT part}
kErrNotEnoughMem = 5; {of the message}
kErrUnknownAtInit = 6;
kErrMemLow = 7; {unused}
kErrGraphicsNotFound = 8;
kErrGraphicLoad = 9;
kErrTooManyRooms = 10;
kErrTooManyObjects = 11;
kErrLoadingRes = 12;
kErrFileExists = 13;
kErrNothingToPrint = 14;
{15 unused}
kErrWrongHouseVers = 17;
kErrExitSansGraphics = 20;
kErrSavingPrefs = 25;
{furniture}
nulObj = 0;
table = 1;
shelf = 2;
books = 3;
cabnet = 4;
extRct = 5;
obsRct = 6;
{blowers}
flrVnt = 8;
celVnt = 9;
celDct = 10;
candle = 11;
lftFan = 12;
ritFan = 13;
{table objects}
clock = 16;
paper = 17;
grease = 18;
bnsRct = 19;
battry = 20;
rbrBnd = 21;
{wall objects}
litSwt = 24;
outlet = 25;
thermo = 26;
shredr = 27;
pwrSwt = 28;
guitar = 29;
{animate objects}
drip = 32;
toastr = 33;
ball = 34;
fshBwl = 35;
teaKtl = 36;
window = 37;
{jewelry}
paintg = 40;
mirror = 41;
basket = 42;
macTsh = 43;
upStar = 44;
dnStar = 45;
{------------------------------------}
normal = 0; {mode}
fadingIn = 1;
fadingOut = 2;
turnRt2Lf = 3;
turnLf2Rt = 4;
burning = 5;
ascending = 6;
descending = 7;
shredding = 8;
ignoreIt = 0; {null or unknown objects}
crashIt = 1; {tables, shelves, cabinets, etc...}
liftIt = 2; {floor vents}
dropIt = 3; {ceiling blower, some ducts}
moveIt = 4; {exit rects/suction ceiling ducts}
burnIt = 5; {candle if too close}
turnItLeft = 6; {left fan}
turnItRight = 7; {right fan}
awardIt = 8; {clocks}
extraIt = 9; {folded pieces of paper}
slideIt = 10; {grease fallen}
trickIt = 11; {bonus rect}
energizeIt = 12; {battery}
bandIt = 13; {rubber bands}
playIt = 14; {guitar}
lightIt = 15; {light switch}
zapIt = 16; {wall outlet}
airOnIt = 17; {thermostats}
shredIt = 18; {shredder}
toggleIt = 19; {power switch}
weightIt = 20;
spillIt = 21; {grease standing up}
ascendIt = 22; {up stair case}
descendIt = 23; {down stair case}
steamIt = 24;
acurID = 128;
kCursCount = 12;
type
SICN = array[0..15] of Integer;
SICNPtr = ^SICN;
SICNHand = ^SICNPtr;
objectData = record
objectIs: Integer;
boundRect: Rect;
amount: Integer;
extra: Integer;
isOn: Boolean;
end;
roomData = record
roomName: string[24];
numberOObjects: Integer;
backPictID: Integer;
tileOrder: array[0..7] of Integer;
leftOpen, rightOpen: Boolean;
animateKind: Integer;
animateNumber: Integer;
animateDelay: LongInt;
conditionCode: Integer;
theObjects: array[1..16] of objectData;
end;
houseRec = record
version: Integer;
numberORooms: Integer;
timeStamp: LongInt;
hiScores: array[0..19] of LongInt;
hiLevel: array[0..19] of Integer;
hiName: array[0..19] of string[24];
hiRoom: array[0..19] of string[24];
pictFile: string[32];
nextFile: string[32];
firstFile: string[32];
theRooms: array[1..40] of roomData;
end;
gliderRec = record
destRect, oldRect, wholeRect: Rect;
shadoDest, oldShado, wholeShado: Rect;
touchRect: Rect;
mode, phase: Integer;
isRight, isForward: Boolean;
srcNum: Integer;
forVel: Integer;
mass: Integer;
bands, energy: Integer;
end;
cycleRec = record
holdRect, wholeRect, oldRect: Rect;
tiedTo, kindIs, phase: Integer;
reset, position: LongInt;
accel, velocity: Integer;
end;
acur = record
whichBall: LongInt;
ball: array[1..kCursCount] of CursHandle;
end;
acurPtr = ^acur;
acurHand = ^acurPtr;
BitMapPtr = ^BitMap;
var
theEvent: EventRecord;
mainWndo, toolWndo: WindowPtr;
mainPalette: PaletteHandle;
screenArea, wholeArea, fullArea, nullRect: Rect;
wholeRgn: RgnHandle;
{---b&w---}
offMaskMap, offVirginMap, offLoadMap, offPlayerMap: BitMap;
offMaskPort, offVirginPort, offLoadPort, offPlayerPort: GrafPtr;
offMaskBits, offVirginBits, offLoadBits, offPlayerBits: Ptr;
{---color---}
virginCPort, loadCPort, objectCPort: CGrafPort;
virginCPtr, loadCPtr, objectCPtr: CGrafPtr;
virginCBits, loadCBits, objectCBits: Ptr;
rgbBlack, rgbWhite, rgbLtBlue, rgbRed, rgbDkGray: RGBColor;
rgbYellow, rgbViolet, rgbBrown, rgbLtBrown: RGBColor;
holdCorner: Point;
marqueePat: array[0..4] of Pattern;
theKeys: KeyMap;
ballC: array[1..kCursCount] of CCrsrHandle;
marqueeIndex, roomAt, setOTools, oneActive: Integer;
rightOffset, downOffset, wasDepth, herKeyboard: Integer;
fileNumber, volumeNumber, editorResNum: Integer;
leftArrow, rightArrow, deleteKey, controlMethod: Integer;
leftKey, rightKey, energyKey, bandKey, iGlidersHelp: Integer;
leftName, rightName, energyName, bandName: string[12];
housesName, resourceName: string[32];
startPt, endPt: Point;
handleRect: Rect;
thisHouse: houseRec;
thisRoom, scrapRoom: roomData;
scrapObject, selectObject: objectData;
currentBall: Integer;
ballList: acurHand;
{flying the glider}
nCycleObs: Integer;
cycleObjects: array[1..16] of cycleRec;
theGlider: GliderRec;
lifeNormal: Boolean;
currMass, liftAmount, nMortals, shiftAmount: Integer;
glideRct: array[0..27] of Rect;
shadoRct: array[0..1] of Rect;
nextPhase: array[1..4, 0..16] of Integer;
binaryFlip: Integer;
toastRgn: RgnHandle;
eventRect: array[0..16] of Rect;
eventKind: array[0..16, 0..2] of LongInt;
{end}
tileRects: array[0..7] of Rect;
iconRect: array[0..5] of Rect;
selectRect: array[0..5] of Rect;
srcRect: array[0..69] of Rect;
toolIcnID: array[0..47] of Integer;
lightsOut, airOut, leftIsOpen, rightIsOpen: Boolean;
hasToast, windowOpen: Boolean;
editRoom, marqueeTime, soundPlaying, fileIsOpen, cantColor, sliding: Boolean;
soundOn, playing, pausing, inhibitSound, doneFlag, restoreColor: Boolean;
roomScrapDirty, objectScrapDirty, changed, inColor, cantSwitch: Boolean;
autoHide, inBackground, hasWNE, buttonFires, bandBorne, hasSys7: Boolean;
useColorCursor, lockIt: Boolean;
implementation
end.