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() {
|
||||
sphereflip = Id;
|
||||
if(DIM == 3) return View;
|
||||
if(sphereflipped()) sphereflip[DIM][DIM] = -1;
|
||||
return ypush(vid.yshift) * sphereflip * View;
|
||||
}
|
||||
|
@ -1040,7 +1040,7 @@ void centerpc(ld aspd) {
|
||||
#endif
|
||||
|
||||
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;
|
||||
return;
|
||||
}
|
||||
|
@ -3424,8 +3424,9 @@ bool drawMonster(const transmatrix& V, cell *c, const transmatrix*& Vboat, trans
|
||||
switch(m->type) {
|
||||
case moPlayer:
|
||||
playerfound = true;
|
||||
if(playermoved && DIM == 3) continue;
|
||||
if(playermoved && DIM == 3 && vid.yshift == 0 && vid.sspeed > -5) continue;
|
||||
cpid = m->pid;
|
||||
if(DIM == 3) view = view * spin(-M_PI/2);
|
||||
drawPlayerEffects(view, c, true);
|
||||
if(m->inBoat) m->footphase = 0;
|
||||
if(mapeditor::drawplayer) drawMonsterType(moPlayer, c, view, 0xFFFFFFC0, m->footphase);
|
||||
|
Loading…
x
Reference in New Issue
Block a user