MCPcopy Create free account
hub / github.com/diasurgical/devilution / InitAutomap

Function InitAutomap

Source/automap.cpp:50–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48}
49
50void InitAutomap()
51{
52 BYTE b1, b2;
53 DWORD dwTiles;
54 int x, y;
55 BYTE *pAFile, *pTmp;
56 int i, j;
57 int d;
58
59 j = 50;
60
61 for (i = 0; i < 31; i++) {
62 d = (j << 6) / 100;
63 AmShiftTab[i] = 2 * (320 / d) + 1;
64 if (320 % d)
65 AmShiftTab[i]++;
66 if (320 % d >= (j << 5) / 100)
67 AmShiftTab[i]++;
68 j += 5;
69 }
70
71 memset(automaptype, 0, sizeof(automaptype));
72
73 switch (leveltype) {
74 case DTYPE_CATHEDRAL:
75 pAFile = LoadFileInMem("Levels\\L1Data\\L1.AMP", &dwTiles);
76 break;
77 case DTYPE_CATACOMBS:
78 pAFile = LoadFileInMem("Levels\\L2Data\\L2.AMP", &dwTiles);
79 break;
80 case DTYPE_CAVES:
81 pAFile = LoadFileInMem("Levels\\L3Data\\L3.AMP", &dwTiles);
82 break;
83 case DTYPE_HELL:
84 pAFile = LoadFileInMem("Levels\\L4Data\\L4.AMP", &dwTiles);
85 break;
86 default:
87 return;
88 }
89
90 dwTiles >>= 1;
91 pTmp = pAFile;
92
93 for (i = 1; i <= dwTiles; i++) {
94 b1 = *pTmp++;
95 b2 = *pTmp++;
96 automaptype[i] = b1 + (b2 << 8);
97 }
98
99 mem_free_dbg(pAFile);
100 memset(automapview, 0, sizeof(automapview));
101
102 for (y = 0; y < MAXDUNY; y++) {
103 for (x = 0; x < MAXDUNX; x++)
104 dFlags[x][y] &= ~BFLAG_EXPLORED;
105 }
106}
107

Callers 1

LoadGameLevelFunction · 0.85

Calls 2

LoadFileInMemFunction · 0.85
mem_free_dbgFunction · 0.85

Tested by

no test coverage detected