diff --git a/blizzard.cpp b/blizzard.cpp index 0dd156b0..b20c651a 100644 --- a/blizzard.cpp +++ b/blizzard.cpp @@ -128,7 +128,7 @@ EX void drawBlizzards() { transmatrix tpartial = sball.global * rspintox(t) * xpush(hdist0(t) * at0); if(wmascii || wmblack) - queuechr(tpartial, .2, '.', 0xFFFFFF); + queuestr(tpartial, .2, ".", 0xFFFFFF); else queuepoly(tpartial, cgi.shSnowball, 0xFFFFFF80); } diff --git a/celldrawer.cpp b/celldrawer.cpp index b98e5de1..dbdf6a39 100644 --- a/celldrawer.cpp +++ b/celldrawer.cpp @@ -2105,7 +2105,7 @@ void celldrawer::draw_item_full() { transmatrix P = ggmatrix(c1); 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))); addauraspecial(P1, 0xFF0000, 0); } @@ -2482,7 +2482,7 @@ void celldrawer::draw() { #if CAP_QUEUE if(error) { - queuechr(V, 1, asciichar, darkenedby(asciicol, darken), 2); + queuestr(V, 1, s0+asciichar, darkenedby(asciicol, darken), 2); } draw_grid(); diff --git a/drawing.cpp b/drawing.cpp index 83eb9bd9..e3aac538 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -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; } -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 (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)) { auto& ptd = queuea(prio); ptd.x = x; @@ -2196,18 +2184,6 @@ EX bool getcoord0_checked(const hyperpoint& h, int& xc, int &yc, int &zc) { 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)) { int xc, yc, sc; if(getcoord0_checked(h, xc, yc, sc)) diff --git a/graph.cpp b/graph.cpp index e938cbcb..b9a453df 100644 --- a/graph.cpp +++ b/graph.cpp @@ -810,7 +810,7 @@ EX bool drawItemType(eItem it, cell *c, const transmatrix& V, color_t icol, int hyperpoint P1 = tC0(P); 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(P1, vid.fsize, its(-compassDist(c)), 0x10101 * int(128 - 100 * sintick(150))); 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); if(!mouseout() && !nospins && GDIM == 2) { hyperpoint P2 = Vs * inverse(cwtV) * mouseh; - queuechr(P2, 10, 'x', 0xFF00); + queuestr(P2, 10, "x", 0xFF00); } if(!nospins && flipplayer) Vs = Vs * pispin; if(mmmon) { @@ -3948,13 +3948,13 @@ EX void drawMarkers() { #if CAP_QUEUE 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)); } #endif /* 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) { using namespace yendor; @@ -3973,7 +3973,7 @@ EX void drawMarkers() { } hyperpoint H = tC0(ggmatrix(keycell)); #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); if(cd == DISTANCE_UNKNOWN) for(int i2 = 0; i2type)&1); 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) - 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(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) - 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(orbToTarget == itOrbSummon) { 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)); } 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)); } #endif @@ -4675,7 +4675,7 @@ EX void drawfullmap() { char ch = 'A'; for(auto& v: history::v) { 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); } } */ diff --git a/hypgraph.cpp b/hypgraph.cpp index 6961cde6..1575681a 100644 --- a/hypgraph.cpp +++ b/hypgraph.cpp @@ -1537,7 +1537,7 @@ EX void draw_model_elements() { switch(pmodel) { 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; } @@ -1567,8 +1567,8 @@ EX void draw_model_elements() { case mdTwoPoint: case mdSimulatedPerspective: { ld a = -models::model_orientation * degree; - queuechr(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); + queuestr(xspinpush0(a, -vid.twopoint_param), vid.xres / 100, "X", ringcolor >> 8); return; } @@ -1657,7 +1657,7 @@ void queuestraight(hyperpoint X, int style, color_t lc, color_t fc, PPR p) { hyperpoint res; applymodel(h, res); 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); } */ } diff --git a/mapeditor.cpp b/mapeditor.cpp index 0cb0d141..edf8a48d 100644 --- a/mapeditor.cpp +++ b/mapeditor.cpp @@ -2251,7 +2251,7 @@ namespace mapeditor { int j = (i%3 == 2 ? i-2 : i+1); if(j < isize(ds.list)) 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; getcoord(P2, xc, yc, sc); - queuechr(xc, yc, sc, 10, 'x', + queuestr(xc, yc, sc, 10, "x", a == 0 ? 0x00FF00 : a == isize(ds.list)-1 ? 0xFF0000 : 0xFFFF00); @@ -2281,7 +2281,7 @@ namespace mapeditor { 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; @@ -2324,7 +2324,7 @@ namespace mapeditor { } } - queuechr(P2, 10, 'o', + queuestr(P2, 10, "o", 0xC000C0); if(!mouseout()) { diff --git a/racing.cpp b/racing.cpp index 5bcabed7..ef6d7338 100644 --- a/racing.cpp +++ b/racing.cpp @@ -1408,7 +1408,7 @@ EX void markers() { hyperpoint H = tC0(ggmatrix(goal)); 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); if(cd != DISTANCE_UNKNOWN) queuestr(H, vid.fsize, diff --git a/rug.cpp b/rug.cpp index 3787430e..cbb6c288 100644 --- a/rug.cpp +++ b/rug.cpp @@ -1236,7 +1236,7 @@ EX void prepareTexture() { } if(finger_center) { 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++) queueline(V * xspinpush0(i*M_PI/32, finger_range), V * xspinpush0((i+1)*M_PI/32, finger_range), 0xFFFFFFFF, vid.linequality); } diff --git a/shmup.cpp b/shmup.cpp index ebcdd659..0b31c4a8 100644 --- a/shmup.cpp +++ b/shmup.cpp @@ -2954,9 +2954,9 @@ bool celldrawer::draw_shmup_monster() { if(ths && h && WDIM == 3) { 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]) - 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]) { diff --git a/surface.cpp b/surface.cpp index f1c6a64b..fa78830d 100644 --- a/surface.cpp +++ b/surface.cpp @@ -837,9 +837,9 @@ void display_coverage() { if(coverage_style) 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) - 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); diff --git a/textures.cpp b/textures.cpp index e0cfa17a..b2d92342 100644 --- a/textures.cpp +++ b/textures.cpp @@ -1158,7 +1158,7 @@ void showMagicMenu() { char letter = 'A'; for(auto& am: amp) { 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; @@ -1167,10 +1167,10 @@ void showMagicMenu() { inmodel[1] *= current_display->radius * 1. / current_display->scrsize; */ - queuechr( + queuestr( current_display->xcenter + current_display->scrsize * am.texture_coords[0], current_display->ycenter + current_display->scrsize * am.texture_coords[1], - 0, vid.fsize, letter, 0x00C000, 1); + 0, vid.fsize, s0+letter, 0x00C000, 1); letter++; }