Devilution
Diablo devolved - magic behind the 1996 computer game
|
Go to the source code of this file.
Functions | |
static BOOL | DRLG_L2PlaceMiniSet (BYTE *miniset, int tmin, int tmax, int cx, int cy, BOOL setview, int ldir) |
static void | DRLG_L2PlaceRndSet (BYTE *miniset, int rndper) |
static void | DRLG_L2Subs () |
static void | DRLG_L2Shadows () |
void | InitDungeon () |
static void | DRLG_LoadL2SP () |
static void | DRLG_FreeL2SP () |
static void | DRLG_L2SetRoom (int rx1, int ry1) |
static void | DefineRoom (int nX1, int nY1, int nX2, int nY2, BOOL ForceHW) |
static void | CreateDoorType (int nX, int nY) |
static void | PlaceHallExt (int nX, int nY) |
static void | AddHall (int nX1, int nY1, int nX2, int nY2, int nHd) |
static void | CreateRoom (int nX1, int nY1, int nX2, int nY2, int nRDest, int nHDir, BOOL ForceHW, int nH, int nW) |
Draws a random room rectangle, and then subdivides the rest of the passed in rectangle into 4 and recurses. More... | |
static void | GetHall (int *nX1, int *nY1, int *nX2, int *nY2, int *nHd) |
static void | ConnectHall (int nX1, int nY1, int nX2, int nY2, int nHd) |
static void | DoPatternCheck (int i, int j) |
static void | L2TileFix () |
static BOOL | DL2_Cont (BOOL x1f, BOOL y1f, BOOL x2f, BOOL y2f) |
static int | DL2_NumNoChar () |
static void | DL2_DrawRoom (int x1, int y1, int x2, int y2) |
static void | DL2_KnockWalls (int x1, int y1, int x2, int y2) |
static BOOL | DL2_FillVoids () |
static BOOL | CreateDungeon () |
static void | DRLG_L2Pass3 () |
static void | DRLG_L2FTVR (int i, int j, int x, int y, int d) |
static void | DRLG_L2FloodTVal () |
static void | DRLG_L2TransFix () |
static void | L2DirtFix () |
void | L2LockoutFix () |
void | L2DoorFix () |
static void | DRLG_L2 (int entry) |
static void | DRLG_InitL2Vals () |
void | LoadL2Dungeon (char *sFileName, int vx, int vy) |
void | LoadPreL2Dungeon (char *sFileName, int vx, int vy) |
void | CreateL2Dungeon (DWORD rseed, int entry) |
Variables | |
DEVILUTION_BEGIN_NAMESPACE int | nSx1 |
int | nSx2 |
int | nSy1 |
int | nSy2 |
int | nRoomCnt |
BYTE | predungeon [DMAXX][DMAXY] |
ROOMNODE | RoomList [81] |
HALLNODE * | pHallList |
int | Area_Min = 2 |
int | Room_Max = 10 |
int | Room_Min = 4 |
int | Dir_Xadd [5] = { 0, 0, 1, 0, -1 } |
int | Dir_Yadd [5] = { 0, -1, 0, 1, 0 } |
ShadowStruct | SPATSL2 [2] = { { 6, 3, 0, 3, 48, 0, 50 }, { 9, 3, 0, 3, 48, 0, 50 } } |
BYTE | BTYPESL2 [161] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 17, 18, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } |
BYTE | BSTYPESL2 [161] = { 0, 1, 2, 3, 0, 0, 6, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 6, 6, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, 2, 2, 0, 0, 0, 1, 1, 1, 1, 6, 2, 2, 2, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 2, 2, 3, 3, 3, 3, 1, 1, 2, 2, 3, 3, 3, 3, 1, 1, 3, 3, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } |
BYTE | VARCH1 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 7, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH2 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 8, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH3 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 6, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH4 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 9, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH5 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 14, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH6 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 13, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH7 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 16, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH8 [] = { 2, 4, 3, 0, 3, 1, 3, 4, 0, 15, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH9 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 7, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH10 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 8, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH11 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 6, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH12 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 9, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH13 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 14, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH14 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 13, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH15 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 16, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH16 [] = { 2, 4, 3, 0, 3, 8, 3, 4, 0, 15, 48, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH17 [] = { 2, 3, 2, 7, 3, 4, 0, 7, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH18 [] = { 2, 3, 2, 7, 3, 4, 0, 8, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH19 [] = { 2, 3, 2, 7, 3, 4, 0, 6, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH20 [] = { 2, 3, 2, 7, 3, 4, 0, 9, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH21 [] = { 2, 3, 2, 7, 3, 4, 0, 14, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH22 [] = { 2, 3, 2, 7, 3, 4, 0, 13, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH23 [] = { 2, 3, 2, 7, 3, 4, 0, 16, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH24 [] = { 2, 3, 2, 7, 3, 4, 0, 15, 141, 39, 47, 44, 0, 0 } |
BYTE | VARCH25 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 7, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH26 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 8, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH27 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 6, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH28 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 9, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH29 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 14, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH30 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 13, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH31 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 16, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH32 [] = { 2, 4, 3, 0, 3, 4, 3, 1, 0, 15, 48, 0, 51, 39, 47, 44, 0, 0 } |
BYTE | VARCH33 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 7, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH34 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 8, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH35 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 6, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH36 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 9, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH37 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 14, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH38 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 13, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH39 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 16, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | VARCH40 [] = { 2, 4, 2, 0, 3, 8, 3, 4, 0, 15, 142, 0, 51, 42, 47, 44, 0, 0 } |
BYTE | HARCH1 [] = { 3, 2, 3, 3, 0, 2, 5, 9, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH2 [] = { 3, 2, 3, 3, 0, 2, 5, 6, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH3 [] = { 3, 2, 3, 3, 0, 2, 5, 8, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH4 [] = { 3, 2, 3, 3, 0, 2, 5, 7, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH5 [] = { 3, 2, 3, 3, 0, 2, 5, 15, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH6 [] = { 3, 2, 3, 3, 0, 2, 5, 16, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH7 [] = { 3, 2, 3, 3, 0, 2, 5, 13, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH8 [] = { 3, 2, 3, 3, 0, 2, 5, 14, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH9 [] = { 3, 2, 3, 3, 0, 8, 5, 9, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH10 [] = { 3, 2, 3, 3, 0, 8, 5, 6, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH11 [] = { 3, 2, 3, 3, 0, 8, 5, 8, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH12 [] = { 3, 2, 3, 3, 0, 8, 5, 7, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH13 [] = { 3, 2, 3, 3, 0, 8, 5, 15, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH14 [] = { 3, 2, 3, 3, 0, 8, 5, 16, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH15 [] = { 3, 2, 3, 3, 0, 8, 5, 13, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH16 [] = { 3, 2, 3, 3, 0, 8, 5, 14, 49, 46, 0, 43, 45, 0 } |
BYTE | HARCH17 [] = { 3, 2, 1, 3, 0, 8, 5, 9, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH18 [] = { 3, 2, 1, 3, 0, 8, 5, 6, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH19 [] = { 3, 2, 1, 3, 0, 8, 5, 8, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH20 [] = { 3, 2, 1, 3, 0, 8, 5, 7, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH21 [] = { 3, 2, 1, 3, 0, 8, 5, 15, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH22 [] = { 3, 2, 1, 3, 0, 8, 5, 16, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH23 [] = { 3, 2, 1, 3, 0, 8, 5, 13, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH24 [] = { 3, 2, 1, 3, 0, 8, 5, 14, 140, 46, 0, 43, 45, 0 } |
BYTE | HARCH25 [] = { 3, 2, 3, 3, 0, 5, 2, 9, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH26 [] = { 3, 2, 3, 3, 0, 5, 2, 6, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH27 [] = { 3, 2, 3, 3, 0, 5, 2, 8, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH28 [] = { 3, 2, 3, 3, 0, 5, 2, 7, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH29 [] = { 3, 2, 3, 3, 0, 5, 2, 15, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH30 [] = { 3, 2, 3, 3, 0, 5, 2, 16, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH31 [] = { 3, 2, 3, 3, 0, 5, 2, 13, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH32 [] = { 3, 2, 3, 3, 0, 5, 2, 14, 49, 46, 0, 40, 45, 0 } |
BYTE | HARCH33 [] = { 3, 2, 1, 3, 0, 9, 5, 9, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH34 [] = { 3, 2, 1, 3, 0, 9, 5, 6, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH35 [] = { 3, 2, 1, 3, 0, 9, 5, 8, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH36 [] = { 3, 2, 1, 3, 0, 9, 5, 7, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH37 [] = { 3, 2, 1, 3, 0, 9, 5, 15, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH38 [] = { 3, 2, 1, 3, 0, 9, 5, 16, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH39 [] = { 3, 2, 1, 3, 0, 9, 5, 13, 140, 46, 0, 40, 45, 0 } |
BYTE | HARCH40 [] = { 3, 2, 1, 3, 0, 9, 5, 14, 140, 46, 0, 40, 45, 0 } |
BYTE | USTAIRS [] = { 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 72, 77, 0, 0, 76, 0, 0, 0, 0, 0, 0 } |
BYTE | DSTAIRS [] = { 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 48, 71, 0, 0, 50, 78, 0, 0, 0, 0, 0 } |
BYTE | WARPSTAIRS [] = { 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 158, 160, 0, 0, 159, 0, 0, 0, 0, 0, 0 } |
BYTE | CRUSHCOL [] = { 3, 3, 3, 1, 3, 2, 6, 3, 3, 3, 3, 0, 0, 0, 0, 83, 0, 0, 0, 0 } |
BYTE | BIG1 [] = { 2, 2, 3, 3, 3, 3, 113, 0, 112, 0 } |
BYTE | BIG2 [] = { 2, 2, 3, 3, 3, 3, 114, 115, 0, 0 } |
BYTE | BIG3 [] = { 1, 2, 1, 1, 117, 116 } |
BYTE | BIG4 [] = { 2, 1, 2, 2, 118, 119 } |
BYTE | BIG5 [] = { 2, 2, 3, 3, 3, 3, 120, 122, 121, 123 } |
BYTE | BIG6 [] = { 1, 2, 1, 1, 125, 124 } |
BYTE | BIG7 [] = { 2, 1, 2, 2, 126, 127 } |
BYTE | BIG8 [] = { 2, 2, 3, 3, 3, 3, 128, 130, 129, 131 } |
BYTE | BIG9 [] = { 2, 2, 1, 3, 1, 3, 133, 135, 132, 134 } |
BYTE | BIG10 [] = { 2, 2, 2, 2, 3, 3, 136, 137, 3, 3 } |
BYTE | RUINS1 [] = { 1, 1, 1, 80 } |
BYTE | RUINS2 [] = { 1, 1, 1, 81 } |
BYTE | RUINS3 [] = { 1, 1, 1, 82 } |
BYTE | RUINS4 [] = { 1, 1, 2, 84 } |
BYTE | RUINS5 [] = { 1, 1, 2, 85 } |
BYTE | RUINS6 [] = { 1, 1, 2, 86 } |
BYTE | RUINS7 [] = { 1, 1, 8, 87 } |
BYTE | PANCREAS1 [] = { 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0 } |
BYTE | PANCREAS2 [] = { 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0 } |
BYTE | CTRDOOR1 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 9, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR2 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 8, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR3 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 6, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR4 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 7, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR5 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 15, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR6 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 13, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR7 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 16, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
BYTE | CTRDOOR8 [] = { 3, 3, 3, 1, 3, 0, 4, 0, 0, 14, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0 } |
int | Patterns [100][10] |
Implementation of the catacombs level generation algorithms.
Definition in file drlg_l2.cpp.