mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-26 08:56:59 +00:00
intra:: allow panning, edit inside walls, and draw the portal to edit
This commit is contained in:
parent
6ef282173f
commit
0c22ab2b4b
17
intra.cpp
17
intra.cpp
@ -716,13 +716,24 @@ EX void world_list() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
EX void show_portals() {
|
EX void show_portals() {
|
||||||
cmode = sm::SIDE | sm::MAYDARK;
|
cmode = sm::SIDE | sm::MAYDARK | sm::PANNING;
|
||||||
|
if(mapeditor::building_mode) cmode |= sm::EDIT_INSIDE_WALLS;
|
||||||
gamescreen();
|
gamescreen();
|
||||||
|
|
||||||
dialog::init(XLAT("manage portals"));
|
dialog::init(XLAT("manage portals"));
|
||||||
|
|
||||||
cellwalker cw(centerover, point_direction);
|
cellwalker cw(mouseover2, point_direction);
|
||||||
bool valid = point_direction >= 0 && point_direction < centerover->type;
|
bool valid = point_direction >= 0 && point_direction < mouseover2->type;
|
||||||
|
|
||||||
|
if(valid) {
|
||||||
|
initquickqueue();
|
||||||
|
for (const shiftmatrix& V : hr::span_at(current_display->all_drawn_copies, mouseover2)) {
|
||||||
|
dynamicval<color_t> p(poly_outline, 0xFFFFFF);
|
||||||
|
int ofs = currentmap->wall_offset(mouseover2);
|
||||||
|
queuepolyat(V, cgi.shWireframe3D[ofs + point_direction], 0, PPR::SUPERLINE);
|
||||||
|
}
|
||||||
|
quickqueue();
|
||||||
|
}
|
||||||
|
|
||||||
dialog::addItem(XLAT("view another world"), 'm');
|
dialog::addItem(XLAT("view another world"), 'm');
|
||||||
dialog::add_action_push(world_list);
|
dialog::add_action_push(world_list);
|
||||||
|
Loading…
Reference in New Issue
Block a user