diff options
Diffstat (limited to 'saga')
-rw-r--r-- | saga/actor.cpp | 19 | ||||
-rw-r--r-- | saga/font.cpp | 11 | ||||
-rw-r--r-- | saga/saga.cpp | 2 |
3 files changed, 10 insertions, 22 deletions
diff --git a/saga/actor.cpp b/saga/actor.cpp index ddd3b85fa1..77625d3871 100644 --- a/saga/actor.cpp +++ b/saga/actor.cpp @@ -162,7 +162,7 @@ Actor::Actor(SagaEngine *vm) : _vm(vm) { _pathRect.left = 0; - _pathRect.right = _vm->getDisplayWidth() - 1; + _pathRect.right = _vm->getDisplayWidth(); _pathRect.top = _vm->getPathYOffset(); _pathRect.bottom = _vm->getStatusYOffset(); @@ -1217,23 +1217,22 @@ bool Actor::actorWalkTo(uint16 actorId, const ActorLocation &toLocation) { anotherActorScreenPosition = anotherActor->screenPosition; testBox.left = anotherActorScreenPosition.x - collision.x; - testBox.right = anotherActorScreenPosition.x + collision.x; + testBox.right = anotherActorScreenPosition.x + collision.x + 1; testBox.top = anotherActorScreenPosition.y - collision.y; - testBox.bottom = anotherActorScreenPosition.y + collision.y; + testBox.bottom = anotherActorScreenPosition.y + collision.y + 1; testBox2 = testBox; - testBox2.right += 2; + testBox2.right += 1; testBox2.left -= 1; - testBox2.bottom += 1; if (testBox2.contains(pointFrom)) { if (pointFrom.x > anotherActorScreenPosition.x + 4) { - testBox.right = pointFrom.x - 2; + testBox.right = pointFrom.x - 1; } else { if (pointFrom.x < anotherActorScreenPosition.x - 4) { testBox.left = pointFrom.x + 2; } else { if (pointFrom.y > anotherActorScreenPosition.y) { - testBox.bottom = pointFrom.y - 1; + testBox.bottom = pointFrom.y; } else { testBox.top = pointFrom.y + 1 ; } @@ -1241,7 +1240,7 @@ bool Actor::actorWalkTo(uint16 actorId, const ActorLocation &toLocation) { } } - if ((testBox.left <= testBox.right) && (testBox.top <= testBox.bottom)) { + if ((testBox.width() > 0) && (testBox.height() > 0)) { _barrierList[_barrierCount++] = testBox; } } @@ -1416,8 +1415,8 @@ void Actor::findActorPath(ActorData *actor, const Point &fromPoint, const Point intersect.bottom = MIN(_pathRect.bottom, _barrierList[i].bottom); - for (iteratorPoint.y = intersect.top; iteratorPoint.y <= intersect.bottom; iteratorPoint.y++) { - for (iteratorPoint.x = intersect.left; iteratorPoint.x <= intersect.right; iteratorPoint.x++) { + for (iteratorPoint.y = intersect.top; iteratorPoint.y < intersect.bottom; iteratorPoint.y++) { + for (iteratorPoint.x = intersect.left; iteratorPoint.x < intersect.right; iteratorPoint.x++) { setPathCell(iteratorPoint, kPathCellBarrier); } } diff --git a/saga/font.cpp b/saga/font.cpp index 9814540d8c..d28db992d6 100644 --- a/saga/font.cpp +++ b/saga/font.cpp @@ -98,7 +98,6 @@ int Font::loadFont(uint32 font_rn, int font_id) { // Load font resource if (RSC_LoadResource(_fontContext, font_rn, &fontres_p, &fontres_len) != SUCCESS) { error("Font::loadFont(): Couldn't load font resource."); - return FAILURE; } if (fontres_len < FONT_DESCSIZE) { @@ -112,7 +111,6 @@ int Font::loadFont(uint32 font_rn, int font_id) { font = (FONT *)malloc(sizeof(*font)); if (font == NULL) { error("Font:loadFont(): Memory allocation error."); - return MEM; } // Read font header @@ -130,8 +128,6 @@ int Font::loadFont(uint32 font_rn, int font_id) { normal_font = (FONT_STYLE *)malloc(sizeof(*normal_font)); if (normal_font == NULL) { error("Font::loadFont(): Memory allocation error."); - free(font); - return MEM; } normal_font->font_free_p = fontres_p; @@ -185,7 +181,6 @@ int Font::getHeight(int font_id) { if ((font_id < 0) || (font_id >= _nFonts) || (_fonts[font_id] == NULL)) { error("Font::getHeight(): Invalid font id."); - return FAILURE; } font = _fonts[font_id]; @@ -219,7 +214,6 @@ FONT_STYLE *Font::createOutline(FONT_STYLE *src_font) { if (new_font == NULL) { error("Font::createOutline(): Memory allocation error."); - return NULL; } memset(new_font, 0, sizeof(*new_font)); @@ -263,7 +257,6 @@ FONT_STYLE *Font::createOutline(FONT_STYLE *src_font) { if (new_font_data == NULL) { error("Font::createOutline(): Memory allocation error."); - return NULL; } memset(new_font_data, 0, new_font_data_len); @@ -351,7 +344,6 @@ int Font::getStringWidth(int font_id, const char *test_str, size_t test_str_ct, if ((font_id < 0) || (font_id >= _nFonts) || (_fonts[font_id] == NULL)) { error("Font::getStringWidth(): Invalid font id."); - return FAILURE; } font = _fonts[font_id]; @@ -380,13 +372,10 @@ int Font::draw(int font_id, SURFACE *ds, const char *draw_str, size_t draw_str_c if (!_initialized) { error("Font::draw(): Font Module not initialized."); - - return FAILURE; } if ((font_id < 0) || (font_id >= _nFonts) || (_fonts[font_id] == NULL)) { error("Font::draw(): Invalid font id."); - return FAILURE; } font = _fonts[font_id]; diff --git a/saga/saga.cpp b/saga/saga.cpp index 0c03d9f0c0..5ce9f8a164 100644 --- a/saga/saga.cpp +++ b/saga/saga.cpp @@ -258,7 +258,7 @@ int SagaEngine::go() { _system->delayMillis(10); } - return 0; + //return 0; } void SagaEngine::shutdown() { |