97 lines
2.5 KiB
Plaintext
97 lines
2.5 KiB
Plaintext
TYPE
|
||
Str80Type = STRING[80];
|
||
ScoreType = (ScoreReset, ScoreRock, ScoreStatue, ScoreMoney);
|
||
|
||
NameStringType = STRING[20];
|
||
LayoutType = ARRAY[1..LevelRows] OF ARRAY[1..LevelCols] OF CHAR;
|
||
LevelType = RECORD
|
||
Name : NameStringType;
|
||
InitialBonusTime : INTEGER;
|
||
Rocks : INTEGER;
|
||
Layout : LayoutType;
|
||
END;
|
||
|
||
{ The Action constants define what the Actor currently is, }
|
||
{ or is requested to be, doing }
|
||
ActionType = (
|
||
PENDING,
|
||
NONE,
|
||
STOPPED,
|
||
UP,
|
||
UPRIGHT,
|
||
RIGHT,
|
||
DOWNRIGHT,
|
||
DOWN,
|
||
DOWNLEFT,
|
||
LEFT,
|
||
UPLEFT,
|
||
FALLING,
|
||
JUMP, { Generic jump set by keyhandler }
|
||
JUMPRIGHT,
|
||
JUMPUP,
|
||
JUMPLEFT,
|
||
ACTIONEND
|
||
);
|
||
|
||
ActionArrayType = ARRAY[1..JumpsLen] OF ActionType;
|
||
|
||
KindType = ( ALAD, AROCK );
|
||
|
||
RockPointerType = ^ActorType;
|
||
{ The Actor struct holds info about an actor ie, the Lad or a Rock }
|
||
ActorType = RECORD
|
||
AType : KindType;
|
||
X,Y : INTEGER;
|
||
Ch : CHAR;
|
||
Dir, DirRequest : ActionType;
|
||
JumpStep : INTEGER;
|
||
Next : RockPointerType;
|
||
END;
|
||
|
||
{ The MapData hold all info about a map }
|
||
MapDataType = RECORD
|
||
Name : NameStringType;
|
||
Field : LayoutType;
|
||
LadsRemaining : INTEGER;
|
||
NumRocks : INTEGER;
|
||
Rocks : RockPointerType;
|
||
AnyRocksPending : BOOLEAN;
|
||
Level : INTEGER;
|
||
Score : INTEGER;
|
||
InitialBonusTime : INTEGER;
|
||
RemainingBonusTime : INTEGER;
|
||
ScoreText : Str80type;
|
||
END;
|
||
|
||
XYtype = RECORD
|
||
x, y : INTEGER;
|
||
END;
|
||
|
||
DispenserPointerType = ^DispenserType;
|
||
DispenserType = RECORD
|
||
xy : XYtype;
|
||
next : DispenserPointerType;
|
||
END;
|
||
|
||
{ layout of LADDER.DAT data file }
|
||
DataFileType = RECORD
|
||
TerminalName : STRING[DataFileStrLength];
|
||
MoveCsrPrefix : STRING[DataFileStrLength];
|
||
MoveCsrSeparator : STRING[DataFileStrLength];
|
||
MoveCsrSuffix : STRING[DataFileStrLength];
|
||
UnkEscSeq : STRING[DataFileStrLength]; { not sure what this is... initialization? }
|
||
ClrScrStr : STRING[DataFileStrLength];
|
||
Flags : ARRAY[0..DataFileStrLength] OF CHAR;
|
||
Keys : ARRAY[0..DataFileStrLength] OF CHAR;
|
||
Highs : ARRAY[1..NumHighScores] OF ARRAY[0..DataFileStrLength] OF BYTE;
|
||
Unused1 : ARRAY[0..DataFileStrLength] OF BYTE;
|
||
Unused2 : ARRAY[0..DataFileStrLength] OF BYTE; { padding to next 128 bytes }
|
||
Unused3 : ARRAY[0..DataFileStrLength] OF BYTE;
|
||
END;
|
||
|
||
HighScoreType = RECORD
|
||
Score : INTEGER;
|
||
Name : STRING[DataFileNameLength];
|
||
END;
|
||
|