aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien2012-07-23 01:23:41 -0400
committerJulien2012-07-27 00:14:58 -0400
commit82ad017a8e8614ca4c4141c4d1a8fd2a9c45010d (patch)
tree28f1dc8ba9624b3db7857f7d970c8d9415b54bae
parent8de4cb654782107100aaa3063cac79460546ed67 (diff)
downloadscummvm-rg350-82ad017a8e8614ca4c4141c4d1a8fd2a9c45010d.tar.gz
scummvm-rg350-82ad017a8e8614ca4c4141c4d1a8fd2a9c45010d.tar.bz2
scummvm-rg350-82ad017a8e8614ca4c4141c4d1a8fd2a9c45010d.zip
LASTEXPRESS: Replace UPDATE_PARAM_GOTO macro
-rw-r--r--engines/lastexpress/entities/anna.cpp3
-rw-r--r--engines/lastexpress/entities/august.cpp3
-rw-r--r--engines/lastexpress/entities/entity_intern.h13
-rw-r--r--engines/lastexpress/entities/tatiana.cpp3
-rw-r--r--engines/lastexpress/entities/train.cpp16
-rw-r--r--engines/lastexpress/entities/vassili.cpp3
6 files changed, 17 insertions, 24 deletions
diff --git a/engines/lastexpress/entities/anna.cpp b/engines/lastexpress/entities/anna.cpp
index ab7163a67c..0f326792eb 100644
--- a/engines/lastexpress/entities/anna.cpp
+++ b/engines/lastexpress/entities/anna.cpp
@@ -3277,7 +3277,8 @@ IMPLEMENT_FUNCTION(67, Anna, chapter4Handler)
case kActionNone:
if (getEntities()->isPlayerPosition(kCarRedSleeping, 46)) {
- UPDATE_PARAM_GOTO(params->param4, getState()->timeTicks, 30, label_next);
+ if (!Entity::updateParameter(params->param4, getState()->timeTicks, 30))
+ goto label_next;
getScenes()->loadSceneFromPosition(kCarRedSleeping, 8);
}
diff --git a/engines/lastexpress/entities/august.cpp b/engines/lastexpress/entities/august.cpp
index 5ae8d11b95..e863fe1d87 100644
--- a/engines/lastexpress/entities/august.cpp
+++ b/engines/lastexpress/entities/august.cpp
@@ -523,7 +523,8 @@ IMPLEMENT_FUNCTION_I(21, August, function21, TimeValue)
}
if (params->param2) {
- UPDATE_PARAM_GOTO(params->param8, getState()->timeTicks, 75, label_continue);
+ if (!Entity::updateParameter(params->param8, getState()->timeTicks, 75))
+ goto label_continue;
params->param2 = 0;
params->param3 = 1;
diff --git a/engines/lastexpress/entities/entity_intern.h b/engines/lastexpress/entities/entity_intern.h
index c4fc36a8ee..4a7aabff28 100644
--- a/engines/lastexpress/entities/entity_intern.h
+++ b/engines/lastexpress/entities/entity_intern.h
@@ -358,19 +358,6 @@ void class::setup_##name() { \
} \
}
-//////////////////////////////////////////////////////////////////////////
-// Param update
-//////////////////////////////////////////////////////////////////////////
-
-// Todo: replace with UPDATE_PARAM_PROC as appropriate
-#define UPDATE_PARAM_GOTO(parameter, type, value, label) { \
- if (!parameter) \
- parameter = (uint)(type + value); \
- if (parameter >= type) \
- goto label; \
- parameter = kTimeInvalid; \
-}
-
} // End of namespace LastExpress
#endif // LASTEXPRESS_ENTITY_INTERN_H
diff --git a/engines/lastexpress/entities/tatiana.cpp b/engines/lastexpress/entities/tatiana.cpp
index 992d38e017..b7c26bdd1c 100644
--- a/engines/lastexpress/entities/tatiana.cpp
+++ b/engines/lastexpress/entities/tatiana.cpp
@@ -1955,7 +1955,8 @@ IMPLEMENT_FUNCTION(48, Tatiana, function48)
if (!params->param1 || getSoundQueue()->isBuffered(kEntityTatiana))
goto label_end;
- UPDATE_PARAM_GOTO(params->param2, getState()->timeTicks, 5 * (3 * rnd(5) + 30), label_end);
+ if (!Entity::updateParameter(params->param2, getState()->timeTicks, 5 * (3 * rnd(5) + 30)))
+ goto label_end;
getSound()->playSound(kEntityTatiana, "LIB012", kFlagDefault);
params->param2 = 0;
diff --git a/engines/lastexpress/entities/train.cpp b/engines/lastexpress/entities/train.cpp
index 0830dffbef..e3f530ef25 100644
--- a/engines/lastexpress/entities/train.cpp
+++ b/engines/lastexpress/entities/train.cpp
@@ -267,18 +267,20 @@ IMPLEMENT_FUNCTION(8, Train, process)
if ((getEntities()->isPlayerInCar(kCarGreenSleeping) || getEntities()->isPlayerInCar(kCarRedSleeping))
&& params->param4 && !params->param5) {
- params->param4 -= 1;
+ params->param4 -= 1;
- if (!params->param4 && getProgress().jacket == kJacketGreen) {
+ if (!params->param4 && getProgress().jacket == kJacketGreen) {
- getAction()->playAnimation(isNight() ? kEventCathSmokeNight : kEventCathSmokeDay);
- params->param5 = 1;
- getScenes()->processScene();
- }
+ getAction()->playAnimation(isNight() ? kEventCathSmokeNight : kEventCathSmokeDay);
+ params->param5 = 1;
+ getScenes()->processScene();
+ }
}
if (params->param6) {
- UPDATE_PARAM_GOTO(params1->param7, getState()->time, 900, label_process);
+ if (!Entity::updateParameter(params1->param7, getState()->time, 900))
+ goto label_process;
+
getScenes()->loadSceneFromPosition(kCarRestaurant, 58);
}
diff --git a/engines/lastexpress/entities/vassili.cpp b/engines/lastexpress/entities/vassili.cpp
index 6504df7928..5344e705f5 100644
--- a/engines/lastexpress/entities/vassili.cpp
+++ b/engines/lastexpress/entities/vassili.cpp
@@ -144,7 +144,8 @@ IMPLEMENT_FUNCTION(6, Vassili, function6)
case kActionNone:
if (getEntities()->isInsideCompartment(kEntityPlayer, kCarRedSleeping, kPosition_8200)) {
- UPDATE_PARAM_GOTO(params->param3, getState()->timeTicks, params->param1, label_function7);
+ if (!Entity::updateParameter(params->param3, getState()->timeTicks, params->param1))
+ goto label_function7;
setCallback(1);
setup_draw("303B");