1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-30 03:50:34 +00:00

3D:: mouseover set correctly

This commit is contained in:
? 2019-02-26 12:28:54 +01:00 committed by Zeno Rogue
parent c6025ad711
commit 6ac9820644

View File

@ -3854,6 +3854,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
hyperpoint VC0 = tC0(V); hyperpoint VC0 = tC0(V);
if(inmirrorcount) ; if(inmirrorcount) ;
else if(DIM == 3) ;
else if(intval(mouseh, VC0) < modist) { else if(intval(mouseh, VC0) < modist) {
modist2 = modist; mouseover2 = mouseover; modist2 = modist; mouseover2 = mouseover;
modist = intval(mouseh, VC0); modist = intval(mouseh, VC0);
@ -5355,6 +5356,12 @@ void queuecircleat(cell *c, double rad, color_t col) {
#define MOBON true #define MOBON true
#endif #endif
cell *mouseover3() {
movedir md = vectodir(move_destination_vec(6));
cellwalker xc = cwt + md.d + wstep;
return xc.at;
}
void drawMarkers() { void drawMarkers() {
if(!(cmode & sm::NORMAL)) return; if(!(cmode & sm::NORMAL)) return;
@ -5468,9 +5475,8 @@ void drawMarkers() {
} }
if(DIM == 3 && !inHighQual && !shmup::on && vid.axes) { if(DIM == 3 && !inHighQual && !shmup::on && vid.axes) {
movedir md = vectodir(move_destination_vec(6)); cell *c = mouseover3();
cellwalker xc = cwt + md.d + wstep; IG(c) queuecircleat(c, .8, getcs().uicolor);
IG(xc.at) queuecircleat(xc.at, .8, getcs().uicolor);
} }
#endif #endif
} }
@ -5617,6 +5623,7 @@ transmatrix cview() {
} }
void precise_mouseover() { void precise_mouseover() {
if(DIM == 3) { mouseover2 = viewctr.at->c7; mouseover = mouseover3(); return; }
if(!mouseover) return; if(!mouseover) return;
cell *omouseover = mouseover; cell *omouseover = mouseover;
for(int loop = 0; loop < 10; loop++) { for(int loop = 0; loop < 10; loop++) {