mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-10-31 19:36:16 +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) {
|
EX void spinEdge(ld aspd) {
|
||||||
ld downspin = 0;
|
ld downspin = 0;
|
||||||
auto& ds = downseek;
|
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 our = dual::get_orientation();
|
||||||
transmatrix their = dual::player_orientation[dual::main_side];
|
transmatrix their = dual::player_orientation[dual::main_side];
|
||||||
fixmatrix(our);
|
fixmatrix(our);
|
||||||
|
@ -108,6 +108,9 @@ EX namespace dual {
|
|||||||
/** 0 = dualmode off, 1 = in dualmode (no game chosen), 2 = in dualmode (working on one of subgames) */
|
/** 0 = dualmode off, 1 = in dualmode (no game chosen), 2 = in dualmode (working on one of subgames) */
|
||||||
EX int state;
|
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 currently_loaded;
|
||||||
EX int main_side;
|
EX int main_side;
|
||||||
EX bool affect_both;
|
EX bool affect_both;
|
||||||
@ -332,6 +335,11 @@ EX namespace dual {
|
|||||||
}
|
}
|
||||||
|
|
||||||
EX void assign_landsides() {
|
EX void assign_landsides() {
|
||||||
|
switch_to(!currently_loaded);
|
||||||
|
one_euclidean = euclid;
|
||||||
|
switch_to(!currently_loaded);
|
||||||
|
one_euclidean ^= euclid;
|
||||||
|
|
||||||
landsides.resize(landtypes);
|
landsides.resize(landtypes);
|
||||||
int which_hyperbolic = -1;
|
int which_hyperbolic = -1;
|
||||||
if(ginf[dgd[0].geo].cclass == gcHyperbolic && ginf[dgd[1].geo].cclass != gcHyperbolic)
|
if(ginf[dgd[0].geo].cclass == gcHyperbolic && ginf[dgd[1].geo].cclass != gcHyperbolic)
|
||||||
|
Loading…
Reference in New Issue
Block a user