[Scummvm-git-logs] scummvm master -> fab96cb8fd44eaf2811f41618460cf44c4c07b1f
whiterandrek
whiterandrek at gmail.com
Wed Sep 30 21:04:40 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fab96cb8fd PETKA: fixes to walk system
Commit: fab96cb8fd44eaf2811f41618460cf44c4c07b1f
https://github.com/scummvm/scummvm/commit/fab96cb8fd44eaf2811f41618460cf44c4c07b1f
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-01T00:04:00+03:00
Commit Message:
PETKA: fixes to walk system
Changed paths:
engines/petka/walk.cpp
diff --git a/engines/petka/walk.cpp b/engines/petka/walk.cpp
index 45bc041d01..f454468bd0 100644
--- a/engines/petka/walk.cpp
+++ b/engines/petka/walk.cpp
@@ -45,7 +45,7 @@ Walk::Walk(int id) { // CHECKED
res.toLowercase();
res = res.substr(0, res.find(wayPrefixes[0]));
for (int i = 0; i < 8; ++i) {
- waysSizes[i] = readWayFile(res + Common::String(wayPrefixes[i]) + "off", &_off1[i], &_off2[i]);
+ waysSizes[i] = readWayFile(res + Common::String(wayPrefixes[i]) + "off", &_off1[i], &_off2[i]) - 1;
readWayFile(res + Common::String(wayPrefixes[i]) + "leg", &_leg1[i], &_leg2[i]);
}
@@ -363,14 +363,14 @@ int Walk::sub_422EA0(Point p1, Point p2) {
if (v39 == 0.0)
field_140 = v28 / v12;
else
- field_140 = (field_D0[resId] - -1.0 / (v26 / v28)) * (v26 / v12) * v39;
+ field_140 = (field_D0[resId] - -1.0 / (v26 / v28)) * (v26 / v12) * v39;
DBLPoint a1;
DBLPoint a2;
DBLPoint a3;
- a1.x = p2.x;
- a1.y = p2.y;
+ a1.x = p1.x;
+ a1.y = p1.y;
a2.x = p2.x;
a2.y = p2.y;
@@ -544,6 +544,7 @@ int Walk::sub_423600(Point p) {
if (v12 > kPI)
return i;
}
+ debug("Walk bug: Point doesn't belong to any convex");
return 0;
}
@@ -750,20 +751,16 @@ int Walk::sub_424320(Point *p1, Point *p2) { // CHECKED
int Walk::moveInside(Point *p) { // CHECKED
DBLPoint dp = sub_424610(_bkg1[_bkg2->x], _bkg1[_bkg2->y].x, _bkg1[_bkg2->y].y, *p);
- int v7 = 0;
- int v23 = 0;
+ int index = 0;
double min = (dp.y - p->y) * (dp.y - p->y) + (dp.x - p->x) * (dp.x - p->x);
for (int i = 1; i < _bkg1Count; ++i) {
DBLPoint dp1 = sub_424610(_bkg1[_bkg2[i].x], _bkg1[_bkg2[i].y].x, _bkg1[_bkg2[i].y].y, *p);
double curr = (dp1.y - p->y) * (dp1.y - p->y) + (dp1.x - p->x) * (dp1.x - p->x);
- if (curr >= min) {
- v7 = v23;
- } else {
+ if (curr < min) {
dp = dp1;
min = curr;
- v7 = i;
- v23 = i;
+ index = i;
}
}
@@ -774,7 +771,7 @@ int Walk::moveInside(Point *p) { // CHECKED
for (int i = 0; i < _bkg1Count; ++i) {
for (int j = 0; j < _bkg3_1[i]; ++j) {
- if (_bkg3_2[i][j] == v7)
+ if (_bkg3_2[i][j] == index)
return i;
}
}
More information about the Scummvm-git-logs
mailing list