diff options
author | Littleboy | 2013-11-23 19:07:15 -0500 |
---|---|---|
committer | Littleboy | 2013-12-10 01:54:56 -0500 |
commit | 1314c5c128873804446d10edaaf2f2bb4fbe1def (patch) | |
tree | e6ee641caabd52ac0810a88ca033cb98883277b6 /engines/lastexpress | |
parent | f8c45b93a3e972ab728e1e15a38ec78e05147e79 (diff) | |
download | scummvm-rg350-1314c5c128873804446d10edaaf2f2bb4fbe1def.tar.gz scummvm-rg350-1314c5c128873804446d10edaaf2f2bb4fbe1def.tar.bz2 scummvm-rg350-1314c5c128873804446d10edaaf2f2bb4fbe1def.zip |
LASTEXPRESS: Rename Object properties
Diffstat (limited to 'engines/lastexpress')
24 files changed, 214 insertions, 200 deletions
diff --git a/engines/lastexpress/entities/abbot.cpp b/engines/lastexpress/entities/abbot.cpp index 5b6cb04326..fd91069438 100644 --- a/engines/lastexpress/entities/abbot.cpp +++ b/engines/lastexpress/entities/abbot.cpp @@ -1791,7 +1791,7 @@ IMPLEMENT_FUNCTION(49, Abbot, catchCath) break; case 1: - getAction()->playAnimation(getObjects()->get(kObjectCompartment2).location2 < kObjectLocation2 ? kEventAbbotWrongCompartmentBed : kEventAbbotWrongCompartment); + getAction()->playAnimation(getObjects()->get(kObjectCompartment2).model < kObjectLocation2 ? kEventAbbotWrongCompartmentBed : kEventAbbotWrongCompartment); getEntities()->updateEntity(kEntityAbbot, kCarRedSleeping, kPosition_6470); getSound()->playSound(kEntityPlayer, "LIB015"); getScenes()->loadSceneFromObject(kObjectCompartment2, true); diff --git a/engines/lastexpress/entities/anna.cpp b/engines/lastexpress/entities/anna.cpp index ba88f38f49..4889f66c69 100644 --- a/engines/lastexpress/entities/anna.cpp +++ b/engines/lastexpress/entities/anna.cpp @@ -1400,7 +1400,7 @@ IMPLEMENT_FUNCTION(33, Anna, readyForBed) case kActionCallback: if (getCallback() == 1) { - getObjects()->updateLocation2(kObjectCompartmentF, kObjectLocation1); + getObjects()->updateModel(kObjectCompartmentF, kObjectModel1); setup_asleep(); } break; diff --git a/engines/lastexpress/entities/august.cpp b/engines/lastexpress/entities/august.cpp index da0e64f4f8..4b6bceba1f 100644 --- a/engines/lastexpress/entities/august.cpp +++ b/engines/lastexpress/entities/august.cpp @@ -640,7 +640,7 @@ label_continue: break; case 6: - getAction()->playAnimation(getObjects()->get(kObjectCompartment3).location2 == kObjectLocation1 ? kEventMeetAugustHisCompartmentBed : kEventMeetAugustHisCompartment); + getAction()->playAnimation(getObjects()->get(kObjectCompartment3).model == kObjectLocation1 ? kEventMeetAugustHisCompartmentBed : kEventMeetAugustHisCompartment); getProgress().eventMetAugust = true; getObjects()->update(kObjectCompartment3, kEntityAugust, kObjectLocation1, kCursorNormal, kCursorNormal); @@ -840,11 +840,11 @@ label_callback_9: if (CURRENT_PARAM(1, 1) >= getState()->timeTicks) break; - if (getObjects()->get(kObjectCompartment1).location == kObjectLocation1) { + if (getObjects()->get(kObjectCompartment1).status == kObjectLocation1) { if (!Entity::updateParameter(CURRENT_PARAM(1, 2), getState()->timeTicks, 75)) break; - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); params->param6++; @@ -866,7 +866,7 @@ label_callback_9: params->param8++; if (params->param8 >= 3) { - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; } @@ -874,12 +874,12 @@ label_callback_9: params->param6 = 0; } - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, params->param4 ? kCursorNormal : kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, params->param4 ? kCursorNormal : kCursorTalk, kCursorHand); CURRENT_PARAM(1, 2) = 0; } else { if (getProgress().eventCorpseMovedFromFloor && getProgress().jacket != kJacketBlood) { - params->param7 = (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) ? 8 : 7; + params->param7 = (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) ? 8 : 7; getObjects()->update(kObjectOutsideTylerCompartment, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); setCallback(4); @@ -900,7 +900,7 @@ label_callback_9: setCallback(15); setup_playSound("LIB012"); } else if (!params->param4) { - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); setCallback(17); setup_playSound("AUG1002A"); @@ -912,9 +912,9 @@ label_callback_9: if (params->param3) { getData()->location = kLocationInsideCompartment; - params->param7 = (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) ? kEventMeetAugustHisCompartmentBed : kEventMeetAugustHisCompartment; + params->param7 = (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) ? kEventMeetAugustHisCompartmentBed : kEventMeetAugustHisCompartment; } else { - params->param7 = (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) ? kEventMeetAugustTylerCompartmentBed : kEventMeetAugustTylerCompartment; + params->param7 = (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) ? kEventMeetAugustTylerCompartmentBed : kEventMeetAugustTylerCompartment; } setCallback(14); @@ -931,14 +931,14 @@ label_callback_9: if (getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_8200) || getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_7850) || getEntities()->isOutsideAlexeiWindow()) { - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); if (getEntities()->isOutsideAlexeiWindow()) getScenes()->loadSceneFromPosition(kCarGreenSleeping, 49); getSound()->playSound(kEntityPlayer, "LIB012"); - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, kCursorTalk, kCursorHand); params->param2 = 1; } else { @@ -996,7 +996,7 @@ label_callback_9: case 6: case 7: - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, params->param4 ? kCursorNormal : kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, params->param4 ? kCursorNormal : kCursorTalk, kCursorHand); ENTITY_PARAM(1, 2) = 0; break; @@ -1032,7 +1032,7 @@ label_callback_9: break; case 13: - getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).location == kObjectLocation1 ? "LIB032" : "LIB014"); + getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).status == kObjectLocation1 ? "LIB032" : "LIB014"); getAction()->playAnimation(kEventAugustFindCorpse); if (getEvent(kEventDinerAugustOriginalJacket)) @@ -1045,7 +1045,7 @@ label_callback_9: case 14: if (!params->param2) - getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).location == kObjectLocation1 ? "LIB032" : "LIB014"); + getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).status == kObjectLocation1 ? "LIB032" : "LIB014"); getObjects()->update(kObjectCompartment1, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); getObjects()->update(kObjectOutsideTylerCompartment, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); @@ -1070,7 +1070,7 @@ label_callback_9: case 17: params->param4 = 1; - getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorHand); break; } break; diff --git a/engines/lastexpress/entities/chapters.cpp b/engines/lastexpress/entities/chapters.cpp index 6cf99d684f..2aeca2bc35 100644 --- a/engines/lastexpress/entities/chapters.cpp +++ b/engines/lastexpress/entities/chapters.cpp @@ -349,19 +349,19 @@ IMPLEMENT_FUNCTION(7, Chapters, chapter1Init) getObjects()->update(kObjectOutsideTylerCompartment, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); for (uint i = kObjectCompartment1; i <= kObjectCompartment8; i++) { - getObjects()->updateLocation2((ObjectIndex)i, kObjectLocation2); + getObjects()->updateModel((ObjectIndex) i, kObjectModel2); } for (uint i = kObjectCompartmentA; i <= kObjectCompartmentH; i++) { - getObjects()->updateLocation2((ObjectIndex)i, kObjectLocation2); + getObjects()->updateModel((ObjectIndex) i, kObjectModel2); } params->param1 = 40; - getObjects()->updateLocation2(kObject25, kObjectLocation1); - getObjects()->updateLocation2(kObjectTrainTimeTable, kObjectLocation1); - getObjects()->updateLocation2(kObject98, kObjectLocation1); - getObjects()->updateLocation2(kObjectRestaurantCar, kObjectLocation1); + getObjects()->updateModel(kObject25, kObjectModel1); + getObjects()->updateModel(kObjectTrainTimeTable, kObjectModel1); + getObjects()->updateModel(kObject98, kObjectModel1); + getObjects()->updateModel(kObjectRestaurantCar, kObjectModel1); getObjects()->update(kObject25, kEntityPlayer, kObjectLocationNone, kCursorNormal, kCursorForward); getObjects()->update(kObjectTrainTimeTable, kEntityPlayer, kObjectLocationNone, kCursorNormal, kCursorForward); @@ -792,11 +792,11 @@ IMPLEMENT_FUNCTION(11, Chapters, chapter2Init) getInventory()->setLocationAndProcess(kItem3, kObjectLocation1); for (uint i = 1; i < 9; i++) { - getObjects()->updateLocation2((ObjectIndex)i, kObjectLocation2); + getObjects()->updateModel((ObjectIndex) i, kObjectModel2); } for (uint i = 33; i < 40; i++) { - getObjects()->updateLocation2((ObjectIndex)i, kObjectLocation2); + getObjects()->updateModel((ObjectIndex) i, kObjectModel2); } params->param1 = 40; @@ -893,7 +893,7 @@ IMPLEMENT_FUNCTION(14, Chapters, chapter3Init) getObjects()->update(kObjectHandleOutsideRight, kEntityPlayer, kObjectLocation1, kCursorNormal, kCursorHand); getInventory()->setLocationAndProcess(kItemBriefcase, kObjectLocation1); getInventory()->setLocationAndProcess(kItem3, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartment1, kObjectLocation2); + getObjects()->updateModel(kObjectCompartment1, kObjectModel2); getObjects()->update(kObject107, kEntityPlayer, kObjectLocation3, kCursorKeepValue, kCursorKeepValue); if (ENTITY_PARAM(0, 2) || ENTITY_PARAM(0, 3)) { @@ -1204,7 +1204,7 @@ IMPLEMENT_FUNCTION(18, Chapters, chapter4Init) if (getInventory()->get(kItemBeetle)->location == kObjectLocation3) getScenes()->loadSceneFromItemPosition(kItemBeetle); - getObjects()->updateLocation2(kObject25, kObjectLocation2); + getObjects()->updateModel(kObject25, kObjectModel2); getObjects()->update(kObject107, kEntityPlayer, kObjectLocation3, kCursorKeepValue, kCursorKeepValue); if (ENTITY_PARAM(0, 2) || ENTITY_PARAM(0, 3)) { @@ -1265,7 +1265,7 @@ label_exitPozsony: break; label_enterGalanta: - if (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) { + if (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) { if (getState()->time > kTime2403000 && !CURRENT_PARAM(1, 2)) { CURRENT_PARAM(1, 2) = 1; getProgress().field_18 = 2; @@ -1675,8 +1675,8 @@ IMPLEMENT_FUNCTION(21, Chapters, chapter5Init) getObjects()->update(kObject94, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); getObjects()->update(kObject101, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); - getObjects()->updateLocation2(kObject98, kObjectLocation2); - getObjects()->updateLocation2(kObjectRestaurantCar, kObjectLocation2); + getObjects()->updateModel(kObject98, kObjectModel2); + getObjects()->updateModel(kObjectRestaurantCar, kObjectModel2); if (ENTITY_PARAM(0, 2) || ENTITY_PARAM(0, 3)) { getSoundQueue()->removeFromQueue(kEntityChapters); diff --git a/engines/lastexpress/entities/coudert.cpp b/engines/lastexpress/entities/coudert.cpp index b604277903..ebe2a930a5 100644 --- a/engines/lastexpress/entities/coudert.cpp +++ b/engines/lastexpress/entities/coudert.cpp @@ -915,7 +915,7 @@ IMPLEMENT_FUNCTION_II(20, Coudert, function20, ObjectIndex, ObjectIndex) if (!Entity::updateParameter(CURRENT_PARAM(1, 4), getState()->time, 900)) break; - getObjects()->updateLocation2((ObjectIndex)params->param1, kObjectLocation1); + getObjects()->updateModel((ObjectIndex) params->param1, kObjectModel1); if (params->param4 != kObjectLocation2) getObjects()->update((ObjectIndex)params->param1, (EntityIndex)params->param3, (ObjectLocation)params->param4, (CursorStyle)params->param5, (CursorStyle)params->param6); @@ -938,15 +938,15 @@ IMPLEMENT_FUNCTION_II(20, Coudert, function20, ObjectIndex, ObjectIndex) case kActionDefault: params->param3 = getObjects()->get((ObjectIndex)params->param1).entity; - params->param4 = getObjects()->get((ObjectIndex)params->param1).location; - params->param5 = getObjects()->get((ObjectIndex)params->param1).cursor; - params->param6 = getObjects()->get((ObjectIndex)params->param1).cursor2; + params->param4 = getObjects()->get((ObjectIndex)params->param1).status; + params->param5 = getObjects()->get((ObjectIndex)params->param1).windowCursor; + params->param6 = getObjects()->get((ObjectIndex)params->param1).handleCursor; if (params->param2) { params->param7 = getObjects()->get((ObjectIndex)params->param2).entity; - params->param8 = getObjects()->get((ObjectIndex)params->param2).location; - CURRENT_PARAM(1, 1) = getObjects()->get((ObjectIndex)params->param2).cursor; - CURRENT_PARAM(1, 2) = getObjects()->get((ObjectIndex)params->param2).cursor2; + params->param8 = getObjects()->get((ObjectIndex)params->param2).status; + CURRENT_PARAM(1, 1) = getObjects()->get((ObjectIndex)params->param2).windowCursor; + CURRENT_PARAM(1, 2) = getObjects()->get((ObjectIndex)params->param2).handleCursor; getObjects()->update((ObjectIndex)params->param2, kEntityCoudert, kObjectLocation1, kCursorHandKnock, kCursorHand); } @@ -1580,7 +1580,7 @@ IMPLEMENT_FUNCTION_I(30, Coudert, function30, ObjectIndex) case 2: if (getEntities()->checkFields19(kEntityPlayer, kCarRedSleeping, (EntityPosition)parameters->param3) || ((parameters->param1 == kObjectCompartmentE || parameters->param1 == kObjectCompartmentF) && getEntities()->isOutsideAnnaWindow())) { - getObjects()->update((ObjectIndex)parameters->param1, kEntityPlayer, getObjects()->get((ObjectIndex)parameters->param1).location, kCursorNormal, kCursorNormal); + getObjects()->update((ObjectIndex)parameters->param1, kEntityPlayer, getObjects()->get((ObjectIndex)parameters->param1).status, kCursorNormal, kCursorNormal); parameters->param5 = true; } @@ -1598,7 +1598,7 @@ IMPLEMENT_FUNCTION_I(30, Coudert, function30, ObjectIndex) case 4: if (parameters->param5) - getObjects()->update((ObjectIndex)parameters->param1, kEntityPlayer, getObjects()->get((ObjectIndex)parameters->param1).location, kCursorHandKnock, kCursorHand); + getObjects()->update((ObjectIndex)parameters->param1, kEntityPlayer, getObjects()->get((ObjectIndex)parameters->param1).status, kCursorHandKnock, kCursorHand); getEntities()->exitCompartment(kEntityCoudert, (ObjectIndex)parameters->param1, true); @@ -1991,7 +1991,7 @@ IMPLEMENT_FUNCTION(36, Coudert, chapter1) getData()->location = kLocationOutsideCompartment; getData()->car = kCarRedSleeping; - getObjects()->updateLocation2(kObject111, kObjectLocation1); + getObjects()->updateModel(kObject111, kObjectModel1); break; case kActionCallback: @@ -2294,9 +2294,9 @@ label_callback_10: if (!ENTITY_PARAM(0, 2)) break; - timeCheckObject(kTime1107000, params->param4, kObject111, kObjectLocation2); - timeCheckObject(kTime1161000, params->param5, kObject111, kObjectLocation3); - timeCheckObject(kTime1206000, params->param6, kObject111, kObjectLocation4); + timeCheckObject(kTime1107000, params->param4, kObject111, kObjectModel2); + timeCheckObject(kTime1161000, params->param5, kObject111, kObjectModel3); + timeCheckObject(kTime1206000, params->param6, kObject111, kObjectModel4); break; case kAction1: @@ -2577,7 +2577,7 @@ IMPLEMENT_FUNCTION(42, Coudert, chapter2) ENTITY_PARAM(2, 4) = 0; - getObjects()->updateLocation2(kObject111, kObjectLocation5); + getObjects()->updateModel(kObject111, kObjectModel5); break; case kActionCallback: @@ -2716,7 +2716,7 @@ IMPLEMENT_FUNCTION(44, Coudert, chapter3) ENTITY_PARAM(2, 4) = 0; ENTITY_PARAM(2, 5) = 0; - getObjects()->updateLocation2(kObject111, kObjectLocation6); + getObjects()->updateModel(kObject111, kObjectModel6); break; case kActionCallback: @@ -2850,9 +2850,9 @@ label_callback_18: label_callback_19: if (ENTITY_PARAM(0, 2)) { - timeCheckObject(kTime2025000, params->param7, kObject111, kObjectLocation7); - timeCheckObject(kTime2133000, params->param8, kObject111, kObjectLocation8); - timeCheckObject(kTime2173500, CURRENT_PARAM(1, 1), kObject111, kObjectLocation9); + timeCheckObject(kTime2025000, params->param7, kObject111, kObjectModel7); + timeCheckObject(kTime2133000, params->param8, kObject111, kObjectModel8); + timeCheckObject(kTime2173500, CURRENT_PARAM(1, 1), kObject111, kObjectModel9); } break; @@ -3498,7 +3498,7 @@ IMPLEMENT_FUNCTION(52, Coudert, chapter4) ENTITY_PARAM(2, 3) = 0; ENTITY_PARAM(2, 4) = 0; - getObjects()->updateLocation2(kObject111, kObjectLocation10); + getObjects()->updateModel(kObject111, kObjectModel10); break; case kActionCallback: @@ -3523,14 +3523,14 @@ IMPLEMENT_FUNCTION(53, Coudert, function53) params->param1 = 1; - getObjects()->updateLocation2(kObjectCompartmentA, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentB, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentC, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentD, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentE, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentF, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentG, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartmentH, kObjectLocation1); + getObjects()->updateModel(kObjectCompartmentA, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentB, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentC, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentD, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentE, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentF, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentG, kObjectModel1); + getObjects()->updateModel(kObjectCompartmentH, kObjectModel1); ENTITY_PARAM(2, 3) = 0; diff --git a/engines/lastexpress/entities/entity.cpp b/engines/lastexpress/entities/entity.cpp index dad5e67392..b2fc30829f 100644 --- a/engines/lastexpress/entities/entity.cpp +++ b/engines/lastexpress/entities/entity.cpp @@ -943,10 +943,10 @@ void Entity::timeCheckSavepoint(TimeValue timeValue, uint ¶meter, EntityInde } } -void Entity::timeCheckObject(TimeValue timeValue, uint ¶meter, ObjectIndex object, ObjectLocation location) const { +void Entity::timeCheckObject(TimeValue timeValue, uint ¶meter, ObjectIndex object, ObjectModel model) const { if (getState()->time > timeValue && !parameter) { parameter = 1; - getObjects()->updateLocation2(object, location); + getObjects()->updateModel(object, model); } } diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h index f3b57e7464..634c854d05 100644 --- a/engines/lastexpress/entities/entity.h +++ b/engines/lastexpress/entities/entity.h @@ -1095,7 +1095,7 @@ protected: bool timeCheckCallbackInventory(TimeValue timeValue, uint ¶meter, byte callback, Common::Functor0<void> *function); bool timeCheckCar(TimeValue timeValue, uint ¶meter, byte callback, Common::Functor0<void> *function); void timeCheckSavepoint(TimeValue timeValue, uint ¶meter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) const; - void timeCheckObject(TimeValue timeValue, uint ¶meter, ObjectIndex index, ObjectLocation location) const; + void timeCheckObject(TimeValue timeValue, uint ¶meter, ObjectIndex index, ObjectModel model) const; bool timeCheckCallbackAction(TimeValue timeValue, uint ¶meter); bool timeCheckPlaySoundUpdatePosition(TimeValue timeValue, uint ¶meter, byte callback, const char* sound, EntityPosition position); diff --git a/engines/lastexpress/entities/francois.cpp b/engines/lastexpress/entities/francois.cpp index d2bbc9854c..12a0a37e99 100644 --- a/engines/lastexpress/entities/francois.cpp +++ b/engines/lastexpress/entities/francois.cpp @@ -202,7 +202,7 @@ IMPLEMENT_FUNCTION(9, Francois, function9) break; case kActionDefault: - if (getObjects()->get(kObjectCompartmentD).location == kObjectLocation2) { + if (getObjects()->get(kObjectCompartmentD).status == kObjectLocation2) { getObjects()->update(kObjectCompartmentD, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); getSavePoints()->push(kEntityFrancois, kEntityMmeBoutarel, kAction134289824); setCallback(1); @@ -238,7 +238,7 @@ IMPLEMENT_FUNCTION(10, Francois, function10) break; case kActionDefault: - if (getObjects()->get(kObjectCompartmentD).location == kObjectLocation2) { + if (getObjects()->get(kObjectCompartmentD).status == kObjectLocation2) { getObjects()->update(kObjectCompartmentD, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); setCallback(1); setup_enterExitCompartment2("605Bd", kObjectCompartmentD); diff --git a/engines/lastexpress/entities/gendarmes.cpp b/engines/lastexpress/entities/gendarmes.cpp index a912fa4ecb..2ff34ef4c9 100644 --- a/engines/lastexpress/entities/gendarmes.cpp +++ b/engines/lastexpress/entities/gendarmes.cpp @@ -250,7 +250,7 @@ IMPLEMENT_FUNCTION_III(10, Gendarmes, function10, CarIndex, EntityPosition, Obje if (!params->param5) params->param5 = getState()->timeTicks + 75; - if (!getEntities()->isOutsideAlexeiWindow() && getObjects()->get((ObjectIndex)params->param3).location != kObjectLocation1) { + if (!getEntities()->isOutsideAlexeiWindow() && getObjects()->get((ObjectIndex)params->param3).status != kObjectLocation1) { setCallback(2); setup_savegame(kSavegameTypeEvent, kEventGendarmesArrestation); break; @@ -284,7 +284,7 @@ IMPLEMENT_FUNCTION_III(10, Gendarmes, function10, CarIndex, EntityPosition, Obje break; case kActionKnock: - getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).location, kCursorNormal, kCursorNormal); + getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).status, kCursorNormal, kCursorNormal); setCallback(5); setup_arrestPlaysound16("POL1046B"); @@ -296,7 +296,7 @@ IMPLEMENT_FUNCTION_III(10, Gendarmes, function10, CarIndex, EntityPosition, Obje break; case kActionDefault: - getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).location, kCursorNormal, kCursorNormal); + getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).status, kCursorNormal, kCursorNormal); setCallback(1); setup_arrestPlaysound16("POL1046"); @@ -308,7 +308,7 @@ IMPLEMENT_FUNCTION_III(10, Gendarmes, function10, CarIndex, EntityPosition, Obje break; case 1: - getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).location, kCursorTalk, kCursorNormal); + getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).status, kCursorTalk, kCursorNormal); break; case 2: @@ -334,7 +334,7 @@ IMPLEMENT_FUNCTION_III(10, Gendarmes, function10, CarIndex, EntityPosition, Obje break; case 5: - getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).location, kCursorNormal, kCursorHand); + getObjects()->update((ObjectIndex)params->param3, kEntityGendarmes, getObjects()->get((ObjectIndex)params->param3).status, kCursorNormal, kCursorHand); break; case 6: diff --git a/engines/lastexpress/entities/kahina.cpp b/engines/lastexpress/entities/kahina.cpp index 467c8d8b3c..29e9a90d41 100644 --- a/engines/lastexpress/entities/kahina.cpp +++ b/engines/lastexpress/entities/kahina.cpp @@ -503,16 +503,16 @@ IMPLEMENT_FUNCTION(15, Kahina, function15) getData()->location = kLocationInsideCompartment; getEntities()->clearSequences(kEntityKahina); - getObjects()->update(kObjectCompartmentC, kEntityPlayer, getObjects()->get(kObjectCompartmentC).location, kCursorNormal, kCursorNormal); - getObjects()->update(kObject50, kEntityPlayer, getObjects()->get(kObject50).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartmentC, kEntityPlayer, getObjects()->get(kObjectCompartmentC).status, kCursorNormal, kCursorNormal); + getObjects()->update(kObject50, kEntityPlayer, getObjects()->get(kObject50).status, kCursorNormal, kCursorNormal); setCallback(13); setup_updateFromTime(900); break; case 13: - getObjects()->update(kObjectCompartmentC, kEntityPlayer, getObjects()->get(kObjectCompartmentC).location, kCursorHandKnock, kCursorHand); - getObjects()->update(kObject50, kEntityPlayer, getObjects()->get(kObject50).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartmentC, kEntityPlayer, getObjects()->get(kObjectCompartmentC).status, kCursorHandKnock, kCursorHand); + getObjects()->update(kObject50, kEntityPlayer, getObjects()->get(kObject50).status, kCursorHandKnock, kCursorHand); setCallback(14); setup_enterExitCompartment("616Bc", kObjectCompartmentC); @@ -1088,16 +1088,16 @@ IMPLEMENT_FUNCTION(23, Kahina, function23) getData()->location = kLocationInsideCompartment; getEntities()->clearSequences(kEntityKahina); - getObjects()->update(kObjectCompartmentF, kEntityPlayer, getObjects()->get(kObjectCompartmentF).location, kCursorNormal, kCursorNormal); - getObjects()->update(kObject53, kEntityPlayer, getObjects()->get(kObject53).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartmentF, kEntityPlayer, getObjects()->get(kObjectCompartmentF).status, kCursorNormal, kCursorNormal); + getObjects()->update(kObject53, kEntityPlayer, getObjects()->get(kObject53).status, kCursorNormal, kCursorNormal); setCallback(3); setup_updateFromTime(900); break; case 3: - getObjects()->update(kObjectCompartmentF, kEntityPlayer, getObjects()->get(kObjectCompartmentF).location, kCursorHandKnock, kCursorHand); - getObjects()->update(kObject53, kEntityPlayer, getObjects()->get(kObject53).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartmentF, kEntityPlayer, getObjects()->get(kObjectCompartmentF).status, kCursorHandKnock, kCursorHand); + getObjects()->update(kObject53, kEntityPlayer, getObjects()->get(kObject53).status, kCursorHandKnock, kCursorHand); setCallback(4); setup_enterExitCompartment("616Df", kObjectCompartmentF); @@ -1436,16 +1436,16 @@ IMPLEMENT_FUNCTION(26, Kahina, function26) getData()->location = kLocationInsideCompartment; getEntities()->clearSequences(kEntityKahina); - getObjects()->update(kObjectCompartmentA, kEntityPlayer, getObjects()->get(kObjectCompartmentA).location, kCursorNormal, kCursorNormal); - getObjects()->update(kObject48, kEntityPlayer, getObjects()->get(kObject48).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartmentA, kEntityPlayer, getObjects()->get(kObjectCompartmentA).status, kCursorNormal, kCursorNormal); + getObjects()->update(kObject48, kEntityPlayer, getObjects()->get(kObject48).status, kCursorNormal, kCursorNormal); setCallback(7); setup_updateFromTime(900); break; case 7: - getObjects()->update(kObjectCompartmentA, kEntityPlayer, getObjects()->get(kObjectCompartmentA).location, kCursorHandKnock, kCursorHand); - getObjects()->update(kObject48, kEntityPlayer, getObjects()->get(kObject48).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartmentA, kEntityPlayer, getObjects()->get(kObjectCompartmentA).status, kCursorHandKnock, kCursorHand); + getObjects()->update(kObject48, kEntityPlayer, getObjects()->get(kObject48).status, kCursorHandKnock, kCursorHand); if (getInventory()->get(kItemFirebird)->location == kObjectLocation1 || getInventory()->get(kItemFirebird)->location == kObjectLocation2) { getScenes()->loadSceneFromItemPosition(kItemFirebird); diff --git a/engines/lastexpress/entities/kronos.cpp b/engines/lastexpress/entities/kronos.cpp index fa51e7044b..38a685ec19 100644 --- a/engines/lastexpress/entities/kronos.cpp +++ b/engines/lastexpress/entities/kronos.cpp @@ -399,7 +399,7 @@ IMPLEMENT_FUNCTION(18, Kronos, function18) case kActionNone: if (getState()->time > kTime2079000 && !params->param2) { - getObjects()->updateLocation2(kObjectCompartmentKronos, kObjectLocation3); + getObjects()->updateModel(kObjectCompartmentKronos, kObjectModel3); getObjects()->update(kObjectCompartmentKronos, kEntityPlayer, kObjectLocation3, kCursorHandKnock, kCursorHand); params->param1 = 1; params->param2 = 1; diff --git a/engines/lastexpress/entities/mertens.cpp b/engines/lastexpress/entities/mertens.cpp index 97dd293793..f484d00a2c 100644 --- a/engines/lastexpress/entities/mertens.cpp +++ b/engines/lastexpress/entities/mertens.cpp @@ -1067,7 +1067,7 @@ IMPLEMENT_FUNCTION_II(21, Mertens, function21, ObjectIndex, ObjectIndex) break; // Update objects - getObjects()->updateLocation2((ObjectIndex)params->param1, kObjectLocation1); + getObjects()->updateModel((ObjectIndex)params->param1, kObjectModel1); if (params->param5 != kObjectLocation2) getObjects()->update((ObjectIndex)params->param1, (EntityIndex)params->param4, (ObjectLocation)params->param5, (CursorStyle)params->param6, (CursorStyle)params->param7); @@ -1090,15 +1090,15 @@ IMPLEMENT_FUNCTION_II(21, Mertens, function21, ObjectIndex, ObjectIndex) case kActionDefault: params->param3 = 1; params->param4 = getObjects()->get((ObjectIndex)params->param1).entity; - params->param5 = getObjects()->get((ObjectIndex)params->param1).location; - params->param6 = getObjects()->get((ObjectIndex)params->param1).cursor; - params->param7 = getObjects()->get((ObjectIndex)params->param1).cursor2; + params->param5 = getObjects()->get((ObjectIndex)params->param1).status; + params->param6 = getObjects()->get((ObjectIndex)params->param1).windowCursor; + params->param7 = getObjects()->get((ObjectIndex)params->param1).handleCursor; if (params->param2) { - params->param8 = getObjects()->get((ObjectIndex)params->param2).entity; - CURRENT_PARAM(1, 1) = getObjects()->get((ObjectIndex)params->param2).location; - CURRENT_PARAM(1, 2) = getObjects()->get((ObjectIndex)params->param2).cursor; - CURRENT_PARAM(1, 3) = getObjects()->get((ObjectIndex)params->param2).cursor2; + params->param8 = getObjects()->get((ObjectIndex)params->param2).entity; + CURRENT_PARAM(1, 1) = getObjects()->get((ObjectIndex)params->param2).status; + CURRENT_PARAM(1, 2) = getObjects()->get((ObjectIndex)params->param2).windowCursor; + CURRENT_PARAM(1, 3) = getObjects()->get((ObjectIndex)params->param2).handleCursor; getObjects()->update((ObjectIndex)params->param2, kEntityMertens, kObjectLocation1, kCursorHandKnock, kCursorHand); } @@ -1506,7 +1506,7 @@ IMPLEMENT_FUNCTION_I(26, Mertens, function26, bool) getData()->location = kLocationInsideCompartment; getEntities()->clearSequences(kEntityMertens); - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); setCallback(3); setup_playSound16("ZNU1001"); @@ -1522,14 +1522,14 @@ IMPLEMENT_FUNCTION_I(26, Mertens, function26, bool) break; case 1: - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); setCallback(2); setup_playSound16("CON1062"); break; case 2: - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; @@ -1617,7 +1617,7 @@ IMPLEMENT_FUNCTION_I(27, Mertens, tylerCompartment, MertensActionType) } if (Entity::updateParameter(params->param2, getState()->timeTicks, 150)) { - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); setCallback(10); setup_playSound16("CON1018A"); @@ -1683,7 +1683,7 @@ label_callback11: } else { params->param3 = kTimeInvalid; - if (getObjects()->get(kObjectCompartment1).location == kObjectLocation1) { + if (getObjects()->get(kObjectCompartment1).status == kObjectLocation1) { getObjects()->update(kObjectCompartment1, kEntityPlayer, kObjectLocation1, kCursorNormal, kCursorNormal); setCallback(11); @@ -1742,11 +1742,11 @@ label_callback11: case kActionKnock: if (params->param1) { - getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); switch (params->param1) { default: - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; @@ -1774,7 +1774,7 @@ label_callback11: break; case kActionOpenDoor: - getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).location == kObjectLocation1 ? "LIB012" : "LIB014"); + getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).status == kObjectLocation1 ? "LIB012" : "LIB014"); if (getProgress().eventCorpseMovedFromFloor) { @@ -1828,7 +1828,7 @@ label_callback11: if (getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_8200) || getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_7850) || getEntities()->isOutsideAlexeiWindow()) { - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); if (getEntities()->isOutsideAlexeiWindow()) getScenes()->loadSceneFromPosition(kCarGreenSleeping, 49); @@ -1920,15 +1920,15 @@ label_callback11: case 8: case 9: - getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).location, kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).status, kCursorTalk, kCursorHand); break; case 10: - getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).location, kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).status, kCursorTalk, kCursorHand); goto label_callback10; case 11: - getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).location, kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMertens, getObjects()->get(kObjectCompartment1).status, kCursorTalk, kCursorHand); goto label_callback11; case 13: @@ -1971,20 +1971,20 @@ label_callback11: case 23: getProgress().eventMertensAugustWaiting = true; - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; case 24: getProgress().eventMertensKronosInvitation = true; - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; case 25: - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; @@ -2182,7 +2182,7 @@ IMPLEMENT_FUNCTION_I(30, Mertens, function30, MertensActionType) case 2: if (getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_7500)) { - getObjects()->update(kObjectCompartment2, kEntityPlayer, getObjects()->get(kObjectCompartment2).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment2, kEntityPlayer, getObjects()->get(kObjectCompartment2).status, kCursorNormal, kCursorNormal); params->param3 = 1; } @@ -2192,7 +2192,7 @@ IMPLEMENT_FUNCTION_I(30, Mertens, function30, MertensActionType) case 3: if (getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_6470)) { - getObjects()->update(kObjectCompartment3, kEntityPlayer, getObjects()->get(kObjectCompartment3).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment3, kEntityPlayer, getObjects()->get(kObjectCompartment3).status, kCursorNormal, kCursorNormal); params->param3 = 1; } @@ -2220,7 +2220,7 @@ IMPLEMENT_FUNCTION_I(30, Mertens, function30, MertensActionType) case 5: if (params->param3) - getObjects()->update(kObjectCompartment2, kEntityPlayer, getObjects()->get(kObjectCompartment2).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment2, kEntityPlayer, getObjects()->get(kObjectCompartment2).status, kCursorHandKnock, kCursorHand); getEntities()->exitCompartment(kEntityMertens, kObjectCompartment2); @@ -2241,7 +2241,7 @@ IMPLEMENT_FUNCTION_I(30, Mertens, function30, MertensActionType) case 7: if (params->param3) - getObjects()->update(kObjectCompartment3, kEntityPlayer, getObjects()->get(kObjectCompartment3).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment3, kEntityPlayer, getObjects()->get(kObjectCompartment3).status, kCursorHandKnock, kCursorHand); getEntities()->exitCompartment(kEntityMertens, kObjectCompartment3); @@ -3688,9 +3688,9 @@ IMPLEMENT_FUNCTION(48, Mertens, function48) if (ENTITY_PARAM(2, 3)) { params->param1 = 1; - getObjects()->updateLocation2(kObjectCompartment2, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartment3, kObjectLocation1); - getObjects()->updateLocation2(kObjectCompartment4, kObjectLocation1); + getObjects()->updateModel(kObjectCompartment2, kObjectModel1); + getObjects()->updateModel(kObjectCompartment3, kObjectModel1); + getObjects()->updateModel(kObjectCompartment4, kObjectModel1); ENTITY_PARAM(1, 4) = 0; ENTITY_PARAM(1, 5) = 0; diff --git a/engines/lastexpress/entities/milos.cpp b/engines/lastexpress/entities/milos.cpp index 519a613497..ca67fc4f49 100644 --- a/engines/lastexpress/entities/milos.cpp +++ b/engines/lastexpress/entities/milos.cpp @@ -433,16 +433,16 @@ IMPLEMENT_FUNCTION(14, Milos, function14) if (CURRENT_PARAM(1, 1) < getState()->timeTicks) { - if (getObjects()->get(kObjectCompartment1).location == kObjectLocation1) { + if (getObjects()->get(kObjectCompartment1).status == kObjectLocation1) { if (!Entity::updateParameter(CURRENT_PARAM(1, 2), getState()->timeTicks, 75)) break; - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); ++params->param5; switch (params->param5) { default: - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, params->param3 < 1 ? kCursorTalk : kCursorNormal, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, params->param3 < 1 ? kCursorTalk : kCursorNormal, kCursorHand); CURRENT_PARAM(1, 2) = 0; break; @@ -466,19 +466,19 @@ IMPLEMENT_FUNCTION(14, Milos, function14) if (params->param7 < 3) { params->param5 = 1; - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, params->param3 < 1 ? kCursorTalk : kCursorNormal, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, params->param3 < 1 ? kCursorTalk : kCursorNormal, kCursorHand); CURRENT_PARAM(1, 2) = 0; break; } - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); callbackAction(); break; } } else { if (getProgress().eventCorpseMovedFromFloor && getProgress().jacket != kJacketBlood) { - params->param6 = (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) ? kEventMilosTylerCompartmentBedVisit : kEventMilosTylerCompartmentVisit; + params->param6 = (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) ? kEventMilosTylerCompartmentBedVisit : kEventMilosTylerCompartmentVisit; setCallback(3); setup_savegame(kSavegameTypeEvent, kEventMilosTylerCompartmentVisit); @@ -538,7 +538,7 @@ label_callback_12: setCallback(20); setup_playSound("LIB012"); } else if (!params->param3) { - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); setCallback(22); setup_playSound16("MIL1032"); @@ -549,9 +549,9 @@ label_callback_12: if (getProgress().eventCorpseMovedFromFloor && getProgress().jacket != kJacketBlood) { if (params->param2) { getEntityData(kEntityPlayer)->location = kLocationInsideCompartment; - params->param6 = (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) ? kEventMilosTylerCompartmentBed : kEventMilosTylerCompartment; + params->param6 = (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) ? kEventMilosTylerCompartmentBed : kEventMilosTylerCompartment; } else { - params->param6 = (getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) ? kEventMilosTylerCompartmentBedVisit : kEventMilosTylerCompartmentVisit; + params->param6 = (getObjects()->get(kObjectCompartment1).model == kObjectLocation1) ? kEventMilosTylerCompartmentBedVisit : kEventMilosTylerCompartmentVisit; } setCallback(17); @@ -568,14 +568,14 @@ label_callback_12: if (getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_8200) || getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_7850) || getEntities()->isOutsideAlexeiWindow()) { - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorNormal); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorNormal); if (getEntities()->isOutsideAlexeiWindow()) getScenes()->loadSceneFromPosition(kCarGreenSleeping, 49); getSound()->playSound(kEntityPlayer, "LIB012"); - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, kCursorTalk, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, kCursorTalk, kCursorHand); params->param1 = 1; } else { @@ -644,7 +644,7 @@ label_callback_12: case 7: case 9: case 11: - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, params->param3 < 1 ? kCursorTalk : kCursorNormal, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, params->param3 < 1 ? kCursorTalk : kCursorNormal, kCursorHand); CURRENT_PARAM(1, 2) = 0; break; @@ -682,13 +682,13 @@ label_callback_12: break; case 16: - getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).location == kObjectLocation1 ? "LIB032" : "LIB014"); + getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).status == kObjectLocation1 ? "LIB032" : "LIB014"); getAction()->playAnimation(kEventMilosCorpseFloor); getLogic()->gameOver(kSavegameTypeIndex, 1, getProgress().eventCorpseMovedFromFloor ? kSceneGameOverBloodJacket : kSceneGameOverPolice1, true); break; case 17: - getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).location == kObjectLocation1 ? "LIB032" : "LIB014"); + getSound()->playSound(kEntityPlayer, getObjects()->get(kObjectCompartment1).status == kObjectLocation1 ? "LIB032" : "LIB014"); getObjects()->update(kObjectCompartment1, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); getObjects()->update(kObjectOutsideTylerCompartment, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); getAction()->playAnimation((EventIndex)params->param6); @@ -708,7 +708,7 @@ label_callback_12: case 22: params->param3 = 1; - getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityMilos, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorHand); break; } break; diff --git a/engines/lastexpress/entities/rebecca.cpp b/engines/lastexpress/entities/rebecca.cpp index 5bcb6aef85..8c779baeba 100644 --- a/engines/lastexpress/entities/rebecca.cpp +++ b/engines/lastexpress/entities/rebecca.cpp @@ -665,7 +665,7 @@ IMPLEMENT_FUNCTION(21, Rebecca, chapter1) getObjects()->update(kObject52, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); getObjects()->update(kObjectOutsideBetweenCompartments, kEntityPlayer, kObjectLocationNone, kCursorKeepValue, kCursorKeepValue); - getObjects()->updateLocation2(kObject110, kObjectLocation1); + getObjects()->updateModel(kObject110, kObjectModel1); getData()->entityPosition = kPosition_2830; getData()->location = kLocationInsideCompartment; @@ -1051,7 +1051,7 @@ IMPLEMENT_FUNCTION(28, Rebecca, chapter2) getObjects()->update(kObjectCompartmentE, kEntityPlayer, kObjectLocation1, kCursorHandKnock, kCursorHand); getObjects()->update(kObject52, kEntityPlayer, kObjectLocation1, kCursorHandKnock, kCursorHand); - getObjects()->updateLocation2(kObject110, kObjectLocation2); + getObjects()->updateModel(kObject110, kObjectModel2); ENTITY_PARAM(0, 2) = 1; break; @@ -1574,7 +1574,7 @@ IMPLEMENT_FUNCTION(42, Rebecca, chapter4) getData()->clothes = kClothesDefault; getData()->inventoryItem = kItemNone; - getObjects()->updateLocation2(kObject110, kObjectLocation3); + getObjects()->updateModel(kObject110, kObjectModel3); ENTITY_PARAM(0, 1) = 0; ENTITY_PARAM(0, 2) = 1; @@ -1750,7 +1750,7 @@ IMPLEMENT_FUNCTION(46, Rebecca, chapter5) getData()->car = kCarRestaurant; getData()->inventoryItem = kItemNone; - getObjects()->updateLocation2(kObject110, kObjectLocation4); + getObjects()->updateModel(kObject110, kObjectModel4); break; } IMPLEMENT_FUNCTION_END diff --git a/engines/lastexpress/entities/tatiana.cpp b/engines/lastexpress/entities/tatiana.cpp index 199da1409c..9d792fa422 100644 --- a/engines/lastexpress/entities/tatiana.cpp +++ b/engines/lastexpress/entities/tatiana.cpp @@ -1917,7 +1917,7 @@ IMPLEMENT_FUNCTION(47, Tatiana, function47) case 3: case 4: - if (ENTITY_PARAM(0, 1) && getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) { + if (ENTITY_PARAM(0, 1) && getObjects()->get(kObjectCompartment1).model == kObjectLocation1) { setup_function48(); } else { setCallback(4); @@ -1940,7 +1940,7 @@ IMPLEMENT_FUNCTION(48, Tatiana, function48) if (!getEvent(kEventTatianaTylerCompartment) && getEntities()->isInsideCompartment(kEntityPlayer, kCarGreenSleeping, kPosition_8200)) { params->param1 = 1; getProgress().field_E4 = 1; - getObjects()->update(kObjectCompartment1, kEntityTatiana, getObjects()->get(kObjectCompartment1).location, kCursorNormal, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityTatiana, getObjects()->get(kObjectCompartment1).status, kCursorNormal, kCursorHand); } if (!params->param1) @@ -1948,7 +1948,7 @@ IMPLEMENT_FUNCTION(48, Tatiana, function48) } if (!getEntities()->checkFields19(kEntityPlayer, kCarGreenSleeping, kPosition_7850)) { - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); params->param1 = 0; } @@ -1964,7 +1964,7 @@ IMPLEMENT_FUNCTION(48, Tatiana, function48) label_end: if (getEvent(kEventTatianaTylerCompartment) || getState()->time > kTime2475000) { if (params->param1) - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); getProgress().field_E4 = 0; getEntities()->exitCompartment(kEntityTatiana, kObjectCompartment2, true); @@ -2040,7 +2040,7 @@ label_end: case kAction238790488: params->param1 = 0; - getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).location, kCursorHandKnock, kCursorHand); + getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand); getEntities()->exitCompartment(kEntityTatiana, kObjectCompartment2, true); getEntities()->clearSequences(kEntityTatiana); diff --git a/engines/lastexpress/entities/vassili.cpp b/engines/lastexpress/entities/vassili.cpp index 4695f8831f..67135c426f 100644 --- a/engines/lastexpress/entities/vassili.cpp +++ b/engines/lastexpress/entities/vassili.cpp @@ -112,7 +112,7 @@ IMPLEMENT_FUNCTION(5, Vassili, chapter1Handler) break; } - if (!params->param2 && getObjects()->get(kObjectCompartmentA).location == kObjectLocation1) { + if (!params->param2 && getObjects()->get(kObjectCompartmentA).status == kObjectLocation1) { params->param2 = 1; getEntities()->drawSequenceLeft(kEntityVassili, "303A"); getObjects()->update(kObjectCompartmentA, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); @@ -289,7 +289,7 @@ IMPLEMENT_FUNCTION(9, Vassili, function9) case kActionDefault: case kActionDrawScene: - if ((getObjects()->get(kObjectCompartmentA).location == kObjectLocation2 && getEntities()->isPlayerPosition(kCarRedSleeping, 17)) + if ((getObjects()->get(kObjectCompartmentA).status == kObjectLocation2 && getEntities()->isPlayerPosition(kCarRedSleeping, 17)) || getEntities()->isPlayerPosition(kCarRedSleeping, 18) || getEntities()->isPlayerPosition(kCarRedSleeping, 37) || getEntities()->isPlayerPosition(kCarRedSleeping, 38) @@ -388,7 +388,7 @@ IMPLEMENT_FUNCTION(12, Vassili, chapter2) getData()->inventoryItem = kItemNone; getObjects()->update(kObjectCompartmentA, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); - getObjects()->updateLocation2(kObjectCompartmentA, kObjectLocation1); + getObjects()->updateModel(kObjectCompartmentA, kObjectModel1); break; } IMPLEMENT_FUNCTION_END @@ -532,7 +532,7 @@ IMPLEMENT_FUNCTION(16, Vassili, chapter4) getData()->inventoryItem = kItemNone; getObjects()->update(kObjectCompartmentA, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand); - getObjects()->updateLocation2(kObjectCompartmentA, kObjectLocation1); + getObjects()->updateModel(kObjectCompartmentA, kObjectModel1); break; } IMPLEMENT_FUNCTION_END diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp index 68c0813013..f1e980842e 100644 --- a/engines/lastexpress/entities/verges.cpp +++ b/engines/lastexpress/entities/verges.cpp @@ -1816,7 +1816,7 @@ IMPLEMENT_FUNCTION(41, Verges, askPassengersToStayInCompartments) break; case kActionDefault: - getObjects()->updateLocation2(kObjectRestaurantCar, kObjectLocation3); + getObjects()->updateModel(kObjectRestaurantCar, kObjectModel3); getData()->car = kCarRedSleeping; getData()->entityPosition = kPosition_9460; getData()->location = kLocationInsideCompartment; diff --git a/engines/lastexpress/fight/fight.cpp b/engines/lastexpress/fight/fight.cpp index 49a9b85657..a717299a74 100644 --- a/engines/lastexpress/fight/fight.cpp +++ b/engines/lastexpress/fight/fight.cpp @@ -222,7 +222,7 @@ Fight::FightEndType Fight::setup(FightType type) { break; case kFightMilos: - sceneIndex = (getObjects()->get(kObjectCompartment1).location2 < kObjectLocation3) ? kSceneFightMilos : kSceneFightMilosBedOpened; + sceneIndex = (getObjects()->get(kObjectCompartment1).model < kObjectLocation3) ? kSceneFightMilos : kSceneFightMilosBedOpened; break; case kFightAnna: diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp index 19c3f45114..dcb421c979 100644 --- a/engines/lastexpress/game/action.cpp +++ b/engines/lastexpress/game/action.cpp @@ -521,7 +521,7 @@ IMPLEMENT_ACTION(compartment) return kSceneNone; } - ObjectLocation location = getObjects()->get(compartment).location; + ObjectLocation location = getObjects()->get(compartment).status; if (location == kObjectLocation1 || location == kObjectLocation3 || getEntities()->checkFields2(compartment)) { if (location != kObjectLocation1 || getEntities()->checkFields2(compartment) @@ -627,12 +627,12 @@ IMPLEMENT_ACTION(openCloseObject) // Action 10 IMPLEMENT_ACTION(setModel) ObjectIndex object = (ObjectIndex)hotspot.param1; - ObjectLocation location = (ObjectLocation)hotspot.param2; + ObjectModel model = (ObjectModel)hotspot.param2; if (object >= kObjectMax) return kSceneInvalid; - getObjects()->updateLocation2(object, location); + getObjects()->updateModel(object, model); if (object != kObject112 || getSoundQueue()->isBuffered("LIB096")) { if (object == 1) @@ -808,7 +808,7 @@ IMPLEMENT_ACTION(dropItem) ////////////////////////////////////////////////////////////////////////// // Action 16 IMPLEMENT_ACTION(enterCompartment) - if (getObjects()->get(kObjectCompartment1).location == kObjectLocation1 || getObjects()->get(kObjectCompartment1).location == kObjectLocation3 || getInventory()->getSelectedItem() == kItemKey) + if (getObjects()->get(kObjectCompartment1).status == kObjectLocation1 || getObjects()->get(kObjectCompartment1).status == kObjectLocation3 || getInventory()->getSelectedItem() == kItemKey) return action_compartment(hotspot); if (getProgress().eventCorpseFound) { @@ -845,9 +845,9 @@ IMPLEMENT_ACTION(enterCompartment) IMPLEMENT_ACTION(leanOutWindow) ObjectIndex object = (ObjectIndex)hotspot.param1; - if ((getEvent(kEventCathLookOutsideWindowDay) || getEvent(kEventCathLookOutsideWindowNight) || getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) + if ((getEvent(kEventCathLookOutsideWindowDay) || getEvent(kEventCathLookOutsideWindowNight) || getObjects()->get(kObjectCompartment1).model == kObjectModel1) && getProgress().isTrainRunning - && (object != kObjectOutsideAnnaCompartment || (!getEntities()->isInsideCompartment(kEntityRebecca, kCarRedSleeping, kPosition_4840) && getObjects()->get(kObjectOutsideBetweenCompartments).location == kObjectLocation2)) + && (object != kObjectOutsideAnnaCompartment || (!getEntities()->isInsideCompartment(kEntityRebecca, kCarRedSleeping, kPosition_4840) && getObjects()->get(kObjectOutsideBetweenCompartments).status == kObjectLocation2)) && getInventory()->getSelectedItem() != kItemFirebird && getInventory()->getSelectedItem() != kItemBriefcase) { @@ -1224,7 +1224,7 @@ IMPLEMENT_ACTION(exitCompartment) getProgress().field_30 = 1; } - getObjects()->updateLocation2(kObjectCompartment1, (ObjectLocation)hotspot.param2); + getObjects()->updateModel(kObjectCompartment1, (ObjectModel)hotspot.param2); // fall to case enterCompartment action return action_enterCompartment(hotspot); @@ -1724,7 +1724,7 @@ bool Action::handleOtherCompartment(ObjectIndex object, bool doPlaySound, bool d } void Action::playCompartmentSoundEvents(ObjectIndex object) const { - if (getObjects()->get(object).location == kObjectLocation1 || getObjects()->get(object).location == kObjectLocation3 || getEntities()->checkFields2(object)) { + if (getObjects()->get(object).status == kObjectLocation1 || getObjects()->get(object).status == kObjectLocation3 || getEntities()->checkFields2(object)) { getSound()->playSoundEvent(kEntityPlayer, 13); } else { getSound()->playSoundEvent(kEntityPlayer, 14); @@ -1757,7 +1757,7 @@ CursorStyle Action::getCursor(const SceneHotspot &hotspot) const { if (object >= kObjectMax) return kCursorNormal; else - return (CursorStyle)getObjects()->get(object).cursor; + return (CursorStyle)getObjects()->get(object).windowCursor; case SceneHotspot::kAction12: debugC(2, kLastExpressDebugScenes, "================================= OBJECT %03d =================================", object); @@ -1765,7 +1765,7 @@ CursorStyle Action::getCursor(const SceneHotspot &hotspot) const { return kCursorNormal; if (getObjects()->get(object).entity) - return (CursorStyle)getObjects()->get(object).cursor; + return (CursorStyle)getObjects()->get(object).windowCursor; else return kCursorNormal; @@ -1806,8 +1806,8 @@ CursorStyle Action::getCursor(const SceneHotspot &hotspot) const { return kCursorNormal; case SceneHotspot::kActionEnterCompartment: - if ((getInventory()->getSelectedItem() != kItemKey || getObjects()->get(kObjectCompartment1).location) - && (getObjects()->get(kObjectCompartment1).location != 1 || !getInventory()->hasItem(kItemKey) + if ((getInventory()->getSelectedItem() != kItemKey || getObjects()->get(kObjectCompartment1).status) + && (getObjects()->get(kObjectCompartment1).status != 1 || !getInventory()->hasItem(kItemKey) || (getInventory()->getSelectedItem() != kItemFirebird && getInventory()->getSelectedItem() != kItemBriefcase))) goto LABEL_KEY; @@ -1817,13 +1817,13 @@ CursorStyle Action::getCursor(const SceneHotspot &hotspot) const { if (getProgress().jacket != kJacketGreen) return kCursorNormal; - if ((getEvent(kEventCathLookOutsideWindowDay) || getEvent(kEventCathLookOutsideWindowNight) || getObjects()->get(kObjectCompartment1).location2 == kObjectLocation1) + if ((getEvent(kEventCathLookOutsideWindowDay) || getEvent(kEventCathLookOutsideWindowNight) || getObjects()->get(kObjectCompartment1).model == kObjectModel1) && getProgress().isTrainRunning - && (object != kObjectOutsideAnnaCompartment || (getEntities()->isInsideCompartment(kEntityRebecca, kCarRedSleeping, kPosition_4840) && getObjects()->get(kObjectOutsideBetweenCompartments).location == 2)) + && (object != kObjectOutsideAnnaCompartment || (getEntities()->isInsideCompartment(kEntityRebecca, kCarRedSleeping, kPosition_4840) && getObjects()->get(kObjectOutsideBetweenCompartments).status == 2)) && getInventory()->getSelectedItem() != kItemBriefcase && getInventory()->getSelectedItem() != kItemFirebird) return kCursorForward; - return (getObjects()->get(kObjectCompartment1).location2 < kObjectLocation2) ? kCursorNormal : kCursorMagnifier; + return (getObjects()->get(kObjectCompartment1).model < kObjectModel2) ? kCursorNormal : kCursorMagnifier; case SceneHotspot::kActionSlip: return (getProgress().field_C8 < 1) ? kCursorNormal : kCursorLeft; @@ -1841,7 +1841,7 @@ CursorStyle Action::getCursor(const SceneHotspot &hotspot) const { if (object != kObjectCompartment1) return kCursorNormal; - return (getObjects()->get(kObjectCeiling).location < kObjectLocation1) ? kCursorHand : kCursorNormal; + return (getObjects()->get(kObjectCeiling).status < kObjectLocation1) ? kCursorHand : kCursorNormal; case SceneHotspot::kActionUnbound: if (hotspot.param2 != 2) @@ -1904,11 +1904,11 @@ LABEL_KEY: if (getInventory()->getSelectedItem() != kItemKey || getObjects()->get(object).entity - || getObjects()->get(object).location != 1 - || !getObjects()->get(object).cursor2 + || getObjects()->get(object).status != 1 + || !getObjects()->get(object).handleCursor || getEntities()->isInsideCompartments(kEntityPlayer) || getEntities()->checkFields2(object)) - return (CursorStyle)getObjects()->get(object).cursor2; + return (CursorStyle)getObjects()->get(object).handleCursor; else return (CursorStyle)getInventory()->get(kItemKey)->cursor; } diff --git a/engines/lastexpress/game/object.cpp b/engines/lastexpress/game/object.cpp index 2fcdde12b9..ad13a65199 100644 --- a/engines/lastexpress/game/object.cpp +++ b/engines/lastexpress/game/object.cpp @@ -32,7 +32,7 @@ namespace LastExpress { Common::String Objects::Object::toString() { - return Common::String::format("{ %s - %d - %d - %d - %d }", ENTITY_NAME(entity), location, cursor, cursor2, location2); + return Common::String::format("{ %s - %d - %d - %d - %d }", ENTITY_NAME(entity), status, windowCursor, handleCursor, model); } Objects::Objects(LastExpressEngine *engine) : _engine(engine) {} @@ -44,24 +44,24 @@ const Objects::Object Objects::get(ObjectIndex index) const { return _objects[index]; } -void Objects::update(ObjectIndex index, EntityIndex entity, ObjectLocation location, CursorStyle cursor, CursorStyle cursor2) { +void Objects::update(ObjectIndex index, EntityIndex entity, ObjectLocation status, CursorStyle windowCursor, CursorStyle handleCursor) { if (index >= kObjectMax) return; Object *object = &_objects[index]; // Store original location - ObjectLocation original_location = object->location; + ObjectLocation original_status = object->status; // Update entity object->entity = entity; - object->location = location; + object->status = status; - if (cursor != kCursorKeepValue || cursor2 != kCursorKeepValue) { - if (cursor != kCursorKeepValue) - object->cursor = cursor; - if (cursor2 != kCursorKeepValue) - object->cursor2 = cursor2; + if (windowCursor != kCursorKeepValue || handleCursor != kCursorKeepValue) { + if (windowCursor != kCursorKeepValue) + object->windowCursor = windowCursor; + if (handleCursor != kCursorKeepValue) + object->handleCursor = handleCursor; getLogic()->updateCursor(); } @@ -69,7 +69,7 @@ void Objects::update(ObjectIndex index, EntityIndex entity, ObjectLocation locat getFlags()->flag_3 = true; // Compartments - if (original_location != location && (original_location == kObjectLocation2 || location == kObjectLocation2)) { + if (original_status != status && (original_status == kObjectLocation2 || status == kObjectLocation2)) { if ((index >= kObjectCompartment1 && index <= kObjectCompartment8) || (index >= kObjectCompartmentA && index <= kObjectCompartmentF)) { getScenes()->updateDoorsAndClock(); @@ -77,11 +77,11 @@ void Objects::update(ObjectIndex index, EntityIndex entity, ObjectLocation locat } } -void Objects::updateLocation2(ObjectIndex index, ObjectLocation location2) { +void Objects::updateModel(ObjectIndex index, ObjectModel model) { if (index >= kObjectMax) return; - _objects[index].location2 = location2; + _objects[index].model = model; } ////////////////////////////////////////////////////////////////////////// diff --git a/engines/lastexpress/game/object.h b/engines/lastexpress/game/object.h index 87c9d7d407..be9d63d6c5 100644 --- a/engines/lastexpress/game/object.h +++ b/engines/lastexpress/game/object.h @@ -37,17 +37,17 @@ public: struct Object : Common::Serializable { // All fields should be saved as bytes EntityIndex entity; - ObjectLocation location; - CursorStyle cursor; - CursorStyle cursor2; - ObjectLocation location2; + ObjectLocation status; + CursorStyle windowCursor; + CursorStyle handleCursor; + ObjectModel model; Object() { entity = kEntityPlayer; - location = kObjectLocationNone; - cursor = kCursorHandKnock; - cursor2 = kCursorHandKnock; - location2 = kObjectLocationNone; + status = kObjectLocationNone; + windowCursor = kCursorHandKnock; + handleCursor = kCursorHandKnock; + model = kObjectModelNone; } Common::String toString(); @@ -55,18 +55,18 @@ public: // Serializable void saveLoadWithSerializer(Common::Serializer &s) { s.syncAsByte(entity); - s.syncAsByte(location); - s.syncAsByte(cursor); - s.syncAsByte(cursor2); - s.syncAsByte(location2); + s.syncAsByte(status); + s.syncAsByte(windowCursor); + s.syncAsByte(handleCursor); + s.syncAsByte(model); } }; Objects(LastExpressEngine *engine); const Object get(ObjectIndex index) const; - void update(ObjectIndex index, EntityIndex entity, ObjectLocation location, CursorStyle cursor, CursorStyle cursor2); - void updateLocation2(ObjectIndex index, ObjectLocation location2); + void update(ObjectIndex index, EntityIndex entity, ObjectLocation status, CursorStyle cursor, CursorStyle cursor2); + void updateModel(ObjectIndex index, ObjectModel model); // Serializable void saveLoadWithSerializer(Common::Serializer &s); diff --git a/engines/lastexpress/game/scenes.cpp b/engines/lastexpress/game/scenes.cpp index 82688fff2e..0d8f51af6e 100644 --- a/engines/lastexpress/game/scenes.cpp +++ b/engines/lastexpress/game/scenes.cpp @@ -579,7 +579,7 @@ void SceneManager::updateDoorsAndClock() { for (ObjectIndex index = firstIndex; index < (ObjectIndex)(firstIndex + 8); index = (ObjectIndex)(index + 1)) { // Doors is not open, nothing to do - if (getObjects()->get(index).location != kObjectLocation2) + if (getObjects()->get(index).status != kObjectLocation2) continue; // Load door sequence @@ -842,11 +842,11 @@ void SceneManager::preProcessScene(SceneIndex *index) { if (object >= kObjectMax) break; - if (getObjects()->get(object).location == kObjectLocationNone) + if (getObjects()->get(object).status == kObjectLocationNone) break; for (Common::Array<SceneHotspot *>::iterator it = scene->getHotspots()->begin(); it != scene->getHotspots()->end(); ++it) { - if (getObjects()->get(object).location != (*it)->location) + if (getObjects()->get(object).status != (*it)->location) continue; PROCESS_HOTSPOT_SCENE(*it, index); @@ -920,7 +920,7 @@ void SceneManager::preProcessScene(SceneIndex *index) { int location = kObjectLocationNone; - if (getObjects()->get(object).location == kObjectLocation2) + if (getObjects()->get(object).status == kObjectLocation2) location = kObjectLocation1; if (getInventory()->get(item)->location != kObjectLocationNone) @@ -933,7 +933,7 @@ void SceneManager::preProcessScene(SceneIndex *index) { if (location != (*it)->location) continue; - if (getObjects()->get(object).location != (*it)->param1) + if (getObjects()->get(object).status != (*it)->param1) continue; if (getInventory()->get(item)->location != (*it)->param2) @@ -994,7 +994,7 @@ void SceneManager::preProcessScene(SceneIndex *index) { bool found = false; for (Common::Array<SceneHotspot *>::iterator it = scene->getHotspots()->begin(); it != scene->getHotspots()->end(); ++it) { - if (getObjects()->get(object).location2 != (*it)->location) + if (getObjects()->get(object).model != (*it)->location) continue; PROCESS_HOTSPOT_SCENE(*it, index); diff --git a/engines/lastexpress/shared.h b/engines/lastexpress/shared.h index 56cf730e24..dae7928043 100644 --- a/engines/lastexpress/shared.h +++ b/engines/lastexpress/shared.h @@ -755,7 +755,7 @@ enum ClothesIndex { }; ////////////////////////////////////////////////////////////////////////// -// Location of objects +// Objects (doors) ////////////////////////////////////////////////////////////////////////// enum ObjectLocation { kObjectLocationNone = 0, @@ -763,13 +763,27 @@ enum ObjectLocation { kObjectLocation2 = 2, // Bed ? kObjectLocation3 = 3, kObjectLocation4 = 4, // Window ? - kObjectLocation5 = 5, - kObjectLocation6 = 6, - kObjectLocation7 = 7, - kObjectLocation8 = 8, - kObjectLocation9 = 9, - kObjectLocation10 = 10, - kObjectLocation18 = 18 + kObjectLocation5 = 5, + kObjectLocation6 = 6, + kObjectLocation7 = 7, + kObjectLocation8 = 8, + kObjectLocation9 = 9, + kObjectLocation10 = 10, + kObjectLocation18 = 18 +}; + +enum ObjectModel { + kObjectModelNone = 0, + kObjectModel1 = 1, + kObjectModel2 = 2, + kObjectModel3 = 3, + kObjectModel4 = 4, + kObjectModel5 = 5, + kObjectModel6 = 6, + kObjectModel7 = 7, + kObjectModel8 = 8, + kObjectModel9 = 9, + kObjectModel10 = 10 }; ////////////////////////////////////////////////////////////////////////// diff --git a/engines/lastexpress/sound/sound.cpp b/engines/lastexpress/sound/sound.cpp index 319f7cd4f4..ad61c2e0d9 100644 --- a/engines/lastexpress/sound/sound.cpp +++ b/engines/lastexpress/sound/sound.cpp @@ -1323,7 +1323,7 @@ void SoundManager::playLoopingSound(int param) { break; if (getEntities()->isInsideCompartment(kEntityPlayer, getEntityData(kEntityPlayer)->car, positions[pos])) { numLoops[0] = 1; - partNumber = (getObjects()->get((ObjectIndex)objNum).location - 2) < 1 ? 6 : 1; + partNumber = (getObjects()->get((ObjectIndex)objNum).status - 2) < 1 ? 6 : 1; } objNum++; } |