1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-02-02 12:19:18 +00:00

removed the functions queuechr -- use queuestr now

This commit is contained in:
Zeno Rogue 2019-12-26 23:38:28 +01:00
parent c4528bf954
commit c247936e34
11 changed files with 32 additions and 56 deletions

View File

@ -128,7 +128,7 @@ EX void drawBlizzards() {
transmatrix tpartial = sball.global * rspintox(t) * xpush(hdist0(t) * at0); transmatrix tpartial = sball.global * rspintox(t) * xpush(hdist0(t) * at0);
if(wmascii || wmblack) if(wmascii || wmblack)
queuechr(tpartial, .2, '.', 0xFFFFFF); queuestr(tpartial, .2, ".", 0xFFFFFF);
else else
queuepoly(tpartial, cgi.shSnowball, 0xFFFFFF80); queuepoly(tpartial, cgi.shSnowball, 0xFFFFFF80);
} }

View File

@ -2105,7 +2105,7 @@ void celldrawer::draw_item_full() {
transmatrix P = ggmatrix(c1); transmatrix P = ggmatrix(c1);
hyperpoint P1 = tC0(P); hyperpoint P1 = tC0(P);
queuechr(P1, 2*vid.fsize, 'X', 0x10100 * int(128 + 100 * sintick(150))); queuestr(P1, 2*vid.fsize, "X", 0x10100 * int(128 + 100 * sintick(150)));
queuestr(P1, vid.fsize, its(-compassDist(c)), 0x10101 * int(128 - 100 * sintick(150))); queuestr(P1, vid.fsize, its(-compassDist(c)), 0x10101 * int(128 - 100 * sintick(150)));
addauraspecial(P1, 0xFF0000, 0); addauraspecial(P1, 0xFF0000, 0);
} }
@ -2482,7 +2482,7 @@ void celldrawer::draw() {
#if CAP_QUEUE #if CAP_QUEUE
if(error) { if(error) {
queuechr(V, 1, asciichar, darkenedby(asciicol, darken), 2); queuestr(V, 1, s0+asciichar, darkenedby(asciicol, darken), 2);
} }
draw_grid(); draw_grid();

View File

@ -2154,18 +2154,6 @@ EX void queuestr(int x, int y, int shift, int size, string str, color_t col, int
ptd.frame = frame ? ((poly_outline & ~ 255)+frame) : 0; ptd.frame = frame ? ((poly_outline & ~ 255)+frame) : 0;
} }
EX void queuechr(int x, int y, int shift, int size, char chr, color_t col, int frame IS(0), int align IS(8)) {
auto& ptd = queuea<dqi_string> (PPR::TEXT);
ptd.x = x;
ptd.y = y;
ptd.str = chr;
ptd.shift = shift;
ptd.size = size;
ptd.align = align;
ptd.color = col;
ptd.frame = frame ? (poly_outline & ~ 255) : 0;
}
EX void queuecircle(int x, int y, int size, color_t color, PPR prio IS(PPR::CIRCLE), color_t fillcolor IS(0)) { EX void queuecircle(int x, int y, int size, color_t color, PPR prio IS(PPR::CIRCLE), color_t fillcolor IS(0)) {
auto& ptd = queuea<dqi_circle>(prio); auto& ptd = queuea<dqi_circle>(prio);
ptd.x = x; ptd.x = x;
@ -2196,18 +2184,6 @@ EX bool getcoord0_checked(const hyperpoint& h, int& xc, int &yc, int &zc) {
return true; return true;
} }
EX void queuechr(const hyperpoint& h, int size, char chr, color_t col, int frame IS(0)) {
int xc, yc, sc;
if(getcoord0_checked(h, xc, yc, sc))
queuechr(xc, yc, sc, size, chr, col, frame);
}
EX void queuechr(const transmatrix& V, double size, char chr, color_t col, int frame IS(0)) {
int xc, yc, sc;
if(getcoord0_checked(tC0(V), xc, yc, sc))
queuechr(xc, yc, sc, scale_in_pixels(V) * size, chr, col, frame);
}
EX void queuestr(const hyperpoint& h, int size, const string& chr, color_t col, int frame IS(0)) { EX void queuestr(const hyperpoint& h, int size, const string& chr, color_t col, int frame IS(0)) {
int xc, yc, sc; int xc, yc, sc;
if(getcoord0_checked(h, xc, yc, sc)) if(getcoord0_checked(h, xc, yc, sc))

View File

@ -810,7 +810,7 @@ EX bool drawItemType(eItem it, cell *c, const transmatrix& V, color_t icol, int
hyperpoint P1 = tC0(P); hyperpoint P1 = tC0(P);
if(isPlayerOn(c)) { if(isPlayerOn(c)) {
queuechr(P1, 2*vid.fsize, 'X', 0x10100 * int(128 + 100 * sintick(150))); queuestr(P1, 2*vid.fsize, "X", 0x10100 * int(128 + 100 * sintick(150)));
// queuestr(V, 1, its(compassDist(c)), 0x10101 * int(128 - 100 * sin(ticks / 150.)), 1); // queuestr(V, 1, its(compassDist(c)), 0x10101 * int(128 - 100 * sin(ticks / 150.)), 1);
queuestr(P1, vid.fsize, its(-compassDist(c)), 0x10101 * int(128 - 100 * sintick(150))); queuestr(P1, vid.fsize, its(-compassDist(c)), 0x10101 * int(128 - 100 * sintick(150)));
addauraspecial(P1, 0xFF0000, 0); addauraspecial(P1, 0xFF0000, 0);
@ -2609,7 +2609,7 @@ EX bool drawMonster(const transmatrix& Vparam, int ct, cell *c, color_t col, col
col = mirrorcolor(geometry == gElliptic ? det(Vs) < 0 : mirr); col = mirrorcolor(geometry == gElliptic ? det(Vs) < 0 : mirr);
if(!mouseout() && !nospins && GDIM == 2) { if(!mouseout() && !nospins && GDIM == 2) {
hyperpoint P2 = Vs * inverse(cwtV) * mouseh; hyperpoint P2 = Vs * inverse(cwtV) * mouseh;
queuechr(P2, 10, 'x', 0xFF00); queuestr(P2, 10, "x", 0xFF00);
} }
if(!nospins && flipplayer) Vs = Vs * pispin; if(!nospins && flipplayer) Vs = Vs * pispin;
if(mmmon) { if(mmmon) {
@ -3948,13 +3948,13 @@ EX void drawMarkers() {
#if CAP_QUEUE #if CAP_QUEUE
if(haveMount()) ADC(V, dragon::target) { if(haveMount()) ADC(V, dragon::target) {
queuechr(V, 2*vid.fsize, 'X', queuestr(V, 2*vid.fsize, "X",
gradient(0, iinf[itOrbDomination].color, -1, sintick(dragon::whichturn == turncount ? 75 : 150), 1)); gradient(0, iinf[itOrbDomination].color, -1, sintick(dragon::whichturn == turncount ? 75 : 150), 1));
} }
#endif #endif
/* for(int i=0; i<12; i++) if(c->type == 5 && c->master == &dodecahedron[i]) /* for(int i=0; i<12; i++) if(c->type == 5 && c->master == &dodecahedron[i])
queuechr(xc, yc, sc, 4*vid.fsize, 'A'+i, iinf[itOrbDomination].color); */ queuestr(xc, yc, sc, 4*vid.fsize, s0+('A'+i), iinf[itOrbDomination].color); */
if(1) { if(1) {
using namespace yendor; using namespace yendor;
@ -3973,7 +3973,7 @@ EX void drawMarkers() {
} }
hyperpoint H = tC0(ggmatrix(keycell)); hyperpoint H = tC0(ggmatrix(keycell));
#if CAP_QUEUE #if CAP_QUEUE
queuechr(H, 2*vid.fsize, 'X', 0x10101 * int(128 + 100 * sintick(150))); queuestr(H, 2*vid.fsize, "X", 0x10101 * int(128 + 100 * sintick(150)));
int cd = celldistance(yi[yii].key(), cwt.at); int cd = celldistance(yi[yii].key(), cwt.at);
if(cd == DISTANCE_UNKNOWN) for(int i2 = 0; i2<YDIST; i2++) { if(cd == DISTANCE_UNKNOWN) for(int i2 = 0; i2<YDIST; i2++) {
int cd2 = celldistance(cwt.at, yi[yii].path[i2]); int cd2 = celldistance(cwt.at, yi[yii].path[i2]);
@ -4061,15 +4061,15 @@ EX void drawMarkers() {
int adj = 1 - ((sword_angles/cwt.at->type)&1); int adj = 1 - ((sword_angles/cwt.at->type)&1);
if(items[itOrbSword]) ADC(V, cwt.at) if(items[itOrbSword]) ADC(V, cwt.at)
queuechr(V * spin(M_PI+(-adj-2*ang)*M_PI/sword_angles) * xpush0(cgi.sword_size), vid.fsize*2, '+', iinf[itOrbSword].color); queuestr(V * spin(M_PI+(-adj-2*ang)*M_PI/sword_angles) * xpush0(cgi.sword_size), vid.fsize*2, "+", iinf[itOrbSword].color);
if(items[itOrbSword2]) ADC(V, cwt.at) if(items[itOrbSword2]) ADC(V, cwt.at)
queuechr(V * spin((-adj-2*ang)*M_PI/sword_angles) * xpush0(-cgi.sword_size), vid.fsize*2, '+', iinf[itOrbSword2].color); queuestr(V * spin((-adj-2*ang)*M_PI/sword_angles) * xpush0(-cgi.sword_size), vid.fsize*2, "+", iinf[itOrbSword2].color);
} }
if(SWORDDIM == 3 && !shmup::on) { if(SWORDDIM == 3 && !shmup::on) {
if(items[itOrbSword]) ADC(V, cwt.at) if(items[itOrbSword]) ADC(V, cwt.at)
queuechr(V * sword::dir[multi::cpid].T * xpush0(cgi.sword_size), vid.fsize*2, '+', iinf[itOrbSword].color); queuestr(V * sword::dir[multi::cpid].T * xpush0(cgi.sword_size), vid.fsize*2, "+", iinf[itOrbSword].color);
if(items[itOrbSword2]) ADC(V, cwt.at) if(items[itOrbSword2]) ADC(V, cwt.at)
queuechr(V * sword::dir[multi::cpid].T * xpush0(-cgi.sword_size), vid.fsize*2, '+', iinf[itOrbSword2].color); queuestr(V * sword::dir[multi::cpid].T * xpush0(-cgi.sword_size), vid.fsize*2, "+", iinf[itOrbSword2].color);
} }
} }
@ -4082,11 +4082,11 @@ EX void drawMarkers() {
#if CAP_QUEUE #if CAP_QUEUE
if(orbToTarget == itOrbSummon) { if(orbToTarget == itOrbSummon) {
monsterToSummon = summonedAt(mouseover); monsterToSummon = summonedAt(mouseover);
queuechr(mousex, mousey, 0, vid.fsize, minf[monsterToSummon].glyph, minf[monsterToSummon].color); queuestr(mousex, mousey, 0, vid.fsize, s0+minf[monsterToSummon].glyph, minf[monsterToSummon].color);
queuecircleat(mouseover, 0.6, darkena(minf[monsterToSummon].color, 0, 0xFF)); queuecircleat(mouseover, 0.6, darkena(minf[monsterToSummon].color, 0, 0xFF));
} }
else if(orbToTarget) { else if(orbToTarget) {
queuechr(mousex, mousey, 0, vid.fsize, '@', iinf[orbToTarget].color); queuestr(mousex, mousey, 0, vid.fsize, "@", iinf[orbToTarget].color);
queuecircleat(mouseover, 0.6, darkena(iinf[orbToTarget].color, 0, 0xFF)); queuecircleat(mouseover, 0.6, darkena(iinf[orbToTarget].color, 0, 0xFF));
} }
#endif #endif
@ -4675,7 +4675,7 @@ EX void drawfullmap() {
char ch = 'A'; char ch = 'A';
for(auto& v: history::v) { for(auto& v: history::v) {
queuepoly(ggmatrix(v->base) * v->at, cgi.shTriangle, 0x306090C0); queuepoly(ggmatrix(v->base) * v->at, cgi.shTriangle, 0x306090C0);
queuechr(ggmatrix(v->base) * v->at * C0, 10, ch++, 0xFF0000); queuestr(ggmatrix(v->base) * v->at * C0, 10, s0+(ch++), 0xFF0000);
} }
} }
*/ */

View File

@ -1537,7 +1537,7 @@ EX void draw_model_elements() {
switch(pmodel) { switch(pmodel) {
case mdRotatedHyperboles: { case mdRotatedHyperboles: {
queuechr(current_display->xcenter, current_display->ycenter + current_display->radius * vid.alpha, 0, vid.fsize, 'X', ringcolor, 1, 8); queuestr(current_display->xcenter, current_display->ycenter + current_display->radius * vid.alpha, 0, vid.fsize, "X", ringcolor, 1, 8);
return; return;
} }
@ -1567,8 +1567,8 @@ EX void draw_model_elements() {
case mdTwoPoint: case mdSimulatedPerspective: { case mdTwoPoint: case mdSimulatedPerspective: {
ld a = -models::model_orientation * degree; ld a = -models::model_orientation * degree;
queuechr(xspinpush0(a, +vid.twopoint_param), vid.xres / 100, 'X', ringcolor >> 8); queuestr(xspinpush0(a, +vid.twopoint_param), vid.xres / 100, "X", ringcolor >> 8);
queuechr(xspinpush0(a, -vid.twopoint_param), vid.xres / 100, 'X', ringcolor >> 8); queuestr(xspinpush0(a, -vid.twopoint_param), vid.xres / 100, "X", ringcolor >> 8);
return; return;
} }
@ -1657,7 +1657,7 @@ void queuestraight(hyperpoint X, int style, color_t lc, color_t fc, PPR p) {
hyperpoint res; hyperpoint res;
applymodel(h, res); applymodel(h, res);
if(hypot2(res) < 1000 && !std::isnan(res[0]) && !std::isnan(res[1])) if(hypot2(res) < 1000 && !std::isnan(res[0]) && !std::isnan(res[1]))
queuechr(h, 16, 'X', 0xFF0000 + i * 0x20); queuestr(h, 16, "X", 0xFF0000 + i * 0x20);
} */ } */
} }

View File

@ -2251,7 +2251,7 @@ namespace mapeditor {
int j = (i%3 == 2 ? i-2 : i+1); int j = (i%3 == 2 ? i-2 : i+1);
if(j < isize(ds.list)) if(j < isize(ds.list))
queueline(V * ds.list[i], V * ds.list[j], 0xFF00FFFF, -1, PPR::SUPERLINE); queueline(V * ds.list[i], V * ds.list[j], 0xFF00FFFF, -1, PPR::SUPERLINE);
queuechr(V * ds.list[i], 10, 'x', 0xFF00FF); queuestr(V * ds.list[i], 10, "x", 0xFF00FF);
} }
} }
@ -2262,7 +2262,7 @@ namespace mapeditor {
int xc, yc, sc; int xc, yc, sc;
getcoord(P2, xc, yc, sc); getcoord(P2, xc, yc, sc);
queuechr(xc, yc, sc, 10, 'x', queuestr(xc, yc, sc, 10, "x",
a == 0 ? 0x00FF00 : a == 0 ? 0x00FF00 :
a == isize(ds.list)-1 ? 0xFF0000 : a == isize(ds.list)-1 ? 0xFF0000 :
0xFFFF00); 0xFFFF00);
@ -2281,7 +2281,7 @@ namespace mapeditor {
hyperpoint P2 = V * spin(2*M_PI*a/ds.rots) * (b?Mirror*mh:mh); hyperpoint P2 = V * spin(2*M_PI*a/ds.rots) * (b?Mirror*mh:mh);
queuechr(P2, 10, 'x', 0xFF00FF); queuestr(P2, 10, "x", 0xFF00FF);
} }
if(isize(ds.list) == 0) return us; if(isize(ds.list) == 0) return us;
@ -2324,7 +2324,7 @@ namespace mapeditor {
} }
} }
queuechr(P2, 10, 'o', queuestr(P2, 10, "o",
0xC000C0); 0xC000C0);
if(!mouseout()) { if(!mouseout()) {

View File

@ -1408,7 +1408,7 @@ EX void markers() {
hyperpoint H = tC0(ggmatrix(goal)); hyperpoint H = tC0(ggmatrix(goal));
if(invalid_point(H)) return; if(invalid_point(H)) return;
queuechr(H, 2*vid.fsize, 'X', 0x10100 * int(128 + 100 * sintick(150))); queuestr(H, 2*vid.fsize, "X", 0x10100 * int(128 + 100 * sintick(150)));
int cd = celldistance(track.back(), cwt.at); int cd = celldistance(track.back(), cwt.at);
if(cd != DISTANCE_UNKNOWN) if(cd != DISTANCE_UNKNOWN)
queuestr(H, vid.fsize, queuestr(H, vid.fsize,

View File

@ -1236,7 +1236,7 @@ EX void prepareTexture() {
} }
if(finger_center) { if(finger_center) {
transmatrix V = rgpushxto0(finger_center->h); transmatrix V = rgpushxto0(finger_center->h);
queuechr(V, 0.5, 'X', 0xFFFFFFFF, 2); queuestr(V, 0.5, "X", 0xFFFFFFFF, 2);
for(int i=0; i<72; i++) for(int i=0; i<72; i++)
queueline(V * xspinpush0(i*M_PI/32, finger_range), V * xspinpush0((i+1)*M_PI/32, finger_range), 0xFFFFFFFF, vid.linequality); queueline(V * xspinpush0(i*M_PI/32, finger_range), V * xspinpush0((i+1)*M_PI/32, finger_range), 0xFFFFFFFF, vid.linequality);
} }

View File

@ -2954,9 +2954,9 @@ bool celldrawer::draw_shmup_monster() {
if(ths && h && WDIM == 3) { if(ths && h && WDIM == 3) {
if(items[itOrbSword]) if(items[itOrbSword])
queuechr(swordpos(m->pid, false, 1), vid.fsize * 2, '+', iinf[itOrbSword].color); queuestr(swordpos(m->pid, false, 1), vid.fsize * 2, "+", iinf[itOrbSword].color);
if(items[itOrbSword2]) if(items[itOrbSword2])
queuechr(swordpos(m->pid, true, 1), vid.fsize * 2, '+', iinf[itOrbSword2].color); queuestr(swordpos(m->pid, true, 1), vid.fsize * 2, "+", iinf[itOrbSword2].color);
} }
if(ths && keyresult[cpid]) { if(ths && keyresult[cpid]) {

View File

@ -837,9 +837,9 @@ void display_coverage() {
if(coverage_style) if(coverage_style)
for(auto p : coverage) for(auto p : coverage)
queuechr(M * p.first, 10, char(p.second), dexp_comb_colors[(p.second >> 8) & 15]); queuestr(M * p.first, 10, s0+char(p.second), dexp_comb_colors[(p.second >> 8) & 15]);
/* if(p->valid && p->surface_point.remaining_distance == 0) /* if(p->valid && p->surface_point.remaining_distance == 0)
queuechr(p->h, 10, 'x', dexp_colors[p->dexp_id]); */ queuestr(p->h, 10, "x", dexp_colors[p->dexp_id]); */
} }
auto surface_hook2 = addHook(hooks_frame, 0, display_coverage); auto surface_hook2 = addHook(hooks_frame, 0, display_coverage);

View File

@ -1158,7 +1158,7 @@ void showMagicMenu() {
char letter = 'A'; char letter = 'A';
for(auto& am: amp) { for(auto& am: amp) {
hyperpoint h = ggmatrix(am.c) * am.cell_relative; hyperpoint h = ggmatrix(am.c) * am.cell_relative;
queuechr(h, vid.fsize, letter, 0xC00000, 1); queuestr(h, vid.fsize, s0+letter, 0xC00000, 1);
/* /*
hyperpoint inmodel; hyperpoint inmodel;
@ -1167,10 +1167,10 @@ void showMagicMenu() {
inmodel[1] *= current_display->radius * 1. / current_display->scrsize; inmodel[1] *= current_display->radius * 1. / current_display->scrsize;
*/ */
queuechr( queuestr(
current_display->xcenter + current_display->scrsize * am.texture_coords[0], current_display->xcenter + current_display->scrsize * am.texture_coords[0],
current_display->ycenter + current_display->scrsize * am.texture_coords[1], current_display->ycenter + current_display->scrsize * am.texture_coords[1],
0, vid.fsize, letter, 0x00C000, 1); 0, vid.fsize, s0+letter, 0x00C000, 1);
letter++; letter++;
} }