void RB_SetupSkyData(void) { if(((gamemap >= 9 && gamemap < 32) || gamemap == 35) || (!deathmatch && players[0].weaponowned[wp_sigil])) { clearColor[0] = 0.25f; clearColor[1] = clearColor[2] = 0; clearColor[3] = 1; currentCloudLump = cloudlump2; skyDomeColor1 = D_RGBA(64, 0, 0, 0xff); skyDomeColor2 = D_RGBA(160, 8, 8, 0xff); RB_SetSkyShade(255, 236, 227); } else { clearColor[0] = clearColor[1] = 0.14f; clearColor[2] = 0.235f; clearColor[3] = 1; currentCloudLump = cloudlump1; skyDomeColor1 = D_RGBA(36, 36, 60, 0xff); skyDomeColor2 = D_RGBA(224, 224, 255, 0xff); RB_SetSkyShade(255, 252, 227); } dglClearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]); }
void F_Drawer(void) { GL_ClearView(0xFF000000); Draw_GfxImage(64, 30, "EVIL", D_RGBA(255, 255, 255, 0xff), false); Draw_BigText(-1, 240-32, D_RGBA(255, 0, 0, 0xff), castorder[castnum].name); Draw_Sprite2D( caststate->sprite, castrotation, (caststate->frame & FF_FRAMEMASK), 160, 180, 1.0f, mobjinfo[castorder[castnum].type].palette, D_RGBA(finalePal.r, finalePal.g, finalePal.b, finalePal.a) ); }
static void ST_DrawPendingWeapon(void) { int i; int x = 0; int wpn; if (!st_wpndisplay_show) return; GL_SetOrthoScale(0.5f); for (i = 0; i < NUMWEAPONS; i++) { rcolor color; if (plyr->weaponowned[i]) color = D_RGBA(0xff, 0xff, 0x3f, st_wpndisplay_alpha); else color = WHITEALPHA(st_wpndisplay_alpha); Draw_Number(245 + x, 400, i, 0, color); x += 16; } if (plyr->pendingweapon == wp_nochange) wpn = plyr->readyweapon; else wpn = plyr->pendingweapon; Draw_BigText(235 + (wpn * 16), 404, WHITEALPHA(st_wpndisplay_alpha), "/b"); GL_SetOrthoScale(1.0f); }
void ST_FlashingScreen(byte r, byte g, byte b, byte a) { rcolor c = D_RGBA(r, g, b, a); GL_SetState(GLSTATE_BLEND, 1); GL_SetOrtho(1); dglDisable(GL_TEXTURE_2D); dglColor4ubv((byte *) & c); dglRecti(SCREENWIDTH + ViewBorderX*2, SCREENHEIGHT, 0, 0); dglEnable(GL_TEXTURE_2D); GL_SetState(GLSTATE_BLEND, 0); }
static void ST_DrawKey(int key, const float uv[4][2], const float xy[4][2]) { float keydrawxy[4][2]; if (plyr->cards[key] || (flashCards[key].doDraw && flashCards[key].active)) { dmemcpy(keydrawxy, xy, (sizeof(float) * 4) * 2); if (st_drawhud.value >= 2) { keydrawxy[0][0] += 20; keydrawxy[1][0] += 20; keydrawxy[2][0] += 20; keydrawxy[3][0] += 20; keydrawxy[0][1] += 78; keydrawxy[1][1] += 78; keydrawxy[2][1] += 78; keydrawxy[3][1] += 78; } ST_DrawStatusItem(keydrawxy, uv, D_RGBA(0xff, 0xff, 0xff, 0x80)); } }
void ST_UpdateFlash(void) { player_t *p = &players[consoleplayer]; flashcolor = 0; // invulnerability flash (white) if (p->powers[pw_invulnerability] > 61 || (p->powers[pw_invulnerability] & 8)) { flashcolor = D_RGBA(128, 128, 128, 0xff); st_flash_r = 255; st_flash_g = 255; st_flash_b = 255; st_flash_a = 64; } // bfg flash (green) else if (p->bfgcount) { flashcolor = D_RGBA(0, p->bfgcount & 0xff, 0, 0xff); st_flash_r = 0; st_flash_g = 255; st_flash_b = 0; st_flash_a = p->bfgcount; } // damage and strength flash (red) else if (p->damagecount || (p->powers[pw_strength] > 1)) { int r1 = p->damagecount; int r2 = p->powers[pw_strength]; if (r1) { if (r1 > ST_MAXDMGCOUNT) r1 = ST_MAXDMGCOUNT; } if (r2 == 1) r2 = 0; else if (r2 > ST_MAXSTRCOUNT) r2 = ST_MAXSTRCOUNT; // take priority based on value if (r1 > r2) { flashcolor = D_RGBA(r1 & 0xff, 0, 0, 0xff); st_flash_r = 255; st_flash_g = 0; st_flash_b = 0; st_flash_a = r1; } else { flashcolor = D_RGBA(r2 & 0xff, 0, 0, 0xff); st_flash_r = 255; st_flash_g = 0; st_flash_b = 0; st_flash_a = r2; } } // suit flash (green/yellow) else if (p->powers[pw_ironfeet] > 61 || (p->powers[pw_ironfeet] & 8)) { flashcolor = D_RGBA(0, 32, 4, 0xff); st_flash_r = 0; st_flash_g = 255; st_flash_b = 31; st_flash_a = 64; } // bonus flash (yellow) else if (p->bonuscount) { int c1 = (p->bonuscount + 8) >> 3; int c2; if (c1 > ST_MAXBONCOUNT) c1 = ST_MAXBONCOUNT; c2 = (((c1 << 2) + c1) << 1); flashcolor = D_RGBA(c2 & 0xff, c2 & 0xff, c1 & 0xff, 0xff); st_flash_r = 255; st_flash_g = 255; st_flash_b = 0; st_flash_a = (p->bonuscount + 8) << 1; }
static void ST_DrawStatus(void) { int lump; float width; float height; float uv[4][2]; const rcolor color = D_RGBA(0x68, 0x68, 0x68, 0x90); GL_SetState(GLSTATE_BLEND, 1); lump = GL_BindGfxTexture("STATUS", true); width = (float)gfxwidth[lump]; height = (float)gfxheight[lump]; dglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, DGL_CLAMP); dglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, DGL_CLAMP); if (st_drawhud.value >= 2) GL_SetOrthoScale(0.725f); GL_SetOrtho(0); dglSetVertex(st_vtx); st_vtxcount = 0; if (st_drawhud.value == 1) { // health uv[0][0] = uv[3][0] = 0.0f; uv[0][1] = uv[1][1] = 0.0f; uv[1][0] = uv[2][0] = 40.0f / width; uv[2][1] = uv[3][1] = 6.0f / height; ST_DrawStatusItem(st_healthVertex, uv, color); // armor uv[0][0] = uv[3][0] = 40.0f / width; uv[0][1] = uv[1][1] = 0.0f; uv[1][0] = uv[2][0] = uv[0][0] + (36.0f / width); uv[2][1] = uv[3][1] = 6.0f / height; ST_DrawStatusItem(st_armorVertex, uv, color); } // cards uv[0][0] = uv[3][0] = 0.0f; uv[0][1] = uv[1][1] = 6.0f / height; uv[1][0] = uv[2][0] = 9.0f / width; uv[2][1] = uv[3][1] = 1.0f; ST_DrawKey(it_bluecard, uv, st_key1Vertex); uv[0][0] = uv[3][0] = 9.0f / width; uv[1][0] = uv[2][0] = (9.0f / width) * 2; ST_DrawKey(it_yellowcard, uv, st_key2Vertex); uv[0][0] = uv[3][0] = (9.0f / width) * 2; uv[1][0] = uv[2][0] = (9.0f / width) * 3; ST_DrawKey(it_redcard, uv, st_key3Vertex); // skulls uv[0][0] = uv[3][0] = (9.0f / width) * 3; uv[1][0] = uv[2][0] = (9.0f / width) * 4; ST_DrawKey(it_blueskull, uv, st_key1Vertex); uv[0][0] = uv[3][0] = (9.0f / width) * 4; uv[1][0] = uv[2][0] = (9.0f / width) * 5; ST_DrawKey(it_yellowskull, uv, st_key2Vertex); uv[0][0] = uv[3][0] = (9.0f / width) * 5; uv[1][0] = uv[2][0] = (9.0f / width) * 6; ST_DrawKey(it_redskull, uv, st_key3Vertex); dglDrawGeometry(st_vtxcount, st_vtx); GL_ResetViewport(); GL_SetState(GLSTATE_BLEND, 0); if (st_drawhud.value >= 2) GL_SetOrthoScale(1.0f); }
HUSTR_CHATMACRO5, HUSTR_CHATMACRO6, HUSTR_CHATMACRO7, HUSTR_CHATMACRO8, HUSTR_CHATMACRO9 }; char player_names[MAXPLAYERS][MAXPLAYERNAME] = { HUSTR_PLR1, HUSTR_PLR2, HUSTR_PLR3, HUSTR_PLR4 }; static const rcolor st_chatcolors[MAXPLAYERS] = { D_RGBA(192, 255, 192, 255), D_RGBA(255, 192, 192, 255), D_RGBA(128, 255, 192, 255), D_RGBA(192, 192, 255, 255), }; #define MAXCHATNODES 4 #define MAXCHATTIME 256 #define MAXCHATSIZE 256 #define STCHATX 32 #define STCHATY 384 typedef struct { char msg[MAXCHATSIZE]; int tics; rcolor color;