aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/parallaction/parallaction_br.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp
index cd9b15381b..153ea1541d 100644
--- a/engines/parallaction/parallaction_br.cpp
+++ b/engines/parallaction/parallaction_br.cpp
@@ -275,11 +275,7 @@ void Parallaction_br::changeLocation() {
return;
}
- char location[200];
- strcpy(location, _newLocationName.c_str());
-
- char *partStr = strrchr(location, '.');
- if (partStr || _nextPart != -1) {
+ if (_nextPart != -1) {
cleanupGame();
// more cleanup needed for part changes (see also saveload)
@@ -287,14 +283,7 @@ void Parallaction_br::changeLocation() {
cleanInventory(true);
strcpy(_characterName1, "null");
- if (partStr) {
- int n = partStr - location;
- location[n] = '\0';
-
- _part = atoi(++partStr);
- } else {
- _part = _nextPart;
- }
+ _part = _nextPart;
if (getFeatures() & GF_DEMO) {
assert(_part == 1);
@@ -322,8 +311,8 @@ void Parallaction_br::changeLocation() {
freeLocation(false);
// load new location
- strcpy(_location._name, location);
- parseLocation(location);
+ strcpy(_location._name, _newLocationName.c_str());
+ parseLocation(_location._name);
if (_location._startPosition.x != -1000) {
_char._ani->setFoot(_location._startPosition);