mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 17:10:36 +00:00
dual:: when one side is Euclidean, only the other one rotates
This commit is contained in:
parent
8005b39f6f
commit
e07f5fed0c
@ -1252,7 +1252,7 @@ void hrmap_standard::draw() {
|
||||
EX void spinEdge(ld aspd) {
|
||||
ld downspin = 0;
|
||||
auto& ds = downseek;
|
||||
if(dual::state == 2 && dual::currently_loaded != dual::main_side) {
|
||||
if(dual::state == 2 && (dual::one_euclidean ? !euclid : dual::currently_loaded != dual::main_side)) {
|
||||
transmatrix our = dual::get_orientation();
|
||||
transmatrix their = dual::player_orientation[dual::main_side];
|
||||
fixmatrix(our);
|
||||
|
@ -107,6 +107,9 @@ EX }
|
||||
EX namespace dual {
|
||||
/** 0 = dualmode off, 1 = in dualmode (no game chosen), 2 = in dualmode (working on one of subgames) */
|
||||
EX int state;
|
||||
|
||||
/** exactly one side is Euclidean -- it should not be synchronized with the other side */
|
||||
EX bool one_euclidean;
|
||||
|
||||
EX int currently_loaded;
|
||||
EX int main_side;
|
||||
@ -332,6 +335,11 @@ EX namespace dual {
|
||||
}
|
||||
|
||||
EX void assign_landsides() {
|
||||
switch_to(!currently_loaded);
|
||||
one_euclidean = euclid;
|
||||
switch_to(!currently_loaded);
|
||||
one_euclidean ^= euclid;
|
||||
|
||||
landsides.resize(landtypes);
|
||||
int which_hyperbolic = -1;
|
||||
if(ginf[dgd[0].geo].cclass == gcHyperbolic && ginf[dgd[1].geo].cclass != gcHyperbolic)
|
||||
|
Loading…
Reference in New Issue
Block a user