mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-24 15:00:14 +00:00
3D:: smooth TPP; display player or not correctly
This commit is contained in:
parent
26b5d55224
commit
168b3fb11d
@ -5665,6 +5665,7 @@ purehookset hooks_drawmap;
|
|||||||
|
|
||||||
transmatrix cview() {
|
transmatrix cview() {
|
||||||
sphereflip = Id;
|
sphereflip = Id;
|
||||||
|
if(DIM == 3) return View;
|
||||||
if(sphereflipped()) sphereflip[DIM][DIM] = -1;
|
if(sphereflipped()) sphereflip[DIM][DIM] = -1;
|
||||||
return ypush(vid.yshift) * sphereflip * View;
|
return ypush(vid.yshift) * sphereflip * View;
|
||||||
}
|
}
|
||||||
|
@ -1040,7 +1040,7 @@ void centerpc(ld aspd) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(shmup::on && DIM == 3 && vid.sspeed > -5) {
|
if(shmup::on && DIM == 3 && vid.sspeed > -5) {
|
||||||
transmatrix at = cpush(2, -vid.yshift) * ggmatrix(shmup::pc[0]->base) * shmup::pc[0]->at;
|
transmatrix at = ggmatrix(shmup::pc[0]->base) * shmup::pc[0]->at * cpush(2, -vid.yshift);
|
||||||
View = inverse(at) * View;
|
View = inverse(at) * View;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -3424,8 +3424,9 @@ bool drawMonster(const transmatrix& V, cell *c, const transmatrix*& Vboat, trans
|
|||||||
switch(m->type) {
|
switch(m->type) {
|
||||||
case moPlayer:
|
case moPlayer:
|
||||||
playerfound = true;
|
playerfound = true;
|
||||||
if(playermoved && DIM == 3) continue;
|
if(playermoved && DIM == 3 && vid.yshift == 0 && vid.sspeed > -5) continue;
|
||||||
cpid = m->pid;
|
cpid = m->pid;
|
||||||
|
if(DIM == 3) view = view * spin(-M_PI/2);
|
||||||
drawPlayerEffects(view, c, true);
|
drawPlayerEffects(view, c, true);
|
||||||
if(m->inBoat) m->footphase = 0;
|
if(m->inBoat) m->footphase = 0;
|
||||||
if(mapeditor::drawplayer) drawMonsterType(moPlayer, c, view, 0xFFFFFFC0, m->footphase);
|
if(mapeditor::drawplayer) drawMonsterType(moPlayer, c, view, 0xFFFFFFC0, m->footphase);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user