1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-11-18 22:55:12 +00:00

3D:: two-player uses split screen

This commit is contained in:
Zeno Rogue
2019-03-09 16:20:06 +01:00
parent 1f4afeeeb4
commit d9b90d8a8e
7 changed files with 87 additions and 68 deletions

View File

@@ -987,13 +987,16 @@ void spinEdge(ld aspd) {
void centerpc(ld aspd) {
if(subscreens::split([=] () {centerpc(aspd);})) return;
#if CAP_CRYSTAL
if(geometry == gCrystal)
crystal::centerrug(aspd);
#endif
if(shmup::on && DIM == 3 && vid.sspeed > -5) {
transmatrix at = ggmatrix(shmup::pc[0]->base) * shmup::pc[0]->at * cpush(2, -vid.yshift);
int id = subscreens::in ? subscreens::current_player : 0;
transmatrix at = ggmatrix(shmup::pc[id]->base) * shmup::pc[id]->at * cpush(2, -vid.yshift);
View = inverse(at) * View;
#if CAP_RACING
if(racing::on) racing::set_view();
@@ -1057,7 +1060,7 @@ void centerpc(ld aspd) {
void optimizeview() {
subscreen_split(optimizeview);
if(subscreens::split(optimizeview)) return;
#if CAP_ANIMATIONS
if(centerover.at && inmirror(centerover.at)) {