mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-04-29 06:03:11 +00:00
nilrider:: VR support
This commit is contained in:
parent
00d606de47
commit
279fe685ec
@ -344,6 +344,7 @@ void settings() {
|
|||||||
dialog::add_action_push(nil_projection);
|
dialog::add_action_push(nil_projection);
|
||||||
dialog::addItem("configure keys", 'k');
|
dialog::addItem("configure keys", 'k');
|
||||||
dialog::add_action_push(multi::get_key_configurer(1, move_names, "Nilrider keys"));
|
dialog::add_action_push(multi::get_key_configurer(1, move_names, "Nilrider keys"));
|
||||||
|
vrhr::vr_enable_button();
|
||||||
dialog::addItem("RogueViz settings", 'r');
|
dialog::addItem("RogueViz settings", 'r');
|
||||||
dialog::add_key_action('r', [] {
|
dialog::add_key_action('r', [] {
|
||||||
pushScreen(showSettings);
|
pushScreen(showSettings);
|
||||||
@ -525,6 +526,9 @@ void initialize_all() {
|
|||||||
initialize();
|
initialize();
|
||||||
poly_outline = 0xFF;
|
poly_outline = 0xFF;
|
||||||
pushScreen(pick_game);
|
pushScreen(pick_game);
|
||||||
|
vrhr::hsm = vrhr::eHeadset::reference;
|
||||||
|
vrhr::eyes = vrhr::eEyes::equidistant;
|
||||||
|
vrhr::absolute_unit_in_meters = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto celldemo = arg::add3("-unilcycle", initialize) + arg::add3("-unilplan", [] { planning_mode = true; }) + arg::add3("-viewsim", [] { view_replay = true; })
|
auto celldemo = arg::add3("-unilcycle", initialize) + arg::add3("-unilplan", [] { planning_mode = true; }) + arg::add3("-viewsim", [] { view_replay = true; })
|
||||||
|
@ -166,6 +166,18 @@ bool timestamp::tick(level *lev) {
|
|||||||
|
|
||||||
void timestamp::centerview(level *lev) {
|
void timestamp::centerview(level *lev) {
|
||||||
// static bool once = false; if(once) return; once = true;
|
// static bool once = false; if(once) return; once = true;
|
||||||
|
|
||||||
|
if(vrhr::active()) {
|
||||||
|
transmatrix Ta = cspin(0, 1, -heading_angle);
|
||||||
|
transmatrix Tb = cspin(0, 2, -slope);
|
||||||
|
|
||||||
|
hyperpoint base = Ta * Tb * point31(0, 0, whrad);
|
||||||
|
hyperpoint refpoint = rgpushxto0(where) * rgpushxto0(base) * point31(0, 0, whrad+whrad);
|
||||||
|
centerover = cwt.at; playermoved = false;
|
||||||
|
View = cspin(0, 2, heading_angle-90*degree) * cspin(1, 2, -90*degree) * gpushxto0(refpoint);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
auto w = where;
|
auto w = where;
|
||||||
w[2] += 0.2 * lev->scale;
|
w[2] += 0.2 * lev->scale;
|
||||||
hyperpoint front = rgpushxto0(w) * sym_to_heis(hyperpoint(1e-3 * cos(heading_angle), 1e-3*sin(heading_angle), 0, 1));
|
hyperpoint front = rgpushxto0(w) * sym_to_heis(hyperpoint(1e-3 * cos(heading_angle), 1e-3*sin(heading_angle), 0, 1));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user