'Twas written last week. Really!
Code: Select all
//****************************************************************
// Do nothing
//****************************************************************
ui16 NOP[] =
{
Return
};
//****************************************************************
// Any Room Type (don't care)
//****************************************************************
ui16 StdDrawF4L1Any[] =
{
F4L1Contents, F4L1xy, Literal, 0xfffe , DrawOrder01, StdDrawRoomObjects,
Return
};
ui16 StdDrawF4Any[] =
{
F4Contents, F4xy, Literal, 0xfffd , DrawOrder01, StdDrawRoomObjects,
Return
};
ui16 StdDrawF4R1Any[] =
{
F4R1Contents, F4R1xy, Literal, 0xffff , DrawOrder01, StdDrawRoomObjects,
Return
};
//****************************************************************
// roomSTONE
//****************************************************************
ui16 StdDrawF3L2Stone[] =
{
StdWallBitmapF3L2, StdWallRectangleF3L2, StdBltShape,
Return
};
ui16 StdDrawF3R2Stone[] =
{
StdWallBitmapF3R2, StdWallRectangleF3R2, StdBltShape,
Return
};
ui16 StdDrawF3L1Stone[] =
{
StdWallBitmapF3L1, StdWallRectangleF3L1, StdBltShape,
F3L1, wallDecorationRight, WallF3L1Right, StdDrawWallText,
F3L1, wallDecorationRight, WallF3L1Right, StdDrawWallDecoration,
F3L1, wallDecorationFront, WallF3L1Front, StdDrawWallText,
F3L1, wallDecorationFront, WallF3L1Front, StdDrawWallDecoration,
Alcove,
JumpZ, 5,
F3L1Contents, F3L1xy, F3L1 , DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3Stone[] =
{
StdWallBitmapF3, StdWallRectangleF3, StdBltShape,
F3, wallDecorationFront, WallF3Front, StdDrawWallText,
F3, wallDecorationFront, WallF3Front, StdDrawWallDecoration,
Alcove,
JumpZ, 5,
F3Contents, F3xy, F3 , DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3R1Stone[] =
{
StdWallBitmapF3R1, StdWallRectangleF3R1, StdBltShape,
F3R1, wallDecorationLeft, WallF3R1Left, StdDrawWallText,
F3R1, wallDecorationLeft, WallF3R1Left, StdDrawWallDecoration,
F3R1, wallDecorationFront, WallF3R1Front, StdDrawWallText,
F3R1, wallDecorationFront, WallF3R1Front, StdDrawWallDecoration,
Alcove,
JumpZ, 5,
F3R1Contents, F3R1xy, F3R1 , DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1Stone[] =
{
StdWallBitmapF2L1, StdWallRectangleF2L1, StdBltShape,
F2L1, wallDecorationRight, WallF2L1Right, StdDrawWallText,
F2L1, wallDecorationRight, WallF2L1Right, StdDrawWallDecoration,
F2L1, wallDecorationFront, WallF2L1Front, StdDrawWallText,
F2L1, wallDecorationFront, WallF2L1Front, StdDrawWallDecoration,
Alcove,
JumpZ, 5,
F2L1Contents, F2L1xy, F2L1 , DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2Stone[] =
{
StdWallBitmapF2, StdWallRectangleF2, StdBltShape,
F2, wallDecorationFront, WallF2Front, StdDrawWallText,
F2, wallDecorationFront, WallF2Front, StdDrawWallDecoration,
Alcove,
JumpZ, 5,
F2Contents, F2xy, F2 , DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2R1Stone[] =
{
StdWallBitmapF2R1, StdWallRectangleF2R1, StdBltShape,
F2R1, wallDecorationLeft, WallF2R1Left, StdDrawWallText,
F2R1, wallDecorationLeft, WallF2R1Left, StdDrawWallDecoration,
F2R1, wallDecorationFront, WallF2R1Front, StdDrawWallText,
F2R1, wallDecorationFront, WallF2R1Front, StdDrawWallDecoration,
Alcove,
JumpZ, 5,
F2R1Contents, F2R1xy, F2R1 , DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1Stone[] =
{
StdWallBitmapF1L1, StdWallRectangleF1L1, StdBltShape,
F1L1, wallDecorationRight, WallF1L1Right, StdDrawWallText,
F1L1, wallDecorationRight, WallF1L1Right, StdDrawWallDecoration,
Return
};
ui16 StdDrawF1Stone[] =
{
SeeThroughWalls, JumpZ, 28,
Literal, 1, StdAllocateDerivedGraphic,
StdBitmapViewport, // source
Literal, 1, // destination = derived graphic 1
StdSeeThruWallsRect, // destination rectangle
StdSeeThruWallsRectUByte4, // Source X
StdSeeThruWallsRectUByte6, // Source Y
Literal, 112, // Source Width
Literal, 48, // destination width
MinusOne, // Transparent color
StdBltToDerivedGraphic, //
StdHoleInWallBitmap, // source
Literal, 1, // destination = derived graphic 1
StdSeeThruWallsRect, // destination rectangle
Zero, // Source X
Zero, // Source Y
Literal, 48, // Source Width
Literal, 48, // Destination width
Literal, 10, // Transparent color
StdBltToDerivedGraphic,
StdWallBitmapF1, StdWallRectangleF1, StdBltShape,
F1, wallDecorationFront, WallF1Front, StdDrawWallDecoration,
F1, wallDecorationFront, WallF1Front, StdDrawWallText,
Alcove,
JumpZ, 5,
F1Contents, F1xy, F1 , DrawOrder00, StdDrawRoomObjects,
SeeThroughWalls, JumpZ, 16,
Literal, 1, // Source
StdBitmapViewport, // Destination
StdSeeThruWallsRect2, // Destination Rectangle
Zero, // Source X
Zero, // Source Y
Literal, 48, // Source Width
Literal, 112, // Destination Width
Literal, 9, // Transparent color
StdBltFromDerivedGraphic,
Literal, 1, StdDeleteDerivedGraphic,
Return
};
ui16 StdDrawF1R1Stone[] =
{
StdWallBitmapF1R1, StdWallRectangleF1R1, StdBltShape,
F1R1, wallDecorationLeft, WallF1R1Left, StdDrawWallText,
F1R1, wallDecorationLeft, WallF1R1Left, StdDrawWallDecoration,
Return
};
ui16 StdDrawF0L1Stone[] =
{
StdWallBitmapF0L1, StdWallRectangleF0L1, StdBltShape,
Return
};
ui16 StdDrawF0Stone[] =
{
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0 , DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1Stone[] =
{
StdWallBitmapF0R1, StdWallRectangleF0R1, StdBltShape,
Return
};
//****************************************************************
// roomOPEN
//****************************************************************
ui16 StdDrawF3L1Open[] =
{
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3Open[] =
{
F3, FloorDecorationGraphicOrdinalF3, StdDrawFloorDecoration,
F3Contents, F3xy, F3 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3R1Open[] =
{
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1 , DrawOrder4312, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1Open[] =
{
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2Open[] =
{
F2, FloorDecorationGraphicOrdinalF2, StdDrawFloorDecoration,
F2, F2xy, StdDrawCeilingPit,
F2Contents, F2xy, F2 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2R1Open[] =
{
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1, F2R1xy, StdDrawCeilingPit,
F2R1Contents, F2R1xy, F2R1 , DrawOrder4312, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1Open[] =
{
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1, F1L1xy, StdDrawCeilingPit,
F1L1Contents, F1L1xy, F1L1 , DrawOrder32, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1Open[] =
{
F1, FloorDecorationGraphicOrdinalF1, StdDrawFloorDecoration,
F1, F1xy, StdDrawCeilingPit,
F1Contents, F1xy, F1 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1R1Open[] =
{
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1, F1R1xy, StdDrawCeilingPit,
F1R1Contents, F1R1xy, F1R1 , DrawOrder41, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0L1Open[] =
{
F0L1Contents, F0L1xy, F0L1 , DrawOrder02, StdDrawRoomObjects,
F0L1, F0L1xy, StdDrawCeilingPit,
Return
};
ui16 StdDrawF0Open[] =
{
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0 , DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1Open[] =
{
F0R1, F0R1xy, StdDrawCeilingPit,
F0R1Contents, F0R1xy, F0R1 , DrawOrder01, StdDrawRoomObjects,
Return
};
//****************************************************************
// roomPIT
//****************************************************************
ui16 StdDrawF3L1Pit[] =
{
F3L1, GetDecoration0,
JumpNZ, 4,
Literal, 49, StdFloorPitRectangleF3L1, StdGraphicToViewport,
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3Pit[] =
{
F3, GetDecoration0,
JumpNZ, 4,
Literal, 50, StdFloorPitRectangleF3, StdGraphicToViewport,
F3, FloorDecorationGraphicOrdinalF3, StdDrawFloorDecoration,
F3Contents, F3xy, F3 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3R1Pit[] =
{
F3R1, GetDecoration0,
JumpNZ, 4,
Literal, 49, StdFloorPitRectangleF3R1, StdMirrorGraphicToViewport,
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1 , DrawOrder4312, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1Pit[] =
{
F2L1, GetDecoration0,
JumpZ, 4,
Literal, 57,
Jump, 2,
Literal, 51,
StdFloorPitRectangleF2L1,
StdGraphicToViewport,
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2Pit[] =
{
F2, GetDecoration0,
JumpZ, 4,
Literal, 58,
Jump, 2,
Literal, 52,
StdFloorPitRectangleF2,
StdGraphicToViewport,
F2, FloorDecorationGraphicOrdinalF2, StdDrawFloorDecoration,
F2, F2xy, StdDrawCeilingPit,
F2Contents, F2xy, F2 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2R1Pit[] =
{
F2R1, GetDecoration0,
JumpZ, 4,
Literal, 57,
Jump, 2,
Literal, 51,
StdFloorPitRectangleF2R1,
StdMirrorGraphicToViewport,
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1, F2R1xy, StdDrawCeilingPit,
F2R1Contents, F2R1xy, F2R1 , DrawOrder4312, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1Pit[] =
{
F1L1, GetDecoration0,
JumpZ, 4,
Literal, 59,
Jump, 2,
Literal, 53,
StdFloorPitRectangleF1L1,
StdGraphicToViewport,
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1, F1L1xy, StdDrawCeilingPit,
F1L1Contents, F1L1xy, F1L1 , DrawOrder32, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1Pit[] =
{
F1, GetDecoration0,
JumpZ, 4,
Literal, 60,
Jump, 2,
Literal, 54,
StdFloorPitRectangleF1,
StdGraphicToViewport,
F1, FloorDecorationGraphicOrdinalF1, StdDrawFloorDecoration,
F1, F1xy, StdDrawCeilingPit,
F1Contents, F1xy, F1 , DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1R1Pit[] =
{
F1R1, GetDecoration0,
JumpZ, 4,
Literal, 59,
Jump, 2,
Literal, 53,
StdFloorPitRectangleF1R1,
StdMirrorGraphicToViewport,
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1, F1R1xy, StdDrawCeilingPit,
F1R1Contents, F1R1xy, F1R1 , DrawOrder41, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0L1Pit[] =
{
F0L1, GetDecoration0,
JumpZ, 4,
Literal, 61,
Jump, 2,
Literal, 55,
StdFloorPitRectangleF0L1,
StdGraphicToViewport,
F0L1Contents, F0L1xy, F0L1 , DrawOrder02, StdDrawRoomObjects,
F0L1, F0L1xy, StdDrawCeilingPit,
Return
};
ui16 StdDrawF0Pit[] =
{
F0, GetDecoration0,
JumpZ, 4,
Literal, 62,
Jump, 2,
Literal, 56,
StdFloorPitRectangleF0,
StdGraphicToViewport,
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0 , DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1Pit[] =
{
F0R1, GetDecoration0,
JumpZ, 4,
Literal, 61,
Jump, 2,
Literal, 55,
StdFloorPitRectangleF0R1,
StdMirrorGraphicToViewport,
F0R1, F0R1xy, StdDrawCeilingPit,
F0R1Contents, F0R1xy, F0R1 , DrawOrder01, StdDrawRoomObjects,
Return
};
//****************************************************************
// roomTELEPORTER
//****************************************************************
ui16 StdDrawF3L1Teleporter[] =
{
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1 , DrawOrder3421, StdDrawRoomObjects,
F3L1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF3L1, StdWallRectangleF3L1, StdDrawTeleporter,
Return
};
ui16 StdDrawF3Teleporter[] =
{
F3, FloorDecorationGraphicOrdinalF3, StdDrawFloorDecoration,
F3Contents, F3xy, F3 , DrawOrder3421, StdDrawRoomObjects,
F3, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF3, StdWallRectangleF3, StdDrawTeleporter,
Return
};
ui16 StdDrawF3R1Teleporter[] =
{
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1 , DrawOrder4312, StdDrawRoomObjects,
F3R1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF3R1, StdWallRectangleF3R1, StdDrawTeleporter,
Return
};
ui16 StdDrawF2L1Teleporter[] =
{
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1 , DrawOrder3421, StdDrawRoomObjects,
F2L1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF2L1, StdWallRectangleF2L1, StdDrawTeleporter,
Return
};
ui16 StdDrawF2Teleporter[] =
{
F2, FloorDecorationGraphicOrdinalF2, StdDrawFloorDecoration,
F2, F2xy, StdDrawCeilingPit,
F2Contents, F2xy, F2 , DrawOrder3421, StdDrawRoomObjects,
F2, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF2, StdWallRectangleF2, StdDrawTeleporter,
Return
};
ui16 StdDrawF2R1Teleporter[] =
{
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1, F2R1xy, StdDrawCeilingPit,
F2R1Contents, F2R1xy, F2R1 , DrawOrder4312, StdDrawRoomObjects,
F2R1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF2R1, StdWallRectangleF2R1, StdDrawTeleporter,
Return
};
ui16 StdDrawF1L1Teleporter[] =
{
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1, F1L1xy, StdDrawCeilingPit,
F1L1Contents, F1L1xy, F1L1 , DrawOrder32, StdDrawRoomObjects,
F1L1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF1L1, StdWallRectangleF1L1, StdDrawTeleporter,
Return
};
ui16 StdDrawF1R1Teleporter[] =
{
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1, F1R1xy, StdDrawCeilingPit,
F1R1Contents, F1R1xy, F1R1 , DrawOrder41, StdDrawRoomObjects,
F1R1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF1R1, StdWallRectangleF1R1, StdDrawTeleporter,
Return
};
ui16 StdDrawF1Teleporter[] =
{
F1, FloorDecorationGraphicOrdinalF1, StdDrawFloorDecoration,
F1, F1xy, StdDrawCeilingPit,
F1Contents, F1xy, F1 , DrawOrder3421, StdDrawRoomObjects,
F1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF1, StdWallRectangleF1, StdDrawTeleporter,
Return
};
ui16 StdDrawF0L1Teleporter[] =
{
F0L1Contents, F0L1xy, F0L1 , DrawOrder02, StdDrawRoomObjects,
F0L1, F0L1xy, StdDrawCeilingPit,
F0L1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF0L1, StdWallRectangleF0L1, StdDrawTeleporter,
Return
};
ui16 StdDrawF0Teleporter[] =
{
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0 , DrawOrder21, StdDrawRoomObjects,
F0, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF0, StdWallRectangleF0, StdDrawTeleporter,
Return
};
ui16 StdDrawF0R1Teleporter[] =
{
F0R1, F0R1xy, StdDrawCeilingPit,
F0R1Contents, F0R1xy, F0R1 , DrawOrder01, StdDrawRoomObjects,
F0R1, GetDecoration0, JumpZ, 3, StdTeleporterRectangleF0R1, StdWallRectangleF0R1, StdDrawTeleporter,
Return
};
//****************************************************************
// roomSTAIRFACING
//****************************************************************
ui16 StdDrawF3L1StairFacing[] =
{
F3L1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF3L1, StdStairFacingUpRectangleF3L1, StdGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF3L1, StdStairFacingDownRectangleF3L1, StdGraphicToViewport,
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1, DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3StairFacing[] =
{
F3, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF3, StdStairFacingUpRectangleF3, StdGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF3, StdStairFacingDownRectangleF3, StdGraphicToViewport,
F3, FloorDecorationGraphicOrdinalF3, StdDrawFloorDecoration,
F3Contents, F3xy, F3, DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3R1StairFacing[] =
{
F3R1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF3R1, StdStairFacingUpRectangleF3R1, StdMirrorGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF3R1, StdStairFacingDownRectangleF3R1, StdMirrorGraphicToViewport,
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1, DrawOrder4312, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1StairFacing[] =
{
F2L1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF2L1, StdStairFacingUpRectangleF2L1, StdGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF2L1, StdStairFacingDownRectangleF2L1, StdGraphicToViewport,
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1, DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2StairFacing[] =
{
F2, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF2, StdStairFacingUpRectangleF2, StdGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF2, StdStairFacingDownRectangleF2, StdGraphicToViewport,
F2, FloorDecorationGraphicOrdinalF2, StdDrawFloorDecoration,
F2, F2xy, StdDrawCeilingPit,
F2Contents, F2xy, F2, DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2R1StairFacing[] =
{
F2R1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF2R1, StdStairFacingUpRectangleF2R1, StdMirrorGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF2R1, StdStairFacingDownRectangleF2R1, StdMirrorGraphicToViewport,
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1, F2R1xy, StdDrawCeilingPit,
F2R1Contents, F2R1xy, F2R1, DrawOrder4312, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1StairFacing[] =
{
F1L1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF1L1, StdStairFacingUpRectangleF1L1, StdGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF1L1, StdStairFacingDownRectangleF1L1, StdGraphicToViewport,
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1, F1L1xy, StdDrawCeilingPit,
F1L1Contents, F1L1xy, F1L1, DrawOrder32, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1StairFacing[] =
{
F1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF1, StdStairFacingUpRectangleF1, StdGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF1, StdStairFacingDownRectangleF1, StdGraphicToViewport,
F1, FloorDecorationGraphicOrdinalF1, StdDrawFloorDecoration,
F1, F1xy, StdDrawCeilingPit,
F1Contents, F1xy, F1, DrawOrder3421, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1R1StairFacing[] =
{
F1R1, GetDecoration0,
JumpZ, 5,
StdStairFacingUpGraphicF1R1, StdStairFacingUpRectangleF1R1, StdMirrorGraphicToViewport,
Jump, 3,
StdStairFacingDownGraphicF1R1, StdStairFacingDownRectangleF1R1, StdMirrorGraphicToViewport,
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1, F1R1xy, StdDrawCeilingPit,
F1R1Contents, F1R1xy, F1R1, DrawOrder41, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0L1StairFacing[] =
{
Return
};
ui16 StdDrawF0StairFacing[] =
{
F0, GetDecoration0,
JumpZ, 8,
StdStairFacingUpGraphicF0, StdStairFacingUpRectangleF0L, StdGraphicToViewport,
StdStairFacingUpGraphicF0, StdStairFacingUpRectangleF0R, StdMirrorGraphicToViewport,
Jump, 6,
StdStairFacingDownGraphicF0, StdStairFacingDownRectangleF0L, StdGraphicToViewport,
StdStairFacingDownGraphicF0, StdStairFacingDownRectangleF0R, StdMirrorGraphicToViewport,
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0, DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1StairFacing[] =
{
Return
};
//****************************************************************
// roomSTAIREDGE
//****************************************************************
ui16 StdDrawF3L1StairEdge[] =
{
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1, DrawOrder321, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3StairEdge[] =
{
Return
};
ui16 StdDrawF3R1StairEdge[] =
{
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1, DrawOrder412, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1StairEdge[] =
{
StdStairEdgeGraphicF2, StdStairEdgeRectF2L1, StdGraphicToViewport,
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1, DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2StairEdge[] =
{
Return
};
ui16 StdDrawF2R1StairEdge[] =
{
StdStairEdgeGraphicF2, StdStairEdgeRectF2R1, StdMirrorGraphicToViewport,
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1, F2R1xy, StdDrawCeilingPit,
F2R1Contents, F2R1xy, F2R1, DrawOrder431, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1StairEdge[] =
{
F1L1, GetDecoration0,
JumpZ, 5,
StdStairEdgeGraphicUpF1, StdStairEdgeUpRectF1L1, StdGraphicToViewport,
Jump, 3,
StdStairEdgeGraphicDownF1, StdStairEdgeDownRectF1L1, StdGraphicToViewport,
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1, F1L1xy, StdDrawCeilingPit,
F1L1Contents, F1L1xy, F1L1, DrawOrder32, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1StairEdge[] =
{
Return
};
ui16 StdDrawF1R1StairEdge[] =
{
F1R1, GetDecoration0,
JumpZ, 5,
StdStairEdgeGraphicUpF1, StdStairEdgeUpRectF1R1, StdMirrorGraphicToViewport,
Jump, 3,
StdStairEdgeGraphicDownF1, StdStairEdgeDownRectF1R1, StdMirrorGraphicToViewport,
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1, F1R1xy, StdDrawCeilingPit,
F1R1Contents, F1R1xy, F1R1, DrawOrder41, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0L1StairEdge[] =
{
StdStairEdgeGraphicF0L1, StdStairEdgeRectF0L1, StdGraphicToViewport,
Return
};
ui16 StdDrawF0StairEdge[] =
{
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0, DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1StairEdge[] =
{
StdStairEdgeGraphicF0R1, StdStairEdgeRectF0R1, StdMirrorGraphicToViewport,
Return
};
//****************************************************************
// roomDOOREDGE
//****************************************************************
ui16 StdDrawF3L1DoorEdge[] =
{
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1, DrawOrder321, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3DoorEdge[] =
{
Return
};
ui16 StdDrawF3R1DoorEdge[] =
{
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1, DrawOrder412, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1DoorEdge[] =
{
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1, DrawOrder00, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2DoorEdge[] =
{
Return
};
ui16 StdDrawF2R1DoorEdge[] =
{
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1, F2R1xy, StdDrawCeilingPit,
F2R1Contents, F2R1xy, F2R1, DrawOrder431, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1DoorEdge[] =
{
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1, F1L1xy, StdDrawCeilingPit,
F1L1Contents, F1L1xy, F1L1, DrawOrder32, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1DoorEdge[] =
{
Return
};
ui16 StdDrawF1R1DoorEdge[] =
{
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1, F1R1xy, StdDrawCeilingPit,
F1R1Contents, F1R1xy, F1R1, DrawOrder41, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0L1DoorEdge[] =
{
F0L1, F0L1xy, StdDrawCeilingPit,
F0L1, F0L1xy, StdDrawCeilingPit,
Return
};
ui16 StdDrawF0DoorEdge[] =
{
SeeThroughWalls,
JumpZ, 3,
StdDrawSeeThruDoorEdge,
Jump, 3,
StdDoorEdgeFrameBitmapF0, StdDoorEdgeFrameRectF0, StdBltShapeToViewport,
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0, DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1DoorEdge[] =
{
F0R1, F0R1xy, StdDrawCeilingPit,
F0R1, F0R1xy, StdDrawCeilingPit,
Return
};
//****************************************************************
// roomDOORFACING
//****************************************************************
ui16 StdDrawF3L1DoorFacing[] =
{
F3L1, FloorDecorationGraphicOrdinalF3L1, StdDrawFloorDecoration,
F3L1Contents, F3L1xy, F3L1, DrawOrder218, StdDrawRoomObjects,
StdDoorFacingFrameLeftBitmapF3L1, StdDoorFacingFrameRectF3L1, StdBltShapeToViewport,
F3L1DoorRecordIndex, F3L1DoorState, StdDoorGraphicsF3, StdDoorRectsF3L1,
StdDrawDoor,
F3L1Contents, F3L1xy, F3L1, DrawOrder349, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3DoorFacing[] =
{
F3, FloorDecorationGraphicOrdinalF3, StdDrawFloorDecoration,
F3Contents, F3xy, F3, DrawOrder218, StdDrawRoomObjects,
StdDoorFacingFrameLeftBitmapF3, StdDoorFacingFrameLeftRectF3, StdBltShapeToViewport,
StdDoorFacingFrameLeftBitmapF3, StdDoorFacingFrameRightRectF3, StdMirrorShapeToViewport,
F3, DoorSwitch,
JumpZ, 5,
Literal, 1, Literal, 1, StdDrawDoorSwitch,
F3DoorRecordIndex, F3DoorState, StdDoorGraphicsF3, StdDoorRectsF3,
StdDrawDoor,
F3Contents, F3xy, F3, DrawOrder349, StdDrawRoomObjects,
Return
};
ui16 StdDrawF3R1DoorFacing[] =
{
F3R1, FloorDecorationGraphicOrdinalF3R1, StdDrawFloorDecoration,
F3R1Contents, F3R1xy, F3R1, DrawOrder128, StdDrawRoomObjects,
StdDoorFacingFrameLeftBitmapF3R1, StdDoorFacingFrameRectF3R1, StdMirrorShapeToViewport,
F3R1, DoorSwitch,
JumpZ, 5,
Literal, 1, Literal, 0, StdDrawDoorSwitch,
F3R1DoorRecordIndex, F3R1DoorState, StdDoorGraphicsF3, StdDoorRectsF3R1,
StdDrawDoor,
F3R1Contents, F3R1xy, F3R1, DrawOrder439, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2L1DoorFacing[] =
{
F2L1, FloorDecorationGraphicOrdinalF2L1, StdDrawFloorDecoration,
F2L1Contents, F2L1xy, F2L1, DrawOrder218, StdDrawRoomObjects,
StdDoorFacingTopTrackBitmapF2, StdDoorFacingTopTrackRectF2L1, StdBltShapeToViewport,
F2L1DoorRecordIndex, F2L1DoorState, StdDoorGraphicsF2, StdDoorRectsF2L1,
StdDrawDoor,
F2L1, F2L1xy, StdDrawCeilingPit,
F2L1Contents, F2L1xy, F2L1, DrawOrder349, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2DoorFacing[] =
{
F2, FloorDecorationGraphicOrdinalF2, StdDrawFloorDecoration,
F2Contents, F2xy, F2, DrawOrder218, StdDrawRoomObjects,
StdDoorFacingTopTrackBitmapF2, StdDoorFacingTopTrackRectF2, StdBltShapeToViewport,
StdDoorFacingFrameLeftBitmapF2, StdDoorFacingFrameLeftRectF2, StdBltShapeToViewport,
StdDoorFacingFrameLeftBitmapF2, StdDoorFacingFrameRightRectF2, StdMirrorShapeToViewport,
F2, DoorSwitch,
JumpZ, 5,
Literal, 1, Literal, 2, StdDrawDoorSwitch,
F2DoorRecordIndex, F2DoorState, StdDoorGraphicsF2, StdDoorRectsF2,
StdDrawDoor,
F2Contents, F2xy, F2, DrawOrder349, StdDrawRoomObjects,
Return
};
ui16 StdDrawF2R1DoorFacing[] =
{
F2R1, FloorDecorationGraphicOrdinalF2R1, StdDrawFloorDecoration,
F2R1Contents, F2R1xy, F2R1, DrawOrder128, StdDrawRoomObjects,
StdDoorFacingTopTrackBitmapF2, StdDoorFacingTopTrackRectF2R1, StdBltShapeToViewport,
F2R1DoorRecordIndex, F2R1DoorState, StdDoorGraphicsF2, StdDoorRectsF2R1,
StdDrawDoor,
F2R1Contents, F2R1xy, F2R1, DrawOrder439, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1L1DoorFacing[] =
{
F1L1, FloorDecorationGraphicOrdinalF1L1, StdDrawFloorDecoration,
F1L1Contents, F1L1xy, F1L1, DrawOrder28, StdDrawRoomObjects,
StdDoorFacingTopTrackBitmapF1, StdDoorFacingTopTrackRectF1L1, StdBltShapeToViewport,
F1L1DoorRecordIndex, F1L1DoorState, StdDoorGraphicsF1, StdDoorRectsF1L1,
StdDrawDoor,
F1L1Contents, F1L1xy, F1L1, DrawOrder39, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1DoorFacing[] =
{
F1, FloorDecorationGraphicOrdinalF1, StdDrawFloorDecoration,
F1Contents, F1xy, F1, DrawOrder218, StdDrawRoomObjects,
StdDoorFacingTopTrackBitmapF1, StdDoorFacingTopTrackRectF1, StdBltShapeToViewport,
StdDoorFacingFrameLeftBitmapF1, StdDoorFacingFrameLeftRectF1, StdBltShapeToViewport,
StdDoorFacingFrameRightBitmapF1, StdDoorFacingFrameRightRectF1, StdBltShapeToViewport,
F1, DoorSwitch,
JumpZ, 5,
Literal, 1, Literal, 3, StdDrawDoorSwitch,
F1DoorRecordIndex, F1DoorState, StdDoorGraphicsF1, StdDoorRectsF1,
StdDrawDoor,
F1Contents, F1xy, F1, DrawOrder349, StdDrawRoomObjects,
Return
};
ui16 StdDrawF1R1DoorFacing[] =
{
F1R1, FloorDecorationGraphicOrdinalF1R1, StdDrawFloorDecoration,
F1R1Contents, F1R1xy, F1R1, DrawOrder18, StdDrawRoomObjects,
StdDoorFacingTopTrackBitmapF1, StdDoorFacingTopTrackRectF1R1, StdBltShapeToViewport,
F1R1DoorRecordIndex, F1R1DoorState, StdDoorGraphicsF1, StdDoorRectsF1R1,
StdDrawDoor,
F1R1Contents, F1R1xy, F1R1, DrawOrder49, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0L1DoorFacing[] =
{
Return
};
ui16 StdDrawF0DoorFacing[] =
{
F0, F0xy, StdDrawCeilingPit,
F0Contents, F0xy, F0, DrawOrder21, StdDrawRoomObjects,
Return
};
ui16 StdDrawF0R1DoorFacing[] =
{
Return
};
//****************************************************************
// End of drawing code
//****************************************************************
ui16 *pStdDrawCode[17][8] =
{
{ //F3
StdDrawF3Stone,
StdDrawF3Open,
StdDrawF3Pit,
StdDrawF3Teleporter,
StdDrawF3DoorEdge,
StdDrawF3DoorFacing,
StdDrawF3StairEdge,
StdDrawF3StairFacing
},
{ //F3L1
StdDrawF3L1Stone,
StdDrawF3L1Open,
StdDrawF3L1Pit,
StdDrawF3L1Teleporter,
StdDrawF3L1DoorEdge,
StdDrawF3L1DoorFacing,
StdDrawF3L1StairEdge,
StdDrawF3L1StairFacing
},
{ //F3R1
StdDrawF3R1Stone,
StdDrawF3R1Open,
StdDrawF3R1Pit,
StdDrawF3R1Teleporter,
StdDrawF3R1DoorEdge,
StdDrawF3R1DoorFacing,
StdDrawF3R1StairEdge,
StdDrawF3R1StairFacing
},
{ //F2
StdDrawF2Stone,
StdDrawF2Open,
StdDrawF2Pit,
StdDrawF2Teleporter,
StdDrawF2DoorEdge,
StdDrawF2DoorFacing,
StdDrawF2StairEdge,
StdDrawF2StairFacing
},
{ //F2L1
StdDrawF2L1Stone,
StdDrawF2L1Open,
StdDrawF2L1Pit,
StdDrawF2L1Teleporter,
StdDrawF2L1DoorEdge,
StdDrawF2L1DoorFacing,
StdDrawF2L1StairEdge,
StdDrawF2L1StairFacing
},
{ //F2R1
StdDrawF2R1Stone,
StdDrawF2R1Open,
StdDrawF2R1Pit,
StdDrawF2R1Teleporter,
StdDrawF2R1DoorEdge,
StdDrawF2R1DoorFacing,
StdDrawF2R1StairEdge,
StdDrawF2R1StairFacing
},
{ //F1
StdDrawF1Stone,
StdDrawF1Open,
StdDrawF1Pit,
StdDrawF1Teleporter,
StdDrawF1DoorEdge,
StdDrawF1DoorFacing,
StdDrawF1StairEdge,
StdDrawF1StairFacing
},
{ //F1L1
StdDrawF1L1Stone,
StdDrawF1L1Open,
StdDrawF1L1Pit,
StdDrawF1L1Teleporter,
StdDrawF1L1DoorEdge,
StdDrawF1L1DoorFacing,
StdDrawF1L1StairEdge,
StdDrawF1L1StairFacing
},
{ //F1R1
StdDrawF1R1Stone,
StdDrawF1R1Open,
StdDrawF1R1Pit,
StdDrawF1R1Teleporter,
StdDrawF1R1DoorEdge,
StdDrawF1R1DoorFacing,
StdDrawF1R1StairEdge,
StdDrawF1R1StairFacing
},
{ //F0
StdDrawF0Stone,
StdDrawF0Open,
StdDrawF0Pit,
StdDrawF0Teleporter,
StdDrawF0DoorEdge,
StdDrawF0DoorFacing,
StdDrawF0StairEdge,
StdDrawF0StairFacing},
{ //F0L1
StdDrawF0L1Stone,
StdDrawF0L1Open,
StdDrawF0L1Pit,
StdDrawF0L1Teleporter,
StdDrawF0L1DoorEdge,
StdDrawF0L1DoorFacing,
StdDrawF0L1StairEdge,
StdDrawF0L1StairFacing
},
{ //F0R1
StdDrawF0R1Stone,
StdDrawF0R1Open,
StdDrawF0R1Pit,
StdDrawF0R1Teleporter,
StdDrawF0R1DoorEdge,
StdDrawF0R1DoorFacing,
StdDrawF0R1StairEdge,
StdDrawF0R1StairFacing
},
{ //F3R2
StdDrawF3R2Stone,
NOP,
NOP,
NOP,
NOP,
NOP,
NOP,
NOP
},
{ //F3L2
StdDrawF3L2Stone,
NOP,
NOP,
NOP,
NOP,
NOP,
NOP,
NOP
},
{ //F4
StdDrawF4Any,
StdDrawF4Any,
StdDrawF4Any,
StdDrawF4Any,
StdDrawF4Any,
StdDrawF4Any,
StdDrawF4Any,
StdDrawF4Any
},
{ //F4L1
StdDrawF4L1Any,
StdDrawF4L1Any,
StdDrawF4L1Any,
StdDrawF4L1Any,
StdDrawF4L1Any,
StdDrawF4L1Any,
StdDrawF4L1Any,
StdDrawF4L1Any
},
{ //F4R1
StdDrawF4R1Any,
StdDrawF4R1Any,
StdDrawF4R1Any,
StdDrawF4R1Any,
StdDrawF4R1Any,
StdDrawF4R1Any,
StdDrawF4R1Any,
StdDrawF4R1Any
},
};
Notice that there are 7 types of cells and 17 cell locations.