mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-19 07:05:11 +00:00
fixed the disconnect between Euclidean sspeed and mspeed
This commit is contained in:
@@ -158,7 +158,7 @@ EX bool applyAnimation(cell *c, shiftmatrix& V, double& footphase, int layer) {
|
||||
R = hdist(a.attackat * TC0, a.wherenow * TC0);
|
||||
else
|
||||
R = hdist(a.wherenow * TC0, TC0);
|
||||
aspd *= (1+R+(shmup::on?1:0));
|
||||
adjust_aspeed(aspd, R);
|
||||
|
||||
if(a.attacking == 3 && aspd > R) aspd = R;
|
||||
|
||||
|
||||
@@ -2258,6 +2258,10 @@ EX vector<transmatrix*> move_affected_matrices(int flag) {
|
||||
return res;
|
||||
}
|
||||
|
||||
EX void adjust_aspeed(ld& aspd, ld R) {
|
||||
aspd *= euclid ? (2+3*R*R) : (1+R+(shmup::on?1:0));
|
||||
}
|
||||
|
||||
EX void centerpc(ld aspd) {
|
||||
|
||||
if(subscreens::split([=] () {centerpc(aspd);})) return;
|
||||
@@ -2341,7 +2345,7 @@ EX void centerpc(ld aspd) {
|
||||
}
|
||||
|
||||
else {
|
||||
aspd *= euclid ? (2+3*R*R) : (1+R+(shmup::on?1:0));
|
||||
adjust_aspeed(aspd, R);
|
||||
|
||||
if(R < aspd) fix_whichcopy_if_near();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user