aboutsummaryrefslogtreecommitdiff
path: root/engines/lastexpress/entities/boutarel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lastexpress/entities/boutarel.cpp')
-rw-r--r--engines/lastexpress/entities/boutarel.cpp55
1 files changed, 29 insertions, 26 deletions
diff --git a/engines/lastexpress/entities/boutarel.cpp b/engines/lastexpress/entities/boutarel.cpp
index 315b12a69e..219ddf901b 100644
--- a/engines/lastexpress/entities/boutarel.cpp
+++ b/engines/lastexpress/entities/boutarel.cpp
@@ -32,9 +32,7 @@
#include "lastexpress/game/state.h"
#include "lastexpress/sound/queue.h"
-#include "lastexpress/sound/sound.h"
-#include "lastexpress/helpers.h"
#include "lastexpress/lastexpress.h"
namespace LastExpress {
@@ -231,7 +229,7 @@ IMPLEMENT_FUNCTION_I(11, Boutarel, function11, bool)
case 7:
getData()->location = kLocationInsideCompartment;
- CALLBACK_ACTION();
+ callbackAction();
break;
}
break;
@@ -249,7 +247,7 @@ IMPLEMENT_FUNCTION(12, Boutarel, enterTableWithMmeBoutarel)
getSavePoints()->push(kEntityBoutarel, kEntityTables2, kAction136455232);
getData()->location = kLocationInsideCompartment;
- CALLBACK_ACTION();
+ callbackAction();
break;
case kActionDefault:
@@ -276,7 +274,7 @@ IMPLEMENT_FUNCTION(13, Boutarel, leaveTableWithMmeBoutarel)
getSavePoints()->push(kEntityBoutarel, kEntityTables2, kActionDrawTablesWithChairs, "008F");
getEntities()->clearSequences(kEntityMmeBoutarel);
- CALLBACK_ACTION();
+ callbackAction();
break;
case kActionDefault:
@@ -358,7 +356,7 @@ IMPLEMENT_FUNCTION_I(14, Boutarel, function14, bool)
getEntities()->clearSequences(kEntityBoutarel);
getData()->location = kLocationInsideCompartment;
- CALLBACK_ACTION();
+ callbackAction();
break;
}
break;
@@ -416,7 +414,7 @@ IMPLEMENT_FUNCTION_IS(15, Boutarel, function15, bool)
case 5:
getData()->location = kLocationInsideCompartment;
- CALLBACK_ACTION();
+ callbackAction();
break;
}
break;
@@ -464,7 +462,7 @@ IMPLEMENT_FUNCTION_IS(16, Boutarel, function16, bool)
getData()->location = kLocationInsideCompartment;
getEntities()->clearSequences(kEntityBoutarel);
- CALLBACK_ACTION();
+ callbackAction();
break;
}
break;
@@ -478,10 +476,13 @@ IMPLEMENT_FUNCTION_IS(17, Boutarel, function17, TimeValue)
break;
case kActionNone:
- TIME_CHECK_CALLBACK_ACTION(params->param1, params->param6);
+ if (Entity::timeCheckCallbackAction((TimeValue)params->param1, params->param6))
+ break;
if (params->param5) {
- UPDATE_PARAM(params->param7, getState()->timeTicks, 90)
+ if (!Entity::updateParameter(params->param7, getState()->timeTicks, 90))
+ break;
+
getScenes()->loadSceneFromPosition(kCarRestaurant, 51);
} else {
params->param7 = 0;
@@ -511,12 +512,13 @@ IMPLEMENT_FUNCTION_I(18, Boutarel, function18, TimeValue)
getObjects()->update(kObjectCompartmentC, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand);
getObjects()->update(kObject50, kEntityPlayer, kObjectLocationNone, kCursorHandKnock, kCursorHand);
- CALLBACK_ACTION();
+ callbackAction();
break;
}
if (params->param2) {
- UPDATE_PARAM(params->param5, getState()->timeTicks, 75);
+ if (!Entity::updateParameter(params->param5, getState()->timeTicks, 75))
+ break;
params->param2 = 0;
params->param3 = 1;
@@ -615,7 +617,7 @@ IMPLEMENT_FUNCTION(19, Boutarel, chapter1)
break;
case kActionNone:
- TIME_CHECK(kTimeChapter1, params->param1, setup_chapter1Handler);
+ Entity::timeCheck(kTimeChapter1, params->param1, WRAP_SETUP_FUNCTION(Boutarel, setup_chapter1Handler));
break;
case kActionDefault:
@@ -644,14 +646,14 @@ IMPLEMENT_FUNCTION(20, Boutarel, function20)
break;
if (!params->param2) {
- UPDATE_PARAM_PROC(params->param3, getState()->time, 4500)
+ if (Entity::updateParameter(params->param3, getState()->time, 4500)) {
setCallback(3);
setup_playSound("MRB1078A");
break;
- UPDATE_PARAM_PROC_END
+ }
}
- TIME_CHECK_CALLBACK_1(kTime1138500, params->param4, 4, setup_function14, false);
+ Entity::timeCheckCallback(kTime1138500, params->param4, 4, false, WRAP_SETUP_FUNCTION_B(Boutarel, setup_function14));
break;
case kActionDefault:
@@ -676,13 +678,13 @@ IMPLEMENT_FUNCTION(20, Boutarel, function20)
break;
case 3:
- TIME_CHECK_CALLBACK_1(kTime1138500, params->param4, 4, setup_function14, false);
+ Entity::timeCheckCallback(kTime1138500, params->param4, 4, false, WRAP_SETUP_FUNCTION_B(Boutarel, setup_function14));
break;
case 4:
getSavePoints()->push(kEntityBoutarel, kEntityCooks, kAction224849280);
- CALLBACK_ACTION();
+ callbackAction();
break;
}
break;
@@ -834,7 +836,7 @@ IMPLEMENT_FUNCTION(24, Boutarel, chapter2Handler)
break;
case kActionNone:
- TIME_CHECK_CALLBACK_1(kTime1759500, params->param2, 1, setup_function14, false);
+ Entity::timeCheckCallback(kTime1759500, params->param2, 1, false, WRAP_SETUP_FUNCTION_B(Boutarel, setup_function14));
break;
case kActionDefault:
@@ -934,9 +936,9 @@ IMPLEMENT_FUNCTION(29, Boutarel, function29)
break;
case kActionNone:
- UPDATE_PARAM_PROC(params->param2, getState()->time, 450)
+ if (Entity::updateParameter(params->param2, getState()->time, 450)) {
getSavePoints()->push(kEntityBoutarel, kEntityServers1, kAction256200848);
- UPDATE_PARAM_PROC_END
+ }
if (!params->param1)
break;
@@ -959,7 +961,7 @@ IMPLEMENT_FUNCTION(29, Boutarel, function29)
}
}
- TIME_CHECK_CALLBACK_1(kTime2002500, params->param4, 1, setup_function14, true);
+ Entity::timeCheckCallback(kTime2002500, params->param4, 1, true, WRAP_SETUP_FUNCTION_B(Boutarel, setup_function14));
break;
case kActionDefault:
@@ -972,7 +974,7 @@ IMPLEMENT_FUNCTION(29, Boutarel, function29)
break;
case 1:
- TIME_CHECK_CALLBACK_1(kTime2002500, params->param4, 1, setup_function14, true);
+ Entity::timeCheckCallback(kTime2002500, params->param4, 1, true, WRAP_SETUP_FUNCTION_B(Boutarel, setup_function14));
break;
case 2:
@@ -1045,7 +1047,7 @@ IMPLEMENT_FUNCTION(32, Boutarel, chapter4Handler)
break;
case kActionNone:
- TIME_CHECK(kTime2367000, params->param1, setup_function33);
+ Entity::timeCheck(kTime2367000, params->param1, WRAP_SETUP_FUNCTION(Boutarel, setup_function33));
break;
case kActionDefault:
@@ -1063,7 +1065,7 @@ IMPLEMENT_FUNCTION(33, Boutarel, function33)
case kActionNone:
if (params->param1)
- TIME_CHECK_CALLBACK_1(kTime2389500, params->param2, 3, setup_function14, false);
+ Entity::timeCheckCallback(kTime2389500, params->param2, 3, false, WRAP_SETUP_FUNCTION_B(Boutarel, setup_function14));
break;
case kActionDefault:
@@ -1111,7 +1113,8 @@ IMPLEMENT_FUNCTION(34, Boutarel, function34)
break;
case kActionNone:
- TIME_CHECK(kTime2470500, params->param1, setup_function35);
+ if (Entity::timeCheck(kTime2470500, params->param1, WRAP_SETUP_FUNCTION(Boutarel, setup_function35)))
+ break;
if (getState()->time > kTime2457000 && getEvent(kEventAugustDrink)) {
getSavePoints()->push(kEntityBoutarel, kEntityAbbot, kAction159003408);