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;
|
|||
|
|