mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-02 12:19:18 +00:00
refactored flat_model_enabler
This commit is contained in:
parent
9c61da86f3
commit
0a6c80e909
@ -1974,11 +1974,7 @@ EX void showCustomizeChar() {
|
||||
int firsty = dialog::items[0].position / 2;
|
||||
int scale = firsty - 2 * vid.fsize;
|
||||
|
||||
dynamicval<eModel> pm(pmodel, flat_model());
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
dynamicval<ld> va(pconf.alpha, 1);
|
||||
dynamicval<ld> vs(pconf.scale, 1);
|
||||
dynamicval<ld> vc(pconf.camera_angle, 0);
|
||||
flat_model_enabler fme;
|
||||
|
||||
initquickqueue();
|
||||
transmatrix V = atscreenpos(vid.xres/2, firsty, scale);
|
||||
|
10
hud.cpp
10
hud.cpp
@ -401,20 +401,12 @@ EX void drawStats() {
|
||||
if(geometry == gRotSpace || geometry == gProduct) rots::draw_underlying(!cornermode);
|
||||
|
||||
{
|
||||
dynamicval<eModel> pm(pmodel, flat_model());
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
// dynamicval<videopar> v(vid, vid);
|
||||
// pconf.alpha = vid.scale = 1;
|
||||
dynamicval<ld> va(pconf.alpha, 1);
|
||||
dynamicval<ld> vs(pconf.scale, 1);
|
||||
dynamicval<ld> vc(pconf.camera_angle, 0);
|
||||
if(prod) pconf.alpha = 30, pconf.scale = 30;
|
||||
|
||||
auto& cd = current_display;
|
||||
auto xc = cd->xcenter;
|
||||
auto yc = cd->ycenter;
|
||||
|
||||
calcparam();
|
||||
flat_model_enabler fme;
|
||||
|
||||
if(crosshair_color && crosshair_size > 0) {
|
||||
initquickqueue();
|
||||
|
21
hypgraph.cpp
21
hypgraph.cpp
@ -1518,6 +1518,27 @@ transmatrix screenpos(ld x, ld y) {
|
||||
|
||||
EX eModel flat_model() { return MDIM == 4 ? mdPixel : mdDisk; }
|
||||
|
||||
/** \brief enable the 'flat' model for drawing HUD. See hr::flat_model_enabler */
|
||||
EX void enable_flat_model() {
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
pmodel = flat_model();
|
||||
pconf.alpha = 1;
|
||||
pconf.scale = 1;
|
||||
pconf.camera_angle = 0;
|
||||
pconf.stretch = 1;
|
||||
if(prod) pconf.alpha = 30, pconf.scale = 30;
|
||||
calcparam();
|
||||
}
|
||||
|
||||
#if HDR
|
||||
/** \brief enable the 'flat' model for drawing HUD. Use RAII so it will be switched back later */
|
||||
struct flat_model_enabler {
|
||||
projection_configuration bak;
|
||||
flat_model_enabler() { bak = pconf; enable_flat_model(); }
|
||||
~flat_model_enabler() { pconf = bak; calcparam(); }
|
||||
};
|
||||
#endif
|
||||
|
||||
EX transmatrix atscreenpos(ld x, ld y, ld size) {
|
||||
transmatrix V = Id;
|
||||
|
||||
|
@ -513,14 +513,7 @@ EX namespace inv {
|
||||
int j = 0, oc = 6;
|
||||
|
||||
if(1) {
|
||||
dynamicval<eModel> pm(pmodel, flat_model());
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
// dynamicval<videopar> v(vid, vid);
|
||||
// pconf.alpha = vid.scale = 1;
|
||||
dynamicval<ld> va(pconf.alpha, 1);
|
||||
dynamicval<ld> vs(pconf.scale, 1);
|
||||
dynamicval<ld> vc(pconf.camera_angle, 0);
|
||||
calcparam();
|
||||
flat_model_enabler fme;
|
||||
|
||||
for(int i=0; i<ittypes; i++) {
|
||||
eItem o = eItem(i);
|
||||
|
@ -1381,8 +1381,7 @@ EX void drawStats() {
|
||||
|
||||
if(!racing::on) return;
|
||||
|
||||
dynamicval<eModel> pm(pmodel, flat_model());
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
flat_model_enabler fme;
|
||||
initquickqueue();
|
||||
|
||||
int bsize = vid.fsize * 2;
|
||||
|
Loading…
Reference in New Issue
Block a user