MCPcopy Create free account
hub / github.com/diasurgical/DevilutionX / SetDoorStateOpen

Function SetDoorStateOpen

Source/objects.cpp:1154–1200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1152}
1153
1154void SetDoorStateOpen(Object &door)
1155{
1156 door._oVar4 = DOOR_OPEN;
1157 door._oPreFlag = true;
1158 door._oMissFlag = true;
1159 door._oSelFlag = 2;
1160
1161 switch (door._otype) {
1162 case OBJ_L1LDOOR:
1163 // 214: blood splater
1164 // 407: blood pool
1165 // 392: open door (no frame)
1166 ObjSetMicro(door.position, door._oVar1 == 214 ? 407 : 392);
1167 dSpecial[door.position.x][door.position.y] = 7;
1168 DoorSet(door.position + Direction::NorthEast, true);
1169 break;
1170 case OBJ_L1RDOOR:
1171 ObjSetMicro(door.position, 394);
1172 dSpecial[door.position.x][door.position.y] = 8;
1173 DoorSet(door.position + Direction::NorthWest, false);
1174 break;
1175 case OBJ_L2LDOOR:
1176 ObjSetMicro(door.position, 12);
1177 dSpecial[door.position.x][door.position.y] = 5;
1178 break;
1179 case OBJ_L2RDOOR:
1180 ObjSetMicro(door.position, 16);
1181 dSpecial[door.position.x][door.position.y] = 6;
1182 break;
1183 case OBJ_L3LDOOR:
1184 ObjSetMicro(door.position, 537);
1185 break;
1186 case OBJ_L3RDOOR:
1187 ObjSetMicro(door.position, 540);
1188 break;
1189 case OBJ_L5LDOOR:
1190 ObjSetMicro(door.position, 205);
1191 CryptDoorSet(door.position + Direction::NorthEast, true);
1192 break;
1193 case OBJ_L5RDOOR:
1194 ObjSetMicro(door.position, 208);
1195 CryptDoorSet(door.position + Direction::NorthWest, false);
1196 break;
1197 default:
1198 break;
1199 }
1200}
1201
1202void SetDoorStateClosed(Object &door)
1203{

Callers 2

OpenDoorFunction · 0.85
SyncDoorFunction · 0.85

Calls 3

ObjSetMicroFunction · 0.85
DoorSetFunction · 0.85
CryptDoorSetFunction · 0.85

Tested by

no test coverage detected