1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-23 21:07:17 +00:00

ads-games:: fixes to ds-record

This commit is contained in:
Zeno Rogue 2022-09-29 13:09:21 +02:00
parent 1391a0e47f
commit 25997dc6c1
2 changed files with 5 additions and 5 deletions

View File

@ -164,7 +164,7 @@ void draw_game_cell(const cell_to_draw& cd) {
} }
} }
if(paused && c == vctr_ship && !game_over) { if(paused && c == vctr_ship && !game_over && !inHighQual) {
cross_result cr; cross_result cr;
hybrid::in_actual([&]{ hybrid::in_actual([&]{
auto h = ads_inverse(current_ship * vctrV_ship); auto h = ads_inverse(current_ship * vctrV_ship);

View File

@ -555,7 +555,7 @@ void view_ds_game() {
queuestr(shiftless(sphereflip), .1, str, 0xFFFF00, 8); queuestr(shiftless(sphereflip), .1, str, 0xFFFF00, 8);
} }
if(paused && !game_over) { if(paused && !game_over && !inHighQual) {
vector<hyperpoint> pts; vector<hyperpoint> pts;
int ok = 0, bad = 0; int ok = 0, bad = 0;
for(int i=0; i<=360; i++) { for(int i=0; i<=360; i++) {
@ -612,11 +612,11 @@ void run_ds_game() {
void ds_record() { void ds_record() {
ld full = 1000; ld full = 1000;
anims::period = full * history.back().start / ds_simspeed; anims::period = full * history.back().start / DS_(simspeed);
anims::noframes = anims::period * 60 / 1000; anims::noframes = anims::period * 60 / 1000;
dynamicval<bool> b(paused, true); dynamicval<bool> b(paused, true);
int a = addHook(anims::hooks_anim, 100, [&] { int a = addHook(anims::hooks_anim, 100, [&] {
view_pt = (ticks / full) * ds_simspeed; view_pt = (ticks / full) * DS_(simspeed);
for(auto& ss: history) for(auto& ss: history)
if(ss.start + ss.duration > view_pt) { if(ss.start + ss.duration > view_pt) {
if(sphere) { if(sphere) {
@ -625,7 +625,7 @@ void ds_record() {
current.T = inverse(ss.at.T * spin(-ss.ang*degree)); current.T = inverse(ss.at.T * spin(-ss.ang*degree));
current.T = lorentz(3, 2, view_pt - ss.start) * current.T; current.T = lorentz(3, 2, view_pt - ss.start) * current.T;
} }
else PIA([&] { else PIA({
current = ads_inverse(ss.at * spin(-ss.ang*degree)); current = ads_inverse(ss.at * spin(-ss.ang*degree));
vctr = ss.vctr; vctr = ss.vctr;
vctrV = ss.vctrV; vctrV = ss.vctrV;