… | |
… | |
122 | $EV::DIED = sub { |
122 | $EV::DIED = sub { |
123 | DC::fatal Carp::longmess $@; |
123 | DC::fatal Carp::longmess $@; |
124 | }; |
124 | }; |
125 | |
125 | |
126 | my $MAX_FPS = 60; |
126 | my $MAX_FPS = 60; |
127 | my $MIN_FPS = 5; # unused as of yet |
|
|
128 | |
127 | |
129 | our $META_SERVER = "http://metaserver.schmorp.de/current.json"; |
128 | our $META_SERVER = "http://metaserver.schmorp.de/current.json"; |
130 | |
129 | |
131 | our $LAST_REFRESH; |
130 | our $LAST_REFRESH; |
132 | our $NOW; |
131 | our $NOW; |
… | |
… | |
2294 | $DC::UI::ROOT->draw; |
2293 | $DC::UI::ROOT->draw; |
2295 | DC::SDL_GL_SwapBuffers; |
2294 | DC::SDL_GL_SwapBuffers; |
2296 | $LAST_REFRESH = $NOW; |
2295 | $LAST_REFRESH = $NOW; |
2297 | } |
2296 | } |
2298 | |
2297 | |
2299 | my $want_refresh = EV::idle_ns \&force_refresh; |
2298 | my $want_refresh = EV::prepare_ns \&force_refresh; |
2300 | |
2299 | |
2301 | my $input = EV::periodic 0, 1/60, undef, sub { |
2300 | my $input = EV::periodic 0, 1 / $MAX_FPS, undef, sub { |
2302 | $NOW = time; |
2301 | $NOW = EV::now; |
2303 | |
2302 | |
2304 | ($SDL_CB{$_->{type}} || sub { warn "unhandled event $_->{type}" })->($_) |
2303 | ($SDL_CB{$_->{type}} || sub { warn "unhandled event $_->{type}" })->($_) |
2305 | for DC::poll_events; |
2304 | for DC::poll_events; |
2306 | |
2305 | |
2307 | if (%animate_object) { |
2306 | if (%animate_object) { |