From 520e94b49b57b01e916f56ab79eaa9cb7b71aef9 Mon Sep 17 00:00:00 2001 From: Sergey Semushin Date: Tue, 23 Apr 2019 23:31:48 +0300 Subject: [PATCH] Clean up SyncObjectAnim. --- Source/objects.cpp | 97 +++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 53 deletions(-) diff --git a/Source/objects.cpp b/Source/objects.cpp index 257c7bf70..e80dc8b29 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -4666,60 +4666,51 @@ void SyncL3Doors(int i) void SyncObjectAnim(int o) { - int v1; // edx - int v2; // ebx - int v3; // esi - - v1 = object[o]._otype; - v2 = ObjFileList[0]; - v3 = 0; - while (v2 != (char)AllObjects[object[o]._otype].ofindex) - v2 = ObjFileList[v3++ + 1]; - object[o]._oAnimData = pObjCels[v3]; - if (v1 <= OBJ_BOOK2R) { - if (v1 != OBJ_BOOK2R) { - if (v1 > OBJ_L1LIGHT) { - if (v1 <= OBJ_L1RDOOR) { - SyncL1Doors(o); - } else { - if (v1 == OBJ_LEVER) - goto LABEL_30; - if (v1 > OBJ_SKSTICK5) { - if (v1 <= OBJ_CRUX3) { - SyncCrux(o); - return; - } - if (v1 == OBJ_BOOK2L || v1 == OBJ_SWITCHSKL) - LABEL_30: - SyncLever(o); - } - } - } - return; - } - LABEL_24: - SyncQSTLever(o); - return; + int file; + int i; + int ofindex; + + file = ObjFileList[0]; + ofindex = AllObjects[object[o]._otype].ofindex; + i = 0; + while (file != ofindex) { + file = ObjFileList[i + 1]; + i++; } - if (v1 >= OBJ_L2LDOOR) { - if (v1 <= OBJ_L2RDOOR) { - SyncL2Doors(o); - return; - } - if (v1 == OBJ_BLINDBOOK) - goto LABEL_24; - if (v1 == OBJ_PEDISTAL) { - SyncPedistal(o); - return; - } - if (v1 > OBJ_PEDISTAL) { - if (v1 <= OBJ_L3RDOOR) { - SyncL3Doors(o); - return; - } - if (v1 == OBJ_STEELTOME) - goto LABEL_24; - } + object[o]._oAnimData = pObjCels[i]; + switch (object[o]._otype) { + case OBJ_BOOK2R: + case OBJ_BLINDBOOK: + case OBJ_STEELTOME: + SyncQSTLever(o); + break; + case OBJ_L1LIGHT: + break; + case OBJ_L1LDOOR: + case OBJ_L1RDOOR: + SyncL1Doors(o); + break; + case OBJ_L2LDOOR: + case OBJ_L2RDOOR: + SyncL2Doors(o); + break; + case OBJ_L3LDOOR: + case OBJ_L3RDOOR: + SyncL3Doors(o); + break; + case OBJ_LEVER: + case OBJ_BOOK2L: + case OBJ_SWITCHSKL: + SyncLever(o); + break; + case OBJ_CRUX1: + case OBJ_CRUX2: + case OBJ_CRUX3: + SyncCrux(o); + break; + case OBJ_PEDISTAL: + SyncPedistal(o); + break; } }