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

Function TFit_Shrine

Source/themes.cpp:52–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50};
51
52BOOL TFit_Shrine(int i)
53{
54 int xp, yp, found;
55
56 xp = 0;
57 yp = 0;
58 found = 0;
59 while (found == 0) {
60 if (dTransVal[xp][yp] == themes[i].ttval) {
61 if (nTrapTable[dPiece[xp][yp - 1]]
62 && !nSolidTable[dPiece[xp - 1][yp]]
63 && !nSolidTable[dPiece[xp + 1][yp]]
64 && dTransVal[xp - 1][yp] == themes[i].ttval
65 && dTransVal[xp + 1][yp] == themes[i].ttval
66 && dObject[xp - 1][yp - 1] == 0
67 && dObject[xp + 1][yp - 1] == 0) {
68 found = 1;
69 }
70 if (found == 0
71 && nTrapTable[dPiece[xp - 1][yp]]
72 && !nSolidTable[dPiece[xp][yp - 1]]
73 && !nSolidTable[dPiece[xp][yp + 1]]
74 && dTransVal[xp][yp - 1] == themes[i].ttval
75 && dTransVal[xp][yp + 1] == themes[i].ttval
76 && dObject[xp - 1][yp - 1] == 0
77 && dObject[xp - 1][yp + 1] == 0) {
78 found = 2;
79 }
80 }
81 if (found == 0) {
82 xp++;
83 if (xp == MAXDUNX) {
84 xp = 0;
85 yp++;
86 if (yp == MAXDUNY)
87 return FALSE;
88 }
89 }
90 }
91 themex = xp;
92 themey = yp;
93 themeVar1 = found;
94 return TRUE;
95}
96
97BOOL TFit_Obj5(int t)
98{

Callers 3

SpecialThemeFitFunction · 0.85
Theme_ShrineFunction · 0.85
Theme_LibraryFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected