1
This commit is contained in:
commit
b436bfcd05
@ -463,15 +463,23 @@ void Room::UpdateGas()
|
|||||||
float distance = gas_data.old_area_meta->i->shrink_speed() *
|
float distance = gas_data.old_area_meta->i->shrink_speed() *
|
||||||
((frame_no - gas_data.gas_start_frameno) * (1.0 / SERVER_FRAME_RATE));
|
((frame_no - gas_data.gas_start_frameno) * (1.0 / SERVER_FRAME_RATE));
|
||||||
gas_data.gas_progress = std::max(gas_data.rad_old - distance, gas_data.rad_new);
|
gas_data.gas_progress = std::max(gas_data.rad_old - distance, gas_data.rad_new);
|
||||||
|
#if 0
|
||||||
|
{
|
||||||
|
#else
|
||||||
if (!(gas_data.pos_new == gas_data.pos_old)) {
|
if (!(gas_data.pos_new == gas_data.pos_old)) {
|
||||||
|
#endif
|
||||||
Vector2D p1 = gas_data.pos_new - gas_data.pos_old_bk;
|
Vector2D p1 = gas_data.pos_new - gas_data.pos_old_bk;
|
||||||
if (std::abs(p1.Norm() - distance) <= 0.01f) {
|
gas_data.pre_pos_old = gas_data.pos_old;
|
||||||
|
if (p1.Norm() - distance <= 0.01f) {
|
||||||
gas_data.pos_old = gas_data.pos_new;
|
gas_data.pos_old = gas_data.pos_new;
|
||||||
} else {
|
} else {
|
||||||
Vector2D dir = p1;
|
Vector2D dir = p1;
|
||||||
dir.Normalize();
|
dir.Normalize();
|
||||||
gas_data.pos_old = gas_data.pos_old_bk + dir * distance;
|
gas_data.pos_old = gas_data.pos_old_bk + dir * distance;
|
||||||
}
|
}
|
||||||
|
if (gas_data.rad_old - distance <= gas_data.rad_new) {
|
||||||
|
assert(gas_data.pos_new == gas_data.pos_old);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (std::abs(gas_data.gas_progress - gas_data.rad_new) <= 0.001f) {
|
if (std::abs(gas_data.gas_progress - gas_data.rad_new) <= 0.001f) {
|
||||||
int pre_area_id = gas_data.new_area_meta->i->id();
|
int pre_area_id = gas_data.new_area_meta->i->id();
|
||||||
|
@ -51,6 +51,7 @@ struct GasData
|
|||||||
GasMode_e gas_mode = GasInactive;
|
GasMode_e gas_mode = GasInactive;
|
||||||
Vector2D pos_old;
|
Vector2D pos_old;
|
||||||
Vector2D pos_old_bk;
|
Vector2D pos_old_bk;
|
||||||
|
Vector2D pre_pos_old;
|
||||||
Vector2D pos_new;
|
Vector2D pos_new;
|
||||||
float rad_old = 0.0f;
|
float rad_old = 0.0f;
|
||||||
float rad_new = 0.0f;
|
float rad_new = 0.0f;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user