mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-02 12:19:18 +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::addItem("configure keys", 'k');
|
||||
dialog::add_action_push(multi::get_key_configurer(1, move_names, "Nilrider keys"));
|
||||
vrhr::vr_enable_button();
|
||||
dialog::addItem("RogueViz settings", 'r');
|
||||
dialog::add_key_action('r', [] {
|
||||
pushScreen(showSettings);
|
||||
@ -525,6 +526,9 @@ void initialize_all() {
|
||||
initialize();
|
||||
poly_outline = 0xFF;
|
||||
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; })
|
||||
|
@ -166,6 +166,18 @@ bool timestamp::tick(level *lev) {
|
||||
|
||||
void timestamp::centerview(level *lev) {
|
||||
// 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;
|
||||
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));
|
||||
|
Loading…
Reference in New Issue
Block a user