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

Function SyncObjectAnim

Source/objects.cpp:4823–4876  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4821}
4822
4823void SyncObjectAnim(Object &object)
4824{
4825 object_graphic_id index = AllObjects[object._otype].ofindex;
4826
4827 if (!HeadlessMode) {
4828 const auto &found = std::find(std::begin(ObjFileList), std::end(ObjFileList), index);
4829 if (found == std::end(ObjFileList)) {
4830 LogCritical("Unable to find object_graphic_id {} in list of objects to load, level generation error.", static_cast<int>(index));
4831 return;
4832 }
4833
4834 const int i = std::distance(std::begin(ObjFileList), found);
4835
4836 if (pObjCels[i]) {
4837 object._oAnimData.emplace(*pObjCels[i]);
4838 } else {
4839 object._oAnimData = std::nullopt;
4840 }
4841 }
4842
4843 switch (object._otype) {
4844 case OBJ_L1LDOOR:
4845 case OBJ_L1RDOOR:
4846 case OBJ_L2LDOOR:
4847 case OBJ_L2RDOOR:
4848 case OBJ_L3LDOOR:
4849 case OBJ_L3RDOOR:
4850 case OBJ_L5LDOOR:
4851 case OBJ_L5RDOOR:
4852 SyncDoor(object);
4853 break;
4854 case OBJ_CRUX1:
4855 case OBJ_CRUX2:
4856 case OBJ_CRUX3:
4857 SyncCrux(object);
4858 break;
4859 case OBJ_LEVER:
4860 case OBJ_L5LEVER:
4861 case OBJ_BOOK2L:
4862 case OBJ_SWITCHSKL:
4863 SyncLever(object);
4864 break;
4865 case OBJ_BOOK2R:
4866 case OBJ_BLINDBOOK:
4867 case OBJ_STEELTOME:
4868 SyncQSTLever(object);
4869 break;
4870 case OBJ_PEDESTAL:
4871 SyncPedestal(object);
4872 break;
4873 default:
4874 break;
4875 }
4876}
4877
4878StringOrView Object::name() const
4879{

Callers 5

OperateBookFunction · 0.85
OperateChamberOfBoneBookFunction · 0.85
LoadLevelFunction · 0.85
LoadGameFunction · 0.85
ResyncQuestsFunction · 0.85

Calls 8

beginFunction · 0.85
endFunction · 0.85
LogCriticalFunction · 0.85
SyncDoorFunction · 0.85
SyncCruxFunction · 0.85
SyncLeverFunction · 0.85
SyncQSTLeverFunction · 0.85
SyncPedestalFunction · 0.85

Tested by

no test coverage detected